: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}.back-btn,.dex-card,.drawer-item,.event-card{text-decoration:none}.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;display:flex;align-items:center;justify-content:center;gap:8px}.title-ic{color:var(--accent);-webkit-text-fill-color:var(--accent);display:inline-flex;align-items:center}.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)}.gender-stats{display:grid;grid-template-columns:auto auto auto;justify-content:start;grid-column-gap:16px;column-gap:16px;grid-row-gap:3px;row-gap:3px;font-size:12px;font-weight:600;margin-top:6px}.gs-row{display:contents}.gs-label{color:var(--muted);font-weight:500}.gender-stats .g-male{color:#7db3ec}.gender-stats .g-female{color:#ec89ac}.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;display:inline-flex;align-items:center;gap:6px}.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}.flip-btn{position:absolute;top:6px;left:6px;width:22px;height:22px;border-radius:50%;border:1px solid var(--border);background:var(--check-dot-bg);color:var(--muted);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;z-index:2}.flip-btn:hover{color:var(--accent);border-color:var(--accent)}.card.flipped{cursor:default}.card-back{position:absolute;inset:0;display:none}.card.flipped .card-front{visibility:hidden}.card.flipped .card-back{display:block}.grid-dex .card{min-height:184px}.gender-back{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:6px 4px}.gender-title{font-size:12px;font-weight:600;color:var(--text);text-align:center}.gender-opts{display:flex;flex-direction:column;gap:8px;width:100%;padding:0 6px}.gender-opt{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;border-radius:10px;border:1px solid var(--border);background:var(--card);color:var(--muted);font-size:12.5px;font-weight:600;cursor:pointer}.gender-opt .gender-sym{display:inline-flex;align-items:center}.gender-opt--male.on{border-color:#3d7dca;background:rgba(61,125,202,.16);color:#7db3ec}.gender-opt--female.on{border-color:#d4537e;background:rgba(212,83,126,.16);color:#ec89ac}.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}.footer-note a{color:var(--accent);text-decoration:none;font-weight:600}.footer-note a:hover{text-decoration:underline}.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}.migrate-bar{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px 16px;background:var(--card-checked);border-bottom:1px solid var(--border);padding:10px 16px;font-size:13px}.migrate-bar,.migrate-text{color:var(--text)}.migrate-actions{display:flex;align-items:center;gap:8px}.migrate-btn{background:var(--accent);color:#2b1a4a;border:none;padding:7px 14px;border-radius:999px;font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap}.migrate-btn:hover{filter:brightness(1.05)}.migrate-x{background:transparent;border:none;color:var(--muted);cursor:pointer;font-size:13px;padding:4px 6px;line-height:1}.menu-btn,.migrate-x:hover{color:var(--text)}.menu-btn{position:absolute;top:16px;left:16px;background:var(--card);border:1px solid var(--border);width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease,border-color .2s ease,transform .15s ease}.menu-btn:hover{border-color:var(--accent)}.menu-btn:active{transform:scale(.92)}.drawer-scrim{position:fixed;inset:0;background:rgba(0,0,0,.5);opacity:0;pointer-events:none;transition:opacity .25s ease;z-index:40}.drawer-scrim.open{opacity:1;pointer-events:auto}.drawer{position:fixed;top:0;bottom:0;left:0;width:250px;max-width:80vw;background:var(--bg);border-right:1px solid var(--border);transform:translateX(-100%);transition:transform .25s ease;z-index:50;padding:16px 12px;overflow-y:auto}.drawer.open{transform:translateX(0)}.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:4px 8px 14px}.drawer-brand{font-size:15px;font-weight:700;color:var(--accent);display:inline-flex;align-items:center;gap:8px}.brand-logo{display:block;width:46px;height:46px}.drawer-close{background:transparent;border:none;color:var(--muted);font-size:15px;cursor:pointer;padding:4px 8px;border-radius:8px}.drawer-close:hover{color:var(--text);background:var(--card)}.drawer-group{margin-bottom:14px}.drawer-group-title{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:6px 10px}.drawer-item{display:flex;align-items:center;gap:10px;width:100%;padding:11px 10px;border:none;border-radius:10px;background:transparent;color:var(--muted);font-size:14px;cursor:pointer;margin-bottom:3px;text-align:left}.drawer-item:hover{background:var(--card);color:var(--text)}.drawer-item.active{background:var(--card-checked);color:var(--accent);font-weight:600}.drawer-emoji{font-size:16px}.back-btn{display:inline-flex;align-items:center;gap:6px;background:var(--card);border:1px solid var(--border);color:var(--muted);font-size:13px;cursor:pointer;padding:7px 12px;margin:48px 0 10px;border-radius:999px}.back-btn:hover{color:var(--accent)}.events-list{display:flex;flex-direction:column;gap:12px;margin-top:8px}.event-card{display:flex;align-items:stretch;width:100%;text-align:left;background:var(--card);border:1px solid var(--border);border-radius:14px;padding:0;overflow:hidden;cursor:pointer;color:var(--text);transition:background .2s ease,border-color .2s ease,transform .15s ease}.event-card:hover{border-color:var(--accent);background:var(--card-checked)}.event-card:active{transform:scale(.99)}.event-ic{position:relative;flex:0 0 auto;align-self:stretch;width:110px;min-height:96px;background:rgba(255,203,5,.14);color:var(--accent);display:flex;align-items:center;justify-content:center;overflow:hidden}.event-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.event-ic-fallback{align-items:center;justify-content:center}.event-body{flex:1 1;display:flex;flex-direction:column;gap:3px;min-width:0;padding:14px 4px 14px 16px}@media (min-width:640px){.event-ic{width:180px}}.event-title{font-size:16px;font-weight:600;color:var(--text)}.event-dates{font-size:12px;color:var(--accent)}.event-summary{font-size:12.5px;color:var(--muted);line-height:1.45;margin-top:2px}.event-body .avail{align-self:flex-start;margin-top:6px}.event-chevron{flex:0 0 auto;color:var(--muted);display:flex;align-items:center;padding-right:14px}.dex-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:12px;gap:12px;margin-top:8px}.dex-card{display:flex;flex-direction:column;align-items:center;gap:8px;background:var(--card);border:1px solid var(--border);border-radius:16px;padding:18px 12px;cursor:pointer;color:var(--text);transition:background .2s ease,border-color .2s ease,transform .15s ease}.dex-card:not(.locked):hover{border-color:var(--accent);background:var(--card-checked)}.dex-card:not(.locked):active{transform:scale(.97)}.dex-card.locked{cursor:default;opacity:.5}.dex-ic{width:84px;height:84px;display:flex;align-items:center;justify-content:center;color:var(--muted)}.dex-img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.dex-name{font-size:13.5px;font-weight:600;color:var(--text)}.dex-card.locked .dex-name{color:var(--muted);font-weight:400}.changelog{margin-top:12px}.log-entry{border-left:2px solid var(--accent);padding:2px 0 2px 14px;margin:0 0 22px}.log-date{font-size:11px;letter-spacing:.04em;color:var(--muted)}.log-title{font-size:16px;font-weight:600;margin:3px 0 6px;color:var(--text)}.log-changes{margin:0;padding-left:18px;color:var(--muted);font-size:13.5px;line-height:1.6}.log-changes li{margin-bottom:3px}.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}}