@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&display=swap");:root{color-scheme:light;--sand:#e7d7b9;--paper:#f7f0e3;--paper-deep:#efe4d0;--ink:#30271f;--ink-soft:#554638;--muted:#665747;--line:#cdbb9b;--clay:#8f3f2a;--clay-light:#a95136;--ochre:#c89548;--sage:#4e6749;--rock:#493c30}*{box-sizing:border-box}html{min-height:100%}body,html{background:var(--sand)}body{min-height:100vh;margin:0;color:var(--ink);font:15px/1.5 DM Sans,Trebuchet MS,sans-serif}::selection{background:#bf8650;color:#fff9ef}:focus-visible{outline:3px solid #a45332;outline-offset:3px}button,input{font:inherit}a,button{color:inherit}a{text-underline-offset:4px}.entry-shell,.play-shell,.ranking-shell{min-height:100vh;width:min(100%,1440px);margin:0 auto;padding:28px clamp(20px,6vw,88px) 24px;background-color:var(--sand);background-image:repeating-radial-gradient(ellipse 150px 62px at 14% 23%,transparent 0 32px,rgb(94 66 37/4%) 33px 34px,transparent 35px 69px),repeating-radial-gradient(ellipse 205px 88px at 88% 78%,transparent 0 43px,rgb(94 66 37/3%) 44px 45px,transparent 46px 91px)}.entry-shell{display:flex;flex-direction:column}.landing-shell{min-height:100vh;width:min(100%,1440px);margin:0 auto;padding:26px clamp(20px,6vw,88px) 22px;background-color:var(--sand);background-image:repeating-radial-gradient(ellipse 150px 62px at 14% 23%,transparent 0 32px,rgb(94 66 37/4%) 33px 34px,transparent 35px 69px),repeating-radial-gradient(ellipse 205px 88px at 88% 78%,transparent 0 43px,rgb(94 66 37/3%) 44px 45px,transparent 46px 91px)}.landing-header{display:flex;align-items:center;min-height:64px;padding-bottom:18px;border-bottom:1px solid #c7b592}.landing-hero{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);align-items:center;grid-gap:clamp(36px,7vw,100px);gap:clamp(36px,7vw,100px);min-height:min(720px,calc(100vh - 150px));padding:clamp(52px,8vh,96px) 0}.landing-copy{max-width:510px}.landing-copy h1{margin:0 0 23px;color:var(--ink);font-size:clamp(52px,7vw,88px);font-weight:800;letter-spacing:-.06em;line-height:.98}.landing-copy>p{max-width:42ch;margin-bottom:26px;color:var(--ink-soft);font-size:clamp(15px,1.4vw,18px);line-height:1.65}.landing-button{min-height:54px;gap:22px;padding:0 19px}.landing-button span{font-size:21px;line-height:1}.landing-battlefield{position:relative;min-width:0;min-height:420px;overflow:hidden;border:1px solid #ae9873;border-radius:12px;background:#c9b28b;box-shadow:0 12px 26px rgb(73 52 27/12%);isolation:isolate}.landing-map-grid{position:absolute;z-index:0;inset:0;background-color:#c9b28b;background-image:repeating-radial-gradient(ellipse at 28% 30%,transparent 0 28px,rgb(99 75 46/21%) 29px 30px,transparent 31px 56px),repeating-linear-gradient(0deg,rgb(99 75 46/9%) 0 1px,transparent 1px 42px),repeating-linear-gradient(90deg,rgb(99 75 46/9%) 0 1px,transparent 1px 42px)}.landing-map-grid:after{position:absolute;inset:0;content:"";background:repeating-linear-gradient(154deg,transparent 0 36px,rgb(245 233 207/20%) 37px 39px,transparent 40px 77px)}.landing-map-label{position:absolute;z-index:4;padding:4px 7px;border:1px solid rgb(70 49 29/28%);border-radius:4px;background:#f6ead2;color:#3b2c20;font-size:9px;font-weight:800;letter-spacing:.1em}.landing-map-label-player{top:18%;left:12%}.landing-map-label-rival{right:11%;bottom:17%}.landing-base{position:absolute;z-index:2;display:grid;width:68px;height:68px;place-items:center;border:3px solid #573c2a;border-radius:20px 8px 15px 8px;box-shadow:0 10px 8px rgb(61 42 23/30%);transform:translate(-50%,-50%) rotate(-8deg)}.landing-base:before{position:absolute;top:-9px;left:17px;width:28px;height:14px;border:2px solid #573c2a;border-radius:9px 9px 2px 2px;background:inherit;content:""}.landing-base i{width:24px;height:24px;border:2px solid #573c2a;border-radius:9px 3px 9px 3px;background:rgb(247 240 227/42%)}.landing-base-player{top:34%;left:22%;background:#bd6943}.landing-base-rival{top:68%;left:80%;background:#d0a752}.landing-defense-line{position:absolute;z-index:1;top:49%;left:23%;width:57%;height:2px;background:repeating-linear-gradient(90deg,#5c4b35 0 10px,transparent 10px 16px);opacity:.83;transform:rotate(22deg)}.landing-unit{position:absolute;z-index:3;display:grid;width:38px;height:38px;place-items:center;color:#946039;filter:drop-shadow(0 4px 3px rgb(61 42 23/30%));transform:translate(-50%,-50%)}.landing-unit .unit-glyph{width:38px;height:38px}.landing-unit-one{top:39%;left:43%}.landing-unit-two{top:50%;left:56%;color:#477664}.landing-unit-three{top:60%;left:67%;color:#a74f31}.landing-ore{position:absolute;z-index:2;width:15px;height:15px;border:2px solid #7e451b;border-radius:50%;background:#e77722;box-shadow:0 3px 5px rgb(71 48 25/30%)}.landing-ore-one{top:23%;left:59%}.landing-ore-two{right:23%;bottom:27%}.landing-map-caption{position:absolute;right:14px;bottom:12px;z-index:4;color:#493826;font-size:9px;font-weight:800;letter-spacing:.12em}.landing-footer{padding-top:15px;border-top:1px solid #cbb895}.landing-footer p{max-width:76ch;margin:0;color:#574735;font-size:11px}.brand-lockup{display:inline-flex;align-items:center;gap:12px;color:var(--ink);font-size:22px;font-weight:800;letter-spacing:-.035em;text-decoration:none}.brand-lockup img{border:1px solid rgb(62 42 27/25%);border-radius:12px;object-fit:cover}.entry-layout{display:block;width:min(100%,520px);padding:27px 30px 26px}.entry-layout,.tutorial-content{margin:auto;border:1px solid #d3c1a2;border-radius:15px;background:var(--paper);box-shadow:0 16px 38px rgb(70 49 27/13%)}.tutorial-content{width:min(100%,980px);padding:clamp(24px,4vw,42px)}.tutorial-intro{max-width:68ch;margin-bottom:27px}.tutorial-intro h1{margin-bottom:10px;color:var(--ink);font-size:clamp(34px,4vw,44px);font-weight:800;letter-spacing:-.045em;line-height:1.06}.tutorial-intro p{margin:0;color:var(--ink-soft);font-size:14px}.tutorial-guides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:clamp(20px,3vw,34px);gap:clamp(20px,3vw,34px)}.tutorial-guide{padding-top:17px;border-top:1px solid var(--line)}.tutorial-guide h2{margin-bottom:14px;color:var(--ink);font-size:21px;font-weight:800;letter-spacing:-.03em}.tutorial-guide ol{display:grid;grid-gap:12px;gap:12px;margin:0;padding-left:21px}.tutorial-guide li{padding-left:3px;color:var(--ink-soft);font-size:13px;line-height:1.55}.tutorial-guide li::marker{color:var(--clay);font-weight:800}.tutorial-guide li strong{color:var(--ink)}.tutorial-actions{display:flex;justify-content:flex-start;margin-top:25px}.entry-copy{max-width:none}h1,h2,p{margin-top:0}.entry-copy h1,.match-heading h1,.ranking-heading h1{margin-bottom:9px;color:var(--ink);font-size:clamp(31px,4vw,43px);font-weight:800;letter-spacing:-.045em;line-height:1.06}.entry-copy>p{max-width:43ch;margin-bottom:19px;color:var(--ink-soft);font-size:14px}.match-preview{position:relative;height:106px;max-width:100%;margin-bottom:20px;overflow:hidden;border:1px solid #bfa984;border-radius:9px;background-color:#cdb78f;background-image:repeating-radial-gradient(ellipse at 34% 44%,transparent 0 18px,rgb(101 76 47/22%) 19px 20px,transparent 21px 38px),repeating-linear-gradient(0deg,rgb(99 72 42/8%) 0 1px,transparent 1px 18px)}.match-preview:after,.match-preview:before{position:absolute;width:48%;height:1px;content:"";background:#69543b;transform:rotate(-19deg)}.match-preview:before{top:35px;left:18%}.match-preview:after{top:72px;left:32%;transform:rotate(17deg)}.preview-base{position:absolute;z-index:1;top:23px;display:grid;width:44px;height:44px;place-items:center;border:2px solid #563729;border-radius:7px;box-shadow:0 5px 7px rgb(65 44 26/28%);transform:rotate(45deg)}.preview-base span{width:17px;height:17px;border:2px solid #563729;border-radius:3px;background:rgb(247 240 227/32%)}.preview-base-player{left:21%;background:var(--clay)}.preview-base-rival{top:39px;right:20%;background:var(--ochre)}.preview-route{position:absolute;z-index:2;top:52px;left:48%;display:flex;gap:15px;transform:rotate(45deg)}.preview-route i{width:7px;height:7px;border:1px solid #5b4933;border-radius:2px;background:var(--paper)}.preview-label{position:absolute;right:10px;bottom:7px;z-index:3;color:#493826;font-size:9px;font-weight:800;letter-spacing:.11em}.join-panel{padding:0;border:0;background:transparent;box-shadow:none}.sign-in-panel{display:flex;flex-direction:column;gap:10px}.sign-in-panel .privacy-note{margin-top:1px}.join-panel h2{margin-bottom:17px;color:var(--ink);font-size:19px;font-weight:700;letter-spacing:-.025em;line-height:1.2}.friend-form>label,.join-panel>label{display:block;margin-bottom:7px;color:var(--ink);font-size:12px;font-weight:700}.friend-form input:not([type=hidden]),.join-panel input:not([type]),.join-panel input[type=text]{width:100%;height:46px;padding:0 12px;border:1px solid #b9a584;border-radius:7px;background:#fffaf1;color:var(--ink)}input::placeholder{color:#655541;opacity:1}.field-hint{margin:6px 0 17px;color:#655541;font-size:11px}.mode-picker{margin:0 0 15px;padding:0;border:0}.mode-picker legend{margin-bottom:7px;color:var(--ink);font-size:12px;font-weight:700}.mode-option{display:flex;align-items:center;gap:10px;min-height:57px;padding:8px 10px;border:1px solid #d2c2a6;border-radius:8px;background:#f3ead9;cursor:pointer}.mode-option+.mode-option{margin-top:7px}.mode-option.selected{border-color:#a8673c;background:#eee0c7}.mode-option.unavailable{opacity:.73;cursor:not-allowed}.mode-option input{width:16px;height:16px;margin:0 2px 0 0;accent-color:var(--clay)}.mode-option span{display:grid;flex:1 1;grid-gap:2px;gap:2px}.mode-option strong{color:var(--ink);font-size:12px}.mode-option small{color:#665747;font-size:10px}.mode-option b{color:#75532c;font-size:9px;letter-spacing:.09em}.button{display:inline-flex;min-height:46px;align-items:center;justify-content:space-between;gap:18px;padding:0 15px;border:0;border-radius:7px;font-weight:700;text-decoration:none;cursor:pointer;transition:background-color .16s ease,transform .16s ease}.button:hover:not(:disabled){transform:translateY(-1px)}.button-primary{background:var(--clay);color:#fff7eb}.button-primary:hover{background:var(--clay-light)}.join-button{width:100%;margin-top:2px}.join-button:disabled{opacity:.65;cursor:wait}.privacy-note{margin:11px 0 0;color:#62523f;font-size:10px}.public-notice{margin:auto 0 0;padding-top:16px;border-top:1px solid #cbb895;color:#574735;font-size:11px}.form-error{margin:0 0 11px;color:#853721;font-size:12px}.play-shell,.ranking-shell{display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:18px;border-bottom:1px solid #c7b592}.brand-lockup.compact{gap:9px;font-size:19px}.brand-lockup.compact img{border-radius:9px}.topbar-player{display:flex;align-items:center;gap:10px;color:var(--ink);font-size:12px;font-weight:700}.status-dot{flex:none;width:9px;height:9px;border-radius:50%;background:#8b795f}.status-dot.is-online{background:var(--sage)}.status-dot.is-offline{background:#8b795f}.text-link{text-decoration-thickness:1px}.text-link,.text-link-button{color:#82432d;font-size:11px;font-weight:700}.text-link-button{padding:0;border:0;background:none;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.text-link-button:hover{color:var(--clay)}.topbar-player form{display:inline-flex}.match-heading,.ranking-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:30px 0 19px}.match-heading h1,.ranking-heading h1{margin-bottom:4px;font-size:clamp(34px,5vw,52px)}.match-heading p,.ranking-heading p{margin-bottom:0;color:#5e4d39;font-size:13px}.score-chip{display:grid;grid-gap:1px;gap:1px;min-width:108px;padding:8px 11px;border:1px solid #c7b592;border-radius:9px;background:#f5ecdc;text-align:right}.score-chip span{color:#5e4d39;font-size:9px;font-weight:700;letter-spacing:.12em}.score-chip strong{color:#79502d;font-size:24px;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.05}.match-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.72fr);grid-gap:16px;gap:16px}.battlefield{position:relative;min-height:560px;overflow:hidden;border:1px solid #ae9873;border-radius:13px;background:#c9b28b;box-shadow:0 8px 20px rgb(73 52 27/10%)}.map-grid{position:absolute;inset:0;background-color:#c9b28b;background-image:repeating-radial-gradient(ellipse at 28% 30%,transparent 0 28px,rgb(99 75 46/21%) 29px 30px,transparent 31px 56px),repeating-linear-gradient(0deg,rgb(99 75 46/9%) 0 1px,transparent 1px 42px),repeating-linear-gradient(90deg,rgb(99 75 46/9%) 0 1px,transparent 1px 42px)}.map-grid:after{position:absolute;inset:0;content:"";background:repeating-linear-gradient(154deg,transparent 0 36px,rgb(245 233 207/20%) 37px 39px,transparent 40px 77px)}.map-lane{position:absolute;z-index:1;width:54%;height:2px;background:#7b6240;opacity:.67;transform-origin:left}.lane-one{top:26%;left:24%;transform:rotate(23deg)}.lane-two{top:76%;left:33%;transform:rotate(-32deg)}.base-unit{position:absolute;z-index:2;display:grid;width:96px;height:82px;place-items:center;border:3px solid #573c2a;border-radius:23px 8px 16px 8px;box-shadow:0 12px 8px rgb(61 42 23/30%),inset 0 0 0 5px rgb(255 239 214/18%);transform:translate(-50%,-50%) rotate(-5deg)}.base-unit:before{position:absolute;top:-12px;left:28px;width:34px;height:18px;border:2px solid #573c2a;border-radius:12px 12px 3px 3px;background:inherit;content:""}.base-unit:after{position:absolute;top:9px;right:11px;width:8px;height:8px;border:1px solid #573c2a;border-radius:50%;background:#f5d86b;box-shadow:0 0 6px #f5d86b;content:""}.base-unit span{position:relative;z-index:1;color:#3b2b1e;font-size:11px;font-weight:800;letter-spacing:.08em;line-height:1.2;text-align:center}.friendly-base{top:33%;left:23%;background:#bd6943}.enemy-base{top:70%;right:auto;bottom:auto;left:85%;background:#d0a752}.unit-range-ring{position:absolute;z-index:2;border:2px dashed var(--range-color);border-radius:50%;background:var(--range-fill);opacity:.62;pointer-events:none;transform:translate(-50%,-50%);transition:transform .85s cubic-bezier(.16,1,.3,1);will-change:transform}.range-scout{--range-color:#b75d16;--range-fill:rgb(239 144 55/13%)}.range-ranger{--range-color:#176eaa;--range-fill:rgb(64 151 210/12%)}.range-guardian{--range-color:#a8322f;--range-fill:rgb(197 68 58/12%)}.range-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;color:#514130;font-size:10px;font-weight:700}.range-legend span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.range-legend i{display:inline-block;width:13px;height:13px;border:2px dashed var(--range-color);border-radius:50%;background:var(--range-fill)}.scout-unit{position:absolute;z-index:3;display:grid;width:42px;height:42px;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;color:#895933;cursor:pointer;transform:translate(-50%,-50%);transition:transform .85s cubic-bezier(.16,1,.3,1),box-shadow .15s;will-change:transform}.scout-unit .unit-glyph{width:34px;height:34px;filter:drop-shadow(0 3px 2px rgb(61 42 23/30%))}.unit-glyph .unit-hull{fill:currentColor;stroke:#493523;stroke-width:1.6;stroke-linejoin:round}.unit-glyph .unit-detail{fill:rgb(255 240 213/56%);stroke:#493523;stroke-width:1.2;stroke-linejoin:round}.unit-glyph .unit-mark{fill:none;stroke:#f5ecdc;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.scout-unit.is-selected{box-shadow:0 0 0 3px rgb(245 236 220/92%),0 0 0 5px #45666b}.scout-unit.kind-ranger,.unit-symbol.kind-ranger{color:#477664}.scout-unit.kind-guardian,.unit-symbol.kind-guardian{color:#a74f31}.scout-unit.bot-unit{color:#9e3e2b;cursor:default;pointer-events:none}.scout-unit.bot-unit.kind-ranger{color:#bc7737}.unit-health-mini{position:absolute;bottom:calc(100% + 4px);left:50%;display:block;width:33px;height:4px;overflow:hidden;border:1px solid #473523;border-radius:4px;background:#e7d8bd;transform:translateX(-50%)}.unit-health-mini i{display:block;height:100%;background:#5d7b4e;transition:width .2s linear}.bot-unit .unit-health-mini i{background:#b34f36}.move-target{position:absolute;z-index:2;width:17px;height:17px;border:2px solid #f7efdf;border-radius:50%;box-shadow:0 0 0 2px #594330;pointer-events:none;transform:translate(-50%,-50%);animation:move-target-pulse .8s ease-out both}.map-instructions{position:absolute;z-index:3;top:10px;left:50%;max-width:calc(100% - 24px);padding:6px 9px;overflow:hidden;border:1px solid rgb(75 54 33/26%);border-radius:6px;background:rgb(246 234 210/94%);color:#392b1f;font-size:10px;font-weight:700;line-height:1.25;text-align:center;text-overflow:ellipsis;white-space:nowrap;transform:translateX(-50%)}@keyframes move-target-pulse{0%{opacity:.95;scale:.7}to{opacity:.25;scale:1.6}}.field-tag{position:absolute;z-index:3;padding:3px 6px;border:1px solid rgb(70 49 29/28%);border-radius:4px;background:#f6ead2;color:#3b2c20;font-size:9px;font-weight:800;letter-spacing:.08em}.tag-friendly{top:18%;left:12%}.tag-rival{right:13%;bottom:16%;color:#49351e}.command-panel{display:flex;flex-direction:column;padding:17px;border:1px solid #d0bd9c;border-radius:13px;background:var(--paper);box-shadow:0 8px 20px rgb(73 52 27/9%)}.command-top,.health-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.resource-readout span,.small-label{color:#665747;font-size:9px;font-weight:800;letter-spacing:.14em}.timer{color:#79502d;font-size:23px;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.base-health{margin-top:20px}.health-heading{color:var(--ink);font-size:10px}.health-heading span{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.health-track{height:7px;margin-top:7px;overflow:hidden;border-radius:6px;background:#ddcfb8}.health-track i{display:block;height:100%;border-radius:inherit;background:var(--clay);transition:width .2s}.rival-health .health-track i{background:var(--ochre)}.resource-readout{display:flex;align-items:baseline;justify-content:space-between;margin:21px 0 11px;padding:10px 0;border-top:1px solid #d1c1a7;border-bottom:1px solid #d1c1a7}.resource-readout strong{color:#79502d;font-size:29px;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.command-button{display:flex;align-items:center;gap:10px;min-height:62px;padding:8px;border:1px solid #c8b594;border-radius:9px;background:#efe3ce;text-align:left;cursor:pointer}.button:disabled,.command-button:disabled{opacity:.58;cursor:not-allowed}.unit-symbol{display:grid;width:38px;height:38px;flex:none;place-items:center;color:#895933}.unit-symbol .unit-glyph{width:32px;height:32px}.command-button span:nth-child(2){display:grid;flex:1 1;grid-gap:2px;gap:2px}.command-button strong{color:var(--ink);font-size:11px}.command-button small{color:#665747;font-size:9px}.command-button b{color:#79502d;font-size:8px;letter-spacing:.08em}.unit-training{display:grid;grid-gap:7px;gap:7px}.difficulty-setting{display:grid;grid-template-columns:minmax(105px,auto) minmax(0,190px);align-items:center;grid-gap:4px 9px;gap:4px 9px;margin:0 0 13px;padding:9px 11px;border:1px solid #d0bd9c;border-radius:8px;background:#f5ecdc}.difficulty-setting label{color:#514130;font-size:11px;font-weight:800}.difficulty-setting select{min-height:36px;padding:0 9px;border:1px solid #ab9069;border-radius:5px;background:#fff9ed;color:#392c20;font:inherit;font-size:11px}.difficulty-setting p{grid-column:1/-1;margin:0;color:#665747;font-size:10px;line-height:1.35}.unit-training h2{display:flex;justify-content:space-between;margin:2px 0 1px;color:var(--ink);font-size:12px}.unit-training h2 span{color:#665747;font-size:10px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.unit-training .command-button{min-height:54px}.unit-training .unit-symbol{width:31px;height:31px}.unit-training .unit-symbol .unit-glyph{width:29px;height:29px}.hint{margin:11px 0 0;color:#665747;font-size:10px}.battle-result{position:absolute;z-index:4;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;background:rgb(46 36 27/92%);text-align:center}.battle-result strong{color:#f2dfbf;font-size:39px;font-weight:800;letter-spacing:-.04em}.battle-result span{max-width:30ch;color:#f3e9d8;font-size:12px}.battle-result .button{margin-top:10px}.bottom-nav{display:flex;justify-content:space-between;padding:18px 0}.bottom-nav a{color:#594633;font-size:11px;font-weight:700;text-decoration:none}.bottom-nav a:hover{color:var(--clay)}.match-choice-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(270px,.85fr);grid-gap:16px;gap:16px;align-items:stretch}.match-choice-preview{position:relative;min-height:340px;overflow:hidden;border:1px solid #ae9873;border-radius:13px;background:#c9b28b;box-shadow:0 8px 20px rgb(73 52 27/10%)}.match-choice-preview .map-grid{position:absolute;inset:0}.match-choice-preview .friendly-base{top:32%;left:23%}.match-choice-preview .enemy-base{top:70%;left:82%}.match-choice-preview .tag-friendly{top:17%;left:12%}.match-choice-panel,.mode-panel,.online-result,.waiting-panel{padding:22px;border:1px solid #d0bd9c;border-radius:13px;background:var(--paper);box-shadow:0 8px 20px rgb(73 52 27/9%)}.match-choice-panel{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:11px}.match-choice-panel h2,.mode-panel h2,.online-result h2,.waiting-panel h2{margin:0;color:var(--ink);font-size:24px;font-weight:800;letter-spacing:-.035em;line-height:1.15}.match-choice-panel p,.mode-panel p,.online-result p,.waiting-panel p{margin:0 0 5px;color:var(--ink-soft);font-size:12px}.match-choice-panel .button{width:100%}.bot-start-form{display:grid;width:100%;grid-gap:8px;gap:8px}.bot-start-form .difficulty-setting{margin:0}.button-secondary{border:1px solid #a98f68;background:#eadcc3;color:#382b20}.button-secondary:hover{background:#e3d0ae}.player-mode-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);grid-gap:16px;gap:16px;align-items:start}.mode-panel{min-width:0}.mode-panel .button{margin-top:5px}.open-matches{padding:17px}.open-match-list{margin:0;padding:0;list-style:none}.open-match-list li{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:68px;border-bottom:1px solid #e0d3bc}.open-match-list li:last-child{border-bottom:0}.open-match-list li>span{display:grid;grid-gap:3px;gap:3px;min-width:0}.open-match-list strong{color:var(--ink);font-size:12px}.open-match-list small{color:#665747;font-size:10px}.waiting-panel{display:grid;min-height:170px;align-content:center;grid-gap:8px;gap:8px}.online-match-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 14px}.online-match-heading h2{margin:0 0 4px;color:var(--ink);font-size:28px;font-weight:800;letter-spacing:-.04em}.online-match-heading p{margin:0;color:var(--ink-soft);font-size:12px}.live-pill{display:inline-flex;align-items:center;gap:7px;padding:6px 9px;border:1px solid #9b593a;border-radius:99px;color:#763b27;font-size:9px;font-weight:800;letter-spacing:.12em}.live-pill i{width:7px;height:7px;border-radius:50%;background:#9c3f2b;box-shadow:0 0 0 3px rgb(156 63 43/13%)}.online-battlefield{cursor:crosshair}.online-result{display:flex;min-height:300px;flex-direction:column;align-items:flex-start;justify-content:center;gap:12px}.online-result h2{font-size:35px}.is-private{background:#a48b69}.friend-form-note{margin:6px 0 0;color:#665747;font-size:10px}.layer-switch,.match-view-tabs{display:inline-flex;width:-moz-fit-content;width:fit-content;padding:3px;border:1px solid #bda884;border-radius:8px;background:#e5d5b8}.match-view-tabs{margin:0 0 13px}.layer-switch button,.match-view-tabs button{min-height:35px;padding:0 13px;border:0;border-radius:5px;background:transparent;color:#574735;font-size:11px;font-weight:700;cursor:pointer}.layer-switch button.is-active,.match-view-tabs button.is-active{background:var(--rock);color:#fff2df;box-shadow:0 2px 5px rgb(60 44 28/20%)}.layer-switch button:hover:not(.is-active),.match-view-tabs button:hover:not(.is-active){background:#f2e7d3}.build-resources{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px;padding:9px 11px;border:1px solid #c8b594;border-radius:8px;background:#f5ecdc}.build-resources span{display:inline-flex;align-items:center;gap:6px;padding-right:10px;border-right:1px solid #d8c9ae;color:#514130;font-size:10px;white-space:nowrap}.build-resources span:last-child{padding:0;border:0}.build-resources i{width:8px;height:8px;border:1px solid rgb(45 34 23/35%);border-radius:50%;background:#a84635}.build-resources b{color:#2f281f;font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.build-resources .resource-green i{background:#4e7750}.build-resources .resource-orange i{background:#d37b36}.build-resources .resource-blue i{background:#4d7294}.build-resources .resource-energy i{background:#d4b14d}.structure-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.structure-toolbar p{margin:0;color:#5e4d39;font-size:10px;text-align:right}.structure-screen{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.35fr);grid-gap:15px;gap:15px;align-items:start}.structure-catalog,.structure-map-panel{min-width:0;padding:15px;border:1px solid #d0bd9c;border-radius:12px;background:var(--paper);box-shadow:0 8px 20px rgb(73 52 27/9%)}.structure-catalog>.empty-board{padding:10px 0}.phone-build-hint{display:none}.structure-options{display:grid;grid-gap:6px;gap:6px}.structure-option{display:flex;min-height:66px;align-items:center;gap:9px;padding:8px;border:1px solid #cabb9e;border-radius:7px;background:#f1e5d0;text-align:left;cursor:pointer}.structure-option.is-selected,.structure-option:hover:not(:disabled){border-color:#8c5937;background:#e9d5b4}.structure-option:disabled{opacity:.56;cursor:not-allowed}.structure-option>span:nth-child(2){display:grid;flex:1 1;grid-gap:2px;gap:2px}.structure-option strong{color:var(--ink);font-size:10px}.structure-option small{color:#5f4e3b;font-size:9px;line-height:1.3}.structure-option>b{color:#6d472c;font-size:9px;line-height:1.4;text-align:right}.energy-note{margin:0 0 10px;color:#574735;font-size:10px;line-height:1.45}.structure-mark{display:inline-grid;width:42px;height:40px;flex:none;place-items:center;color:#946039}.structure-mark svg{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 3px 2px rgb(49 34 20/32%))}.structure-body{fill:currentColor}.structure-body,.structure-roof{stroke:#493625;stroke-width:1.8;stroke-linejoin:round}.structure-roof{fill:#d2a15e}.structure-detail{fill:none;stroke:#f5e5c8;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.structure-light{fill:#f5d86b;stroke:#493625;stroke-width:1}.structure-extractor{color:#785238}.structure-habitat{color:#8d6847}.structure-generator{color:#537269}.structure-storage{color:#5c6670}.structure-processor{color:#557148}.structure-barracks{color:#995138}.structure-research{color:#586f88}.tech-tree{display:grid;grid-gap:9px;gap:9px;margin-top:15px;padding-top:13px;border-top:1px solid #d6c5a8}.tech-tree>p{margin:0;color:#5f4e3b;font-size:10px}.tech-branch{display:flex;align-items:center;gap:5px;overflow-x:auto;padding:4px 0}.tech-branch i{width:15px;flex:none;border-top:1px solid #9b815d}.tech-node{flex:none;padding:5px 7px;border:1px solid #c2b08e;border-radius:5px;background:#efe5d2;color:#62513d;font-size:8px;font-weight:700}.tech-node.is-ready{border-color:#8f623e;background:#e9d2ad;color:#57371f}.tech-node.is-done{border-color:#71825e;background:#e1e6d4;color:#3d553c}.tech-tree .button{min-height:38px;justify-content:center;font-size:10px}.structure-map-panel .section-title{margin-bottom:12px}.structure-map-panel .section-title h2{font-size:16px}.rotate-button{min-height:34px;padding:0 9px;border:1px solid #ab9069;border-radius:6px;background:#eadcc3;color:#392c20;font-size:10px;font-weight:700;cursor:pointer}.rotate-button:hover{background:#e0cba7}.build-map{min-height:480px}.build-map,.build-map.is-placing{cursor:crosshair}.map-grid.layer-cavern{background-color:#87755e;background-image:repeating-radial-gradient(ellipse at 28% 30%,transparent 0 28px,rgb(43 35 28/25%) 29px 30px,transparent 31px 56px),repeating-linear-gradient(0deg,rgb(43 35 28/10%) 0 1px,transparent 1px 42px),repeating-linear-gradient(90deg,rgb(43 35 28/10%) 0 1px,transparent 1px 42px)}.resource-patch{position:absolute;z-index:2;width:12px;height:12px;border:2px solid #7e451b;border-radius:50%;background:#f07822;box-shadow:0 2px 3px rgb(53 39 23/32%),0 0 0 2px rgb(240 120 34/20%);transform:translate(-50%,-50%);pointer-events:none}.resource-patch.is-mined{background:#d85e1e}.built-structure,.structure-ghost{position:absolute;z-index:3;display:grid;width:48px;height:46px;place-items:center;border:0;border-radius:0;background:transparent;box-shadow:none;transform:translate(-50%,-50%)}.built-structure.is-building{opacity:.75}.built-structure>small{position:absolute;top:-13px;left:50%;padding:2px 4px;border:1px solid #493625;border-radius:3px;background:#f5ecdc;color:#392c20;font-size:8px;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap;transform:translateX(-50%)}.built-structure .structure-mark,.structure-ghost .structure-mark{width:47px;height:43px}.rival-building{filter:saturate(.75) hue-rotate(-12deg)}.structure-ghost{z-index:5;border-style:dashed;opacity:.78;pointer-events:none}.training-countdown{margin:4px 0;padding:7px 8px;border:1px solid #b99b6f;border-radius:5px;background:#eddfc4;color:#593e27;font-size:10px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.training-queues{display:grid;grid-gap:5px;gap:5px;margin:0 0 12px;padding:9px 10px;border:1px solid #d0bd9c;border-radius:7px;background:#f5ecdc}.training-queues p{margin:0;color:#514130;font-size:10px;line-height:1.4;overflow-wrap:anywhere}.training-queues strong{color:#392c20}.ranking-heading{padding-bottom:24px}.ranking-layout{display:grid;grid-template-columns:minmax(230px,.72fr) minmax(0,1.65fr);grid-gap:18px;gap:18px;align-items:start}.friends-panel,.leaderboard{border:1px solid #d0bd9c;border-radius:12px;background:var(--paper);box-shadow:0 7px 18px rgb(73 52 27/8%)}.friends-panel{padding:17px}.section-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:11px;border-bottom:1px solid #d6c5a8}.section-title h2{margin:0;color:var(--ink);font-size:20px;font-weight:700;letter-spacing:-.03em;line-height:1.1}.section-title>span{color:#665747;font-size:8px;font-weight:800;letter-spacing:.1em}.friend-list{margin:0;padding:0;list-style:none}.friend-list li{display:flex;align-items:center;gap:9px;min-height:41px;border-bottom:1px solid #e0d3bc}.friend-name{min-width:0;flex:1 1;overflow:hidden;color:var(--ink);font-size:11px;font-weight:700;text-overflow:ellipsis}.friend-status{color:#665747;font-size:9px}.friend-list b{min-width:28px;color:#79502d;font-size:16px;font-weight:800;text-align:right}.empty-friends{display:grid;grid-gap:5px;gap:5px;padding:17px 0;color:#665747;font-size:11px}.empty-friends strong{color:var(--ink)}.empty-board{margin:0;padding:13px 0 2px;color:#665747;font-size:11px}.friend-form{margin-top:18px;padding-top:14px;border-top:1px solid #d6c5a8}.friend-form>div{display:flex;gap:7px}.friend-form input:not([type=hidden]){height:40px;min-width:0;flex:1 1}.friend-form button{width:42px;border:0;border-radius:7px;background:var(--clay);color:#fff7eb;font-size:20px;font-weight:600;cursor:pointer}.friend-form button:disabled{opacity:.6}.inline-error,.inline-success{margin:7px 0 0;font-size:10px}.inline-error{color:#853721}.inline-success{color:#3e5b3c}.boards-column{display:grid;grid-gap:11px;gap:11px}.leaderboard{padding:14px 16px 9px}.leaderboard ol{margin:0;padding:0;list-style:none}.leaderboard li{display:flex;align-items:center;gap:12px;min-height:37px;border-bottom:1px solid #e0d3bc}.leaderboard li:last-child{border:0}.leaderboard li.is-current{background:#eee0c9}.rank-number{width:23px;color:#705c45;font-size:13px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.rank-name{display:flex;align-items:center;gap:8px;flex:1 1;min-width:0;color:var(--ink);font-size:11px;font-weight:700}.rank-name small{padding:2px 5px;border-radius:4px;background:#e5d3b3;color:#704829;font-size:7px;letter-spacing:.08em}.leaderboard li>strong{color:#79502d;font-size:16px;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.leaderboard li>strong small{color:#665747;font-size:7px;letter-spacing:.06em}.ranking-shell .public-notice{margin-top:24px}@media (max-width:760px){.landing-shell{padding:18px 16px}.landing-header{min-height:58px}.landing-hero{grid-template-columns:1fr;gap:30px;min-height:auto;padding:48px 0 30px}.landing-copy h1{margin-bottom:18px;font-size:clamp(46px,12vw,64px)}.landing-copy>p{margin-bottom:21px;font-size:15px}.landing-battlefield{min-height:0;aspect-ratio:1.18/1}.landing-base{width:56px;height:56px}.landing-base i{width:20px;height:20px}.landing-footer{padding-top:12px}.entry-shell,.play-shell,.ranking-shell{padding:18px 16px}.brand-lockup{font-size:20px}.entry-layout{width:min(100%,520px)}.entry-layout,.tutorial-content{padding:22px 20px}.tutorial-guides{grid-template-columns:1fr;gap:18px}.tutorial-guide h2{font-size:19px}.tutorial-guide li{font-size:12px}.tutorial-actions .button{width:100%}.entry-copy h1{font-size:32px}.entry-copy>p{margin-bottom:15px;font-size:13px}.match-preview{display:none}.match-heading,.ranking-heading{align-items:flex-start;padding-top:24px;flex-wrap:wrap}.match-heading>div:first-child,.ranking-heading>div:first-child{min-width:0}.match-heading h1,.ranking-heading h1{font-size:38px}.match-heading p,.ranking-heading p{max-width:34ch;font-size:12px}.score-chip{min-width:82px;padding:7px 8px}.score-chip strong{font-size:21px}.match-grid{grid-template-columns:1fr}.battlefield{min-height:520px}.base-unit{width:82px;height:82px;border-radius:9px}.base-unit span{font-size:9px}.friendly-base{top:33%;left:23%}.enemy-base{top:70%;right:auto;bottom:auto;left:85%}.command-panel{padding:15px}.ranking-layout{gap:14px}.match-choice-layout,.player-mode-layout,.ranking-layout{grid-template-columns:1fr}.match-choice-preview{min-height:260px}.match-choice-panel,.mode-panel,.online-result,.waiting-panel{padding:18px}.friends-panel{padding:15px}.boards-column{gap:10px}.leaderboard{padding:12px 14px 8px}.structure-screen{grid-template-columns:1fr}.structure-map-panel{grid-row:auto}.phone-build-hint{display:inline}.build-map{min-height:390px}.build-resources{gap:6px}.build-resources span{padding-right:6px;font-size:9px}.structure-toolbar{align-items:flex-start;flex-direction:column}.structure-toolbar p{text-align:left}}@media (max-width:420px){.landing-shell{padding-right:15px;padding-left:15px}.landing-hero{padding-top:40px}.landing-button{width:100%}.landing-map-caption{right:8px;bottom:8px;font-size:8px}.landing-map-label{font-size:8px}.topbar{align-items:flex-start}.topbar-player{flex-wrap:wrap;justify-content:flex-end;max-width:185px}.topbar-player .text-link{flex-basis:100%;text-align:right}.match-heading,.ranking-heading{gap:11px}.difficulty-setting{grid-template-columns:minmax(0,1fr)}.difficulty-setting select{width:100%;min-width:0}.match-heading h1,.ranking-heading h1{font-size:34px}.online-match-heading{align-items:flex-start}.online-match-heading h2{font-size:24px}.score-chip{min-width:74px}.battlefield{min-height:390px}.build-map{min-height:350px}.layer-switch button,.match-view-tabs button{padding:0 9px;font-size:10px}.structure-catalog,.structure-map-panel{padding:12px}.structure-map-panel .section-title{align-items:flex-start}.rotate-button{flex:none}.leaderboard li{gap:8px}}@media (prefers-reduced-motion:reduce){.scout-unit{transition:none}.move-target{animation:none;opacity:.55}}