:root{--bg:#0d1117;--panel:#161b22;--panel2:#1f2630;--line:#303846;--text:#f0f3f6;--muted:#9ba7b4;--accent:#7dd3fc;--accent2:#a7f3d0;--danger:#fb7185;--gold:#fbbf24}
*{box-sizing:border-box}
html,body{width:100%;min-height:100%;overflow-x:hidden}
body{margin:0;background:linear-gradient(180deg,#0b1220,#0d1117 28%);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans KR",sans-serif;font-size:17px}
button,input{font:inherit}
button{border:0;border-radius:15px;background:#2563eb;color:white;padding:13px 15px;font-weight:850;min-height:48px;touch-action:manipulation}
button:active{transform:translateY(1px)}button:disabled{opacity:.45}button.ghost{background:#263241;color:#dbeafe;border:1px solid #3b4b5f}button.small{font-size:14px;padding:9px 11px;min-height:38px}button.danger{background:#be123c}
.hidden{display:none!important}
.topbar{position:relative;z-index:30;width:100%;max-width:none;margin:0;display:flex;justify-content:space-between;gap:8px;align-items:center;padding:10px 10px;background:rgba(13,17,23,.97);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.topbar h1{font-size:25px;margin:0;letter-spacing:-.04em}.eyebrow{font-size:11px;color:var(--accent);letter-spacing:.08em;text-transform:uppercase}.userbox{display:flex;align-items:center;gap:6px;max-width:50%;font-size:12px;color:var(--muted)}.userbox img{width:28px;height:28px;border-radius:50%}.userbox span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.userbox a{color:#bfdbfe;text-decoration:none}
main{width:100%;max-width:none;margin:0;padding:0 0 90px}
.panel{width:100%;background:rgba(22,27,34,.985);border:1px solid var(--line);border-left:0;border-right:0;border-radius:0;padding:14px 10px;margin:0 0 9px;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.panel h2{font-size:21px;margin:0 0 12px}.panel h3{font-size:16px;margin:11px 0 8px}.panel h3 small{display:block;color:var(--muted);font-size:12px;font-weight:700;margin-top:3px}.panel-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.hint{color:var(--muted);font-size:13px;line-height:1.45;margin:10px 0 0}.big-hint{font-size:16px}
.team-panel{position:sticky;top:0;z-index:60;border-bottom:1px solid #415064;box-shadow:0 16px 26px rgba(0,0,0,.38)}
.team-row-wrap{margin:10px 0}.team-label{font-size:14px;color:var(--accent2);font-weight:900;margin-bottom:7px}.team-label.enemy{color:#fecdd3}.slots{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}.slot{min-width:0;padding:5px 2px;min-height:70px;border-radius:14px;background:#111827;border:2px solid #344154;color:var(--text);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.slot.filled{background:#162033}.slot.selected{border-color:var(--gold);box-shadow:0 0 0 3px rgba(251,191,36,.22)}.slot img{width:43px;height:43px;object-fit:contain;image-rendering:auto}.slot span{font-size:11px;font-weight:850;line-height:1.05;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slot .plus{font-size:24px;color:var(--muted)}.setup-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.primary-wide{background:#1d4ed8}
.search-row{display:grid;grid-template-columns:1fr 78px;gap:8px;margin-bottom:10px}.search-row input{width:100%;border:1px solid #425166;border-radius:15px;background:#0f172a;color:var(--text);padding:13px 13px;min-height:49px}.pokemon-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.poke-card{background:#121a28;border:1px solid #344154;color:var(--text);padding:8px 4px;min-height:112px;border-radius:16px}.poke-card img{width:58px;height:58px;object-fit:contain}.poke-card .name{font-size:15px;font-weight:900;line-height:1.12}.poke-card .types{font-size:11px;color:var(--muted);margin-top:3px;line-height:1.1}
.detail-head{display:flex;gap:14px;align-items:center}.detail-head img{width:80px;height:80px;object-fit:contain}.detail-head.compact img{width:58px;height:58px}.detail-title h2{margin:0 0 6px}.type-badges,.attack-types{display:flex;gap:5px;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;border:1px solid #3b4b5f;border-radius:999px;background:#0f172a;padding:5px 8px;font-size:13px;color:#dbeafe;font-weight:800}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:12px 0}.stat{background:#0f172a;border:1px solid #2f3d4e;border-radius:13px;text-align:center;padding:8px 4px}.stat b{display:block;font-size:19px}.stat span{font-size:12px;color:var(--muted);font-weight:800}.mini-stats{grid-template-columns:repeat(3,1fr);gap:4px;margin:8px 0}.mini-stats .stat{padding:6px 2px}.mini-stats .stat b{font-size:16px}.mini-stats .stat span{font-size:10px}
.compare-cards{display:grid;grid-template-columns:1fr 1fr;gap:8px}.compare-card{background:#111827;border:1px solid #344154;border-radius:18px;padding:10px 7px;text-align:center}.compare-card>img{width:72px;height:72px;object-fit:contain}.compare-card>b{display:block;font-size:17px;margin-bottom:5px}.compare-summary{background:#0f172a;border:1px solid #344154;border-radius:15px;padding:12px;margin:10px 0;line-height:1.55}.match-grid{display:grid;gap:8px}.match-grid section,.opponent-detail{background:#111827;border:1px solid #344154;border-radius:16px;padding:10px}.form-switch{display:flex;gap:5px;flex-wrap:wrap;justify-content:center;margin-top:9px}.form-btn{min-height:34px;padding:7px 9px;font-size:12px;background:#334155}.form-btn.active{background:#f59e0b;color:#111827}.ability-line{display:flex;flex-wrap:wrap;gap:5px;justify-content:center;margin-top:8px}.ability-chip{min-height:32px;padding:6px 8px;font-size:12px;background:#164e63;color:#e0f2fe}
.usage-block{margin-top:11px}.usage-list{display:grid;gap:6px}.usage-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;text-align:left;background:#0f172a;border:1px solid #334155;color:var(--text);border-radius:13px;padding:10px 10px;min-height:43px}.usage-row span{overflow:hidden;text-overflow:ellipsis}.usage-row b{color:var(--accent2);font-size:14px}.spread-row{grid-template-columns:26px 1fr auto}.spread-row .rank{color:var(--muted);font-weight:900}.spread-cells{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}.spread-cells span{display:block;text-align:center;background:#1f2937;border-radius:8px;padding:5px 1px;font-weight:900;font-variant-numeric:tabular-nums}
.admin-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}pre{white-space:pre-wrap;word-break:break-word;background:#0f172a;border-radius:12px;padding:10px;color:#d1d5db;max-height:280px;overflow:auto}
.modal{position:fixed;inset:0;z-index:80;background:rgba(0,0,0,.65);display:flex;align-items:flex-end;justify-content:center}.modal-card{width:100%;max-width:720px;max-height:82vh;overflow:auto;background:#111827;border:1px solid #3b4b5f;border-radius:22px 22px 0 0;padding:20px 15px;position:relative}.modal-close{position:absolute;right:10px;top:8px;border-radius:999px;background:#334155;min-height:38px;width:38px;padding:0}.modal h2{margin:0 42px 8px 0}.modal dl{display:grid;grid-template-columns:90px 1fr;gap:7px;background:#0f172a;border-radius:14px;padding:12px}.modal dt{color:var(--muted);font-weight:800}.modal dd{margin:0;font-weight:900}.damage-note{background:#172554;border:1px solid #2563eb;border-radius:14px;padding:10px}.spread-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:10px 0}.spread-grid div{background:#0f172a;border-radius:12px;text-align:center;padding:9px}.spread-grid b{display:block;font-size:20px}.spread-grid span{font-size:12px;color:var(--muted)}
.login-body{display:grid;place-items:center;min-height:100vh;padding:16px}.login-card{width:min(440px,100%);background:#161b22;border:1px solid var(--line);border-radius:24px;padding:28px;text-align:center}.brand-mark{width:62px;height:62px;border-radius:22px;margin:0 auto 14px;background:#2563eb;display:grid;place-items:center;font-weight:1000;font-size:24px}.google-btn{display:block;text-decoration:none;background:#fff;color:#111827;border-radius:16px;padding:14px;font-weight:900;margin-top:18px}
@media (min-width:760px){main{width:100%;max-width:none;margin:0;padding:0 0 100px}.topbar{width:100%;max-width:none;margin:0;padding:10px 10px;border-left:0;border-right:0}.panel{width:100%;max-width:none;margin:0 0 9px;border-left:0;border-right:0;border-radius:0}.team-panel{top:0}.pokemon-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.match-grid{grid-template-columns:1fr 1fr}.slot img{width:50px;height:50px}.slot{min-height:82px}}
@media (max-width:370px){.topbar h1{font-size:22px}.pokemon-grid{gap:6px}.poke-card .name{font-size:14px}.slot img{width:38px;height:38px}.slot span{font-size:10px}.panel{padding-left:7px;padding-right:7px}}

.type-chart-card{background:#111827;border:1px solid #344154;border-radius:16px;padding:10px;margin:10px 0}
.type-matchup-table{display:grid;gap:6px}.type-row{display:grid;grid-template-columns:62px 1fr;gap:8px;align-items:start;background:#0f172a;border:1px solid #334155;border-radius:13px;padding:8px}.type-row>b{font-size:14px;color:#fff}.type-row>div{display:flex;flex-wrap:wrap;gap:5px}.type-row.mult-4_0{border-color:#fb7185}.type-row.mult-2_0{border-color:#f59e0b}.type-row.mult-0_0{opacity:.75}.type-row.mult-0_5,.type-row.mult-0_25{opacity:.85}
.spread-cells span{display:flex;flex-direction:column;gap:2px;align-items:center;justify-content:center}.spread-cells em{font-style:normal;font-size:10px;color:var(--muted);font-weight:800}.spread-cells strong{font-size:15px;color:var(--text);font-variant-numeric:tabular-nums}
.translation-editor{margin-top:14px;display:grid;gap:8px;background:#0f172a;border:1px solid #334155;border-radius:16px;padding:10px}.translation-editor input,.translation-editor textarea,.translation-editor select{width:100%;border:1px solid #425166;border-radius:12px;background:#111827;color:var(--text);padding:10px}.translation-editor textarea{resize:vertical}
