@font-face{font-family:Fell;src:url(fonts/fell.woff2) format("woff2");font-display:swap}
@font-face{font-family:Fell;font-style:italic;src:url(fonts/fell-italic.woff2) format("woff2");font-display:swap}
@font-face{font-family:Comfortaa;src:url(fonts/comfortaa.woff2) format("woff2");font-display:swap;font-weight:300 700}
@font-face{font-family:Bokor;src:url(fonts/bokor.woff2) format("woff2");font-display:swap}
:root{--bg:#000;--card:#0e0c09;--cream:#FCF8F0;--gold:#C59D46;--taupe:#a39d8e;--parch:#e2dccb;--line:#3a3020;--bad:#ff8a7a;--good:#9fd49a}
*{box-sizing:border-box}
html{color-scheme:dark}
body{margin:0;background:radial-gradient(ellipse at 50% -10%,#2a2114 0,#000 60%) fixed,#000;color:var(--cream);font:15px/1.6 Comfortaa,system-ui,sans-serif;min-height:100vh;display:flex;flex-direction:column}
a{color:var(--gold)}
h1,h2,h3{font-family:Fell,Georgia,serif;font-weight:400;color:var(--cream);margin:.2em 0 .4em}
h1{font-size:2.3rem;text-align:center}
h1+.tag{text-align:center;font-family:Fell,serif;font-style:italic;color:var(--parch);margin-top:-.3em}
h2{font-size:1.5rem;border-bottom:1px solid var(--line);padding-bottom:.2em}
.eyebrow{font-family:Bokor,serif;color:var(--gold);letter-spacing:.12em;text-transform:uppercase;font-size:.85rem;text-align:center;display:block}
.skip{position:absolute;left:-9999px}.skip:focus{left:8px;top:8px;background:var(--gold);color:#000;padding:6px;z-index:9}
.top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:12px 20px;border-bottom:1px solid var(--line);background:#000c;position:sticky;top:0;z-index:5;backdrop-filter:blur(6px)}
.brand{font-family:Fell,serif;font-size:1.5rem;color:var(--cream);text-decoration:none}.glyph{color:var(--gold)}
nav{display:flex;flex-wrap:wrap;gap:2px}
nav a{color:var(--parch);text-decoration:none;padding:6px 10px;border-radius:6px;font-size:.9rem}
nav a:hover,nav a[aria-current=page]{color:#000;background:var(--gold)}
.menu-btn{display:none}
main{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:24px 16px 40px;outline:none}
.grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px;margin-bottom:14px}
.stat{font-family:Fell,serif;font-size:1.9rem;color:var(--gold)}
.muted{color:var(--taupe)}
form.row,.row{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}
label{display:flex;flex-direction:column;font-size:.8rem;color:var(--parch);gap:3px;flex:1 1 150px;min-width:0}
input,select,textarea{background:#000;color:var(--cream);border:1px solid #5a4b2e;border-radius:6px;padding:9px;font:inherit;font-size:.95rem;width:100%}
input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
button,.btn{background:var(--gold);color:#000;border:0;border-radius:6px;padding:10px 14px;font:700 .9rem Comfortaa,sans-serif;cursor:pointer;text-decoration:none;display:inline-block;min-height:40px}
button.ghost{background:transparent;color:var(--gold);border:1px solid var(--gold)}
button.sm{padding:4px 9px;min-height:30px;font-size:.78rem}
button.danger{background:transparent;color:var(--bad);border:1px solid var(--bad)}
.tablewrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:.88rem}
th,td{text-align:left;padding:7px 6px;border-bottom:1px solid #241d12;vertical-align:top;overflow-wrap:anywhere}
th{white-space:nowrap;color:var(--gold);font-weight:400;font-family:Fell,serif;font-size:1rem}
td.num,th.num{text-align:right;white-space:nowrap}
.pill{display:inline-block;padding:1px 8px;border-radius:99px;font-size:.75rem;border:1px solid var(--line)}
.pill.ok{color:var(--good);border-color:var(--good)}.pill.bad{color:var(--bad);border-color:var(--bad)}.pill.warn{color:var(--gold);border-color:var(--gold)}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.cal div{min-height:74px;background:var(--card);border:1px solid #241d12;border-radius:6px;padding:4px;font-size:.72rem;overflow:hidden}
.cal .h{min-height:auto;text-align:center;color:var(--gold);background:none;border:0}
.cal .today{border-color:var(--gold)}
.cal .ev{display:block;background:#2a2114;border-left:2px solid var(--gold);margin-top:2px;padding:1px 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--cream);text-decoration:none}
.thumb{width:44px;height:44px;object-fit:cover;border-radius:4px;border:1px solid var(--line)}
.notice{border-left:3px solid var(--gold);background:#1a150c;padding:10px 12px;border-radius:4px;margin:10px 0}
.foot{border-top:1px solid var(--line);padding:16px 20px;font-size:.78rem;color:var(--taupe);text-align:center}
.disc{max-width:900px;margin:0 auto 6px}
#toast{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);background:var(--gold);color:#000;padding:8px 14px;border-radius:6px;opacity:0;transition:.3s;pointer-events:none}
#toast.on{opacity:1}
.sig{background:#FCF8F0;border-radius:6px;touch-action:none;width:100%;height:150px}
@media (max-width:760px){
 .menu-btn{display:block;background:transparent;color:var(--gold);border:1px solid var(--gold)}
 nav{display:none;width:100%;flex-direction:column}nav.open{display:flex}
 nav a{padding:10px}
 h1{font-size:1.8rem}
 .cal div{min-height:52px;font-size:.62rem}
 .hide-sm{display:none}
}
@media print{.top,.foot .disc+p,#toast,button,.noprint{display:none!important}body{background:#fff;color:#000}.card{border:1px solid #999;background:#fff}h1,h2,h3,th,.stat{color:#000}td{border-color:#ccc}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (max-width:760px){.tablewrap table{min-width:600px}}
