:root{color-scheme:dark;--bg:#080b18;--panel:#10182c;--panel2:#151e33;--muted:#8a9cb9;--line:#283650;--cyan:#61eaff;--violet:#a08eff;--gold:#ffcb7b;--danger:#ff687d;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none}*{box-sizing:border-box}body{background:radial-gradient(ellipse at 30% -12%,#213156 0,transparent 48%),radial-gradient(ellipse at 98% 92%,#171333 0,transparent 40%),var(--bg);color:#ecf5ff;margin:0;min-height:100dvh}.shell{max-width:1230px;margin:auto;padding:20px 26px 20px}.masthead{display:flex;justify-content:space-between;align-items:center;padding:7px 0 19px}.brand{display:flex;align-items:center;gap:13px}.brandmark{width:43px;height:43px;background:linear-gradient(140deg,#213f61,#292552);border:1px solid #54708b;border-radius:13px;display:grid;place-items:center;color:var(--cyan);font-size:33px;box-shadow:inset 0 0 12px #51d9ff22}.brand b{font-weight:900;font-size:25px;letter-spacing:2px;line-height:1}.brand b span,.intro-pane h1 span{color:var(--cyan)}.brand small{display:block;color:#8496b5;font-size:9px;letter-spacing:1.8px;margin-top:7px}.mast-right{color:#a7b4ca;font-size:12px;display:flex;align-items:center;gap:10px}.version{border:1px solid #34445b;padding:5px 8px;border-radius:6px;color:var(--cyan)}.online-dot{width:6px;height:6px;background:#54f8c1;border-radius:50%;box-shadow:0 0 10px #54f8c1}.gamebox{border:1px solid #32415e;border-radius:15px;overflow:hidden;background:#0c1325;box-shadow:0 18px 65px #0008,0 0 50px #26a8dd0a}.gamebar{min-height:73px;background:linear-gradient(180deg,#19253c,#101a2d);display:flex;align-items:center;gap:18px;padding:12px 21px;border-bottom:1px solid #334159}.stat{min-width:115px}.stat i{font-style:normal;color:#8496b3;display:block;letter-spacing:1.5px;font-size:10px;font-weight:800;margin-bottom:7px}.stat strong{font-size:19px;font-weight:850;white-space:nowrap;letter-spacing:.3px}.stat .gold{color:var(--gold)}.mini-meter{height:4px;width:100px;background:#2a3245;border-radius:10px;overflow:hidden;margin-top:6px}.mini-meter>span{display:block;height:100%;border-radius:10px;background:linear-gradient(90deg,#45eea3,#6eeaff);transition:width .25s}.iconbtn{margin-left:auto;border:1px solid #41516c;border-radius:9px;background:#1d2940;color:#b9def1;width:41px;height:39px;font-size:24px;cursor:pointer}.field{position:relative;background:#090f1f;overflow:hidden}canvas{display:block;width:100%;height:auto;aspect-ratio:16/9;touch-action:manipulation;cursor:crosshair}.corner-label{position:absolute;bottom:15px;font-size:10px;font-weight:800;letter-spacing:1.35px;color:#82adc0;pointer-events:none}.left-corner{left:17px}.right-corner{right:17px;color:#ebc882}.toast{position:absolute;left:50%;top:21px;transform:translate(-50%,-10px);opacity:0;background:#192943eb;border:1px solid #64dcf1;color:white;padding:10px 17px;border-radius:10px;font-weight:700;font-size:13px;z-index:6;transition:all .25s;pointer-events:none;white-space:nowrap}.toast.show{opacity:1;transform:translate(-50%,0)}.actionbar{display:flex;align-items:center;gap:17px;min-height:92px;padding:12px 18px;background:linear-gradient(180deg,#17223b,#101729);border-top:1px solid #2a3b56}.selection{display:flex;align-items:center;gap:12px;min-width:200px;max-width:235px}.selection-indicator{color:var(--cyan);border:1px solid #435e7a;border-radius:9px;display:grid;place-items:center;min-width:40px;height:42px;font-size:27px}.selection b{display:block;font-size:12px;margin-bottom:5px;white-space:nowrap}.selection small{font-size:10px;line-height:1.5;color:#99aac4;display:block}.build-controls{display:flex;gap:8px;flex:1;min-width:0;overflow-x:auto}.toolbtn{background:#1d2a44;border:1px solid #43516c;display:flex;align-items:center;gap:9px;min-width:128px;border-radius:10px;padding:9px;cursor:pointer;text-align:left;color:#ecf4ff;transition:border .2s,transform .2s}.toolbtn:hover:not(:disabled){border-color:var(--cyan);transform:translateY(-1px)}.toolbtn:disabled{opacity:.43;cursor:not-allowed}.toolbtn .icon{width:34px;height:34px;flex-shrink:0;border-radius:8px;background:#14293b;display:grid;place-items:center;font-size:23px}.toolbtn b,.toolbtn small{display:block}.toolbtn b{font-size:11px}.toolbtn small{color:var(--gold);font-size:11px;margin-top:4px}.wave-actions{display:flex;gap:8px;align-items:center}.primary,.secondary{cursor:pointer;border-radius:9px;font-family:inherit;white-space:nowrap;font-weight:900;font-size:12px;letter-spacing:.5px;min-height:41px;padding:0 15px;transition:filter .2s,transform .2s}.primary{border:1px solid #89f7ff;background:linear-gradient(115deg,#72f5ff,#66b7f9);color:#071224;box-shadow:0 4px 18px #35cfe82c}.primary:hover:not(:disabled),.secondary:hover:not(:disabled){filter:brightness(1.13);transform:translateY(-1px)}.primary:disabled{filter:grayscale(.85);opacity:.6;cursor:not-allowed}.secondary{background:#253651;border:1px solid #485979;color:#cce6ff}.primary span{margin-left:5px}.speed{min-width:54px}.footer{display:flex;justify-content:space-between;gap:15px;align-items:center;color:#8295af;font-size:11px;padding:14px 5px}.footer b{color:#d0deec;letter-spacing:.8px;margin-right:7px}.footer .tips{color:#aa98cf}.modal{position:absolute;inset:0;z-index:10;display:grid;place-items:center;padding:14px}.modal.hidden{display:none}.modal-backdrop{position:absolute;inset:0;background:linear-gradient(#050b19dc,#060b1fe9);backdrop-filter:blur(5px)}.intro-pane,.upgrade-pane{position:relative;z-index:1;border:1px solid #3a577b;border-radius:18px;padding:23px 29px;max-width:540px;width:min(100%,540px);text-align:center;background:radial-gradient(ellipse at top,#263857,#10192ce8 68%);box-shadow:0 0 70px #1a94e324}.eyebrow{color:#6de9f4;font-size:10px;font-weight:900;letter-spacing:2.2px}.big-symbol{color:#62ebff;font-size:68px;line-height:1.1;text-shadow:0 0 30px #3beaff98;margin:8px}.intro-pane h1{margin:4px 0 8px;font-weight:950;letter-spacing:5px;font-size:39px}.intro-pane p,.upgrade-pane p{font-size:13px;line-height:1.7;color:#bbc9de;max-width:390px;margin:8px auto 17px}.intro-features{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;margin-bottom:15px}.intro-features span{border:1px solid #4a5974;border-radius:25px;padding:6px 9px;background:#202a46;font-size:10px;color:#d6e7f3}.meta{border:1px solid #415272;background:#10182d;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;text-align:left;border-radius:10px;margin-bottom:13px}.meta small,.result-grid small{display:block;font-size:9px;color:#90a4c0;letter-spacing:1px;margin-bottom:5px}.meta b{font-size:14px;color:#ffd293}.small{font-size:11px;min-height:35px}.large{width:100%;min-height:49px;font-size:13px;letter-spacing:1.6px}.footnote{font-size:10px;color:#90a2bc;line-height:1.5;display:block;margin-top:13px}.upgrade-pane{max-width:720px;width:100%;padding:24px}.upgrade-pane h2,.end-pane h2{font-size:25px;margin:10px 0}.upgrade-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin:18px 0}.upgrade-card{color:white;text-align:left;border:1px solid #4b5c7c;border-radius:12px;padding:15px;background:linear-gradient(130deg,#1d304a,#24203f);cursor:pointer;min-height:164px}.upgrade-card:hover{border-color:#77ecff;box-shadow:0 0 20px #59deff30}.upgrade-card span{display:block;font-size:31px;color:#74ebff;margin:4px 0 12px}.upgrade-card b{display:block;margin-bottom:9px;font-size:13px}.upgrade-card small{font-size:11px;line-height:1.5;color:#bbcee5;display:block}.wave-next{font-size:10px;letter-spacing:.7px;color:#99abc4}.broken{color:#ff7f92}.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:14px 0}.result-grid>div{background:#10172c;border:1px solid #46526c;border-radius:9px;padding:12px 8px}.result-grid b{font-size:24px;color:#ffd188}@media (max-width:1000px){.shell{padding:12px}.actionbar{flex-wrap:wrap;gap:8px}.build-controls{order:3;flex-basis:100%;justify-content:center}.selection{flex:1;max-width:none}.gamebar{gap:17px}.masthead{padding-bottom:13px}}@media(max-width:600px){.shell{padding:7px}.brand b{font-size:20px}.brandmark{height:35px;width:35px;font-size:26px}.brand small{font-size:7px}.mast-right{font-size:9px}.gamebar{min-height:60px;padding:9px 11px;gap:10px}.stat{min-width:0;flex:1}.stat i{font-size:8px;letter-spacing:.4px;margin-bottom:5px}.stat strong{font-size:13px}.mini-meter{width:100%;height:3px}.killstat{display:none}.iconbtn{font-size:18px;width:30px;height:30px;flex:0 0 30px}.corner-label{font-size:6px;bottom:5px}.left-corner{left:6px}.right-corner{right:6px}.actionbar{padding:9px}.selection-indicator{height:34px;min-width:35px;font-size:20px}.selection b{font-size:11px}.selection small{font-size:9px}.toolbtn{min-width:104px;padding:7px}.toolbtn .icon{height:28px;width:27px;font-size:18px}.toolbtn b,.toolbtn small{font-size:10px}.primary,.secondary{padding:0 11px;font-size:10px;min-height:35px}.footer{font-size:9px;line-height:1.5}.tips{display:none}.intro-pane{padding:12px 14px;border-radius:12px}.big-symbol{font-size:36px;margin:3px}.intro-pane h1{font-size:26px;margin:3px}.intro-pane p{font-size:10px;margin:5px auto}.intro-features{margin-bottom:6px}.intro-features span{font-size:8px;padding:3px 6px}.meta{margin-bottom:7px;padding:5px 7px}.meta small,.meta b{font-size:9px}.small{min-height:28px;font-size:9px}.large{min-height:34px;font-size:11px}.footnote{font-size:8px;margin-top:5px}.eyebrow{font-size:8px}.upgrade-pane{padding:12px}.upgrade-pane h2{font-size:19px;margin:5px 0}.upgrade-pane p{font-size:10px;margin:5px auto}.upgrade-cards{gap:5px;margin:7px 0}.upgrade-card{padding:8px;min-height:105px}.upgrade-card span{font-size:19px;margin:0 0 4px}.upgrade-card b{font-size:10px;margin:0 0 4px}.upgrade-card small{font-size:8px}.wave-next{font-size:8px}}@media(max-width:410px) and (orientation:portrait){.field{min-height:235px}.field canvas{height:235px;object-fit:fill}.modal{padding:5px}.intro-pane{max-width:310px}.intro-pane p{line-height:1.4}.footnote{display:none}}@media(max-height:510px) and (orientation:landscape){.shell{max-width:920px;padding:0 5px}.masthead{padding:4px 0}.brandmark{height:27px;width:27px;font-size:20px}.brand b{font-size:15px}.brand small{display:none}.gamebar{min-height:36px;padding:4px 10px}.stat i{margin-bottom:2px;font-size:7px}.stat strong{font-size:12px}.mini-meter{display:none}.field{max-height:calc(100dvh - 138px)}canvas{height:auto;max-height:calc(100dvh - 138px);object-fit:contain}.actionbar{min-height:45px;padding:4px 8px;flex-wrap:nowrap}.selection{min-width:170px;flex:none}.selection-indicator{height:28px;min-width:28px}.selection small{display:none}.build-controls{order:unset;flex:1;flex-basis:auto;justify-content:unset}.toolbtn{padding:3px 6px;min-width:95px}.toolbtn .icon{height:24px;width:24px;font-size:16px}.primary,.secondary{min-height:30px}.footer{padding:3px;font-size:8px}.intro-pane{padding:6px 14px;max-width:480px}.intro-pane h1{font-size:24px}.intro-pane p{font-size:10px;margin:3px auto}.intro-features{margin:4px 0}.big-symbol{font-size:22px;line-height:1;margin:0}.meta{padding:3px 8px;margin:4px 0}.footnote{display:none}.large{min-height:30px}.upgrade-pane{padding:9px}.upgrade-pane h2{font-size:18px;margin:3px}.upgrade-pane p{margin:3px}.upgrade-cards{margin:5px}.upgrade-card{min-height:90px;padding:6px}.upgrade-card span{font-size:17px;margin:0}.upgrade-card b{font-size:10px}.upgrade-card small{font-size:8px}.result-grid{margin:6px 0}.result-grid>div{padding:5px}.result-grid b{font-size:14px}}
/* Keep the start, reward, and results dialogs fully usable in portrait mode. */
@media(max-width:600px) and (orientation:portrait){
  .field:has(.modal:not(.hidden)){min-height:380px}
  .field:has(.modal:not(.hidden)) canvas{height:380px}
}
