:root{--nile-blue: #0e4eaf;--nile-blue-dark: #0a3c88;--nile-amber: #ff6600;--nile-coral: #ee4a59;--nile-gradient: linear-gradient(90deg, var(--nile-amber), var(--nile-coral));--ink: #182333;--ink-soft: #5b6472;--border: #dde3ef;--surface: #ffffff;--page-bg: #f4f7fc}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--page-bg);color:var(--ink)}.home,.tool-page{max-width:900px;margin:0 auto;padding:2rem}.site-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.site-header img{height:34px;width:auto}.site-header h1{margin:0;font-size:1.3rem;font-weight:600;color:var(--ink)}.site-header h1 span{color:var(--nile-blue);font-weight:700}.header-accent{height:3px;width:64px;border-radius:2px;background:var(--nile-gradient);margin:.6rem 0 1.5rem}.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;margin-top:1.5rem}.tile{position:relative;text-align:left;padding:1.25rem;border:1px solid var(--border);border-radius:12px;background:var(--surface);cursor:pointer;overflow:hidden;transition:box-shadow .15s ease,border-color .15s ease,transform .15s ease}.tile:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--nile-gradient);opacity:0;transition:opacity .15s ease}.tile:hover{border-color:#c7d3ea;box-shadow:0 8px 20px #0e4eaf1f;transform:translateY(-1px)}.tile:hover:before{opacity:1}.tile h2{margin:0 0 .4rem;font-size:1.1rem;color:var(--ink)}.tile p{margin:0;font-size:.9rem;color:var(--ink-soft)}.back-link{background:none;border:none;color:var(--nile-blue);cursor:pointer;padding:0;font-size:.9rem;margin-bottom:1rem;font-weight:500}.back-link:hover{color:var(--nile-blue-dark)}.key-entry{display:flex;gap:.5rem;align-items:center;margin:1rem 0}.key-entry input{flex:1;padding:.5rem .75rem;border:1px solid var(--border);border-radius:8px}.key-entry input:focus{outline:none;border-color:var(--nile-blue);box-shadow:0 0 0 3px #0e4eaf26}.key-entry button{padding:.5rem 1rem;border:none;border-radius:8px;background:var(--nile-blue);color:#fff;cursor:pointer;font-weight:500;transition:background .15s ease}.key-entry button:hover:not(:disabled){background:var(--nile-blue-dark)}.key-entry button:disabled{background:#a8b3c4;cursor:not-allowed}.error{color:#c6303f}.portal-list{list-style:none;padding:0}.portal-list li{padding:.75rem;border:1px solid var(--border);border-radius:8px;margin-bottom:.5rem;background:var(--surface);border-left:3px solid var(--nile-blue)}
