:root{--bg:#050506;--panel:#111115;--panel2:#15151b;--line:rgba(255,255,255,.08);--text:#f5f5f7;--muted:#96969f;--accent:#9d8cff;--gold:#f2c14e;--good:#66db9d;--bad:#ff7890;--shadow:0 22px 70px #000b;--radius:18px}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:radial-gradient(circle at 15% 0,#171326 0,transparent 30%),radial-gradient(circle at 100% 20%,#15121d 0,transparent 24%),linear-gradient(145deg,#050506,#0a0a0c);color:var(--text);font-family:Inter,"Segoe UI",system-ui,sans-serif;min-height:100vh}.stars{position:fixed;inset:0;pointer-events:none;opacity:.24;background-image:radial-gradient(#fff 1px,transparent 1px),radial-gradient(#fff 1px,transparent 1px);background-size:97px 97px,151px 151px;background-position:0 0,34px 53px;mask-image:linear-gradient(#000,transparent 86%)}button,input{font:inherit}button{border:0;cursor:pointer}.app-shell{width:min(1220px,calc(100% - 34px));margin:auto;position:relative;padding:28px 0 70px}.brand{display:flex;align-items:center;gap:13px}.moon{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#dad5ff,#7568df);box-shadow:0 0 34px #9c8cff55;position:relative;display:block}.moon:after{content:"";position:absolute;background:#09090c;width:35px;height:35px;border-radius:50%;left:11px;top:-3px}.brand h1{font-size:25px;letter-spacing:-.8px;margin:0}.brand small{display:block;color:var(--muted);font-size:12px;margin-top:2px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:32px}.account{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:14px}.account strong{color:var(--text)}.btn{border-radius:11px;padding:10px 15px;background:var(--accent);color:#0b0913;font-weight:750;transition:.2s transform,.2s filter}.btn:hover{filter:brightness(1.12);transform:translateY(-1px)}.btn.ghost{background:transparent;color:var(--text);border:1px solid var(--line)}.btn.small{padding:7px 10px;font-size:12px}.btn.tiny{padding:6px 8px;font-size:11px}.btn.danger{background:#42202b;color:#ffb3c0}.btn.good{background:#194b38;color:#abffdb}.btn:disabled{opacity:.46;cursor:not-allowed;transform:none}.auth{max-width:470px;margin:8vh auto 0}.auth .brand{margin-bottom:32px}.auth-card,.card{background:linear-gradient(145deg,#15151bf5,#0e0e12f5);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.auth-card{padding:28px}.auth-card h2{margin:0 0 7px;font-size:26px}.subtle{color:var(--muted);font-size:14px}.switch,.rank-toggle{display:flex;background:#09090c;padding:4px;border-radius:12px;margin:23px 0}.switch button{flex:1;padding:10px;border-radius:9px;background:transparent;color:var(--muted)}.switch button.active{background:var(--panel2);color:var(--text)}.field{display:grid;gap:7px;margin:14px 0}.field span,.filter-label{font-size:11px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.06em}.field input{width:100%;border:1px solid var(--line);background:#09090c;color:var(--text);padding:12px 13px;border-radius:11px;outline:0}.field input:focus,.search input:focus{border-color:var(--accent)}.form-error{color:#ff9eb3;font-size:13px;min-height:20px}.full{width:100%}.tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);margin-bottom:25px;overflow:auto}.tab{background:transparent;color:var(--muted);padding:12px 17px;border-bottom:2px solid transparent;white-space:nowrap}.tab.active{color:var(--text);border-color:var(--accent)}.view-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:18px}.view-head h2{font-size:28px;margin:0 0 4px}.mode-chips{display:flex;gap:7px;margin-bottom:13px}.mode-chip{padding:9px 14px;border:1px solid var(--line);border-radius:999px;background:#0f0f14;color:var(--muted);font-weight:700}.mode-chip.active{color:#fff;background:#2d2752;border-color:#7667d7}.filter-box{display:grid;gap:9px;margin-bottom:18px}.search{max-width:340px}.search input{width:100%;padding:11px 13px;background:#09090c;border:1px solid var(--line);border-radius:11px;color:var(--text)}.chips{display:flex;gap:7px;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:750;background:#15151a;color:var(--muted);border:1px solid var(--line)}.chip.active{background:color-mix(in srgb,var(--tier,var(--type,var(--accent))) 18%,#111115);color:var(--tier,var(--type,#fff));border-color:var(--tier,var(--type,var(--accent)))}.tier-chip{color:var(--tier)}.type-filter.active{color:#fff;border-color:var(--type);background:color-mix(in srgb,var(--type) 20%,#111115)}.feed{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:15px}.card{padding:18px}.request-card{display:flex;flex-direction:column;gap:14px}.request-main{display:flex;align-items:center;gap:13px}.sprite{width:62px;height:62px;object-fit:contain;image-rendering:auto;background:#09090c;border-radius:15px;padding:5px}.sprite.item{padding:11px}.request-title{font-weight:750;font-size:17px}.qty{color:var(--gold);font-size:13px}.request-meta,.request-note{color:var(--muted);font-size:13px}.request-meta{display:flex;justify-content:space-between;gap:8px}.types,.dex-meta{display:flex;gap:5px;align-items:center;flex-wrap:wrap;margin-top:5px}.type-chip,.tier-badge,.category,.mega,.badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:750}.type-chip{color:#111;background:var(--type)}.tier-badge{color:var(--tier);background:color-mix(in srgb,var(--tier) 14%,transparent);border:1px solid color-mix(in srgb,var(--tier) 45%,transparent);min-width:24px;justify-content:center}.category{color:#c7c4d9;background:#24222d}.card-actions{display:flex;gap:7px;flex-wrap:wrap}.offer-box{border-top:1px solid var(--line);padding-top:13px}.offer-box h4{margin:0 0 9px;font-size:13px}.offer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 0;border-top:1px solid var(--line);font-size:12px}.offer-info{color:var(--muted)}.empty{grid-column:1/-1;text-align:center;color:var(--muted);padding:45px 20px;border:1px dashed var(--line);border-radius:var(--radius)}.inline-form{background:#0a0a0e;border-radius:13px;padding:12px;display:grid;gap:9px}.inline-form .field{margin:0}.closed{opacity:.56}.picker{margin-bottom:14px;padding:15px}.picker-filter .filter-box{padding:10px 0;margin:0}.picker-filter .search{display:none}.picker-results{display:grid;gap:6px;max-height:300px;overflow:auto;margin-top:10px}.pick{display:flex;align-items:center;gap:10px;width:100%;text-align:left;color:var(--text);background:#0c0c11;border:1px solid transparent;border-radius:11px;padding:8px}.pick:hover{border-color:var(--accent)}.pick img{width:38px;height:38px;object-fit:contain}.pick small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.section{margin-top:30px}.section h3{font-size:18px}.wish-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:11px}.wish{display:flex;align-items:center;gap:10px;position:relative}.wish .sprite{width:48px;height:48px}.wish .remove{margin-left:auto;background:transparent;color:var(--bad);font-size:20px}.toggle-mini{background:transparent;color:var(--muted);font-size:10px}.category-panel{border:1px solid var(--line);border-radius:14px;margin:9px 0;background:#0d0d11}.category-panel summary{cursor:pointer;padding:13px 15px;font-weight:750;list-style:none;display:flex;justify-content:space-between}.category-panel summary span{color:var(--muted);font-size:12px}.item-list{display:grid;gap:6px;padding:0 9px 9px}.item-pick{display:flex;align-items:center;gap:9px;padding:7px;border-top:1px solid var(--line);font-size:13px}.item-pick img,.tm-badge{width:38px;height:38px;object-fit:contain;background:#09090c;border-radius:9px;padding:5px}.tm-badge{display:grid;place-items:center;color:#101014;background:var(--type);font-size:11px;font-weight:900}.item-pick span:nth-child(2){flex:1}.item-pick small{display:block;color:var(--gold);font-size:11px}.item-pick input{width:52px;background:#09090c;border:1px solid var(--line);color:var(--text);padding:7px;border-radius:8px}.dex-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:10px}.dex-cell{background:#101014;border:1px solid var(--line);border-radius:15px;padding:12px;min-width:0}.dex-cell>img{display:block;width:100%;height:100px;object-fit:contain;background:#0a0a0d;border-radius:11px}.dex-name{font-weight:750;font-size:13px;margin-top:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dex-cell small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.dex-meta{margin:7px 0}.mega{color:var(--gold);border:1px solid #f2c14e66;background:#f2c14e14}.dex-cell .btn{width:100%;margin-top:5px}.leaderboard{display:grid;gap:9px}.rank-row{display:flex;align-items:center;gap:14px;padding:14px 16px}.rank-pos{font-size:21px;width:32px;text-align:center}.rank-name{flex:1;min-width:0}.rank-name strong,.rank-name small{display:block}.rank-name small,.rank-stats{color:var(--muted);font-size:11px;margin-top:4px}.rank-main{text-align:center;min-width:60px}.rank-main b{font-size:25px;color:var(--gold);display:block}.rank-main span{font-size:10px;color:var(--muted)}.rank-stats{display:flex;gap:14px}.rank-stats b{color:var(--text)}.history{display:grid;gap:9px}.history-row{display:flex;align-items:center;gap:13px}.history-row .sprite{width:48px;height:48px}.history-info{flex:1}.history-info strong{font-size:14px}.history-info small{display:block;color:var(--muted);font-size:12px;margin-top:3px}.badge{padding:5px 9px}.badge.accepted{background:#254f5a;color:#9eeaff}.badge.returned{background:#214d3d;color:#a9ffcf}.toast-region{position:fixed;right:20px;bottom:20px;display:grid;gap:9px;z-index:10}.toast{padding:13px 16px;background:#17151d;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:12px;box-shadow:var(--shadow);font-size:13px;animation:up .25s ease}.toast.error{border-left-color:var(--bad)}@keyframes up{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.loading{padding:44px;text-align:center;color:var(--muted)}
@media(max-width:700px){.app-shell{width:min(100% - 22px,600px);padding-top:17px}.topbar{align-items:flex-start;margin-bottom:20px}.account{flex-direction:column;align-items:flex-end;gap:7px}.account .btn{padding:7px 10px}.view-head{align-items:flex-start;flex-direction:column}.view-head h2{font-size:24px}.search{max-width:none}.feed{grid-template-columns:1fr}.dex-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rank-row{gap:8px;padding:12px 10px}.rank-stats{display:none}.rank-main{margin-left:auto}.item-pick{flex-wrap:wrap}.item-pick span:nth-child(2){min-width:calc(100% - 55px)}.auth{margin-top:4vh}.auth-card{padding:22px}}

/* game-style pokemon cards (Pokédex + Meu Time) */
.dex-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:14px;margin-top:14px}
.team-grid{margin-bottom:16px}
.gcard{position:relative;display:flex;flex-direction:column;align-items:center;background:linear-gradient(160deg,#16161f,#0d0d13);border:2px solid var(--tier);border-radius:16px;padding:16px 10px 12px;text-align:center;box-shadow:0 0 18px -7px var(--tier),0 10px 24px -14px #000}
.gcard.closed{opacity:.5;filter:grayscale(.4)}
.gcard-sprite{width:104px;height:104px;object-fit:contain;margin:10px auto 6px;filter:drop-shadow(0 6px 10px #000b)}
.gcard-tier{position:absolute;top:9px;left:9px;background:var(--tier);color:#0c0c12;font-weight:800;font-size:12px;line-height:1;padding:3px 9px;border-radius:9px}
.gcard-num{position:absolute;top:11px;right:11px;color:#ffd21f;font-weight:800;font-size:12px}
.gcard-mega{position:absolute;top:34px;right:9px;background:#00f0c0;color:#032;font-weight:800;font-size:9px;padding:2px 6px;border-radius:7px;letter-spacing:.5px}
.gcard-name{font-weight:700;font-size:15px;margin-top:2px;color:#f5f5f7}
.gcard-types{display:flex;gap:5px;justify-content:center;flex-wrap:wrap;margin-top:8px;min-height:18px}
.gcard .gbtn{margin-top:11px;width:100%;border:none;border-radius:9px;padding:8px 10px;font-weight:700;font-size:12px;cursor:pointer;background:#2a2a38;color:#e8e8ef}
.gcard .gbtn.add{background:var(--tier);color:#0c0c12}
.gcard .gbtn.add:disabled{background:#23232e;color:#7a7a88;cursor:default}
.gcard-foot{display:flex;gap:6px;margin-top:11px;width:100%}
.gcard-foot .gbtn{margin-top:0;flex:1;background:#22222c}
.gcard-foot .gbtn.danger{background:#3a1f28;color:#ff9db0}
.item-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr))}
.icard{position:relative;display:flex;flex-direction:column;align-items:center;background:linear-gradient(160deg,#16161f,#0d0d13);border:1px solid color-mix(in srgb,var(--item-accent) 55%,var(--line));border-radius:15px;padding:10px 9px 9px;text-align:center;box-shadow:0 0 16px -10px var(--item-accent)}
.icard-sprite,.icard-placeholder{display:block;width:100%;height:82px;object-fit:contain;margin:2px auto 7px;background:#0a0a0d;border-radius:10px;padding:8px}
.icard-sprite{filter:drop-shadow(0 5px 8px #000b)}
.icard-placeholder{border:1px dashed var(--line)}
.icard-name{width:100%;font-weight:700;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.icard-meta{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:4px;min-height:24px;margin-top:5px}
.icard .category,.icard .tier-badge{padding:3px 6px;font-size:10px}
.icard .gbtn{margin-top:8px;width:100%;border:none;border-radius:8px;padding:7px 5px;font-weight:700;font-size:11px;background:var(--item-accent);color:#0c0c12}
.icard .gbtn:disabled{background:#23232e;color:#7a7a88;cursor:default}
.add-panel{margin-top:8px;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.add-panel>summary{padding:12px 14px;cursor:pointer;font-weight:700;color:var(--accent);list-style:none}
.add-panel>summary::-webkit-details-marker{display:none}
.add-panel[open]>summary{border-bottom:1px solid var(--line)}
.section h3 .count{display:inline-block;margin-left:8px;background:#22222c;color:#aeaeba;font-size:12px;padding:1px 9px;border-radius:9px;vertical-align:middle}

/* Discord login button */
.btn.discord{display:flex;align-items:center;justify-content:center;gap:9px;background:#5865F2;color:#fff;margin:2px 0}
.btn.discord:hover{background:#4752c4}
.or{text-align:center;color:var(--muted);font-size:12px;margin:12px 0 10px;letter-spacing:.3px}
.admin-badge{display:inline-flex;align-items:center;margin-left:5px;padding:2px 6px;border:1px solid #ffd21f99;border-radius:999px;background:#ffd21f;color:#17130a;font-size:9px;font-weight:900;letter-spacing:.06em;vertical-align:middle}.admin-moderation{border-top:1px solid var(--line);padding-top:10px}.admin-moderation>span{display:block;margin-bottom:7px;color:var(--gold);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
