.git-workspace{--git-plum: #630330;--git-gold: #cfa32d;--git-ink: #27242a;--git-muted: #716c73;--git-rule: #e3dfe4;--git-paper: #fff;--git-wash: #faf8f4;--git-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;display:flex;flex-direction:column;min-height:100dvh;height:100%;color:var(--git-ink);background:#fff;font-family:var(--serif, Lora, Georgia, serif);overflow:hidden}.git-workspace button,.git-workspace input,.git-workspace textarea,.git-workspace select{font:inherit}.git-workspace button{cursor:pointer}.git-workspace button:disabled{cursor:not-allowed;opacity:.56}.git-workspace button:focus-visible,.git-workspace textarea:focus-visible,.git-workspace input:focus-visible,.git-workspace select:focus-visible,.git-workspace summary:focus-visible{outline:3px solid var(--git-gold);outline-offset:2px}.git-camp-masthead{z-index:2;flex:0 0 58px;min-height:58px;display:grid;grid-template-columns:minmax(180px,1fr) auto minmax(180px,1fr);align-items:center;padding:0 clamp(14px,3vw,42px);color:#fff;background:var(--git-plum);border-bottom:3px solid var(--git-gold)}.git-back-button,.git-help-button{display:inline-flex;align-items:center;gap:9px;width:fit-content;padding:8px 10px;color:#fff;border:0;background:transparent;font-size:.82rem!important}.git-back-button:hover,.git-help-button:hover{color:#f3d478}.git-help-button{justify-self:end}.git-brand{display:flex;align-items:center;gap:8px;color:var(--git-gold)}.git-brand .brand-laurel{width:32px;height:24px}.git-brand span{font-family:var(--serif, Lora, Georgia, serif);font-size:1.12rem;font-weight:700;letter-spacing:.17em}.git-brand small{color:#f8e9bd;font:600 .58rem/1.2 var(--git-mono);letter-spacing:.1em;margin-left:5px}.git-stage-nav{flex:0 0 48px;min-height:48px;display:flex;align-items:stretch;justify-content:center;gap:clamp(14px,3vw,42px);padding:0 20px;border-bottom:1px solid var(--git-rule);background:#fff}.git-stage-nav>button:not(.git-stage-save){min-width:82px;padding:0 10px;color:#39353c;border:0;border-bottom:3px solid transparent;background:transparent;font-size:.91rem!important}.git-stage-nav>button.is-active{color:var(--git-plum);border-bottom-color:var(--git-gold);font-weight:700}.git-stage-nav-spacer{flex:1}.git-stage-save{display:none;align-self:center;align-items:center;gap:6px;padding:7px 10px;color:var(--git-plum);border:1px solid var(--git-rule);background:#fff;font-size:.76rem!important}.git-practice-global{display:flex;justify-content:center;align-items:center;gap:15px;padding:8px 16px;color:#3c3220;background:#fbf5e7;border-bottom:1px solid #e8d8ac;font-size:.78rem}.git-practice-global button,.git-practice-banner button{color:var(--git-plum);border:0;background:none;text-decoration:underline;text-underline-offset:3px}.git-eyebrow{margin:0 0 8px;color:var(--git-muted);font:600 .66rem/1.3 var(--git-mono);letter-spacing:.1em;text-transform:uppercase}.git-workspace h1,.git-workspace h2,.git-workspace h3,.git-workspace p{margin-top:0}.git-workspace h1,.git-workspace h2,.git-workspace h3{color:var(--git-ink);font-weight:600}.git-workspace h1{margin-bottom:11px;font-size:clamp(1.25rem,1.8vw,1.7rem);line-height:1.2}.git-workspace h2{margin-bottom:10px;font-size:1.15rem;line-height:1.25}.git-workspace h3{margin-bottom:8px;font-size:.93rem}.git-stage-columns{position:relative;flex:1;min-height:0;display:grid;overflow:auto}.git-panel{min-width:0;padding:clamp(15px,1.65vw,25px);background:#fff}.git-section-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.git-section-top h1,.git-section-top h2{margin-bottom:0}.git-button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 13px;border:1px solid transparent;border-radius:3px;font-size:.82rem!important;font-weight:600;line-height:1.2;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.git-button-primary{color:#fff;background:var(--git-plum)}.git-button-primary:hover{background:#7a1749}.git-button-outline{color:#28242b;border-color:#a9a4ab;background:#fff}.git-button-outline:hover{border-color:var(--git-gold);background:#fbf9f3}.git-button-quiet{color:#4a4550;border-color:transparent;background:transparent}.git-button-quiet:hover{color:var(--git-plum);background:#f8f5f8}.git-text-button{display:inline-flex;align-items:center;gap:6px;padding:5px 2px;color:var(--git-plum);border:0;background:none;font-size:.78rem!important;text-align:left;text-underline-offset:3px}.git-text-button:hover{text-decoration:underline}.git-inline-code{padding:.08em .28em;color:#312d35;background:#eeeaf0;font:.88em/1.35 var(--git-mono)}.git-guidance-target{position:relative;z-index:1;outline:3px solid var(--git-gold)!important;outline-offset:3px!important;box-shadow:0 0 0 7px #cfa32d24}.git-guidance-target:after{content:"Start here";position:absolute;z-index:2;top:calc(100% + 7px);left:0;width:max-content;padding:3px 6px;color:#362807;background:#f5e5b3;box-shadow:0 1px 3px #0002;font:600 .58rem/1.3 var(--git-mono)}.git-first-use-guide,.git-guide-reopened{scroll-margin-top:14px}.git-mobile-panel-tabs{display:none}.git-story-stage{flex:1;min-height:0;display:flex;flex-direction:column;overflow:auto;background:#fff}.git-story-art{position:relative;flex:0 0 clamp(250px,43vh,440px);min-height:230px;overflow:hidden;background:#d5d6cd}.git-story-art img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 56%}.git-story-art:after{position:absolute;inset:55% 0 0;content:"";background:linear-gradient(transparent,#0d14187a);pointer-events:none}.git-story-caption{position:absolute;z-index:1;right:clamp(16px,4vw,56px);bottom:17px;left:clamp(16px,4vw,56px);display:flex;justify-content:space-between;gap:10px;color:#fff;font:600 .66rem/1.3 var(--git-mono);letter-spacing:.08em;text-shadow:0 1px 4px #000}.git-story-dialogue{flex:1;width:min(1120px,calc(100% - 48px));display:grid;grid-template-columns:58px minmax(0,1fr);align-items:start;gap:19px;margin:clamp(18px,3vh,34px) auto 16px}.git-story-dialogue.is-narration{grid-template-columns:minmax(0,1fr)}.git-story-avatar{width:54px;height:54px;display:grid;place-items:center;color:var(--git-plum);border:1px solid var(--git-gold);background:var(--git-wash);font-size:1.45rem}.git-story-copy{min-height:78px}.git-speaker{margin:0 0 6px;color:var(--git-plum);font-size:.86rem;font-weight:700}.git-stage-direction{margin:0 0 10px;color:#625e65;font-size:.95rem;font-style:italic;line-height:1.55}.git-story-beat+.git-story-beat{margin-top:10px}.git-dialogue-line{max-width:900px;margin:0;color:#20232e;font-size:clamp(1.02rem,1.6vw,1.4rem);line-height:1.5}.git-story-controls{width:min(1120px,calc(100% - 48px));min-height:68px;display:grid;grid-template-columns:1fr minmax(68px,auto) 1fr;align-items:center;gap:15px;margin:0 auto;padding:12px 0;border-top:1px solid var(--git-rule)}.git-story-progress{display:flex;align-items:center;gap:9px;color:var(--git-muted);font:.72rem var(--git-mono)}.git-story-progress i{width:90px;height:2px;background:linear-gradient(90deg,var(--git-gold) 0 45%,#ded9df 45%)}.git-story-actions{display:flex;justify-content:end;align-items:center;gap:9px}.git-story-actions .git-button-primary{min-width:158px}.git-learning-layout{grid-template-columns:minmax(235px,.92fr) minmax(275px,1fr) minmax(300px,1.08fr);grid-template-rows:minmax(0,1fr) auto}.git-learning-explain{display:flex;flex-direction:column;gap:15px;border-right:1px solid var(--git-gold);overflow:auto}.git-step-indicator{display:flex;gap:6px;overflow-x:auto;padding:2px 0 4px}.git-step-indicator button{flex:0 0 auto;width:38px;height:34px;display:grid;place-items:center;color:#514c54;border:1px solid #d6d0d6;background:#fff;font:.7rem var(--git-mono)}.git-step-indicator button small{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.git-step-indicator button[aria-current=step]{color:var(--git-plum);border-color:var(--git-gold);box-shadow:inset 0 -2px var(--git-gold)}.git-reading-copy{color:#35313a;font-size:.92rem;line-height:1.64}.git-reading-copy p{margin:0 0 12px}.git-command-parts{margin:0;padding:12px;background:var(--git-wash)}.git-command-parts dt{margin-bottom:8px;color:var(--git-muted);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.git-command-parts dd{display:flex;align-items:baseline;gap:9px;margin:7px 0}.git-command-parts code,.git-file-glyph{color:#29252d;background:#eeeaf0;font:.76rem var(--git-mono);padding:3px 6px}.git-command-parts dd span{color:#5e5961;font-size:.78rem}.git-learning-navigation{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:10px;border-top:1px solid var(--git-rule);color:var(--git-muted);font:.72rem var(--git-mono)}.git-learning-example{display:flex;flex-direction:column;gap:14px;border-right:1px solid var(--git-gold);overflow:auto}.git-copy-badge{align-self:flex-start;max-width:135px;padding:5px 7px;color:#574417;border:1px solid #ead9ab;background:#fbf6e9;font-size:.66rem;line-height:1.35}.git-example-description,.git-result-explanation,.git-practice-note{margin:0;color:#55515a;font-size:.82rem;line-height:1.5}.git-code-editor{min-height:150px;display:flex;flex-direction:column;overflow:hidden;border:1px solid #d9d4dc;background:#fbfafb}.git-editor-title{min-height:36px;display:flex;justify-content:space-between;align-items:center;padding:0 10px;border-bottom:1px solid #e4e0e5;color:#6d6870;font-size:.69rem}.git-code-editor pre{flex:1;margin:0;padding:14px;overflow:auto;color:#e8e5eb;background:#20232a;font:.79rem/1.6 var(--git-mono);white-space:pre-wrap}.git-result-explanation{padding-left:10px;border-left:2px solid var(--git-gold)}.git-example-controls{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.git-practice-note{color:#746f77;font-size:.7rem}.git-learning-output{display:flex;flex-direction:column;gap:12px;overflow:auto}.git-learning-output .git-camp-map{flex:0 0 auto}.git-stage-footer{grid-column:1 / -1;min-height:58px;display:flex;align-items:center;justify-content:space-between;padding:8px clamp(15px,2vw,26px);border-top:1px solid var(--git-rule)}.git-task-layout{grid-template-columns:minmax(250px,.95fr) minmax(310px,1fr) minmax(330px,1.08fr);grid-template-rows:minmax(0,1fr)}.git-task-brief{overflow:auto;border-right:1px solid var(--git-gold)}.git-duration{color:var(--git-muted);font:.68rem var(--git-mono);white-space:nowrap}.git-objective{margin:18px 0;font-size:.92rem;font-weight:600;line-height:1.55}.git-entry-notice,.git-change-notice{color:#5e4a1b;background:#fbf5e7;border:1px solid #e8d8ac}.git-entry-notice{padding:10px 12px;font-size:.77rem;line-height:1.45}.git-change-notice{display:flex;align-items:flex-start;gap:7px;margin-top:12px;padding:9px;font-size:.73rem;line-height:1.4}.git-first-use-guide,.git-guide-reopened{margin:13px 0;padding:12px;background:#faf8f4;border-left:3px solid var(--git-gold)}.git-guide-heading{display:flex;align-items:center;gap:7px;color:#604907}.git-guide-heading button{margin-left:auto;padding:1px 6px;color:var(--git-muted);border:0;background:none;font-size:1.15rem}.git-first-use-guide p,.git-guide-reopened p{margin:7px 0;color:#4a454d;font-size:.78rem;line-height:1.5}.git-reopen-guide{margin-bottom:14px}.git-requirements{padding-top:13px;border-top:1px solid var(--git-rule)}.git-requirements h2{margin-bottom:10px;font-size:.9rem}.git-requirements ul{display:grid;gap:12px;margin:0;padding:0;list-style:none}.git-requirements li{display:grid;grid-template-columns:18px 1fr;gap:9px;align-items:start}.git-checkmark{width:17px;height:17px;display:grid;place-items:center;color:#185b3b;border:1px solid #aaa5ac;background:#fff}.git-requirements li.is-passed .git-checkmark{border-color:#398865;background:#e8f3ed}.git-requirements li strong{font-size:.8rem}.git-requirements li p{margin:3px 0 0;color:#69646c;font-size:.72rem;line-height:1.45}.git-honour{margin:16px 0;padding:12px 0;border-top:1px solid var(--git-rule);border-bottom:1px solid var(--git-rule)}.git-honour .git-eyebrow{margin-bottom:4px;color:#795e18}.git-honour strong{font-size:.8rem}.git-honour p:not(.git-eyebrow){margin:5px 0;color:#635d66;font-size:.72rem;line-height:1.45}.git-honour span{color:#746e77;font-size:.65rem}.git-honour span.is-earned{color:#1d6444;font-weight:700}.git-task-help-links{display:flex;flex-wrap:wrap;gap:5px 14px;margin-top:12px}.git-hint-list{display:grid;gap:6px;margin:5px 0 12px;padding-left:22px;color:#514b54;font-size:.74rem;line-height:1.5}.git-glossary{margin:13px 0;border-top:1px solid var(--git-rule);border-bottom:1px solid var(--git-rule)}.git-glossary summary,.git-practice-list summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 0;color:#3b363f;cursor:pointer;font-size:.77rem;font-weight:700;list-style:none}.git-glossary summary::-webkit-details-marker,.git-practice-list summary::-webkit-details-marker{display:none}.git-glossary[open] summary svg,.git-practice-list[open] summary svg{transform:rotate(90deg)}.git-glossary dl{display:grid;gap:9px;margin:0;padding:0 0 12px}.git-glossary dl div{display:grid;grid-template-columns:minmax(76px,.4fr) 1fr;gap:8px}.git-glossary dt{color:var(--git-plum);font-size:.72rem;font-weight:700}.git-glossary dd{margin:0;color:#5e5961;font-size:.72rem;line-height:1.45}.git-notes-label{display:block;margin-bottom:5px;color:#3c3740;font-size:.75rem;font-weight:700}.git-notes-input{width:100%;min-height:70px;resize:vertical;padding:8px;color:var(--git-ink);border:1px solid #d9d4dc;background:#fff;font-size:.75rem!important;line-height:1.4}.git-practice-list{margin:13px 0;border-top:1px solid var(--git-rule);border-bottom:1px solid var(--git-rule)}.git-practice-list ol{max-height:190px;overflow:auto;margin:0;padding:0 0 9px;list-style:none}.git-practice-list li button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:7px;color:#4c4750;border:0;background:transparent;font-size:.72rem;text-align:left}.git-practice-list li button:hover,.git-practice-list li button[aria-current=step]{color:var(--git-plum);background:#faf7f9}.git-practice-list li small{color:#28724f;font-size:.62rem}.git-legacy-link{margin:8px 0}.git-practice-banner{display:grid;gap:6px;margin:12px 0;padding:10px;background:#fbf5e7;font-size:.74rem;line-height:1.4}.git-practice-banner button{width:fit-content;padding:0;font-size:.72rem}.git-task-editor{overflow:auto;border-right:1px solid var(--git-gold)}.git-task-editor .git-section-top{align-items:center}.git-mode-status{color:#5e5961;font-size:.65rem;text-align:right}.git-editor-tabs{display:flex;gap:18px;margin:14px 0 10px;border-bottom:1px solid var(--git-rule)}.git-editor-tabs button{display:inline-flex;align-items:center;gap:6px;padding:0 0 8px;color:#58535c;border:0;border-bottom:2px solid transparent;background:transparent;font-size:.78rem!important}.git-editor-tabs button[aria-selected=true]{color:var(--git-plum);border-bottom-color:var(--git-gold);font-weight:700}.git-editor-tabs small{min-width:17px;padding:2px 4px;border-radius:9px;background:#f0edf1;font:.62rem var(--git-mono);text-align:center}.git-command-input,.git-file-input{width:100%;min-height:min(34vh,310px);display:block;resize:vertical;padding:12px;color:#ebe9ee;border:1px solid #12151b;background:#20232a;font:.81rem/1.62 var(--git-mono)!important;tab-size:2}.git-editor-caption{margin:7px 0;color:var(--git-muted);font-size:.66rem;line-height:1.4}.git-command-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0}.git-draft-warning{color:#765b0b;font-size:.66rem}.git-file-toolbar{display:grid;grid-template-columns:auto minmax(0,1fr) 36px 36px;align-items:center;gap:7px;margin:12px 0 8px}.git-file-toolbar label{color:#625d65;font-size:.72rem}.git-file-toolbar select,.git-create-file input{min-width:0;height:36px;padding:5px 8px;color:#332f37;border:1px solid #d2cdd4;background:#fff;font-size:.76rem!important}.git-file-toolbar button{width:36px;height:36px;display:grid;place-items:center;color:#403b43;border:1px solid #d2cdd4;background:#fff}.git-file-input{min-height:min(35vh,330px)}.git-empty-editor{min-height:135px;display:grid;place-items:center;padding:15px;color:#726d75;border:1px dashed #cfc9d1;font-size:.75rem;text-align:center}.git-create-file{margin:8px 0;padding:10px;background:var(--git-wash)}.git-create-file label{display:block;margin-bottom:5px;color:#514c54;font-size:.68rem}.git-create-file>div{display:flex;gap:7px}.git-create-file input{flex:1}.git-create-file .git-button{min-height:36px}.git-create-file p{margin:5px 0 0;color:#9a2d3f;font-size:.68rem}.git-editor-recovery{margin:13px 0 0;padding-top:9px;border-top:1px solid var(--git-rule)}.git-reset-cancel{margin-left:8px;color:#605a64;text-decoration:underline}.git-task-state{display:flex;flex-direction:column;gap:12px;overflow:auto}.git-task-outcome{padding-top:10px;border-top:1px solid var(--git-rule)}.git-task-outcome p{margin-bottom:9px;color:#514c54;font-size:.74rem;line-height:1.45}.git-task-outcome .git-button{width:100%}.git-camp-save-actions{display:flex;flex-wrap:wrap;align-items:center;gap:2px 12px;margin-top:auto;padding-top:8px;border-top:1px solid var(--git-rule)}.git-camp-save-actions>span{width:100%;color:#4f6256;font-size:.66rem}.git-camp-save-actions>span:not(.is-saved){color:#7c5b13}.git-save-issue{margin:0;color:#8b2b3a;font-size:.69rem;line-height:1.4}.git-camp-map{padding:0}.git-map-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}.git-map-heading .git-eyebrow{margin-bottom:3px}.git-map-heading h2{margin:0;font-size:.98rem}.git-map-zoom{display:flex;gap:4px}.git-map-zoom button{width:29px;height:29px;display:grid;place-items:center;color:#514c54;border:1px solid var(--git-rule);background:#fff}.git-map-viewport{position:relative;height:clamp(165px,21vh,245px);overflow:hidden;background:#f3eddf;border:1px solid #d3c8a9}.git-map-canvas{position:absolute;inset:-2%;transform-origin:center;transition:transform .15s ease}.git-map-terrain{width:100%;height:100%;display:block;object-fit:cover}.git-map-grid{position:absolute;inset:0;width:100%;height:100%;opacity:.72;fill:none;stroke:#30271bb8;stroke-width:.9px}.git-map-grid path{vector-effect:non-scaling-stroke}.git-map-items{position:absolute;inset:0}.git-map-prop,.git-map-player{position:absolute;z-index:1;transform:translate(-50%,-68%);border:0;background:transparent}.git-map-prop{width:18%;height:25%;display:grid;place-items:end center;padding:0}.git-map-prop:hover{z-index:3;filter:drop-shadow(0 0 4px #fff)}.git-map-prop img{max-width:100%;max-height:100%;object-fit:contain}.prop-shrine{width:24%;height:37%}.git-prop-sprite{width:100%;height:100%;display:block;background-image:url(/assets/git-camp/camp-props.webp);background-repeat:no-repeat;background-size:200% 200%}.sprite-shelters{background-position:0 0}.sprite-stores{background-position:100% 0}.sprite-path{background-position:0 100%}.sprite-hearth{background-position:100% 100%}.git-map-player{top:42%;width:26px;height:26px;display:grid;place-items:center;color:var(--git-plum);border-radius:50%;background:#fff;box-shadow:0 0 0 2px var(--git-gold)}.git-map-coordinate{position:absolute;right:7px;bottom:6px;padding:3px 5px;color:#514b40;background:#fffdf2db;font:.58rem var(--git-mono)}.git-map-ledger{display:flex;flex-wrap:wrap;gap:5px 13px;margin-top:7px;color:#514c54;font-size:.66rem}.git-map-ledger span{display:inline-flex;align-items:center;gap:5px}.git-ledger-dot{width:7px;height:7px;border-radius:50%;background:#89838b}.dot-staged{background:#af8120}.dot-history{background:#367052}.git-map-inspector{margin-top:8px;padding:8px 10px;border-left:2px solid var(--git-gold);background:#faf8f4}.git-map-inspector strong{font-size:.72rem}.git-map-inspector p{margin:3px 0;color:#5b5660;font-size:.68rem;line-height:1.4}.git-map-inspector button{padding:2px 0;color:var(--git-plum);border:0;background:none;font-size:.66rem;text-decoration:underline}.git-camp-map.is-compact .git-map-viewport{height:clamp(140px,17vh,205px)}.git-camp-map.is-compact .git-map-heading h2{font-size:.9rem}.git-state-panel{min-width:0}.git-state-label-row,.git-output-heading{display:flex;justify-content:space-between;align-items:center;gap:8px}.git-state-label-row h3,.git-output-heading h3{margin:0;font-size:.82rem}.git-run-tag{padding:3px 6px;color:#5c5660;background:#f1eff2;font:.58rem var(--git-mono)}.git-run-tag.state-success{color:#235c40;background:#eaf4ee}.git-run-tag.state-error{color:#8b2939;background:#fbebed}.git-run-tag.state-running{color:#765b0b;background:#fbf5e7}.git-branch-line{display:flex;align-items:center;gap:5px;margin:6px 0 9px;color:#625d65;font-size:.65rem}.git-branch-line strong{color:#403b43;font-family:var(--git-mono);font-size:.65rem}.git-state-tabs{display:flex;overflow-x:auto;gap:12px;border-bottom:1px solid var(--git-rule)}.git-state-tabs button{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;padding:6px 0;color:#625d65;border:0;border-bottom:2px solid transparent;background:transparent;font-size:.67rem!important}.git-state-tabs button[aria-selected=true]{color:var(--git-plum);border-bottom-color:var(--git-gold);font-weight:700}.git-state-tabs small{min-width:15px;padding:1px 4px;background:#f1eff2;font:.57rem var(--git-mono);text-align:center}.git-state-content{max-height:145px;min-height:49px;overflow:auto;padding:6px 0}.git-file-list{display:grid;gap:2px;margin:0;padding:0;list-style:none}.git-file-list li>button,.git-file-list li>div{width:100%;display:flex;align-items:center;gap:7px;padding:5px 4px;color:#46414a;border:0;background:transparent;font-size:.68rem;text-align:left}.git-file-list li>button:hover,.git-file-list li>button.is-selected{background:#f8f5f8}.git-file-list span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.git-file-list i{margin-left:auto;color:#736e76;font:.58rem var(--git-mono)}.git-file-preview{max-height:82px;overflow:auto;margin:5px 0;padding:7px;color:#e9e7ed;background:#20232a;font:.62rem/1.4 var(--git-mono);white-space:pre-wrap}.git-state-compare,.git-history-snapshot{display:grid;gap:6px;margin-top:7px;padding:7px;border:1px solid var(--git-rule);background:#faf9f7}.git-state-compare>strong,.git-history-snapshot>strong{color:#49434c;font-size:.65rem}.git-state-compare>div>span{color:#716b74;font-size:.59rem}.git-state-compare pre,.git-history-snapshot pre{max-height:90px;overflow:auto;margin:3px 0 0;padding:6px;color:#e9e7ed;background:#20232a;font:.6rem/1.4 var(--git-mono);white-space:pre-wrap}.git-history-snapshot select{min-width:0;max-width:100%;padding:5px;color:#46414a;border:1px solid var(--git-rule);background:#fff;font-size:.65rem}.git-history-list li>.git-history-select{width:100%;display:flex;gap:9px;padding:0 3px 2px 0;color:inherit;border:0;background:transparent;text-align:left}.git-history-select.is-selected strong{color:var(--git-plum)}.git-history-list li>.git-history-select:hover{background:#f8f5f8}.git-history-list{display:grid;gap:7px;margin:0;padding:5px 0 5px 9px;list-style:none}.git-history-list li{position:relative;display:flex;gap:9px;padding-left:14px}.git-history-list li:not(:last-child):before{position:absolute;top:9px;bottom:-12px;left:3px;content:"";border-left:1px solid #bba870}.git-history-node{position:absolute;top:4px;left:0;width:7px;height:7px;border:1px solid #8a6a1c;border-radius:50%;background:#fff}.git-history-list strong{display:block;color:#3e3942;font-size:.66rem}.git-history-list small{display:block;margin-top:2px;color:#726d75;font:.58rem var(--git-mono)}.git-empty-state{margin:8px 0;color:#77717a;font-size:.68rem}.git-output-block{margin-top:6px}.git-output-heading small{color:#77717a;font:.58rem var(--git-mono)}.git-terminal{min-height:55px;max-height:118px;overflow:auto;margin:6px 0 0;padding:9px;color:#f0eff3;background:#20232a;font:.66rem/1.45 var(--git-mono);white-space:pre-wrap}.git-terminal:empty{display:none}.git-terminal.has-error{color:#ffd8dc;border-left:3px solid #c34555}.git-output-empty{margin:0;padding:8px 9px;color:#9b969d;background:#20232a;font:.63rem/1.4 var(--git-mono)}.git-dialog-scrim{position:fixed;z-index:10;inset:0;display:grid;place-items:center;padding:16px;background:#17131abb}.git-save-dialog{position:relative;width:min(490px,100%);max-height:min(88dvh,650px);overflow:auto;padding:clamp(20px,4vw,32px);background:#fff;box-shadow:0 16px 45px #0004}.git-save-dialog h2{max-width:360px;margin-bottom:10px;font-size:1.45rem}.git-save-dialog>p:not(.git-eyebrow):not(.git-save-dialog-notice){color:#57525b;font-size:.84rem;line-height:1.55}.git-save-dialog>.git-button{margin:7px 0}.git-dialog-close{position:absolute;top:11px;right:11px;width:34px;height:34px;display:grid;place-items:center;color:#514c54;border:0;background:transparent}.git-import-preview{margin:12px 0;padding:11px;border:1px solid #b5cbbb;background:#f1f7f2;font-size:.75rem}.git-import-preview.is-invalid{border-color:#e0bac0;background:#fff4f5}.git-import-preview>strong{color:#2f6245}.git-import-preview.is-invalid>strong{color:#8c3040}.git-import-preview ul{display:grid;gap:5px;margin:8px 0 0;padding-left:18px;color:#514c54;line-height:1.4}.git-import-preview li.is-warning{color:#765b0b}.git-save-dialog-notice{margin:12px 0;color:#286041;font-size:.77rem}.git-save-dialog>.git-text-button{display:flex;margin-top:10px}.git-workspace-empty{min-height:100dvh;display:flex;flex-direction:column}.git-workspace-empty>section{max-width:520px;margin:auto;text-align:center}.git-workspace-empty>section>svg{color:var(--git-plum)}.git-workspace-empty h1{font-size:1.6rem}.git-workspace-empty p{color:#625d65;font-size:.9rem}.git-empty-stage{margin:auto;padding:40px;text-align:center}.git-completion-content{width:min(760px,calc(100% - 32px));margin:auto;padding:clamp(22px,5vh,54px) 0;text-align:center}.git-completion-content h1{margin:0 auto 10px;font-size:clamp(1.7rem,4vw,2.5rem)}.git-completion-content>p:not(.git-eyebrow){max-width:580px;margin:0 auto 22px;color:#57525b;font-size:.9rem;line-height:1.55}.git-completion-map{max-width:570px;margin:0 auto 18px}.git-completion-map .git-map-viewport{height:300px}.git-completion-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:12px 0}@media(min-width:1050px){.git-stage-save{display:inline-flex}}@media(max-width:1090px){.git-learning-layout{grid-template-columns:minmax(220px,.9fr) minmax(245px,1fr)}.git-learning-output{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:20px;border-top:1px solid var(--git-rule)}.git-learning-example{border-right:0}.git-task-layout{grid-template-columns:minmax(230px,.9fr) minmax(270px,1fr)}.git-task-state{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);align-items:start;gap:12px 22px;border-top:1px solid var(--git-rule)}.git-task-outcome,.git-camp-save-actions,.git-save-issue{grid-column:1 / -1}.git-task-editor{border-right:0}}@media(max-width:760px){.git-workspace{overflow-y:auto;height:auto;min-height:100dvh}.git-camp-masthead{position:sticky;top:0;grid-template-columns:1fr auto 1fr;flex-basis:54px;min-height:54px;padding:0 9px}.git-back-button,.git-help-button{gap:5px;padding:7px 4px;font-size:.68rem!important}.git-brand{gap:4px}.git-brand .brand-laurel{width:22px;height:18px}.git-brand span{font-size:.88rem;letter-spacing:.11em}.git-brand small{display:none}.git-help-button svg{width:14px}.git-stage-nav{position:sticky;top:54px;z-index:2;flex-basis:45px;min-height:45px;gap:clamp(10px,5vw,30px);padding:0 12px}.git-stage-nav>button:not(.git-stage-save){min-width:64px;font-size:.82rem!important}.git-stage-save{display:none!important}.git-practice-global{position:sticky;top:99px;z-index:2;justify-content:space-between;gap:7px;font-size:.67rem}.git-stage-columns{display:grid;grid-template-columns:1fr;grid-template-rows:auto;overflow:visible}.git-panel{border-right:0!important;border-bottom:1px solid var(--git-rule);padding:16px}.git-mobile-panel-tabs{position:sticky;top:99px;z-index:1;display:flex;justify-content:center;gap:4px;padding:6px 10px;border-bottom:1px solid var(--git-rule);background:#fff}.git-mobile-panel-tabs button{flex:1;min-height:36px;color:#514c54;border:1px solid transparent;background:transparent;font-size:.77rem!important}.git-mobile-panel-tabs button[aria-selected=true]{color:var(--git-plum);border-color:#e1d3dc;background:#faf7f9;font-weight:700}.git-task-layout [data-mobile-pane],.git-learning-layout [data-mobile-pane]{display:none}.git-task-layout [data-mobile-pane].is-mobile-current,.git-learning-layout [data-mobile-pane].is-mobile-current{display:flex}.git-task-layout .git-task-brief.is-mobile-current,.git-learning-layout .git-learning-explain.is-mobile-current{display:block}.git-task-state.is-mobile-current,.git-learning-output.is-mobile-current,.git-task-layout .git-task-editor.is-mobile-current,.git-learning-layout .git-learning-example.is-mobile-current{display:flex}.git-stage-footer{grid-column:auto;min-height:58px;padding:8px 14px}.git-stage-footer .git-button{font-size:.73rem!important}.git-story-stage{min-height:calc(100dvh - 99px)}.git-story-art{flex-basis:clamp(220px,38vh,350px)}.git-story-dialogue{width:calc(100% - 30px);grid-template-columns:38px minmax(0,1fr);gap:11px;margin:17px auto 11px}.git-story-avatar{width:36px;height:36px;font-size:1.05rem}.git-dialogue-line{font-size:1rem}.git-story-controls{width:calc(100% - 30px);grid-template-columns:1fr auto;gap:8px}.git-story-controls>.git-button-quiet{grid-column:1;grid-row:1;justify-self:start}.git-story-progress{grid-column:2;grid-row:1}.git-story-progress i{width:48px}.git-story-actions{grid-column:1 / -1;grid-row:2;width:100%;justify-content:space-between}.git-story-actions .git-button-primary{flex:1}.git-skip-story{padding-inline:5px}.git-learning-layout,.git-task-layout{grid-template-columns:1fr}.git-learning-output,.git-task-state{grid-column:auto;display:flex}.git-state-content{max-height:190px}.git-task-layout .git-task-state,.git-learning-layout .git-learning-output{padding-bottom:18px}.git-map-viewport,.git-camp-map.is-compact .git-map-viewport{height:clamp(180px,32vh,285px)}.git-command-input,.git-file-input{min-height:190px}}@media(max-width:400px){.git-back-button{font-size:.62rem!important}.git-help-button{font-size:.61rem!important}.git-brand span{font-size:.76rem}.git-story-caption{font-size:.55rem}.git-story-actions .git-button{padding-inline:8px}.git-story-actions .git-button-primary{min-width:0}.git-camp-save-actions{gap:4px 8px}}@media(prefers-reduced-motion:reduce){.git-workspace *,.git-workspace *:before,.git-workspace *:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root[data-reducedMotion=true] .git-workspace *,:root[data-reducedMotion=true] .git-workspace *:before,:root[data-reducedMotion=true] .git-workspace *:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}@font-face{font-family:Lora;src:url(/fonts/lora-variable.woff2) format("woff2");font-style:normal;font-weight:400 700;font-display:swap}@font-face{font-family:Lora;src:url(/fonts/lora-italic-variable.woff2) format("woff2");font-style:italic;font-weight:400 700;font-display:swap}:root{font-family:Lora,Georgia,serif;color:#27242a;background:#fff;font-synthesis:none;text-rendering:optimizeLegibility;--plum: #630330;--gold: #cfa32d;--navy: #19191d;--paper: #ffffff;--white: #fff;--ink-soft: #514c54;--muted: #716c73;--rule: #e3dfe4;--parchment: #faf8f4;--wash: #f8f7f9;--serif: Lora, Georgia, serif;--sans: Lora, Georgia, serif;--mono: ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:calc(100% * var(--font-scale,1))}:root[data-fontscale="115"]{--font-scale: 1.15}:root[data-fontscale="130"]{--font-scale: 1.3}*{box-sizing:border-box}html,body,#root{margin:0;min-width:320px;min-height:100%;height:100%}body{min-height:100vh;background:var(--paper)}h1,h2,h3{font-family:var(--serif)}button,textarea,input{font:inherit}button{cursor:pointer;border-radius:3px}button:disabled{cursor:not-allowed}button:focus-visible,textarea:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:2px}::selection{background:#ead9be;color:var(--navy)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.eyebrow{font:600 .68rem/1.35 var(--mono);letter-spacing:.12em;color:var(--muted);text-transform:uppercase}.gold-eyebrow{color:#765b0b}.pane-spacer{flex:1}.square-button{border-radius:3px;display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;color:var(--navy);border:1px solid transparent;background:transparent}.square-button:hover{border-color:var(--rule);background:#ffffff78}.brand-lockup{display:flex;align-items:center;gap:12px;color:var(--plum);font:600 .9rem/1 var(--serif);letter-spacing:.12em}.brand-mark{position:relative;display:flex;align-items:end;gap:3px;width:28px;height:25px;padding:4px 5px 2px;border-top:2px solid var(--gold);border-bottom:2px solid var(--gold)}.brand-mark i{height:14px;width:4px;border:1px solid var(--gold);border-bottom:0}.brand-mark i:nth-child(2){height:18px}.menu-screen{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,36%);min-height:100vh;overflow:hidden;background:#fff;color:#27242a}.menu-top{position:absolute;inset:0 0 auto;z-index:2;display:flex;align-items:center;justify-content:space-between;height:76px;padding:0 clamp(22px,5.3vw,88px)}.menu-settings{display:flex;align-items:center;gap:8px;padding:9px 12px;color:var(--plum);border:1px solid var(--rule);background:transparent;font-size:.86rem}.menu-settings:hover{border-color:var(--gold);color:var(--plum);background:#faf8f4}.menu-content{position:relative;z-index:1;align-self:center;width:min(740px,100%);margin:58px 0 36px clamp(24px,8vw,132px)}.menu-kicker{margin-bottom:20px;color:#8a6b16;font:600 .7rem var(--mono);letter-spacing:.16em}.menu-content h1{margin:0;color:#27242a;font-family:var(--serif);font-size:clamp(2.4rem,5vw,4.5rem);line-height:1.08;font-weight:500;letter-spacing:-.045em}.menu-content h1 em{color:var(--plum);font-weight:400}.menu-deck{max-width:560px;margin:20px 0 30px;color:#514c54;font-size:1.1rem;line-height:1.65}.mode-list{display:grid;max-width:700px;border-top:1px solid var(--rule)}.mode-row{display:flex;align-items:center;gap:15px;min-height:75px;padding:13px 15px;text-align:left;color:#27242a;border:0;border-bottom:1px solid var(--rule);background:transparent;transition:background .18s ease}.mode-row:not(:disabled):hover{background:#faf8f4}.mode-icon{display:grid;place-items:center;flex:0 0 40px;height:40px;color:var(--plum);border:1px solid #e3dfe4}.mode-copy{display:grid;gap:4px;flex:1}.mode-copy strong{font-size:1.08rem;font-weight:500}.mode-copy small{color:#b8b8b3;font-size:.82rem}.mode-cta{display:flex;align-items:center;gap:15px;color:var(--plum);font:600 .73rem var(--mono);text-transform:uppercase}.mode-cta b{font-size:1.3rem;font-weight:400}.coming-soon{color:#a4a6a4;font:500 .65rem var(--mono);letter-spacing:.08em;text-transform:uppercase}.mode-soon .mode-icon{color:#9a9790;border-color:#ffffff20}.mode-soon .mode-copy{opacity:.7}.menu-footnote{display:flex;align-items:center;gap:8px;margin:20px 0 0;color:#716c73;font-size:.75rem;line-height:1.55}.menu-footnote svg{flex:0 0 auto;color:var(--gold)}.menu-side-art{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;overflow:hidden;border-left:1px solid var(--rule);background:#faf8f4}.mosaic-sun{position:absolute;top:17%;width:min(25vw,260px);aspect-ratio:1;border:1px solid #cfa32d55;transform:rotate(45deg)}.mosaic-sun:before,.mosaic-sun:after{position:absolute;content:"";inset:12%;border:1px solid #cfa32d55}.mosaic-sun:after{inset:26%;background:#cfa32d10}.menu-column-art{position:relative;display:flex;align-items:end;gap:12px;height:280px;margin-top:30px;padding:0 20px;border-bottom:5px solid var(--gold)}.menu-column-art span{width:50px;height:180px;border:1px solid #cfa32d77;background:linear-gradient(90deg,#cfa32d12,#cfa32d05)}.menu-column-art span:nth-child(2){height:228px}.menu-column-art:before{content:"";position:absolute;left:0;right:0;top:44px;height:14px;border:1px solid #cfa32d77;border-width:1px 0}.menu-side-art p{position:relative;margin:28px 20px 5px;color:#514c54;text-align:center;font-size:1rem;line-height:1.6;font-style:italic}.menu-side-art small{color:#716c73;font-size:.72rem}.chapter-screen,.settings-screen{min-height:100vh;background:var(--paper)}.chapter-screen-top,.settings-top{display:flex;align-items:center;gap:12px;height:67px;padding:0 clamp(18px,4vw,56px);border-bottom:1px solid var(--rule)}.chapter-screen-top .brand-lockup,.settings-top .brand-lockup{color:var(--navy)}.menu-top .brand-lockup{color:var(--plum)}.chapter-list-wrap,.settings-content{width:min(760px,calc(100% - 40px));margin:60px auto 80px}.chapter-list-wrap h1,.settings-content h1{margin:10px 0;font-size:clamp(2.1rem,4vw,3.2rem);color:#27242a;font-weight:500;line-height:1.12}.chapter-intro,.settings-intro{max-width:600px;margin:0 0 27px;color:var(--ink-soft);font-size:1rem;line-height:1.65}.chapter-list{display:grid;border-top:1px solid var(--rule)}.chapter-card{display:flex;align-items:center;gap:18px;width:100%;min-height:117px;padding:18px 12px;text-align:left;border:0;border-bottom:1px solid var(--rule);background:transparent;color:var(--navy)}.chapter-current{box-shadow:inset 3px 0 var(--gold)}.chapter-index{display:grid;place-items:center;flex:0 0 42px;height:42px;color:#765b0b;border:1px solid var(--gold)}.chapter-card-copy{display:grid;gap:5px;flex:1}.chapter-language{color:#765b0b;font:600 .62rem var(--mono);letter-spacing:.11em}.chapter-card-copy strong{font-size:1.16rem;font-weight:500;font-family:var(--serif)}.chapter-card-copy small{color:var(--muted);font:.83rem/1.45 var(--sans)}.chapter-status{display:flex;align-items:center;gap:6px;color:#736b60;font:.68rem var(--mono);white-space:nowrap}.chapter-status svg{color:#718166}.settings-content{margin-top:44px}.setting-block{margin-top:28px;padding:19px 0;border-top:1px solid var(--rule)}.setting-block h2{display:flex;align-items:center;gap:9px;margin:0 0 10px;font-size:1.1rem;font-weight:500}.setting-block>p,.cloud-setting>p{max-width:660px;color:var(--ink-soft);font:.88rem/1.65 var(--sans)}.setting-options,.setting-actions{display:flex;flex-wrap:wrap;gap:8px}.setting-options button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:8px 13px;color:var(--navy);border:1px solid #bcb3a7;background:transparent;font:.8rem var(--sans)}.setting-options button.selected{color:#fff;background:var(--plum);border-color:var(--plum)}.toggle-setting{display:flex;align-items:center;justify-content:space-between;margin-top:20px;padding:15px;border:1px solid var(--rule);background:#f7f4ef}.toggle-setting span{display:grid;gap:4px}.toggle-setting strong{font-weight:500}.toggle-setting small{color:var(--muted);font:.78rem var(--sans)}.toggle-setting input,.consent-setting input{width:17px;height:17px;accent-color:var(--plum)}.cloud-setting h2 svg{color:#80643e}.cloud-setting .save-state{color:#73644d;font:.76rem var(--mono)}.consent-setting{display:flex;gap:10px;max-width:600px;margin:15px 0;align-items:flex-start;color:var(--ink-soft);font:.82rem/1.5 var(--sans)}.consent-setting input{flex:0 0 auto}.secondary-button:disabled{opacity:.5}.danger-button,.danger-text{color:#7b2435;border-color:#bd9ca2}.cloud-choice{max-width:620px;margin:14px 0;padding:15px;border:1px solid #cfa32d;background:#fbf8f2}.cloud-choice p{font:.83rem/1.5 var(--sans)}.cloud-choice>div{display:flex;gap:8px}.cloud-choice button{padding:8px 12px;border:1px solid var(--plum);color:var(--plum);background:transparent}.setting-error{color:#8e2831!important}.text-button{display:inline-flex;align-items:center;gap:6px;padding:7px 0;color:var(--plum);border:0;background:transparent;font:.78rem var(--sans)}.notice{padding:11px 13px;border-left:3px solid #74845d;background:#e7ebdf;font:.82rem var(--sans)}.game-shell{height:100vh;min-height:540px;display:flex;flex-direction:column;overflow:hidden;background:var(--paper)}.workspace-topbar{display:flex;align-items:center;gap:12px;flex:0 0 58px;height:58px;padding:0 clamp(12px,1.8vw,27px);background:#fff;border-bottom:1px solid var(--rule)}.brand-lockup.compact{color:var(--plum);font-size:1.5625rem;gap:8px}.compact .brand-mark{width:23px;height:21px;padding:3px 4px 1px}.compact .brand-mark i{height:11px}.compact .brand-mark i:nth-child(2){height:14px}.crumb-separator{color:#aaa094}.topbar-chapter{color:#59636a;font:1.125rem/1.2 var(--serif)}.topbar-save{display:flex;align-items:center;gap:6px;margin-right:7px;color:#53654e;font:.67rem var(--sans);white-space:nowrap}.topbar-save svg{color:#675}.help-top-button{min-height:35px;padding:7px 11px;color:var(--plum);border:1px solid #d4c6cb;background:transparent;font-size:.76rem}.help-top-button:hover{background:#f1e7ea}.workspace-grid{display:grid;grid-template-columns:minmax(260px,.92fr) minmax(310px,1fr) minmax(360px,1.18fr);flex:1;min-height:0}.mobile-pane-wrap{display:contents}.workspace-pane{display:flex;flex-direction:column;min-width:0;min-height:0;border-right:1px solid var(--rule)}.workspace-pane:last-child{border-right:0}.pane-top{display:flex;align-items:center;gap:9px;flex:0 0 45px;height:45px;padding:0 17px;border-bottom:1px solid #d9d1c7;background:#faf8f4}.pane-top .eyebrow{font-size:.61rem}.step-count{color:#7c7166;font:.67rem var(--mono)}.pane-scroll{flex:1;min-height:0;overflow:auto;scrollbar-color:#c9c0b4 transparent;scrollbar-width:thin}.task-scroll{padding:24px clamp(17px,2vw,29px) 16px}.mission-title{margin:7px 0 10px;color:var(--plum);font-size:clamp(1.55rem,2vw,2.15rem);line-height:1.13;font-weight:500;letter-spacing:-.025em}.mission-briefing{margin:0 0 15px;color:#56616a;font-size:.92rem;line-height:1.57}.narrator{display:flex;align-items:flex-start;gap:10px;padding:11px 12px;margin:13px 0 20px;border-left:2px solid var(--gold);background:#faf8f4}.narrator-mark{display:grid;place-items:center;flex:0 0 27px;height:27px;color:#fff;background:var(--plum);font-size:.88rem}.narrator p{margin:0;color:#57483e;font-size:.79rem;line-height:1.55}.narrator strong{font-weight:600}.lesson-explain h2,.mission-example h2{margin:0 0 8px;font-size:1rem;font-weight:500}.lesson-explain p{margin:0 0 10px;color:#4d5a63;font-size:.85rem;line-height:1.62}.mission-example{margin-top:20px}.mission-example pre,.help-content pre{margin:0;padding:13px 14px;overflow:auto;color:#f3f0f4;background:var(--navy);font:.76rem/1.65 var(--mono);white-space:pre-wrap}.objective{display:flex;gap:11px;align-items:flex-start;margin:21px 0;padding:13px;border:1px solid #cfa32d9c;background:#faf8f4}.objective-mark{color:#9b773c;font-size:1.3rem;line-height:1}.objective p{margin:5px 0 0;color:#40505d;font-size:.83rem;line-height:1.5}.objective .eyebrow{color:#806541;font-size:.59rem}.mission-feedback{display:flex;align-items:flex-start;gap:9px;margin:13px 0;padding:11px 12px;color:#722532;border-left:3px solid #a8545c;background:#f2e5e3}.mission-feedback p{margin:0;font-size:.78rem;line-height:1.5}.mission-feedback.is-done{color:#41583d;border-color:#71845d;background:#e8ecdf}.mission-feedback svg{flex:0 0 auto}.hint-box{margin:20px 0;padding:14px 14px 11px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.hint-heading{display:flex;align-items:center;gap:7px}.hint-heading svg{color:#87673d}.hint-heading h2{margin:0;font-size:.95rem;font-weight:500}.hint-box p{margin:9px 0;color:#59636a;font-size:.8rem;line-height:1.55}.hint-box .text-button{color:#715528}.hint-box .text-button:disabled{color:#8d877d}.field-notes{margin-top:15px;border-bottom:1px solid var(--rule)}.field-notes summary{display:flex;align-items:center;gap:8px;padding:10px 0;cursor:pointer;color:#67543d;font-size:.84rem;list-style:none}.field-notes summary::-webkit-details-marker{display:none}.field-notes textarea{width:100%;margin:4px 0 11px;padding:9px;color:var(--navy);border:1px solid var(--rule);background:#faf8f4;resize:vertical;font:.8rem/1.5 var(--sans)}.help-link{margin:15px 0;padding:0;color:var(--plum);border:0;background:transparent;text-align:left;font-size:.81rem}.help-link span{padding-left:4px}.task-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:62px;padding:11px 17px;border-top:1px solid var(--rule);background:#fff}.task-footer>span{color:var(--muted);font:.62rem var(--mono)}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:8px 14px;color:#fff;border:1px solid var(--plum);background:var(--plum);font-size:.79rem;border-radius:3px}.primary-button:not(:disabled):hover{background:#7c1649}.primary-button:disabled{color:#817c77;border-color:#d5cfc7;background:#e5e1db}.code-pane{background:#fff}.language-pill{padding:5px 7px;color:#765b0b;border:1px solid #cfa32d;background:#eee4d1;font:600 .58rem var(--mono);letter-spacing:.08em}.editor-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:17px 18px 13px}.editor-heading h2,.output-title h2{margin:0;font-size:1.875rem;font-weight:500}.editor-heading p,.output-title p{margin:4px 0 0;color:var(--muted);font-size:.75rem}.file-label{color:#887b68;font:.65rem var(--mono)}.editor-frame{display:flex;flex:1;min-height:150px;margin:0 14px;overflow:hidden;border:1px solid #303038;background:#19191d;box-shadow:none}.editor-frame textarea{width:100%;min-height:100%;padding:17px 15px;color:#f3f0f4;border:0;background:transparent;resize:none;tab-size:4;font:.77rem/1.7 var(--mono);white-space:pre;overflow:auto;caret-color:var(--gold)}.editor-frame textarea:focus-visible{outline:2px solid var(--gold);outline-offset:-3px}.editor-actions{display:flex;flex-wrap:wrap;gap:6px;padding:12px 14px}.run-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:8px 12px;color:#fff;border:1px solid var(--plum);background:var(--plum);font-size:.78rem;border-radius:3px}.run-button:hover{background:#7a1247}.run-button:disabled{opacity:.65}.icon-label-button{display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:6px 8px;color:#5d5f5e;border:1px solid transparent;background:transparent;font:.65rem var(--sans)}.icon-label-button:not(:disabled):hover{border-color:var(--rule);background:#ffffff70}.icon-label-button:disabled{opacity:.45}.icon-label-button svg{color:#806b4b}.editor-tip{display:flex;gap:9px;margin:auto 14px 16px;padding:10px;border-top:1px solid #d6cbb9;background:#eee8dc}.tip-ornament{color:#8b6b3c}.editor-tip p{margin:0;color:#6a6051;font-size:.72rem;line-height:1.5}.output-pane{background:#fff}.local-mark{display:flex;align-items:center;gap:5px;color:#65715c;font:.62rem var(--sans)}.output-title{display:flex;align-items:center;justify-content:space-between;padding:15px 18px 10px}.output-title>svg{color:#9b7b4b}.settlement-meta{display:flex;justify-content:space-between;gap:8px;padding:8px 14px;color:#fff;background:var(--plum);font:.58rem var(--mono);letter-spacing:.06em}.settlement-map-wrap{padding:10px 12px 5px;background:#faf8f4}.settlement-map{display:block;width:100%;max-height:290px;background:#73816a}.map-building text{font:600 8px var(--mono);fill:#fffaf0;paint-order:stroke;stroke:#47382c;stroke-width:2px;stroke-linejoin:round}.map-location{font:600 8px var(--mono);fill:#f2e5c8;letter-spacing:1px}.map-activity{animation:map-arrival .7s ease-out both}.map-activity text{font:18px var(--serif);fill:var(--plum)}@keyframes map-arrival{0%{opacity:0;transform:scale(.7);transform-origin:282px 140px}to{opacity:1;transform:scale(1);transform-origin:282px 140px}}.map-legend{display:flex;flex-wrap:wrap;gap:13px;padding:6px 2px 1px;color:#574d3e;font:.59rem var(--sans)}.map-legend span{display:inline-flex;align-items:center;gap:6px}.map-legend i{display:inline-block;width:9px;height:9px;border:1px solid #634e37;background:#f2e5c8}.map-legend .legend-added{background:#cfad79}.activity-text{display:flex;gap:8px;margin:0;padding:10px 14px;color:#5b4b37;border-bottom:1px solid #ded5c6;font-size:.76rem;line-height:1.48}.activity-text span{color:#9a7945}.stdout{margin:12px 14px 0;border:1px solid #d5cbb9;background:#fbf9f5}.output-section-title{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 11px;border-bottom:1px solid #e1dacf}.output-section-title h3{display:flex;align-items:center;gap:7px;margin:0;font-size:.79rem;font-weight:500}.output-section-title h3 svg{color:#765936}.output-section-title span{color:#837b70;font:.59rem var(--mono)}.stdout-empty{display:flex;align-items:center;gap:7px;margin:0;padding:12px;color:#6d7374;font-size:.73rem;line-height:1.5}.stdout-empty svg{flex:0 0 auto;color:#687d61}.stdout-lines{max-height:150px;margin:0;padding:12px;overflow:auto;color:#dce3e4;background:#142833;font:.7rem/1.6 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere}.runtime-error{display:flex;gap:9px;margin:10px;padding:9px;color:#782934;background:#f1e4e2;font:.72rem/1.5 var(--sans)}.runtime-error svg{flex:0 0 auto}.runtime-error p{margin:0}.runtime-error small{color:#665d58}.output-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding:10px 14px;color:#7a7770;border-top:1px solid #ded7cb;font:.6rem var(--sans)}.output-foot span:first-child{display:flex;align-items:center;gap:5px}.output-foot svg{color:#667d59}.drawer-scrim,.modal-scrim{position:fixed;z-index:40;inset:0;display:flex;background:#19191d80}.drawer-scrim.from-left{justify-content:flex-start}.drawer-scrim.from-right{justify-content:flex-end}.workspace-drawer{display:flex;flex-direction:column;width:min(390px,92vw);height:100%;color:var(--navy);background:var(--paper);box-shadow:0 0 40px #19191d35}.from-right .workspace-drawer{width:min(390px,92vw)}.drawer-header{display:flex;align-items:center;gap:10px;min-height:59px;padding:0 13px;border-bottom:1px solid var(--rule);background:#f7f4ef}.drawer-scroll{flex:1;overflow:auto;padding:21px 21px 30px}.drawer-scroll h2{margin:0 0 18px;font-size:1.6rem;font-weight:500}.drawer-chapter{border-top:1px solid var(--rule)}.drawer-chapter-heading{display:grid;width:100%;gap:5px;padding:13px 5px;text-align:left;border:0;background:transparent}.drawer-chapter-heading strong{font-size:1rem;font-weight:500}.drawer-chapter-heading.is-selected strong{color:var(--plum)}.drawer-missions{display:grid;padding:0 0 10px 13px}.drawer-missions button{display:flex;align-items:center;gap:9px;padding:9px 6px;color:#56616a;text-align:left;border:0;border-left:1px solid #c9bda9;background:transparent;font-size:.78rem}.drawer-missions button.is-active{color:var(--plum);border-left:2px solid var(--plum);background:#f4e9ec}.drawer-missions button span{width:23px;color:#8a7b68;font:.65rem var(--mono)}.help-content{padding:24px 26px}.help-seal{display:grid;place-items:center;width:43px;height:43px;margin-bottom:14px;color:#fff;border:1px solid var(--gold);background:var(--plum);font-size:1.2rem}.help-content h2{margin-bottom:9px}.help-content>p{color:#53616b;font-size:.84rem;line-height:1.6}.help-content h3{margin:19px 0 6px;color:#80623a;font:600 .64rem var(--mono);letter-spacing:.1em;text-transform:uppercase}.help-content .help-mission{margin:0;color:var(--plum);font-size:1rem}.help-content details{margin:16px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.help-content summary{display:flex;align-items:center;gap:7px;padding:11px 0;cursor:pointer;font-size:.84rem}.help-content ol{padding-left:23px;color:#52606a;font-size:.79rem;line-height:1.6}.help-signoff{margin-top:23px!important;padding-left:12px;border-left:2px solid var(--gold);font-style:italic}.help-content small{color:#8a8278;font-size:.7rem}.help-close{width:100%;margin-top:20px}.mobile-tabs{display:none}.cloud-return-banner{position:fixed;z-index:30;right:13px;bottom:13px;padding:10px 13px;border:1px solid var(--gold);background:#fffaf1;box-shadow:0 3px 14px #19191d24;font:.75rem var(--sans)}.cloud-return-banner button{padding:0;color:var(--plum);border:0;background:transparent;text-decoration:underline}.modal-scrim{z-index:70;align-items:center;justify-content:center;padding:20px}.confirm-dialog{position:relative;width:min(470px,100%);padding:25px 25px 20px;background:var(--paper);border:1px solid var(--rule);border-radius:4px;box-shadow:0 14px 48px #19191d44}.dialog-close{position:absolute;top:11px;right:11px;display:grid;place-items:center;width:32px;height:32px;border:0;background:transparent}.confirm-dialog h2{margin:9px 28px 8px 0;font-size:1.4rem;font-weight:500}.confirm-dialog>p:not(.eyebrow){color:#59656d;font:.86rem/1.6 var(--sans)}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}@media(max-width:1050px){.workspace-grid{grid-template-columns:minmax(240px,.9fr) minmax(290px,1fr) minmax(320px,1.1fr)}.task-scroll{padding-inline:15px}.editor-actions{gap:3px}.icon-label-button{padding-inline:5px}.menu-content{margin-left:clamp(25px,5vw,70px)}}@media(max-width:800px){.game-shell{min-height:0;height:100dvh}.workspace-topbar{flex-basis:52px;height:52px;padding:0 9px;gap:7px}.workspace-topbar .compact .brand-mark{display:none}.brand-lockup.compact{font-size:1.25rem}.compact{letter-spacing:.12em!important}.crumb-separator,.topbar-chapter{font-size:.875rem}.topbar-save{font-size:0;margin-left:auto}.topbar-save svg{width:16px;height:16px}.help-top-button{min-height:32px;padding:5px 8px;font-size:.69rem}.mobile-tabs{display:grid;grid-template-columns:repeat(3,1fr);flex:0 0 43px;height:43px;border-bottom:1px solid var(--rule);background:#f7f4ef}.mobile-tabs button{color:#697077;border:0;border-bottom:2px solid transparent;background:transparent;font:600 .68rem var(--mono);text-transform:uppercase}.mobile-tabs button.is-active{color:var(--plum);border-bottom-color:var(--plum);background:#fff9}.workspace-grid{position:relative;display:block;flex:1;min-height:0}.mobile-pane-wrap{display:none;height:100%;min-height:0}.mobile-pane-wrap.mobile-active{display:flex;flex-direction:column}.workspace-pane{height:100%;border-right:0}.pane-top{flex-basis:40px;height:40px}.task-scroll{padding:18px 18px 22px}.mission-title{font-size:1.75rem}.mission-briefing{font-size:.9rem}.task-footer{min-height:57px}.editor-frame{min-height:120px;flex:1}.editor-frame textarea{font-size:.77rem}.editor-actions{padding:9px 11px}.output-title{padding:11px 14px}.editor-heading h2,.output-title h2{font-size:1.625rem}.settlement-map-wrap{padding:7px 9px 5px}.settlement-map{max-height:36vh}.stdout{margin:10px 10px 0}.output-foot{margin-top:auto}.menu-screen{display:block;overflow:auto;min-height:100dvh}.menu-top{height:62px;padding:0 17px}.menu-content{width:auto;margin:100px 20px 30px}.menu-content h1{font-size:clamp(2.3rem,10vw,3.5rem)}.menu-deck{font-size:1rem}.mode-row{min-height:72px;gap:10px;padding-inline:8px}.mode-icon{flex-basis:34px;height:34px}.mode-copy strong{font-size:.97rem}.mode-copy small{font-size:.72rem}.mode-cta{gap:7px}.coming-soon{font-size:.56rem}.menu-side-art{display:none}.menu-footnote{align-items:flex-start}.chapter-list-wrap,.settings-content{margin:36px auto 58px}.chapter-card{gap:11px;padding:14px 5px}.chapter-index{flex-basis:34px;height:34px}.chapter-card-copy strong{font-size:1rem}.chapter-card-copy small{font-size:.74rem}.chapter-status{font-size:0}.chapter-status svg{width:17px;height:17px}.chapter-screen-top,.settings-top{padding:0 10px}.setting-actions{display:grid}.setting-actions button{justify-content:flex-start}}@media(max-width:620px){.crumb-separator,.topbar-chapter{display:none}}@media(max-width:380px){.brand-lockup.compact{font-size:1.0625rem;letter-spacing:.06em}.crumb-separator,.topbar-chapter{display:none}.menu-content{margin-inline:15px}.menu-settings{padding:7px;font-size:.76rem}.mode-copy small{max-width:155px}.coming-soon{max-width:63px;line-height:1.4}.chapter-card-copy small{max-width:225px}.task-footer>span{font-size:.55rem}.primary-button{padding-inline:10px;font-size:.74rem}.editor-heading h2,.output-title h2{font-size:1.5rem}.editor-actions{gap:1px}.icon-label-button{font-size:.6rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:root[data-reduced-motion=true] *,:root[data-reduced-motion=true] *:before,:root[data-reduced-motion=true] *:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.task-footer-actions{display:flex;align-items:center;gap:7px}.next-order-button{min-height:40px;padding:8px 11px;color:var(--plum);border:1px solid #c6b6bb;background:transparent;font-size:.76rem}.next-order-button:hover{background:#f1e8ea}.menu-resume{margin:-20px 0 24px;color:var(--plum);font:.68rem var(--mono);letter-spacing:.04em}.map-run-label{font:600 5.5px var(--mono);fill:#80623a;letter-spacing:.7px}.map-run-value{font:6px var(--mono);fill:#19191d}.reference-solution{margin:12px 0;border-bottom:1px solid var(--rule)}.reference-solution summary{padding:9px 0;color:#65553d;cursor:pointer;font-size:.78rem}.reference-solution pre{max-height:220px;margin:0;padding:11px;overflow:auto;color:#f3f0f4;background:var(--navy);font:.7rem/1.6 var(--mono);white-space:pre-wrap}.reference-solution p{color:#6c7274;font-size:.72rem;line-height:1.45}.map-ruins text{font:600 7px var(--mono);fill:#fffaf0;paint-order:stroke;stroke:#47382c;stroke-width:2px;stroke-linejoin:round}.building-count circle{fill:#630330;stroke:#f2e5c8;stroke-width:1.5}.map-building .building-count text{font:700 7px var(--mono);fill:#fff;stroke:#630330;stroke-width:1.3px;paint-order:stroke}.legend-ruins{background:repeating-linear-gradient(135deg,#c8b696,#c8b696 2px,#f4f0e8 2px 4px)!important}.output-save-state{max-width:48%;text-align:right;overflow-wrap:anywhere}.mission-glossary{margin-block:16px;color:var(--ink-soft);font-size:.85rem;line-height:1.6}.mission-glossary summary{cursor:pointer;color:var(--plum)}.mission-glossary dt{font-weight:600}.mission-glossary dd{margin:4px 0 12px}.menu-screen{position:relative;isolation:isolate;display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;overflow:hidden;background:#001427;color:#fff}.menu-top{position:relative;inset:auto;z-index:2;display:flex;align-items:center;justify-content:space-between;flex:0 0 68px;height:68px;padding:0 clamp(20px,4vw,64px);background:#630330;color:#fff;border-bottom:2px solid #cfa32d}.menu-top .brand-lockup{color:#fff;font-size:.98rem;letter-spacing:.16em}.menu-top .brand-mark,.menu-top .brand-mark i{border-color:#cfa32d}.menu-settings{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:8px 13px;color:#fff;border:1px solid #cfa32d;background:transparent;font-size:.9rem}.menu-settings:hover{color:#001427;background:#cfa32d}.menu-scene{position:absolute;z-index:0;inset:68px 0 0;overflow:hidden;background:#001427}.menu-scene:after{position:absolute;inset:0;content:"";background:linear-gradient(90deg,#001427eb,#001427d4 34%,#0014278a 59%,#00142721),linear-gradient(0deg,rgba(0,20,39,.58),transparent 46%)}.menu-scene img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 52%}.menu-layout{position:relative;z-index:1;display:flex;align-items:center;flex:1 0 auto;width:min(1440px,100%);min-height:calc(100vh - 68px);min-height:calc(100dvh - 68px);margin:0 auto;padding:clamp(34px,5vh,64px) clamp(24px,6vw,88px) 110px}.menu-content{position:relative;z-index:1;width:min(700px,100%);margin:0}.menu-kicker{margin:0 0 14px;color:#f0ca64;font:600 .68rem/1.4 var(--mono);letter-spacing:.15em}.menu-content h1{max-width:720px;margin:0;color:#fff;font-family:var(--serif);font-size:clamp(2.5rem,5.3vw,4.35rem);line-height:1.06;font-weight:500;letter-spacing:-.035em;text-wrap:balance}.menu-content h1 em{color:#f0ca64;font-weight:400}.menu-deck{max-width:590px;margin:16px 0 20px;color:#fff;font-size:clamp(1rem,1.3vw,1.08rem);line-height:1.55;text-shadow:0 1px 3px rgba(0,20,39,.32)}.menu-resume{display:inline-block;margin:0 0 14px;padding:8px 11px;color:#001427;border-left:3px solid #cfa32d;background:#fffdf4;font-size:.9rem;font-weight:600}.mode-list{display:grid;max-width:680px;overflow:hidden;border:1px solid rgba(255,255,255,.85);background:#fffdf7f7;color:#001427;box-shadow:0 10px 30px #0014272e}.mode-row{display:flex;align-items:center;gap:13px;width:100%;min-height:65px;padding:10px 14px;text-align:left;color:#001427;border:0;border-bottom:1px solid #d8c9aa;background:transparent;transition:background .18s ease}.mode-row:last-child{border-bottom:0}.mode-row:not(:disabled):hover{background:#f7f0df}.mode-row:focus-visible,.menu-settings:focus-visible,.chapter-screen-top .square-button:focus-visible,.chapter-card:focus-visible{outline:3px solid #cfa32d;outline-offset:-3px}.mode-icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;color:#630330;border:1px solid #cfa32d;background:#fff}.mode-copy{display:grid;gap:3px;flex:1;min-width:0}.mode-copy strong{color:#001427;font-size:1rem;font-weight:600}.mode-copy small{color:#414b54;font-size:.8rem;line-height:1.35}.mode-cta{display:inline-flex;align-items:center;gap:12px;color:#630330;font:600 .72rem/1 var(--mono);text-transform:uppercase}.mode-cta b{color:#8b6500;font-size:1.35rem;font-weight:400}.coming-soon{color:#48535a;font:600 .65rem/1.3 var(--mono);letter-spacing:.05em;text-align:right;text-transform:uppercase}.mode-soon .mode-icon{color:#59646a;border-color:#a59b87;background:#f4f1eb}.mode-soon .mode-copy strong,.mode-soon .mode-copy small{color:#4a5359}.menu-footnote{display:flex;align-items:flex-start;gap:8px;max-width:640px;margin:15px 0 0;padding:9px 11px;color:#fff;background:#001427c7;font-size:.74rem;line-height:1.5}.menu-footnote svg{flex:0 0 auto;margin-top:2px;color:#f0ca64}.menu-side-art{display:block;min-height:0;overflow:visible;position:absolute;right:clamp(24px,5vw,72px);bottom:28px;width:min(270px,28vw);padding:13px 16px;border-left:2px solid #cfa32d;background:#001427cc;color:#fff;box-shadow:0 5px 22px #0014272e}.menu-side-art p{margin:0 0 5px;color:#fff;font-size:.91rem;line-height:1.5;font-style:italic}.menu-side-art small{color:#f0ca64;font-size:.72rem}.chapter-screen{min-height:100vh;min-height:100dvh;background:#fff;color:#001427}.chapter-screen-top{display:flex;align-items:center;gap:12px;height:68px;padding:0 clamp(18px,4vw,56px);border-bottom:2px solid #cfa32d;background:#630330;color:#fff}.chapter-screen-top .brand-lockup{color:#fff;font-size:.95rem;letter-spacing:.15em}.chapter-screen-top .brand-mark,.chapter-screen-top .brand-mark i{border-color:#cfa32d}.chapter-screen-top .square-button{color:#fff;border-color:#fff6;background:transparent}.chapter-screen-top .square-button:hover{border-color:#cfa32d;background:#ffffff14}.chapter-list-wrap{width:min(1120px,calc(100% - 40px));margin:clamp(28px,5vh,54px) auto 72px}.chapter-intro-layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(360px,1.05fr);align-items:center;gap:clamp(28px,5vw,70px);margin-bottom:30px}.chapter-intro-copy h1{margin:10px 0;color:#630330;font-family:var(--serif);font-size:clamp(2.25rem,4vw,3.5rem);font-weight:500;line-height:1.08;letter-spacing:-.025em}.chapter-intro-copy .eyebrow{color:#765b0b}.chapter-intro{max-width:520px;margin:0;color:#414b54;font-size:1rem;line-height:1.65}.chapter-village{width:100%;aspect-ratio:1.68;margin:0;overflow:hidden;border:1px solid #cfa32d;background:#edebe9}.chapter-village img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 52%}.chapter-list{display:grid;overflow:hidden;border:1px solid #d8c9aa;background:#fff}.chapter-card{display:flex;align-items:center;gap:16px;width:100%;min-height:104px;padding:15px 16px;text-align:left;border:0;border-bottom:1px solid #e2dacb;background:#fff;color:#001427}.chapter-card:last-child{border-bottom:0}.chapter-card:hover,.chapter-current{background:#faf8f4}.chapter-current{box-shadow:inset 4px 0 #cfa32d}.chapter-index{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;color:#630330;border:1px solid #cfa32d;background:#fff;font-size:.9rem}.chapter-card-copy{display:grid;gap:5px;flex:1;min-width:0}.chapter-language{color:#765b0b;font:600 .62rem/1.3 var(--mono);letter-spacing:.1em}.chapter-card-copy strong{color:#001427;font-size:1.08rem;font-weight:600;font-family:var(--serif)}.chapter-card-copy small{color:#4c555b;font:.83rem/1.45 var(--serif)}.chapter-status{display:flex;align-items:center;gap:6px;flex:0 0 auto;color:#4b5458;font:.68rem/1.3 var(--mono);white-space:nowrap}.chapter-status svg{color:#667d59}@media(max-width:760px){.menu-top{flex-basis:62px;height:62px;padding-inline:20px}.menu-scene{inset-block-start:62px}.menu-scene:after{background:linear-gradient(180deg,#001427c7,#001427d6 45%,#001427b8)}.menu-layout{flex-direction:column;min-height:calc(100vh - 62px);min-height:calc(100dvh - 62px);align-items:flex-start;padding:34px 20px 24px}.menu-content{width:100%;max-width:620px;margin:0 auto}.menu-content h1{font-size:clamp(2.35rem,9vw,3.3rem)}.menu-deck{max-width:550px;margin-block:13px 16px}.mode-row{gap:10px;min-height:62px;padding:9px 10px}.mode-icon{flex-basis:34px;width:34px;height:34px}.mode-copy strong{font-size:.95rem}.mode-copy small{font-size:.75rem}.menu-side-art{position:relative;right:auto;bottom:auto;width:100%;max-width:560px;margin:14px auto 0;padding:9px 12px}.menu-side-art p{font-size:.82rem}.menu-footnote{margin-top:10px;font-size:.7rem}.chapter-list-wrap{width:min(760px,calc(100% - 32px));margin:27px auto 44px}.chapter-intro-layout{grid-template-columns:1fr;gap:18px;margin-bottom:22px}.chapter-village{aspect-ratio:1.75}.chapter-card{gap:11px;min-height:98px;padding:12px 10px}.chapter-index{flex-basis:36px;width:36px;height:36px}.chapter-card-copy strong{font-size:1rem}.chapter-card-copy small{font-size:.76rem}.chapter-status{gap:4px;font-size:.6rem}.chapter-status svg{width:14px;height:14px}}@media(max-width:420px){.menu-settings{padding:7px 9px}.mode-cta{gap:5px;font-size:.63rem}.coming-soon{max-width:76px;font-size:.57rem}.chapter-status{max-width:73px;white-space:normal}}@media(prefers-reduced-motion:reduce){.mode-row{transition:none}}.workspace-topbar,.settings-top{background:#630330;color:#fff;border-bottom-color:#cfa32d}.workspace-topbar .brand-lockup.compact,.settings-top .brand-lockup,.workspace-topbar .topbar-chapter,.workspace-topbar .square-button,.settings-top .square-button,.workspace-topbar .topbar-save,.workspace-topbar .topbar-save svg{color:#fff}.workspace-topbar .crumb-separator{color:#ffffff80}.workspace-topbar .help-top-button{color:#fff;border-color:#cfa32d}.workspace-topbar .help-top-button:hover,.workspace-topbar .square-button:hover,.settings-top .square-button:hover{background:#ffffff18}.brand-laurel{width:32px;height:26px;flex:0 0 auto;color:#cfa32d}.menu-top .brand-lockup,.chapter-screen-top .brand-lockup{font-size:24px;letter-spacing:.18em}@media(max-width:760px){.menu-top .brand-lockup,.chapter-screen-top .brand-lockup{font-size:20px}.brand-laurel{width:27px;height:23px}}@media(max-width:800px){.workspace-topbar .brand-laurel{display:none}}@media(max-width:760px){.chapter-card{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:start;gap:8px 11px}.chapter-index{grid-column:1;grid-row:1 / span 2}.chapter-card-copy,.chapter-status{grid-column:2}.chapter-status{max-width:none;white-space:nowrap}}.celestial-atlas,.campaign-overview{isolation:isolate;--atlas-navy:#001427;--atlas-plum:#630330;--atlas-gold:#cfa32d;--atlas-gold-light:#f0d17b;--atlas-white:#fff;--atlas-ink:#111b39;min-height:100vh;font-family:var(--serif)}.celestial-atlas{position:relative;isolation:isolate;min-height:100vh;color:var(--atlas-white);background:#001427}.celestial-atlas:before,.campaign-overview:before{content:"";position:fixed;inset:0;z-index:-1;background-image:var(--atlas-sky);background-position:center;background-size:cover;background-repeat:no-repeat;background-color:#001427;pointer-events:none}.celestial-atlas:before{position:absolute}.atlas-topbar{height:60px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 clamp(20px,3vw,48px);position:relative;z-index:2;color:#f9e8bc;background:var(--atlas-plum);border-bottom:2px solid var(--atlas-gold)}.atlas-back{height:48px;min-width:44px;display:inline-flex;align-items:center;gap:13px;justify-self:start;padding:0 4px;color:#f9e8bc;background:transparent;border:0;text-align:left;font-size:1rem}.atlas-back:hover{color:#fff}.atlas-brand{display:flex;align-items:center;gap:11px;color:var(--atlas-gold-light);font-size:1.65rem;letter-spacing:.22em}.atlas-brand .brand-laurel{width:34px;height:28px}.atlas-mode{display:flex;align-items:center;justify-self:end;gap:10px;color:#f9e8bc;font-size:1.1rem}.atlas-scene{position:relative;max-width:1680px;min-height:calc(100vh - 60px);margin:0 auto;padding:16px clamp(24px,3vw,50px) 20px}.atlas-heading{position:absolute;top:18px;left:clamp(24px,3vw,50px);z-index:1;margin-bottom:5px}.atlas-heading h1{width:max-content;max-width:100%;margin:0;color:#fff;font-size:clamp(2rem,4vw,3.45rem);font-weight:500;letter-spacing:-.035em;line-height:1.12;text-shadow:0 2px 12px #00101c}.atlas-heading h1:focus{outline:none}.atlas-heading h1:focus-visible{outline:2px solid var(--atlas-gold);outline-offset:5px}.atlas-heading p{margin:2px 0 0;color:#e3eaf4;font-size:clamp(1rem,1.7vw,1.45rem);text-shadow:0 1px 5px #00101c}.atlas-continue{display:inline-flex;min-height:44px;align-items:center;gap:13px;margin-top:9px;padding:8px 17px;color:#fff4d8;background:transparent;border:1px solid var(--atlas-gold);border-radius:6px;font-size:.95rem}.atlas-continue:hover{background:#00142780}.atlas-chart{display:grid;grid-template-columns:minmax(150px,1fr) minmax(520px,3.25fr) minmax(150px,1fr);grid-template-rows:minmax(440px,1fr) 225px;grid-template-areas:"left active right" "bottom bottom bottom";column-gap:clamp(10px,1.7vw,25px);row-gap:8px;height:calc(100vh - 140px);min-height:740px;padding-top:45px}.atlas-primary{grid-area:active;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:clamp(12px,2vw,30px);min-width:0}.atlas-available{position:relative;display:flex;min-width:0;min-height:0;flex-direction:column;align-items:center;justify-content:flex-start;gap:2px;padding:5px 4px 7px;color:#fff;background:transparent;border:1px solid transparent;text-align:center;overflow:visible;border-radius:0}.atlas-available:hover{background:transparent;border-color:transparent}.atlas-available:focus-visible{outline:3px solid var(--atlas-gold);outline-offset:1px;border-radius:5px}.atlas-artwork{display:block;width:100%;height:300px;min-height:220px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 3px 10px #00101c99)}.atlas-artwork>img{display:block;width:100%;height:100%;object-fit:contain;object-position:inherit}.atlas-available-copy{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0;text-shadow:0 1px 6px #00101c}.atlas-available-copy strong{color:#f0d17b;font-weight:500;font-size:clamp(1.5rem,2.7vw,2.45rem);letter-spacing:.09em;text-transform:uppercase}.atlas-available-copy em{font-style:normal;font-size:clamp(1rem,1.45vw,1.3rem)}.atlas-available-copy>span:nth-of-type(1){color:#f0f2f6;font-size:clamp(.88rem,1.15vw,1.08rem)}.atlas-explore{display:inline-flex;align-items:center;gap:8px;margin-top:2px;color:#f4ca62;font-size:clamp(.95rem,1.3vw,1.18rem);text-decoration:underline;text-underline-offset:5px}.atlas-flank{display:grid;grid-template-rows:repeat(2,minmax(0,1fr));min-height:0}.atlas-flank-left{grid-area:left;padding-top:115px}.atlas-flank-right{grid-area:right}.atlas-bottom-futures{grid-area:bottom;min-width:0}.atlas-coming-heading{grid-area:coming;display:none;align-items:center;gap:16px;margin:0 0 3px;color:#d4dbea;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;text-align:center}.atlas-coming-heading:before,.atlas-coming-heading:after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,var(--atlas-gold))}.atlas-coming-heading:after{transform:scaleX(-1)}.atlas-future-lower{height:100%;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}.atlas-future{position:relative;min-width:0;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;align-items:end;overflow:hidden;text-align:center}.atlas-future img{display:block;width:100%;height:100%;min-height:0;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 2px 6px #00101c99)}.atlas-future-copy{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;line-height:1.14;padding:1px 2px 2px;text-shadow:0 1px 4px #00101c,0 1px 7px #00101c}.atlas-future-copy strong{font-size:clamp(.92rem,1.12vw,1.15rem);font-weight:600;color:#fff}.atlas-future-copy span{font-size:clamp(.82rem,.98vw,1rem);color:#eff2f8}.atlas-future-copy small{font-size:clamp(.75rem,.85vw,.85rem);color:#e1e7f1}.atlas-future-copy .coming-label{color:#cbd5e4;letter-spacing:.04em}.campaign-overview{height:100vh;min-height:560px;position:relative;display:grid;grid-template-rows:60px minmax(0,1fr);grid-template-columns:minmax(300px,39%) minmax(0,61%);overflow:hidden;color:#fff;background:#001427}.campaign-overview:before{position:absolute;bottom:auto;height:100vh;z-index:-1}.overview-topbar{grid-column:1/-1;grid-row:1}.overview-topbar .atlas-brand{grid-column:2;grid-row:1}.overview-identity{position:relative;grid-column:1;grid-row:2;min-height:0;overflow:hidden;padding:24px clamp(24px,3vw,52px) 18px;display:flex;flex-direction:column;background:transparent}.overview-copy{position:relative;z-index:1}.overview-copy h1{width:max-content;max-width:100%;margin:0;color:#fff;font-size:clamp(2.3rem,4vw,3.7rem);line-height:1.07;font-weight:500;letter-spacing:-.04em}.overview-copy h1:focus{outline:none}.overview-copy h1:focus-visible,.overview-chapter-title h2:focus-visible{outline:2px solid var(--atlas-gold);outline-offset:4px}.overview-myth{margin:2px 0;color:#f4ce72;font-size:clamp(1.25rem,2.4vw,2rem);font-style:italic}.overview-stats{margin:5px 0 11px;color:#f1f2f7;font-size:1.1rem}.overview-stats span{padding:0 6px;color:#f0c758}.overview-legend{max-width:340px;margin:0;color:#f1f2f8;font-size:1.05rem;line-height:1.5;text-shadow:0 1px 5px #00101c}.begin-campaign{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:12px;margin:14px 0;padding:9px 18px;color:#241700;background:linear-gradient(#f6d47f,#dcae48);border:1px solid #ffdc88;border-radius:4px;font-size:1.08rem;font-weight:700;box-shadow:0 3px 12px #00101c66}.begin-campaign:hover{background:#ffe5a4}.overview-artwork{position:absolute;left:32%;top:27%;width:68%;height:63%;object-fit:contain;object-position:center;filter:drop-shadow(0 4px 10px #00101c99);pointer-events:none}.chapter-anchor-nav{position:relative;z-index:1;display:flex;flex-direction:column;align-items:stretch;gap:2px;margin-top:16px;min-height:0;flex:1;overflow:auto;padding:3px 0 2px;scrollbar-width:thin;scrollbar-color:#cfa32d80 transparent}.chapter-anchor-nav h2{margin:0 0 4px;color:#ffda81;font-size:1.3rem;font-weight:600}.chapter-anchor-nav a{display:flex;align-items:center;gap:11px;min-height:42px;padding:2px 4px;color:#fff;background:transparent;border:0;text-align:left;text-decoration:none;font-size:1.05rem}.chapter-anchor-nav a:hover{color:#ffdd83}.chapter-anchor-nav a:focus-visible{outline:2px solid var(--atlas-gold);outline-offset:1px}.chapter-anchor-nav a>span{flex:0 0 34px;width:34px;height:34px;display:grid;place-items:center;border:1.5px solid var(--atlas-gold);border-radius:50%;color:#fff;font-size:.88rem}.chapter-anchor-nav a strong{font-weight:500}.overview-scroll{grid-column:2;grid-row:2;min-height:0;overflow:auto;padding:15px clamp(15px,2vw,32px) 28px 0;scrollbar-color:#cfa32d #eee;scrollbar-width:thin}.overview-paper{min-height:100%;padding:12px clamp(16px,2.2vw,34px) 22px;color:var(--atlas-ink);background:#fff;border:5px solid var(--atlas-gold);border-radius:14px;box-shadow:0 6px 20px #00101c88}.overview-chapter{position:relative;scroll-margin-top:14px;padding:4px 0 15px 26px;border-bottom:1px solid #e9d2a2}.overview-chapter:before{content:"";position:absolute;left:12px;top:100px;bottom:38px;width:1px;background:var(--atlas-gold)}.overview-chapter:last-child{border-bottom:0}.overview-chapter-heading{margin-left:-26px;display:flex;align-items:center;gap:15px;min-height:75px;padding:5px 2px 8px}.overview-chapter-number{flex:0 0 58px;width:58px;height:58px;display:grid;place-items:center;color:#f6d276;background:#001427;border:3px double var(--atlas-gold);border-radius:50%;font-size:1.6rem;font-weight:600}.overview-chapter-number.is-complete{color:#16391e;background:#e8f2e8;border-color:#6f9d78}.overview-chapter-title{flex:1;min-width:0}.overview-chapter-title h2{scroll-margin-top:28px;width:max-content;max-width:100%;margin:0;color:#0c1735;font-size:clamp(1.2rem,2vw,1.9rem);line-height:1.2;font-weight:600}.overview-chapter-title>span{display:block;margin-top:2px;color:#233252;font-size:.92rem}.overview-compass{color:#172242}.overview-mission{position:relative;width:100%;min-height:49px;display:grid;grid-template-columns:36px minmax(0,1fr) minmax(55px,78px) auto 18px;align-items:center;gap:8px;margin:4px 0;padding:3px 9px;color:#111c38;background:#fff;border:1px solid #d7dbe2;border-radius:11px;text-align:left;transition:background-color .16s,border-color .16s}.overview-mission:hover{background:#fffaf0;border-color:var(--atlas-gold)}.overview-mission:focus-visible{outline:3px solid var(--atlas-gold);outline-offset:2px}.campaign-overview .mission-sequence{width:31px;height:31px;display:grid;place-items:center;color:#283450;background:linear-gradient(135deg,#fff8e4,#efd18b);border:1px solid #dfbb65;border-radius:50%;font-size:.86rem;font-weight:600}.campaign-overview .mission-waypoint{position:absolute;left:-24px;top:50%;display:grid;place-items:center;color:var(--atlas-gold);transform:translateY(-50%)}.mission-waypoint svg{width:16px;height:16px}.mission-current .mission-waypoint svg{width:22px;height:22px}.overview-mission.mission-done .mission-sequence{color:#163b22;background:#e5f0e6;border-color:#8cad8e}.overview-mission.mission-current .mission-sequence{color:#6a4300;background:#ffedbd;border-color:#d49d2e}.campaign-overview .mission-title{margin:0;color:var(--atlas-ink);line-height:1.35;min-width:0;font-size:1.15rem;font-weight:600}.campaign-overview .mission-time{color:#43516e;font-size:.95rem;white-space:nowrap}.campaign-overview .mission-action{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:4px 8px;color:#211700;background:#f1c85f;border:1px solid #d5a13d;border-radius:5px;font-size:.78rem;font-weight:700;white-space:nowrap}.campaign-overview .mission-arrow{color:#101d3d;justify-self:end}.overview-mission.mission-current{background:#fff8e8;border-color:#dda92f;box-shadow:inset 0 0 0 1px #f7d37b}.overview-mission.mission-done .mission-title{color:#334b38}@media(max-width:1100px){.atlas-scene{padding-inline:24px}.atlas-chart{height:auto;padding-top:10px;min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto auto auto auto;grid-template-areas:"active active" "coming coming" "left right" "bottom bottom";gap:16px 12px}.atlas-heading{position:relative;top:auto;left:auto}.atlas-coming-heading{display:flex}.atlas-primary{min-height:470px}.atlas-flank{min-height:205px;padding-top:0;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:1fr}.atlas-bottom-futures{min-height:440px}.atlas-future-lower{height:auto;grid-template-columns:repeat(3,minmax(0,1fr))}.atlas-bottom-futures .atlas-future{height:220px}.campaign-overview{grid-template-columns:minmax(270px,36%) minmax(0,64%)}.overview-identity{padding-inline:22px}.overview-mission{grid-template-columns:34px minmax(0,1fr) 55px auto 16px;gap:5px;padding-inline:7px}.campaign-overview .mission-title{font-size:.88rem}}@media(max-width:760px){.celestial-atlas:before{position:fixed}.atlas-topbar{height:58px;padding:0 13px}.atlas-brand{font-size:.92rem;gap:6px;letter-spacing:.15em}.atlas-brand .brand-laurel{width:27px}.atlas-mode{font-size:.8rem}.atlas-back{gap:7px;font-size:.84rem}.atlas-scene{padding:17px 17px 28px}.atlas-heading h1{font-size:2rem}.atlas-heading p{font-size:1rem}.atlas-chart{grid-template-columns:1fr;grid-template-areas:"active" "coming" "left" "right" "bottom";gap:13px}.atlas-primary{min-height:0;grid-template-columns:1fr;gap:5px}.atlas-available{min-height:265px;flex-direction:row;align-items:center;gap:10px;padding:5px 0}.atlas-artwork{width:52%;flex:0 0 52%;height:245px;min-height:0;object-position:center}.atlas-available-copy strong{font-size:1.7rem}.atlas-available-copy{flex:1;align-items:flex-start;text-align:left}.atlas-available-copy em{font-size:1.02rem}.atlas-available-copy>span:nth-of-type(1){font-size:.9rem}.atlas-explore{gap:6px;font-size:.94rem;white-space:normal}.atlas-flank{min-height:0;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:1fr}.atlas-future{height:205px}.atlas-future-copy strong{font-size:.94rem}.atlas-future-copy span{font-size:.82rem}.atlas-future-copy small{font-size:.75rem}.atlas-bottom-futures{min-height:0}.atlas-future-lower{height:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 5px}.atlas-bottom-futures .atlas-future{height:205px}}@media(max-width:1000px){.campaign-overview{height:auto;min-height:100vh;display:flex;flex-direction:column;overflow:visible}.overview-topbar{position:sticky;top:0;z-index:4;flex:0 0 58px}.overview-identity{min-height:0;display:grid;grid-template-columns:1fr;gap:18px;padding:24px 23px 20px}.overview-copy h1{font-size:2.8rem}.overview-artwork{position:relative;left:auto;top:auto;width:100%;height:145px}.chapter-anchor-nav{max-height:none;margin-top:0;overflow:visible;display:grid;grid-template-columns:1fr 1fr;column-gap:8px}.chapter-anchor-nav h2{grid-column:1/-1}.chapter-anchor-nav a{min-height:44px;font-size:.9rem;gap:7px}.chapter-anchor-nav a>span{flex-basis:31px;width:31px;height:31px}.overview-scroll{overflow:visible;padding:12px 12px 22px}.overview-paper{padding:8px 11px 15px;border-width:4px;border-radius:10px}.overview-chapter-heading{margin-left:-18px;gap:10px;min-height:66px}.overview-chapter-number{flex-basis:48px;width:48px;height:48px;font-size:1.3rem}.overview-chapter-title h2{scroll-margin-top:80px;font-size:1.15rem}.overview-chapter-title>span{font-size:.82rem}.overview-mission{min-height:47px;grid-template-columns:31px minmax(0,1fr) 47px 16px;gap:5px;padding:4px 6px;border-radius:8px}.overview-chapter{padding-left:18px}.overview-chapter:before{left:7px}.campaign-overview .mission-waypoint{left:-19px}.mission-waypoint svg{width:12px;height:12px}.campaign-overview .mission-title{font-size:.94rem}.campaign-overview .mission-time{font-size:.72rem}.campaign-overview .mission-action{display:none}.campaign-overview .mission-arrow{width:16px}.campaign-overview .mission-sequence{width:28px;height:28px;font-size:.8rem}.overview-compass{width:17px}}@media(min-width:600px)and (max-width:1000px){.overview-identity{grid-template-columns:minmax(0,3fr) minmax(0,2fr);column-gap:24px}.overview-copy{grid-column:1;grid-row:1}.overview-artwork{grid-column:2;grid-row:1;align-self:center;height:280px}.chapter-anchor-nav{grid-column:1/-1}}@media(max-width:480px){.atlas-topbar{grid-template-columns:1fr auto}.atlas-topbar .atlas-brand{justify-self:end}.atlas-mode{display:none}}@media(max-width:390px){.atlas-heading h1{font-size:1.75rem}.atlas-available{min-height:245px;padding-inline:1%}.atlas-artwork{height:225px}.atlas-available-copy strong{font-size:1.43rem}.overview-mission{grid-template-columns:28px minmax(0,1fr) 42px 14px;gap:3px;padding-inline:4px}.campaign-overview .mission-title{font-size:.9rem}.campaign-overview .mission-time{font-size:.68rem}.campaign-overview .mission-sequence{width:26px;height:26px}}@media(prefers-reduced-motion:reduce){.overview-mission{transition:none}}:root[data-reduced-motion=true] .overview-mission{transition:none}.illustrated-settlement{padding:0;background:#faf8f4}.settlement-scene{position:relative;isolation:isolate;width:100%;aspect-ratio:3 / 2;overflow:hidden;background:#001427}.settlement-landscape{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}.settlement-location{position:absolute;top:12px;left:12px;z-index:90;max-width:calc(100% - 24px);padding:6px 9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff;background:#001427e6;border-left:2px solid #cfa32d;font:600 .56rem/1.4 var(--mono);letter-spacing:.08em}.settlement-sprite{position:absolute;display:block;aspect-ratio:1;background-image:url(/assets/world/settlement-buildings.webp);background-repeat:no-repeat;background-size:300% 300%;pointer-events:none}.settlement-earned{animation:settlement-arrival .45s ease-out both}.settlement-activity{position:absolute;z-index:90;top:10px;right:12px;display:grid;place-items:center;width:28px;height:28px;color:#cfa32d;background:#630330;border:1px solid #cfa32d;border-radius:50%}.illustrated-settlement .map-legend{padding:9px 12px;gap:6px 12px;font-size:.65rem;line-height:1.5;border-bottom:1px solid #e3dfe4}.map-code-effect{padding:9px 12px;border-bottom:1px solid #e3dfe4;color:#001427}.map-code-effect>span{font:600 .6rem/1.4 var(--mono);letter-spacing:.05em;text-transform:uppercase;color:#630330}.map-code-effect p{margin:4px 0 0;font-size:.75rem;line-height:1.5;overflow-wrap:anywhere}@keyframes settlement-arrival{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}:root[data-reduced-motion=true] .settlement-earned{animation:none}@media(prefers-reduced-motion:reduce){.settlement-earned{animation:none}}@media(max-width:800px){.illustrated-settlement{padding:0}}
