:root{--bg: #f5f6f8;--surface: #ffffff;--surface-2: #eef0f4;--line: #dfe3ea;--ink: #161a22;--muted: #5d6676;--accent: #d9442e;--accent-ink: #ffffff;--good: #1f8a4c;--warn: #b26b00;--bad: #c62828;--radius: 12px;--shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 4px 16px rgba(16, 24, 40, .05);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--bg);font-size:15px;line-height:1.5;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0f1218;--surface: #171b23;--surface-2: #1f2430;--line: #2a3140;--ink: #e8ebf1;--muted: #9aa3b4;--accent: #ff6b52;--accent-ink: #13161c;--good: #4cc27e;--warn: #f0b13c;--bad: #ff6f6f;--shadow: 0 1px 2px rgba(0, 0, 0, .3);color-scheme:dark}}:root[data-theme=dark]{--bg: #0f1218;--surface: #171b23;--surface-2: #1f2430;--line: #2a3140;--ink: #e8ebf1;--muted: #9aa3b4;--accent: #ff6b52;--accent-ink: #13161c;--good: #4cc27e;--warn: #f0b13c;--bad: #ff6f6f;--shadow: 0 1px 2px rgba(0, 0, 0, .3);color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}h1{font-size:24px;margin:0 0 8px}h2{font-size:18px;margin:0 0 8px}a{color:var(--accent)}.muted{color:var(--muted)}.small{font-size:13px}.error{color:var(--bad)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.pill{font-size:12px;padding:3px 10px;border-radius:999px;background:var(--surface-2);color:var(--muted);white-space:nowrap}.btn{font:inherit;font-weight:600;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;padding:9px 16px;cursor:pointer}.btn:hover{background:var(--surface-2)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.primary:hover{filter:brightness(1.05)}.btn.ghost{background:transparent;border-color:transparent;color:var(--muted)}.btn.small{padding:6px 10px;font-size:13px}.btn:disabled{opacity:.6;cursor:default}input,select,textarea{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:9px 11px;width:100%}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px}label{display:grid;gap:4px;font-size:13px;font-weight:600;color:var(--muted)}.center{display:grid;place-items:center;min-height:50vh}.spinner{width:28px;height:28px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:-.01em;white-space:nowrap}.brand.big{font-size:22px}.logo{width:22px;height:22px;border-radius:50%;background:linear-gradient(180deg,var(--accent) 0 46%,var(--ink) 46% 54%,var(--surface-2) 54%);border:2px solid var(--ink)}.app{min-height:100vh}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:24px;padding:10px 28px;background:var(--surface);border-bottom:1px solid var(--line)}.tabs{display:flex;gap:4px;flex:1}.tabs button{display:flex;align-items:center;gap:8px;font:inherit;font-weight:600;color:var(--muted);background:none;border:0;border-radius:8px;padding:8px 14px;cursor:pointer}.tabs button:hover{background:var(--surface-2);color:var(--ink)}.tabs button.on{background:var(--surface-2);color:var(--accent)}.topbar-right{display:flex;align-items:center;gap:10px}.view{max-width:1440px;margin:0 auto;padding:28px}.login{display:grid;place-items:center;min-height:100vh;padding:16px}.login-card{width:min(400px,100%);display:grid;gap:14px}@media(max-width:760px){.topbar{flex-wrap:wrap;gap:8px;padding:10px 16px}.tabs{order:3;flex-basis:100%;overflow-x:auto}.tabs button span{font-size:14px}.topbar-right{margin-left:auto}.view{padding:16px}}.grow{flex:1}.hint{font-size:12px;color:var(--muted);font-weight:400}.hint.warn,.warn{color:var(--warn)}.pill.good{background:color-mix(in srgb,var(--good) 18%,transparent);color:var(--good)}.pill.bad{background:color-mix(in srgb,var(--bad) 18%,transparent);color:var(--bad)}.btn.danger{color:var(--bad)}.types{display:inline-flex;gap:4px;flex-wrap:wrap}.type{font-size:11px;font-weight:700;padding:1px 8px;border-radius:6px;text-transform:uppercase;letter-spacing:.02em}.mon{display:inline-grid;place-items:center;flex:none;border-radius:50%;color:#fff;font-weight:800;text-shadow:0 1px 2px rgba(0,0,0,.5);box-shadow:inset 0 0 0 2px #ffffff40}.mon.empty{width:44px;height:44px;background:var(--surface-2)}.empty{text-align:center;padding:40px 16px;border:1px dashed var(--line);border-radius:var(--radius)}.empty h3{margin:0 0 4px}h3{font-size:15px;margin:0}.box-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,520px);gap:24px;align-items:start}.box-side{position:sticky;top:76px;max-height:calc(100vh - 96px);overflow:auto}.toolbar{display:flex;align-items:center;gap:12px;margin-bottom:12px}.toolbar h1{margin:0}.count{font-weight:500;font-size:18px}.filters{display:flex;gap:8px;margin-bottom:16px}.filters select{width:auto}.mon-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}.mon-card{width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer;display:grid;gap:6px;padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.mon-card:hover{border-color:var(--muted)}.mon-card.on{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 30%,transparent)}.mon-card-head{display:flex;align-items:center;gap:10px}.mon-card-head .grow{display:grid;gap:2px}.mon-card-line,.mon-card-sp{font-size:12.5px}.mon-card-moves{display:grid;grid-template-columns:1fr 1fr;gap:2px 8px;font-size:13px}.side-hint{text-align:center;padding:48px 20px}.editor{display:grid;gap:16px}.editor-head{display:flex;align-items:center;gap:12px}.editor-head h2{margin:0 0 2px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.span2{grid-column:1 / -1}.moves-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sp-block{display:grid;gap:8px}.sp-head{display:flex;align-items:center;justify-content:space-between}.sp-table{width:100%;border-collapse:collapse;font-size:14px}.sp-table th,.sp-table td{padding:4px 8px;text-align:left;border-bottom:1px solid var(--line)}.sp-table thead th{font-size:12px;color:var(--muted);font-weight:600}.sp-table input{width:80px;padding:5px 8px}.sp-table th.up{color:var(--good)}.sp-table th.down{color:var(--bad)}.issues{margin:0;padding-left:18px;font-size:13px}.issues li.error{color:var(--bad)}.issues li.warn{color:var(--warn)}.vp{margin:0;font-size:14px}.editor-foot{display:flex;gap:8px;align-items:center}@media(max-width:1100px){.box-layout{grid-template-columns:1fr}.box-side{position:static;max-height:none;order:-1}}@media(max-width:560px){.form-grid,.moves-grid{grid-template-columns:1fr}}.dex-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,520px);gap:24px;align-items:start}.check{display:flex;flex-direction:row;align-items:center;gap:6px;white-space:nowrap;font-weight:600}.check input{width:auto}.dex-table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;font-size:14px}.dex-table th,.dex-table td{padding:6px 10px;border-bottom:1px solid var(--line);text-align:left}.dex-table thead th{font-size:12px;color:var(--muted);background:var(--surface)}.dex-table tbody tr{cursor:pointer}.dex-table tbody tr:hover{background:var(--surface-2)}.dex-table tbody tr.on{background:color-mix(in srgb,var(--accent) 12%,transparent)}.num{text-align:right!important;font-variant-numeric:tabular-nums}.pill.tiny{font-size:10px;padding:1px 6px;margin-left:6px;vertical-align:middle}.dex-detail{display:grid;gap:16px}.seg{display:flex;gap:4px;flex-wrap:wrap}.seg button{font:inherit;font-size:13px;border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:8px;padding:5px 10px;cursor:pointer}.seg button.on{border-color:var(--accent);color:var(--accent)}.bar{display:inline-block;height:6px;border-radius:3px;background:var(--accent);opacity:.5;margin-right:8px;vertical-align:middle;max-width:90px}.plain{list-style:none;padding:0;margin:6px 0 0;display:grid;gap:6px}.eff-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.eff{display:inline-flex;align-items:center;gap:4px;font-size:13px}.meta-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:6px}h4{margin:0;font-size:13px;color:var(--muted)}.move-table{width:100%;border-collapse:collapse;font-size:13px;margin-top:8px}.move-table td{padding:4px 6px;border-bottom:1px solid var(--line)}@media(max-width:1100px){.dex-layout{grid-template-columns:1fr}.dex-table th:nth-child(n+4):nth-child(-n+9),.dex-table td:nth-child(n+4):nth-child(-n+9){display:none}}.calc{display:grid;gap:16px}.calc-results{display:grid;gap:10px}.result-row{display:grid;grid-template-columns:170px repeat(4,minmax(0,1fr));gap:8px;align-items:stretch}.result-label{font-weight:700;align-self:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result{font:inherit;display:grid;gap:2px;text-align:left;padding:8px 10px;border-radius:10px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink);cursor:pointer}.result span{font-size:13px;color:var(--muted)}.result b{font-size:15px}.result.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--surface))}.result.dim b{color:var(--muted)}.result.empty{border:1px dashed var(--line);background:none}.calc-desc{border-top:1px solid var(--line);padding-top:10px}.calc-desc p{margin:0 0 6px}.calc-desc-foot{display:flex;align-items:center;gap:8px}.calc-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px minmax(0,1fr);gap:16px;align-items:start}.calc-panel,.calc-field{display:grid;gap:12px}.panel-head{display:flex;align-items:center;gap:8px}.small-select{width:auto;font-size:13px;padding:6px 8px}.panel-mon{display:flex;align-items:center;gap:10px}.panel-mon .grow{display:grid;gap:4px}.sp-table.compact td,.sp-table.compact th{padding:3px 6px}.sp-table.compact input{width:64px}.sp-table.compact select{width:auto;padding:4px 6px}.hp-input{display:inline-flex;align-items:center;gap:4px}.hp-input input{width:64px!important}.calc-moves{display:grid;gap:6px}.calc-move{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.field-sides{display:grid;gap:12px}.side-toggles{display:grid;gap:4px}.speed p{margin:4px 0 0}@media(max-width:1200px){.calc-grid{grid-template-columns:1fr}.result-row{grid-template-columns:1fr 1fr}.result-label{grid-column:1 / -1}}.mon-pic-box{display:inline-block;flex:none;position:relative;z-index:1;pointer-events:none}.mon-pic{object-fit:contain;display:block;transform-origin:center}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#00000080;display:grid;place-items:center;padding:24px}.sheet{width:min(760px,100%);max-height:calc(100vh - 48px);overflow:auto;display:grid;gap:14px}.dropzone{display:grid;place-items:center;gap:4px;padding:36px 16px;border:2px dashed var(--line);border-radius:var(--radius);cursor:pointer;text-align:center;color:var(--ink);font-size:15px}.dropzone.over{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.pic-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:8px;max-height:360px;overflow:auto}.pic-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--line);border-radius:10px}.pic-row img{object-fit:contain}progress{width:100%}.view-col{display:grid;gap:16px}.lead{font-size:15px;max-width:900px;margin:0}.team-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}.team-card{width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer;display:grid;gap:8px;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.team-card:hover{border-color:var(--muted)}.team-card-head{display:flex;justify-content:space-between;align-items:center}.team-mons{display:flex;gap:6px}.mon-empty{width:32px;height:32px;border-radius:50%;border:1px dashed var(--line)}.p p,.team-card p{margin:0}.status-testing{color:var(--warn)}.status-final{color:var(--good)}.workshop{display:grid;grid-template-columns:200px minmax(0,1fr) 300px;gap:20px;align-items:start}.steps{position:sticky;top:76px;display:grid;gap:8px}.steps ol{list-style:none;margin:0;padding:0;display:grid;gap:2px}.steps ol button{width:100%;text-align:left;font:inherit;font-weight:600;color:var(--muted);background:none;border:0;border-radius:8px;padding:7px 10px;cursor:pointer;display:flex;gap:8px;align-items:center}.steps ol button:hover{background:var(--surface-2);color:var(--ink)}.steps ol button.on{background:var(--surface-2);color:var(--accent)}.steps ol button.done .step-no{background:var(--good);color:#fff}.step-no{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--surface-2);font-size:12px;flex:none}.save-state{font-size:12px;color:var(--muted);margin:8px 0 0}.save-state.error{color:var(--bad)}.save-state.unsaved{color:var(--warn)}.back{justify-self:start}.step-main{display:grid;gap:16px;min-width:0}.step-head{display:flex;gap:16px;align-items:flex-start}.step-head h1,.step-head p{margin:0}.step-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px;align-items:start}.step-grid .facts{grid-row:span 2}.step-grid .facts,.step-grid .call,.step-grid .rules-col{display:grid;gap:10px;align-content:start}.step-grid h3,.step-grid h4,.step-grid p{margin:0}.sheet-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}.sheet-grid .facts{grid-row:auto}.sheet-grid .rules-col{grid-column:1 / -1}.step-foot{display:flex;gap:8px}.rules{list-style:none;margin:0;padding:0;display:grid;gap:12px}.rules li{display:grid;gap:2px;border-left:3px solid var(--accent);padding-left:10px}.rules p{margin:0}.your-call textarea{font-weight:400}.mini{width:100%;border-collapse:collapse;font-size:13px}.mini th,.mini td{padding:4px 6px;border-bottom:1px solid var(--line);text-align:left}.mini thead th{color:var(--muted);font-size:12px}.mini tr.bad td{background:color-mix(in srgb,var(--bad) 10%,transparent)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pillars{display:flex;flex-wrap:wrap;gap:8px}.pillar{display:flex;align-items:center;gap:6px;font-size:13px;padding:4px 8px;border:1px solid var(--line);border-radius:10px}.starter{display:flex;gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:10px}.hint-box{padding:10px 12px;border-radius:10px;background:var(--surface-2)}.hint-box.warn{color:var(--warn)}.ladder{display:flex;flex-wrap:wrap;gap:4px}.rung{font-size:12px;padding:2px 8px;border-radius:6px;background:var(--surface-2)}.rung.below{opacity:.6}.rung.tie{outline:1px solid var(--warn)}.rung.me{background:var(--accent);color:var(--accent-ink);font-weight:700}.chips{display:inline-flex;flex-wrap:wrap;gap:4px}.chip{font-size:11px;padding:1px 7px;border-radius:999px;background:var(--surface-2);color:var(--muted)}.picker{display:grid;gap:10px}.picker-head{display:flex;gap:10px;align-items:center}.cand-list{list-style:none;margin:0;padding:0;display:grid;gap:6px;max-height:360px;overflow:auto}.cand{width:100%;font:inherit;color:inherit;text-align:left;display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);cursor:pointer}.cand:hover{border-color:var(--accent)}.slots{position:sticky;top:76px;display:grid;gap:8px;max-height:calc(100vh - 96px);overflow:auto}.slot{border:1px solid var(--line);border-radius:10px;background:var(--surface)}.slot summary{display:flex;align-items:center;gap:10px;padding:8px 10px;cursor:pointer;list-style:none}.slot.empty{padding:14px 10px;color:var(--muted);border-style:dashed;font-size:13px}.slot-body{display:grid;gap:8px;padding:0 10px 10px}.row{display:flex;align-items:center;gap:8px}.sheet-text{white-space:pre-wrap;font:13px/1.55 ui-monospace,Cascadia Mono,Consolas,monospace;background:var(--surface-2);padding:14px;border-radius:10px;margin:0}.btn.ask{white-space:nowrap}.ask-pop{position:absolute;right:28px;z-index:20;width:min(440px,90vw);display:grid;gap:8px}.step-head{position:relative}@media(max-width:1300px){.workshop{grid-template-columns:180px minmax(0,1fr)}.slots{grid-column:1 / -1;position:static;max-height:none;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}@media(max-width:900px){.workshop{grid-template-columns:1fr}.steps{position:static}.steps ol{display:flex;overflow-x:auto}.step-grid,.sheet-grid,.two-col{grid-template-columns:1fr}}.team-mons.big{display:flex;flex-wrap:wrap;gap:14px}.mon-tag{display:grid;justify-items:center;gap:2px;font-size:12px}.matrix-wrap{overflow-x:auto}.matrix{border-collapse:collapse;font-size:13px;min-width:100%}.matrix th,.matrix td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:center;white-space:nowrap}.matrix th:first-child,.matrix td:first-child{text-align:left}.matrix tr.bad td:first-child{box-shadow:inset 3px 0 0 var(--bad)}.matrix tr.ok td:first-child{box-shadow:inset 3px 0 0 var(--good)}.matrix .good{color:var(--good);font-weight:600}.matrix .bad{color:var(--bad);font-weight:600}.matrix td.ko{background:color-mix(in srgb,var(--good) 10%,transparent)}.two-col-wide{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:16px;align-items:start}.log-form{display:grid;gap:10px}.log-form h3,.log-form h4{margin:0}.game-list{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:8px}.game-list li{padding:8px 10px;border:1px solid var(--line);border-radius:10px}.game-list li.win{border-left:3px solid var(--good)}.game-list li.loss{border-left:3px solid var(--bad)}.game-list p{margin:4px 0 0}@media(max-width:900px){.two-col-wide{grid-template-columns:1fr}}.events{display:grid;gap:12px}.events h3{margin:0}.events a{color:var(--ink)}.event-teams{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:10px}.event-teams li{display:grid;gap:6px;padding:8px 0;border-top:1px solid var(--line)}.event-mons{display:flex;flex-wrap:wrap;gap:12px}.event-mon{display:grid;justify-items:center;gap:1px;width:92px;text-align:center;font-size:12px}.search-wide{max-width:420px}.learn-layout{display:grid;grid-template-columns:340px minmax(0,1fr);gap:16px;align-items:start}.note-list{list-style:none;margin:0;padding:0;display:grid;gap:4px;position:sticky;top:76px;max-height:calc(100vh - 96px);overflow:auto}.note-item{width:100%;text-align:left;font:inherit;color:var(--ink);background:none;border:1px solid transparent;border-radius:8px;padding:8px 10px;cursor:pointer;display:flex;gap:6px;align-items:center;justify-content:space-between}.note-item:hover{background:var(--surface-2)}.note-item.on{border-color:var(--accent);background:var(--surface)}.note-body{max-width:900px}.md h2{font-size:22px;margin:4px 0 12px}.md h3{font-size:17px;margin:22px 0 6px}.md h4{margin:14px 0 4px;font-size:14px;color:var(--ink)}.md p{margin:6px 0}.md ul,.md ol{margin:6px 0;padding-left:22px}.md li{margin:3px 0}.md-row{font-size:13px;color:var(--muted)}.rules-by-step{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:12px}.rules-by-step h3{margin:0 0 10px}@media(max-width:900px){.learn-layout{grid-template-columns:1fr}.note-list{position:static;max-height:280px}}@media(max-width:700px){.dex-table{display:block;overflow-x:auto;white-space:nowrap}.filters,.toolbar{flex-wrap:wrap}}.tabs{min-width:0}@media(max-width:760px){.tabs{width:100%;max-width:100%}.topbar{max-width:100vw}}.dex-layout>*,.box-layout>*,.learn-layout>*,.calc-grid>*,.workshop>*{min-width:0}@media(max-width:1100px){.dex-layout{grid-template-columns:minmax(0,1fr)}}
