@charset "UTF-8";
:root{font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;color:#435b57;background:#eeebe3;font-synthesis:none;--ink:#435b57;--muted:#82908a;--coral:#b97463;--green:#698f84;--line:#8ca18b29;--paper:#faf8eff2;--serif:"Noto Serif SC","Songti SC","STSong","SimSun",serif}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{min-width:900px;min-height:600px;background:radial-gradient(ellipse at 76% 42%,#edf1eb 0,transparent 49%),radial-gradient(ellipse at 43% 96%,#dfebe7 0,transparent 43%),linear-gradient(135deg,#f4eee5,#e9e7e1 65%,#ece1dd)}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,#scene:focus-visible{outline:2px solid #8caaa0;outline-offset:4px}button,svg{flex-shrink:0}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}button{transition:background .2s,border-color .2s,color .2s,opacity .2s,transform .2s}[hidden]{display:none!important}.svg-library{position:absolute;width:0;height:0;overflow:hidden}.sky-orb{position:fixed;border:1px solid #718e820c;border-radius:50%;pointer-events:none}.orb-one{width:740px;height:740px;left:38%;top:8%}.orb-two{width:900px;height:900px;left:32%;top:-2%}

/* A quiet desktop frame leaves the central architecture unobstructed. */
.topbar{position:absolute;inset:0 0 auto;z-index:12;display:flex;justify-content:space-between;align-items:center;gap:20px;height:88px;padding:0 30px;border-bottom:1px solid #8ca18b18;background:linear-gradient(#f1ede4c9,#f1ede400)}.brand{display:flex;gap:11px;align-items:center;color:var(--ink);text-decoration:none;width:154px}.brand>svg{width:32px;height:32px;stroke:#6b9286;stroke-width:1.3}.brand>span{font-family:var(--serif);font-size:21px;letter-spacing:6px}.brand small{display:block;font-family:system-ui,sans-serif;font-size:7px;letter-spacing:2.4px;margin-top:5px;opacity:.65}.top-actions{display:flex;align-items:center;gap:9px}.icon-button{display:grid;place-items:center;background:#faf8f04d;border:1px solid #83998a30;border-radius:50%;width:38px;height:38px}.icon-button svg{width:18px;height:18px}.icon-button:hover{background:#fff9;transform:translateY(-2px)}.icon-button.active{background:#78988a;color:#fff}.view-nav{display:flex;align-items:center;gap:4px;padding:5px;border:1px solid #83998a25;border-radius:28px;background:#fbfbf34d}.view-label{font-size:9px;color:#96a092;letter-spacing:1px;padding:0 8px 0 12px}.view-nav button{height:30px;display:flex;align-items:center;gap:6px;padding:0 12px;background:transparent;border:1px solid transparent;border-radius:20px;font-size:11px;color:#849385;white-space:nowrap}.view-nav button:hover{background:#fff9;color:#57766a}.view-nav button.active,.view-nav button[aria-pressed=true]{background:#7c9b8a;color:#fff9e9;box-shadow:0 2px 8px #6c897d15}.view-nav kbd{font-family:Georgia,serif;font-size:10px;opacity:.62}.nav-divider{height:17px;width:1px;background:#96a38c3b;margin:0 4px}.view-nav .follow-button{padding:0 11px}.follow-button svg{width:17px;height:17px}

main{position:absolute;inset:0}#scene{position:absolute;inset:88px 24px 122px 276px;z-index:1;outline-offset:-7px}#scene canvas{display:block;width:100%;height:100%;touch-action:none}.intro{position:absolute;z-index:3;left:40px;top:23%;width:222px;transition:opacity .6s,transform .6s}.eyebrow{display:flex;gap:9px;align-items:center;font-size:9px;letter-spacing:2px;color:#8b968c}.eyebrow>span{width:16px;height:1px;background:#a5b0a5}.intro h1{font-family:var(--serif);font-size:80px;font-weight:400;letter-spacing:12px;line-height:1.2;margin:24px 0 15px;color:#47665e}.intro h1 span{color:#6d9082}.intro-english{font-family:Georgia,serif;font-size:11px;line-height:1.8;letter-spacing:2.7px;color:#85978c}.intro-copy{font-family:var(--serif);font-size:12px;line-height:2.1;letter-spacing:1px;color:#7c8b80;margin:25px 0 26px}.primary-button{display:flex;align-items:center;justify-content:space-between;gap:30px;background:#b87867;color:#fff6eb;border:1px solid #b87867;padding:14px 21px;border-radius:4px;letter-spacing:2px;font-size:12px;box-shadow:0 6px 22px #a97b5d16}.primary-button:hover{background:#a96c5c;transform:translateY(-2px)}.primary-button svg{width:18px;height:18px}.primary-button:disabled{opacity:.45}.intro-note{display:block;font-size:8px;letter-spacing:1px;color:#97a197;margin-top:19px}.playing .intro{opacity:0;transform:translateX(-12px);pointer-events:none}

.chapter-panel{visibility:hidden;position:absolute;left:30px;top:120px;bottom:97px;width:218px;z-index:4;opacity:0;transform:translateY(10px);transition:opacity .6s,transform .6s;pointer-events:none;overflow:auto;scrollbar-width:thin;scrollbar-color:#abb8a95e transparent;padding:2px 10px 14px 0}.playing .chapter-panel{visibility:visible;opacity:1;transform:none;pointer-events:auto}.journal-heading{display:flex;gap:12px;align-items:center}.chapter-number{font-family:Georgia,serif;font-size:34px;line-height:1;color:#8da295}.journal-heading>span:last-child{font-family:Georgia,serif;font-size:7px;letter-spacing:1.6px;line-height:1.8;color:#9aa690}.journal-heading b{font-family:system-ui,sans-serif;font-weight:400;font-size:9px;letter-spacing:3px;color:#879b88}.chapter-panel h2{font-family:var(--serif);font-weight:400;font-size:28px;letter-spacing:4px;margin:22px 0 13px;white-space:nowrap}.chapter-intro{font-size:11px;line-height:2.1;color:#8c9a89;letter-spacing:.8px;margin:0}.objective{margin-top:27px;border-top:1px solid var(--line);padding-top:20px}.section-label{display:flex;align-items:center;gap:7px;font-size:9px;letter-spacing:2px;color:#97a18e}.section-label i{width:4px;height:4px;border-radius:50%;background:#96ae91}.objective h3{font-weight:500;font-size:13px;line-height:1.7;letter-spacing:1px;margin:11px 0 7px;color:#657e69}.objective p{font-size:10px;line-height:1.95;letter-spacing:.4px;color:#91a08b;margin:0}.journal-status{margin-top:22px}.journal-row{display:flex;align-items:center;gap:9px;min-height:34px;font-size:10px;line-height:1.5}.status-icon{display:flex;align-items:center;color:#8ca18b;flex:0 0 20px}.status-icon svg{width:17px;height:17px;stroke-width:1.2}.status-name{letter-spacing:1px;color:#839580;white-space:nowrap}.status-value{margin-left:auto;color:#a0a994;text-align:right;font-size:9px;max-width:104px}.journal-row.complete .status-icon,.journal-row.complete .status-name,.journal-row.complete .status-value{color:#6a947b}.journal-row.complete .sun-icon{color:#bd9a57}.journal-row.complete .moon-icon{color:#8995b6}.journal-divider{height:1px;background:var(--line);margin:9px 0}.hint-area{margin-top:24px}.hint-button{width:100%;display:flex;align-items:center;gap:8px;padding:11px 0;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:10px;letter-spacing:1px;color:#8c9c85;background:none;text-align:left}.hint-button svg{width:15px;height:15px}.hint-button>span{margin-left:auto;font-size:16px;line-height:1;color:#a0ae98}.hint-button:hover{color:#5b7d67;background:#fff7}.hint-text{font-size:10px;color:#85977c;line-height:1.95;padding:11px 12px;margin:9px 0 0;background:#f7f7e9a6;border-left:2px solid #a6b99a;border-radius:0 3px 3px 0}.journal-footnote{display:flex;align-items:center;gap:8px;font-size:8px;letter-spacing:.3px;line-height:1.6;color:#a4ae99;margin-top:20px}.tiny-diamond{width:5px;height:5px;border:1px solid #8aa18c;transform:rotate(45deg);flex-shrink:0}

body:not(.playing) .mechanism-markers{visibility:hidden}.mechanism-markers{position:absolute;inset:0;z-index:6;pointer-events:none;overflow:hidden}.mechanism-markers button{position:absolute;pointer-events:auto;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;gap:6px;min-width:32px;min-height:32px;padding:6px 10px;background:#fcfaf0eb;border:1px solid #97b09a8c;border-radius:30px;box-shadow:0 3px 16px #58776116;color:#708c73;font-size:10px;letter-spacing:.5px;white-space:nowrap;backdrop-filter:blur(7px)}.mechanism-markers button:hover,.mechanism-markers button.active{background:#789b86;color:#fff9eb;border-color:#789b86;box-shadow:0 4px 18px #58776125}.mechanism-markers button:disabled{opacity:.42}.mechanism-markers button svg{width:17px;height:17px}.marker-symbol{display:grid;place-items:center;font-family:Georgia,serif;font-size:17px;line-height:1;width:19px;height:19px}.marker-label{font-size:9px;letter-spacing:.7px;max-width:0;opacity:0;overflow:hidden;transition:max-width .2s,opacity .2s}.mechanism-marker:hover .marker-label,.mechanism-marker:focus-visible .marker-label,.mechanism-marker.active .marker-label{max-width:100px;opacity:1}.mechanism-marker[data-kind=statue] .marker-symbol{color:#b59a64}.mechanism-marker[data-kind=lift] .marker-symbol{color:#7d9c8d}.mechanism-marker[data-kind=slide1] .marker-symbol,.mechanism-marker[data-kind=slide2] .marker-symbol{color:#a48c9e}.mechanism-marker:hover .marker-symbol,.mechanism-marker.active .marker-symbol{color:inherit}.mechanism-panel{position:absolute;z-index:9;top:114px;right:32px;width:286px;max-height:calc(100% - 260px);overflow:auto;padding:17px 23px 20px;background:#faf8eff0;border:1px solid #b4bfa45e;border-radius:10px;box-shadow:0 20px 65px #536c581c;backdrop-filter:blur(18px)}.mechanism-heading{display:flex;align-items:center;justify-content:space-between}.mechanism-heading .small-close{margin-right:-9px}.mechanism-panel h2{font-family:var(--serif);font-size:23px;letter-spacing:3px;font-weight:400;margin:16px 0 12px;color:#5d7a65}.mechanism-panel>p{font-size:11px;letter-spacing:.5px;line-height:1.95;color:#8b9a84;margin:0 0 21px;white-space:pre-line}.mechanism-options{display:flex;flex-direction:column;gap:9px}.mechanism-options button{width:100%;min-height:42px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;padding:10px 13px;text-align:left;border:1px solid #a2b09550;border-radius:5px;background:#fffdf56b;color:#7a9178;font-size:11px;letter-spacing:1px;line-height:1.6}.mechanism-options button:hover:not(:disabled){background:#eff4e7;border-color:#9bb392}.mechanism-options button.active,.mechanism-options button[aria-pressed=true],.mechanism-options button[data-active=true]{background:#7f9d86;border-color:#7f9d86;color:#fffbed}.mechanism-options button:disabled{opacity:.42}.mechanism-options button strong{font-size:11px;font-weight:500}.mechanism-options button small{font-size:9px;opacity:.7;letter-spacing:0}.mechanism-options p,.mechanism-options .mechanism-note{font-size:10px;line-height:1.8;letter-spacing:.5px;color:#a1977e;margin:4px 0}.mechanism-panel-foot{display:flex;align-items:center;gap:8px;font-size:8px;letter-spacing:.4px;line-height:1.7;margin-top:23px;padding-top:15px;border-top:1px solid var(--line);color:#a0ad95}

.connection-status{position:absolute;right:43px;bottom:128px;display:flex;align-items:center;gap:8px;font-size:9px;color:#96a18f;letter-spacing:.7px;opacity:0;transition:opacity .4s;z-index:3;pointer-events:none}.playing .connection-status{opacity:1}.connection-status>span:first-child{width:5px;height:5px;border-radius:50%;background:#aaa99a}.connection-status.connected{color:#709184}.connection-status.connected>span:first-child{background:#77a18f;box-shadow:0 0 0 4px #77a18f17}.controls{position:absolute;bottom:43px;left:276px;right:24px;z-index:7}.instruction{font-family:var(--serif);text-align:center;letter-spacing:1.5px;font-size:11px;color:#8a988b;margin:0 0 16px;line-height:1.8}.control-row{display:flex;justify-content:center;align-items:center;gap:21px}.control-hint{display:flex;align-items:center;gap:7px;font-size:9px;letter-spacing:.6px;color:#98a08e;white-space:nowrap}.mouse-dot{width:10px;height:14px;border:1px solid #9baa9c;border-radius:8px;position:relative}.mouse-dot:after{content:"";position:absolute;width:1px;height:4px;background:#9baa9c;left:3.5px;top:2px}.keycap{font-family:system-ui;font-size:8px;display:grid;place-items:center;border:1px solid #9baa9c70;border-radius:3px;width:17px;height:17px}.control-separator{height:15px;width:1px;background:#b0baa342}.rotate-button{display:flex;gap:11px;align-items:center;border:1px solid #8aa3935c;background:#fcfcf68a;padding:10px 18px;border-radius:40px;box-shadow:0 6px 25px #71907f0b}.rotate-button:hover:not(:disabled){background:#fafff9;transform:translateY(-2px)}.rotate-button>svg{width:24px;height:24px;stroke-width:1.2}.rotate-button>span{font-size:11px;letter-spacing:1px}.rotate-button>small{font-family:Georgia,serif;font-size:11px;opacity:.6}.rotate-button:disabled{opacity:.42}body:not(.playing) .control-row{visibility:hidden}.footer{position:absolute;bottom:15px;left:30px;right:32px;display:flex;align-items:center;justify-content:space-between;pointer-events:none;z-index:2;font-size:8px;letter-spacing:1px;color:#a5ad9d}.footer>span{display:flex;align-items:center;gap:7px}.footer-dot{width:4px;height:4px;background:#a4b4a3;border-radius:50%}.footer-mark{font-size:16px;margin-left:7px}.desktop-note{display:none}.loading{position:absolute;left:calc(50% + 110px);top:47%;transform:translateX(-50%);z-index:3;font-size:11px;letter-spacing:2px;color:#829284;display:flex;gap:11px;align-items:center;white-space:nowrap}.loading>span{width:13px;height:13px;border:1px solid #91a893;border-top-color:transparent;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:absolute;bottom:152px;left:calc(50% + 115px);transform:translate(-50%,10px);background:#fffaf0f0;border:1px solid #b9c3ae63;box-shadow:0 8px 32px #718b7110;border-radius:6px;z-index:16;font-size:11px;letter-spacing:.5px;line-height:1.8;padding:12px 19px;max-width:min(540px,calc(100% - 330px));width:max-content;color:#657d6d;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s}.toast.visible{opacity:1;transform:translate(-50%,0)}

.audio-panel{position:absolute;z-index:20;top:79px;right:30px;width:270px;padding:20px 24px 18px;background:#faf8f0f5;border:1px solid #b2bca54f;box-shadow:0 20px 60px #586b571a;border-radius:9px;backdrop-filter:blur(16px)}.panel-heading{display:flex;align-items:center;justify-content:space-between;font-size:12px;letter-spacing:1px;margin-bottom:19px}.panel-heading>span{display:flex;align-items:center;gap:8px}.panel-heading svg{width:17px;height:17px}.small-close{display:grid;place-items:center;background:none;border:0;width:30px;height:30px;opacity:.65;padding:5px}.small-close:hover{opacity:1;background:#99ad8f16;border-radius:50%}.small-close svg{width:17px;height:17px}.toggle-row{display:flex;position:relative;align-items:center;justify-content:space-between;font-size:11px;letter-spacing:1px;margin:19px 0;cursor:pointer}.toggle-row input{position:absolute;right:0;width:36px;height:21px;margin:0;opacity:0;z-index:1;cursor:pointer}.switch-track{display:block;width:34px;height:19px;border-radius:12px;background:#d2d7ca;transition:background .2s;position:relative;pointer-events:none}.switch-track:before{content:"";position:absolute;background:#fffdf5;width:13px;height:13px;border-radius:50%;top:3px;left:3px;transition:transform .2s}.toggle-row input:checked+.switch-track{background:#7c9f8d}.toggle-row input:checked+.switch-track:before{transform:translateX(15px)}.toggle-row input:focus-visible+.switch-track{outline:2px solid #a6b5a0;outline-offset:3px}.volume-row{display:flex;justify-content:space-between;font-size:10px;color:#82917e;margin-top:25px}input[type=range]{width:100%;accent-color:#7b9b88;margin:15px 0 0;height:18px}.audio-panel>p{font-size:8px;color:#a0a991;letter-spacing:1px;margin:12px 0 0}

.modal{border:1px solid #d4d9c9;border-radius:11px;background:#f9f7ee;color:#536f5f;padding:39px 42px;max-width:500px;width:calc(100vw - 80px);max-height:calc(100vh - 40px);overflow:auto;box-shadow:0 35px 100px #455c5233;text-align:center}.modal::backdrop{background:#51666033;backdrop-filter:blur(7px)}.dialog-close{position:absolute;right:14px;top:14px}.modal-eyebrow{font-family:Georgia,serif;font-size:9px;letter-spacing:2.5px;color:#9caa93;margin-bottom:17px}.modal h2{font-family:var(--serif);font-size:25px;font-weight:400;letter-spacing:2px;line-height:1.6;margin:0 0 20px}.modal p{font-size:12px;line-height:2;letter-spacing:1px;color:#899581}.modal .primary-button{margin:23px auto 0}.help-modal{max-width:580px;text-align:left}.help-modal h2{font-size:23px;letter-spacing:1px}.help-modal ol{list-style:none;counter-reset:tips;padding:0;margin:26px 0 12px}.help-modal li{counter-increment:tips;padding:0 0 17px 35px;position:relative}.help-modal li:before{content:"0" counter(tips);position:absolute;left:0;top:0;font-family:Georgia,serif;color:#9ab09b;font-size:14px}.help-modal li b{display:block;font-size:12px;font-weight:500;letter-spacing:1px;margin-bottom:6px}.help-modal li span{display:block;font-size:11px;line-height:1.9;color:#8b9886}.help-modal .modal-note{border-top:1px solid #dee1d3;padding-top:15px;font-size:10px;letter-spacing:.2px;line-height:2.2}.modal-note kbd{display:inline-block;border:1px solid #cbd3bf;border-radius:3px;padding:0 4px;margin-right:2px;font-family:system-ui;font-size:9px;line-height:1.5}.win-emblem{font-size:67px;line-height:1.2;color:#a5b694;margin:0 0 18px}.win-stats{display:flex;justify-content:center;gap:22px;margin:28px 0}.win-stats div{display:flex;flex-direction:column;gap:8px;min-width:62px}.win-stats strong{font-family:Georgia,serif;font-weight:400;font-size:28px;color:#76957d}.win-stats span{font-size:9px;letter-spacing:1px;color:#95a18b}.text-button{display:block;border:0;background:none;letter-spacing:1px;font-size:11px;color:#9aa68f;margin:20px auto 0}.text-button:hover{color:#6f8f78}.webgl-error{position:absolute;top:42%;left:35%;right:10%;z-index:10;background:#f7f2e9;padding:24px;font-size:13px;line-height:2;border:1px solid #c9baa4;border-radius:6px}.won .connection-status{opacity:0}

@media(min-width:1700px){.intro{left:58px;top:25%;width:246px}.intro h1{font-size:93px}.chapter-panel{left:42px;width:224px;top:139px}#scene{left:298px;right:34px}.controls{left:298px;right:34px}.topbar{padding:0 42px}.mechanism-panel{right:44px}}
@media(max-width:1180px){.topbar{padding:0 22px;gap:15px}.brand{width:136px}.view-nav{gap:2px}.view-nav button{padding:0 10px}.view-label{display:none}.chapter-panel{left:22px;width:201px}.intro{left:30px;width:207px}.intro h1{font-size:74px}.intro-copy{font-size:11px}#scene{left:244px;right:16px}.controls{left:244px;right:16px}.control-row{gap:15px}.control-hint{font-size:8px}.control-separator,.control-hint:last-child{display:none}.footer{left:22px;right:24px}.mechanism-panel{right:24px;width:268px;padding:15px 20px 18px}.connection-status{right:29px}.toast{left:calc(50% + 105px)}}
@media(max-height:760px){.chapter-panel{top:108px;bottom:102px}.chapter-panel h2{font-size:25px;margin:15px 0 9px}.chapter-intro{font-size:10px;line-height:1.9}.objective{margin-top:20px;padding-top:16px}.objective h3{margin:9px 0 5px;font-size:12px}.journal-status{margin-top:16px}.journal-row{min-height:30px}.hint-area{margin-top:17px}.journal-footnote{margin-top:15px}.intro{top:21%}.intro h1{margin-top:19px;font-size:72px}.intro-copy{margin:20px 0 21px}.intro-note{margin-top:15px}.mechanism-panel{top:106px;max-height:calc(100% - 242px)}}
@media(max-height:670px){.topbar{height:76px}#scene{top:77px;bottom:112px}.intro{top:105px}.intro h1{font-size:66px;margin:16px 0 11px}.intro-english{font-size:10px}.intro-copy{margin:17px 0 20px;font-size:11px}.intro-note{font-size:7px}.chapter-panel{top:95px;bottom:86px}.journal-heading{gap:10px}.chapter-number{font-size:28px}.chapter-panel h2{font-size:23px;margin:13px 0 8px}.chapter-intro{display:none}.objective{margin-top:17px;padding-top:15px}.objective p{font-size:9px}.journal-status{margin-top:13px}.journal-row{min-height:29px}.journal-divider{margin:6px 0}.hint-area{margin-top:15px}.journal-footnote{margin-top:13px}.controls{bottom:34px}.instruction{font-size:10px;margin-bottom:12px}.rotate-button{padding:8px 16px}.footer{bottom:11px;font-size:7px}.connection-status{bottom:113px}.toast{bottom:131px}.mechanism-panel{top:95px;max-height:calc(100% - 225px)}.mechanism-panel h2{font-size:21px;margin:11px 0 9px}.mechanism-panel>p{margin-bottom:16px}.mechanism-panel-foot{margin-top:18px}.audio-panel{top:70px}.modal{padding:30px 35px}.help-modal ol{margin-top:20px}.help-modal li{padding-bottom:13px}.modal h2{font-size:22px}.win-emblem{font-size:52px;margin-bottom:12px}.win-stats{margin:23px 0}}
@media(max-width:899px){.desktop-note{display:block;position:fixed;z-index:30;bottom:6px;left:50%;transform:translateX(-50%);margin:0;padding:8px 15px;border:1px solid #c9cbb5;background:#f8f5e8f2;box-shadow:0 5px 25px #65725b15;border-radius:5px;font-size:10px;white-space:nowrap;color:#8c9279}.footer{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}

/* Folded Perspectives: the three view buttons describe directions, not regions. */
.view-nav{gap:2px}
.view-nav button{height:32px;padding:0 10px}
.view-label{font-size:8px;letter-spacing:1.4px;padding-right:7px}
.view-index{font-family:Georgia,serif;font-size:10px;color:#a58b60;opacity:.85}
.view-nav button.active .view-index,.view-nav button[aria-pressed=true] .view-index{color:inherit}
.view-nav button:disabled{opacity:.4;background:transparent;box-shadow:none}
.view-nav button.active:disabled,.view-nav button[aria-pressed=true]:disabled{opacity:.72;background:#7c9b8a;color:#fff9e9}
.top-actions{gap:7px}
.icon-button:disabled{opacity:.33;transform:none;background:#faf8f033}
body:not(.playing) #undo-button{visibility:hidden}
.intro-english{letter-spacing:3.4px;font-size:13px;line-height:1.65}
.intro-copy{color:#74877b}
.intro .primary-button{gap:18px;padding-left:19px;padding-right:18px}
.chapter-panel h2{letter-spacing:3px}
.chapter-intro{color:#7e9182}
.objective h3{color:#607e69}
.objective p{color:#7c8e7b}
.journal-row{min-height:35px;gap:8px}
.status-name{color:#7d927f}
.status-value{font-size:10px;max-width:117px;color:#7b907e;letter-spacing:.2px;line-height:1.6}
.journal-row.complete .status-value{color:#5f8b72}
.hint-text{font-size:11px;line-height:1.95;color:#6d856a}
.hint-button{color:#758e73}
.mechanism-panel>p{color:#758a76}
.mechanism-options button{color:#657f69}
.mechanism-options button:disabled.active{opacity:.7}
.mechanism-marker[data-kind=stone] .marker-symbol{color:#ae925d}
.mechanism-marker[data-kind=rings] .marker-symbol{color:#879d90}
.mechanism-marker[data-kind=view] .marker-symbol{color:#ab8c80}
.mechanism-marker[data-kind=latch] .marker-symbol{color:#9c9576}
.mechanism-marker:hover .marker-symbol,.mechanism-marker.active .marker-symbol{color:inherit}
.connection-status{font-size:10px;letter-spacing:.35px;max-width:calc(100% - 310px);text-align:right;line-height:1.8}
.control-row{gap:15px}
.control-hint{color:#819580}
.control-hint.perspective-hint{gap:5px}
.control-hint.undo-hint{display:flex}
.controls .instruction{color:#7a907e}
.help-modal li span{color:#748771}
.help-modal .modal-note{color:#7c8f78;line-height:2.4}
.help-modal{max-width:600px}
.win-modal{max-width:540px}
.win-stats{gap:24px}

@media(max-width:1180px){
  .topbar{gap:12px;padding-left:22px;padding-right:22px}
  .brand{width:119px}
  .brand>span{font-size:19px;letter-spacing:4px}
  .brand small{font-size:6px;letter-spacing:2px}
  .brand>svg{width:29px;height:29px}
  .view-nav button{padding:0 9px;font-size:10px;gap:5px}
  .view-nav .follow-button{padding:0 9px}
  .view-nav .nav-divider{margin:0 2px}
  .top-actions{gap:6px}
  .top-actions .icon-button{width:35px;height:35px}
  .control-row{gap:12px}
  .control-hint.undo-hint{display:flex}
  .connection-status{max-width:calc(100% - 275px)}
  .mechanism-panel{right:22px;width:252px;padding:15px 19px 17px}
  .mechanism-panel h2{font-size:21px;letter-spacing:2px}
}
@media(max-height:670px){
  .journal-row{min-height:30px}
  .hint-text{font-size:10px;padding:9px 10px}
  .help-modal li{padding-bottom:12px}
  .help-modal li span{font-size:10px;line-height:1.85}
  .help-modal ol{margin-top:18px}
  .help-modal .modal-note{font-size:9px;padding-top:12px}
  .modal .primary-button{margin-top:18px}
}
