:root{color-scheme:light dark;--fg:#1d1c1d;--muted:#616061;--line:#e2e2e2;--bar:#ffffff;--bg:#ffffff;--pill:#e8f5ee;--pill-fg:#007a5a;--closed:#f4f4f4;--closed-fg:#616061;--accent:#1264a3;--avatar:#4a154b}
@media (prefers-color-scheme:dark){:root{--fg:#d1d2d3;--muted:#ababad;--line:#35373b;--bar:#1a1d21;--bg:#1a1d21;--pill:#173a2e;--pill-fg:#5fd4a4;--closed:#2c2d30;--closed-fg:#ababad;--accent:#1d9bd1;--avatar:#7c3085}}
*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--fg);font:14px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
body.shell{display:flex;flex-direction:column}
.bar{display:flex;align-items:center;gap:12px;height:48px;padding:0 16px;background:var(--bar);border-bottom:1px solid var(--line);flex:none;min-width:0}
.brand{font-weight:800;letter-spacing:-.01em}.sep{width:1px;height:20px;background:var(--line)}
.title{font-size:15px;font-weight:600;margin:0;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.status{flex:none;font-size:12px;font-weight:600;padding:3px 8px;border-radius:999px;background:var(--pill);color:var(--pill-fg)}
.status.closed{background:var(--closed);color:var(--closed-fg)}.status.public{background:#fdf1e3;color:#9a5b13}
@media (prefers-color-scheme:dark){.status.public{background:#3d2a12;color:#f2b46b}}
a.who.login{color:var(--accent);font-weight:600;text-decoration:none}
.foot{flex:none;padding:6px 16px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;background:var(--bar)}
#turnstile{position:fixed;right:16px;bottom:40px}
.who{display:flex;align-items:center;gap:8px;flex:none;color:var(--muted)}
.avatar{display:grid;place-items:center;width:24px;height:24px;border-radius:6px;background:var(--avatar);color:#fff;font-size:12px;font-weight:700}
.banner{padding:8px 16px;background:#fff4d6;color:#5c4300;border-bottom:1px solid #f1d58a;font-size:13px}.banner a{color:inherit;font-weight:600}
iframe{flex:1;width:100%;border:0;display:block;background:var(--bg)}
@media (max-width:560px){.name,.sep{display:none}.bar{gap:8px;padding:0 12px}}
body.notice{display:grid;place-items:center;padding:16px}body.notice main{max-width:420px}body.notice h1{font-size:20px;margin:0 0 8px}body.notice a{color:var(--accent)}