:root{color-scheme:light;--ink:#294d40;--paper:#fff3d4;--gold:#d5ae62;--green:#345d4c}*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:'PingFang SC','Microsoft YaHei',sans-serif;overflow:hidden;background:#d9dfca}button,input{font:inherit}button{cursor:pointer;border:1px solid #9caa87;background:#edf0d9;color:var(--ink);border-radius:12px;padding:12px 19px;min-height:46px;transition:background .15s,box-shadow .15s}button:hover:not(:disabled){filter:brightness(1.06);box-shadow:0 0 0 3px #edca8060}button:focus-visible,input:focus-visible{outline:3px solid #c69943;outline-offset:4px}button:disabled{opacity:.45;cursor:default}.primary{background:linear-gradient(#456f57,#2c5142);color:#fff4d5;border:2px solid #9caf7a;box-shadow:0 4px 0 #203d32;font-weight:600;font-size:20px;min-height:57px}.secondary{background:#f2e5bf;border-color:#c7b57b}.small-link{background:transparent;border:0;font-size:14px;padding:8px;min-height:36px}.chapter-kicker{font-size:14px;letter-spacing:3px;color:#836c46}h1,h2,h3,p{margin-top:0}#world{position:fixed;inset:0;width:100%;height:100%;border:0}#wash{position:fixed;inset:0;pointer-events:none;background:linear-gradient(#173e3628,transparent 20%,transparent 78%,#14392f28)}header{position:fixed;z-index:5;top:0;left:0;right:0;padding:18px 24px;display:flex;justify-content:space-between;gap:18px;align-items:center;pointer-events:none;background:linear-gradient(#143b3745,transparent)}header button{pointer-events:auto;background:#254d40d9;color:#fff1cd;border-color:#b6c19955}#home{display:flex;gap:10px;align-items:center;font-size:15px}#objective{font-size:19px;text-align:center;white-space:pre-line;line-height:1.5;color:#fff5d5;text-shadow:0 2px 6px #17362d}#routeButton{font-size:14px}.creation{position:fixed;inset:100px 0 20px;text-align:center;pointer-events:none}.creation h1{font:36px/1.4 'Songti SC',serif;margin-bottom:0}.creation button,.creation input{pointer-events:auto}.avatar-choice{position:absolute;top:49%;left:50%;transform:translateX(-50%);width:400px;display:flex;justify-content:space-between}.avatar-choice button{width:140px;background:#f6e7c4df}.avatar-choice [aria-pressed=true]{background:#365c4b;color:#fff2ca;border:3px solid #f3d383}.name-box{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:380px;background:#fff0cde8;padding:17px 24px;border:2px solid #d5bb81;border-radius:18px}.name-box label{display:block;font-size:15px;margin-bottom:7px}.name-box>div{display:flex;gap:8px}.name-box input{width:100%;min-width:0;padding:10px;border:1px solid #a79b76;border-radius:8px;background:#fff9e7;font-size:19px}.name-box #begin{width:100%;margin:12px 0}.name-box small{font-size:11px}.story-card{position:fixed;top:19%;left:12%;width:490px;max-width:75vw;padding:35px;background:#fff4dce8;border:2px solid #bc9d61;box-shadow:0 20px 80px #213a3744;border-radius:20px}.story-card h1{font:38px/1.4 'Songti SC',serif}.story-card p:not(.chapter-kicker){font-size:22px;line-height:1.9}.story-card .primary{width:100%}#speech{position:fixed;z-index:8;max-width:calc(100vw - 135px);width:370px;background:linear-gradient(120deg,#fff9e2,#f1dfb5);border:2px solid #d8b56e;border-radius:20px;padding:17px 22px;box-shadow:0 12px 25px #25423633;pointer-events:none;transition:left .24s,top .24s}.speaker{font-size:14px;font-weight:700;letter-spacing:2px;color:#8a7048;margin-bottom:8px}#speech p{font-size:23px;line-height:1.6;margin:0}.speech-tail{position:absolute;width:17px;height:17px;left:-10px;top:45%;background:#fff3d6;border-left:2px solid #d8b56e;border-bottom:2px solid #d8b56e;transform:rotate(45deg)}#speech.tail-right .speech-tail{left:auto;right:-10px;transform:rotate(225deg)}#speech.radio .speech-tail{display:none}#responses{position:fixed;z-index:10;bottom:25px;left:50%;transform:translateX(-50%);width:min(900px,calc(100vw - 175px));display:flex;gap:20px;align-items:center;justify-content:space-between;background:#173d32bb;border:1px solid #e9d59b55;padding:15px 20px;border-radius:17px;backdrop-filter:blur(7px)}#responseName{color:#f4e5b9;font-size:16px;white-space:nowrap}#responseButtons{display:flex;justify-content:flex-end;gap:15px;flex-wrap:wrap;width:100%}#responseButtons .primary{order:2;min-width:240px}#bookAction{position:fixed;inset:56% 31% 19%;z-index:5;display:grid;place-items:center}#touchBook{background:#d8ba6933;border:2px solid #fff1b4;box-shadow:0 0 40px #ffdc88;font-size:18px;line-height:1.7;color:#284e40}#magicBeat{position:fixed;bottom:40px;left:50%;transform:translateX(-50%);text-align:center;color:#fff2c9;font-size:24px}#magicBeat button{display:block;margin:14px auto;background:#254f40;color:#fff0cb}.control-buttons{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap}#workspaceControls{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);z-index:7;max-width:calc(100vw - 180px);padding:12px 20px;border-radius:18px;background:#fff4d9ed;border:1px solid #c5b584;box-shadow:0 8px 30px #213e3333}#selectionInfo{text-align:center;font-size:17px;margin-bottom:9px}#machineTabs{display:flex;gap:8px;justify-content:center;margin-bottom:8px}#machineTabs:empty{display:none}#machineTabs button{font-size:15px;min-height:37px;padding:7px 13px}#machineTabs button.chosen{background:#365f4e;color:#fff1ca}#identify.pulse{animation:pulse 1.4s infinite}#inventory{position:fixed;z-index:12;right:16px;top:105px;display:flex;flex-direction:column;gap:8px;background:#274c40ca;border:1px solid #dac99966;border-radius:17px;padding:8px}#inventory button{position:relative;padding:6px 8px;width:67px;min-height:68px;border:1px solid #d8cba466;color:#ffedc2;background:#3b6456}#inventory b{display:block;font:27px Georgia}#inventory span{font-size:11px}#inventory i{position:absolute;top:2px;right:5px;font-style:normal;font-size:11px;color:#f6d88c}#toast{position:fixed;z-index:60;top:90px;left:50%;transform:translateX(-50%);background:#224d3ee8;color:#ffe8ae;padding:16px 25px;border-radius:14px;border:1px solid #d3b568;max-width:70vw;text-align:center}#dayTransition,#travel{position:fixed;z-index:20;inset:0;background:#142d35ed;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#f7e9c6;text-align:center}#dayTransition h2{font-size:32px}.day-disc{font-size:90px;animation:dayroll 4s linear}.day-progress{width:320px;height:6px;border-radius:8px;background:#53756a}.day-progress i{display:block;height:100%;background:#f3cf82;animation:dayfill 4s linear forwards}#travel video{width:100%;height:100%;object-fit:cover;position:absolute}#travel>div{position:relative;align-self:flex-end;margin:0 7% 40px;padding:24px;background:#183e35b8;border-radius:16px;text-align:left}#travel h1{font:30px/1.5 serif}dialog{border:2px solid #cab17c;background:#fff1d1;color:var(--ink);border-radius:22px;width:min(980px,calc(100vw - 48px));max-height:calc(100dvh - 70px);padding:35px;box-shadow:0 24px 100px #142f37aa}dialog::backdrop{background:#102e30a8;backdrop-filter:blur(3px)}#closeModal{position:absolute;top:9px;right:12px;border:0;background:transparent;font-size:28px;min-height:35px;padding:0 9px;z-index:2}.letter-paper{max-width:620px;margin:auto;padding:26px 30px;background:repeating-linear-gradient(#f8eac6 0 38px,#b5a57d33 39px,#f8eac6 40px);border:1px solid #c6ac77;box-shadow:5px 6px 0 #b79b6733;transform:rotate(-.5deg);font:22px/1.85 'Songti SC',serif}.letter-paper h2{font-size:31px;line-height:1.4}.letter-paper .signature{text-align:right;font-size:18px}.letter-paper button{width:100%;margin-top:10px}.stamp{display:inline-grid;place-items:center;border:3px double #aa6246;border-radius:50%;width:70px;height:70px;color:#995f44;transform:rotate(-12deg);font:16px/1.3 serif}.modal-title{font:30px/1.4 serif;margin:8px 0 20px}.badge-sheet{margin-left:35%;text-align:center;padding:25px;background:#fff1d0e8;border:2px solid #ceb578;border-radius:18px}.badge-sheet .medallion{font-size:76px;color:#ad7b2e}.badge-sheet p{font-size:22px;line-height:1.6}.badge-sheet .primary{width:100%}dialog.portrait{background:transparent;border:0;box-shadow:none;width:min(1000px,95vw)}dialog.portrait::backdrop{background:#1d3b3520;backdrop-filter:none}.shelf-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.item-card{text-align:left;padding:20px;border:1px solid #b4a479;background:#fff7df;border-radius:14px;line-height:1.6}.item-card b{display:block;font-size:21px;margin-bottom:8px}.item-card small{font-size:14px}.notebook{background:#ead7ad;padding:22px;border-radius:10px;box-shadow:inset 19px 0 #71695044;max-width:800px;margin:auto}.report-page{background:#fffaf0;min-height:340px;padding:30px 35px;box-shadow:0 8px 18px #4b4e2d22;transform:rotate(-.4deg);font-size:20px}.report-page h2{font:32px serif;border-bottom:2px solid #627767;padding-bottom:14px}.report-page .report-meta{font-size:14px;line-height:1.8;color:#718173}.lab-line{display:flex;gap:18px;border-bottom:1px dashed #a6af98;padding:17px 0;align-items:center}.lab-line b{margin-left:auto}.positive{color:#ac594a}.negative{color:#456e62}.page-controls{display:flex;justify-content:space-between;align-items:center;margin-top:15px}.report-page .note{font-size:16px;line-height:1.7;margin-top:20px}.film-wrap h2{font:30px serif}.film-wrap svg{display:block;width:100%;height:auto;border-radius:16px;background:#e4ead4}.film-controls{display:flex;gap:12px;align-items:center;margin-top:12px}.film-controls input{flex:1;min-width:0}.film-caption{font-size:23px;line-height:1.6;min-height:72px;margin:15px 0}.film-controls button{font-size:15px}.report-summary{font-size:19px;line-height:1.8}.report-summary table{width:100%;border-collapse:collapse;margin:20px 0;font-size:17px}.report-summary td,.report-summary th{padding:12px;border-bottom:1px solid #c5b98f;text-align:left}.footnote{font-size:12px;line-height:1.6;color:#74816a;margin:12px 0}.route-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.route-list button{text-align:left;font-size:18px}.route-list small{display:block;font-size:12px;opacity:.7;margin-top:6px}[hidden]{display:none!important}@keyframes pulse{50%{box-shadow:0 0 0 8px #e6ba6066,0 0 20px #ffdc81}}@keyframes dayfill{from{width:0}to{width:100%}}@keyframes dayroll{from{transform:rotate(-30deg)}to{transform:rotate(130deg)}}
@media(max-width:760px){header{padding:10px;gap:7px}#home{font-size:12px;padding:8px;min-height:40px}#routeButton{font-size:11px;padding:8px;min-height:40px}#objective{font-size:12px}#inventory{top:78px;right:6px;padding:5px;gap:5px;border-radius:11px}#inventory button{width:46px;min-height:48px;padding:3px}#inventory b{font-size:20px}#inventory span{font-size:9px}.creation{inset:85px 0 12px}.creation h1{font-size:27px}.creation .chapter-kicker{font-size:11px}.avatar-choice{top:46%;width:270px}.avatar-choice button{width:105px}.name-box{width:min(340px,90vw);padding:14px}.story-card{left:7%;top:18%;width:86vw;max-width:none;padding:25px}.story-card h1{font-size:30px}.story-card p:not(.chapter-kicker){font-size:19px}#speech{width:280px;max-width:calc(100vw - 80px);padding:13px 16px;border-radius:16px}#speech p{font-size:18px;line-height:1.55}.speaker{font-size:12px;margin-bottom:5px}#responses{left:10px;right:66px;transform:none;width:auto;bottom:14px;padding:10px;gap:8px;display:block}#responseName{display:none}#responseButtons{gap:8px}#responseButtons .primary{min-width:0;width:100%;font-size:17px;min-height:50px}#responseButtons .secondary{font-size:13px;padding:7px;min-height:33px}#workspaceControls{left:9px;right:65px;transform:none;max-width:none;bottom:12px;padding:10px}#workspaceControls .primary{font-size:16px;min-height:45px;padding:9px 12px}#workspaceControls .secondary{font-size:14px;padding:7px 10px;min-height:38px}.control-buttons{gap:7px}#selectionInfo{font-size:13px}#machineTabs button{font-size:12px;padding:6px 9px}#help{font-size:12px}dialog{padding:28px 15px;width:calc(100vw - 20px);max-height:calc(100dvh - 24px)}.letter-paper{padding:20px 18px;font-size:18px;line-height:1.8}.letter-paper h2{font-size:25px}.shelf-grid{grid-template-columns:1fr 1fr}.item-card{padding:12px}.item-card b{font-size:17px}.badge-sheet{margin-left:0;margin-top:310px;padding:20px}.badge-sheet p{font-size:18px}.badge-sheet .medallion{font-size:42px}.notebook{padding:12px}.report-page{padding:20px 15px;font-size:16px}.report-page h2{font-size:25px}.lab-line{gap:8px}.film-caption{font-size:18px;min-height:100px}.film-controls{flex-wrap:wrap}.film-controls .primary{width:100%;font-size:17px}.route-list{grid-template-columns:1fr}.report-summary{font-size:16px}.report-summary table{font-size:13px}#magicBeat{font-size:19px;width:90%;bottom:25px}#travel>div{margin:0 20px 30px}#travel h1{font-size:22px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

#randomName{min-width:82px;padding:10px;white-space:nowrap}body[data-phase=lesson] #objective,body[data-phase=mystery] #objective{display:none}
.letter-paper{padding:20px 28px;font-size:21px;line-height:1.65}.letter-paper p{margin-bottom:14px}.letter-paper h2{font-size:28px;margin-bottom:20px}.letter-paper .signature{position:relative;padding-right:82px;min-height:60px;display:flex;flex-direction:column;justify-content:center}.letter-paper .stamp{position:absolute;right:0;top:0;width:62px;height:62px}.letter-paper button{font-family:'PingFang SC',sans-serif}
body[data-phase=lucky] #speech,body[data-phase=coin] #speech{width:340px}
.film-wrap svg{height:min(50dvh,410px);width:100%}.film-wrap h2{font-size:28px;margin-bottom:15px}.film-caption{min-height:64px;font-size:22px;margin:12px 0}.film-controls{margin-top:8px}
.notebook{padding:18px}.report-page{padding:24px 30px}.lab-line b{font-size:25px;border:2px solid currentColor;padding:6px 12px;transform:rotate(-4deg);white-space:nowrap}.report-page{animation:page-open .28s ease-out;transform-origin:left center}@keyframes page-open{from{opacity:.4;transform:perspective(900px) rotateY(-8deg)}to{opacity:1;transform:rotate(-.4deg)}}#keepReport{position:sticky;bottom:0;z-index:3}
.story-card h1{white-space:pre-line}
@media(min-width:761px) and (max-width:1100px){body[data-phase=lucky] #speech,body[data-phase=coin] #speech{width:300px}}
/* v5.2: paced dialogue, an in-world award, and the final expedition. */
header{gap:12px}#objective{flex:1;font-size:20px}#soundButton,#sfxButton{font-size:13px;padding:10px 12px}#speech,body[data-phase=lucky] #speech,body[data-phase=coin] #speech{width:410px;padding:20px 25px;min-height:142px}#speech p{font-size:27px;line-height:1.55;min-height:84px}.speaker{font-size:17px;letter-spacing:1px}#speech.arriving{animation:dialog-arrive .38s ease-out}.speech-tail{top:52%}#responses{width:min(1000px,calc(100vw - 190px));padding:18px 24px;gap:30px;bottom:24px;background:#183f36ef;align-items:flex-end}#playerReply{flex:1;min-width:0;opacity:0;transform:translateY(7px);transition:opacity .35s,transform .35s}#playerReply.ready{opacity:1;transform:none}#responseName{display:block;font-size:16px;line-height:1.4;color:#e1bd70;margin-bottom:7px}#playerSpeech{margin:0;color:#fff4d8;font-size:26px;line-height:1.5}#responseButtons{width:auto;flex:0 0 auto}#responseButtons .primary{min-width:178px;font-size:21px}#workspaceControls{padding:15px 22px;min-width:440px}#selectionInfo{font-size:19px}#machineTabs button{font-size:18px;min-height:43px}#evidenceLegend{display:flex;gap:20px;justify-content:center;font-size:15px;margin-bottom:8px}#evidenceLegend span:first-child{color:#557969}#evidenceLegend span:last-child{color:#9f7735}.control-buttons .small-link{font-size:16px}#gridGuide{position:fixed;z-index:6;right:115px;top:27%;width:265px;padding:20px;background:#f7efd4ef;border:1px solid #bcaa74;border-radius:16px;box-shadow:0 8px 24px #193c3429}#gridGuide b{font-size:20px;display:block;margin-bottom:15px}#gridGuide span{display:block;font-size:19px;line-height:1.8}.row-key{color:#297d8e}.col-key{color:#99711f}
#collectSprite{position:fixed;z-index:80;top:48%;left:50%;width:120px;height:100px;border-radius:20px;display:grid;place-items:center;background:#fff1c8;color:#7b6236;border:3px solid #e2be6c;box-shadow:0 0 60px #ffe0a8;transform:translate(-50%,-50%);font:64px Georgia;pointer-events:none}.flying{animation:fly-to-inventory .95s cubic-bezier(.45,0,.3,1) forwards}#inventory .received{animation:received .8s ease-out}.worn-badges{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.worn-badges span{padding:8px 12px;font-size:17px;border-radius:10px;border:1px solid #b1a07a;background:#e9d3ad}.worn-badges .tier-2{background:#dae4df}.worn-badges .tier-3{background:#ffe4a1;border-color:#c49544}
dialog.award-scene,dialog.mission-scene{background:transparent;border:0;box-shadow:none;width:min(900px,95vw);max-height:95dvh;overflow:visible}dialog.award-scene::backdrop{background:#102c3455;backdrop-filter:none}.award-space{height:260px}.award-caption{margin:auto;text-align:center;background:linear-gradient(120deg,#fff1d2f5,#eddfbcec);border:2px solid #d9b769;border-radius:24px;max-width:660px;padding:24px 35px;box-shadow:0 10px 50px #19372b55;animation:dialog-arrive .6s ease-out}.award-caption h2{font:36px/1.5 'Songti SC',serif;margin:8px 0}.award-caption p:not(.chapter-kicker){font-size:21px;line-height:1.6}.award-caption .primary{min-width:280px}.award-scene #closeModal{color:#ffe9b6;top:0}.mission-card{width:min(680px,90vw);margin:auto;text-align:center;padding:40px;background:linear-gradient(135deg,#fff4d8f2,#dce6cdea);border:2px solid #d4b56f;border-radius:26px;box-shadow:0 0 80px #eed29044;animation:mission-arrive .8s ease-out}.mission-seal{display:inline-grid;place-items:center;width:90px;height:90px;border:4px double #b48b43;border-radius:50%;font:52px Georgia;color:#ae823c;margin-bottom:22px}.mission-card h2{font:36px/1.45 'Songti SC',serif}.mission-card>p:not(.chapter-kicker){font-size:24px;line-height:1.7}.mission-card .primary{min-width:260px}.mission-scene #closeModal{color:#ffe6ad}.choice-copy{font-size:24px;line-height:1.8}.choice-actions{display:flex;justify-content:space-between;gap:20px;align-items:center}.choice-actions .primary{margin-left:auto}#bossVignette{position:fixed;inset:0;z-index:2;pointer-events:none;box-shadow:inset 0 0 150px #822f3777;border:3px solid #d9785744;animation:boss-breathe 3s ease-in-out infinite}body[data-phase=fleet] header{background:linear-gradient(#172c46dc,transparent)}body[data-phase=fleet] #objective{color:#ffe5b0}body[data-phase=fleet] .mission-card{background:linear-gradient(135deg,#203d49f5,#395358f5);color:#ffebc5;border-color:#d49a65}body[data-phase=fleet] .mission-card .chapter-kicker{color:#edbb88}body[data-phase=fleet] .mission-seal{color:#ffda8f;border-color:#d9ab70}body[data-phase=fleet] .mission-card .primary{background:#955d42;border-color:#d9aa73}.film-caption{font-size:27px;line-height:1.6;min-height:85px}.film-wrap h2{font-size:31px}.film-wrap svg{height:min(48dvh,430px)}.film-controls button{font-size:18px}.film-controls .primary{font-size:20px}.report-page{font-size:23px}.report-page .note{font-size:20px}.report-page .report-meta{font-size:16px}
dialog.finale{position:fixed;inset:20px 30px;width:auto;height:calc(100dvh - 40px);max-height:none;margin:0;padding:0;background:#ede5ca}.finale #closeModal{position:fixed;right:47px;top:28px}.finale .credits-scroll{height:calc(100dvh - 130px);overflow-y:auto;padding:0 max(30px,calc((100vw - 1060px)/2));scrollbar-width:thin;mask-image:linear-gradient(transparent,#000 4%,#000 97%,transparent)}.finale .report-dock{position:absolute;bottom:0;left:0;right:0;border-top:1px solid #c5b383;min-height:90px}.keepsake #rollToggle{display:none}.finale #rollToggle{display:block}
@keyframes dialog-arrive{from{opacity:0;filter:blur(3px);transform:translateY(12px) scale(.96)}to{opacity:1;filter:none;transform:none}}@keyframes fly-to-inventory{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}18%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}80%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--collect-x)),calc(-50% + var(--collect-y))) scale(.12)}}@keyframes received{40%{box-shadow:0 0 0 9px #ffe6a53f,0 0 40px #f7d68b;transform:scale(1.13)}}@keyframes mission-arrive{from{opacity:0;transform:translateY(30px) scale(.94)}to{opacity:1;transform:none}}@keyframes boss-breathe{50%{box-shadow:inset 0 0 180px #79394499}}
@media(min-width:761px) and (max-width:1100px){#speech,body[data-phase=lucky] #speech,body[data-phase=coin] #speech{width:335px;padding:16px 20px}#speech p{font-size:24px}#playerSpeech{font-size:23px}#responses{width:calc(100vw - 145px)}#gridGuide{width:225px;right:103px;top:24%;padding:15px}#gridGuide span{font-size:17px}}
@media(max-width:760px){header{gap:5px;padding:9px}#objective{font-size:12px}#soundButton,#sfxButton{font-size:11px;padding:7px;min-height:38px}#speech,body[data-phase=lucky] #speech,body[data-phase=coin] #speech{width:295px;max-width:calc(100vw - 90px);padding:14px 18px;min-height:110px}#speech p{font-size:21px;min-height:65px}.speaker{font-size:15px}#responses{left:10px;right:66px;width:auto;bottom:12px;padding:13px;gap:10px;display:flex;align-items:center}#responseName{font-size:13px}#playerSpeech{font-size:20px}#responseButtons .primary{font-size:16px;min-width:100px;width:auto;padding:9px}#workspaceControls{min-width:0;padding:12px}#selectionInfo{font-size:15px}#machineTabs button{font-size:15px}#evidenceLegend{font-size:13px}.control-buttons .small-link{font-size:14px}#gridGuide{right:70px;top:24%;width:190px;padding:12px}#gridGuide b{font-size:17px}#gridGuide span{font-size:15px}.award-space{height:210px}.award-caption{padding:18px}.award-caption h2{font-size:29px}.award-caption p:not(.chapter-kicker){font-size:18px}.mission-card{padding:28px 20px}.mission-card h2{font-size:28px}.mission-card>p:not(.chapter-kicker){font-size:21px}.choice-actions{flex-wrap:wrap}.film-caption{font-size:22px}.film-wrap h2{font-size:25px}.film-controls button{font-size:15px}.report-page{font-size:19px}.report-page .note{font-size:17px}dialog.finale{inset:8px;width:calc(100vw - 16px);height:calc(100dvh - 16px)}.finale .credits-scroll{padding:0 18px;height:calc(100dvh - 115px)}.finale #closeModal{top:12px;right:20px}.finale .report-dock{padding:12px;min-height:85px}.report-dock .primary{font-size:17px}}
@media(prefers-reduced-motion:reduce){.flying{animation:fly-to-inventory .2s linear!important}#speech.arriving{animation:none}}

.keepsake{color:#284e44;font-family:'PingFang SC',sans-serif}.report-cover{text-align:center;padding:40px 20px 60px}.report-cover .laurel{font:80px Georgia;color:#b58a43}.report-cover h2{font:42px/1.4 'Songti SC',serif}.report-cover .lead{font-size:24px;line-height:1.8}.report-stats{display:flex;gap:15px;justify-content:center;margin:30px 0}.report-stats>div{padding:15px 25px;border-top:1px solid #bd9e60;border-bottom:1px solid #bd9e60}.report-stats b{display:block;font:42px Georgia;color:#9d7435}.report-stats span{font-size:16px}.method-cards{display:grid;grid-template-columns:1fr 1fr;gap:24px}.method-card{background:linear-gradient(145deg,#fff9e7,#f0e3bd);border:1px solid #c8b37b;border-radius:20px;padding:28px;position:relative;box-shadow:0 8px 20px #33473412;break-inside:avoid}.method-card:nth-child(2n){background:linear-gradient(145deg,#eaf0dc,#d7e4cf)}.method-card .method-no{font:40px Georgia;color:#ba9b60;opacity:.6}.method-card h3{font:28px/1.4 'Songti SC',serif;margin:8px 0}.method-card .method-diagram{white-space:pre-line;font:bold 32px/1.5 Georgia;color:#426d5b;margin:24px 0;text-align:center;padding:20px 0;border-top:1px solid #aeb694;border-bottom:1px solid #aeb694}.method-card p{font-size:19px;line-height:1.7}.method-card small{font-size:15px;line-height:1.6}.method-card.locked{opacity:.48}.report-badges{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:35px 0}.report-badges span{padding:10px 16px;border:1px solid #b7924b;border-radius:30px;background:#f6e4b4}.record-title{text-align:center;font:30px serif;margin:65px 0 25px}.attempt-cards{display:grid;gap:12px}.attempt-card{display:flex;align-items:center;gap:20px;padding:20px;border-left:3px solid #bd9e60;background:#ffffff66}.attempt-card strong{flex:1}.attempt-card span{font-size:15px}.attempt-card b{font:26px Georgia;white-space:nowrap}.report-farewell{text-align:center;padding:90px 20px}.report-farewell h3{font:36px/1.8 serif}.report-farewell p{font-size:22px;line-height:1.9}.report-dock{display:flex;justify-content:center;gap:16px;padding:20px;background:#e9dfc1}.report-footnote{font-size:12px;line-height:1.8;color:#75816b;margin-top:35px} @media(max-width:760px){.method-cards{grid-template-columns:1fr}.report-cover h2{font-size:32px}.report-cover .lead{font-size:20px}.report-stats>div{padding:12px}.attempt-card{flex-wrap:wrap}.report-farewell{padding:50px 10px}}

#gridGuide{top:auto;bottom:180px}.award-caption{background:linear-gradient(120deg,#fff1d2,#eddfbc)}@media(max-width:1100px){#gridGuide{top:auto;bottom:200px}}@media(max-width:760px){#gridGuide{top:auto;bottom:205px}}
/* v5.2: readable horizontal conversation, quiet response beats, corner travel controls. */
#speech,body[data-phase=lucky] #speech,body[data-phase=coin] #speech{width:490px;max-width:calc(100vw - 140px);min-height:120px;padding:19px 26px;border-radius:22px;background:linear-gradient(120deg,#fff8e1,#f2e1b9);box-shadow:0 12px 35px #122f3a44,inset 0 0 0 4px #fff9e33d}
#speech p{font-size:28px;line-height:1.55;min-height:70px}.speaker{font-size:18px;margin-bottom:7px}#responseButtons button:disabled{opacity:.78;background:#315447;color:#e0d5b2;border-color:#839779;box-shadow:none}#playerSpeech{min-height:39px}#responses{align-items:center}#evidenceLegend span:last-child{color:#b54443}
#machineTabs button{border:2px solid #b3bea1}#machineTabs button.chosen{background:#ffe3a1;color:#294d40;border:3px solid #b88935;box-shadow:0 0 0 4px #ffedba66;font-weight:700}#clear{white-space:nowrap}#confirmGroup{min-width:235px}
#travel .travel-corner{position:absolute;right:35px;bottom:28px;left:auto;top:auto;align-self:auto;margin:0;padding:18px 22px;max-width:480px;background:#143b3ccc;border:1px solid #e7d09366;border-radius:18px;z-index:2;text-align:right}#travel .travel-corner p{font-size:14px;letter-spacing:2px;margin-bottom:9px}#travel .travel-corner h1{font:22px/1.5 'Songti SC',serif;margin-bottom:15px}#travel .travel-corner button{font-size:19px;min-height:52px}
#travel #returnPortal{position:absolute;inset:0;margin:0;padding:0;display:grid;place-items:center;overflow:hidden;border-radius:0;background:radial-gradient(ellipse at 50% 44%,#eddfb6 0,#638d80 18%,#1b484c 44%,#102a35 78%);text-align:center;align-self:stretch;perspective:800px}#returnPortal i{position:absolute;width:43vmin;height:54vmin;border:3px solid #ffe3a9;border-radius:45%;box-shadow:0 0 30px #f9db9b,inset 0 0 35px #f9db9b55;animation:return-gate 5s ease-in-out infinite}#returnPortal i:nth-child(2){animation-delay:-1.7s;border-color:#a3e7db}#returnPortal i:nth-child(3){animation-delay:-3.4s}#returnPortal span{position:absolute;bottom:20%;font:26px/1.6 'Songti SC',serif;letter-spacing:3px;text-shadow:0 2px 12px #173e40;animation:dialog-arrive 1.4s ease-out}
#discoverySketch{position:fixed;z-index:7;left:30px;top:38%;width:min(580px,44vw);filter:drop-shadow(0 12px 28px #16383455);animation:dialog-arrive .5s ease-out;pointer-events:none}#discoverySketch svg{width:100%;height:auto;display:block;border:2px solid #dfc07b;border-radius:24px}
@keyframes return-gate{0%{transform:translateZ(-450px) rotate(-25deg);opacity:0}30%{opacity:.9}100%{transform:translateZ(350px) rotate(70deg);opacity:0}}
@media(min-width:761px) and (max-width:1100px){#speech,body[data-phase=lucky] #speech,body[data-phase=coin] #speech{width:440px;padding:16px 22px}#speech p{font-size:25px}}
@media(max-width:760px){#speech,body[data-phase=lucky] #speech,body[data-phase=coin] #speech{width:350px;max-width:calc(100vw - 90px);padding:13px 18px;min-height:108px}#speech p{font-size:22px}.speaker{font-size:16px}#travel .travel-corner{right:14px;bottom:15px;max-width:80vw;padding:13px 17px}#travel .travel-corner h1{font-size:19px}#travel .travel-corner button{font-size:17px}#returnPortal span{font-size:21px;bottom:27%}#discoverySketch{top:45%;left:10px;width:calc(100vw - 80px)}}
@media(prefers-reduced-motion:reduce){#returnPortal i{animation:none;transform:rotate(15deg)}#returnPortal i:nth-child(2){transform:rotate(45deg)}#returnPortal i:nth-child(3){transform:rotate(75deg)}}

body[data-phase=lucky] #speech,body[data-phase=coin] #speech{width:min(400px,32vw)}#speech.below-spirit .speech-tail{left:45%;right:auto;top:-10px;transform:rotate(135deg)}@media(max-width:900px){body[data-phase=lucky] #speech,body[data-phase=coin] #speech{width:300px}}

@media(min-width:1101px){#gridGuide{bottom:140px}}

#speech.pair-scene{width:490px}
/* v5.3 micro-adjustments: quiet listening state, prominent pan clear, clean lab slip, no travel skip button. */
#responses{transition:opacity .26s ease,transform .26s ease}#responses.listening{opacity:0;pointer-events:none;transform:translate(-50%,8px)}@media(max-width:760px){#responses.listening{transform:translateY(8px)}}
#clear.clear-prominent{background:linear-gradient(180deg,#ffecaf,#f2c665);color:#24483b;border:2px solid #b3822c;box-shadow:0 4px 0 #89611d,0 0 18px #ffdf8e88;font-weight:700;font-size:19px;min-height:52px;padding:11px 22px}#clear.clear-after-weigh{animation:pulse 1.5s infinite}
.report-page{min-height:auto;padding:22px 28px;border:1px solid #d5caa9}.report-header{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:14px;color:#66786a;border-bottom:1px solid #d2cbb4;padding-bottom:8px;margin-bottom:10px}.report-page h2{font:28px/1.3 'Songti SC',serif;margin:0 0 8px;padding-bottom:10px;border-bottom:2px solid #597262;text-align:center;letter-spacing:2px}.lab-line{display:flex;gap:16px;border-bottom:1px dashed #b9c2ad;padding:14px 4px;align-items:center;justify-content:space-between}.lab-line-info{display:flex;flex-direction:column;gap:8px;flex:1;min-width:0}.lab-line-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.lab-machine{display:inline-block;font-size:13px;font-weight:700;background:#355d4e;color:#fff4d4;padding:3px 10px;border-radius:6px}.lab-line-info strong{font-size:19px;color:#26483b}.report-tubes{display:flex;flex-wrap:wrap;gap:10px;padding:8px 4px 2px}.mini-tube{position:relative;width:36px;height:54px;border-radius:4px 4px 16px 16px;border:2px solid #587b6f;background:linear-gradient(180deg,#e9f5f2 0 32%,#bf4946 32% 100%);display:inline-flex;align-items:flex-end;justify-content:center;padding-bottom:5px;box-shadow:inset 3px 0 0 #ffffff80,0 3px 6px #1c3a3126}.mini-tube i{position:absolute;top:-6px;left:-3px;right:-3px;height:8px;border-radius:3px;background:#2f5447}.mini-tube b{color:#fff9e6;font:700 17px/1 'PingFang SC',sans-serif;border:0!important;padding:0!important;transform:none!important;margin:0!important;text-shadow:0 1px 2px #521a18}.mini-tube em{position:absolute;top:-9px;right:-9px;width:19px;height:19px;border-radius:50%;font:normal 700 12px/19px sans-serif;text-align:center;box-shadow:0 1px 3px #0004}.mini-tube.neg{opacity:.88;border-color:#6ca188}.mini-tube.neg em{background:#dff2d8;color:#2b6a48;border:1px solid #7ab392}.mini-tube.pos{border-color:#d88b4b;box-shadow:0 0 0 3px #f6cf7e55,inset 3px 0 0 #ffffff80}.mini-tube.pos em{background:#fff0d4;color:#b24038;border:1px solid #cf6b5c}.lab-line-info small{font-size:15px;font-weight:600}.pos-hint{color:#a84c3d}.neg-hint{color:#416d5e}.report-footer{display:flex;justify-content:space-between;font-size:13px;color:#788678;margin-top:12px;padding-top:6px}
.route-header{text-align:center;margin-bottom:16px}.route-header .modal-title{margin:4px 0 8px}.route-header p{font-size:16px;color:#52695b;margin:0}.route-timeline{position:relative;display:flex;flex-direction:column;gap:22px;max-height:calc(100dvh - 250px);overflow-y:auto;padding:12px 14px 16px 8px;overscroll-behavior:contain}.timeline-card{position:relative;flex:0 0 auto;flex-shrink:0;display:flex;align-items:center;gap:22px;width:100%;min-height:136px;text-align:left;padding:20px 24px;border-radius:20px;background:linear-gradient(135deg,#fffaf0,#f3e7c8);border:2px solid #cbb682;box-shadow:0 8px 22px #1d3c3316;transition:transform .16s,box-shadow .16s,border-color .16s}.timeline-card:not(:first-child)::before{content:'';position:absolute;left:43px;top:-26px;bottom:50%;width:4px;background:#cbb682;z-index:1}.timeline-card:not(:last-child)::after{content:'';position:absolute;left:43px;top:50%;bottom:-4px;width:4px;background:#cbb682;z-index:1}.timeline-card.visited:not(:first-child)::before,.timeline-card.visited:not(:last-child)::after{background:linear-gradient(180deg,#3a6655,#c69740)}.timeline-card:hover{transform:translateY(-2px);border-color:#b58938;box-shadow:0 12px 26px #1d3c3329}.timeline-card.current{background:linear-gradient(135deg,#fff7df,#e2f0dd);border:3px solid #356856;box-shadow:0 0 0 4px #8cd4b94d,0 12px 28px #1b413533}.timeline-card.efficient{border-color:#c4933b}.timeline-card.unvisited{opacity:.82;background:#f5eedc}.tl-rail{position:relative;z-index:2;flex:0 0 42px;display:grid;place-items:center}.tl-dot{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font:normal 700 16px/1 sans-serif;background:#e5d8b5;color:#4a6054;border:2.5px solid #a8966b;box-shadow:0 3px 8px #0002}.timeline-card.visited .tl-dot{background:#3a6655;color:#fff4d2;border-color:#e2c37c}.timeline-card.efficient .tl-dot{background:linear-gradient(135deg,#f7d47c,#c48e31);color:#254236;border-color:#fff2c2;box-shadow:0 0 14px #f2ca6d99}.timeline-card.current .tl-dot{animation:pulse 1.5s infinite}.tl-main{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:8px}.tl-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tl-step{font:normal 700 13px/1.3 sans-serif;letter-spacing:1.2px;color:#8c6e3b;background:#efe2be;padding:3px 10px;border-radius:8px}.tl-title{font:700 23px/1.35 'Songti SC',serif;color:#214438;display:block;margin:0}.tl-desc{font-size:16px;color:#496154;line-height:1.5;display:block}.tl-badge{display:inline-block;font-size:13px;font-weight:600;padding:3px 11px;border-radius:20px;background:#e4dbc0;color:#355447}.timeline-card.efficient .tl-badge{background:#ffe5a3;color:#6e4b16;border:1px solid #d1a34b}.timeline-card.current .tl-badge{background:#345f4f;color:#fff3d1}.tl-shot{position:relative;flex:0 0 168px;height:100px;border-radius:14px;overflow:hidden;border:2px solid #c9b279;background:#244449;box-shadow:0 4px 14px #142f342e}.timeline-card.unvisited .tl-shot svg{filter:grayscale(.6) brightness(.88)}.tl-shot svg{width:100%;height:100%;display:block}.tl-shot-tag{position:absolute;right:6px;bottom:5px;font:normal 600 11px/1.2 sans-serif;padding:3px 7px;border-radius:6px;background:#14332de0;color:#ffedc0}.route-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin-top:12px;padding-top:8px;border-top:1px solid #d5c59c}.route-footer .footnote{margin:0}@media(max-width:760px){.route-timeline{gap:16px;max-height:calc(100dvh - 210px)}.timeline-card{flex-wrap:wrap;gap:12px;padding:16px;min-height:auto}.timeline-card:not(:first-child)::before,.timeline-card:not(:last-child)::after{display:none}.tl-shot{flex:0 0 124px;height:76px}.tl-title{font-size:19px}.tl-desc{font-size:14px}}
#skipTravel{display:none!important}#travel .travel-corner h1{margin-bottom:0}
dialog.film-dialog{width:min(1760px,98vw);max-height:97dvh;padding:14px 22px;background:#fff5dd}
.film-head-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px;padding-right:36px}
.film-head-row h2{margin:0!important;font:700 28px/1.25 'Songti SC',serif}
.film-fullscreen{min-height:36px;padding:6px 14px;font-size:14px;font-weight:700;border-radius:10px;background:#eaf1ec;color:#1d5245;border:1.5px solid #96b5a9}
.modern-chap-bar{display:flex;gap:10px;margin-bottom:6px;flex-wrap:wrap}.chap-pill{min-height:34px;padding:5px 14px;border-radius:999px;font-size:14px;font-weight:700;background:#eef4f1;color:#1d5558;border:1.5px solid #9abec0}.chap-pill.active{background:#0f5257;color:#fff6dd;border-color:#df8a1e;box-shadow:0 2px 10px #0f525733}
.film-wrap canvas{display:block;width:100%;height:auto;max-height:min(76dvh,820px);aspect-ratio:16/9;object-fit:contain;border-radius:18px;background:#f8f5ee;border:2px solid #c6b689;box-shadow:0 12px 32px #1836302b;cursor:pointer}
.film-wrap:fullscreen,.film-wrap:-webkit-full-screen{background:#182b27;padding:18px 28px;display:flex;flex-direction:column;justify-content:center;color:#fff6df}
.film-wrap:fullscreen .film-head-row h2,.film-wrap:-webkit-full-screen .film-head-row h2{color:#fff6df}
.film-wrap:fullscreen canvas,.film-wrap:-webkit-full-screen canvas{max-height:calc(100dvh - 160px);border-color:#d8b872}
.film-wrap:fullscreen .film-caption,.film-wrap:-webkit-full-screen .film-caption{color:#fff4d4}
.film-caption,.modern-film .film-caption{font-size:21px;line-height:1.45;min-height:42px;margin:8px 0}
.cutscene-embed{position:relative}
.cutscene-embed canvas{max-height:min(86dvh,900px)}
.cutscene-skip{position:absolute;right:20px;bottom:20px;z-index:5;background:#1c3d35d9;color:#fff3d1;border:1.5px solid #e0be7599;border-radius:999px;padding:10px 20px;font-size:16px;font-weight:600;backdrop-filter:blur(6px)}
#speech.side-spirit{border-color:#d7b05f;box-shadow:0 14px 34px #18393138}
#speech.tail-left .speech-tail{left:-10px;right:auto;top:48%;transform:rotate(45deg)}
@media(max-width:760px){dialog.film-dialog{width:calc(100vw - 10px);padding:12px 10px}.film-head-row h2{font-size:20px}.film-wrap canvas{max-height:60dvh}}

#soundButton[aria-pressed=false],#sfxButton[aria-pressed=false]{opacity:.68;background:#19352cd9;color:#cbbba0;border-color:#7d8f7855}
