:root{color:#172426;background:#f3efe5;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden}button{border:0;border-radius:8px;cursor:pointer;font:inherit;overflow-wrap:anywhere}.landing{min-height:100vh;background:#10252e;color:#f9f5e8}.landingScene{position:relative;display:grid;min-height:100vh;place-items:center;overflow:hidden;padding:32px;background:radial-gradient(circle at 50% 72%,rgba(255,190,101,.35),transparent 16%),linear-gradient(180deg,#08161d,#183a47 55%,#24433d)}.landingScene:after{position:absolute;right:-8%;bottom:-2%;left:-8%;height:30%;content:"";background:linear-gradient(145deg,transparent 48%,#0a171b 49% 56%,transparent 57%) 0 0 / 130px 90px,linear-gradient(35deg,transparent 48%,#132a25 49% 56%,transparent 57%) 0 22px / 160px 110px}.distantLights{position:absolute;right:18%;bottom:24%;width:190px;height:80px;background:radial-gradient(circle,#ffd279 0 4px,transparent 5px) 20px 45px / 44px 30px,radial-gradient(circle,#fff4bf 0 3px,transparent 5px) 90px 24px / 42px 28px;opacity:.9}.landingText{position:relative;z-index:1;width:min(720px,100%);text-align:center;overflow-wrap:anywhere}.eyebrow,.panelLabel{margin:0 0 8px;color:#5d7d78;font-size:.78rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.landingText .eyebrow{color:#f3c36e}.landing h1,.topHeader h1{margin:0}.landing h1{font-size:clamp(2.5rem,8vw,5.4rem);line-height:.98}.landing h2{margin:18px 0 10px;font-size:clamp(1.35rem,4vw,2.2rem)}.landing p{font-size:1.08rem}.primaryButton,.ghostButton,.choiceButton{min-height:44px;transition:transform .14s ease,box-shadow .14s ease,background .14s ease}.primaryButton{padding:13px 18px;background:#d9784f;color:#fffaf0;font-weight:800;box-shadow:0 12px 28px #41261938}.primaryButton:hover,.choiceButton:hover,.ghostButton:hover{transform:translateY(-1px)}.appShell{width:min(1180px,100%);margin:0 auto;padding:24px;overflow-x:hidden}.topHeader{display:flex;gap:16px;align-items:center;justify-content:space-between}.topHeader h1{font-size:clamp(1.45rem,3vw,2.25rem)}.ghostButton{flex:0 0 auto;padding:11px 14px;border:1px solid #b9c2b0;background:#fffaf0;color:#273d3e;font-weight:700}.headerControls{display:flex;flex:0 0 auto;flex-wrap:wrap;gap:10px;align-items:center;justify-content:flex-end}.languageSwitcher{display:inline-flex;gap:4px;padding:4px;border:1px solid rgba(56,83,78,.18);border-radius:8px;background:#fffaf0e0}.landingScene>.languageSwitcher{position:absolute;top:18px;right:18px;z-index:2}.languageSwitcher button{min-height:36px;padding:7px 10px;background:transparent;color:#34504d;font-size:.88rem;font-weight:800}.languageSwitcher button.active{background:#1f5d56;color:#fffaf0}.resourceBar{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0}.resourceBar div,.panel{border:1px solid rgba(56,83,78,.16);border-radius:8px;background:#fffaf0e6;box-shadow:0 12px 32px #273d3e14}.panel,.resourceBar div,.node,.villageCaption{overflow-wrap:anywhere}.resourceBar div{padding:14px}.resourceBar span{display:block;color:#5d6e6c;font-size:.85rem;font-weight:700}.resourceBar strong{display:block;margin-top:4px;color:#1c3a3f;font-size:1.5rem}.gameLayout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:18px;align-items:start}.villageMap{position:relative;min-height:650px;overflow:hidden;border-radius:8px;background:linear-gradient(180deg,#0d1d280a,#0d1d2833),linear-gradient(180deg,#162b36,#244044 52%,#1c2e29);box-shadow:inset 0 -90px 120px #00000047}.villageMap.isLit{background:radial-gradient(circle at 42% 58%,rgba(255,210,121,.54),transparent 24%),linear-gradient(180deg,#274857,#466966 54%,#435d42)}.villageMap:after{position:absolute;right:-10%;bottom:0;left:-10%;height:38%;content:"";background:linear-gradient(135deg,transparent 46%,#13201d 47% 57%,transparent 58%) 0 42px / 150px 100px,linear-gradient(45deg,transparent 45%,#20352d 46% 56%,transparent 57%) 30px 8px / 180px 120px}.skyGlow{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 74% 18%,rgba(242,167,91,.2),transparent 22%)}.node{position:absolute;z-index:2;display:grid;min-width:118px;min-height:46px;place-items:center;padding:10px;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:#0a181db8;color:#fff8e6;font-size:.9rem;font-weight:800;text-align:center}.isLit .node{border-color:#ffe3998c;background:#273e35c7}.power{top:54%;left:17%}.line{top:38%;left:37%}.tower{top:22%;right:18%}.market{right:14%;bottom:30%}.call{bottom:20%;left:32%}.signalRing{position:absolute;top:20%;right:21%;z-index:1;display:none;width:170px;height:170px;border:2px solid rgba(255,237,171,.55);border-radius:50%;animation:pulse 2.6s infinite ease-out}.hasSignal .signalRing{display:block}.ringTwo{animation-delay:.9s}@keyframes pulse{0%{opacity:.8;transform:scale(.35)}to{opacity:0;transform:scale(1.65)}}.villageCaption{position:absolute;bottom:24px;left:24px;z-index:3;display:grid;gap:4px;max-width:min(360px,calc(100% - 48px));padding:14px 16px;border-radius:8px;background:#fffaf0eb}.villageCaption strong{color:#182d31;font-size:1.25rem}.sidePanel{display:grid;gap:12px}.panel{padding:16px}.panel h2{margin:0 0 10px;font-size:1.1rem}.role{margin:-4px 0 10px;color:#6a716a;font-size:.88rem;font-weight:700}.progressList{display:grid;gap:7px}.progressList div{display:flex;gap:8px;align-items:center;color:#6c746a;font-weight:700}.progressList .done{color:#24705f}.gossipPanel ul{display:grid;gap:8px;margin:0;padding-left:18px}.actionPanel{display:grid;gap:12px}.actionIntro{margin:0;color:#344a48;font-weight:800}.choiceGrid{display:grid;gap:10px}.choiceButton{display:grid;gap:9px;width:100%;min-height:138px;padding:18px;border:2px solid #c9a45f;background:#fff5d8;color:#1c2d2d;text-align:left;box-shadow:0 10px 24px #4a3b1f1f;overflow-wrap:anywhere}.choiceButton span,.choiceButton small{color:#5c665f}.choiceButton strong{display:flex;gap:10px;align-items:center;color:#182d31;font-size:1.05rem;line-height:1.25}.choiceLabel{display:inline-grid;flex:0 0 34px;width:34px;height:34px;place-items:center;border-radius:50%;background:#d9784f;color:#fffaf0!important;font-weight:900}.choiceButton small{display:inline-flex;flex-wrap:wrap;gap:6px;color:#2b6358;font-weight:900}.resultPanel{border-color:#24705f5c;background:#eff9ef}.towerPreview{display:grid;gap:8px;padding:14px;border:1px solid rgba(36,112,95,.2);border-radius:8px;background:#fffaf0e0}.towerPreview h2,.towerPreview p{margin:0}.resultKicker{margin:0;color:#24705f;font-weight:900}.deltaGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.deltaGrid span{display:grid;min-height:42px;place-items:center;padding:8px;border-radius:8px;background:#fffaf0;color:#27413e;font-size:.86rem;font-weight:900;text-align:center}.videoCallBox .videoFace{display:grid;min-height:96px;place-items:center;border-radius:8px;background:radial-gradient(circle at 50% 34%,#f2c27e 0 18px,transparent 19px),linear-gradient(180deg,#315e66,#193b42);color:#fff7df;font-weight:900}.rewardBox{border-color:#b9803859;background:#fff3cf}.completionPanel{position:relative;gap:16px;overflow:hidden;border:1px solid rgba(160,105,38,.52);background:linear-gradient(135deg,rgba(255,255,255,.64),transparent 46%),#fff0c2;box-shadow:0 18px 42px #523a1d29}.completionPanel:before{position:absolute;inset:0 auto 0 0;width:5px;content:"";background:#24705f}.completionPanel h2{margin:0;color:#173b38;font-size:clamp(1.35rem,3vw,1.75rem);line-height:1.2}.completionPanel>p{margin:0}.completionBadge{display:inline-flex;width:fit-content;max-width:100%;gap:8px;align-items:center;padding:7px 11px;border:1px solid rgba(36,112,95,.32);border-radius:999px;background:#e1f2e9;color:#1d6354;font-size:.84rem;font-weight:900;letter-spacing:.02em;overflow-wrap:anywhere}.completionBadge span{display:inline-grid;flex:0 0 22px;width:22px;height:22px;place-items:center;border-radius:50%;background:#24705f;color:#fffaf0}.completionSectionLabel{color:#6e5c3e;font-size:.78rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.finalResources,.completedList{display:grid;gap:8px}.finalResources{grid-template-columns:repeat(3,1fr)}.finalResources span,.completedList span{display:grid;min-height:42px;align-items:center;padding:10px;border-radius:8px;background:#fffaf0db;color:#27413e;font-weight:800}.finalResources strong{display:block;margin-top:2px;color:#1c3a3f;font-size:1.15rem}.completedList span{color:#24705f;border:1px solid rgba(36,112,95,.14);background:#f7fff8}.teaserAction{display:grid;gap:10px;margin-top:2px;padding:14px;border:1px solid rgba(185,128,56,.3);border-radius:8px;background:#fffaf0eb}.teaserAction p{margin:0;color:#65583f;font-size:.9rem;line-height:1.5}.teaserButton{width:100%;min-height:50px;background:#1f5d56;box-shadow:0 12px 26px #1f5d5633}.teaserPanel{gap:12px;border:1px solid rgba(70,92,113,.35);background:linear-gradient(135deg,rgba(255,255,255,.72),transparent 50%),#eaf1f2;box-shadow:0 16px 36px #25394121}.teaserPanel h2,.teaserPanel p{margin:0}.teaserPanel h2{color:#183b45;font-size:clamp(1.2rem,2.6vw,1.55rem);line-height:1.3;overflow-wrap:anywhere}.teaserPanel>p:last-child{color:#52656a;line-height:1.55}@media(max-width:860px){.appShell{padding:16px}.topHeader{align-items:flex-start;flex-direction:column}.headerControls{width:100%;justify-content:space-between}.resourceBar,.gameLayout{grid-template-columns:1fr}.villageMap{min-height:520px}.node{min-width:96px;font-size:.78rem}.deltaGrid,.finalResources{grid-template-columns:1fr}.tower{right:8%}.market{right:7%}}@media(max-width:520px){.landingScene{padding:22px}.resourceBar{grid-template-columns:1fr;gap:8px}.resourceBar div{padding:12px}.resourceBar strong{font-size:1.25rem}.villageMap{min-height:470px}.primaryButton,.ghostButton,.choiceButton{width:100%}.appShell,.sidePanel,.panel,.choiceGrid,.choiceButton,.teaserAction{min-width:0}.panel h2,.panel p,.primaryButton,.ghostButton,.choiceButton,.finalResources span,.completedList span{overflow-wrap:anywhere;word-break:normal}.headerControls .ghostButton,.headerControls .languageSwitcher{width:100%}.languageSwitcher{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.choiceButton strong{align-items:flex-start}.node{min-width:82px;max-width:118px;min-height:42px;padding:8px}.power{left:4%}.line{left:27%}.call{left:12%}}
