:root{color:#242824;font-synthesis:none;--paper:#fffdf7;--ink:#242824;--muted:#5c655d;--line:#d7d8c9;--red:#a5322d;--green:#28624e;--tint:#eeeadd;background:#f6f3ea;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.55}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{border:1px solid var(--red);background:var(--red);color:#fff;cursor:pointer;white-space:normal;border-radius:6px;min-height:44px;padding:.6rem 1rem;font-weight:650}button:hover{filter:brightness(.94)}button:disabled{opacity:.55;cursor:not-allowed}.quiet{background:var(--paper);color:var(--ink);border-color:#aeb5a8}.danger{--red:#9e2520}a{color:#8b2c26;text-underline-offset:3px;overflow-wrap:anywhere;text-decoration-thickness:1px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #247bae}input,select,textarea{background:var(--paper);width:100%;min-height:44px;color:var(--ink);border:1px solid #a8afa1;border-radius:5px;max-width:100%;padding:.65rem;display:block}textarea{resize:vertical;overflow-wrap:anywhere}label{margin:.8rem 0;font-size:.9rem;font-weight:650;display:block}label input,label select,label textarea{margin-top:.35rem;font-weight:400}.check{cursor:pointer;align-items:center;gap:.65rem;min-height:44px;display:flex}.check input{width:22px;height:22px;min-height:22px;accent-color:var(--red);flex-shrink:0;margin:0}fieldset{border:1px solid var(--line);border-radius:6px;min-width:0;margin:1rem 0;padding:1rem}legend{overflow-wrap:anywhere;max-width:100%;padding:0 .3rem;font-weight:650}p,li,small,strong,h1,h2,h3,h4{overflow-wrap:anywhere}p{margin:.65rem 0}h1,h2,h3,h4{line-height:1.25}h1{letter-spacing:-.045em;margin:.35rem 0 1rem;font-family:ui-serif,Georgia,serif;font-size:clamp(2rem,4vw,3rem);font-weight:600}h2{letter-spacing:-.02em;margin:0 0 1rem;font-size:1.25rem}h3{margin:1rem 0 .5rem;font-size:1.05rem}h4{font-size:1rem}small,.muted{color:var(--muted)}small{display:block}.app-shell{min-height:100vh;display:flex}.rail{border-right:1px solid var(--line);background:#eae7db;flex-direction:column;flex-shrink:0;width:200px;padding:2rem 1rem;display:flex;position:fixed;inset:0 auto 0 0}.brand{color:var(--red);letter-spacing:.13em;align-items:center;gap:.65rem;font-size:1.4rem;font-weight:900;line-height:1.2;display:flex}.brand>span>span{letter-spacing:.1em;color:var(--muted);margin-top:.5rem;font-size:.55rem;display:block}.brand svg{fill:none;width:42px;height:48px;stroke:var(--red);stroke-width:2px;flex-shrink:0}.rail nav{gap:.5rem;margin-top:3rem;display:grid}.rail nav button{text-align:left;color:var(--muted);background:0 0;border:none;align-items:center;gap:.7rem;padding:.8rem;font-size:.9rem;display:flex}.rail nav button.active{background:var(--paper);color:var(--red);box-shadow:0 1px 2px #24282413}.rail nav button>span{text-align:center;width:22px;font-size:1.2rem}.rail-note{color:var(--muted);margin-top:auto;font-size:.8rem}.workspace{flex:1;min-width:0;margin-left:200px}.topbar{border-bottom:1px solid var(--line);background:#faf8f0;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 2.5rem;font-size:.85rem;display:flex}.topbar strong,.topbar>div>span{display:block}.topbar>div>span{color:var(--muted);font-size:.75rem}.freshness{align-items:center;gap:.5rem;max-width:55%;display:flex}.status-dot{background:#8b9187;border-radius:50%;flex-shrink:0;width:8px;height:8px}.status-dot.has-save,.status-dot.ok{background:var(--green)}.status-dot.busy{background:#b88a1f}.status-dot.warn{background:var(--red)}.topbar{z-index:10;position:sticky;top:0}.freshness.warn{color:var(--red);font-weight:600}button.link{min-height:0;color:var(--red);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.glance{grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;margin-bottom:1.2rem;display:grid}.glance>div{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:.7rem .9rem}.glance strong{font-size:1.35rem;line-height:1.2;display:block}.glance span{color:var(--muted);font-size:.78rem}.todo{gap:.9rem;margin:0;padding:0;list-style:none;display:grid}.todo>li{border-top:1px solid var(--line);padding-top:.8rem}.todo>li:first-child{border-top:none;padding-top:0}.todo p{margin:.2rem 0}.deadline-panel{border-top:3px solid var(--red)}.warning-panel{background:#fbf1e6}.advanced>summary,.browse>summary{font-size:1.05rem}.upload{margin-top:.8rem}main{min-width:0;max-width:1160px;margin:0 auto;padding:2.6rem 2.5rem}.page-intro{max-width:730px;margin-bottom:1.8rem}.eyebrow{text-transform:uppercase;color:var(--red);letter-spacing:.15em;font-size:.72rem;font-weight:800}.page-intro>p:last-child{color:var(--muted)}.panel,.card{border:1px solid var(--line);background:var(--paper);border-radius:9px;min-width:0;margin:1rem 0;padding:1.3rem}.panel{border-top:3px solid #bdc3ae}.section-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.section-heading h2,.section-heading h3{margin:0}.badge{color:#596156;white-space:nowrap;text-transform:capitalize;background:#efeee6;border-radius:4px;align-items:center;min-height:24px;padding:.12rem .55rem;font-size:.73rem;font-weight:700;display:inline-flex}.badge.ready{color:#235a40;background:#e1eee4}.badge.blocked{color:#81372e;background:#f6e7db}.badge.missed{color:#8b2626;background:#f9dddd}.badge.unknown{color:#5e5d50;background:#eeece3}.reasons{margin:.65rem 0;padding-left:1.3rem}.reasons li{padding:.25rem 0}.notice,.deadline,.held{background:#f6eee0;border-left:3px solid #aa733b;border-radius:4px;margin:1rem 0;padding:1rem}.notice p:first-child{margin-top:0}.species-list{flex-wrap:wrap;gap:.4rem;margin:1rem 0;padding:0;list-style:none;display:flex}.species-list li{background:#f7f6ef;border:1px solid #d8dacb;border-radius:4px;padding:.3rem .6rem;font-size:.85rem}.species-list li span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.7rem}.stage-picker{max-width:600px}.sources{flex-wrap:wrap;gap:1rem;margin:.8rem 0;font-size:.8rem;display:flex}.sources a{align-items:center;min-height:44px;display:inline-flex}.filters{flex-wrap:wrap;align-items:end;gap:1rem;display:flex}.filters label{flex:1;min-width:160px;margin:.5rem 0}.filters input{min-width:0}summary{cursor:pointer;overflow-wrap:anywhere;min-height:44px;padding:.55rem 0;font-weight:650}summary::marker{color:var(--red)}summary>strong{margin-left:.3rem}summary>.muted{margin:.3rem 0 0 1.3rem;font-size:.8rem;font-weight:400;display:block}details[open]>summary{border-bottom:1px solid var(--line);margin-bottom:.7rem}details details{margin:.7rem 0}.card>summary{padding:.2rem 0}.dex-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:.7rem;display:grid}.dex-entry{margin:0}.dex-number{font-variant-numeric:tabular-nums;color:var(--red);margin-left:.25rem;font-size:.8rem}.set-tabs{flex-wrap:wrap;gap:.5rem;display:flex}.set-tabs button{border-color:var(--line);color:var(--muted);background:0 0}.set-tabs button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.stat{color:var(--green);white-space:nowrap;font-size:1.2rem;font-weight:800}.achievement-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.8rem;margin:.6rem 0 0 1.3rem;font-size:.78rem;font-weight:400;display:flex}.objective{font-weight:600}.manual-input{background:#f6f6ee}.manual-input small{margin:.5rem 0}.button-row{flex-wrap:wrap;gap:.5rem;margin:1rem 0;display:flex}.button-row button{flex-shrink:1}.history{padding:0;list-style:none}.history>li{border-bottom:1px solid var(--line);padding:1rem 0}.history li p{font-size:.85rem}.route-list{padding-left:1.5rem}.route-list button{text-align:left;margin:.2rem 0}.glitch-details{border-top:1px solid var(--line);margin-top:1rem;padding-top:.5rem}footer{color:var(--muted);border-top:1px solid var(--line);margin-top:3rem;padding-top:1rem;font-size:.7rem}.skip{z-index:100;background:var(--paper);padding:1rem;position:fixed;top:-100px;left:1rem}.skip:focus{top:1rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.loading{max-width:700px;margin:12vh auto}form>button{margin-top:.5rem}@media (width<=760px){.rail{z-index:20;border-right:none;border-top:1px solid var(--line);width:auto;height:76px;padding:.3rem .25rem calc(.3rem + env(safe-area-inset-bottom));background:#f5f2e8;position:fixed;inset:auto 0 0}.brand,.rail-note{display:none}.rail nav{grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin:0;display:grid}.rail nav button{text-align:center;letter-spacing:-.02em;border-radius:5px;flex-direction:column;gap:.1rem;min-height:60px;padding:.3rem .05rem;font-size:.64rem}.rail nav button>span{font-size:1.3rem;line-height:1.4}.workspace{margin:0}.topbar{flex-direction:column;align-items:stretch;gap:.2rem;padding:.6rem 1rem}.topbar>div:first-child{align-items:baseline;gap:.5rem;display:flex}.freshness{align-items:flex-start;max-width:none}.glance{gap:.35rem}.glance>div{padding:.45rem .5rem}.glance strong{font-size:1.05rem}.glance span{font-size:.68rem;line-height:1.2;display:block}.status-dot{margin-top:.4rem}main{padding:1.6rem 1rem 7rem}.panel,.card{padding:1rem}.page-intro{margin-bottom:1.3rem}.dex-grid{grid-template-columns:1fr}.filters{gap:.5rem}.filters label{min-width:130px}.section-heading{align-items:flex-start;gap:.5rem}.stat{font-size:1rem}.set-tabs{gap:.35rem}.set-tabs button{flex:1;padding:.6rem .7rem;font-size:.8rem}.species-list li{font-size:.8rem}.reasons{padding-left:1.1rem}.achievement-meta{gap:.4rem}.topbar strong{font-size:.85rem}.topbar>div>span{font-size:.65rem}fieldset{padding:.7rem}}@media (prefers-reduced-motion:no-preference){button{transition:background-color .12s,color .12s}details[open]{animation:.15s ease-out appear}@keyframes appear{0%{opacity:.8}to{opacity:1}}}.nav-icon{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:22px;height:22px}button.link:hover{color:var(--ink);background:0 0}.counter{overflow-wrap:anywhere;font-weight:600}
