@font-face{font-family:CastleMono;src:local(Consolas),local(Menlo),local(Courier New);font-display:swap}*{box-sizing:border-box}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#111b2b}body{color:#efe5ce;background:radial-gradient(at 50% 0,#24384a 0,#0000 56%),repeating-linear-gradient(0deg,#ffffff02 0 1px,#0000 1px 5px),#111b2b;min-height:100dvh;margin:0;font-family:CastleMono,monospace}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;background:#263647;border:1px solid #51606a;border-radius:3px;min-height:44px;padding:10px 15px;transition:background .15s,transform .15s}button:hover{background:#344a5d}button:active{transform:translateY(1px)}button:focus-visible,a:focus-visible,canvas:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #edc775}button:disabled{opacity:.5;cursor:default}[hidden]{display:none!important}img{image-rendering:pixelated;object-fit:contain}a{color:inherit;text-decoration:none}.shell{max-width:620px;margin:auto;padding:0 24px}.masthead{border-bottom:1px solid #40515b66;justify-content:space-between;align-items:center;height:76px;display:flex}.masthead a{letter-spacing:3px;font-size:17px;font-weight:700}.brand-icon{color:#e6b66a;vertical-align:middle;font-size:29px}.icon-button{color:#c7bd9f;background:0 0;width:40px;min-height:36px;padding:4px}.eyebrow,.section-label{letter-spacing:2px;color:#a9b9bc;font-size:10px}.menu{text-align:center;padding-top:35px}.title-art{isolation:isolate;justify-content:center;align-items:end;height:238px;display:flex;position:relative}.title-art:after{content:"";z-index:-1;background:#080f1b80;border-radius:50%;width:310px;height:30px;position:absolute;bottom:0}.title-art img{filter:drop-shadow(0 8px #080f1b44);max-width:100%;height:227px}.moon{z-index:-1;background:#ebdba422;border-radius:50%;width:145px;height:145px;position:absolute;top:4px;box-shadow:0 0 70px #b49d6722}.menu h1{letter-spacing:9px;text-shadow:3px 4px #080e18;color:#f5e5bb;margin:19px 0 13px;font-size:48px;line-height:.98}.menu h1 span{color:#e4b56a}.tagline{color:#b6c4c7;margin:0 0 28px;font-size:13px}.primary{color:#202330;background:#d5a75c;border:2px solid #efcc8a;font-weight:700;box-shadow:0 4px #73552e}.primary:hover{background:#efc782}.wide{justify-content:center;align-items:center;gap:20px;width:100%;min-height:49px;display:flex}.wide span{margin-left:auto}.menu .section-label{margin:28px 0 13px}.difficulties{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:18px;display:grid}.difficulty{background:#1b2a3b;border:1px solid #455663;padding:17px 3px 27px;position:relative}.difficulty strong{letter-spacing:1px;color:#e1c389;font-size:13px;display:block}.difficulty span{margin:8px 0;font-size:11px;display:block}.difficulty small{color:#a4b5be;font-size:9px}.difficulty i{color:#e4b56a;font-size:10px;font-style:normal;position:absolute;bottom:7px;left:0;right:0}.difficulty.selected{background:#3b3b38;border:2px solid #dfb66d;padding-top:16px}.menu-note{color:#91a3ad;margin:22px 0;font-size:10px}.menu-footer{justify-content:center;gap:18px;display:flex}.text-button{color:#b9c7ca;background:0 0;border:0;padding:8px;font-size:12px}.text-button:hover{color:#eecb87;background:#ffffff0b}.site-footer{text-align:center;letter-spacing:2px;color:#718796;padding:28px 0;font-size:9px}.site-footer span{color:#b8975a}.game-heading{justify-content:space-between;align-items:center;margin:20px 0 0;display:flex}.game-heading h1{letter-spacing:1px;margin:7px 0 0;font-size:20px}.castle{text-align:center;background:radial-gradient(at 50% 100%,#4b5c5b33,#0000 70%);border-bottom:1px solid #57656b55;height:185px;margin-top:1px;position:relative}#building-art{justify-content:center;align-items:end;height:153px;display:flex}.settlement-art{filter:drop-shadow(0 4px #080f1b66);max-width:85%;max-height:150px}.stage-1{height:95px}.stage-2{height:105px}.stage-3,.stage-4{height:115px}.stage-5,.stage-6,.stage-7{height:132px}.stars{color:#bfa77544;letter-spacing:28px;z-index:0;pointer-events:none;position:absolute;top:30px;left:0;right:0}#building-art{position:relative}.empty-land{text-align:center;color:#c5bd9b;width:160px}.empty-land span{color:#d6ac68;font-size:45px;display:block}.empty-land div{background:#5a6850;height:9px;margin:0 6px;transform:skew(-20deg);box-shadow:0 7px #394637}.empty-land p{margin:19px 0 4px;font-size:10px}.castle-caption{color:#b4bda9;letter-spacing:1px;justify-content:center;align-items:center;gap:15px;height:30px;font-size:9px;display:flex}.progress{gap:4px;display:flex}.progress i{background:#40505b;width:9px;height:5px}.progress i.done{background:#dbb66d}.objective-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.objective-heading .section-label{font-size:9px}.objective-heading strong{color:#e6c88d;text-transform:uppercase;font-size:12px}.requirements{gap:7px;display:flex}.requirement{background:#243340;border:1px solid #46565e;flex:1;align-items:center;gap:6px;min-width:0;min-height:52px;padding:7px 8px;display:flex}.requirement img{width:34px;height:34px}.requirement strong{text-transform:capitalize;font-size:11px;display:block}.requirement span{color:#a7b7c0;margin-top:4px;font-size:10px;display:block}.requirement b{color:#889b9e;margin-left:auto;font-size:13px}.requirement.collected{background:#2d413b;border-color:#628065}.requirement.collected span,.requirement.collected b{color:#b4cda0}.scorebar{grid-template-columns:1fr 1fr .7fr 1.5fr;gap:8px;padding:3px 0 12px;display:grid}.scorebar>div{border-left:2px solid #4e5c61;min-width:0;padding-left:9px}.scorebar span{color:#91a5af;letter-spacing:1px;font-size:9px;display:block}.scorebar small{letter-spacing:0;font-size:7px}.scorebar strong{color:#ead9ac;margin-top:5px;font-size:16px;display:block}#mode{padding-top:3px;font-size:12px}.board-wrap{background:#121d2b;border:3px solid #6e6350;border-radius:3px;position:relative;box-shadow:0 0 0 1px #c1a77355,0 9px 22px #080f1b66}canvas{aspect-ratio:1;width:100%;image-rendering:pixelated;touch-action:none;display:block}.announcement{color:#bfcbb6;text-align:center;min-height:32px;margin:14px 0 0;font-size:11px;line-height:1.5}.game-tools{border-top:1px solid #40515b66;justify-content:space-between;margin-top:5px;display:flex}.direction-pad{text-align:center;padding-top:8px}.direction-pad button{width:52px;height:46px;margin:3px;font-size:23px}.board-details{color:#839aa5;margin:10px 0;font-size:10px;line-height:1.7}.board-details summary{cursor:pointer;min-height:32px}.board-details p{margin:4px 0}.end-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#101b2be8;justify-content:center;align-items:center;padding:15px;display:flex;position:absolute;inset:0}.end-card{text-align:center;width:100%;max-width:330px}.end-card h2{color:#eac783;margin:15px 0;font-size:22px;line-height:1.2}.end-card p{color:#bccbc8;font-size:12px}.end-card .final-stats{margin:18px 0;line-height:1.8}.end-card .eyebrow{letter-spacing:1px;font-size:9px}.win-castle{max-width:100%;height:118px;margin-top:10px}.victory{animation:1s ease-out celebrate}.victory:before{content:"✦　✧　✦　✧";color:#eac783;pointer-events:none;font-size:20px;animation:2s infinite alternate sparkle;position:absolute;top:8%;left:5%;right:5%}dialog{color:#efe5ce;background:#1d2c3c;border:2px solid #b09b6a;border-radius:4px;width:min(500px,100% - 30px);max-height:85dvh;padding:28px;box-shadow:0 15px 80px #0008}dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#080e19c9}dialog h2{color:#e8c689;margin:12px 0 18px;font-size:24px}dialog p,dialog li{color:#c0cece;font-size:13px;line-height:1.75}dialog ol{padding-left:20px}dialog li{margin-bottom:13px}.muted{color:#8ca3ae!important;font-size:11px!important}.dialog-actions{justify-content:end;gap:10px;margin-top:24px;display:flex}.upgrade #building-art{animation:.65s ease-out upgrade}.complete-kingdom{color:#b8cfaa;margin:8px auto;font-size:12px}@keyframes upgrade{0%{filter:brightness(2);transform:translateY(8px)}50%{transform:translateY(-7px)}to{filter:none;transform:none}}@keyframes celebrate{0%{opacity:.3;transform:translateY(15px)}to{opacity:1;transform:none}}@keyframes sparkle{to{opacity:.25;transform:translateY(16px)}}@media (min-width:850px){.shell{max-width:580px}.menu{padding-top:28px}.masthead{height:68px}.castle{height:178px}#building-art{height:146px}.game-heading{margin-top:16px}}@media (max-width:480px){.shell{padding:0 14px}.masthead{height:57px}.masthead a{letter-spacing:2px;font-size:14px}.menu{padding-top:23px}.menu>.eyebrow{letter-spacing:1px;font-size:8px}.title-art{height:185px}.title-art img{height:179px}.moon{width:120px;height:120px}.menu h1{margin-top:17px;font-size:40px}.tagline{margin-bottom:22px;font-size:11px}.difficulty small{font-size:8px}.game-heading{margin-top:13px}.game-heading h1{font-size:17px}.eyebrow{font-size:8px}.castle{height:140px}#building-art{height:112px}.settlement-art{max-height:110px}.stage-1{height:74px}.stage-2{height:82px}.stage-3,.stage-4{height:94px}.stage-5,.stage-6,.stage-7{height:102px}.castle-caption{height:26px;font-size:8px}.objective{padding:12px 0}.requirement{gap:4px;padding:6px 5px}.requirement img{width:27px;height:30px}.requirement strong{font-size:10px}.requirement span{font-size:8px}.requirement b{font-size:11px}.requirements,.scorebar{gap:5px}.scorebar strong{font-size:14px}.scorebar small{display:none}#mode{font-size:10px}.scorebar>div{padding-left:6px}.announcement{min-height:28px;margin-top:11px;font-size:10px}.site-footer{padding:18px 0;font-size:8px}.end-card h2{font-size:19px}.end-card p{font-size:10px}.end-card .final-stats{margin:10px 0}.win-castle{height:85px}.end-card .wide{min-height:42px}.empty-land p{margin-top:13px}.empty-land span{font-size:32px}}@media (max-width:350px){.requirement img{width:21px}.requirement{gap:2px}.requirement span{font-size:7px}.objective-heading .section-label{font-size:8px}.objective-heading strong{font-size:10px}.difficulty small{font-size:7px}.shell{padding:0 9px}}@media (orientation:landscape) and (max-height:600px){.shell{max-width:1000px}#game{grid-template-columns:1fr minmax(240px,45vh);column-gap:25px;display:grid}#game>.board-wrap{grid-area:1/2/6}#game>.game-heading,#game>.castle,#game>.objective,#game>.scorebar{grid-column:1}.castle{height:130px}#building-art{height:105px}.settlement-art{max-height:100px}.announcement,.game-tools,.direction-pad,.board-details{grid-column:1/-1}.masthead{height:50px}.game-heading{margin-top:8px}.site-footer{padding:10px}.end-card .win-castle{height:45px}.end-card h2{font-size:14px}.end-card .eyebrow{font-size:7px}.end-card p{margin:5px;font-size:9px}.end-card .final-stats{margin:5px}.end-card .wide{min-height:32px;padding:4px}.end-card .text-button{min-height:28px}.menu{max-width:520px;margin:auto}.title-art{height:140px}.title-art img{height:135px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.board-wrap{align-self:start}@media (orientation:landscape) and (max-height:600px){#game{grid-template-columns:1fr minmax(240px,min(48vw,78vh))}}@media (min-width:850px) and (min-height:601px){.shell{max-width:500px}.castle{height:150px}#building-art{height:118px}.settlement-art{max-height:116px}}.end-card{animation:.3s ease-out celebrate}.upgrade-celebration{z-index:1000;padding:var(--upgrade-margin);isolation:isolate;touch-action:none;overscroll-behavior:contain;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.upgrade-shade{z-index:-1;background:rgb(5 12 23/var(--upgrade-opacity));position:absolute;inset:0}.upgrade-scene{width:min(var(--upgrade-width),calc(100vw - 2 * var(--upgrade-margin)),calc((100dvh - var(--upgrade-caption) - 2 * var(--upgrade-margin)) * var(--upgrade-ratio)));aspect-ratio:var(--upgrade-ratio);flex:none;place-items:center;display:grid;position:relative}.upgrade-panel{z-index:2;width:100%;height:100%;box-shadow:none;transform-origin:50%;min-height:0;image-rendering:pixelated;border:0;border-radius:0;padding:0;line-height:0;position:relative;background:0 0!important}.upgrade-panel:hover,.upgrade-panel:active{background:0 0;transform:none}.upgrade-panel:focus-visible{outline-offset:4px;outline:2px dashed #dfc482}.upgrade-panel img{object-fit:contain;width:100%;height:100%;image-rendering:pixelated;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;display:block}.upgrade-rays,.upgrade-particles{aspect-ratio:1;pointer-events:none;touch-action:none;width:135%;max-width:calc(100vw - 4px);height:auto;max-height:calc(100dvh - 4px);image-rendering:pixelated;object-fit:contain;position:absolute;inset:auto}.upgrade-rays{z-index:1}.upgrade-particles{z-index:3}.upgrade-instructions{z-index:4;text-align:center;text-shadow:1px 2px #08101e;pointer-events:none;max-width:100%;min-height:40px;margin-top:12px;line-height:1.5;position:relative}.upgrade-instructions strong{color:#f2d18a;font-size:13px;display:block}.upgrade-instructions span{color:#d5d9cc;margin-top:4px;font-size:10px;display:block}.upgrade-sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.upgrade-reduced .upgrade-rays,.upgrade-reduced .upgrade-particles{display:none}.upgrade-reduced .upgrade-panel{opacity:1!important;transform:none!important}@media (max-width:360px){.upgrade-instructions strong{font-size:11px}.upgrade-instructions span{font-size:9px}}@media (prefers-reduced-motion:reduce){.upgrade-celebration,.upgrade-panel{transition:none!important;animation:none!important}}.objective{padding:9px 0 7px}.objective-instruction{color:#efca80;letter-spacing:.9px;margin:0 0 5px;font:700 11px/1.25 CastleMono,monospace}.objective-heading{margin-bottom:6px}.objective .requirements{gap:7px}.objective .requirement{border-radius:2px;grid-template-rows:23px minmax(14px,auto);grid-template-columns:23px minmax(0,1fr) 10px;align-items:center;gap:2px 4px;min-height:50px;padding:5px 6px;display:grid;position:relative}.objective .requirement>img{grid-area:1/1;width:23px;height:23px}.objective .requirement>div{display:contents}.objective .requirement strong{text-transform:none;grid-area:1/2;min-width:0;font-size:11px;line-height:1.2}.objective .requirement span{color:#e5d9bd;overflow-wrap:normal;grid-area:2/1/auto/-1;align-self:center;margin:0;font-size:10px;line-height:1.2}.objective .requirement>b{text-align:right;grid-area:1/3;margin:0;font-size:13px}.requirement[data-material=cloth],.material-flight[data-material=cloth]{--material-rgb:238 207 147}.requirement[data-material=wood],.material-flight[data-material=wood]{--material-rgb:228 153 71}.requirement[data-material=stone],.material-flight[data-material=stone]{--material-rgb:158 205 234}.objective .requirement.missing{border-color:rgb(var(--material-rgb)/.7);box-shadow:0 0 0 1px rgb(var(--material-rgb)/.15),0 0 4px rgb(var(--material-rgb)/.12);animation:1.8s ease-in-out infinite requirement-pulse}.objective .requirement.missing>b{color:rgb(var(--material-rgb)/.9)}.objective .requirement.collected{background:#293f37;border-color:#82b786;animation:none;box-shadow:inset 0 0 0 1px #8bb98b20}.objective .requirement.collected span,.objective .requirement.collected b{color:#c2e1af}.objective .requirement.just-collected{animation:.45s ease-out requirement-collect}.objective .requirement.collection-arrived{animation:.25s ease-out requirement-arrive}.requirement.just-collected:before,.requirement.just-collected:after,.requirement.collection-arrived:before,.requirement.collection-arrived:after{content:"";pointer-events:none;background:#f7e1a1;width:3px;height:3px;animation:.45s steps(4,end) both requirement-sparkle;position:absolute;box-shadow:3px 0 #f7e1a1,-3px 0 #f7e1a1,0 3px #f7e1a1,0 -3px #f7e1a1}.requirement:before{top:8px;right:15px}.requirement:after{bottom:12px;left:12px;animation-delay:60ms!important}.material-progress{color:#b4c5b5;justify-content:space-between;align-items:center;gap:8px;min-height:12px;margin-top:6px;font-size:9px;line-height:1.25;display:flex}.material-meter{flex:none;gap:3px;width:54px;display:flex}.material-meter i{background:#42545b;flex:1;height:4px}.material-meter i.done{background:#9bc18c}.material-flights{z-index:900;pointer-events:none;contain:strict;position:fixed;inset:0;overflow:hidden}.material-flight{pointer-events:none;will-change:transform,opacity;width:20px;height:20px;position:absolute;top:0;left:0}.material-flight img{width:20px;height:20px;image-rendering:pixelated;position:absolute;inset:0}.material-flight i{background:rgb(var(--material-rgb));width:3px;height:3px;box-shadow:-5px 5px rgb(var(--material-rgb)/.8),5px 7px rgb(var(--material-rgb)/.65),-8px 12px rgb(var(--material-rgb)/.4),7px 13px rgb(var(--material-rgb)/.35);position:absolute;top:9px;left:8px}@keyframes requirement-pulse{50%{border-color:rgb(var(--material-rgb));box-shadow:0 0 0 1px rgb(var(--material-rgb)/.4),0 0 7px rgb(var(--material-rgb)/.25)}}@keyframes requirement-collect{0%{background:#83ac6d;box-shadow:0 0 0 2px #d6e9aa88}to{background:#293f37;box-shadow:inset 0 0 0 1px #8bb98b20}}@keyframes requirement-arrive{0%{background:#4a6845;box-shadow:0 0 0 2px #d6e9aa99}to{background:#293f37;box-shadow:inset 0 0 0 1px #8bb98b20}}@keyframes requirement-sparkle{0%{opacity:0;transform:scale(.5)}20%{opacity:1}to{opacity:0;transform:translateY(-5px)scale(1.2)}}@media (max-width:480px){.objective-instruction{letter-spacing:.65px;font-size:10px}.objective .requirements{gap:5px}.objective .requirement{grid-template-columns:21px minmax(0,1fr) 9px;column-gap:3px;padding:5px}.objective .requirement>img{width:21px;height:21px}.objective .requirement strong{font-size:10px}.objective .requirement span{font-size:9px;line-height:1.3}.objective .requirement>b{font-size:12px}}@media (max-width:350px){.objective .requirement{grid-template-columns:18px minmax(0,1fr) 8px;column-gap:2px;padding:4px}.objective .requirement>img{width:18px;height:20px}.objective .requirement strong,.objective .requirement span{font-size:9px}.material-progress{font-size:8px}.objective-instruction{letter-spacing:.55px;font-size:9px}}@media (prefers-reduced-motion:reduce){.objective .requirement.missing,.objective .requirement.just-collected,.objective .requirement.collection-arrived{animation:none}.requirement:before,.requirement:after,.material-flights{display:none}}.board-stage,#direction-toggle-slot,#direction-pad-slot{display:contents}.phone-difficulty,.tool-symbol,.phone-sound-state{display:none}#phone-tools{align-items:center;gap:1px;display:flex}@media (orientation:landscape) and (max-height:600px){#game>.board-stage>.board-wrap{grid-area:1/2/6}}html.phone-game{overscroll-behavior:none;height:100%}body.phone-layout.game-active{height:var(--phone-height,100dvh);overscroll-behavior:none;min-height:0}.phone-layout.game-active #app{height:100%;min-height:0}.phone-layout.game-active .shell{width:100%;max-width:none;height:100%;min-height:0;padding:max(6px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));grid-template-rows:44px minmax(0,1fr);gap:4px;display:grid}.phone-layout.game-active .masthead{border-bottom:1px solid #40515b66;gap:4px;height:44px;min-height:0}.phone-layout.game-active .masthead a{letter-spacing:1px;white-space:nowrap;min-width:0;font-size:12px}.phone-layout.game-active .brand-icon{font-size:25px}.phone-layout.game-active #help{display:none}.phone-layout.game-active #phone-tools{flex:none}.phone-layout.game-active #phone-tools button{background:0 0;border:0;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;font-size:23px;line-height:1;position:relative}.phone-layout.game-active #phone-tools .tool-label{display:none}.phone-layout.game-active #phone-tools .tool-symbol{display:inline}.phone-layout.game-active #phone-tools .phone-sound-state{color:#c7b483;font-size:7px;line-height:1;display:block;position:absolute;bottom:3px;left:0;right:0}.phone-layout.game-active #phone-tools .sound .tool-symbol{font-size:21px;display:block;transform:translateY(-3px)}.phone-layout.game-active #game{grid-template:"settlement"clamp(68px,18dvh,180px)"objective""stats""board"minmax(0,1fr)/minmax(0,1fr);align-content:stretch;gap:4px;min-width:0;height:100%;min-height:0;display:grid}.phone-layout.game-active .game-heading{z-index:1;grid-area:settlement;align-self:start;width:55%;min-width:0;margin:5px 0 0;display:block}.phone-layout.game-active .game-heading .eyebrow{letter-spacing:1px;font-size:7.5px}.phone-layout.game-active .game-heading h1{letter-spacing:.2px;overflow-wrap:normal;margin:4px 0 0;font-size:clamp(13px,3.9vw,17px);line-height:1.15}.phone-layout.game-active .castle{text-align:left;grid-area:settlement;grid-template-rows:minmax(0,1fr) 17px;grid-template-columns:minmax(0,55%) minmax(0,45%);height:100%;min-height:0;margin:0;display:grid}.phone-layout.game-active #building-art{grid-area:1/2/3;justify-content:center;align-items:center;width:100%;height:100%;min-height:0;padding:3px}.phone-layout.game-active .settlement-art{object-fit:contain;width:100%;max-width:100%;height:100%;max-height:100%}.phone-layout.game-active .stars,.phone-layout.game-active .castle-caption .progress{display:none}.phone-layout.game-active .castle-caption{letter-spacing:.2px;white-space:nowrap;grid-area:2/1;justify-content:flex-start;align-self:end;gap:8px;height:17px;font-size:8px;line-height:1.2}.phone-layout.game-active .phone-difficulty{color:#ddc18b;white-space:nowrap;font-size:8px;display:inline}.phone-layout.game-active .empty-land{width:100%;max-width:140px}.phone-layout.game-active .empty-land span{font-size:30px;line-height:1.1}.phone-layout.game-active .empty-land p{display:none}.phone-layout.game-active .empty-land div{margin:1px 8px 6px}.phone-layout.game-active .objective{grid-area:objective;min-width:0;min-height:0;padding:2px 0 3px}.phone-layout.game-active .objective-instruction{letter-spacing:.6px;margin:0 0 3px;font-size:9.5px;line-height:12px}.phone-layout.game-active .objective-heading{gap:6px;margin-bottom:4px;line-height:1.2}.phone-layout.game-active .objective-heading .section-label{letter-spacing:1px;font-size:8px}.phone-layout.game-active .objective-heading strong{font-size:10px;line-height:1.2}.phone-layout.game-active .objective .requirements{gap:5px}.phone-layout.game-active .objective .requirement{grid-template-rows:19px minmax(12px,auto);grid-template-columns:18px minmax(0,1fr) 9px;gap:1px 3px;min-height:42px;padding:4px}.phone-layout.game-active .objective .requirement>img{width:18px;height:18px}.phone-layout.game-active .objective .requirement strong{font-size:10px;line-height:1.1}.phone-layout.game-active .objective .requirement span{letter-spacing:-.2px;word-spacing:-.5px;font-size:9px;line-height:11px}.phone-layout.game-active .objective .requirement>b{font-size:12px}.phone-layout.game-active .material-progress{min-height:10px;margin-top:4px;font-size:8px;line-height:10px}.phone-layout.game-active .scorebar{grid-area:stats;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;min-height:0;padding:3px 0 4px}.phone-layout.game-active .scorebar>div{padding-left:7px}.phone-layout.game-active .scorebar .board-mode{display:none}.phone-layout.game-active .scorebar span{font-size:8px;line-height:1.1}.phone-layout.game-active .scorebar small{display:none}.phone-layout.game-active .scorebar strong{margin-top:3px;font-size:14px;line-height:1.1}.phone-layout.game-active .board-stage{contain:size;grid-area:board;place-items:center;min-width:0;min-height:0;display:grid}.phone-layout.game-active .board-wrap{width:var(--board-side,0px);height:var(--board-side,0px);aspect-ratio:1;grid-area:auto;place-self:center;min-width:0;max-width:100%;min-height:0;max-height:100%;box-shadow:0 0 0 1px #c1a77355,0 4px 12px #080f1b55}.phone-layout.game-active #board{aspect-ratio:1;width:100%;height:100%}.phone-layout.game-active .game-tools,.phone-layout.game-active .board-details,.phone-layout.game-active .site-footer{display:none}.phone-layout.game-active #announcement{clip-path:inset(50%);white-space:nowrap;pointer-events:none;width:1px;height:1px;min-height:0;margin:-1px;padding:0;position:fixed;top:0;left:0;overflow:hidden}.phone-layout.game-active .complete-kingdom{margin:4px auto;font-size:11px}.phone-layout.game-active .end-overlay{z-index:800;height:var(--phone-height,100dvh);padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));position:fixed;inset:0}.phone-layout.game-active .end-card{width:100%;max-width:330px}.phone-layout.game-active .end-card .eyebrow{font-size:9px;line-height:12px}.phone-layout.game-active .end-card .win-castle{height:clamp(44px,15dvh,110px);margin:4px auto 0;display:block}.phone-layout.game-active .end-card h2{margin:10px 0 6px;font-size:clamp(16px,4vw,22px);line-height:1.2}.phone-layout.game-active .end-card p{margin:5px 0;font-size:11px;line-height:1.3}.phone-layout.game-active .end-card .final-stats{margin:10px 0;font-size:11px;line-height:1.5}.phone-layout.game-active .end-card .wide,.phone-layout.game-active .end-card .text-button{min-height:44px}.phone-layout.game-active .end-card .text-button{margin:4px auto 0;display:block}.phone-layout .upgrade-celebration{height:var(--phone-height,100dvh);padding:max(var(--upgrade-margin),env(safe-area-inset-top)) max(var(--upgrade-margin),env(safe-area-inset-right)) max(var(--upgrade-margin),env(safe-area-inset-bottom)) max(var(--upgrade-margin),env(safe-area-inset-left))}.phone-layout .upgrade-scene{width:min(var(--upgrade-width),calc(100vw - max(var(--upgrade-margin),env(safe-area-inset-left)) - max(var(--upgrade-margin),env(safe-area-inset-right))),calc((var(--phone-height,100dvh) - var(--upgrade-caption) - max(var(--upgrade-margin),env(safe-area-inset-top)) - max(var(--upgrade-margin),env(safe-area-inset-bottom))) * var(--upgrade-ratio)))}.phone-layout dialog{max-height:calc(var(--phone-height,100dvh) - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}@media (max-height:680px) and (orientation:portrait){.phone-layout.game-active #game{grid-template-rows:clamp(60px,11dvh,78px) auto auto minmax(0,1fr)}}@media (orientation:landscape){.phone-layout.game-active #game{grid-template:"settlement board"minmax(44px,1fr)"objective board""stats board"/minmax(0,1fr) minmax(0,1fr);gap:4px 12px}.phone-layout.game-active .objective-instruction{font-size:9px}.phone-layout.game-active .castle-caption{font-size:8px}.phone-layout.game-active .end-card .win-castle{height:44px}.phone-layout.game-active .end-card h2{margin:6px 0 4px;font-size:18px}.phone-layout.game-active .end-card p{margin:3px 0;font-size:10px;line-height:13px}.phone-layout.game-active .end-card .final-stats{margin:6px 0;font-size:10px;line-height:13px}.phone-layout.game-active .end-card .wide{min-height:40px;padding:6px 12px}.phone-layout.game-active .end-card .text-button{min-height:36px;margin:0 auto;padding:4px}}@media (max-height:330px) and (orientation:landscape){.phone-layout.game-active .shell{padding-top:max(4px,env(safe-area-inset-top));padding-bottom:max(4px,env(safe-area-inset-bottom))}.phone-layout.game-active .objective-instruction{display:none}.phone-layout.game-active #game{grid-template-rows:minmax(36px,1fr) auto auto;gap:3px 8px}.phone-layout.game-active .game-heading h1{font-size:13px}.phone-layout.game-active .objective .requirement{grid-template-rows:17px minmax(11px,auto);min-height:37px;padding:3px}.phone-layout.game-active .objective .requirement>img{width:17px;height:17px}}.torch-sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.torch-banner{max-width:220px;height:44px;image-rendering:pixelated;background:#20354b 0 0/100% 100%;border:1px solid #8c8069;align-items:center;gap:7px;padding:1px 7px 1px 1px;display:flex;position:relative}.torch-banner img{object-fit:cover;object-position:top;width:42px;height:40px;image-rendering:pixelated}.torch-banner span{text-align:left;min-width:0}.torch-banner strong{color:#ffcf77;white-space:nowrap;font-size:10px;display:block}.torch-banner small{color:#e4d7ae;white-space:nowrap;margin-top:4px;font-size:9px;display:block}.torch-unavailable{border-color:#8b806b}.torch-unavailable small{color:#c3b7a2}.torch-dialog{width:min(460px,100vw - 24px);max-height:calc(var(--phone-height,100dvh) - 24px);image-rendering:pixelated;animation:torch-card-in var(--torch-intro-ms,.18s) steps(4);background:#172a3e;border:3px solid #b49459;padding:12px;overflow:auto}.torch-dialog::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:#070f1bce}.torch-card-heading{object-fit:contain;width:100%;max-height:80px;image-rendering:pixelated;margin:0 auto 6px;display:block}.torch-offer-body{grid-template-columns:32% minmax(0,1fr);align-items:center;gap:10px;display:grid}.torch-woman{object-fit:contain;width:100%;height:190px;image-rendering:pixelated}.torch-dialog h2{margin:4px 0 12px;font-size:17px}.torch-dialog p{margin:9px 0;font-size:12px;line-height:1.5}.torch-dialog .torch-greeting{color:#f3d28a;font-size:13px}.torch-cost{align-items:center;gap:6px;font-weight:700;display:flex;color:#ffe0a2!important}.torch-cost img{object-fit:contain;width:28px;height:28px;image-rendering:pixelated}.torch-dialog .torch-notice{color:#bac4cc;font-size:10px;line-height:1.4}.torch-actions{gap:8px;margin-top:10px;display:flex}.torch-actions button{flex:1;min-width:0;min-height:44px;padding:9px 5px;font-size:11px}.torch-actions button:disabled{opacity:.45;cursor:not-allowed}.torch-cost{margin-top:8px;font-size:11px;display:block}.torch-cost>strong{line-height:1.5;display:block}.torch-payment-tiles{flex-wrap:wrap;gap:6px;margin-top:5px;display:flex}.torch-payment-tiles>span{align-items:center;gap:3px;font-size:10px;display:flex}.torch-cost img{width:23px;height:23px}.torch-cost small{color:#c6d2d6;white-space:nowrap;font-size:8px}.torch-dialog .torch-damage-warning{text-align:center;color:#bfceb8;margin:8px 0;font-size:10px;line-height:1.4}.torch-dialog .torch-damage-warning.will-damage{color:#ffd08d;background:#462c24;border:1px solid #bb713c;padding:6px}.torch-damage-warning small{color:#e8c6a0;margin-top:3px;font-size:9px;display:block}.torch-ready{animation:torch-gold-pulse var(--torch-glow-ms,1.8s) ease-in-out infinite;border-color:#e6bc6b}.torch-ready:after{content:"";pointer-events:none;width:2px;height:2px;animation:torch-gold-spark var(--torch-glow-ms,1.8s) steps(3) infinite;background:#ffe7a4;position:absolute;top:3px;right:4px;box-shadow:-3px 2px #b99c63,1px 5px #edc47c}.torch-ready-new:before{content:"";pointer-events:none;opacity:0;animation:torch-gold-flash var(--torch-flash-ms,.65s) steps(5);background:#f5d28b;position:absolute;inset:1px}.torch-ready-gesture:before{animation-name:torch-gold-gesture}.torch-ready-announcement{z-index:60;contain:strict;position:fixed;inset:0;overflow:hidden;pointer-events:none!important}.torch-ready-announcement *{pointer-events:none!important}.torch-ready-announcement canvas{aspect-ratio:auto;image-rendering:pixelated;position:absolute}.torch-ready-speech{color:#f5d18b;white-space:nowrap;background:#172d43;border:1px solid #c2a36a;padding:3px 5px;font-size:9px;position:absolute}@keyframes torch-gold-pulse{0%,to{border-color:#b99450;box-shadow:0 0 0 1px #b9945066}50%{border-color:#ffe1a0;box-shadow:0 0 0 2px #dbb46b66}}@keyframes torch-gold-spark{0%,to{opacity:.2}50%{opacity:1}}@keyframes torch-gold-flash{0%,to{opacity:0}25%{opacity:.24}}@keyframes torch-gold-gesture{0%,to{opacity:0}25%{opacity:.24}}.torch-burn{z-index:70;touch-action:none;pointer-events:auto;position:fixed;inset:0;overflow:hidden}.torch-burn-canvas{aspect-ratio:auto;image-rendering:pixelated;pointer-events:none;position:absolute}.torch-speech{color:#ffd78a;white-space:nowrap;pointer-events:none;background:#18344d;border:2px solid #d5b56c;padding:6px 8px;font-size:11px;position:absolute;box-shadow:3px 3px #0a1326}.game-over-art{object-fit:contain;width:auto;max-width:100%;height:clamp(90px,21vh,190px);image-rendering:pixelated;margin:0 auto;display:block}.game-over-art-button{min-height:0;animation:game-over-in var(--game-over-ms,.45s) steps(5);background:0 0;border:0;margin:8px auto 0;padding:0;display:block}.game-over-art-button[aria-pressed=true]{animation:none}.game-over-art-button:focus-visible{outline:2px solid #ffcf77}.end-card.has-game-over-art h2{margin:8px 0;font-size:18px}.end-card.has-game-over-art .final-stats{margin:8px 0}@keyframes torch-banner-in{0%{opacity:.2;transform:translate(-5px)}to{opacity:1;transform:none}}@keyframes torch-card-in{0%{opacity:.4;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes game-over-in{0%{opacity:.15;transform:translateY(8px)}to{opacity:1;transform:none}}@media (max-width:600px){.phone-layout.game-active .masthead{justify-content:space-between}.torch-banner{gap:4px;max-width:calc(100% - 136px)}.torch-banner img{width:34px}.torch-banner strong{font-size:9px}.torch-banner small{font-size:8px}.torch-dialog{padding:9px}.torch-woman{height:160px}.torch-dialog p{font-size:11px}.torch-dialog .torch-greeting{font-size:12px}.phone-layout.game-active .game-over-art{height:min(30dvh,180px)}}@media (max-height:480px) and (orientation:landscape){.torch-dialog{width:min(520px,100vw - 24px);padding:8px}.torch-card-heading{height:42px;margin-bottom:0}.torch-woman{height:105px}.torch-dialog p{margin:4px 0;font-size:10px}.torch-dialog .torch-greeting{font-size:11px}.torch-actions{margin-top:3px}.torch-actions button{min-height:38px}.phone-layout.game-active .game-over-art{height:85px}.end-card.has-game-over-art{grid-template-columns:130px 1fr;align-items:center;column-gap:12px;max-width:470px;display:grid}.has-game-over-art .game-over-art-button{grid-area:1/1/7}.has-game-over-art>.eyebrow,.has-game-over-art>h2,.has-game-over-art>p,.has-game-over-art>button{grid-column:2}.torch-dialog .torch-greeting{display:none}.torch-cost{margin-top:4px;font-size:10px}.torch-payment-tiles{margin-top:2px}.torch-cost img{width:19px;height:19px}.torch-dialog .torch-damage-warning{margin:4px 0;padding:3px;font-size:9px}.torch-dialog .torch-damage-warning small{margin-top:1px;font-size:8px}}@media (prefers-reduced-motion:reduce){.torch-banner,.torch-banner:before,.torch-banner:after,.torch-dialog,.game-over-art-button{animation:none!important}.torch-ready{outline:1px solid #ddb977}.torch-ready:after{display:none}}.torch-offer-body{grid-template-columns:minmax(0,34%) minmax(0,1fr)}.torch-offer-character{isolation:isolate;width:100%;min-width:0;height:190px;position:relative}.torch-offer-character .torch-offer-pose{object-fit:contain;object-position:center bottom;opacity:0;width:100%;height:100%;animation:torch-offer-cheer var(--torch-offer-cycle,1.5s) steps(1,end) infinite;animation-delay:var(--pose-delay,0s);padding:5px;position:absolute;inset:0}@keyframes torch-offer-cheer{0%,16.65%{opacity:1}16.66%,to{opacity:0}}@media (max-width:600px){.torch-offer-character{height:160px}.torch-offer-body{gap:7px}}@media (max-height:480px) and (orientation:landscape){.torch-offer-character{height:105px}}@media (prefers-reduced-motion:reduce){.torch-offer-character .torch-offer-pose{opacity:0;animation:none!important}.torch-offer-character .torch-offer-pose:first-child{opacity:1}}.torch-banner.torch-ready{isolation:isolate;background-color:#49301f;border-width:2px;padding-right:24px;box-shadow:0 0 0 1px #f2bb61}.torch-banner.torch-ready strong{color:#ffe6a8;letter-spacing:.3px;font-size:12px}.torch-banner .torch-banner-flames{pointer-events:none;width:22px;height:44px;position:absolute;top:-7px;right:1px}.torch-banner .torch-banner-flame{object-fit:contain;opacity:0;width:100%;height:100%;animation:.6s step-end infinite torch-button-fire;animation-delay:var(--fire-delay);position:absolute;inset:0}@keyframes torch-button-fire{0%,33.32%{opacity:1}33.33%,to{opacity:0}}.torch-actions #torch-accept:not(:disabled){color:#2c2019;background:#efb552;border-color:#ffe3a0;font-weight:700;box-shadow:0 0 0 1px #bd7d36,0 3px #70451f}@media (max-width:600px){.torch-banner.torch-ready strong{letter-spacing:0;font-size:11px}.torch-banner .torch-banner-flames{width:19px}.torch-banner.torch-ready{padding-right:20px}}@media (prefers-reduced-motion:reduce){.torch-banner .torch-banner-flame{opacity:0;animation:none!important}.torch-banner .torch-banner-flame:first-child{opacity:1}}body.home-screen{background:#122b41;min-height:100dvh}.home-screen .shell{width:100%;max-width:none;margin:0;padding:0}.home-screen .masthead,.home-screen .site-footer{display:none}body.home-screen #menu.home-menu{isolation:isolate;text-align:center;grid-template-columns:minmax(170px,24vw) minmax(340px,480px) minmax(0,1fr);align-items:center;gap:clamp(20px,2.4vw,46px);width:100%;max-width:none;height:100dvh;min-height:0;margin:0;padding:clamp(20px,3dvh,42px) clamp(24px,2.5vw,54px);display:grid;position:relative}.home-scenery{z-index:-3;background:radial-gradient(at 30% 12%,#496680,#152e45 65%);position:absolute;inset:0;overflow:hidden}.home-scenery img{object-fit:cover;object-position:center top;width:100%;max-width:none;height:100%;image-rendering:pixelated;display:block;position:absolute;top:0;right:0}.home-shade{z-index:-2;pointer-events:none;background:linear-gradient(90deg,#081b2a26 0%,#10293e44 44%,#10293e08 72%,#06142012),linear-gradient(#0000 70%,#05101e66);position:absolute;inset:0}.home-hero{pointer-events:none;grid-area:1/1;align-self:stretch;min-width:0;min-height:0;position:relative}.home-flag-heroine{object-fit:contain;object-position:bottom center;width:100%;height:calc(100% - 70px);image-rendering:pixelated;position:absolute;bottom:62px;left:0}.home-battlements{object-fit:cover;object-position:bottom;width:112%;height:86px;image-rendering:pixelated;position:absolute;bottom:0;left:-12%}.home-panel{background:linear-gradient(135deg,#0b2032e8,#11273ae0);border:1px solid #9a83534d;grid-area:1/2;gap:clamp(9px,1.5dvh,17px);min-width:0;padding:clamp(14px,2dvh,24px);display:grid;position:relative;box-shadow:6px 7px #07142333}#menu .home-title{letter-spacing:normal;text-shadow:none;margin:0;line-height:1}.home-title img{object-fit:contain;width:100%;height:clamp(140px,21dvh,220px);image-rendering:pixelated;display:block}#menu .home-tagline{letter-spacing:1px;color:#ead9ad;text-shadow:1px 2px #071623;margin:0;font-size:10px;line-height:1.5}.home-visual{display:none}.home-actions{flex-direction:column;gap:9px;display:flex}#menu .home-action{color:#fff0ce;text-shadow:1px 2px #071321;border:9px solid #0000;border-radius:0;justify-content:center;align-items:center;gap:10px;width:100%;height:54px;min-height:44px;padding:4px 13px;font-size:16px;font-weight:700;line-height:1.3;transition:background .12s,transform 80ms,box-shadow .12s;display:flex;position:relative;box-shadow:0 3px #07111e80}#menu .home-continue{border-image:var(--home-continue-frame) 13 fill / 10px;background:linear-gradient(#8b2834,#661824)}#menu .home-new{border-image:var(--home-new-frame) 13 fill / 10px;background:linear-gradient(#183f66,#10294b)}#menu .home-action span{color:#f5d99a;margin-left:auto;font-size:22px;line-height:1}#menu .home-action:hover{background-color:#274a65;box-shadow:0 0 0 1px #edca82,0 4px #07111e80}#menu .home-action:active{transform:translateY(2px);box-shadow:0 1px #07111e80}#menu .home-action:disabled{opacity:.45;box-shadow:none;cursor:not-allowed;transform:none}#menu .home-challenge{letter-spacing:1px;color:#e7d6ac;justify-content:center;align-items:center;gap:10px;margin:0;font-size:10px;line-height:1.3;display:flex}.home-challenge:before,.home-challenge:after{content:"";background:#a48b5866;flex:1;max-width:48px;height:1px}#menu .difficulties{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}#menu .difficulty{border:6px solid #667582;border-image:var(--home-card-frame) 10 fill / 7px;min-width:0;min-height:110px;box-shadow:none;background:linear-gradient(#182c3de8,#101d2ee8);border-radius:0;grid-template-rows:auto 23px auto 1fr;align-content:start;justify-items:center;gap:5px;padding:8px 4px;display:grid}#menu .difficulty.selected{border-image:var(--home-card-selected) 12 fill / 8px;background:linear-gradient(#34352eea,#182636ee);padding:8px 4px}#menu .difficulty:hover{background-color:#30404d}#menu .difficulty strong{letter-spacing:.7px;color:#e5e2cf;font-size:13px;line-height:1}#menu .difficulty.selected strong{color:#ffe2a0}#menu .home-crown{object-fit:contain;width:27px;height:23px;image-rendering:pixelated}#menu .difficulty span{color:#f3e8ca;white-space:nowrap;margin:0;font-size:12px;line-height:1.15;display:block}#menu .difficulty small{color:#c5d0cf;max-width:112px;font-size:11px;line-height:1.35;display:block}#menu .home-secondary{justify-content:center;align-items:center;gap:15px;min-width:0;margin:0;display:flex}#menu .home-secondary button{white-space:nowrap;color:#e8dfc8;border-radius:0;justify-content:center;align-items:center;gap:5px;min-height:44px;padding:3px 1px;font-size:11px;display:flex}.home-secondary img{width:30px;height:30px;image-rendering:pixelated;object-fit:contain}#menu button:focus-visible{outline-offset:3px;outline:3px solid #f6da8e}@media (max-height:800px) and (min-width:901px){#menu .home-action{height:50px;font-size:15px}#menu .difficulty{gap:4px;min-height:112px}#menu .home-secondary{gap:12px}}@media (max-width:900px),(max-width:1024px) and (max-height:500px){body.home-screen #menu.home-menu{height:100dvh;min-height:0;padding:max(12px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));grid-template-columns:minmax(0,1fr);align-items:stretch;gap:0;display:grid}.home-scenery img{object-fit:cover;object-position:center 40%;width:100%;height:100%;-webkit-mask-image:none;mask-image:none}.home-shade{background:linear-gradient(#05162920,#07182908 36%,#0718299c 67%,#071829e8 100%)}.home-hero{display:none}.home-panel{width:100%;max-width:420px;height:100%;min-height:0;box-shadow:none;background:0 0;border:0;grid-area:1/1;grid-template-rows:clamp(88px,16dvh,150px) auto minmax(36px,1fr) auto auto auto auto;grid-template-columns:minmax(0,1fr);gap:clamp(6px,1dvh,10px);margin:auto;padding:0;display:grid}.home-title img{width:100%;height:100%;max-height:100%}#menu .home-tagline{letter-spacing:.5px;text-shadow:1px 1px #071623,-1px -1px #071623,1px -1px #071623,-1px 1px #071623;font-size:10px;line-height:1.3}.home-visual{pointer-events:none;min-height:0;display:block;position:relative}.home-visual img{object-fit:contain;object-position:bottom left;width:34%;height:100%;max-height:165px;image-rendering:pixelated;position:absolute;bottom:0;left:0}.home-visual .home-mobile-heroine{height:calc(100% - 18px);bottom:18px}.home-visual .home-mobile-ground{object-fit:cover;object-position:top;width:34%;height:20px}.home-actions{gap:7px}#menu .home-action{height:48px;padding:3px 10px;font-size:12px}#menu .home-challenge{letter-spacing:.6px;font-size:9px}#menu .difficulties{gap:6px}#menu .difficulty,#menu .difficulty.selected{grid-template-rows:auto 18px auto 1fr;gap:3px;height:clamp(88px,13dvh,116px);min-height:0;padding:6px 2px}#menu .difficulty strong{letter-spacing:.4px;font-size:11px}#menu .home-crown{width:23px;height:18px}#menu .difficulty span{font-size:10px}#menu .difficulty small{max-width:95px;font-size:9px;line-height:1.25}#menu .home-secondary{gap:16px}#menu .home-secondary button{min-height:44px;font-size:11px}.home-secondary img{width:27px;height:27px}}@media (max-width:900px) and (max-height:620px) and (orientation:portrait){.home-panel{grid-template-rows:80px auto minmax(36px,1fr) auto auto auto auto;gap:6px}#menu .home-action{height:44px;font-size:11px}#menu .difficulty,#menu .difficulty.selected{height:88px}}@media (orientation:landscape) and (max-height:500px) and (max-width:1024px){body.home-screen #menu.home-menu{padding:max(8px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.home-scenery{right:54%}.home-scenery img{object-position:center 42%}.home-shade{background:linear-gradient(90deg,#10274022,#0a1c2ec9 46%,#0a1c2ff2 60%)}.home-panel{grid-template-rows:minmax(76px,1fr) auto 88px 44px;grid-template-columns:minmax(150px,.8fr) minmax(260px,1.2fr);gap:6px 16px;max-width:none}.home-title{grid-area:1/1}.home-title img{height:100%;max-height:115px}#menu .home-tagline{grid-area:2/1;font-size:8px}.home-visual{grid-area:3/1/5}.home-visual img{width:55%;height:100%;max-height:135px;left:3%}.home-visual .home-mobile-heroine{height:calc(100% - 16px);bottom:16px}.home-visual .home-mobile-ground{width:55%;height:18px}.home-actions{grid-area:1/2;align-self:center;gap:6px}#menu .home-action{height:44px;font-size:11px}#menu .home-challenge{grid-area:2/2;font-size:8px}#menu .difficulties{grid-area:3/2}#menu .difficulty,#menu .difficulty.selected{height:88px}#menu .home-secondary{grid-area:4/2;gap:9px}#menu .home-secondary button{font-size:10px}.home-secondary img{width:25px;height:25px}}@media (prefers-reduced-motion:reduce){#menu button{transition:none!important}}body.game-active{background:#101b29}body.game-active:before{content:"";pointer-events:none;background:linear-gradient(#10203344,#0a1525aa),var(--play-desktop) center/cover no-repeat;opacity:var(--play-backdrop-opacity,.48);image-rendering:pixelated;position:fixed;inset:0}body.game-active #app{position:relative}body.game-active .masthead{border-bottom-color:#bd995366}body.game-active .castle{border:5px solid #a78950;border-image:var(--play-panel) 13 stretch;background:#102130ce;box-shadow:0 5px #050d1766}body.game-active .objective{background:#132330e8;border:1px solid #8b744b;padding:10px;box-shadow:inset 0 0 0 2px #243846}body.game-active .objective-heading strong{color:#f5d48c}body.game-active .scorebar>div{background:#132330e8;border:1px solid #89734c;padding:8px 9px;box-shadow:inset 0 0 0 2px #223543}body.game-active .scorebar strong{color:#f1d291}body.game-active .board-wrap{--board-rim:10px;--board-corner:14px;border:var(--board-rim) solid;background:#101e2a;border-color:#b1804e #68462f #453229 #8a603c;border-image:;border-radius:0;box-shadow:0 0 0 2px #241e20,inset 0 0 0 2px #d0a16a,0 6px #080f17,0 14px 30px #0007}body.game-active .board-wrap:after{content:"";inset:calc(-1 * var(--board-rim));pointer-events:none;background:linear-gradient(135deg,#d2d4bb 0 20%,#78858b 20% 72%,#384651 72%) top left / var(--board-corner) var(--board-corner) no-repeat,linear-gradient(135deg,#d2d4bb 0 20%,#78858b 20% 72%,#384651 72%) top right / var(--board-corner) var(--board-corner) no-repeat,linear-gradient(135deg,#d2d4bb 0 20%,#78858b 20% 72%,#384651 72%) bottom left / var(--board-corner) var(--board-corner) no-repeat,linear-gradient(135deg,#d2d4bb 0 20%,#78858b 20% 72%,#384651 72%) bottom right / var(--board-corner) var(--board-corner) no-repeat;border:2px solid #30292a;position:absolute;box-shadow:inset 0 0 0 1px #d3aa7255}body.game-active .text-button{color:#efce91}body.game-active .game-tools{background:#11212de8;border:1px solid #74603f;padding:0 4px}body.game-active #dialog{border:5px solid #a78950;border-image:var(--play-panel) 13 stretch;background:#142532}body.game-active .play-icon{vertical-align:middle;width:30px;height:30px}body.game-active .site-footer{color:#dac89c}body.phone-layout.game-active:before{background-image:linear-gradient(#10203366,#0a1525aa),var(--play-mobile)}body.phone-layout.game-active .castle{border-width:3px}body.phone-layout.game-active .game-heading{padding-left:7px}body.phone-layout.game-active .castle-caption{padding-left:5px}body.phone-layout.game-active .objective{padding:4px 5px}body.phone-layout.game-active .scorebar>div{padding:4px 7px}body.phone-layout.game-active .board-wrap{--board-rim:6px;--board-corner:10px}@media (min-width:601px) and (min-height:501px){body.game-active:not(.phone-layout) .shell{max-width:1120px;padding:0 24px 16px}body.game-active:not(.phone-layout) .masthead{height:60px}body.game-active:not(.phone-layout) #game{grid-template:"heading stats""castle board"170px"objective board""tools board""announcement board""details board"1fr/300px minmax(0,1fr);gap:12px 24px;height:calc(100dvh - 80px);min-height:620px;padding-top:14px;display:grid}body.game-active:not(.phone-layout) .game-heading{grid-area:heading;margin:0}body.game-active:not(.phone-layout) .castle{grid-area:castle;height:170px;margin:0}body.game-active:not(.phone-layout) #building-art{height:130px}body.game-active:not(.phone-layout) .settlement-art{max-height:126px}body.game-active:not(.phone-layout) .objective{grid-area:objective;align-self:start}body.game-active:not(.phone-layout) .scorebar{grid-area:stats;align-self:center;padding:0}body.game-active:not(.phone-layout) .board-stage{contain:size;grid-area:board;place-items:start center;min-width:0;min-height:0;display:grid}body.game-active:not(.phone-layout) .board-wrap{width:var(--board-side,0px);height:var(--board-side,0px);max-width:100%;max-height:100%}body.game-active:not(.phone-layout) canvas{aspect-ratio:1;height:100%}body.game-active:not(.phone-layout) .game-tools{flex-wrap:wrap;grid-area:tools;margin:0}body.game-active:not(.phone-layout) #announcement{grid-area:announcement;margin:0}body.game-active:not(.phone-layout) .board-details{grid-area:details;margin:0}body.game-active:not(.phone-layout) #direction-pad-slot{grid-area:7/1;display:block}body.game-active:not(.phone-layout) .site-footer{display:none}body.game-active:not(.phone-layout) .objective-instruction{letter-spacing:.3px;font-size:11px}body.game-active:not(.phone-layout) .objective-heading .section-label{letter-spacing:0;font-size:8px}body.game-active:not(.phone-layout) .objective-heading strong{font-size:11px}body.game-active:not(.phone-layout) .requirement span{letter-spacing:-.3px;white-space:nowrap;font-size:8px}}.torch-reminder{z-index:55;pointer-events:none;image-rendering:pixelated;animation:.18s steps(3,end) torch-reminder-in,.25s steps(3,end) 2.95s forwards torch-reminder-out;position:fixed}.torch-reminder img{object-fit:contain;filter:drop-shadow(2px 3px #07101ba0);width:100%;height:100%;display:block}.torch-reminder span{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}@keyframes torch-reminder-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes torch-reminder-out{to{opacity:0}}@media (prefers-reduced-motion:reduce){.torch-reminder{animation:none}}
