:root{--bg: #2B2A33;--bg-2: #23222b;--bg-card: #3f2f52;--bg-card-hover: #784e9c;--bg-input: #353440;--accent: #d2ace8;--accent-hover: #ab80d1;--accent-dim: rgba(210, 172, 232, .15);--danger: #ff6c6c;--danger-hover: #fca0a0;--success: #4CAF50;--success-hover: #45a049;--neutral: #666;--neutral-hover: #777;--text: #ffffff;--text-muted: #ccc;--text-subtle: #888;--radius: 6px;--radius-lg: 15px}*,*:before,*:after{box-sizing:border-box}.pc-root{background-color:var(--bg);color:var(--text);font-family:Arial,sans-serif;line-height:1.6;min-height:100vh;padding:16px 24px;margin:0;max-width:none}.pc-root h1,.pc-root h2,.pc-root h3{margin:0;font-weight:700}.pc-root p{margin:0}.pc-root a{color:var(--accent);text-decoration:none}.pc-root a:hover{color:var(--accent-hover)}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .3s ease-in}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}.btn{background-color:var(--accent);color:#fff;padding:10px 15px;border:none;cursor:pointer;transition:background-color .3s;border-radius:var(--radius);font-family:Arial,sans-serif;font-size:14px;display:inline-flex;align-items:center;gap:8px;text-decoration:none}.btn:hover{background-color:var(--accent-hover)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.secondary{background-color:var(--neutral)}.btn.secondary:hover{background-color:var(--neutral-hover)}.btn.danger{background-color:var(--danger)}.btn.danger:hover{background-color:var(--danger-hover)}.btn.ghost{background:transparent;color:var(--accent);padding:8px}.btn.ghost:hover{background-color:var(--accent-dim);color:var(--accent-hover)}.btn.sm{padding:6px 10px;font-size:13px}.btn.soft{background-color:#8a8a95;color:#1f1e27}.btn.soft:hover{background-color:#b5b5bf}.inp{background-color:var(--bg-input);border:1px solid transparent;color:#fff;padding:10px 14px;border-radius:var(--radius);font-family:Arial,sans-serif;font-size:14px;width:100%;transition:border-color .2s}.inp:focus{outline:none;border-color:var(--accent)}.inp::placeholder{color:var(--text-subtle)}.top-bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin-bottom:20px;gap:12px}.top-bar>:first-child{justify-self:start}.top-bar>:nth-child(2){justify-self:center}.top-bar>:last-child{justify-self:end}.brand{display:flex;align-items:center;gap:10px;cursor:pointer}.brand-title{font-size:24px;color:var(--accent);letter-spacing:.5px}.collections-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.coll-tile{background-color:var(--bg-card);border-radius:var(--radius-lg);padding:18px;cursor:pointer;transition:background-color .3s,transform .2s;display:flex;flex-direction:column;gap:10px;min-height:180px;position:relative;overflow:hidden;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;touch-action:pan-y;overscroll-behavior:contain}.coll-tile:hover{background-color:var(--bg-card-hover);transform:translateY(-2px)}.coll-tile-cover{position:absolute;right:-20px;top:10px;bottom:10px;width:100px;display:flex;align-items:center;gap:-40px;opacity:.9;pointer-events:none}.coll-tile-cover img{width:72px;height:auto;border-radius:4px;box-shadow:0 4px 12px #0006;transform:rotate(6deg)}.coll-tile h2{font-size:18px;color:#fff;max-width:75%}.coll-tile-meta{font-size:13px;color:var(--text-muted);max-width:75%}.coll-tile-stats{display:flex;justify-content:space-between;font-size:12px;color:var(--text-muted)}.coll-tile-stats strong{color:#fff}.progress-bg{background-color:#0000004d;height:8px;border-radius:4px;overflow:hidden}.progress-fill{background-color:var(--accent);height:100%;transition:width .5s ease}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}.pkm{background-color:var(--bg-card);border-radius:var(--radius);padding:6px;cursor:pointer;transition:all .25s ease;display:flex;flex-direction:column;gap:6px;position:relative;border:2px solid transparent}.pkm:hover{transform:translateY(-4px);background-color:var(--bg-card-hover)}.pkm.owned{border-color:var(--accent);box-shadow:0 0 0 2px #d2ace833,0 4px 12px #0006}.pkm.missing .pkm-img-wrap img{opacity:.55;filter:saturate(.5)}.pkm-img-wrap{position:relative;width:100%;aspect-ratio:63/88;background-color:#00000040;border-radius:4px;overflow:hidden}.pkm-img-wrap img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity .3s,filter .3s}.pkm-owned-badge{position:absolute;top:6px;right:6px;background-color:var(--accent);color:var(--bg);width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;box-shadow:0 2px 6px #0006}.pkm-info{padding:2px 4px 4px;font-size:12px}.pkm-name{font-size:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff}.pkm-row{display:flex;justify-content:space-between;color:var(--text-muted);font-size:11px;margin-top:2px}.pkm-price{color:var(--accent);font-weight:700}.pkm-add{background-color:transparent;border:2px dashed rgba(210,172,232,.35);border-radius:var(--radius);aspect-ratio:63/88;cursor:pointer;transition:all .25s ease;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--accent);gap:6px;font-size:13px}.pkm-add:hover{background-color:#d2ace81a;border-color:var(--accent);transform:translateY(-4px)}.title-edit{background:transparent;border:none;color:#fff;font-family:Arial,sans-serif;font-size:22px;font-weight:700;padding:4px 8px;border-radius:var(--radius);width:auto;min-width:200px;transition:background-color .2s}.title-edit:hover{background-color:#ffffff0d}.title-edit:focus{outline:none;background-color:var(--bg-card)}.search-header{position:sticky;top:-28px;background:var(--bg);margin:-28px -28px 16px;padding:20px 28px 12px;border-bottom:1px solid var(--bg-card);z-index:2}.search-results-meta{color:var(--text-muted);font-size:12px;margin:8px 0 12px}.pkm.added{border-color:var(--success)!important;box-shadow:0 0 0 2px #4caf5040!important}.pkm-added-badge{position:absolute;top:6px;right:6px;background-color:var(--success);color:#fff;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;box-shadow:0 2px 6px #0006;z-index:2}.pager{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:center;padding:4px 0}.pager-num{background:transparent;border:1px solid var(--bg-card);color:var(--text-muted);padding:6px 12px;border-radius:var(--radius);cursor:pointer;font-family:Arial,sans-serif;font-size:13px;min-width:36px;transition:all .2s}.pager-num:hover{color:var(--accent);border-color:var(--accent)}.pager-num.active{background-color:var(--accent);color:var(--bg);border-color:var(--accent);font-weight:700}.pager-ellipsis{color:var(--text-subtle);padding:0 4px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;align-items:flex-start;justify-content:center;z-index:100;padding:40px 20px;overflow-y:auto;animation:fadeIn .2s ease-in}.modal{background-color:var(--bg);border-radius:var(--radius-lg);padding:28px;max-width:640px;width:100%;border:1px solid var(--bg-card);box-shadow:0 20px 60px #0009}.modal h2{margin-bottom:12px;color:var(--accent)}.tabs{display:flex;gap:4px;margin-bottom:20px;border-bottom:1px solid var(--bg-card)}.tab{padding:10px 14px;cursor:pointer;color:var(--text-muted);border-bottom:2px solid transparent;transition:all .2s;background:none;border-top:none;border-left:none;border-right:none;font-family:Arial,sans-serif;font-size:14px}.tab:hover{color:var(--accent)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.filter-pill{background:transparent;border:1px solid var(--bg-input);color:var(--text-muted);padding:6px 12px;border-radius:999px;cursor:pointer;font-size:13px;font-family:Arial,sans-serif;transition:all .2s}.filter-pill:hover{color:var(--accent);border-color:var(--accent)}.filter-pill.active{background-color:var(--accent);color:var(--bg);border-color:var(--accent);font-weight:700}.fullscreen-center{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:24px;background-color:var(--bg)}.set-tile{background-color:var(--bg-card);border-radius:var(--radius);padding:12px;cursor:pointer;transition:background-color .2s,transform .15s;display:flex;flex-direction:column;gap:8px;min-height:140px}.set-tile:hover{background-color:var(--bg-card-hover);transform:translateY(-2px)}.set-tile-logo{height:60px;display:flex;align-items:center;justify-content:center}.set-tile-logo img{max-height:56px;max-width:100%;object-fit:contain}.set-tile-name{font-size:13px;color:#fff;font-weight:700;line-height:1.3}.set-tile-meta{font-size:11px;color:var(--text-muted);display:flex;justify-content:space-between}.sets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.pokemon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}.pokemon-tile{background-color:var(--bg-card);border-radius:var(--radius);padding:6px 4px;cursor:pointer;text-align:center;transition:background-color .15s,transform .15s;display:flex;flex-direction:column;align-items:center;gap:2px}.pokemon-tile:hover{background-color:var(--bg-card-hover);transform:translateY(-1px)}.pokemon-tile img{width:72px;height:72px;object-fit:contain}.pokemon-tile-name{font-size:12px;color:#fff;text-transform:capitalize;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.pokemon-tile-id{font-size:10px;color:var(--text-subtle)}.empty{text-align:center;padding:80px 20px;color:var(--text-muted);background-color:#d2ace80a;border:2px dashed rgba(210,172,232,.25);border-radius:var(--radius-lg)}.empty>svg{opacity:.5;margin-bottom:16px;color:var(--accent)}.detail-card{display:grid;grid-template-columns:220px 1fr;gap:20px}.detail-card img{width:100%;display:block}.tilt-wrap{perspective:900px;cursor:zoom-in;display:inline-block;width:100%}.tilt-inner{position:relative;--card-radius: 10px;border-radius:var(--card-radius);overflow:hidden;will-change:transform;transform-origin:center center;transition:transform .3s ease-out,box-shadow .3s ease-out;box-shadow:0 4px 20px #0006;transform-style:preserve-3d;touch-action:none}.tilt-inner img{width:100%;display:block}.holo-sparkle,.holo-rainbow,.holo-glare{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;clip-path:inset(0 round var(--card-radius));transition:opacity .4s ease-out}.holo-sparkle{background-image:var(--sparkle);background-size:100% 100%;background-position:50% 50%;background-repeat:no-repeat;mix-blend-mode:screen;opacity:0;-webkit-mask-image:linear-gradient(115deg,rgba(0,0,0,.22) calc(38% - (var(--mx,.5) - .5) * 70%),#000 calc(50% - (var(--mx,.5) - .5) * 70%),rgba(0,0,0,.22) calc(62% - (var(--mx,.5) - .5) * 70%));mask-image:linear-gradient(115deg,#00000038 calc(38% - (var(--mx,.5) - .5) * 70%),#000 calc(50% - (var(--mx,.5) - .5) * 70%),#00000038 calc(62% - (var(--mx,.5) - .5) * 70%));-webkit-mask-mode:alpha;mask-mode:alpha}.tilt-inner.holo-active .holo-sparkle{opacity:calc(.9 * var(--holo-intensity, 1))}.holo-rainbow{background-image:repeating-linear-gradient(-45deg,#fa3838,#faa938,#c9fa38,#38fa79,#38b9fa,#8938fa,#fa38b9,#fa3838 56%),repeating-linear-gradient(45deg,#ef39ef,#39d1ef,#76ef39,#efb239,#ef39ef 48%);background-size:260% 520%,230% 470%;background-position:calc(var(--mx,.5) * 100%) calc(var(--my,.5) * 100%),calc((1 - var(--mx,.5)) * 85%) calc((1 - var(--my,.5)) * 85%);background-blend-mode:screen;mix-blend-mode:screen;opacity:0}.tilt-inner.holo-active .holo-rainbow{opacity:calc(.24 * var(--holo-intensity, 1))}.holo-glare{background:linear-gradient(115deg,transparent calc(32% - (var(--mx,.5) - .5) * 70%),rgba(255,255,255,.2) calc(45% - (var(--mx,.5) - .5) * 70%),rgba(255,255,255,.85) calc(50% - (var(--mx,.5) - .5) * 70%),rgba(255,255,255,.2) calc(55% - (var(--mx,.5) - .5) * 70%),transparent calc(68% - (var(--mx,.5) - .5) * 70%));mix-blend-mode:overlay;opacity:0}.tilt-inner.holo-active .holo-glare{opacity:calc(.6 * var(--holo-intensity, 1) * var(--glare-mul, 1))}.card-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e0;display:flex;align-items:center;justify-content:center;z-index:200;cursor:pointer;animation:fadeIn .15s ease-in}.card-lightbox img{width:100%;height:auto;display:block}.card-lightbox .tilt-wrap{cursor:zoom-out}.card-lightbox .tilt-inner{--card-radius: clamp(14px, 2.8vw, 28px);box-shadow:0 8px 60px #000c}.detail-prices{background-color:var(--bg-card);border-radius:var(--radius);padding:12px;margin-top:12px;font-size:13px}.detail-prices table{width:100%;border-collapse:collapse}.detail-prices td{padding:4px 0;color:var(--text-muted)}.detail-prices td:last-child{text-align:right;color:#fff}.stat-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}.stat{background-color:var(--bg-card);border-radius:var(--radius);padding:12px 16px;flex:1;min-width:140px}.stat-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:20px;font-weight:700;color:#fff;margin-top:2px}.stat-value.accent{color:var(--accent)}.banner{background-color:var(--bg-card);border-radius:var(--radius);padding:12px 16px;display:flex;align-items:flex-start;gap:10px;margin-bottom:20px;font-size:13px;color:var(--text-muted)}.banner svg{color:var(--accent);flex-shrink:0;margin-top:2px}.banner.error{background-color:#ff6c6c26;color:var(--danger-hover)}.banner.error svg{color:var(--danger)}.link-button{background:none;border:none;color:var(--accent);cursor:pointer;font-family:Arial,sans-serif;font-size:inherit;padding:0;text-decoration:underline}.link-button:hover{color:var(--accent-hover)}@media (max-width: 640px){.detail-card{grid-template-columns:1fr}.card-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}
