:root{color-scheme:light;--ink:#172033;--muted:#697386;--paper:#f3f6fb;--panel:#fff;--line:#dfe5ee;--purple:#5b45e6;--purple-soft:#f0edff;--owned:#08a678;--ir:#8a2be2;--rare:#e3a008;--missing:#7b8798;--shadow:0 12px 32px rgba(34,48,73,.08)}
*{box-sizing:border-box}html{min-width:320px;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body{min-height:100vh;margin:0;background:radial-gradient(circle at 88% -12%,rgba(91,69,230,.11),transparent 34rem),var(--paper)}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}a{color:inherit}.app{max-width:1500px;margin:auto;padding:22px 28px 44px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}
.masthead{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:8px 2px 20px}.identity{display:flex;align-items:center;gap:14px;text-decoration:none}.pokeball{width:46px;height:46px;flex:0 0 auto;border:3px solid #f06262;border-radius:14px;position:relative;background:linear-gradient(#f24f55 0 46%,#202938 46% 54%,#fff 54%);box-shadow:0 5px 14px rgba(91,69,230,.13)}.pokeball:after{content:"";position:absolute;width:12px;height:12px;border:3px solid #202938;background:#fff;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}.title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.title{font-size:22px;font-weight:850;letter-spacing:-.025em}.count-chip{font-size:12px;font-weight:800;color:var(--purple);background:var(--purple-soft);border:1px solid #d9d1ff;border-radius:999px;padding:4px 10px}.subtitle{display:block;font-size:13px;color:var(--muted);margin-top:3px}.progress-wrap{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);padding:9px 16px;border-radius:18px;box-shadow:0 7px 20px rgba(34,48,73,.06)}.ring{--p:0;width:76px;height:76px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--owned) calc(var(--p)*1%),#e6ebf2 0);position:relative}.ring:before{content:"";position:absolute;inset:6px;border-radius:50%;background:#fff}.ring-copy{position:relative;display:grid;place-items:center;line-height:1.05;text-align:center}.ring-copy strong{font-size:15px}.ring-copy small{margin-top:5px;color:#277758;font-size:7.5px;font-weight:900;max-width:58px}.progress-copy small{display:block;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:800;font-size:9px}.progress-copy strong{font-size:14px}.progress-copy span{color:#9aa3b2;font-size:11px}
.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);padding:0 2px 12px;overflow-x:auto;scrollbar-width:thin}.tab{border:0;background:transparent;color:#596579;font-weight:760;padding:10px 15px;border-radius:12px;white-space:nowrap}.tab:hover{background:#f6f4ff;color:var(--purple)}.tab.active{background:var(--purple-soft);color:var(--purple)}.tab .badge{font-size:10px;background:#e7e9ee;border-radius:999px;padding:2px 7px;margin-left:5px;color:#475267}
.version-chip{font-size:11px;font-weight:850;color:#fff;background:var(--purple);border-radius:999px;padding:4px 8px}.sheet-link{text-decoration:none;border:1px solid #d8d2ff;margin-left:auto}.sheet-link:hover{border-color:#aa9df9}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0}.stat{padding:18px 18px 16px;position:relative;overflow:hidden}.stat-head{display:flex;justify-content:space-between;align-items:center;text-transform:uppercase;letter-spacing:.11em;color:#6a7586;font-weight:850;font-size:10px}.stat-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;font-weight:900}.stat-value{font-size:25px;font-weight:850;margin:10px 0 7px}.stat-value small{font-size:12px;margin-left:5px}.bar{height:5px;background:#edf0f5;border-radius:99px;overflow:hidden}.bar>i{display:block;height:100%;width:0;border-radius:inherit}.owned .stat-icon{background:#e7faf3;color:#111827}.owned .stat-value small{color:var(--owned)}.owned .bar>i{background:var(--owned)}.ir .stat-icon{background:#f4eaff;color:#f2c94c}.ir .stat-value small{color:var(--ir)}.ir .bar>i{background:var(--ir)}.rare .stat-icon{background:#6b7280;color:#fff;font-size:11px}.rare .stat-value small{color:var(--rare)}.rare .bar>i{background:var(--rare)}.missing .stat-icon{background:#eef1f5;color:var(--missing)}.missing .stat-value small{color:var(--missing)}.missing .bar>i{background:var(--missing)}
.view{display:none}.view.active{display:block}.controls{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 18px;margin-bottom:10px}.page-nav,.jump,.layout-toggle{display:flex;align-items:center;gap:8px}.nav-btn{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:#fff;color:#5f6b7e;font-weight:900}.nav-btn:hover:not(:disabled){border-color:#b5aaf4;color:var(--purple)}.page-label{font-weight:800;font-size:13px;min-width:130px;text-align:center}.controls select,.filterbar select,.filterbar input,.detail-toolbar select{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:11px;padding:9px 12px;outline:none}.controls select:focus,.filterbar select:focus,.filterbar input:focus,.detail-toolbar select:focus{border-color:#a99af8;box-shadow:0 0 0 3px rgba(91,69,230,.10)}.jump label{font-size:12px;color:var(--muted);font-weight:750}.layout-toggle{background:#f0f2f6;border-radius:12px;padding:3px}.layout-btn{border:0;background:transparent;color:#647084;padding:7px 12px;border-radius:9px;font-size:12px;font-weight:800;white-space:nowrap}.layout-btn.active{background:#fff;color:var(--purple);box-shadow:0 2px 8px rgba(34,48,73,.10)}.binder-note{margin:0 4px 10px;color:var(--muted);font-size:12px}.binder-scroll{overflow-x:auto;overscroll-behavior-x:contain;padding:0 0 12px;scrollbar-color:#b9c1cf transparent}.binder{display:grid;gap:18px;width:max-content;min-width:100%}.binder.layout-1{grid-template-columns:700px}.binder.layout-2{grid-template-columns:repeat(2,700px)}.binder.layout-4{grid-template-columns:repeat(2,700px)}
.binder-page{width:700px;padding:14px 16px 16px;border-radius:23px;background:#fff;border:2px solid #d6dee9;box-shadow:var(--shadow)}.binder-head{display:flex;justify-content:space-between;align-items:center;padding:0 1px 12px;font-size:12px}.binder-head strong{font-size:14px}.page-number{display:inline-grid;place-items:center;width:24px;height:24px;background:var(--purple);color:#fff;border-radius:8px;margin-right:7px}.binder-range{color:#7a8494;font-weight:750}.binder-page-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.pokemon-card{appearance:none;min-width:0;height:190px;border-radius:12px;border:1.5px solid #e0e5ec;background:#fff;position:relative;display:flex;flex-direction:column;overflow:hidden;padding:7px 7px 6px;color:var(--ink);text-align:left;transition:transform .14s ease,box-shadow .14s ease}.pokemon-card:hover,.pokemon-card:focus-visible{transform:translateY(-2px);box-shadow:0 7px 18px rgba(29,42,65,.14);z-index:2;outline:3px solid rgba(91,69,230,.18)}.pokemon-card.status-owned{background:#fbfff5;border-color:#edd35c}.pokemon-card.status-ir{background:#fcf7ff;border-color:#d2a3f4}.pokemon-card.status-high-rarity{background:#fffaf0;border-color:#f0bf54}.pokemon-card.status-not-owned{background:#f7f8fa;border-color:#cbd2dc}.card-top{display:flex;justify-content:space-between;align-items:center;font-size:9px;font-weight:850;color:#526072;min-height:21px}.card-id{display:flex;align-items:center;gap:5px;min-width:0}.dex-number{white-space:nowrap}.region-tag{display:inline-flex;align-items:center;max-width:58px;padding:2px 4px;border-radius:999px;background:#edf1f6;color:#6c7788;font-size:6.5px;line-height:1;font-weight:850;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-mark{min-width:24px;height:21px;display:grid;place-items:center;color:#9aa3b0;font-weight:900}.status-ir .status-mark{color:#f2b700;font-size:16px}.status-high-rarity .status-mark{color:#6b7280;font-size:8px}.status-owned .status-mark{color:#111827}.status-not-owned .status-mark{color:var(--missing)}.sprite-wrap{flex:1;min-height:76px;display:grid;place-items:center;position:relative;margin:2px 0}.sprite{width:100%;height:84px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 4px 4px rgba(26,37,54,.12));opacity:0;transition:opacity .18s}.sprite.loaded{opacity:1}.sprite-skeleton{position:absolute;width:68%;height:68%;border-radius:15px;background:linear-gradient(90deg,#eef1f5 25%,#f8f9fb 45%,#eef1f5 65%);background-size:220% 100%;animation:shimmer 1.25s infinite}.sprite-wrap.ready .sprite-skeleton{display:none}@keyframes shimmer{to{background-position:-220% 0}}.poke-name{display:block;width:100%;font-size:10px;font-weight:850;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:1px 0 4px}.types{display:flex;justify-content:center;gap:3px;min-height:15px}.type{font-size:8px;font-weight:750;padding:2px 6px;border-radius:999px;color:#172033;background:color-mix(in srgb,var(--type) 24%,white);border:1px solid color-mix(in srgb,var(--type) 42%,white)}.card-footer{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-top:5px;padding-top:5px;border-top:1px solid rgba(113,123,140,.16);font-size:7.5px;font-weight:850}.card-footer .card-status{color:#596579}.card-footer .options{color:var(--purple)}
.filterbar{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:12px;padding:14px;margin-bottom:16px}.field label{display:block;font-size:9px;font-weight:850;letter-spacing:.1em;text-transform:uppercase;color:#758093;margin:0 0 5px}.field input,.field select{width:100%}.explorer-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;margin:4px 3px 12px}.explorer-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px}.explorer-grid .pokemon-card{height:205px}.explorer-pages{display:flex;justify-content:center;align-items:center;gap:12px;margin:20px 0}
.analytics-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.kpi{padding:18px}.kpi small{display:block;color:var(--muted);font-size:10px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}.kpi strong{display:block;font-size:24px;margin-top:7px}.kpi span{display:block;color:var(--muted);font-size:11px;margin-top:3px}.analytics-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.analytics-card{padding:20px}.analytics-card.wide{grid-column:1/-1}.section-title{font-size:16px;margin:0 0 4px}.section-sub{font-size:12px;color:var(--muted);margin:0 0 18px}.status-pie-wrap{display:grid;grid-template-columns:minmax(150px,190px) 1fr;align-items:center;gap:24px}.status-pie{width:100%;max-width:190px;aspect-ratio:1;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(23,32,51,.08),0 10px 24px rgba(34,48,73,.12)}.pie-legend{display:grid;gap:10px}.pie-row{display:grid;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:9px;font-size:12px}.pie-swatch{width:12px;height:12px;border-radius:4px}.pie-label{font-weight:750}.pie-value{text-align:right;font-weight:850}.pie-value small{display:block;color:var(--muted);font-size:9px;font-weight:700}.type-list{display:grid;grid-template-columns:1fr 1fr;gap:9px 16px}.type-line{display:grid;grid-template-columns:100px 1fr 30px;align-items:center;gap:7px;font-size:11px}.type-name{display:flex;align-items:center;gap:7px;font-weight:750}.type-logo{--type:#9fa19f;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--type);box-shadow:inset 0 0 0 1px rgba(255,255,255,.25),0 2px 5px rgba(23,32,51,.12);flex:0 0 auto}.type-logo svg{width:15px;height:15px;color:#fff;overflow:visible}.metric-track{height:9px;border-radius:99px;background:#edf0f5;overflow:hidden}.metric-fill{height:100%;border-radius:inherit}.gen-table{width:100%;border-collapse:collapse;font-size:12px}.gen-table th,.gen-table td{text-align:left;padding:10px 8px;border-bottom:1px solid #edf0f4}.gen-table th{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.09em}.gen-table td:last-child,.gen-table th:last-child{text-align:right}.generation-intro{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:14px;padding:20px 22px}.generation-intro span{color:var(--purple);font-size:10px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.generation-intro h1{margin:4px 0 0;font-size:22px}.generation-intro p{max-width:590px;margin:0;color:var(--muted);font-size:13px;line-height:1.5}.generation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.generation-card{padding:20px}.gen-top{display:flex;justify-content:space-between;align-items:start}.gen-num{width:38px;height:38px;border-radius:12px;background:var(--purple-soft);color:var(--purple);display:grid;place-items:center;font-weight:900}.gen-name{font-weight:850;font-size:16px}.gen-region{font-size:11px;color:var(--muted)}.gen-count{font-size:22px;font-weight:850;margin:17px 0 4px}.gen-count small{font-size:11px;color:var(--muted)}.gen-market{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:2px 12px;margin:0 0 12px;padding:10px 12px;border:1px solid #d9d1ff;border-radius:11px;background:linear-gradient(135deg,#f8f6ff,#fff)}.gen-market span{color:#6759ba;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.gen-market strong{color:var(--purple);font-size:18px}.gen-market small{grid-column:1/-1;color:var(--muted);font-size:9px}.gen-stack{display:flex;height:8px;overflow:hidden;border-radius:999px;background:#edf0f5}.gen-stack i{display:block;height:100%}.gen-status-list{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;margin-top:15px;padding-top:14px;border-top:1px solid #edf0f4}.gen-status-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px}.gen-status-row span{display:flex;align-items:center;gap:6px;color:#5f6b7e}.gen-status-row span i{width:8px;height:8px;border-radius:50%;flex:0 0 auto}.gen-status-row strong{font-size:13px}
.detail{display:none}.detail-mode #workspace,.detail-mode .tabs,.detail-mode .stats{display:none}.detail-mode .detail{display:block}.back{border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);padding:10px 15px;font-weight:850;box-shadow:0 5px 16px rgba(34,48,73,.06)}.detail-hero{display:flex;justify-content:space-between;align-items:center;gap:22px;margin:14px 0 20px;padding:22px 28px;border-radius:22px;background:linear-gradient(135deg,#fff,#f1edff);border:1px solid #ded8ff}.detail-pokemon{display:flex;align-items:center;gap:20px}.detail-pokemon img{width:128px;height:128px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 7px 6px rgba(34,48,73,.15))}.detail-eyebrow{display:block;color:var(--purple);font-size:11px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.detail h1{margin:4px 0 8px;font-size:36px}.detail-types,.form-list{display:flex;gap:7px;flex-wrap:wrap}.detail-types .type{font-size:11px;padding:4px 9px}.form-list{margin-top:9px}.form-chip{font-size:9px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;padding:4px 8px;border-radius:999px;color:#6656bd;background:#eeebff;border:1px solid #d4cdfb}.card-form{display:inline-flex;margin:7px 0 0;padding:3px 7px;border-radius:999px;background:#eeebff;color:#6656bd;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.detail-summary{display:grid;grid-template-columns:repeat(3,auto);gap:10px}.detail-metric{min-width:110px;padding:14px;border-radius:14px;background:#fff;border:1px solid var(--line);box-shadow:0 6px 18px rgba(34,48,73,.05)}.detail-metric small{display:block;color:var(--muted);font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.detail-metric strong{display:block;margin-top:4px;font-size:18px}.detail-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.detail-toolbar strong,.detail-toolbar small{display:block}.detail-toolbar small{margin-top:3px;color:var(--muted);font-size:12px}.premium-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.premium-card{position:relative;overflow:hidden;border:1px solid #e0e5ed;border-radius:17px;background:#fff;box-shadow:0 8px 24px rgba(34,48,73,.06)}.premium-card.owned{border:2px solid #2da976;box-shadow:0 8px 24px rgba(45,169,118,.13)}.owned-ribbon{position:absolute;z-index:2;top:12px;left:12px;background:#2da976;color:#fff;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900}.card-art{height:390px;padding:16px;background:#eef1f6;display:flex;align-items:center;justify-content:center}.card-art img{width:100%;height:100%;object-fit:contain}.premium-body{padding:16px}.set-line{display:block;font-size:11px;font-weight:900;letter-spacing:.07em;color:#69758a;text-transform:uppercase}.premium-card h2{margin:7px 0 2px;font-size:18px}.card-number{margin:0;color:var(--muted);font-size:13px}.market{display:flex;justify-content:space-between;align-items:end;gap:12px;border-top:1px solid #e0e5ec;margin-top:14px;padding-top:13px}.market span{display:block;font-size:10px;font-weight:900;color:#758095;letter-spacing:.08em}.market strong{display:block;font-size:24px;margin-top:3px}.market small{text-align:right;color:#8790a1;font-size:10px}.owned-value{margin-top:11px;background:#e8f7f0;color:#277758;border-radius:9px;padding:8px 9px;font-size:12px;font-weight:850}.source{display:flex;justify-content:space-between;margin-top:12px;color:var(--purple);font-size:12px;font-weight:850;text-decoration:none}.source:hover{text-decoration:underline}.source.unavailable{color:#8790a1}.empty,.loading-shell{grid-column:1/-1;text-align:center;padding:58px 20px;color:var(--muted);background:#fff;border:1px dashed #cfd7e3;border-radius:18px}footer{display:flex;justify-content:space-between;gap:18px;margin-top:30px;padding:18px 2px 0;color:#8992a2;font-size:12px}
.ownership-control{display:grid;grid-template-columns:1fr minmax(130px,auto);align-items:center;gap:12px;margin-top:14px;padding:11px 12px;border:1px solid #dfe5ee;border-radius:12px;background:#f8fafc}.ownership-control>span{font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#69758a}.ownership-select{width:100%;border:1px solid #cfd7e3;background:#fff;color:var(--ink);border-radius:9px;padding:8px 10px;font-size:13px;font-weight:800;outline:none}.ownership-select:focus{border-color:#8f7ff0;box-shadow:0 0 0 3px rgba(91,69,230,.12)}.premium-card.owned .ownership-control{border-color:#b9e4d2;background:#f3fbf7}.premium-card.saving{opacity:.66}.save-toast{position:fixed;z-index:50;right:24px;bottom:24px;max-width:min(360px,calc(100vw - 32px));padding:13px 17px;border-radius:12px;background:#163d31;color:#fff;font-size:14px;font-weight:800;box-shadow:0 12px 32px rgba(23,32,51,.24);opacity:0;transform:translateY(10px);transition:.18s ease}.save-toast.failed{background:#8f2d38}.save-toast.visible{opacity:1;transform:translateY(0)}
.pokemon-status-control{display:grid;grid-template-columns:auto minmax(175px,1fr);align-items:center;gap:5px 10px;margin-top:12px;padding:10px 12px;border:1px solid #d9d2ff;border-radius:12px;background:#f7f5ff;max-width:390px}.pokemon-status-control>span{font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#6656bd}.pokemon-status-control select{border:1px solid #c8bff7;background:#fff;color:var(--ink);border-radius:9px;padding:8px 10px;font-size:13px;font-weight:850;outline:none}.pokemon-status-control select:focus{border-color:#8f7ff0;box-shadow:0 0 0 3px rgba(91,69,230,.12)}.pokemon-status-control small{grid-column:1/-1;color:#6c7788;font-size:10px}.pokemon-status-control.saving{opacity:.62}
.version-mode .stats{display:none}.version-head{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:25px 28px;margin-bottom:16px;background:linear-gradient(135deg,#fff,#f1edff)}.version-eyebrow{display:block;color:var(--purple);font-size:11px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.version-head h1{margin:4px 0;font-size:30px}.version-head p{margin:0;color:var(--muted);font-size:14px}.sheet-button{display:flex;align-items:center;justify-content:space-between;gap:20px;min-width:230px;padding:12px 15px;border-radius:12px;background:var(--purple);color:#fff;text-decoration:none;font-size:13px;font-weight:850;box-shadow:0 8px 18px rgba(91,69,230,.2)}.sheet-button:hover{background:#4935ca}.version-list{display:grid;gap:12px}.version-entry{display:grid;grid-template-columns:66px 1fr;gap:18px;padding:20px 22px}.version-entry.current{border:2px solid #8f7ff0}.version-marker{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;background:var(--purple-soft);color:var(--purple);font-size:18px;font-weight:900}.current .version-marker{background:var(--purple);color:#fff}.version-title{display:flex;align-items:start;justify-content:space-between;gap:18px}.version-title h2{margin:2px 0 8px;font-size:18px}.version-title time{color:var(--muted);font-size:12px;white-space:nowrap}.version-entry ul{margin:0;padding-left:19px;color:#556174;font-size:14px;line-height:1.65}
.guildmark{width:46px;height:46px;flex:0 0 auto;display:grid;grid-template-columns:repeat(2,1fr);gap:4px;padding:7px;border:1px solid #cfc7ff;border-radius:14px;background:linear-gradient(145deg,#fff,#f0edff);box-shadow:0 7px 18px rgba(91,69,230,.16);transform:rotate(3deg)}
.guildmark i{display:block;border-radius:4px;background:linear-gradient(135deg,#58d9d0,#795fe9 56%,#ef70cf)}
.guildmark i:nth-child(2),.guildmark i:nth-child(3){opacity:.55}
.guild-home{border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--purple);padding:9px 12px;font-size:12px;font-weight:850;text-decoration:none;box-shadow:0 5px 16px rgba(34,48,73,.06)}
.guild-home:hover{border-color:#a99af8}
.header-actions{display:flex;align-items:center;gap:10px}.theme-toggle{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--ink);padding:9px 12px;font-size:12px;font-weight:850;box-shadow:0 5px 16px rgba(34,48,73,.06)}.theme-toggle:hover{border-color:#a99af8;color:var(--purple)}.theme-toggle span[aria-hidden]{font-size:17px;line-height:1}
[data-theme="dark"]{color-scheme:dark;--ink:#ecf1fb;--muted:#a9b3c3;--paper:#0d111a;--panel:#171d28;--line:#2b3545;--purple:#9a8cff;--purple-soft:#292542;--owned:#35d29d;--ir:#c18cff;--rare:#f4bf45;--missing:#8995a7;--shadow:0 14px 34px rgba(0,0,0,.3)}
[data-theme="dark"] body{background:radial-gradient(circle at 88% -12%,rgba(126,107,255,.18),transparent 34rem),var(--paper)}
[data-theme="dark"] .progress-wrap,[data-theme="dark"] .ring:before,[data-theme="dark"] .nav-btn,[data-theme="dark"] .controls select,[data-theme="dark"] .filterbar select,[data-theme="dark"] .filterbar input,[data-theme="dark"] .detail-toolbar select,[data-theme="dark"] .layout-btn.active,[data-theme="dark"] .binder-page,[data-theme="dark"] .back,[data-theme="dark"] .detail-metric,[data-theme="dark"] .premium-card,[data-theme="dark"] .ownership-select,[data-theme="dark"] .pokemon-status-control select,[data-theme="dark"] .empty,[data-theme="dark"] .loading-shell{background:#171d28;color:var(--ink)}
[data-theme="dark"] .ring{background:conic-gradient(var(--owned) calc(var(--p)*1%),#2d3748 0)}
[data-theme="dark"] .tabs,[data-theme="dark"] .market,[data-theme="dark"] .card-footer,[data-theme="dark"] .gen-table th,[data-theme="dark"] .gen-table td,[data-theme="dark"] .gen-status-list{border-color:var(--line)}
[data-theme="dark"] .tab:hover{background:#211e35}[data-theme="dark"] .tab .badge,[data-theme="dark"] .region-tag{background:#252e3c;color:#bdc6d5}[data-theme="dark"] .layout-toggle,[data-theme="dark"] .metric-track,[data-theme="dark"] .gen-stack,[data-theme="dark"] .bar{background:#252e3c}
[data-theme="dark"] .pokemon-card{background:#171d28;border-color:#354154;color:var(--ink)}[data-theme="dark"] .pokemon-card.status-owned{background:#19241f;border-color:#756a2e}[data-theme="dark"] .pokemon-card.status-ir{background:#251d2e;border-color:#68477f}[data-theme="dark"] .pokemon-card.status-high-rarity{background:#282217;border-color:#7c6130}[data-theme="dark"] .pokemon-card.status-not-owned{background:#151a23;border-color:#3a4556}
[data-theme="dark"] .card-top,[data-theme="dark"] .card-footer .card-status,[data-theme="dark"] .gen-status-row span,[data-theme="dark"] .version-entry ul{color:#b5c0d0}[data-theme="dark"] .sprite-skeleton{background:linear-gradient(90deg,#222b39 25%,#303b4c 45%,#222b39 65%);background-size:220% 100%}
[data-theme="dark"] .gen-market,[data-theme="dark"] .detail-hero,[data-theme="dark"] .version-head{background:linear-gradient(135deg,#1b2130,#24203a);border-color:#3e376b}[data-theme="dark"] .gen-market span,[data-theme="dark"] .gen-market strong{color:#b8adff}
[data-theme="dark"] .card-art{background:#111720}[data-theme="dark"] .ownership-control{background:#141a24;border-color:#303b4c}[data-theme="dark"] .premium-card.owned .ownership-control{background:#14251f;border-color:#2f6c55}[data-theme="dark"] .owned-value{background:#17372c;color:#79d9b3}[data-theme="dark"] .pokemon-status-control{background:#211e35;border-color:#494175}[data-theme="dark"] .form-chip,[data-theme="dark"] .card-form{background:#292542;border-color:#4b4376;color:#c2b9ff}
[data-theme="dark"] .guildmark{background:linear-gradient(145deg,#252a38,#292542);border-color:#4b4376}
@media(max-width:1100px){.explorer-grid{grid-template-columns:repeat(5,1fr)}.generation-grid{grid-template-columns:repeat(2,1fr)}.premium-grid{grid-template-columns:repeat(2,1fr)}.detail-hero{align-items:flex-start;flex-direction:column}.detail-summary{width:100%;grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.app{padding:14px}.masthead{align-items:flex-start}.header-actions{align-items:flex-end;flex-direction:column}.theme-label{display:none}.progress-wrap{padding:7px 10px}.progress-copy{display:none}.stats,.analytics-kpis{grid-template-columns:1fr 1fr}.controls{align-items:stretch;flex-direction:column}.controls>div{justify-content:center}.binder-note{font-size:11px}.filterbar{grid-template-columns:1fr 1fr}.analytics-grid{grid-template-columns:1fr}.analytics-card.wide{grid-column:auto}.explorer-grid{grid-template-columns:repeat(4,1fr)}.type-list{grid-template-columns:1fr}.generation-intro{align-items:flex-start;flex-direction:column;gap:8px}.premium-grid{grid-template-columns:1fr}.detail-toolbar{align-items:stretch;flex-direction:column}.detail-toolbar select{width:100%}.card-art{height:430px}.version-head{align-items:stretch;flex-direction:column}.sheet-button{min-width:0}.sheet-link{margin-left:0}.version-entry{grid-template-columns:52px 1fr;padding:16px}.version-marker{width:46px;height:46px;border-radius:13px}.version-title{flex-direction:column;gap:0}.ownership-control{grid-template-columns:1fr}.save-toast{right:16px;bottom:16px}}
@media(max-width:760px){.guild-home{display:none}}
@media(max-width:500px){.title{font-size:18px}.subtitle{display:none}.ring{width:56px;height:56px}.stats,.analytics-kpis{gap:8px}.stat,.kpi{padding:13px}.stat-value,.kpi strong{font-size:21px}.jump{flex-wrap:wrap}.layout-btn{padding:6px 8px}.filterbar{grid-template-columns:1fr}.explorer-grid{grid-template-columns:repeat(2,1fr)}.generation-grid{grid-template-columns:1fr}.status-pie-wrap{grid-template-columns:1fr}.status-pie{margin:auto;max-width:210px}.detail-pokemon img{width:92px;height:92px}.detail h1{font-size:29px}.detail-summary{grid-template-columns:1fr}.detail-metric{min-width:0}.card-art{height:380px}footer{flex-direction:column}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
