:root{--ink:#173c3c;--muted:#687875;--paper:#f7f6ef;--line:#dedfd5;--teal:#22665f;--lime:#d9e8a6;--gold:#eec06d;--navy:#123b4b;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,a,input,summary{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.45}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,summary:focus-visible,canvas:focus-visible{outline:3px solid #d28038;outline-offset:4px}button{border:0}button:hover:not(:disabled){filter:brightness(.96)}button:active:not(:disabled){transform:translateY(1px)}.wrap{max-width:1360px;margin:auto;padding:0 44px}.site-header{height:86px;border-bottom:1px solid var(--line)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:11px;font-size:23px;font-weight:850;letter-spacing:-1px}.brand-symbol{width:38px;height:38px;background:var(--ink);color:#e8dbad;display:grid;place-items:center;border-radius:11px;font-size:25px}.brand-sub{font-size:9px;letter-spacing:2.4px;font-weight:650;color:var(--muted);display:block;margin-top:1px}.nav{display:flex;align-items:center;gap:29px;font-size:13px;font-weight:650}.nav a[aria-current=page]{color:var(--teal)}.nav .play-nav{background:var(--ink);color:#f6f5e9;padding:12px 20px;border-radius:6px}.intro{padding-top:37px;padding-bottom:29px;display:flex;justify-content:space-between;gap:20px;align-items:center}.eyebrow{font-size:10px;font-weight:750;letter-spacing:1.5px;margin:0 0 10px;line-height:1.5}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#7d9c66;margin-right:7px;vertical-align:middle}h1{font-size:clamp(33px,4.2vw,56px);letter-spacing:-2.5px;line-height:1.05;margin:0 0 13px;font-weight:780}h1>span{color:#bc7952}.lead{font-size:14px;color:var(--muted);margin:0;line-height:1.6}.intro-aside{display:flex;gap:13px;align-items:center;font-size:13px}.intro-aside strong{display:block;margin-bottom:4px}.intro-aside div>span{font-size:11px;color:var(--muted)}.island-mark{font-size:38px;color:#85a18c}.beta{font-size:9px;letter-spacing:1px;font-weight:700;padding:7px 9px;border:1px solid var(--line);border-radius:4px;margin-left:15px}.game-shell{border:1px solid #bdc8bc;border-radius:12px;overflow:hidden;box-shadow:0 13px 34px #233d3011}.game-top{background:#183f41;color:#edf0db;display:flex;align-items:center;justify-content:space-between;padding:11px 18px;font-size:10px;letter-spacing:1.1px;min-height:51px}.map-label{display:flex;align-items:center;gap:9px;font-weight:700}.map-dot{height:7px;width:7px;border-radius:2px;background:var(--lime)}.muted-label{color:#8fa9a1;font-size:9px;margin-left:3px}.game-tools{display:flex;gap:5px}.icon-button{color:#dce7db;background:#285151;border:1px solid #486462;font-size:11px;letter-spacing:0;border-radius:4px;min-height:30px;min-width:34px;padding:4px 9px}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px}.battle-column{background:#245265;min-width:0}.hud{height:67px;display:flex;align-items:center;justify-content:space-around;color:#eff2dd;background:#204c51;border-bottom:1px solid #ffffff17}.hud>div{display:flex;align-items:center;gap:10px}.hud-icon{font-size:22px}.gold{color:#f0c879}.heart{color:#f0a18d}.wave{color:#b1d5c8;font-size:29px}.hud small{display:block;font-size:8px;letter-spacing:1.3px;color:#b3c5b9;font-weight:600;margin-bottom:4px}.hud strong{font-size:19px;font-weight:650;line-height:1;display:block;font-variant-numeric:tabular-nums}.hud em{font-size:12px;font-style:normal;color:#adc7c0}.board{position:relative;aspect-ratio:900/650;isolation:isolate}canvas{display:block;width:100%;height:100%;touch-action:manipulation;cursor:crosshair}.board-badge{position:absolute;top:15px;left:17px;pointer-events:none;background:#183f4bdd;border:1px solid #eaf6e224;color:#dae5d3;border-radius:5px;padding:8px 10px;font-size:10px;box-shadow:0 2px 5px #14394222}.board-badge .live-dot{background:#e9c676}.battle-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#183f49;color:#a9c6bd;padding:12px 16px;font-size:10px;min-height:45px}.tiny-key{color:#d1dfc1;margin-right:5px}.text-button{background:transparent;color:inherit;font-size:11px;text-decoration:underline;padding:5px}.command{padding:23px 20px 17px;background:#f9f9f0;display:flex;flex-direction:column;min-width:0}.command-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.command-heading .eyebrow{font-size:9px;color:#758474;margin-bottom:5px}.command h2{font-size:22px;letter-spacing:-.8px;margin:0;font-weight:730}.command-number{font-size:33px;font-weight:350;color:#cbd0bd}.tower-shop{display:grid;gap:8px}.tower-card{display:flex;align-items:center;gap:10px;background:#f3f3e9;border:1px solid #dcdfd0;border-radius:7px;text-align:left;padding:12px 10px;min-height:67px;position:relative}.tower-card.selected{border-color:#517e67;background:#e8eddb;box-shadow:inset 3px 0 0 #517e67}.tower-card.unaffordable{opacity:.65}.tower-icon{height:35px;width:35px;border-radius:8px;display:grid;place-items:center;font-size:27px;flex-shrink:0;border:1px solid #c9bb8b;background:#ebd7a3;color:#715632}.tower-icon.bomb{background:#e9c0a8;color:#8a4b34;border-color:#d8ad92}.tower-icon.frost{background:#d4e8e1;color:#44828a;border-color:#b8d5cf;font-size:24px}.tower-copy{flex:1}.tower-copy strong{display:block;font-size:12px;margin-bottom:5px}.tower-copy small{font-size:7px;letter-spacing:.55px;color:#778472;font-weight:650;white-space:nowrap}.price{font-size:12px;font-weight:750}.price i{font-style:normal;color:#bb9244;font-size:9px}.inspect{padding:17px 0 12px;min-height:135px;font-size:11px;line-height:1.65;color:var(--muted)}.inspect .eyebrow{font-size:9px;margin-bottom:5px;color:#466655}.inspect p{margin:0 0 5px}.stat-line{font-size:9px;display:block}.stat-line b{color:#b2b8a3;margin:0 3px}.inspect-tip{padding-top:9px;color:#75836d;font-size:10px}.inspect-tip span{font-size:16px;color:#4f7b63}.tower-actions{display:flex;gap:7px;margin-top:10px}.tower-actions button{border-radius:4px;font-size:10px;padding:10px 8px;min-height:38px}.upgrade{background:#26685e;color:#fff;flex:1}.sell{background:#eaeadd;color:#586756}.site-selector{font-size:10px;border-top:1px solid var(--line);padding:9px 0}.site-selector summary{cursor:pointer;min-height:27px;padding:5px 0;color:#6c7c6a}.site-selector summary span{float:right;letter-spacing:2px}.site-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:5px;padding:5px 0}.site-grid button{height:35px;border:1px solid #c8d0bd;background:#edf0e1;border-radius:4px}.site-grid button.occupied{background:#bdd4bf}.site-grid button.active{outline:2px solid #386e5c}.wave-control{margin-top:auto;padding-top:16px;border-top:1px solid var(--line)}.next-wave{display:flex;justify-content:space-between;flex-wrap:wrap;gap:5px;margin-bottom:11px}.next-wave span{font-size:8px;color:#839078;letter-spacing:1px;font-weight:700}.next-wave strong{font-size:10px;font-weight:650}.primary{background:var(--teal);color:#f7f9e9;font-size:13px;font-weight:650;padding:14px 18px;border-radius:6px;width:100%;display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:46px}.primary span{font-size:19px;font-weight:400}.wave-progress{height:3px;background:#e0e3d5;margin-top:14px;overflow:hidden;border-radius:3px}.wave-progress>span{display:block;width:0;height:100%;background:#7fa778;transition:width .3s}.wave-control>p{font-size:9px;line-height:1.6;text-align:center;color:#8b9480;margin:9px 0 0}.announcement{font-size:11px;color:#6b7e6e;line-height:1.6;min-height:22px;margin:13px 0 0}.overlay{position:absolute;inset:0;background:#103b4659;backdrop-filter:blur(3px);z-index:4;display:grid;place-items:center;padding:20px}.overlay[hidden]{display:none}.modal{background:#fbf8e9;border:1px solid #e7dfc2;border-radius:13px;padding:29px 30px;max-width:380px;width:100%;box-shadow:0 20px 55px #10354455;text-align:center;max-height:100%;overflow:auto}.modal .eyebrow{color:#81916f;font-size:9px}.modal-emblem{font-size:36px;color:#497d67;margin-bottom:9px;line-height:1.1}.modal h2{font-size:29px;letter-spacing:-1px;margin:0 0 12px;line-height:1.1}.modal p{font-size:12px;color:#6a7969;line-height:1.75;margin:0 0 17px}.modal .primary{justify-content:center}.modal .text-button{margin-top:8px;color:#65816b;min-height:34px}.modal small{display:block;margin-top:12px;font-size:9px;color:#829074;line-height:1.5}.modal-steps{display:flex;justify-content:center;gap:14px;margin:18px 0;font-size:9px;color:#6a7d66}.modal-steps b{display:block;color:#396e5f;font-size:15px;margin-bottom:5px}.result-stats{display:flex;justify-content:space-around;margin:19px 0 23px}.result-stats strong{display:block;font-size:24px}.result-stats span{font-size:8px;letter-spacing:1px;color:#798773}.secondary{border:1px solid #9eaf94;border-radius:5px;background:transparent;font-size:11px;font-weight:650;padding:13px 15px;display:flex;gap:12px;align-items:center;justify-content:space-between;width:100%;min-height:44px}.below-game{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:48px;padding:55px 0 47px;border-bottom:1px solid var(--line)}.brief h2,.home-faq h2{font-size:31px;letter-spacing:-1.2px;line-height:1.15;margin:0 0 17px;font-weight:680}.brief .eyebrow,.logbook .eyebrow,.home-faq .eyebrow{color:#87917c;font-size:9px}.brief>p:not(.eyebrow){font-size:12px;color:var(--muted);line-height:1.9;margin-bottom:18px}.inline-link{font-size:11px;font-weight:700;border-bottom:1px solid #92a58d;padding-bottom:5px}.inline-link span{margin-left:19px}.mission-steps{display:grid;gap:23px;padding-top:4px}.mission-steps article{display:flex;gap:16px}.mission-steps article>span{font-size:10px;color:#8aa083;border:1px solid #d6ddcb;border-radius:50%;min-width:28px;height:28px;display:grid;place-items:center}.mission-steps h3{margin:0 0 6px;font-size:12px}.mission-steps p{margin:0;font-size:11px;color:var(--muted);line-height:1.8}.logbook{background:#eef0e2;border:1px solid #dde2cf;border-radius:8px;padding:22px;height:fit-content}.logbook h3{font-size:19px;letter-spacing:-.5px;margin:0 0 23px}.log-stats{display:flex;justify-content:space-between;margin-bottom:23px}.log-stats strong{font-size:25px;font-weight:650;display:block}.log-stats span{font-size:7px;letter-spacing:1px;color:#829177;display:block;margin-top:4px}.logbook>p:last-child{font-size:9px;color:#8b9581;text-align:center;margin:12px 0 0}.home-faq{display:grid;grid-template-columns:1fr 2fr;padding:40px 0 50px;gap:50px}.home-faq details{border-bottom:1px solid var(--line);font-size:12px;padding:15px 0}.home-faq summary{cursor:pointer;font-weight:600;line-height:1.5}.home-faq details p{color:var(--muted);line-height:1.9}.site-footer{border-top:1px solid var(--line);padding:24px 0 28px}.footer-inner{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#85907f;gap:20px}.footer-inner nav{display:flex;gap:22px}.footer-brand{font-weight:750;color:#58715e;font-size:13px;letter-spacing:-.4px}.footer-inner p{margin:7px 0 0;font-size:9px}.skip-link{position:absolute;left:20px;top:-70px;background:var(--ink);color:white;padding:12px;z-index:100}.skip-link:focus{top:15px}.article{max-width:850px;padding-top:55px;padding-bottom:70px}.article h1{font-size:46px;line-height:1.15;margin-bottom:22px}.article h2{font-size:24px;letter-spacing:-.5px;margin:35px 0 12px}.article h3{font-size:17px;margin:25px 0 10px}.article p,.article li{font-size:14px;line-height:1.9;color:#62736a}.article ul,.article ol{padding-left:24px}.article a:not(.primary){text-decoration:underline;color:#26685e}.article .primary{width:fit-content;margin-top:30px;min-width:190px}.article table{width:100%;border-collapse:collapse;font-size:12px;margin:24px 0}.article th,.article td{text-align:left;border-bottom:1px solid var(--line);padding:12px 8px;line-height:1.7}.article th{background:#eceee1}.table-scroll{overflow-x:auto}.workshop-item{border:1px solid #d8dfca;border-radius:6px;padding:12px;margin-bottom:9px;text-align:left}.workshop-item strong{font-size:12px}.workshop-item p{margin:5px 0 9px;font-size:10px}.workshop-item button{font-size:11px;background:#dce7c6;border-radius:4px;padding:10px;width:100%;min-height:40px}.reset-save{margin-top:23px;padding-top:16px;border-top:1px solid var(--line)}.reset-save button{background:transparent;text-decoration:underline;font-size:12px;color:#8c5442;padding:8px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(min-width:1450px){.wrap{max-width:1450px}.game-layout{grid-template-columns:minmax(0,1fr) 310px}.command{padding:28px 24px}.tower-card{min-height:78px}.tower-copy strong{font-size:13px}.tower-copy small{font-size:8px}.inspect{padding:25px 0}}
@media(max-width:1100px){.wrap{padding-left:28px;padding-right:28px}.game-layout{grid-template-columns:minmax(0,1fr) 259px}.command{padding:18px 15px 14px}.intro-aside .beta{display:none}.tower-card{gap:7px;padding:10px 8px}.tower-copy small{font-size:6.5px}.tower-icon{width:30px;height:33px}.inspect{padding-top:12px;min-height:125px}.below-game{gap:28px}.command-heading{margin-bottom:13px}.hud{height:60px}.site-selector{padding:5px 0}.wave-control{padding-top:10px}}
@media(max-width:800px){.intro-aside{display:none}.game-layout{grid-template-columns:minmax(0,1fr)}.command{padding:18px;display:grid;grid-template-columns:1fr 1fr;gap:12px 20px}.command-heading{display:none}.tower-shop{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.tower-card{min-height:66px;flex-wrap:wrap;gap:7px}.tower-copy{min-width:65px}.tower-copy small{font-size:6.5px}.tower-card .price{position:absolute;right:8px;bottom:7px;font-size:10px}.tower-copy strong{font-size:11px;margin-bottom:7px}.tower-icon{height:32px;width:28px;font-size:25px}.inspect{grid-column:1;grid-row:2/4;min-height:100px;padding:0;font-size:11px}.site-selector{grid-column:1;grid-row:4;align-self:start}.wave-control{grid-column:2;grid-row:2/5;border-top:0;border-left:1px solid var(--line);padding:0 0 0 20px;margin:0}.next-wave{display:block;margin-bottom:13px}.next-wave strong{display:block;margin-top:7px;font-size:12px}.board{aspect-ratio:900/650}.battle-footer{min-height:45px}.below-game{grid-template-columns:1fr 1fr;gap:30px}.logbook{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.logbook h3{grid-column:1;grid-row:2;margin-bottom:10px}.logbook .log-stats{grid-column:2;grid-row:1/3;margin-bottom:0}.logbook .secondary{grid-column:1}.logbook>p:last-child{grid-column:2;align-self:center}.home-faq{gap:25px;grid-template-columns:1fr 1.7fr}.hud{height:65px}.board-badge{font-size:10px}.nav{gap:21px}.intro{padding-top:28px}.modal{max-width:340px}.game-top{padding:10px 14px}}
@media(max-width:520px){.wrap{padding-left:16px;padding-right:16px}.site-header{height:70px}.brand{font-size:21px;gap:8px}.brand-symbol{width:33px;height:33px;font-size:22px}.brand-sub{font-size:7px;letter-spacing:1.8px}.nav{gap:16px;font-size:11px}.nav .field-guide-nav{display:none}.nav .play-nav{display:none}.intro{padding-top:24px;padding-bottom:23px}.intro .eyebrow{font-size:8px;letter-spacing:1.1px}h1{font-size:38px;letter-spacing:-1.8px;margin-bottom:10px}.lead{font-size:11px;max-width:285px;line-height:1.8}.game-shell{border-radius:9px}.game-top{padding:10px;min-height:48px;letter-spacing:.6px}.map-label{font-size:8px;gap:5px}.muted-label{display:none}.game-tools{gap:4px}.icon-button{font-size:9px;min-height:30px;min-width:29px;padding:4px 7px}.hud{height:58px}.hud-icon{font-size:18px}.hud>div{gap:6px}.hud small{font-size:6.5px;letter-spacing:.8px}.hud strong{font-size:16px}.hud em{font-size:10px}.board-badge{top:9px;left:9px;font-size:8px;padding:6px 8px;max-width:75%}.battle-footer{padding:9px 11px;font-size:8px;gap:5px;min-height:43px}.battle-footer .text-button{font-size:9px}.command{padding:13px 11px;gap:13px 10px;grid-template-columns:1.06fr 1fr}.tower-shop{gap:5px}.tower-card{padding:9px 7px 20px;display:block;min-height:102px}.tower-icon{width:30px;height:29px;font-size:22px;margin-bottom:7px}.tower-copy strong{font-size:10px;margin-bottom:5px}.tower-copy small{font-size:5.5px;letter-spacing:.3px}.tower-card .price{top:12px;right:6px;bottom:auto;font-size:9px}.inspect{font-size:10px}.inspect .eyebrow{font-size:8px}.stat-line{font-size:8px;line-height:1.9}.inspect-tip{font-size:9px}.wave-control{padding-left:12px}.next-wave span{font-size:7px}.next-wave strong{font-size:10px}.primary{padding:11px 12px;font-size:11px;min-height:44px}.wave-control>p{font-size:8px}.site-selector summary{font-size:9px;min-height:36px}.site-grid{grid-template-columns:repeat(4,1fr)}.site-grid button{min-height:36px}.tower-actions{flex-wrap:wrap;gap:5px}.tower-actions button{padding:9px 6px;min-height:38px}.sell{flex:1}.announcement{font-size:9px;margin-top:11px;line-height:1.8}.below-game{padding-top:32px;padding-bottom:30px;grid-template-columns:1fr;gap:28px}.brief h2{font-size:29px}.brief h2 br{display:none}.brief>p:not(.eyebrow){font-size:12px}.mission-steps{gap:19px}.logbook{grid-column:auto;display:block;padding:21px}.logbook h3{margin-bottom:20px}.logbook .log-stats{margin-bottom:23px}.home-faq{padding:30px 0 36px;display:block}.home-faq h2{font-size:26px;margin-bottom:10px}.home-faq details{font-size:11px;padding:15px 0}.footer-inner{display:block}.footer-inner nav{margin-top:20px;gap:24px;font-size:10px}.modal{padding:19px 20px;max-width:292px;border-radius:10px}.modal-emblem{font-size:25px;margin-bottom:6px}.modal .eyebrow{font-size:7px;margin-bottom:8px}.modal h2{font-size:23px;margin-bottom:8px}.modal p{font-size:10px;margin-bottom:11px;line-height:1.7}.modal-steps{font-size:8px;gap:15px;margin:11px 0}.modal-steps b{font-size:12px;margin-bottom:3px}.modal small{font-size:7px;margin-top:8px}.overlay{padding:13px}.modal .primary{min-height:40px;padding:10px 13px}.modal .text-button{min-height:27px;margin-top:4px;font-size:10px}.result-stats{margin:13px 0}.result-stats strong{font-size:20px}.result-stats span{font-size:7px}.workshop-item{padding:8px;margin-bottom:7px}.workshop-item p{font-size:8px;margin:3px 0 6px}.workshop-item button{min-height:35px;padding:8px;font-size:10px}.modal:has(.workshop-item){max-height:97%}.article{padding-top:35px;padding-bottom:45px}.article h1{font-size:35px}.article p,.article li{font-size:13px}.article h2{font-size:22px}.article table{font-size:10px}.article td,.article th{padding:9px 5px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}
