:root{--bg:#0e1016;--bg-raised:#171a23;--bg-sunken:#0a0c11;--line:#262b38;--line-strong:#39404f;--text:#eef1f7;--text-dim:#a2abbd;--text-faint:#6f7991;--accent:#ff8a3d;--accent-ink:#1a0f06;--good:#4ade80;--warn:#fbbf24;--bad:#f87171;--info:#60a5fa;--radius:12px;--radius-sm:8px;--tap:44px;--shadow:0 2px 8px #00000059;--font:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--bg:#f4f6fa;--bg-raised:#fff;--bg-sunken:#e8ecf3;--line:#d8dee9;--line-strong:#b9c2d2;--text:#141821;--text-dim:#4d566a;--text-faint:#78839a;--accent:#d35f12;--accent-ink:#fff6ef;--good:#15803d;--warn:#a16207;--bad:#b91c1c;--info:#1d4ed8;--shadow:0 1px 4px #1018281a}}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-text-size-adjust:100%;margin:0;font-size:16px;line-height:1.5}h1,h2,h3,h4{margin:0 0 .5rem;font-weight:650;line-height:1.25}h1{letter-spacing:-.01em;font-size:1.5rem}h2{font-size:1.2rem}h3{font-size:1rem}p{margin:0 0 .75rem}a{color:var(--accent)}.app{flex-direction:column;min-height:100%;display:flex}.topbar{z-index:20;padding:.6rem max(1rem, env(safe-area-inset-left)) .6rem max(1rem, env(safe-area-inset-right));background:var(--bg-sunken);border-bottom:1px solid var(--line);align-items:center;gap:.75rem;display:flex;position:sticky;top:0}.topbar__mark{letter-spacing:-.01em;align-items:center;gap:.5rem;font-weight:700;display:flex}.topbar__spacer{flex:1}.nav{scrollbar-width:none;padding:.4rem max(1rem, env(safe-area-inset-left));background:var(--bg-sunken);border-bottom:1px solid var(--line);z-index:19;gap:.25rem;display:flex;position:sticky;top:49px;overflow-x:auto}.nav::-webkit-scrollbar{display:none}.nav button{min-height:38px;color:var(--text-dim);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:999px;flex:none;padding:.35rem .8rem;font-size:.9rem}.nav button:hover{color:var(--text);background:var(--bg-raised)}.nav button[aria-current=page]{background:var(--accent);color:var(--accent-ink);font-weight:600}.main{width:100%;max-width:1100px;padding:1rem max(1rem, env(safe-area-inset-left)) 4rem max(1rem, env(safe-area-inset-right));flex:1;margin:0 auto}.stack{flex-direction:column;gap:1rem;display:flex}.row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.row--tight{gap:.35rem}.grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.75rem;display:grid}.spread{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.card{background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem}.card--flat{box-shadow:none}.card__title{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}button,.btn{min-height:var(--tap);border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--bg-raised);color:var(--text);font:inherit;cursor:pointer;padding:.55rem 1rem;font-weight:550}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn--primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:650}.btn--danger{color:var(--bad);border-color:var(--bad)}.btn--ghost{border-color:var(--line);background:0 0}.btn--sm{min-height:34px;padding:.25rem .6rem;font-size:.85rem}input,select,textarea{min-height:var(--tap);background:var(--bg-sunken);width:100%;color:var(--text);border:1px solid var(--line-strong);border-radius:var(--radius-sm);font:inherit;padding:.5rem .65rem}label{color:var(--text-dim);margin-bottom:.25rem;font-size:.85rem;font-weight:550;display:block}.field{margin-bottom:.75rem}fieldset{border:1px solid var(--line);border-radius:var(--radius-sm);margin:0 0 .75rem;padding:.75rem}legend{color:var(--text-dim);padding:0 .4rem;font-size:.85rem;font-weight:600}.checkline{min-height:var(--tap);cursor:pointer;align-items:center;gap:.6rem;display:flex}.checkline input{width:20px;height:20px;min-height:0;accent-color:var(--accent);flex:none}.checkline span{font-size:.95rem}.table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.92rem}th,td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:.5rem .6rem}th{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:600}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;font-family:var(--mono)}tbody tr:last-child td{border-bottom:none}tbody tr.is-reference td{background:color-mix(in srgb, var(--accent) 9%, transparent)}.chip{background:var(--bg-sunken);color:var(--text-dim);border:1px solid var(--line);white-space:nowrap;border-radius:999px;align-items:center;gap:.3rem;padding:.15rem .5rem;font-size:.75rem;font-weight:600;display:inline-flex}.chip--good{color:var(--good);border-color:color-mix(in srgb, var(--good) 40%, transparent)}.chip--warn{color:var(--warn);border-color:color-mix(in srgb, var(--warn) 40%, transparent)}.chip--bad{color:var(--bad);border-color:color-mix(in srgb, var(--bad) 40%, transparent)}.chip--info{color:var(--info);border-color:color-mix(in srgb, var(--info) 40%, transparent)}.chip--accent{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.notice{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--bg-sunken);padding:.7rem .85rem;font-size:.9rem}.notice--warn{border-color:color-mix(in srgb, var(--warn) 45%, transparent);background:color-mix(in srgb, var(--warn) 10%, var(--bg-sunken))}.notice--bad{border-color:color-mix(in srgb, var(--bad) 45%, transparent);background:color-mix(in srgb, var(--bad) 10%, var(--bg-sunken))}.notice--info{border-color:color-mix(in srgb, var(--info) 45%, transparent);background:color-mix(in srgb, var(--info) 10%, var(--bg-sunken))}.notice--good{border-color:color-mix(in srgb, var(--good) 45%, transparent);background:color-mix(in srgb, var(--good) 10%, var(--bg-sunken))}.notice strong{margin-bottom:.15rem;display:block}.muted{color:var(--text-dim)}.faint{color:var(--text-faint)}.small{font-size:.85rem}.tiny{font-size:.75rem}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.big-number{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:2rem;font-weight:700}.center{text-align:center}.hr{background:var(--line);border:0;height:1px;margin:.75rem 0}.wrap-anywhere{white-space:normal}.progress{background:var(--bg-sunken);border:1px solid var(--line);border-radius:999px;height:8px;overflow:hidden}.progress__fill{background:var(--accent);height:100%;transition:width .2s}.chequer{background-image:linear-gradient(45deg, var(--line-strong) 25%, transparent 25%, transparent 75%, var(--line-strong) 75%), linear-gradient(45deg, var(--line-strong) 25%, transparent 25%, transparent 75%, var(--line-strong) 75%);opacity:.55;background-position:0 0,6px 6px;background-size:12px 12px;border-radius:3px;height:6px}.bonus-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.6rem;display:grid}.bonus-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-sunken);flex-direction:column;gap:.2rem;padding:.75rem;display:flex}.bonus-card--reference{border-color:var(--accent)}.bonus-card__name{font-weight:650}.bonus-card__bonus{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:1.9rem;font-weight:700}.track-list{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.4rem;display:grid}.track-item{min-height:var(--tap);text-align:left;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-sunken);justify-content:space-between;align-items:center;gap:.5rem;padding:.4rem .6rem;font-size:.9rem;display:flex}.track-item[data-used=true]{opacity:.5}.track-item[data-done=true]{border-color:color-mix(in srgb, var(--good) 45%, transparent)}.modal-backdrop{z-index:50;background:#0009;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{background:var(--bg-raised);border:1px solid var(--line-strong);border-radius:var(--radius);width:100%;max-width:560px;max-height:85vh;padding:1.1rem;overflow:auto}@media (width<=560px){.main{padding-left:1rem;padding-right:1rem}.grid{grid-template-columns:1fr}h1{font-size:1.3rem}.big-number{font-size:1.7rem}}
