@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800;900&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--bg:#101312;--panel:#191e1b;--line:#343c35;--lime:#ccff5f;--text:#f0f2e9;--muted:#a0aaa0}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',sans-serif;font-size:16px}button,a{touch-action:manipulation}button{font:700 14px 'DM Sans',sans-serif;cursor:pointer;border:0}button:disabled{opacity:.35;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:3px solid white;outline-offset:4px}header{height:90px;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 5%;gap:18px}.brand{width:48px;height:48px;background:var(--lime);color:#101312;display:flex;align-items:center;justify-content:center;font:900 25px 'Barlow Condensed',sans-serif;text-decoration:none;transform:skew(-7deg)}.brand span{font-size:17px}.identity{font-weight:800;letter-spacing:2px;font-size:18px}.identity small{display:block;font-size:12px;color:var(--muted);letter-spacing:3px;margin-top:4px}.edition{margin-left:auto;font-size:12px;color:var(--muted);letter-spacing:1px}.quiet{background:transparent;color:var(--text);border:1px solid var(--line);padding:10px 15px;margin-left:20px}main{max-width:1440px;margin:auto;padding:35px 5%}.topline{display:flex;justify-content:space-between;font-size:12px;letter-spacing:1.5px;color:var(--muted)}.eyebrow{color:var(--lime);font-size:12px;letter-spacing:1.5px;font-weight:700}.intro{display:flex;align-items:center;justify-content:space-between;margin:27px 0 35px;gap:20px}h1{font:800 clamp(42px,5vw,72px)/.98 'Barlow Condensed',Impact,sans-serif;text-transform:uppercase;margin:0;letter-spacing:-1px}h1 em{font-style:normal;color:var(--lime)}.intro p{color:var(--muted);line-height:1.8;font-size:15px}.intro strong{color:var(--text)}.workspace{display:grid;grid-template-columns:390px 1fr;gap:22px}.spin-panel,.roster-panel{background:var(--panel);border:1px solid var(--line);padding:24px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:10px}h2{font:700 21px 'Barlow Condensed',sans-serif;letter-spacing:1px;margin:0}.section-head>span{font-size:12px;color:var(--muted)}.wheel-shell{position:relative;width:250px;height:250px;margin:26px auto}.wheel{width:100%;height:100%;border-radius:50%;border:7px solid #2d362e;background:conic-gradient(#ccff5f 0deg 90deg,#405044 90deg 180deg,#778e5b 180deg 270deg,#29382b 270deg 360deg);position:relative;transition:transform 1.6s cubic-bezier(.12,.8,.12,1);outline:1px solid #77846a;outline-offset:7px}.wheel>span{position:absolute;font:700 15px 'Barlow Condensed',sans-serif;letter-spacing:1px}.w1{top:37px;right:23px;color:#172011;transform:rotate(45deg)}.w2{bottom:41px;right:29px;transform:rotate(-45deg)}.w3{bottom:39px;left:24px;color:#111b10;transform:rotate(45deg)}.w4{top:42px;left:24px;transform:rotate(-45deg)}.hub{position:absolute;inset:70px;border-radius:50%;background:#101312;border:4px solid #b9d98c;display:flex;align-items:center;justify-content:center;flex-direction:column;font-weight:800;font-size:25px}.hub small{font-size:9px;letter-spacing:1px;margin-top:4px}.pointer{position:absolute;top:-17px;left:113px;border-left:12px solid transparent;border-right:12px solid transparent;border-top:25px solid var(--text);z-index:1}.draw-result{text-align:center;font:700 27px 'Barlow Condensed',sans-serif;margin-bottom:19px}.draw-result small{display:block;font:400 13px 'DM Sans',sans-serif;color:var(--muted);margin-top:7px}.primary{background:var(--lime);color:#152010;padding:16px 19px;letter-spacing:.5px}.spin-panel>.primary{width:100%}.fine{font-size:12px;color:var(--muted);line-height:1.6;margin:20px 0 0}.section-note{font-size:14px;color:var(--muted);margin:14px 0 23px}.slot{width:100%;display:flex;align-items:center;text-align:left;color:var(--text);background:transparent;border:1px solid var(--line);margin-bottom:10px;padding:15px;gap:16px;min-height:76px}.slot.active{border-color:var(--lime);background:#263023}.number{font:600 29px 'Barlow Condensed',sans-serif;color:#647361;min-width:31px}.active .number{color:var(--lime)}.slot .role{font-size:12px;letter-spacing:1px;color:var(--muted)}.slot .name{display:block;font-size:17px;margin-top:4px}.slot .right{margin-left:auto;font:700 24px 'Barlow Condensed',sans-serif;color:var(--lime)}.slot .source{font-size:12px;color:var(--muted);margin-top:3px}.team-bottom{border-top:1px solid var(--line);margin-top:24px;padding-top:22px;display:flex;gap:14px;justify-content:space-between;align-items:center}.team-bottom strong{display:block;font:700 24px 'Barlow Condensed',sans-serif;margin-top:6px}.candidate{margin-top:12px;padding:14px;background:#232c22;border:1px solid #4b5c43;display:block;width:100%;text-align:left;color:var(--text)}.candidate:hover{border-color:var(--lime)}.candidate strong{font-size:17px}.candidate small{display:block;color:var(--muted);font-size:12px;margin:5px 0 10px}.stats{display:flex;gap:15px;font-size:12px}.fit{float:right;color:var(--lime)}footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:25px;margin-top:35px;color:var(--muted);font-size:12px;gap:20px}footer b{color:var(--lime)}dialog{max-width:550px;background:var(--panel);color:var(--text);border:1px solid var(--lime);padding:30px;line-height:1.7}dialog::backdrop{background:#000b}dialog h2{font-size:30px}#season{margin-top:24px}.season-head{display:flex;align-items:center;justify-content:space-between;padding:24px;background:var(--lime);color:#142010}.record{font:900 65px/.9 'Barlow Condensed',sans-serif}.season-head h2{font-size:27px}.battle{border:1px solid var(--line);padding:28px;background:var(--panel);margin-top:14px}.battle-header{display:flex;justify-content:space-between;gap:20px}.battle h3{font:700 35px 'Barlow Condensed',sans-serif;margin:10px 0}.opponents{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0}.opponent{padding:12px;background:#242b24;font-size:14px}.opponent small{display:block;font-size:12px;color:var(--muted);margin-bottom:5px}.tactics{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.tactics button{background:#293429;color:var(--text);padding:13px}.tactics button.selected{background:var(--lime);color:#162211}.battle p{line-height:1.6;color:var(--muted);font-size:14px}.result{border-left:3px solid var(--lime);padding:15px 20px;background:#242e23;margin:20px 0}.result.loss{border-color:#ff947d}.result strong{font:700 28px 'Barlow Condensed',sans-serif}.rounds{display:grid;grid-template-columns:repeat(12,1fr);gap:6px;margin:20px 0}.rounds span{background:#252d25;text-align:center;padding:10px 0;font-size:12px;color:var(--muted)}.rounds .win{background:#ccff5f;color:#162211}.rounds .loss{background:#ff947d;color:#29150e}.arena{color:var(--lime)!important}.restart{margin-top:14px}.hidden{display:none}@media(max-width:1050px){.workspace{grid-template-columns:340px 1fr}.team-bottom{align-items:stretch;flex-direction:column}.edition{display:none}.intro p{max-width:250px}}@media(max-width:740px){header{height:76px;padding:0 5%;gap:12px}.identity{font-size:15px}.identity small{font-size:10px}.quiet{margin-left:auto;padding:8px;font-size:12px}main{padding-top:24px}.topline{font-size:10px}.intro{display:block;margin-top:25px}.intro p{max-width:none;margin-bottom:0}.workspace{grid-template-columns:1fr}.spin-panel,.roster-panel{padding:20px}.wheel-shell{width:220px;height:220px}.pointer{left:98px}.hub{inset:57px}.w1,.w4{top:30px}.w2,.w3{bottom:30px}.opponents{grid-template-columns:repeat(2,1fr)}.battle{padding:20px}.battle-header{display:block}.rounds{grid-template-columns:repeat(8,1fr)}.season-head{padding:20px;gap:15px}.record{font-size:48px}footer{flex-direction:column}.slot{padding:13px}.section-head h2{font-size:19px}}

