/* Shared touch workshop framing; each tool keeps its game-specific setting. */
.planner:is([data-planner=buildings],[data-planner=research],[data-planner=apc]){max-width:1100px;padding:18px 18px 35px;--gw-sheet-top:170px}
:is([data-planner=buildings],[data-planner=research],[data-planner=apc]) .p-live-dock{display:none!important}
.gw-workshop{max-width:820px;margin:auto;background:#18222c;border:1px solid #5f6670;border-radius:22px;overflow:clip;isolation:isolate;box-shadow:0 24px 70px #0007;color:#f2efdf;position:relative}
.gw-toolbar{display:flex;align-items:center;gap:18px;padding:15px 22px;background:linear-gradient(#343b40,#22282c);border-bottom:1px solid #96998055}.gw-toolbar>a{font-size:34px;width:30px}.gw-toolbar>div{flex:1}.gw-toolbar small{font-size:9px;letter-spacing:.17em;color:#c1bea7}.planner .gw-toolbar h1{font-size:27px;letter-spacing:-.025em;line-height:1.15;color:#fff1c5;text-shadow:0 2px #161a21}.planner .gw-toolbar button{padding:7px 12px;background:#414849;border-color:#747c7b;min-height:36px}
.gw-live{display:grid;grid-template-columns:1.2fr 1fr;position:sticky;top:0;z-index:20;gap:1px;background:#9aa28344;border-bottom:1px solid #8e987b88;box-shadow:0 7px 18px #0004}.planner .gw-live button{border:0;border-radius:0;background:linear-gradient(125deg,#242f37,#343b35);padding:13px 20px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;min-width:0}.gw-live small{font-size:8px;letter-spacing:.13em;color:#bec9b4}.gw-live strong{font-size:25px;color:#ffe083;font-variant-numeric:tabular-nums;line-height:1.3}.gw-live strong span{font-size:13px}.gw-live button:nth-child(2) strong{font-size:17px;color:#c3eb9a}
.planner .gw-bottom-actions,.gw-apc-tools,.gw-tree-tools{display:flex;gap:1px;background:#69857e44;border-block:1px solid #6e807a66}.planner :is(.gw-bottom-actions,.gw-apc-tools,.gw-tree-tools) button{flex:1;border:0;border-radius:0;background:linear-gradient(#3c4f50,#263738);font-size:12px;color:#e4e5c5;padding:12px 8px;min-width:0}.gw-note{font-size:10px;color:#a9b9b5;text-align:center;padding:10px 20px;margin:0!important;background:#17232a}
.planner .gw-backdrop{position:fixed;inset:var(--gw-sheet-top) 0 0;z-index:80;background:#10192377;backdrop-filter:blur(3px);border:0;border-radius:0;cursor:default}.planner .gw-backdrop:hover{background:#10192377}
.gw-sheet{position:fixed;top:var(--gw-sheet-top);bottom:20px;right:max(20px,calc((100vw - 1220px)/2));width:400px;max-height:750px;z-index:81;border:1px solid #a3aa96;background:linear-gradient(140deg,#354249,#202d35);color:#f4efdc;border-radius:18px;box-shadow:0 20px 65px #0009;display:flex;flex-direction:column;animation:gw-open .2s ease-out}
.gw-sheet>header{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:12px 18px;border-bottom:1px solid #8da18d55;background:#59635644;border-radius:18px 18px 0 0}.gw-sheet header h2{font-size:20px;color:#ffdf91}.planner .gw-sheet header button{font-size:26px;padding:0;width:40px;min-height:40px;height:40px;background:#48564e;border-color:#9ba58a;border-radius:50%;flex-shrink:0}.gw-sheet-body{overflow-y:auto;overscroll-behavior:contain;padding:18px;scrollbar-width:thin;min-height:0}.gw-sheet .p-panel,.gw-sheet .p-card{border:0;background:transparent;padding:0}.gw-sheet .p-grid,.gw-sheet .p-control-grid{display:grid;grid-template-columns:1fr;gap:14px}.gw-sheet .p-stat-grid{grid-template-columns:1fr 1fr}.gw-sheet .p-stat strong{font-size:21px}.gw-sheet .p-control{padding:14px 0;border-bottom:1px solid #a0ae9533}.gw-sheet .p-control-label{color:#d5ddca}.gw-sheet .p-select{margin:12px 0}.gw-sheet .p-effect-list{font-size:12px}.gw-sheet .p-effect-list strong{color:#c8ee94}.gw-sheet .p-card-head{display:flex;gap:12px;align-items:center}.gw-sheet .p-card-head h3{font-size:18px}.gw-sheet-body>h3{margin-top:18px}.gw-actions{display:grid;gap:10px;margin:18px 0}.planner .gw-actions button{background:linear-gradient(#68998c,#365e58);border-color:#99cbb6;color:#fff8df}.gw-sheet .p-costs{gap:6px}.gw-sheet .p-cost{padding:8px}.gw-sheet .p-cost strong{font-size:15px}
.gw-workshop input[type=range]{accent-color:#e7d28b;appearance:none;-webkit-appearance:none;background:transparent;height:44px}.gw-workshop input[type=range]::-webkit-slider-runnable-track{height:8px;border:1px solid #9ca789;border-radius:6px;background:linear-gradient(#59736a,#394d48);box-shadow:0 2px 2px #0006}.gw-workshop input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:25px;height:25px;border-radius:7px;background:linear-gradient(135deg,#fff1b0,#b99f60);border:2px solid #fff0ca;transform:rotate(45deg);margin-top:-10px;box-shadow:0 2px 4px #0005}.gw-workshop input[type=range]::-moz-range-track{height:8px;background:#59736a}.gw-workshop input[type=range]::-moz-range-thumb{width:24px;height:24px;background:#e7d28b;border:2px solid #fff0ca;border-radius:7px}.planner .gw-workshop .p-step{background:linear-gradient(#667464,#3f524a);border-color:#a3ae90;color:#ffedb8}.planner .gw-workshop input.p-number{padding:4px;appearance:textfield;-moz-appearance:textfield;text-align:center}.gw-workshop input.p-number::-webkit-inner-spin-button{appearance:none;-webkit-appearance:none}
/* A compact settlement arranged around the Watchtower and shared prerequisites. */
.gw-buildings{background:#3f4b38;border-color:#88926c}.gw-buildings .gw-toolbar{background:linear-gradient(#4d5940,#2f3e32)}.gw-town{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 30px;padding:55px 32px 35px;background:radial-gradient(ellipse at 48% 35%,#6e8456,#364b38 65%,#243b35);isolation:isolate;min-height:500px}.gw-town:before{content:'';position:absolute;inset:15px;border:7px double #c0bea14d;border-radius:48% 20% 40% 20%;transform:rotate(-5deg);z-index:-1;box-shadow:0 0 0 14px #263b3266}.gw-town-roads{position:absolute;inset:25px;background:linear-gradient(28deg,transparent 43%,#aa9e7188 44%,#c2b47d77 48%,transparent 49%),linear-gradient(-25deg,transparent 37%,#aa9e7188 38%,#c2b47d77 42%,transparent 43%),linear-gradient(90deg,transparent 47%,#b1a36f55 48%,#a18e6255 53%,transparent 54%);z-index:-1;opacity:.7}.gw-map-label{position:absolute;left:22px;top:18px;font-size:9px;letter-spacing:.2em;color:#d5daba88}.planner .gw-building{padding:6px 0 12px;position:relative;display:flex;flex-direction:column;gap:3px;border:0;background:transparent;color:#ffefd1;border-radius:20px;min-width:0;align-self:center;transition:transform .18s}.planner .gw-building:hover{background:#e6eea822;transform:translateY(-4px)}.gw-building .game-icon{width:135px;height:125px;filter:drop-shadow(0 12px 5px #17281788)}.gw-building strong{font-size:12px;text-shadow:0 2px 2px #102419;text-align:center}.gw-building>span{font-size:10px;padding:3px 9px;background:#1e372cd9;border:1px solid #a8b48088;border-radius:6px;color:#dfedbe}.gw-building>b{position:absolute;top:12px;right:-2px;font-size:9px;border:1px solid #f6e19c;background:#896f33;color:#fff3bb;padding:3px 5px;border-radius:5px;box-shadow:0 2px 6px #0005}.gw-building.is-required .game-icon{filter:drop-shadow(0 0 13px #ffe88a66) drop-shadow(0 8px 6px #17281788)}.gw-tower{grid-column:2;grid-row:1}.gw-tower .game-icon{width:165px;height:145px}.gw-town .gw-building:nth-of-type(2){grid-column:1;grid-row:1}.gw-town .gw-building:nth-of-type(3){grid-column:3;grid-row:1}.gw-path-preview{padding:18px 22px;background:#233d34;display:flex;gap:8px;flex-wrap:wrap}.gw-path-preview>span{width:100%;font-size:9px;letter-spacing:.13em;color:#b8c7a4}.planner .gw-path-preview button{background:#385144;border-color:#708469;border-radius:9px;font-size:11px;padding:7px;gap:7px;flex:1;min-width:160px}.gw-path-preview button>.game-icon{width:35px;height:35px}.gw-path-preview button>span{text-align:left}.gw-path-preview small{display:block;font-size:9px;color:#bdd297}.gw-path-preview button>b{color:#efdc97;font-size:13px}.gw-path-preview>p{font-size:12px;color:#bcccbb;margin:5px 0}.gw-building-catalog{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.planner .gw-building-catalog button{display:flex;flex-direction:column;padding:6px;gap:4px;background:#385447;border-color:#7c9277;min-width:0}.gw-building-catalog .game-icon{width:75px;height:75px}.gw-building-catalog span{font-size:11px}.gw-building-catalog small{font-size:9px;color:#cedaaf}
/* Extracted tree positions and links, with a fixed Centre control. */
.gw-research{background:#20393b;border-color:#648e8c}.gw-research .gw-toolbar{background:linear-gradient(#375f60,#233e42)}.gw-centre-control{display:flex;align-items:center;gap:18px;padding:5px 24px;background:linear-gradient(120deg,#436761,#233e3c);border-bottom:1px solid #7aab8c66}.gw-centre-control>.game-icon{width:70px;height:70px}.gw-centre-control>.p-control{flex:1}.gw-tree-types{display:flex;gap:7px;overflow-x:auto;padding:12px 15px;background:#172f36;scrollbar-width:thin}.planner .gw-tree-types button{flex-shrink:0;background:#2c4b50;border:1px solid #607f77;font-size:11px;border-radius:9px;padding:8px 12px;min-height:40px;color:#d2e6d5}.planner .gw-tree-types .active{color:#fff0b3;border-color:#dcc779;background:linear-gradient(#728260,#455f48);box-shadow:0 0 10px #ffd66e22}.gw-tree-scroll{overflow:auto;max-height:640px;min-height:350px;background:radial-gradient(ellipse at top,#335758,#203c43 60%);scrollbar-color:#85afa1 #203b3d;scrollbar-width:thin;overscroll-behavior:contain;position:relative}.gw-tree{position:relative;margin:auto;background-image:linear-gradient(#77c5bb08 1px,transparent 1px),linear-gradient(90deg,#77c5bb08 1px,transparent 1px);background-size:24px 24px}.gw-tree svg{position:absolute;inset:0;pointer-events:none;overflow:visible}.gw-tree path{fill:none;stroke:#b4ce94;stroke-width:3;filter:drop-shadow(0 0 3px #9bcb9666);stroke-linejoin:round}.planner .gw-node{position:absolute;transform:translate(-50%,-50%);width:86px;height:90px;background:transparent;border:0;padding:0;border-radius:13px;display:flex;flex-direction:column;gap:0;isolation:isolate;overflow:visible}.gw-node>.game-icon{height:67px;width:67px;background:linear-gradient(135deg,#809b89,#2f5152);border:2px solid #b4cead;border-radius:12px;padding:5px;box-shadow:inset 0 0 0 3px #fff2,0 4px 0 #122a31,0 6px 12px #0b202888}.gw-node>b{position:absolute;top:57px;background:#162d2f;border:1px solid #9dbb96;border-radius:5px;font-size:11px;line-height:1.5;padding:0 5px;color:#eaf6d0;white-space:nowrap}.gw-node>b>span{color:#99b99d;font-weight:500;font-size:9px}.gw-node>strong{position:absolute;top:81px;font-size:10px;line-height:1.15;font-weight:700;color:#dfecda;max-width:108px;width:106px;text-shadow:0 1px #182c27}.gw-node.is-locked>.game-icon{filter:saturate(.4);border-color:#768b82;background:#304747}.gw-node.is-locked>strong{color:#99b3ad}.gw-node.is-planned>.game-icon{border-color:#ffe588;box-shadow:0 0 16px #ffdf6577}.gw-node.is-ready>.game-icon{border-color:#bbed9c}.gw-node i{position:absolute;right:6px;top:1px;border-radius:50%;background:#1b2d2d;color:#a2bcb1;font-size:17px;width:22px;height:22px;font-style:normal}.gw-node:hover>.game-icon{box-shadow:0 0 18px #d9ef9f88}.gw-empty{padding:35px;text-align:center;font-size:13px;color:#c4d6c3}
/* APC turntable and chipset circuit layout. */
.gw-apc{background:#1f252e;border-color:#626973}.gw-apc .gw-toolbar{background:linear-gradient(#35363a,#22262c)}.gw-apc .gw-live{background:#67778e44}.gw-apc .gw-live button{background:linear-gradient(130deg,#26313e,#323a45)}.gw-vehicle-stage{height:480px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 10%,#63707433,transparent 70%),linear-gradient(#1d2932 60%,#292b2f);isolation:isolate}.gw-turntable{position:absolute;left:9%;right:9%;height:150px;bottom:32px;border-radius:50%;border:2px solid #79818c55;background:radial-gradient(ellipse,#55595b,#282e34 70%);box-shadow:0 12px 0 #121920,0 24px 40px #0008;z-index:-1}.gw-vehicle-stage>.gw-vehicle-art{position:absolute;left:4%;width:92%;height:80%;object-fit:contain;top:10%;filter:drop-shadow(0 20px 10px #0007);z-index:-1;animation:gw-open .4s ease-out}
.planner .gw-part{position:absolute;width:75px;height:76px;padding:3px;border:2px solid #e7c9ad;border-radius:12px;box-shadow:inset 0 0 0 3px #ffffff22,0 4px 0 #101720,0 8px 15px #0005;display:block}.gw-part .game-icon{width:100%;height:100%}.gw-part small{position:absolute;bottom:3px;right:4px;font-size:12px;color:white;text-shadow:1px 1px #111,-1px -1px #111}.gw-part-1{left:28px;top:25px}.gw-part-2{left:18px;top:155px}.gw-part-3{left:35px;top:295px}.gw-part-4{right:28px;top:25px}.gw-part-5{right:18px;top:155px}.gw-part-6{right:35px;top:295px}.planner .gw-vehicle-name{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);border:0;background:#1d242cb3;color:#ffd68a;font-size:19px;padding:5px 22px;border-radius:10px;white-space:nowrap;min-height:36px;text-shadow:0 2px #111}.gw-vehicle-name span{color:#b49a70}.planner .gw-mod-skill{position:absolute;bottom:55px;left:50%;transform:translateX(-50%);background:#1c2837d9;border-color:#a3ad9a;border-radius:12px;padding:7px 15px;gap:12px;box-shadow:0 5px 20px #0008}.gw-mod-skill>.game-icon{width:55px;height:55px}.gw-mod-skill span{font-size:11px}.gw-mod-skill b{display:block;font-size:22px;color:#ffe086}.gw-mode-tabs{display:flex;background:#202936;gap:2px}.planner .gw-mode-tabs button{flex:1;border:0;border-radius:0;min-height:61px;background:linear-gradient(#2e3743,#1d2632);color:#bdc7d4;font-size:16px;font-weight:800}.planner .gw-mode-tabs .active{background:linear-gradient(#767c9b,#4f5975);color:#fff6d1;border-top:3px solid #e7d4a4;text-shadow:0 2px #31374d}.gw-set-art>.game-icon{width:100%;height:180px;object-fit:contain}
.gw-chip-board{position:relative;height:460px;max-width:500px;margin:auto;background:radial-gradient(ellipse,#23578055,transparent 65%),linear-gradient(#242e49,#1b2940)}.gw-apc:has(.gw-chip-board){background:#1b2940}.gw-chip-board>svg{position:absolute;inset:0;width:100%;height:100%}.gw-chip-board path{fill:none;stroke:#82d4ff;stroke-width:4;filter:drop-shadow(0 0 5px #489cff)}.planner .gw-chip{position:absolute;width:83px;height:86px;padding:4px;border:3px solid #ffd477;border-radius:10px;box-shadow:0 0 0 5px #416aa377,0 0 20px #4bc6ff66;display:block}.gw-chip>.game-icon{width:100%;height:100%}.gw-chip>span{font-size:30px;color:#d5eaff}.gw-chip small{position:absolute;bottom:0;left:0;right:0;background:#172740bf;border-radius:0 0 7px 7px;font-size:10px;color:#f9e7c3}.gw-chip-1{left:calc(50% - 42px);top:32px}.gw-chip-2{left:calc(50% - 48px);top:177px;width:96px!important;height:96px!important}.gw-chip-3{left:30px;top:305px}.gw-chip-4{right:30px;top:305px}.planner .gw-resonance{position:absolute;top:321px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;gap:0;padding:3px;border:0;background:none;color:#8be6ff;text-shadow:0 0 12px #37b8ff;font-size:32px;line-height:1.1}.gw-resonance small{font-size:9px;line-height:1.7;color:#e1f5ff}.gw-chip-stars{position:absolute;bottom:14px;left:0;right:0;text-align:center;color:#ffd765;font-size:23px;letter-spacing:3px}.p-formation-drawer{max-width:820px;margin:20px auto 0}.p-formation-drawer>summary{font-size:16px;color:#e4d39e;cursor:pointer}.p-formation-drawer #p-formation{margin-top:15px}
@keyframes gw-open{from{opacity:.5;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.planner:is([data-planner=buildings],[data-planner=research],[data-planner=apc]){padding:6px 0 20px}.gw-workshop{border-radius:14px}.gw-toolbar{padding:12px 14px;gap:10px}.planner .gw-toolbar h1{font-size:22px}.gw-toolbar small{font-size:8px}.gw-live button{padding:10px 13px!important}.gw-live small{font-size:7px;letter-spacing:.08em}.gw-live strong{font-size:23px}.gw-live button:nth-child(2) strong{font-size:14px}.gw-sheet{top:auto;bottom:0;left:0;right:0;width:100%;max-height:calc(100dvh - var(--gw-sheet-top));border-radius:18px 18px 0 0;padding-bottom:env(safe-area-inset-bottom)}.gw-sheet-body{padding:14px 18px 24px}.gw-sheet .p-range-row{grid-template-columns:40px minmax(40px,1fr) 40px 58px;gap:7px}.gw-sheet .p-step{min-height:40px}.gw-town{padding:45px 8px 25px;gap:15px 3px;min-height:420px}.gw-building .game-icon{width:102px;height:111px}.gw-tower .game-icon{width:122px;height:134px}.gw-building strong{font-size:10px}.gw-building>span{font-size:8px;padding:2px 5px}.gw-building>b{font-size:7px;top:6px;right:0}.gw-path-preview{padding:15px 12px}.planner .gw-path-preview button{min-width:145px}.planner :is(.gw-bottom-actions,.gw-apc-tools,.gw-tree-tools) button{font-size:10px;padding:10px 5px}.gw-centre-control{gap:9px;padding:3px 12px}.gw-centre-control>.game-icon{width:45px;height:60px}.gw-centre-control .p-range-row{grid-template-columns:34px minmax(30px,1fr) 34px 52px;gap:5px}.gw-centre-control .p-step{min-height:36px}.gw-centre-control .p-number{min-height:36px}.gw-centre-control .p-control-label{font-size:11px}.gw-tree-scroll{max-height:520px}.gw-tree-types{padding:9px;gap:6px}.planner .gw-tree-types button{font-size:10px;min-height:36px;padding:7px 10px}.gw-vehicle-stage{height:410px}.planner .gw-part{width:65px;height:66px}.gw-part-1{left:15px;top:24px}.gw-part-2{left:10px;top:142px}.gw-part-3{left:18px;top:262px}.gw-part-4{right:15px;top:24px}.gw-part-5{right:10px;top:142px}.gw-part-6{right:18px;top:262px}.gw-vehicle-stage>.gw-vehicle-art{width:120%;left:-10%;height:85%;top:6%}.gw-turntable{left:0;right:0;height:110px;bottom:45px}.planner .gw-vehicle-name{font-size:17px}.planner .gw-mode-tabs button{font-size:14px;min-height:56px}.gw-chip-board{height:430px}.planner .gw-chip{width:72px;height:75px}.gw-chip-1{left:calc(50% - 36px);top:26px}.gw-chip-2{width:90px!important;height:90px!important;left:calc(50% - 45px);top:167px}.gw-chip-3{left:21px;top:290px}.gw-chip-4{right:21px;top:290px}.planner .gw-resonance{top:302px}.gw-chip-stars{bottom:12px;font-size:21px}.gw-note{font-size:9px;padding:9px 14px}}
@media(prefers-reduced-motion:reduce){.gw-sheet,.gw-vehicle-art{animation:none!important}.gw-building{transition:none!important}}
.gw-sheet{background:#29373c!important;opacity:1!important;animation:gw-solid-open .2s ease-out}.gw-sheet-body{background:#29373c}.gw-sheet>header{background:#404f4d}@keyframes gw-solid-open{from{transform:translateY(12px)}to{transform:translateY(0)}}
.gw-chip-catalog{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:14px 0}.planner .gw-chip-catalog button{padding:4px;display:flex;flex-direction:column;gap:2px;min-width:0;border-width:2px;border-radius:10px;box-shadow:0 3px #15222b}.gw-chip-catalog .game-icon{width:100%;height:53px}.gw-chip-catalog small{font-size:8px;text-shadow:0 1px #102c28}.planner .gw-chip-catalog .selected{outline:2px solid #ffe48c;outline-offset:2px;box-shadow:0 0 16px #f8d66f66}
/* Context editors use the viewport, rather than the space below site navigation. */
.gw-workshop:has(.gw-sheet){z-index:150}body:has(.gw-sheet){overflow:hidden}.planner .gw-backdrop{inset:0;background:#101923a6}.gw-sheet{top:12px;bottom:12px;width:min(580px,calc(100vw - 36px));height:calc(100dvh - 24px);max-height:calc(100dvh - 24px)}.gw-sheet>header{padding:9px 15px}.gw-sheet>header h2{font-size:19px}.planner .gw-sheet header button{width:44px;height:44px;min-height:44px}.gw-sheet-live{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:8px 15px;border-bottom:1px solid #93aa8055;background:#253331;flex-shrink:0}.planner .gw-sheet-live button{padding:0;min-height:38px;display:flex;flex-direction:column;align-items:flex-start;gap:2px;border:0;background:none;text-align:left}.gw-sheet-live small{font-size:8px;color:#b8c8a8;letter-spacing:.06em}.gw-sheet-live strong{font-size:17px;color:#ffe38c;font-variant-numeric:tabular-nums}.gw-sheet-live strong span{font-size:11px}.gw-sheet-body{padding:12px 15px 20px}.gw-sheet .p-control{padding:8px 0}.gw-sheet .p-range-row{margin-top:3px}.gw-sheet .p-select{margin:8px 0}.gw-sheet .p-notice{padding:9px 11px;margin:8px 0}.gw-sheet .p-card-head>.game-icon{width:45px;height:45px}.gw-sheet .p-card-head h3{font-size:17px}.gw-sheet .gw-chip-catalog{margin:9px 0;gap:7px}.gw-sheet .gw-chip-catalog .game-icon{height:43px}.gw-sheet .p-stat-grid{margin:10px 0;gap:9px}.gw-sheet .p-costs{margin:10px 0}.gw-sheet .p-cost{padding:6px}.planner .p-dialog{width:min(720px,calc(100vw - 24px));max-height:calc(100dvh - 24px)}
@media(max-width:600px){.gw-sheet{top:8px;bottom:0;left:0;right:0;width:100%;height:calc(100dvh - 8px);max-height:calc(100dvh - 8px);border-radius:16px 16px 0 0}.gw-sheet-body{padding:10px 14px 20px}.gw-sheet>header{padding:9px 14px}.gw-sheet-live{padding:6px 14px}.gw-sheet .p-control{padding:7px 0}.gw-sheet .p-control-label{font-size:12px}.gw-sheet .p-control-label output{font-size:14px}}
/* Research paths and readable planning states. */
.gw-research-path{padding:20px;background:radial-gradient(ellipse at top,#426460,#193039);position:relative}.gw-path-intro{text-align:center;margin-bottom:20px;color:#f2e8b8}.gw-path-intro strong{display:block;font-size:19px}.gw-path-intro small{display:block;font-size:11px;color:#b2cec1;margin-top:4px}.gw-branch-stage{position:relative;margin:0 auto;padding:0 0 20px 22px;border-left:3px solid #88a989;max-width:650px}.gw-branch-stage:last-child{border-color:transparent}.gw-branch-stage h2{font-size:12px!important;letter-spacing:.05em;color:#bed4ac;margin:0 0 12px!important;position:relative}.gw-branch-stage h2>span{position:absolute;left:-32px;top:-3px;background:#284740;padding:2px;font-size:17px}.gw-branch-stage>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.planner .gw-branch{position:relative;display:flex;flex-direction:column;background:linear-gradient(#577564,#294a43);border:1px solid #a3b791;border-radius:13px;color:#f3eed0;padding:10px 4px 15px;gap:4px;min-width:0;overflow:hidden;box-shadow:0 4px 0 #122925}.gw-branch>.game-icon{width:57px;height:57px;filter:drop-shadow(0 3px 4px #0007)}.gw-branch strong{font-size:12px;line-height:1.15}.gw-branch small{font-size:9px;color:#c1d7bc}.gw-branch-progress{height:4px;position:absolute;bottom:0;left:0;right:0;background:linear-gradient(90deg,#e8d485 var(--progress),#172d2d var(--progress))}.planner .gw-branch.is-locked{background:linear-gradient(#3c4b4a,#263b3c);border-color:#6f827a;color:#aebdb5}.gw-branch.is-locked>.game-icon{filter:grayscale(1);opacity:.55}.gw-branch-stage.is-locked{border-color:#536f67}.gw-tree-heading{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;gap:10px;background:#183439;color:#e2e6c9}.planner .gw-tree-heading button{border-color:#7f9987;background:#34544d;font-size:11px;min-height:44px}.gw-tree-heading>strong{font-size:16px;text-align:right}.gw-node.is-unresearched>.game-icon{filter:grayscale(1);opacity:.55;background:#374a49;border-color:#8a9c91}.gw-node.is-planned>.game-icon{filter:none;opacity:1;border-color:#ffe588}.gw-node.is-centre-locked>.game-icon{filter:grayscale(1) brightness(.65);opacity:.55}.gw-node.is-centre-locked>strong{color:#9eaaa4}.gw-node>em{position:absolute;top:-19px;font-style:normal;font-size:9px;background:#142b2ee8;border:1px solid #7e9a8e;border-radius:5px;padding:2px 5px;color:#d6dec9;white-space:nowrap}.gw-node.is-maxed>.game-icon{border-color:#efd784}.gw-node i{font-size:13px;display:grid;place-items:center}.r-previous-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.planner .r-previous-actions button{flex:1;font-size:11px;min-height:44px;padding:8px;background:linear-gradient(#527b66,#315645);border-color:#9fae77;color:#f4eed0}.r-ledger>.p-panel{margin-bottom:12px}.gw-catalog-group{margin:12px 0;border:1px solid #71836b;border-radius:10px;background:#293f34}.gw-catalog-group>summary{padding:13px 11px;cursor:pointer;font-size:13px;color:#e6e1b7;min-height:44px}.gw-catalog-group>summary small{float:right;color:#a9c2a4}.gw-catalog-group .gw-building-catalog{padding:8px}.gw-town{max-height:680px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#bac391 #364b38}.gw-town .gw-building{scroll-margin-top:14px}.gw-town .gw-building .game-icon{height:94px;width:110px}.gw-town .gw-tower .game-icon{height:114px;width:135px}
@media(max-width:600px){.gw-research-path{padding:19px 13px 10px 22px}.gw-branch-stage{padding-left:17px}.gw-branch-stage h2>span{left:-27px}.gw-branch-stage>div{gap:7px}.gw-branch>.game-icon{width:44px;height:44px}.gw-branch strong{font-size:10px}.gw-branch small{font-size:8px}.gw-town{max-height:560px}.gw-town .gw-building .game-icon{height:80px;width:94px}.gw-town .gw-tower .game-icon{height:98px;width:106px}.gw-town{gap:12px 3px}.gw-tree-heading>strong{font-size:14px}}
.gw-branch-stage>div:has(>.gw-branch:only-child){grid-template-columns:1fr}.planner .gw-branch-stage .gw-branch:only-child{display:grid;grid-template-columns:54px 1fr;grid-template-rows:auto auto;column-gap:12px;text-align:left;padding:8px 14px 11px;min-height:74px}.gw-branch:only-child>.game-icon{grid-row:1/3;grid-column:1}.gw-branch:only-child>strong{align-self:end;font-size:14px}.gw-branch:only-child>small{align-self:start;font-size:10px}.r-ledger h2{font-size:20px!important;margin:8px 0 12px!important}.r-ledger h3{font-size:17px!important}.r-ledger .p-stat-grid:has(>:nth-child(3)){grid-template-columns:repeat(3,minmax(0,1fr))}.r-ledger .p-stat-grid small{font-size:9px}.r-ledger .p-stat-grid strong{font-size:18px}
