@font-face{font-family:Geist;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/geist-400.woff2) format("woff2")}@font-face{font-family:Geist;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/geist-500.woff2) format("woff2")}@font-face{font-family:Geist;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/geist-600.woff2) format("woff2")}@font-face{font-family:Geist;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/geist-700.woff2) format("woff2")}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/geist-mono-400.woff2) format("woff2")}:root{--ember: #D97742;--ink: #1A1A24;--mut: #6A6D76;--line: #e7e2dd;--bg: #F8F5EF}*{box-sizing:border-box}html,body{min-height:100vh}body{margin:0;display:flex;flex-direction:column;font:15px/1.5 Geist,system-ui,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--bg)}#root{display:flex;flex-direction:column;flex:1}#root>main{flex:1}.wrap{max-width:1160px;margin:0 auto;padding:2rem 1.25rem;width:100%}header h1 a{color:inherit;text-decoration:none}.foot{border-top:1px solid rgba(26,26,36,.07);padding:1.1rem 1.25rem 1.4rem;text-align:center;font-family:Geist Mono,monospace;font-size:12px;color:var(--mut)}.foot a{color:var(--mut)}.foot a:hover{color:var(--ember)}h1,h2{line-height:1.2}a{color:var(--ember)}button{background:var(--ember);color:#fff;border:0;border-radius:8px;padding:.55rem 1rem;font:inherit;cursor:pointer}button.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}input,select,textarea{font:inherit;padding:.5rem .65rem;border:1px solid var(--line);border-radius:8px;background:#fff;width:100%}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1.1rem 1.25rem;margin:1rem 0}.mut{color:var(--mut)}.err{color:#b3362a}.okmsg{color:#2c7a3f}.statgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}.stat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:.8rem 1rem}.stat b{display:block;font-size:1.4rem}nav.tabs{display:flex;gap:.25rem;flex-wrap:wrap;margin:1rem 0}nav.tabs a{padding:.45rem .8rem;border-radius:8px;text-decoration:none;color:var(--ink)}nav.tabs a.on{background:var(--ember);color:#fff}
