html{background:#fff}body{min-height:100vh}button{cursor:pointer}button:focus-visible{outline-offset:2px;outline:3px solid #8fd7d5}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}:root{--navy:#09233f;--muted:#607184;--teal:#078f92;--teal-dark:#04777a;--line:#dce5e9;--soft:#f3f8f8;--warn:#c94b3f;--warn-bg:#fff0ed;--gold:#d59b11;--radius:14px;color:var(--navy);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:#fff;min-width:320px;margin:0}button,input,textarea{font:inherit;color:inherit}.center-page{place-items:center;min-height:100dvh;padding:24px;display:grid}.login-panel,.setup-panel{width:min(100%,520px)}.brand{align-items:center;gap:14px;margin-bottom:42px;display:flex}.brand h1{margin:0;font-size:1.75rem}.brand p,.lede{color:var(--muted);margin:.25rem 0}.brand-mark{background:var(--teal);color:#fff;border-radius:13px;place-items:center;width:48px;height:48px;display:grid}.brand-mark svg{width:26px}.login-panel>h2,.setup-panel>h1{margin:20px 0;font-size:1.9rem}.profile-list{gap:12px;display:grid}.profile-list button{border-radius:var(--radius);background:var(--teal);color:#fff;border:2px solid #0000;justify-content:center;align-items:center;gap:9px;min-height:58px;font-size:1.15rem;font-weight:750;display:flex}.profile-list button.selected{background:var(--navy);box-shadow:0 0 0 3px #9bd6d6}.profile-list svg{width:19px}.pin-form,.stack{gap:16px;margin-top:24px;display:grid}label{gap:7px;font-size:.88rem;font-weight:700;display:grid}.field-hint{color:var(--muted);font-size:.78rem;font-weight:500;line-height:1.35}.catalog-choice{margin-top:20px}.ready-catalog{border-radius:var(--radius);background:#f2fbfb;border:1.5px solid #9bd6d6;gap:18px;padding:18px;display:grid}.ready-catalog>div{align-items:flex-start;gap:12px;display:flex}.ready-catalog svg{width:22px;color:var(--teal);flex:0 0 22px}.ready-catalog h2,.ready-catalog p{margin:0}.ready-catalog h2{font-size:1.08rem}.ready-catalog p{color:var(--muted);margin-top:5px;line-height:1.45}.csv-fallback{border-top:1px solid #dce5e9;padding-top:16px}.csv-fallback summary{cursor:pointer;color:var(--muted);align-items:center;min-height:44px;font-weight:700;display:flex}input,textarea{background:#fff;border:1.5px solid #bdcbd2;border-radius:11px;width:100%;padding:13px;font-size:1rem}input:focus,textarea:focus{border-color:var(--teal);outline:3px solid #b7e3e2}.button{border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:50px;padding:12px 18px;font-weight:800;display:flex}.button svg{width:20px}.button.primary{background:var(--teal);color:#fff}.button.secondary{background:var(--navy);color:#fff}.button.quiet{background:var(--soft)}.button:disabled{opacity:.5}.privacy{text-align:center;color:var(--muted);justify-content:center;gap:6px;margin:28px 0 0;font-size:.84rem;display:flex}.privacy svg{width:16px}.notice{border-radius:11px;align-items:flex-start;gap:8px;padding:13px;font-size:.9rem;display:flex}.notice.warn{background:var(--warn-bg);color:#8f3029}.notice.success{color:#176b59;background:#eaf8f4}.notice.info{background:#eaf5fa}.notice svg{flex:none;width:18px}.pin-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.steps{margin:24px 0;padding:0;list-style:none;display:flex}.steps li{text-align:center;color:var(--muted);border-top:3px solid var(--line);flex:1;padding-top:8px;font-size:.75rem}.steps li.current,.steps li.done{border-color:var(--teal);color:var(--navy);font-weight:700}.setup-panel code{background:var(--soft);border-radius:8px;padding:10px;overflow:auto}.import-summary ul{color:var(--warn)}.app-shell{min-height:100dvh;padding-bottom:68px}.app-shell>header{border-bottom:1px solid var(--line);z-index:5;background:#fff;justify-content:space-between;align-items:center;min-height:74px;padding:12px 16px;display:flex;position:sticky;top:0}.app-shell>header h1{margin:0;font-size:1.45rem}.season-label{text-transform:uppercase;letter-spacing:.06em;color:var(--teal);margin:0 0 2px;font-size:.72rem;font-weight:800}.header-actions{gap:4px;display:flex}.header-actions button,.back{background:0 0;border:0;border-radius:10px;place-items:center;min-width:44px;min-height:44px;display:grid}.header-actions svg{width:21px}.back{gap:5px;padding:0;display:flex}.app-shell>header>.back+h1{margin-left:8px;margin-right:auto;font-size:1.05rem}.app-shell>main{max-width:760px;margin:0 auto;padding:16px}.summary{background:var(--soft);border-radius:var(--radius);border-left:5px solid var(--teal);justify-content:space-between;align-items:center;margin-bottom:14px;padding:17px;display:flex}.summary strong{font-size:2.1rem}.summary span{font-size:1.1rem;font-weight:700}.summary dl{gap:16px;margin:0;display:flex}.summary dl div{flex-direction:column-reverse;display:flex}.summary dt{color:var(--muted);font-size:.72rem}.summary dd{margin:0;font-weight:800}.search{margin:18px 0;position:relative}.search svg{width:20px;color:var(--muted);position:absolute;top:13px;left:13px}.search input{padding-left:42px}.set-list{gap:17px;display:grid}.set{border-top:1px solid var(--line)}.set-heading{justify-content:space-between;align-items:center;padding:15px 2px 9px;display:flex}.set-heading span{color:var(--teal);text-transform:uppercase;font-size:.72rem;font-weight:800}.set-heading h2{margin:2px 0;font-size:1.08rem}.sticker{border-top:1px solid #e8edef;border-left:4px solid #0000;justify-content:space-between;align-items:center;gap:10px;min-height:69px;padding:10px 2px 10px 10px;display:flex}.sticker.missing{border-left-color:#d2dce0}.sticker.owned{border-left-color:var(--teal)}.sticker.duplicate{background:#f6fbff;border-left-color:#2378bc}.sticker.gold{border-left-color:var(--gold)}.sticker-info{min-width:0}.sticker-info h3{align-items:center;gap:5px;margin:0;font-size:.94rem;display:flex}.sticker-info h3 svg{width:15px;color:var(--gold)}.sticker-info p{color:var(--muted);margin:4px 0 0;font-size:.76rem}.quantity{border:1px solid #cdd8dd;border-radius:9px;flex:none;align-items:center;display:flex;overflow:hidden}.quantity button{background:#fff;border:0;place-items:center;width:38px;height:40px;display:grid}.quantity button:disabled{opacity:.3}.quantity svg{width:17px}.quantity output{text-align:center;min-width:31px;font-weight:800}.app-shell>nav{border-top:1px solid var(--line);z-index:6;height:64px;padding-bottom:env(safe-area-inset-bottom);background:#fff;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.app-shell>nav button{color:var(--muted);background:#fff;border:0;padding:8px 3px;font-size:.68rem}.app-shell>nav button.active{color:var(--teal);font-weight:800}.upload-panel{text-align:center;gap:15px;padding:34px 0;display:grid}.upload-panel h2{margin:0}.upload-panel p{color:var(--muted);margin:0}.upload-panel progress{width:100%;height:10px;accent-color:var(--teal)}.upload-icon{background:var(--soft);width:68px;height:68px;color:var(--teal);border-radius:20px;place-items:center;margin:auto;display:grid}.file-button{border:2px dashed var(--teal);min-height:50px;color:var(--teal);border-radius:12px;justify-content:center;align-items:center;display:flex}.file-button input{opacity:0;width:1px;height:1px;position:absolute}.filters{gap:6px;margin:14px 0;display:flex;overflow-x:auto}.filters button{white-space:nowrap;border:1px solid var(--line);background:#fff;border-radius:9px;min-height:42px;padding:8px 12px}.filters button.active{background:var(--teal);color:#fff;border-color:var(--teal)}details summary{justify-content:space-between;align-items:center;min-height:52px;font-weight:800;list-style:none;display:flex}details summary svg{width:18px}.review-warning{color:var(--warn)!important}.sticky-save{padding-top:15px;position:sticky;bottom:10px}.sticky-save .button{width:100%;box-shadow:0 8px 25px #09233f33}.loader{color:var(--teal);font-weight:700}@media (width>=720px){.app-shell>header{padding-inline:calc(50% - 380px)}.app-shell>nav{width:760px;left:50%;transform:translate(-50%)}}@media (width<=360px){.summary dl{gap:9px}.summary strong{font-size:1.8rem}.app-shell>main{padding:12px}.quantity button{width:34px}.sticker{padding-left:6px}.pin-grid{grid-template-columns:1fr}}
