:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#21382c;background:#f5f4ee;font-synthesis:none;--ink:#21382c;--muted:#667366;--line:#d9ded2;--accent:#dcee8b}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);padding:10px 15px;font-weight:600}button:hover:not(:disabled){border-color:#6c8064;background:#f2f6e8}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #809b35;outline-offset:3px}a{color:inherit}.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);max-width:1240px;margin:auto;padding:0 28px}.brand{font-size:25px;font-weight:750;letter-spacing:-1px;text-decoration:none;display:flex;align-items:center;gap:12px}.brand>span:last-child{font-size:14px;font-weight:500;letter-spacing:0;color:var(--muted)}.brand-mark{display:grid;place-items:center;background:var(--accent);border:1px solid var(--ink);width:40px;height:40px;border-radius:50%;font-family:Georgia,serif;font-style:italic;font-size:30px}.header-right,.game-tools{display:flex;align-items:center;gap:15px}.tag{font-size:11px;font-weight:750;letter-spacing:1.2px;border:1px solid var(--line);border-radius:30px;padding:8px 12px;white-space:nowrap}.text-button{background:transparent;border:0;padding:7px;font-size:12px;text-decoration:underline;text-underline-offset:4px}.primary{background:var(--ink);border-color:var(--ink);color:#fff;padding:15px 24px;border-radius:8px;white-space:nowrap}.primary:hover:not(:disabled){background:#38543c;color:#fff}.primary span{margin-left:35px}main{max-width:1184px;margin:0 auto;padding:0 28px;min-height:75vh}h1{font:normal 53px/1.07 Georgia,"Times New Roman",serif;letter-spacing:-1.5px;margin:12px 0 18px}h2{font-size:19px;margin:0;font-weight:650}p{line-height:1.6;color:var(--muted)}.eyebrow{font-size:10px;font-weight:750;letter-spacing:2px;color:#647352}.fine{font-size:11px}.login-panel{max-width:680px;margin:85px auto 100px}.login-panel h1{font-size:64px}.login-panel form{max-width:540px;margin-top:38px}label{font-size:12px;font-weight:600;display:block;margin-bottom:8px}.login-row{display:flex;gap:12px}input,select{border:1px solid var(--line);border-radius:7px;padding:12px;background:#fff;color:var(--ink);min-width:0}input{flex:1}.lobby-heading{padding:50px 0 35px;display:flex;align-items:center;justify-content:space-between;gap:35px}.lobby-heading p:last-child{font-size:14px;margin-bottom:0}.model-card{background:#e9eddf;border:1px solid #d5dcc6;padding:24px;border-radius:12px;display:flex;flex-direction:column;gap:10px;min-width:225px;font-size:10px;letter-spacing:1px;position:relative}.status-dot{position:absolute;right:20px;top:26px;width:7px;height:7px;background:#6f8a3d;border-radius:50%}.model-card strong{font:normal 28px Georgia,serif;letter-spacing:0;margin-top:5px}.model-card>span:not(.status-dot){font-size:11px;letter-spacing:0;color:var(--muted)}.model-card small{font-size:9px;color:var(--muted)}.section-title{display:flex;align-items:center;justify-content:space-between;margin:12px 0 18px}.section-title span{font-size:12px;color:var(--muted)}.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.team-card{text-align:left;padding:15px;background:#fcfcf8;border:1px solid var(--line);border-radius:10px;min-width:0;position:relative}.team-card.selected{border:2px solid #49613a;padding:14px;background:#eff4dd}.team-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.team-card h3{font-size:13px;margin:0;line-height:1.5}.team-number{font-size:10px;color:var(--muted);font-weight:400}.sprite-row{display:flex;justify-content:space-between;align-items:center;margin:16px -7px 5px}.sprite-row img{width:16.66%;height:52px;object-fit:contain;image-rendering:pixelated}.team-names{font-size:10px;line-height:1.6;font-weight:400;color:var(--muted)}.team-roster{font-size:11px;font-weight:400;line-height:1.5;border-top:1px solid var(--line);margin-top:12px;padding-top:5px}.team-roster p{margin:7px 0}.team-roster strong{color:var(--ink)}.launch-bar{position:sticky;bottom:14px;margin:24px 0 44px;background:#fff;box-shadow:0 6px 25px #21382c15;border:1px solid var(--line);border-radius:10px;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px}.launch-bar>div{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.launch-bar strong{font-size:13px}.launch-bar label{margin:0;color:var(--muted)}.launch-bar select{font-size:12px;max-width:260px;padding:8px}.game-heading{display:flex;align-items:center;justify-content:space-between;margin:30px 0 25px;gap:12px}.game-heading h1{font-size:32px;margin:4px 0}.game-heading p{margin:0}.game-grid{display:grid;grid-template-columns:minmax(0,640px) minmax(280px,1fr);gap:24px}.battle-column{min-width:0}#battle-shell{width:100%;height:360px;position:relative;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:#d5ded0}#battle{position:absolute;left:0;top:0;border:0;transform-origin:top left;box-sizing:content-box}#battle *{box-sizing:content-box}#battle-log{position:relative;inset:auto;width:100%;height:245px;padding:15px;background:#fff;border:1px solid var(--line);border-radius:10px;font-size:12px;overflow:auto;color:#283328;box-sizing:border-box}#battle-log .battle-history{padding:0}#battle-log .battle-log-add{display:none}.log-heading{display:flex;align-items:center;justify-content:space-between;margin:19px 0 9px}.log-heading h2{font-size:14px}#controls{background:#fff;border:1px solid var(--line);border-radius:12px;padding:21px;align-self:start;min-height:360px}#controls h2{font:normal 25px Georgia,serif;letter-spacing:-.4px;margin-bottom:10px}#controls p{font-size:12px}.preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.preview-pick{padding:9px 6px;position:relative;display:flex;align-items:center;flex-direction:column;gap:2px;font-size:11px}.preview-pick img{width:75px;height:66px;object-fit:contain;image-rendering:pixelated}.preview-pick.selected{background:#eff4dd;border-color:#70863f}.pick-badge{position:absolute;left:7px;top:6px;border-radius:20px;background:var(--ink);color:#fff;font-size:10px;width:22px;height:22px;display:grid;place-items:center}.preview-order{font-size:12px;line-height:1.9;padding:10px 0;min-height:62px;color:var(--muted)}.control-footer{display:flex;gap:8px;margin-top:15px;flex-wrap:wrap}.control-footer .primary{flex:1;padding:12px 14px;font-size:13px}.moves{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.move{padding:12px 9px;text-align:left;min-height:72px;background:#f7f8f2}.move strong{font-size:12px;display:block;line-height:1.4}.move small{display:block;font-size:9px;font-weight:500;color:var(--muted);margin-top:8px}.move.selected{border-color:#6b823e;background:#eaf2d1}.mega-row{display:flex;gap:8px;align-items:center;margin:12px 0;font-size:12px}.mega-row input{flex:none}.subheading{display:block;font-size:10px;letter-spacing:1px;font-weight:650;color:var(--muted);margin:20px 0 8px}.targets,.switches{display:grid;gap:7px}.targets button,.switches button{font-size:12px;text-align:left;display:flex;justify-content:space-between;align-items:center}.target-ally{background:#fff7e3}.action-summary{font-size:12px;padding:11px;background:#f2f5e9;border-radius:8px;margin-bottom:9px;line-height:1.7}.action-summary small{display:block;color:var(--muted)}.sheet-panel{margin:25px 0 40px;padding:18px;border:1px solid var(--line);border-radius:10px;font-size:12px}summary{cursor:pointer;font-weight:650}#sheets{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:20px}.sheet-mon{padding:9px 0;border-bottom:1px solid var(--line);line-height:1.8}.sheet-mon strong{display:flex;justify-content:space-between}.sheet-mon span{color:var(--muted);font-weight:400}.sheet-mon small{color:var(--muted)}#error{background:#fff0db;border:1px solid #dfb168;border-radius:8px;padding:14px 18px;margin-top:18px;font-size:13px}.result{font:normal 36px Georgia,serif;margin:30px 0 15px}.result-mark{font-size:40px}footer{display:flex;justify-content:space-between;gap:20px;max-width:1184px;margin:35px auto 0;padding:24px 28px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}[hidden]{display:none!important}
@media(max-width:1000px){.team-grid{grid-template-columns:1fr 1fr}.game-grid{grid-template-columns:minmax(0,1.6fr) minmax(270px,1fr);gap:15px}.game-tools{gap:4px}.game-heading h1{font-size:27px}}
@media(max-width:720px){.site-header{height:72px;padding:0 18px}.brand{font-size:22px;gap:8px}.brand>span:last-child{display:none}main{padding:0 16px}h1,.login-panel h1{font-size:43px}.login-panel{margin:55px 0}.login-row{flex-direction:column}.lobby-heading{padding-top:32px;display:block}.model-card{margin-top:25px;padding:18px;min-width:0;gap:7px}.model-card strong{font-size:22px}.team-grid{gap:9px}.team-card{padding:11px}.team-card.selected{padding:10px}.team-card h3{font-size:11px}.sprite-row{flex-wrap:wrap;margin:6px 0}.sprite-row img{width:33.33%;height:45px}.team-names{font-size:9px}.launch-bar{bottom:8px;padding:12px;gap:10px}.launch-bar>div{gap:5px;display:block}.launch-bar label{display:none}.launch-bar strong{display:block;font-size:11px;margin-bottom:8px}.launch-bar select{max-width:180px}.launch-bar>.primary{padding:14px;font-size:12px}.game-grid{display:flex;flex-direction:column}.game-heading{flex-wrap:wrap;margin-top:22px}.game-heading h1{font-size:28px}.game-tools{width:100%;justify-content:space-between;margin-top:10px}#controls{width:100%;min-height:0}.preview-grid{grid-template-columns:repeat(3,1fr)}.preview-pick img{height:50px}.preview-order{min-height:0}.game-tools .tag{font-size:10px}#battle-log{height:180px}#sheets{grid-template-columns:1fr}footer{padding:20px 16px;display:block;line-height:2}footer>span{display:block}.header-right{gap:6px}.header-right .tag{padding:6px 8px;font-size:9px}}
