:root{color-scheme:light;--ink:#293c32;--muted:#74796c;--paper:#f7f4e9;--paper-deep:#eee9d8;--green:#365a43;--green-dark:#254432;--line:#d9d6c8;--red:#a36046;--serif:"Songti SC","STSong","Noto Serif CJK SC",serif;--sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;font-family:var(--sans);color:var(--ink);background:#e5e9dd;font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea{ -webkit-tap-highlight-color:transparent }button{color:inherit;cursor:pointer}button{border:0;background:none}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible,canvas:focus-visible{outline:2px solid var(--green);outline-offset:4px}a{color:inherit}strong,b{font-weight:600}[hidden]{display:none!important}.skip-link{position:fixed;left:20px;top:-70px;z-index:100;padding:12px;background:var(--paper)}.skip-link:focus{top:15px}
#experience{height:100svh;min-height:560px;position:relative;overflow:hidden;isolation:isolate}#community-canvas{display:block;width:100%;height:100%;touch-action:none;background:#e7e9df;outline-offset:-5px}.scene-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(248,247,238,.78),rgba(248,247,238,0) 24%,transparent 77%,rgba(244,242,228,.67));z-index:1}.masthead{position:absolute;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:25px 36px;z-index:3;gap:18px}.wordmark{text-decoration:none;display:flex;align-items:center;gap:13px;flex-shrink:0}.wordmark-seal{display:grid;place-content:center;width:37px;height:46px;background:#9e6048;color:#fbf4e7;font:17px/1.16 var(--serif);border-radius:2px 1px 3px 1px;box-shadow:inset 0 0 0 3px #a76c52,inset 0 0 0 4px #eac9a5;transform:rotate(-2deg)}.wordmark strong{font:600 25px/1.4 var(--serif);letter-spacing:5px}.wordmark small{display:block;font-size:10px;letter-spacing:2px;color:#596854;margin-top:2px}.wordmark-en{font-size:8px;letter-spacing:1px;margin-left:12px}.header-actions{display:flex;align-items:center;gap:22px}.save-status{color:#5d705e;font-size:10px;letter-spacing:1px}.save-status::before{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background:#61845c;margin:0 7px 2px 0}.text-button{display:flex;align-items:center;gap:8px;font-size:12px;letter-spacing:1px}.icon{font-size:19px}.count{display:inline-grid;place-items:center;min-width:20px;height:20px;border:1px solid #8c9a83;border-radius:50%;font:10px Georgia,serif}.icon-button{height:36px;min-width:36px;font-size:21px;display:inline-grid;place-items:center;border-radius:50%;transition:background .15s}.icon-button:hover{background:#d9dfcc80}.location-nav{position:absolute;top:116px;left:37px;z-index:3;display:flex;align-items:center;gap:15px;padding:11px 16px;background:#f7f4e9b3;backdrop-filter:blur(9px);border:1px solid #ffffff60;border-radius:2px}.nav-caption{font-size:9px;letter-spacing:2px;color:var(--muted);writing-mode:vertical-rl;line-height:1.5;margin-right:2px}.location-link{font:13px var(--serif);padding:2px 0;position:relative;color:#65755f;display:grid;grid-template-columns:auto auto;align-items:center;column-gap:7px;text-align:left}.location-link.active{color:var(--green-dark)}.location-number{font:10px Georgia,serif;align-self:start;padding-top:3px;color:#8d947e}.location-description{grid-column:2;font:8px var(--sans);letter-spacing:1px;margin-top:5px;opacity:.8}.location-link.active:after{content:"";position:absolute;left:18px;bottom:-6px;width:16px;height:1px;background:#687d53}.nav-line{height:25px;width:1px;background:#cbd0bd}.assignment{position:absolute;top:113px;right:36px;width:231px;z-index:3;background:#f7f4e9d6;border:1px solid #ffffff70;box-shadow:0 7px 30px #46533809;border-radius:2px;backdrop-filter:blur(9px)}.assignment-toggle{width:100%;padding:14px 16px;display:flex;gap:12px;justify-content:space-between;align-items:center;text-align:left}.eyebrow{display:block;font-size:9px;letter-spacing:2px;font-weight:400;color:#7f836f}.assignment-toggle strong{display:block;font:15px/1.7 var(--serif);margin-top:6px}.fold-mark{font-size:18px;color:#8b947a}.assignment-content{padding:0 18px 18px}.assignment-content>p{font-size:11px;line-height:1.9;color:#6e7867;margin-top:2px}.task-route{padding:10px 0 5px;margin:0;list-style:none;border-top:1px solid var(--line)}.task-route li{font-size:11px;line-height:1.5;margin:10px 0;position:relative;padding-left:26px}.task-route li>span{position:absolute;left:0;font:10px Georgia,serif;color:#a19d85}.task-route small{display:block;font-size:9px;color:#8a8c7b;margin-top:3px}.task-route .done>span{color:var(--green)}.task-route .done>span:after{content:"✓";position:absolute;left:0;background:var(--paper);font-size:13px}.underlined-button{font-size:11px;padding:4px 0;border-bottom:1px solid #9ba58b;line-height:1.8}.underlined-button>span{margin-left:12px}.return-outside{position:absolute;top:187px;left:37px;z-index:3}.paper-button{background:#f7f4e9df;border:1px solid #ffffff80;padding:10px 15px;display:flex;gap:12px;align-items:center;font-size:12px;box-shadow:0 4px 20px #38452609}.scene-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;font:20px var(--serif);letter-spacing:4px;background:#e7e9df;z-index:2;transition:opacity .5s}.scene-loading small{font:10px var(--sans);letter-spacing:2px;color:var(--muted)}.loading-line{width:44px;height:1px;position:relative;background:#b0b89c;overflow:hidden}.loading-line:after{content:"";position:absolute;inset:0;background:#4a6845;transform:translateX(-100%);animation:loading 1.8s infinite}@keyframes loading{to{transform:translateX(100%)}}.scene-caption{position:absolute;bottom:121px;left:38px;z-index:2;display:flex;align-items:center;gap:12px;font:14px var(--serif);letter-spacing:2px;text-shadow:0 1px 6px #faf9ee}.caption-rule{width:24px;height:1px;background:#73805f}.scene-time{font:9px var(--sans);color:#6e7a63;letter-spacing:1px;padding-left:5px}.walkbar{position:absolute;left:50%;bottom:37px;transform:translateX(-50%);z-index:4;display:flex;align-items:center;gap:12px;background:#f9f6e9e8;border:1px solid #ffffffb0;padding:8px 14px;border-radius:3px;box-shadow:0 6px 25px #44523712;backdrop-filter:blur(12px);white-space:nowrap}.walk-controls,.zoom-controls{display:flex;gap:3px;align-items:center}.walk-label{font-size:10px;letter-spacing:2px;padding:0 7px;color:#69795f}.walk-button{touch-action:none;user-select:none}.tool-separator{display:block;width:1px;height:19px;background:#d3d7c5}.toolbar-button{display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:1px;padding:4px}.toolbar-button>span:first-child{font-size:17px}.zoom-controls{gap:0}.zoom-controls .icon-button{min-width:30px}.zoom-controls>span{font:10px Georgia,serif;min-width:33px;text-align:center;color:#7e876f}.canvas-help{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);margin:0;font-size:9px;letter-spacing:1px;color:#69755e;z-index:3;white-space:nowrap}.quick-notebook{position:absolute;bottom:44px;right:36px;z-index:3;text-align:left;padding:0 0 8px;border-bottom:1px solid #a1ae8f}.quick-notebook>span:last-child{font:15px/2 var(--serif);letter-spacing:1px}.quick-notebook b{font:18px var(--sans);margin-left:22px}.quick-notebook .eyebrow{font-size:8px;letter-spacing:2px}.noscript{position:fixed;inset:30% 15%;padding:35px;background:var(--paper);z-index:200}

/* The journal is a readable paper surface, leaving the long scroll in view. */
.notebook-dialog{position:fixed;left:auto;right:22px;top:20px;bottom:20px;margin:0;width:555px;max-width:calc(100vw - 40px);max-height:calc(100svh - 40px);height:fit-content;min-height:200px;padding:0;border:1px solid #e8e4d2;border-radius:3px;background:var(--paper);color:var(--ink);box-shadow:-8px 8px 65px #293c3221;overflow:auto;background-image:linear-gradient(90deg,#c1b58e07 1px,transparent 1px);background-size:7px 7px;scrollbar-width:thin;scrollbar-color:#c9cbb8 transparent}.notebook-dialog::backdrop{background:#2333292d;backdrop-filter:blur(1px)}.notebook-dialog[open]{animation:paper-enter .22s ease-out}@keyframes paper-enter{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:translateX(0)}}.dialog-top{position:sticky;top:0;z-index:6;display:flex;justify-content:space-between;align-items:center;background:#f7f4e9f5;padding:14px 22px 11px 30px;border-bottom:1px solid #e1decf}.dialog-top>.eyebrow{font-size:8px}.close-button{color:#6c7564}.dialog-content{padding:28px 32px 34px}.dialog-content h1,.dialog-content h2,.dialog-content h3,.dialog-content p{margin-top:0}.dialog-content h1{font:28px/1.45 var(--serif);letter-spacing:3px;margin-bottom:12px}.dialog-content h2{font:24px/1.5 var(--serif);letter-spacing:2px;margin-bottom:10px}.dialog-content h3{font:17px/1.6 var(--serif);letter-spacing:1px;margin-bottom:8px}.intro-text{font-size:12px;line-height:1.9;color:#74806b;margin-bottom:22px}.lead{font:16px/1.9 var(--serif);margin-bottom:20px}.muted{color:var(--muted)}.small{font-size:11px;line-height:1.9}.fine-print{font-size:9px;line-height:1.8;color:#8a8b79}.section-rule{border:0;border-top:1px solid var(--line);margin:25px 0}.primary-button{background:var(--green);color:#fffef2;padding:12px 21px;min-height:43px;border-radius:2px;font-size:12px;letter-spacing:1px;display:inline-flex;align-items:center;justify-content:center;gap:15px;transition:background .15s}.primary-button:hover{background:var(--green-dark)}.secondary-button{border:1px solid #aeb69e;padding:11px 17px;min-height:42px;border-radius:2px;font-size:12px;display:inline-flex;align-items:center;justify-content:center;gap:9px;background:#f8f6ec70}.secondary-button:hover{background:#e8ebdd}.button-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:22px}.button-row .underlined-button{margin-left:auto}.notebook-dialog.welcome{width:376px;left:38px;right:auto;top:50%;bottom:auto;transform:translateY(-44%);max-height:82svh;box-shadow:0 10px 60px #35452d18}.notebook-dialog.welcome[open]{animation:welcome-enter .3s ease-out}@keyframes welcome-enter{from{opacity:0;margin-top:10px}to{opacity:1;margin-top:0}}.notebook-dialog.welcome::backdrop{background:#31472e0b;backdrop-filter:none}.welcome .dialog-top{border-bottom:0;padding:17px 20px 0 29px}.welcome .dialog-content{padding:21px 30px 30px}.welcome .chapter-number{font:italic 12px Georgia,serif;color:#a58e64;margin-bottom:19px;letter-spacing:2px}.welcome h1{font-size:29px;line-height:1.65;letter-spacing:4px;margin-bottom:17px}.welcome .lead{font:12px/2 var(--sans);color:#737b66}.welcome .welcome-footer{display:flex;align-items:center;justify-content:space-between;margin-top:25px}.welcome .duration{font-size:9px;line-height:1.8;color:#959580}.welcome .fine-print{margin:17px 0 0}.journal-tabs{display:flex;border-bottom:1px solid var(--line);margin:0 0 25px;gap:20px;overflow:auto;white-space:nowrap}.journal-tabs button{padding:0 0 11px;font-size:11px;letter-spacing:1px;color:#8a8d78;position:relative}.journal-tabs button.active{color:var(--green);font-weight:600}.journal-tabs button.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--green)}.section-label{font-size:10px;font-weight:600;letter-spacing:2px;color:#768061;margin-bottom:13px}.empty-state{padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px;line-height:2;color:#78816d}.section-count{font:12px Georgia,serif;color:#999e89;margin-left:9px}.evidence-item{padding:17px 0 20px;border-top:1px solid var(--line)}.evidence-heading{display:flex;gap:9px;align-items:center;margin-bottom:9px}.evidence-type{font-size:8px;padding:3px 5px;border:1px solid #b4bda5;color:#738369;white-space:nowrap}.evidence-item h3{font:15px/1.7 var(--serif);margin:0}.evidence-source{font-size:9px;color:#8c907e;margin-bottom:9px}.evidence-content{font-size:12px;line-height:1.95;margin-bottom:12px!important;color:#586953}.note-label{display:block;font-size:9px;color:#8d917e;margin-bottom:6px}.field-input,.field-textarea{display:block;width:100%;color:var(--ink);background:#ffffff38;border:1px solid #d5d9c7;border-radius:2px;padding:10px 11px;line-height:1.75;font-size:12px}.field-textarea{resize:vertical;min-height:84px}.field-textarea.short{min-height:60px}.field-input::placeholder,.field-textarea::placeholder{color:#a4a794}.field-label{display:block;font-size:11px;letter-spacing:.5px;margin:19px 0 8px}.field-hint{font-size:10px;line-height:1.8;color:#868f78;margin:6px 0 12px!important}.character-heading{display:flex;align-items:center;gap:17px;margin-bottom:21px}.portrait{flex:0 0 68px;width:68px;height:82px;overflow:hidden;display:block;border-radius:2px;background-color:#ede8d8}.character-heading h2{font-size:23px;margin-bottom:5px}.character-role{font-size:10px;color:#8a8d78;letter-spacing:1px}.character-description{font-size:11px;line-height:1.85;color:#8a8b77;margin-bottom:23px}.speech{padding:23px 0 19px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:20px}.speech p{font:17px/1.95 var(--serif);color:#364d3a;margin:0}.speech:before{content:"“";display:block;font:40px/20px Georgia,serif;color:#b2b79c;margin-bottom:12px}.dialogue-feedback{font-size:11px;line-height:1.85;color:#59794f;background:#e7ecdb6e;border-left:2px solid #9bae7c;padding:11px 14px;margin-bottom:19px}.dialogue-choices{display:grid;gap:9px}.choice-button{display:flex;align-items:flex-start;gap:12px;width:100%;text-align:left;padding:13px 15px;background:#fbf9f080;border:1px solid #d4d9c5;border-radius:2px;line-height:1.85;font-size:12px;transition:background .15s,border-color .15s}.choice-button:hover{border-color:#9baa8b;background:#e8ecdd6b}.choice-number{font:11px Georgia,serif;color:#9aa288;line-height:2.1}.choice-button .choice-reason{display:block;font-size:10px;color:#979980}.dialogue-actions{display:flex;align-items:center;justify-content:space-between;margin-top:22px}.dialogue-actions .fine-print{max-width:230px;margin:0}.history{margin-top:22px;border-top:1px solid var(--line);padding-top:13px}.history summary{font-size:11px;color:#7e8970;cursor:pointer}.history p{font-size:11px;line-height:1.9;color:#6e7a63;margin:10px 0}.history b{font-size:10px;color:#899178;font-weight:400;display:block}.need-entry{padding:19px 0;border-top:1px solid var(--line)}.need-header{display:flex;align-items:center;gap:11px}.need-header h3{margin:0}.need-header input{accent-color:var(--green);width:16px;height:16px;margin:0;flex-shrink:0}.need-description{font-size:11px;line-height:1.9;color:#839076;margin:8px 0 12px!important}.evidence-options{display:grid;gap:8px;max-height:230px;overflow:auto;border:1px solid var(--line);padding:12px}.check-line{display:flex;gap:9px;align-items:flex-start;font-size:11px;line-height:1.7;cursor:pointer}.check-line input{accent-color:var(--green);flex-shrink:0;margin:3px 0 0}.check-line small{display:block;font-size:9px;line-height:1.7;color:#909880}.priority-list{margin:18px 0 22px;padding:0;list-style:none}.priority-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.priority-number{font:italic 22px Georgia,serif;color:#9c9f83;min-width:25px}.priority-name{font:15px var(--serif);flex:1}.priority-item .icon-button{font-size:14px;height:28px;min-width:28px}.resource-list{display:flex;gap:16px;padding:15px 0 19px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:22px}.resource-item{flex:1}.resource-label{font-size:9px;line-height:1.7;color:#829074}.resource-amount{font:22px/1.8 Georgia,serif;color:#507146}.resource-amount small{font:10px var(--sans);color:#929b83}.resource-bar{height:3px;background:#dce1cf;margin-top:7px;overflow:hidden}.resource-bar>span{display:block;height:100%;background:#8ba777}.resource-item.exceeded .resource-amount{color:#a96549}.resource-item.exceeded .resource-bar>span{background:#a96549}.resource-warning{font-size:11px;line-height:1.8;color:#965b43;margin:10px 0 17px}.action-entry{display:block;padding:15px 0;border-bottom:1px solid var(--line);cursor:pointer}.action-entry-header{display:flex;align-items:center;gap:10px}.action-entry input{accent-color:var(--green);width:15px;height:15px;margin:0}.action-title{font:15px/1.8 var(--serif)}.action-description{font-size:11px;line-height:1.85;color:#7d8c70;display:block;margin:5px 0 7px;padding-left:25px}.action-costs{font-size:9px;color:#9a9d86;display:block;padding-left:25px}.feedback-dimension{border-top:1px solid var(--line);padding:16px 0}.feedback-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}.feedback-heading h3{font-size:15px;margin:0}.feedback-status{font-size:9px;color:#8a906f;border:1px solid #c9ceb7;padding:3px 6px;white-space:nowrap}.feedback-status.complete{color:#517b48;border-color:#a4b79c}.feedback-dimension p{font-size:11px;line-height:1.9;color:#7d8a70;margin:0}.feedback-list{margin:12px 0 20px;padding-left:18px;font-size:11px;color:#7a876c;line-height:1.95}.feedback-notice{font-size:11px;line-height:1.9;border-left:2px solid #ae9b69;padding-left:13px;color:#85805e;margin-bottom:21px!important}.location-group{margin:21px 0}.location-group-header{display:flex;gap:10px;align-items:baseline;border-bottom:1px solid var(--line);padding-bottom:11px}.location-group-header h3{margin:0;flex:1}.location-group-header>span{font:11px Georgia,serif;color:#9b9c82}.location-group-header button{font-size:10px;color:#6a825a}.roster-entry{display:flex;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid #e5e4d6}.roster-entry .portrait{width:40px;height:50px;flex-basis:40px}.roster-copy{flex:1}.roster-name{font:15px var(--serif)}.roster-role{font-size:9px;margin-top:5px;color:#92987e}.roster-entry button{font-size:10px;border-bottom:1px solid #a4b290;padding:5px 0}.visited-label{font-size:9px;color:#7c9670;margin-left:9px}.tools-row{border-top:1px solid var(--line);padding:20px 0}.tools-row h3{font-size:15px}.tools-row p{font-size:11px;line-height:1.9;color:#859073;margin-bottom:13px}.settings-line{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px}.settings-line input{accent-color:var(--green);width:17px;height:17px}.danger-button{color:#a5664c;font-size:11px;border-bottom:1px solid #cfad96;padding:4px 0}.confirmation{margin-top:14px;padding:15px;border:1px solid #dac8ae;background:#f5ecdb}.confirmation p{color:#906d4c}.toast{position:fixed;bottom:112px;left:50%;transform:translateX(-50%);background:#2f4d3ded;color:#faf8e9;padding:13px 22px;max-width:min(430px,90vw);font-size:11px;line-height:1.8;z-index:100;border-radius:3px;box-shadow:0 5px 20px #1d362627;pointer-events:none}.save-warning{position:fixed;bottom:8px;left:15px;z-index:150;max-width:470px;background:#fff7e8;border:1px solid #d5b38f;color:#946643;font-size:10px;line-height:1.8;padding:8px 12px;border-radius:2px}.print-report{display:none}.fatal-message{position:absolute;z-index:99;inset:24% 20%;padding:35px;background:var(--paper);border:1px solid var(--line);box-shadow:0 8px 35px #24382f1a;font-size:13px;line-height:1.9}.fatal-message h2{font:24px var(--serif)}

@media(min-width:1500px){.masthead{padding:30px 47px}.location-nav{left:48px;top:126px}.assignment{right:48px;top:125px}.scene-caption{left:49px}.quick-notebook{right:48px}.notebook-dialog{width:595px}.dialog-content{padding:33px 39px 40px}}
@media(max-width:1050px){.wordmark-en{display:none}.assignment{right:25px;width:214px}.masthead{padding:23px 26px}.location-nav{left:27px;gap:11px}.quick-notebook{display:none}.scene-caption{left:28px}.save-status{display:none}.header-actions{gap:14px}.scene-time{display:none}}
@media(max-width:700px){#experience{min-height:420px;height:100svh}.masthead{padding:20px 18px;gap:5px}.wordmark{gap:10px}.wordmark-seal{width:30px;height:39px;font-size:14px}.wordmark strong{font-size:21px;letter-spacing:3px}.wordmark small{font-size:8px;letter-spacing:1px}.header-actions{gap:5px}.text-button{font-size:10px;gap:5px;letter-spacing:0}.count{width:18px;height:18px;min-width:18px;font-size:9px}.header-actions>.icon-button{min-width:27px;font-size:19px}.icon{font-size:16px}.location-nav{top:91px;left:18px;right:18px;justify-content:center;gap:15px;padding:10px}.nav-caption{display:none}.location-link{font-size:12px;column-gap:6px}.location-description{font-size:7px}.location-number{font-size:8px}.nav-line{height:23px}.assignment{top:159px;right:18px;width:205px}.assignment-toggle{padding:10px 13px}.assignment-toggle strong{font-size:13px;margin-top:4px}.assignment-toggle .eyebrow{font-size:7px;letter-spacing:1px}.assignment-content{padding:0 14px 13px}.assignment-content>p{font-size:10px}.task-route{padding-top:4px}.task-route li{font-size:10px}.return-outside{top:161px;left:18px;padding:9px 12px;font-size:10px}.scene-caption{bottom:103px;left:20px;font-size:12px;gap:9px}.caption-rule{width:17px}.walkbar{bottom:max(28px,env(safe-area-inset-bottom));width:calc(100vw - 36px);justify-content:space-between;padding:6px 7px;gap:3px}.walk-label{display:none}.walk-controls{gap:0}.walk-controls .icon-button{min-width:31px}.toolbar-button{font-size:9px;gap:5px;letter-spacing:0}.tool-separator{margin:0 2px}.zoom-controls .icon-button{min-width:26px;font-size:18px}.zoom-controls>span{font-size:9px;min-width:28px}.walkbar>#pause-button{min-width:30px;font-size:17px}.canvas-help{font-size:8px;bottom:9px}.notebook-dialog,.notebook-dialog.welcome{left:0;right:0;top:auto;bottom:0;width:100%;max-width:100%;max-height:91svh;transform:none;border-radius:10px 10px 0 0;border-bottom:0}.notebook-dialog[open]{animation:mobile-paper-enter .2s ease-out}.dialog-top{padding:11px 14px 9px 23px}.dialog-content{padding:24px 24px max(28px,env(safe-area-inset-bottom))}.dialog-content h2{font-size:23px}.notebook-dialog.welcome{left:20px;right:20px;top:50%;bottom:auto;transform:translateY(-38%);width:calc(100% - 40px);max-width:340px;margin:auto;border:1px solid #e8e4d2;border-radius:2px;max-height:73svh}.welcome .dialog-content{padding:13px 26px 26px}.welcome .dialog-top{padding-left:26px}.welcome h1{font-size:26px;line-height:1.5}.welcome .chapter-number{margin-bottom:15px}.welcome .lead{font-size:11px;margin-bottom:15px}.welcome .welcome-footer{margin-top:20px}.welcome .fine-print{font-size:8px}.welcome .primary-button{padding:11px 17px}.journal-tabs{gap:23px}.dialog-content .intro-text{font-size:11px}.portrait{width:60px;flex-basis:60px;height:73px}.speech p{font-size:16px}.choice-button{font-size:12px;padding:12px}.resource-list{gap:12px}.resource-amount{font-size:20px}.resource-label{font-size:8px}.toast{bottom:94px;font-size:10px;padding:11px 17px}.save-warning{max-width:calc(100% - 20px);left:10px;font-size:9px}.fatal-message{inset:25% 8%;padding:25px}.button-row{gap:8px}.button-row .underlined-button{margin-left:0}.primary-button,.secondary-button{font-size:11px}.dialogue-actions .fine-print{max-width:190px}@keyframes mobile-paper-enter{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}}
@media(max-width:380px){.location-nav{gap:10px}.location-link{font-size:11px}.header-actions .text-button{font-size:0}.header-actions .text-button .icon{font-size:19px}.header-actions .count{font-size:9px}.walkbar{width:calc(100vw - 24px)}.toolbar-button{font-size:8px}.dialog-content{padding-left:20px;padding-right:20px}.resource-list{gap:8px}.resource-amount small{font-size:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}
@media print{@page{size:A4;margin:18mm}body{background:white;color:#111;font-size:10pt}#experience,.notebook-dialog,.toast,.save-warning,.skip-link{display:none!important}.print-report{display:block;font-family:var(--sans);line-height:1.75}.print-report h1{font:24pt var(--serif);margin:0 0 8pt}.print-report h2{font:17pt var(--serif);border-bottom:1px solid #aaa;padding-bottom:5pt;margin:20pt 0 9pt;break-after:avoid}.print-report h3{font-size:12pt;margin:10pt 0 4pt;break-after:avoid}.print-report p{margin:5pt 0}.print-report .report-meta{color:#555;font-size:9pt}.print-report ul,.print-report ol{padding-left:20pt}.print-report li{margin:4pt 0}.print-report .report-evidence,.print-report .report-need{break-inside:avoid;border-bottom:1px solid #ddd;padding:8pt 0}.print-report blockquote{margin:6pt 0;padding-left:10pt;border-left:2pt solid #aaa;color:#444}.print-report table{width:100%;border-collapse:collapse;margin:10pt 0}.print-report th,.print-report td{border:1px solid #bbb;padding:6pt;text-align:left}.print-report a{color:inherit;text-decoration:none}.print-report .report-footer{margin-top:20pt;font-size:8pt;color:#777}}

.portrait-unavailable{display:grid;place-items:center;font:12px var(--serif);color:var(--muted);writing-mode:vertical-rl}

@media print{.print-report .report-conversation{margin-top:15pt}.print-report .report-message{padding:5pt 0 6pt 10pt;border-left:1pt solid #ccc;break-inside:avoid;margin:6pt 0}.print-report .report-message p{margin:2pt 0}.print-report .report-student{border-left:2pt solid #777}.print-report .report-record-note{padding:5pt 9pt;border:1pt solid #bbb;font-size:9pt;color:#555}}

/* V2: conversations stay in the street; the journal is opened deliberately. */
.masthead{padding-top:19px;padding-bottom:17px}.location-nav{top:102px}.assignment{top:101px}.assignment-toggle .eyebrow{font-size:8px}.wordmark strong{font-size:23px}.notebook-dialog::backdrop{background:#23332917;backdrop-filter:none}.dialog-controls{display:flex;align-items:center;gap:3px}.dialog-controls #dialog-pause{font-size:15px;min-width:30px;height:30px}.notebook-dialog:not(.scene-dialog) #dialog-pause{display:none}.character-initial{display:grid;place-items:center;width:36px;height:42px;flex:0 0 36px;border-left:1px solid #a3ad91;font:24px var(--serif);color:#59724c}.scene-dialog{z-index:20;top:auto;left:auto;right:24px;bottom:95px;width:560px;max-width:calc(100vw - 48px);max-height:44svh;min-height:0;box-shadow:0 8px 28px #263b291b;background-color:#faf7ecf7;border:1px solid #dadbc8;border-radius:3px}.scene-dialog .dialog-top{padding:8px 13px 7px 19px}.scene-dialog .dialog-content{padding:15px 21px 19px}.scene-dialog .dialog-content h2{font-size:20px;letter-spacing:1px;margin-bottom:6px}.scene-dialog .character-heading{gap:10px;margin-bottom:10px}.scene-dialog .character-heading h2{font-size:19px}.scene-dialog .character-role{font-size:9px}.scene-dialog .character-description{display:none}.scene-dialog .speech{padding:0 0 11px;border-top:0;margin-bottom:10px}.scene-dialog .speech:before{display:none}.scene-dialog .speech p{font-size:15px;line-height:1.85}.scene-dialog .dialogue-feedback{padding:7px 10px;margin-bottom:10px;font-size:10px}.scene-dialog .section-label{font-size:9px;margin-bottom:8px}.scene-dialog .dialogue-choices{grid-template-columns:1fr 1fr;gap:6px}.scene-dialog .choice-button{padding:8px 10px;font-size:11px;line-height:1.7;gap:7px;background:#fcfaf172}.scene-dialog .choice-number{font-size:9px}.scene-dialog .dialogue-actions{margin-top:12px;gap:12px}.scene-dialog .dialogue-actions .fine-print{font-size:8px;max-width:none}.scene-dialog .dialogue-actions .underlined-button{font-size:10px;white-space:nowrap}.scene-dialog .history{padding-top:9px;margin-top:12px}.scene-dialog .history p{font-size:10px}.scene-dialog .lead{font-size:15px;line-height:1.9;margin-bottom:12px}.scene-dialog .intro-text{font-size:11px;line-height:1.8;margin-bottom:14px}.scene-dialog .button-row{margin-top:12px}.scene-dialog .primary-button,.scene-dialog .secondary-button{padding:9px 13px;min-height:36px;font-size:11px}.conversation-open .walkbar{visibility:hidden}.conversation-open .canvas-help{visibility:hidden}.conversation-open .quick-notebook{visibility:hidden}.conversation-open .world-observation{visibility:hidden}.world-observation{position:absolute;left:34px;bottom:175px;z-index:5;display:grid;gap:7px;max-width:280px}.world-event-button{display:flex;gap:10px;align-items:center;text-align:left;padding:10px 13px;background:#f6f3e5e3;border-left:2px solid #869976;box-shadow:0 3px 18px #293c3210;font:13px/1.7 var(--serif)}.world-event-button>span:nth-child(2){flex:1}.world-event-button small{display:block;font:8px/1.7 var(--sans);letter-spacing:1px;color:#869477}.event-pulse{width:5px;height:5px;border-radius:50%;background:#688257;flex:0 0 5px;box-shadow:0 0 0 4px #8ba7771c}.trial-status{position:absolute;left:34px;bottom:174px;z-index:6;display:flex;gap:11px;align-items:center;max-width:340px;padding:12px 15px;background:#f6f3e6ed;border-left:2px solid #b89865;box-shadow:0 3px 18px #293c3210}.trial-status>div{display:grid;gap:4px}.trial-status small{font-size:8px;letter-spacing:1px;color:#8e9277}.trial-status>div>span{font:13px var(--serif)}.trial-status>button{font-size:10px;white-space:nowrap;margin-left:5px;border-bottom:1px solid #a3b08e;padding:5px 0}.trial-launch{border-top:1px solid var(--line);margin-top:25px;padding-top:21px}.trial-launch h3{margin-bottom:7px}.trial-launch .underlined-button{margin-left:14px}.trial-blockers{font-size:10px;line-height:1.9;color:#8b8065;margin-bottom:15px}.trial-blockers summary{cursor:pointer}.trial-blockers ul{padding-left:17px;margin:7px 0}.trial-responses{list-style:none;margin:0 0 18px;padding:0}.trial-responses li{padding:10px 0;border-bottom:1px solid var(--line)}.trial-responses li>div{display:flex;align-items:center;gap:12px}.trial-responses strong{font:15px var(--serif);font-weight:400}.trial-decision{font-size:9px;letter-spacing:.5px;color:#91846a}.trial-decision.join{color:#57794e}.trial-responses p{font-size:11px;line-height:1.85;color:#7b866e;margin:7px 0 0}.trial-review{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;margin-bottom:25px}.trial-review details>summary{font-size:11px;color:#738568;cursor:pointer;margin-bottom:10px}.trial-review>.button-row{margin-top:12px}.notebook-dialog.welcome{width:350px}.welcome h1{font-size:27px}.welcome .lead{font-size:12px}
@media(max-width:700px){.masthead{padding:17px 16px}.wordmark strong{font-size:20px}.location-nav{top:86px;left:16px;right:16px}.assignment{top:150px;right:16px;width:195px}.scene-dialog{left:12px;right:12px;bottom:77px;top:auto;width:calc(100vw - 24px);max-width:none;max-height:46svh;border:1px solid #dadbc8;border-radius:3px;transform:none}.scene-dialog .dialog-top{padding:5px 10px 5px 15px}.scene-dialog .dialog-content{padding:12px 15px 15px}.scene-dialog .dialogue-choices{grid-template-columns:1fr;gap:5px}.scene-dialog .choice-button{font-size:11px;padding:8px 10px}.scene-dialog .speech p{font-size:14px;line-height:1.8}.scene-dialog .character-heading{margin-bottom:8px}.scene-dialog .character-initial{width:28px;height:34px;flex-basis:28px;font-size:21px}.scene-dialog .character-heading h2{font-size:17px}.scene-dialog .dialogue-actions .fine-print{max-width:180px}.world-observation{left:17px;bottom:145px;max-width:240px}.world-event-button{padding:8px 11px;font-size:12px}.trial-status{left:17px;bottom:144px;max-width:calc(100vw - 34px);padding:10px 12px}.trial-status>div>span{font-size:12px}.trial-status>button{font-size:9px}.notebook-dialog.welcome{max-width:335px;width:calc(100% - 40px)}.scene-caption{bottom:105px}.trial-launch .underlined-button{margin-left:10px}.trial-review>.button-row{align-items:flex-start}.conversation-open .scene-caption{display:none}}
@media print{.print-report .report-trial-note{font-size:9pt;color:#666}.print-report .report-world-event{break-inside:avoid;border-bottom:1px solid #ccc;padding:7pt 0}.print-report .trial-responses p{font-size:10pt;color:#333}.print-report .trial-responses li{break-inside:avoid}}

.trial-present .world-observation{bottom:255px}@media(max-width:700px){.trial-present .world-observation{bottom:226px}}

/* Printed trial context and pagination: keep labels and endings together. */
@media print{
  html,body{background:#fff!important}
  .print-report p{orphans:2;widows:2}
  .print-report .report-conversation>.report-meta,.print-report .report-conversation>.report-record-note{break-after:avoid}
  .print-report .report-trial-context{break-inside:avoid;line-height:1.65;margin:7pt 0}
  .print-report .report-trial table{table-layout:fixed}
  .print-report .report-trial table th:nth-child(1),.print-report .report-trial table td:nth-child(1){width:5em;white-space:nowrap}
  .print-report .report-trial table th:nth-child(2),.print-report .report-trial table td:nth-child(2){width:7em;white-space:nowrap}
  .print-report table thead{display:table-header-group}
  .print-report table tr{break-inside:avoid}
  .print-report .report-footer{break-inside:avoid;margin-top:8pt;line-height:1.45}
}

@media print{.print-report .report-person-role{display:block;font-size:8pt;line-height:1.45;font-weight:400;color:#666}.print-report .report-trial-note,.print-report .report-trial-context{break-after:avoid}}

/* Near scenes share the witnessed event; they never award evidence themselves. */
.focus-scene-dialog{padding:0;border:1px solid #bbc2ae;border-radius:12px;width:min(1180px,96vw);max-width:96vw;max-height:94dvh;color:#35493d;background:#f6f2e8;overflow:auto}
.focus-scene-dialog::backdrop{background:#17251bd6}
.focus-scene-dialog header{display:flex;justify-content:space-between;align-items:center;padding:16px 22px;gap:16px}
.focus-scene-dialog h2{font:25px "Songti SC",serif;margin:5px 0 0}.focus-scene-dialog small{color:#71816b;letter-spacing:.14em}
.focus-scene-dialog button{font:14px inherit;padding:10px 16px;cursor:pointer;border:1px solid #abb69f;border-radius:5px;background:#fffdf4;color:inherit}
.focus-scene-dialog .focus-exit{font-size:25px;padding:3px 13px}.focus-scene-art{background:#dedfd3;display:grid;place-items:center;min-height:200px}
.focus-scene-art img,.focus-scene-art video{display:block;max-height:65dvh;width:100%;object-fit:contain}.focus-scene-art [hidden]{display:none!important}
.focus-scene-dialog footer{padding:14px 22px;display:flex;justify-content:space-between;gap:20px;align-items:center}.focus-scene-dialog footer p{max-width:560px;font-size:14px;line-height:1.7;margin:0}.focus-scene-dialog footer div{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:700px){.focus-scene-dialog h2{font-size:20px}.focus-scene-dialog header,.focus-scene-dialog footer{padding:13px}.focus-scene-dialog footer{display:block}.focus-scene-dialog footer div{margin-top:12px}.focus-scene-art img,.focus-scene-art video{max-height:55dvh}}

.focus-scene-art canvas{display:block;width:100%;height:auto;max-height:65dvh;object-fit:contain}.focus-scene-art canvas[hidden]{display:none!important}

.focus-scene-art{overflow-x:auto;touch-action:pan-x pan-y;display:block}.focus-scene-art img,.focus-scene-art video,.focus-scene-art canvas{margin:auto}
.focus-framing[aria-pressed="true"]{background:#35493d;color:#fff}
@media(max-width:700px){.focus-scene-dialog.detail-framing .focus-scene-art img,.focus-scene-dialog.detail-framing .focus-scene-art video,.focus-scene-dialog.detail-framing .focus-scene-art canvas{width:640px;max-width:none;max-height:none;height:360px;object-fit:contain}.focus-scene-dialog button{min-height:44px}.focus-scene-dialog header{position:sticky;top:0;background:#f6f2e8;z-index:1}}
@media(min-width:701px){.focus-framing{display:none}}

.focus-status:empty{display:none}.focus-status{font-size:13px;color:#68745e;max-width:240px}

.character-portrait{position:relative;display:block;width:64px;height:72px;flex:0 0 64px;background:#e9e8d9;border:1px solid #cbd0bf;border-radius:8px;overflow:hidden}
.character-portrait svg{position:absolute;inset:0;width:100%;height:100%;opacity:0}
.character-portrait .portrait-initial{display:grid;place-items:center;width:100%;height:100%;font:24px var(--serif);color:#59724c}
.character-portrait[data-loaded="true"] svg{opacity:1}
.character-portrait[data-loaded="true"] .portrait-initial{visibility:hidden}
@media(max-width:700px){.character-portrait{width:56px;height:64px;flex-basis:56px}}

/* Task 06 borrows the live Pixi canvas; renderer.resize writes inline dimensions. */
.focus-scene-dialog.live-focus .focus-scene-art > canvas#community-canvas,.focus-scene-dialog.live-focus .focus-scene-art > canvas#world{touch-action:pan-x pan-y!important;width:100%!important;height:min(57dvh,560px)!important;max-height:none!important}
@media(max-width:700px){.focus-scene-dialog.live-focus.detail-framing .focus-scene-art > canvas#community-canvas,.focus-scene-dialog.live-focus.detail-framing .focus-scene-art > canvas#world{width:640px!important;height:360px!important}}
