:root{--bg-void: #07080a;--bg-base: #0b0d10;--glass-1: rgba(255, 255, 255, .03);--glass-2: rgba(255, 255, 255, .05);--edge: rgba(255, 255, 255, .08);--text: #f3f5f7;--text-mute: #b9c0c7;--text-dim: #8b929b;--accent: #8899aa;--accent-soft: rgba(136, 153, 170, .16);--r: 11px;font-size:15px;color-scheme:dark}*{box-sizing:border-box}body{margin:0;color:var(--text);background:radial-gradient(900px 620px at 12% -8%,var(--accent-soft),transparent 62%),var(--bg-void);font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}#root{display:flex;min-height:100vh;flex-direction:column}.topbar{display:flex;align-items:center;gap:22px;padding:14px 28px;border-bottom:1px solid var(--edge);background:var(--glass-1);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.topbar .brand{display:flex;align-items:center;gap:10px;font-weight:650;font-size:17px}.topbar .brand img{height:26px;border-radius:4px}.topbar nav{display:flex;gap:6px}.topbar nav a{color:var(--text-mute);text-decoration:none;padding:7px 13px;border-radius:var(--r);font-size:14px}.topbar nav a.active{color:var(--text);background:var(--accent-soft)}.topbar nav a:hover{color:var(--text)}.topbar .spacer{flex:1}.topbar button{background:none;border:1px solid var(--edge);color:var(--text-mute);border-radius:var(--r);padding:6px 14px;cursor:pointer}main{flex:1;padding:34px 28px;max-width:1080px;width:100%;margin:0 auto}.card{background:var(--glass-1);border:1px solid var(--edge);border-radius:var(--r);padding:22px 24px}.card+.card{margin-top:14px}.card h2{margin:0 0 6px;font-size:16px}.card p{margin:0;color:var(--text-dim);font-size:14px;line-height:1.55}.page-frame{width:100%;height:calc(100vh - 170px);border:1px solid var(--edge);border-radius:var(--r);background:#fff}.gate{min-height:100vh;display:grid;place-items:center}.gate form{width:360px;padding:30px;border-radius:12px;background:var(--glass-2);border:1px solid var(--edge);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.gate label{display:block;margin-bottom:14px;font-size:13px;color:var(--text-mute)}.gate input{width:100%;margin-top:5px;padding:9px 11px;border-radius:8px;border:1px solid var(--edge);background:#00000040;color:var(--text)}.gate button{width:100%;margin-top:6px;padding:10px;border:none;border-radius:8px;background:var(--accent);color:#0b0d10;font-weight:650;cursor:pointer}.gate button:disabled{opacity:.55;cursor:default}.gate .error{color:#ff8d7e;font-size:13px}
