:root{color-scheme:light;--bg:#f5f7fb;--surface:#ffffff;--surface-soft:#f8fafc;--surface-blue:#f1f7ff;--text:#111827;--muted:#667085;--border:#dfe5ee;--border-strong:#cbd5e1;--accent:#1677ff;--accent-soft:#eaf3ff;--green:#16a34a;--green-soft:#eaf8ef;--danger:#d92d20;--shadow:0 18px 50px rgba(15,23,42,0.08);--radius:16px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=dark]{color-scheme:dark;--bg:#09111c;--surface:#101a27;--surface-soft:#0d1622;--surface-blue:#11233a;--text:#f7f9fc;--muted:#9aa8ba;--border:#263548;--border-strong:#34465c;--accent:#4a9cff;--accent-soft:#142c4a;--green:#4ade80;--green-soft:#123322;--danger:#ff6b62;--shadow:0 18px 55px rgba(0,0,0,0.28)}*{box-sizing:border-box}html{scroll-behavior:smooth}body,html{background:var(--bg)}body{margin:0;color:var(--text)}button,input{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}svg{width:20px;height:20px}.app-shell{min-height:100vh;background:var(--surface)}.desktop-header{height:78px;padding:0 clamp(24px,4vw,64px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface) 94%,transparent);position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand{font-size:30px;font-weight:850;letter-spacing:-1.5px;color:#0f1d36}:root[data-theme=dark] .brand{color:#f8fafc}.top-nav{display:flex;height:100%;gap:22px}.nav-link{position:relative;min-width:84px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;gap:9px;color:var(--muted);font-weight:650}.nav-link.active{color:var(--accent)}.nav-link.active:after{content:"";position:absolute;left:8px;right:8px;bottom:0;height:3px;border-radius:3px 3px 0 0;background:var(--accent)}.header-actions{justify-self:end;display:flex;align-items:center;gap:10px}.icon-button{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--border);color:var(--muted);background:var(--surface-soft)}.theme-toggle{display:flex;align-items:center;gap:7px;background:transparent;color:var(--muted);border:0;cursor:pointer;padding:8px}.theme-toggle svg:first-child{color:#f59e0b}.toggle-track{width:42px;height:24px;background:var(--accent);border-radius:999px;padding:3px;display:flex;justify-content:flex-start}.toggle-thumb{width:18px;height:18px;border-radius:50%;background:white;box-shadow:0 1px 4px rgba(0,0,0,.25);transition:transform .2s ease}:root[data-theme=dark] .toggle-thumb{transform:translateX(18px)}.dashboard{width:min(1480px,100%);margin:0 auto;padding:24px clamp(24px,4vw,64px) 80px}.search-row{height:54px;border:1px solid var(--border);border-radius:13px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding:0 18px;color:var(--muted);background:var(--surface)}.search-row:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.search-row input{width:100%;border:0;outline:0;background:transparent;color:var(--text);font-size:16px}.search-row input::placeholder{color:var(--muted)}.set-overview{padding:24px 0 18px;display:grid;grid-template-columns:minmax(330px,1fr) minmax(560px,1.65fr);align-items:center;gap:34px}.set-identity{display:flex;align-items:center;gap:20px}.set-art{width:120px;aspect-ratio:1;flex:0 0 auto;border-radius:14px;display:grid;place-items:center;text-align:center;color:white;font-weight:850;font-size:17px;line-height:1.05;text-shadow:0 2px 5px rgba(0,0,0,.25);background:radial-gradient(circle at 34% 38%,#8ed7ff 0 16%,transparent 17%),radial-gradient(circle at 65% 62%,#fc9bd2 0 13%,transparent 14%),linear-gradient(145deg,#5bc5f2,#5975db 55%,#7552a8);box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}.eyebrow{margin:0 0 5px;color:var(--accent);text-transform:uppercase;font-size:12px;font-weight:800;letter-spacing:.12em}h1{margin:0;font-size:clamp(25px,2.4vw,38px);letter-spacing:-1.1px}.muted{color:var(--muted)}.set-identity .muted{margin:9px 0 0}.progress-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.progress-card{min-height:150px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:0 8px 26px rgba(15,23,42,.05);padding:20px;display:flex;align-items:center;gap:18px}.progress-ring{--progress:0deg;width:94px;height:94px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--accent) var(--progress),var(--border) 0);position:relative}.progress-ring:after{content:"";position:absolute;inset:8px;background:var(--surface);border-radius:50%}.progress-ring span{position:relative;z-index:1;font-size:18px;font-weight:800}.progress-content{min-width:0;flex:1 1}.progress-content p{margin:0 0 8px;font-weight:750;display:flex;align-items:center;gap:6px}.progress-content p svg{width:16px;color:#7c5cff}.progress-content p small{color:var(--muted);font-weight:600}.progress-content strong{display:block;font-size:28px;line-height:1}.progress-content strong span{color:var(--muted);font-weight:550;font-size:19px}.progress-content em{display:block;margin:5px 0 10px;color:var(--muted);font-style:normal}.linear-progress{height:7px;border-radius:99px;background:var(--border);overflow:hidden}.linear-progress span{height:100%;display:block;background:var(--accent);border-radius:inherit}.progress-content>small{display:block;color:var(--muted);margin-top:8px}.filter-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.filter-scroll{display:flex;gap:9px;min-width:0;overflow-x:auto;padding:2px;scrollbar-width:none}.filter-scroll::-webkit-scrollbar{display:none}.filter-button,.filter-chip{min-height:42px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text);padding:0 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;cursor:pointer;font-weight:620}.filter-chip.selected{color:var(--accent);background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 35%,var(--border))}.filter-button svg,.filter-chip svg{width:17px;height:17px}.filter-button{border-radius:11px}.collection-table{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--surface)}.card-row,.table-head{display:grid;grid-template-columns:minmax(260px,1fr) minmax(320px,1.15fr) minmax(320px,1.15fr)}.table-head{min-height:48px;align-items:center;background:var(--surface-soft);border-bottom:1px solid var(--border);color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.04em;font-weight:750}.table-head>span{padding:0 22px}.table-head>span+span{border-left:1px solid var(--border)}.table-head small{display:inline;margin-left:4px;text-transform:none;letter-spacing:0;font-weight:520}.card-row{min-height:132px;border-bottom:1px solid var(--border)}.card-row:last-child{border-bottom:0}.desktop-card-cell,.variant-column{padding:18px 22px;display:flex;flex-direction:column;justify-content:center}.variant-column{border-left:1px solid var(--border);gap:10px}.card-identity{display:flex;align-items:center;gap:16px;min-width:0}.card-thumb{width:68px;height:82px;flex:0 0 auto;border-radius:9px;border:1px solid rgba(15,23,42,.18);display:grid;place-items:center;color:rgba(255,255,255,.92);font-weight:900;font-size:17px;text-shadow:0 1px 3px rgba(0,0,0,.28);box-shadow:inset 0 0 0 3px rgba(255,255,255,.24)}.card-identity strong{display:block;font-size:17px}.card-identity span{display:block;margin-top:5px;font-size:16px}.card-identity small{display:block;margin-top:5px;color:var(--muted)}.variant-row{min-height:38px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px}.variant-name{display:inline-flex;align-items:center;gap:10px;font-weight:570}.ownership-status{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--border-strong);display:inline-grid;place-items:center;color:white}.ownership-status.owned{background:var(--green-soft);border-color:var(--green);color:var(--green)}.ownership-status svg{width:13px;height:13px;stroke-width:2.6}.stepper{display:grid;grid-template-columns:38px 36px 38px;align-items:center;text-align:center}.stepper button{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text);cursor:pointer}.stepper button:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.stepper button:disabled{opacity:.35;cursor:not-allowed}.stepper button svg{width:16px;height:16px}.stepper output{font-weight:700}.mobile-card-heading,.mobile-section-label{display:none}.empty-state{grid-column:1/-1;padding:70px 20px;text-align:center;color:var(--muted)}.empty-state svg{width:34px;height:34px}.empty-state h2{color:var(--text);margin:12px 0 6px}.empty-state p{margin:0}.privacy-note{margin:16px 0 0;color:var(--muted);font-size:13px;text-align:center}.bottom-nav{display:none}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg)}.auth-card{width:min(460px,100%);padding:38px;border-radius:20px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow)}.auth-brand{display:inline-block;margin-bottom:28px}.auth-card h1{font-size:29px}.auth-form{display:grid;gap:16px;margin-top:24px}.auth-form label{display:grid;gap:7px;font-size:14px;font-weight:700}.auth-form input{height:46px;border:1px solid var(--border);border-radius:10px;padding:0 13px;background:var(--surface);color:var(--text);outline:0}.auth-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.primary-button{min-height:47px;border:0;border-radius:10px;background:var(--accent);color:white;font-weight:750;cursor:pointer}.primary-button:disabled{opacity:.6}.auth-links{margin-top:14px;display:flex;flex-wrap:wrap;justify-content:center;gap:4px 14px}.text-button{margin:0;display:block;border:0;background:transparent;color:var(--accent);cursor:pointer}.form-message{padding:12px;border-radius:9px;background:var(--surface-soft);color:var(--muted);font-size:14px}@media (max-width:980px){.desktop-header{grid-template-columns:1fr auto;padding:0 20px}.top-nav{display:none}.set-overview{grid-template-columns:1fr}.progress-grid{grid-template-columns:1fr 1fr}.table-head{display:none}.collection-table{border:0;background:transparent;display:grid;gap:12px;overflow:visible}.card-row{display:block;min-height:0;border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--surface)}.mobile-card-heading{width:100%;padding:13px 15px;border:0;background:var(--surface-blue);color:var(--text);display:flex;align-items:center;justify-content:space-between;cursor:pointer}.mobile-card-heading .card-thumb{width:49px;height:58px}.mobile-card-heading .card-identity strong{font-size:15px}.mobile-card-heading .card-identity span{font-size:14px}.mobile-card-heading .card-identity small{display:none}.mobile-card-heading>svg{transition:transform .2s ease}.card-row.expanded .mobile-card-heading>svg{transform:rotate(180deg)}.desktop-card-cell{display:none}.variant-column{display:none;border-left:0;padding:15px;border-top:1px solid var(--border)}.card-row.expanded .variant-column{display:flex}.variant-column.sdb{background:var(--surface-soft)}.mobile-section-label{display:flex;align-items:baseline;gap:7px;margin-bottom:4px}.mobile-section-label small{color:var(--muted)}.dashboard{padding-bottom:105px}.bottom-nav{height:72px;position:fixed;z-index:30;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(4,1fr);background:color-mix(in srgb,var(--surface) 95%,transparent);border-top:1px solid var(--border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--muted);font-size:11px}.bottom-nav a.active{color:var(--accent)}}@media (max-width:680px){.desktop-header{height:66px}.brand{font-size:26px}.icon-button{display:none}.theme-toggle{padding-right:0}.dashboard{padding:14px 14px 100px}.search-row{height:46px;padding:0 13px}.set-overview{padding-top:14px;gap:14px}.set-identity{border:1px solid var(--border);border-radius:13px;padding:10px;background:var(--surface)}.set-art{width:66px;border-radius:9px;font-size:10px}.eyebrow{display:none}h1{font-size:18px;letter-spacing:-.4px}.set-identity .muted{font-size:12px;margin-top:5px}.progress-grid{grid-template-columns:1fr;gap:9px}.progress-card{min-height:112px;padding:13px 15px;box-shadow:none}.progress-ring{width:72px;height:72px}.progress-ring:after{inset:7px}.progress-ring span{font-size:15px}.progress-content p{margin-bottom:5px}.progress-content strong{font-size:22px}.progress-content strong span{font-size:15px}.progress-content em{display:inline;margin-left:5px;font-size:13px}.progress-content>small{margin-top:5px;font-size:11px}.filter-row{margin-top:0}.filter-chip{width:39px;height:39px;min-height:39px;padding:0;font-size:0}.filter-chip:first-child{width:auto;padding:0 13px;font-size:14px}.filter-chip:not(:first-child):before{content:"";width:10px;height:10px;border:1.5px solid;border-radius:50%}.filter-button{display:none}.card-identity{gap:11px}.variant-row{min-height:42px}.stepper{grid-template-columns:34px 31px 34px}.stepper button{width:32px;height:32px}}.account-button{min-height:42px;max-width:190px;padding:0 13px;border:1px solid var(--border);border-radius:999px;background:var(--surface-soft);color:var(--text);display:inline-flex;align-items:center;gap:8px;cursor:pointer;white-space:nowrap}.account-button svg{width:18px;height:18px;color:var(--muted)}.account-button span{overflow:hidden;text-overflow:ellipsis;font-weight:680}.account-button small{color:var(--muted);font-size:11px}.account-button:hover{border-color:var(--accent);background:var(--accent-soft)}.auth-card-top{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:28px}.auth-card-top .auth-brand{margin:0}.field-help{color:var(--muted);font-weight:500;line-height:1.45}.save-error{color:var(--danger)}@media (max-width:680px){.account-button{width:42px;padding:0;justify-content:center}.account-button small,.account-button span,.account-button.muted{display:none}.auth-card{padding:28px 22px}}