:root,:root[data-theme=dark]{--card:hsla(0,0%,100%,.06);--card-checked:rgba(255,203,5,.18);--accent:#ffcb05;--accent2:#3d7dca;--text:#f4f0ff;--muted:#b9aed6;--border:hsla(0,0%,100%,.12);--bg:radial-gradient(circle at top left,#3a2566,#1c1136 70%);--input-bg:hsla(0,0%,100%,.08);--track:hsla(0,0%,100%,.1);--badge-bg:hsla(0,0%,100%,.08);--check-dot-bg:rgba(0,0,0,.2);--check-dot-text:#2b1a4a}:root[data-theme=light]{--card:rgba(0,0,0,.03);--card-checked:rgba(255,203,5,.28);--accent:#e0a800;--accent2:#3d7dca;--text:#2b1a4a;--muted:#6b6480;--border:rgba(0,0,0,.12);--bg:radial-gradient(circle at top left,#fdf6ff,#eef0ff 70%);--input-bg:rgba(0,0,0,.04);--track:rgba(0,0,0,.08);--badge-bg:rgba(0,0,0,.05);--check-dot-bg:hsla(0,0%,100%,.6);--check-dot-text:#fff}*{box-sizing:border-box}body,html{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;transition:background .3s ease,color .3s ease}.wrap{max-width:880px;margin:0 auto;padding:24px 16px 60px;position:relative}.header{text-align:center;margin-bottom:20px}.header h1{font-size:26px;margin:0 0 4px;background:linear-gradient(90deg,var(--accent),#ffe27a);-webkit-background-clip:text;background-clip:text;color:transparent}.header p{color:var(--muted);font-size:13px;margin:0}.auth-bar{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:12px 16px;margin-bottom:16px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;font-size:12.5px}.auth-bar--disabled,.auth-status{color:var(--muted)}.auth-form{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.auth-form input{background:var(--input-bg);border:1px solid var(--border);border-radius:8px;padding:6px 10px;color:var(--text);font-size:12.5px}.auth-error{color:#ff9b9b;font-size:11.5px;width:100%}.progress-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:16px 20px;margin:12px 0 20px;display:flex;align-items:center;gap:16px}.progress-info{flex:1 1}.progress-info .count-row{display:flex;align-items:baseline;gap:10px}.progress-info .count{font-size:22px;font-weight:700;color:var(--accent)}.progress-info .count-breakdown{font-size:13px;color:var(--muted)}.progress-info .label{font-size:12px;color:var(--muted)}.bar-track{height:8px;background:var(--track);border-radius:999px;overflow:hidden;margin-top:8px}.bar-fill{height:100%;background:linear-gradient(90deg,var(--accent2),var(--accent));border-radius:999px;transition:width .4s ease}.reset-btn{background:transparent;border:1px solid var(--border);color:var(--muted);padding:8px 14px;border-radius:10px;font-size:12px;cursor:pointer;white-space:nowrap}.reset-btn:hover{border-color:#ff6b6b;color:#ff9b9b}.section-title{font-size:15px;font-weight:700;margin:28px 0 12px;display:flex;align-items:center;gap:8px;color:var(--accent)}.section-title .badge{font-size:11px;background:var(--badge-bg);color:var(--muted);padding:2px 8px;border-radius:999px;font-weight:500}.controls{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:4px 0 14px}.view-toggle{display:inline-flex;background:var(--card);border:1px solid var(--border);border-radius:999px;padding:3px;gap:2px}.view-toggle button{background:transparent;border:none;color:var(--muted);font-size:12.5px;padding:6px 14px;border-radius:999px;cursor:pointer;white-space:nowrap}.view-toggle button.active{background:var(--card-checked);color:var(--accent);font-weight:600}.filters{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 20px}.chip{background:var(--card);border:1px solid var(--border);color:var(--text);padding:7px 13px;border-radius:999px;font-size:12.5px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .2s ease,border-color .2s ease}.chip.active,.chip:hover{border-color:var(--accent)}.chip.active{background:var(--card-checked);color:var(--accent);font-weight:600}.chip-count{font-size:10.5px;background:var(--badge-bg);color:var(--muted);padding:1px 6px;border-radius:999px}.chip.active .chip-count{color:var(--accent)}.chip-shiny{margin-left:auto;border-style:dashed}.chip-shiny.active{background:var(--card-checked);border-style:solid;border-color:var(--accent);color:var(--accent)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:10px;gap:10px}.source-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;margin-top:6px}.source-tag{font-size:9.5px;background:var(--badge-bg);color:var(--muted);padding:1px 6px;border-radius:999px;white-space:nowrap}.card.checked .source-tag{background:rgba(255,203,5,.15)}.cel-tag{background:rgba(61,125,202,.18);color:var(--accent2);font-weight:600}.uncertain{color:var(--muted);font-weight:400;margin-left:3px;cursor:help}.avail{margin-top:6px;font-size:10px;font-weight:600;display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px}.avail--available{color:#34d399;background:rgba(52,211,153,.14)}.avail--upcoming{color:var(--accent2);background:rgba(61,125,202,.16)}.avail--ended{color:var(--muted);background:var(--badge-bg)}.avail-dot{width:6px;height:6px;border-radius:50%;background:#34d399;box-shadow:0 0 0 0 rgba(52,211,153,.6);animation:pulse 1.8s infinite}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(52,211,153,.5)}70%{box-shadow:0 0 0 5px rgba(52,211,153,0)}to{box-shadow:0 0 0 0 rgba(52,211,153,0)}}.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:12px 10px;text-align:center;cursor:pointer;transition:transform .15s ease,background .2s ease,border-color .2s ease;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.card:active{transform:scale(.96)}.card.checked{background:var(--card-checked);border-color:var(--accent)}.card .thumb{width:116px;height:116px;object-fit:contain;display:block;margin:0 auto;image-rendering:pixelated}.card:not(.checked) .thumb{filter:brightness(.9) opacity(.6)}.card .emoji{font-size:30px;margin-bottom:6px;filter:grayscale(1) brightness(.7) opacity(.6)}.card.checked .emoji{filter:none}.card .name{font-size:11.5px;line-height:1.25;color:var(--text)}.card.checked .name{color:var(--accent);font-weight:600}.check-dot{position:absolute;top:6px;right:6px;width:18px;height:18px;border-radius:50%;border:2px solid hsla(0,0%,100%,.25);display:flex;align-items:center;justify-content:center;font-size:11px;background:var(--check-dot-bg)}.card.checked .check-dot{background:var(--accent);border-color:var(--accent);color:var(--check-dot-text)}.locked{opacity:.45;cursor:not-allowed}.footer-note{margin-top:30px;font-size:11.5px;color:var(--muted);text-align:center;line-height:1.5}.footer-note code{background:var(--badge-bg);padding:1px 5px;border-radius:4px}.loading{text-align:center;color:var(--muted);padding:60px 0;font-size:13px}.shiny-toggle{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted);cursor:pointer;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}.shiny-toggle input{accent-color:var(--accent);width:15px;height:15px;cursor:pointer}.theme-toggle{position:absolute;top:16px;right:16px;background:var(--card);border:1px solid var(--border);color:var(--text);width:40px;height:40px;border-radius:50%;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease,border-color .2s ease,transform .15s ease}.theme-toggle:hover{border-color:var(--accent)}.theme-toggle:active{transform:scale(.92)}@media (max-width:600px){.theme-toggle{top:12px;right:12px;width:36px;height:36px;font-size:16px}.header{padding-top:44px}}