/* Copyright © Albert Lane. All Rights Reserved.
   Proprietary and Confidential — Albert Lane Proprietary Software License.
   Unauthorized use, copying, modification, or distribution is prohibited.
   License inquiries: https://albertlane.net */
:root{--bg:#070b12;--fg:#e8eef7;--mut:#93a3b8;--card:#0f1724;--line:#22314a;--acc:#4fb3ff;--ok:#38d996;--warn:#ffb84f;--gold:#e9c46a;--gold2:#7a5b12;--bad:#ff6b6b}
html[data-theme=light]{--bg:#f6f8fb;--fg:#0d1726;--mut:#4a5a70;--card:#fff;--line:#d5deea;--acc:#0b63b6;--gold2:#f4e2b0}
html[data-theme=contrast]{--bg:#000;--fg:#fff;--mut:#d0d0d0;--card:#000;--line:#fff;--acc:#ffff00;--ok:#00ff00;--warn:#ffcc00}
html[data-theme=terminal]{--bg:#050505;--fg:#00ff66;--mut:#00aa44;--card:#0a0f0a;--line:#007733;--acc:#00ff66;--gold:#c8ff00}
html[data-size=large]{font-size:18px}html[data-size=xl]{font-size:20px}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;-webkit-text-size-adjust:100%}
html[data-theme=terminal] body{font-family:ui-monospace,"Courier New",monospace}
a{color:var(--acc)}
.wrap{max-width:1080px;margin:0 auto;padding:12px}
header.top{position:sticky;top:0;z-index:5;background:var(--bg);border-bottom:1px solid var(--line)}
header.top .wrap{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.brand{font-weight:800;letter-spacing:.3px;text-decoration:none;color:var(--fg)}
.who{margin-left:auto;font-size:.85rem;color:var(--mut)}
nav.jump{flex:1 1 100%;min-width:0;max-width:100%;display:flex;gap:6px;overflow-x:auto;padding:6px 0;scrollbar-width:none}
nav.jump a{flex:0 0 auto;font-size:.82rem;text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:4px 10px;color:var(--fg)}
h1{font-size:1.55rem;line-height:1.2;margin:14px 0 6px}
h2{font-size:1.15rem;margin:0 0 6px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
h3{font-size:1rem;margin:12px 0 4px}
p{margin:6px 0}
.mut{color:var(--mut);font-size:.9rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px;margin:12px 0;scroll-margin-top:96px}
.grid{display:grid;grid-template-columns:1fr;gap:0 12px}
@media(min-width:900px){.grid{grid-template-columns:1fr 1fr}.span2{grid-column:1/-1}}
.b{display:inline-block;font-size:.72rem;font-weight:700;border-radius:999px;padding:2px 8px;border:1px solid;white-space:nowrap}
.b.live{color:var(--ok);border-color:var(--ok)}.b.pre{color:var(--warn);border-color:var(--warn)}.b.ex{color:var(--mut);border-color:var(--mut)}.b.own{color:var(--acc);border-color:var(--acc)}
.hall{border:2px solid var(--acc);box-shadow:0 0 0 3px rgba(79,179,255,.12)}
.hall .tag{font-size:.75rem;font-weight:800;letter-spacing:2px;color:var(--acc)}
.crown{border:2px solid var(--gold);background:linear-gradient(160deg,var(--card),var(--gold2) 260%)}
.crown h2{color:var(--gold)}
button,.btn{font:inherit;font-size:.95rem;color:var(--fg);background:transparent;border:1px solid var(--line);border-radius:10px;padding:9px 12px;min-height:44px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:6px}
button.p,.btn.p{background:var(--acc);color:#001;border-color:var(--acc);font-weight:700}
button:disabled{opacity:.5;cursor:not-allowed}
.row{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}
label{display:block;font-size:.85rem;color:var(--mut);margin-top:8px}
input,select,textarea{width:100%;font:inherit;font-size:16px;color:var(--fg);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:9px;margin-top:3px}
textarea{min-height:78px}
.seg{display:flex;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:8px 0}
.seg button{flex:1;border:0;border-radius:0;min-height:44px;font-size:.85rem;padding:6px 4px}
.seg button[aria-pressed=true]{background:var(--acc);color:#001;font-weight:700}
ul.l{padding-left:18px;margin:6px 0}ul.l li{margin:3px 0}
.ent{border-left:3px solid var(--acc);padding:6px 0 6px 10px;margin:8px 0}
.ent.ex{border-left-color:var(--mut);opacity:.85}
.ent .k{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:var(--acc)}
.h{font-family:ui-monospace,monospace;font-size:.75rem;color:var(--mut);word-break:break-all}
.fs{width:100%;border-collapse:collapse;font-size:.9rem}.fs td{padding:7px 4px;border-bottom:1px solid var(--line);vertical-align:top}.fs td.n{word-break:break-all}
.crumbs{font-size:.85rem;margin:6px 0;word-break:break-all}
.chk{width:auto;min-height:0;margin-right:6px}
.msg{min-height:1.2em;font-size:.9rem}.msg.ok{color:var(--ok)}.msg.bad{color:var(--bad)}
.note{border:1px dashed var(--line);border-radius:10px;padding:8px 10px;font-size:.88rem;color:var(--mut);margin:8px 0}
table.t{width:100%;border-collapse:collapse;font-size:.9rem}table.t th,table.t td{border-bottom:1px solid var(--line);padding:7px 5px;text-align:left;vertical-align:top}
.tw{overflow-x:auto}
svg.diag{width:100%;height:auto;display:block;background:var(--card);border-radius:12px}
footer.f{border-top:1px solid var(--line);margin-top:24px;padding:14px 0 30px;font-size:.82rem;color:var(--mut)}
footer.f a{margin-right:10px;display:inline-block}
.marks{font-weight:800;color:var(--fg)}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
