:root{--bg: #0b1020;--panel: #141821;--line: #2a3144;--ink: #f4f6fb;--mute: #c5cdd8;--paper: #f6f7f8;--text: #101729;--quiet: #5c6578;--signal: #547dff;--display: "Newsreader", "Iowan Old Style", Georgia, serif;--ui: Sora, sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{font:16px/1.5 var(--ui);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}::selection{background:#f4f6fb;color:#0b1020}button,input,select,textarea{font:inherit}:focus-visible{outline:2px solid var(--signal);outline-offset:3px}a{color:inherit}.boot{margin:24px;color:var(--mute)}.gate-page{min-height:100%;height:100%;overflow:auto;display:grid;place-items:center;padding:32px 16px}.gate-card{width:min(440px,100%);background:var(--paper);color:var(--text);border-radius:28px;padding:32px 28px;box-shadow:0 22px 50px #00000047;display:grid;gap:14px}.gate-card h1,.mark{font-family:var(--display);font-weight:450;letter-spacing:-.03em}.gate-card h1{margin:0;font-size:3rem;line-height:.95}.mark{margin:0;color:var(--quiet);font-size:1.2rem}.lede{margin:0;color:var(--quiet)}.gate-card label,.stack label{display:grid;gap:6px;font-size:.92rem}.gate-card input,.stack input,.stack textarea,.stack select,.actions select{width:100%;border-radius:12px;border:1px solid #d5dbe6;background:#fff;color:var(--text);padding:12px 14px;font-size:16px}.gate-card .code{font-size:1.6rem;letter-spacing:.28em;text-align:center}.primary,.ghost,button{border-radius:999px;border:0;padding:12px 16px;cursor:pointer;min-height:44px}.primary{background:var(--bg);color:#fff;font-weight:600}.ghost,button{background:#fff;color:var(--text);border:1px solid #d5dbe6}.primary:disabled{opacity:.5}.notice{margin:0;color:#8d2b2b}.notice.ok{color:#1d6b45}.gate-card .notice{color:#8d2b2b}.layout{display:flex;height:100dvh;max-height:100dvh;overflow:hidden}aside{width:232px;flex:none;height:100%;overflow:auto;background:#10141d;border-right:1px solid var(--line);padding:22px 14px;display:flex;flex-direction:column;gap:18px}aside .mark{color:var(--ink)}aside nav{display:flex;flex-direction:column;gap:4px}aside a,aside button{text-align:left;background:transparent;color:var(--mute);border:0;border-radius:12px;padding:10px 12px;text-decoration:none}aside a.active,aside a:hover,aside button:hover{background:#222838;color:var(--ink)}.who{margin:auto 0 0;color:var(--mute);font-size:.82rem;overflow-wrap:break-word}main{flex:1;min-width:0;height:100%;overflow:auto;padding:28px 24px 64px}main h1{margin:0 0 8px;font-family:var(--display);font-weight:450;font-size:clamp(2rem,4vw,3rem);letter-spacing:-.03em;line-height:1}main h2{margin:28px 0 10px;font-size:1.15rem}.muted{color:var(--mute)}.stack{display:grid;gap:12px;max-width:760px;margin:16px 0}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stack input,.stack textarea,.stack select,.actions select{background:var(--panel);color:var(--ink);border-color:var(--line)}.stack textarea{min-height:96px;resize:vertical}.check{display:flex;align-items:center;gap:8px}.check input{width:auto}.row,.actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:20px}.stats article{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:16px}.stats b{display:block;font-family:var(--display);font-size:1.8rem;font-weight:450}.stats span{color:var(--mute);font-size:.85rem}.table-wrap{overflow-x:auto;margin:12px 0 20px}table{width:100%;border-collapse:collapse;background:var(--panel);min-width:520px}th,td{border-bottom:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top;font-size:.92rem}th{color:var(--mute);font-weight:500}.layout button{background:transparent;color:var(--ink);border:1px solid var(--line);min-height:36px;padding:6px 12px}.layout .primary{background:var(--ink);color:var(--bg);border-color:transparent}.layout .row{gap:6px;margin:0 0 8px}.layout .notice{color:#ffb4b4}.layout .notice.ok{color:#9be7c4}@media(max-width:900px){.layout{flex-direction:column}aside{width:100%;height:auto;flex:none;border-right:0;border-bottom:1px solid var(--line);padding:12px;overflow:visible}aside nav{flex-direction:row;overflow-x:auto}aside a,aside button{white-space:nowrap}.who{margin:0}.grid-2,.stats{grid-template-columns:1fr}main{padding:20px 16px 48px}.gate-card{padding:24px 18px}.gate-card h1{font-size:2.4rem}}