.simulate-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:18px}.simulate-row .quiet{margin-left:0}.simulate-row p{font-size:14px;color:var(--muted);margin:0}

.season-setup{border-top:1px solid var(--line);margin-top:22px;padding-top:22px}.season-setup .section-note{margin-bottom:0}.battle-log{margin:22px 0}.battle-entry{border-top:1px solid var(--line)}.battle-entry:last-child{border-bottom:1px solid var(--line)}.battle-entry summary{display:grid;grid-template-columns:32px 1fr 52px 100px;gap:12px;align-items:center;cursor:pointer;padding:16px 0;font-size:14px;list-style:none}.battle-entry summary:focus-visible{outline:2px solid var(--lime);outline-offset:2px}.battle-round{color:var(--muted)}.battle-outcome{font-weight:700}.won{color:var(--lime)}.lost{color:#ff947d}.battle-score{text-align:right;font-variant-numeric:tabular-nums}.battle-detail{padding:0 0 15px 44px}.battle-entry[open] .battle-name{color:var(--lime)}@media(max-width:600px){.battle-entry summary{grid-template-columns:25px 1fr 42px;gap:8px}.battle-score{grid-column:2/4;text-align:left;color:var(--muted)}.battle-detail{padding-left:0}.battle-header .restart{width:100%;margin-top:12px}}
