@font-face{font-family:Inter;src:url('/static/brand/Inter-Variable.ttf')}@font-face{font-family:Changa;src:url('/static/brand/ChangaOne-Italic.ttf');font-style:italic}@font-face{font-family:Mono;src:url('/static/brand/JetBrainsMono-Variable.ttf')}
:root{color-scheme:dark;--navy:#071b35;--panel:#102a48;--blue:#3478d4;--gold:#f7c84b;--ivory:#f7f4eb;--muted:#a5b7cd;--line:#29435e;--green:#70d6ad;--red:#ff9d92}*{box-sizing:border-box}body{margin:0;background:#06162b;color:var(--ivory);font:15px/1.65 Inter,Arial,sans-serif}body:before{content:"";position:fixed;inset:0;background:url('/static/brand/pattern.svg') repeat;background-size:520px;opacity:.35;pointer-events:none;z-index:-1}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.45;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.nav{max-width:1280px;margin:auto;padding:22px 32px;display:flex;align-items:center;gap:42px;border-bottom:1px solid var(--line)}.brand img{width:150px;display:block}.nav nav{display:flex;gap:32px;align-items:center;margin-left:auto}.nav nav a{color:var(--muted);font-size:14px;font-weight:650;padding:12px 0}.nav nav a.active{color:var(--ivory);border-bottom:2px solid var(--gold)}.desk-link{border:1px solid var(--line);border-radius:8px;padding:10px 17px;font-size:13px;font-weight:650}.desk-link span{color:var(--gold);margin-left:12px}main{max-width:1280px;padding:0 32px;margin:auto;min-height:60vh}.eyebrow{font:11px Mono,monospace;letter-spacing:2px;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:10px}.eyebrow:before{content:"";width:22px;height:2px;background:var(--gold)}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.08}h1{font:italic 76px/.96 Changa,Impact,sans-serif;letter-spacing:-1px;margin-bottom:24px}h1 em{font-style:inherit;color:var(--gold)}h2{font:italic 36px/1.1 Changa,Impact,sans-serif;margin-bottom:12px}h3{font-family:Bahnschrift,Inter,sans-serif;font-size:19px}.hero{display:grid;grid-template-columns:1.12fr 1fr;align-items:center;gap:70px;padding:70px 0 58px}.hero p{max-width:450px;color:var(--muted);line-height:1.8;font-size:16px}.hero .eyebrow{margin-bottom:24px}.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:25px}.btn{border:1px solid var(--line);border-radius:7px;background:#142e4d;color:var(--ivory);padding:11px 20px;font-weight:700;font-size:13px;display:inline-flex;justify-content:center;align-items:center;gap:10px;min-height:44px}.btn.primary{background:var(--gold);border-color:var(--gold);color:#10233b}.btn.ghost{background:transparent}.btn.danger{color:var(--red)}.progress-card{border:1px solid #365270;border-radius:18px;background:linear-gradient(135deg,#173554,#0a203a);padding:28px 30px;position:relative;overflow:hidden;box-shadow:0 25px 70px #0004}.progress-card:before{content:"";position:absolute;right:-50px;top:-65px;width:220px;height:220px;background:url('/static/brand/ball.svg') center/contain no-repeat;opacity:.04;transform:rotate(-18deg)}.progress-top{display:flex;justify-content:space-between;align-items:center;font:12px Mono;color:var(--muted)}.live-dot{color:var(--green);font:10px Mono;letter-spacing:1px}.live-dot:before{content:"●";margin-right:6px}.bigcount{font:italic 84px/1.2 Changa;margin:22px 0 4px}.bigcount span{font:32px Inter;color:#9cb0c7}.progress-caption{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin:12px 0}.progress-caption strong{color:var(--gold)}.bar{height:7px;border-radius:10px;overflow:hidden;background:#031426}.bar>i{display:block;height:100%;background:linear-gradient(90deg,var(--blue),#74c7ff);border-radius:10px;min-width:0}.progress-bottom{display:flex;justify-content:space-between;padding-top:20px;margin-top:22px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.progress-bottom strong{color:var(--ivory)}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:23px;gap:20px}.section-head p{margin:0;color:var(--muted);font-size:13px}.section-kicker{font:10px Mono;letter-spacing:1.6px;color:var(--blue);text-transform:uppercase;margin-bottom:12px}.toolbar{display:flex;gap:14px;justify-content:space-between;align-items:center;margin-bottom:22px}.search{width:320px;position:relative}.search input{width:100%;padding-left:40px}.search:before{content:"⌕";position:absolute;left:15px;top:4px;font-size:25px;color:var(--muted)}input,select,textarea{border:1px solid var(--line);background:#0c233d;border-radius:7px;padding:11px 12px;color:var(--ivory);min-height:44px;max-width:100%}input::placeholder,textarea::placeholder{color:#8fa6be}textarea{resize:vertical;min-height:115px;width:100%}.filters{display:flex;padding:4px;gap:3px;border:1px solid var(--line);border-radius:8px;background:#081b31}.filters button{border:0;background:transparent;color:var(--muted);padding:8px 16px;min-height:38px;border-radius:5px;font-size:12px;font-weight:650}.filters button.active{background:#213e5e;color:var(--ivory)}.filters b{font:10px Mono;margin-left:7px;opacity:.7}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.dex-card{display:flex;flex-direction:column;min-width:0;border:1px solid #243b54;border-radius:11px;background:linear-gradient(145deg,#11283f,#0b1f36);padding:13px;position:relative;transition:border-color .18s,transform .18s}.dex-card:hover{border-color:#739bc4;transform:translateY(-3px)}.dex-card.owned{border-color:#b39238;background:linear-gradient(145deg,#173c58,#10283d)}.dex-head{display:flex;align-items:baseline;gap:6px;min-width:0}
.dex-number{font:10px Mono;color:#91a8c1;letter-spacing:1px;flex:none}.dex-art{aspect-ratio:1;display:grid;place-items:center;position:relative;margin:10px 0 8px;overflow:hidden}.dex-art img{position:absolute;inset:0;margin:auto;width:auto;height:auto;max-width:100%;max-height:100%;border-radius:5px}.dex-art.missing:before{content:"";width:67px;height:67px;border:1px solid #38516b;border-radius:50%;background:linear-gradient(0deg,transparent 47%,#38516b 47%,#38516b 52%,transparent 52%)}.dex-art.missing:after{content:"?";position:absolute;display:grid;place-items:center;width:27px;height:27px;border:1px solid #38516b;border-radius:50%;background:#102740;color:#7288a0;font:13px Mono}.dex-name{font-size:13px;font-weight:700;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-state{display:flex;gap:5px;align-items:center;font-size:10px;margin-top:auto;color:#91a8c1}.owned .card-state{color:var(--gold)}.collection-section{padding-bottom:38px}.grid-count{color:var(--muted);font:11px Mono;margin:18px 0}.stories-section{border-top:1px solid var(--line);padding:40px 0 60px}.empty{border:1px dashed #34516d;border-radius:12px;text-align:center;padding:40px 25px;color:var(--muted);background:#0a1f3455}.empty .mini-icon{font-size:30px;color:var(--gold);margin-bottom:12px}.empty strong{display:block;color:var(--ivory);margin-bottom:8px;font-size:17px}.empty p{margin:0 auto;max-width:480px;font-size:13px}.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.story-card{border:1px solid var(--line);padding:20px;border-radius:12px;background:#0f2945}.story-card img{height:160px;max-width:100%;object-fit:contain;display:block;margin:0 auto 20px}.story-card p{font-size:13px;color:var(--muted)}.tag{font:10px Mono;color:var(--gold);background:#f7c84b12;border:1px solid #f7c84b44;padding:5px 9px;border-radius:4px;display:inline-block;margin-bottom:12px}.page-head{padding:48px 0 28px}.page-head h1{font-size:54px}.page-head p{color:var(--muted);max-width:680px}.prose{max-width:760px;margin-bottom:70px}.prose p,.prose li{color:var(--muted);line-height:1.9}.prose h2{margin-top:35px}.prose li{margin-bottom:12px}.detail-layout{display:grid;grid-template-columns:320px 1fr;gap:50px;margin:20px 0 60px}.detail-image{background:#102a48;border:1px solid var(--line);border-radius:15px;padding:25px;align-self:start;text-align:center}.detail-image>img{width:100%;max-height:420px;object-fit:contain}.detail-image small{color:var(--muted);display:block;margin-top:12px;font-size:10px}.detail-content p{color:var(--muted);white-space:pre-wrap}.detail-content .meta{font:12px Mono;color:var(--gold);margin-bottom:15px}.history-item{border-top:1px solid var(--line);padding:20px 0;display:flex;gap:20px;align-items:center}.history-item img{width:65px;height:90px;object-fit:contain}.history-item strong{display:block}.history-item p{font-size:12px;margin:4px 0}.loading{padding:70px;color:var(--muted);text-align:center}.error{padding:15px;background:#a33b3022;border:1px solid #a33b3066;border-radius:6px;color:#ffc3bc}.admin-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,1fr);gap:28px;padding-bottom:50px}.panel{border:1px solid var(--line);background:#0d2540;border-radius:14px;padding:25px;align-self:start}.panel h2{font-size:29px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.field label,.field>span{font-size:12px;color:#c2d0df;font-weight:650}.field small,.muted{color:var(--muted);font-size:12px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.check{display:flex;gap:12px;font-size:12px;align-items:start;margin:15px 0}.check input{min-height:0;margin-top:5px;width:18px;height:18px;accent-color:var(--gold);flex:none}.catalog-search{display:grid;grid-template-columns:1fr 110px auto;gap:8px;margin-bottom:15px}.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-height:500px;overflow:auto}
.species-picker{position:relative}
.species-options{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 4px);max-height:280px;overflow:auto;margin:0;padding:6px;list-style:none;background:#0d2440;border:1px solid #3a5878;border-radius:10px;box-shadow:0 14px 30px #0008}
.species-options li{display:flex;gap:10px;align-items:baseline;padding:9px 10px;border-radius:7px;cursor:pointer;font-size:14px}
.species-options li span{font:11px Mono;color:#91a8c1;min-width:38px}
.species-options li.active,.species-options li:hover{background:#1d4166}
.species-options li.current{color:var(--gold)}
.species-options li.none{cursor:default;color:var(--muted)}
.catalog-card{background:#0b1e35;color:var(--ivory);border:1px solid var(--line);border-radius:7px;padding:9px;text-align:left;font-size:11px}.catalog-card img{height:140px;width:100%;object-fit:contain;margin-bottom:8px}.catalog-card:hover{border-color:var(--gold)}.catalog-card strong,.catalog-card small{display:block}.catalog-card small{color:var(--muted)}.selected-card{display:flex;align-items:center;gap:15px;padding:15px;background:#071b35;border:1px solid #b39238;border-radius:8px;margin-bottom:18px}.selected-card img{width:60px;height:85px;object-fit:contain}.selected-card small{display:block;color:var(--muted)}.entry-row{padding:16px 0;border-bottom:1px solid var(--line)}.entry-row strong{display:block}.entry-row small{display:block;color:var(--muted)}.entry-row .actions{margin-top:10px;gap:8px}.entry-row .btn{padding:6px 12px;min-height:35px;font-size:11px}.login{max-width:440px;margin:60px auto}.tools{margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}.tools .btn{margin:5px 5px 5px 0}.tools details{margin-top:15px}.tools summary{cursor:pointer;color:var(--muted)}footer{border-top:1px solid var(--line);max-width:1280px;margin:0 auto;padding:35px 32px;display:grid;grid-template-columns:130px 1fr auto;gap:25px;align-items:center}footer img{width:130px}footer p{margin:0;font-size:12px}footer p span{color:var(--muted)}footer div{display:flex;gap:24px;font-size:12px}footer small{grid-column:1/-1;color:#7f96ae;font-size:10px;max-width:850px}.skip{position:absolute;left:20px;top:-100px;background:var(--gold);color:#071b35;padding:12px;z-index:20}.skip:focus{top:10px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#f7f4eb;color:#071b35;padding:14px 22px;border-radius:8px;box-shadow:0 5px 25px #0006;z-index:50;display:none;max-width:90vw;font-size:13px}dialog{width:min(800px,94vw);border:1px solid var(--line);border-radius:15px;background:#0b2039;color:var(--ivory);padding:35px;max-height:90vh}dialog::backdrop{background:#001022bb;backdrop-filter:blur(6px)}.close{position:absolute;right:12px;top:8px;background:none;color:white;border:0;font-size:28px}.inline-note{border-left:3px solid var(--gold);padding:12px 18px;color:var(--muted);font-size:13px;margin:20px 0}.pager{display:flex;align-items:center;justify-content:center;gap:15px;margin-top:18px}.obs-wrap{background:transparent;padding:20px!important;min-height:0}.obs-card{width:600px;max-width:95vw;background:#071b35ee;border:2px solid var(--blue);border-left:7px solid var(--gold);border-radius:12px;padding:18px 24px;display:flex;gap:22px;align-items:center}.obs-card img{width:115px}.obs-card h1{font-size:25px;margin:0 0 5px;letter-spacing:0}.obs-card .obs-count{font:italic 35px Changa;color:var(--gold)}.obs-card .bar{margin-top:8px;width:300px;max-width:50vw}.obs-card small{font:10px Mono;color:var(--muted)}.obs-stale{color:#ffb779!important}.obs-light .obs-card{background:#f7f4ebee;color:#071b35}.obs-light .obs-count{color:#215fae}.obs-light small{color:#455975}.obs-4k .obs-card{zoom:2}body.overlay{background:transparent}body.overlay:before{display:none}
@media(min-width:1500px){main,.nav,footer{max-width:1600px}}.days-panel{margin-top:24px}
.days-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:32px;align-items:start}
.days-layout h3{font-size:15px;margin:0 0 6px}
.video-row{display:grid;grid-template-columns:minmax(0,1fr) 170px auto;gap:8px;margin-bottom:8px}
.video-row .btn{padding:8px 13px}
.pack-row{display:grid;grid-template-columns:minmax(0,1fr) 90px auto;gap:8px;margin-bottom:8px}
.pack-row .btn{padding:8px 13px}
.day{border:1px solid var(--line);border-radius:14px;background:#0f2945;padding:24px;margin-bottom:20px;scroll-margin-top:20px}
.day-head{display:flex;justify-content:space-between;gap:16px;align-items:start}
.day h2{font-size:26px;margin:6px 0 0}
.day-packs{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:12px}
.day-packs>span:first-child{font-size:12px;color:var(--muted);margin-right:4px}
.day-story{white-space:pre-wrap;color:var(--muted);max-width:70ch;margin:14px 0 0}
.day .actions{margin-top:16px}
.day-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;margin-top:20px}
.day-card{display:flex;flex-direction:column;gap:6px;min-width:0;border:1px solid var(--line);border-radius:10px;padding:10px;background:#11283f;transition:border-color .18s}
.day-card:hover{border-color:#739bc4}
.day-card img{width:100%;aspect-ratio:5/7;object-fit:contain}
.day-card strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.day-card small{font-size:10px;color:var(--muted)}
@media(max-width:1000px){.hero{gap:30px}h1{font-size:62px}.admin-layout{grid-template-columns:1fr}.nav{padding:18px 25px}.nav nav{gap:20px}.brand img{width:120px}}@media(max-width:650px){.nav{padding:14px 18px;gap:15px;flex-wrap:wrap}.nav .brand img{width:110px}.nav nav{order:3;width:100%;justify-content:space-between;border-top:1px solid #29435e66;padding-top:8px}.nav nav a{font-size:12px;padding:5px 0}.desk-link{margin-left:auto;font-size:11px;padding:7px 10px}main{padding:0 18px}.hero{grid-template-columns:1fr;gap:27px;padding:35px 0}h1{font-size:56px}.hero .eyebrow{margin-bottom:20px;font-size:9px}.hero p{font-size:14px}.hero .actions{margin-top:18px}.progress-card{padding:22px}.bigcount{font-size:64px;margin:13px 0 0}.progress-bottom{padding-top:13px;margin-top:16px}.section-head{align-items:start}.section-head h2{font-size:30px}.section-head p{font-size:11px}.toolbar{align-items:stretch;flex-direction:column}.search{width:100%}.filters button{flex:1;padding:9px}.grid{grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:8px}.dex-card{padding:9px}.dex-art.missing:before{width:49px;height:49px}.dex-name{font-size:11px}.dex-number{font-size:9px}.card-state{font-size:9px}.story-grid{grid-template-columns:1fr}.detail-layout{grid-template-columns:1fr;gap:25px}.detail-image{max-width:280px;width:100%;margin:auto}.page-head h1{font-size:43px}.page-head{padding-top:32px}.field-row{grid-template-columns:1fr}.catalog-search{grid-template-columns:1fr 90px}.catalog-search button{grid-column:1/-1}.catalog-grid{grid-template-columns:repeat(2,1fr)}.panel{padding:18px}.admin-layout{gap:20px}.section-head .btn{padding:8px;font-size:11px}footer{padding:30px 18px;grid-template-columns:100px 1fr;gap:18px}footer img{width:100px}footer div{grid-column:1/-1}dialog{padding:30px 18px}.obs-card{max-width:none}.login{margin:30px auto}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Keep native selects and long catalog labels inside narrow phone columns. */
.panel,.field,.field-row,.catalog-search,.admin-layout>*,.detail-content{min-width:0}input,select,textarea{min-width:0;width:100%}.check input{width:18px}.entry-row strong,.selected-card strong{overflow-wrap:anywhere}#logout{white-space:nowrap;flex:none}@media(max-width:1000px){.admin-layout{grid-template-columns:minmax(0,1fr)}}
@media(max-width:1000px){.days-layout{grid-template-columns:minmax(0,1fr)}}
@media(max-width:650px){.video-row{grid-template-columns:minmax(0,1fr) auto}.video-row .video-label{grid-row:2;grid-column:1}}
@media(max-width:650px){.day{padding:18px}.day-head{flex-direction:column;gap:8px}.day h2{font-size:21px}.day-cards{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px}}
[hidden]{display:none!important}
@media(max-width:650px){.catalog-grid{max-height:none;overflow:visible}}
