@charset "UTF-8";
:root{--forest:#132922;--forest-deep:#10231d;--ink:#253a30;--cream:#f0eedf;--paper:#f4f1e7;--muted:#a3b0a0;--gold:#e3b77b;--border:rgba(227,233,213,.13);--radius:16px;font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;color:var(--cream);font-synthesis:none;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}body{margin:0;background:var(--forest);overflow:hidden}button,a,input{ -webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer;border:0;color:inherit;background:none}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--gold);outline-offset:5px}button{touch-action:manipulation}a{color:inherit;text-decoration:none}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}button svg{pointer-events:none}button span{pointer-events:none}[hidden]{display:none!important}.icon-defs{position:absolute;width:0;height:0;overflow:hidden}.live-region{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}
#app{position:relative;height:100svh;min-height:640px;overflow:hidden;background:radial-gradient(ellipse at 62% 48%,#30463a 0%,#1c3329 45%,#132922 78%);transition:background 2s}#app[data-time="night"]{background:radial-gradient(ellipse at 63% 42%,#253c3d 0%,#142a29 52%,#102321 85%)}#app[data-time="dawn"]{background:radial-gradient(ellipse at 63% 39%,#405445 0%,#263e30 50%,#132922 90%)}.sky-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 67% 0,rgba(209,183,124,.07),transparent 60%)}#scene{position:absolute;left:240px;right:0;top:76px;bottom:120px;touch-action:none}#scene canvas{display:block;width:100%;height:100%;outline:none}#scene-loading{position:absolute;inset:80px 0 180px 240px;display:flex;gap:17px;align-items:center;justify-content:center;flex-direction:column;font-size:13px;letter-spacing:2px;color:#b9c6b2;pointer-events:none}.loading-tree svg{width:32px;height:32px;animation:breathe 2s infinite}.topbar{height:94px;position:absolute;left:34px;right:34px;top:0;display:flex;align-items:center;border-bottom:1px solid var(--border);z-index:10;gap:20px}.brand{display:flex;align-items:center;gap:12px;width:236px;flex:none}.brand-mark{border:1px solid #b2c0a56b;width:39px;height:43px;display:grid;place-items:center;border-radius:12px 12px 3px 3px;color:#d7cfa6}.brand-mark svg{width:25px;height:29px;stroke-width:1.2}.brand b{font-family:"Songti SC","STSong",Georgia,serif;font-size:23px;font-weight:600;letter-spacing:3px}.brand small{display:block;font-size:8px;letter-spacing:3.3px;color:#b7bfaa;margin-top:5px}.location{display:flex;align-items:center;gap:12px;margin:auto;font-size:11px;letter-spacing:2px;color:#c4cdbb}.live-dot{width:5px;height:5px;background:#d7bc7d;border-radius:50%;box-shadow:0 0 8px #d7bc7d33}.location-sep{opacity:.3;margin:0 2px}.location-en{font-size:8px;letter-spacing:2px;opacity:.55}.header-actions{display:flex;align-items:center;gap:15px;margin-left:auto}.icon-btn{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;color:#bcc8b8;transition:background .2s,color .2s}.icon-btn:hover{background:#ffffff0d;color:var(--cream)}.icon-btn svg{width:19px;height:19px}.sound-toggle{display:flex;align-items:center;gap:9px;padding:10px 15px;border-radius:30px;border:1px solid var(--border);font-size:11px;letter-spacing:1px;color:#cdd5c3}.sound-toggle svg{width:17px;height:17px}.sound-toggle.on{color:var(--gold);background:#e3b77b09;border-color:#e3b77b38}
.journal{position:absolute;left:35px;top:135px;width:226px;z-index:5}.eyebrow{font-size:9px;font-weight:500;letter-spacing:2.8px;display:flex;align-items:center;gap:9px;color:#b7c2ab}.eyebrow:before{content:"";width:18px;height:1px;background:currentColor;opacity:.5}.intro-title{font-family:"Songti SC","STSong",Georgia,serif;font-size:39px;font-weight:400;line-height:1.65;letter-spacing:3px;margin:22px 0 18px}.intro-copy{color:#a6b59f;font-size:12px;line-height:2.2;margin:0 0 22px;max-width:212px}.intro-tags{display:flex;align-items:center;gap:13px;font-size:9px;letter-spacing:1px;color:#c0c7af;margin-bottom:30px}.intro-tags span+span:before{content:"·";margin-right:13px;color:#6e8574}.primary{background:var(--gold);color:#253b2b;display:inline-flex;align-items:center;justify-content:center;gap:14px;border-radius:9px;min-height:47px;padding:0 21px;font-size:12px;font-weight:650;letter-spacing:.8px;transition:background .2s,transform .2s,box-shadow .2s;white-space:nowrap;position:relative;overflow:hidden}.primary:hover{background:#f0c98c;box-shadow:0 5px 18px #00000016;transform:translateY(-1px)}.primary:active{transform:translateY(1px)}.primary svg{width:17px;height:17px}.primary.wide{width:100%}.secondary{min-height:43px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #d6d9c744;border-radius:8px;font-size:12px;transition:background .2s}.secondary:hover{background:#ffffff0b}.text-btn{font-size:11px;color:#adbaa5;display:inline-flex;align-items:center;gap:7px;padding:11px 0}.text-btn:hover{color:var(--cream)}.text-btn svg{width:15px;height:15px}.intro-note{margin-top:15px;color:#7f9683;font-size:10px;letter-spacing:.4px;line-height:1.8}.journal-divider{height:1px;width:36px;background:#a8b99733;margin:33px 0 22px}.field-note{font-family:"Songti SC","STSong",serif;color:#879d88;font-size:12px;line-height:2.2;letter-spacing:1px}.field-note small{display:block;font-family:system-ui,sans-serif;font-size:8px;letter-spacing:2px;margin-top:12px;color:#657e6c}.journal-title{font-family:"Songti SC","STSong",Georgia,serif;font-size:28px;letter-spacing:3px;font-weight:400;margin:16px 0 9px}.journey-meta{font-size:10px;color:#8fa38c;letter-spacing:1px;margin:0 0 25px}.chapters{list-style:none;margin:0;padding:0;position:relative}.chapters:before{content:"";position:absolute;left:17px;top:18px;bottom:18px;border-left:1px solid #aebd9a20}.chapter{position:relative;margin-bottom:8px}.chapter-btn{display:flex;gap:12px;align-items:center;text-align:left;width:100%;padding:7px 0;border-radius:8px}.chapter-icon{display:grid;place-items:center;width:35px;height:35px;background:#183127;border:1px solid #9db19220;border-radius:50%;color:#5b7961;z-index:1}.chapter-icon svg{width:17px;height:17px}.chapter-label b{font-size:12px;font-weight:400;letter-spacing:1px;color:#739078}.chapter-label small{font-size:7px;letter-spacing:1.8px;display:block;margin-top:4px;color:#4e6c56}.chapter.current .chapter-icon{border-color:#dcb57a;background:#e3b77b;color:#2e412d;box-shadow:0 0 0 5px #e3b77b08}.chapter.current .chapter-label b{color:#e6d8b9}.chapter.current .chapter-label small{color:#a99f77}.chapter.done .chapter-icon{color:#a7bfa0;border-color:#9db19240}.chapter.done .chapter-label b{color:#b4c3a9}.chapter-btn:disabled{opacity:1;cursor:default}.journal-bottom{margin-top:22px;display:flex;gap:18px;border-top:1px solid var(--border);padding-top:10px}.progress-meta{font-size:9px;letter-spacing:1px;color:#819980;margin-top:22px;display:flex;align-items:center;gap:10px}.progress-track{height:2px;flex:1;background:#b4b88e19}.progress-track span{display:block;height:100%;background:#cbb783;transition:width .6s}
.scene-meta{position:absolute;right:37px;top:119px;display:flex;align-items:flex-end;flex-direction:column;gap:9px;z-index:5}.weather-pill{display:flex;align-items:center;gap:9px;font-size:11px;letter-spacing:1px;color:#c9d3be}.weather-pill svg{width:17px;height:17px;color:#d4bd84}.weather-pill i{font-style:normal;color:#58755d;padding:0 3px}.weather-pill b{font-weight:400;color:#8fa58d}.save-status{font-size:8px;letter-spacing:1px;color:#718c75}.scene-tools{position:absolute;right:29px;top:202px;display:flex;flex-direction:column;align-items:center;gap:10px;z-index:5}.tool-btn{width:48px;height:50px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;color:#92a68c;border-radius:10px;transition:background .25s,color .25s;position:relative}.tool-btn svg{width:20px;height:20px;stroke-width:1.3}.tool-btn span{font-size:8px;letter-spacing:1px}.tool-btn:hover,.tool-btn.active{background:#d5d7b312;color:#e1d5b5}.tool-btn.active:after{content:"";position:absolute;width:3px;height:3px;border-radius:50%;background:var(--gold);right:5px;top:10px}.tool-divider{height:1px;width:18px;background:var(--border);margin:1px 0}.view-controls{position:absolute;right:31px;bottom:61px;display:flex;align-items:center;background:#162e25aa;border:1px solid #95a58622;border-radius:25px;padding:3px;z-index:5}.view-controls .icon-btn{width:32px;height:32px;min-width:32px;min-height:32px;flex:0 0 auto;touch-action:manipulation}.view-control-divider{width:1px;height:18px;margin:0 4px;background:#95a58640;flex:none}.view-controls .icon-btn.view-tilt svg{width:17px;height:17px}.view-controls .icon-btn svg{width:15px;height:15px}.scene-hint{position:absolute;left:calc(50% + 105px);transform:translateX(-50%);bottom:16px;display:flex;align-items:center;gap:8px;font-size:9px;letter-spacing:1.5px;color:#6d876c;pointer-events:none}.hint-line{display:block;width:15px;height:1px;background:#768d6d88}.edition{position:absolute;bottom:35px;left:36px;font-size:7px;letter-spacing:2px;color:#66816b}.edition span{padding:0 7px;color:#8a9a76}
.activity{position:absolute;left:calc(50% + 96px);bottom:43px;transform:translateX(-50%);width:min(505px,calc(100% - 440px));padding:21px 24px 20px;background:linear-gradient(120deg,#f4f1e8f5,#e7e7d7f5);box-shadow:0 12px 40px #081c1830,inset 0 1px #fff8;border:1px solid #fff3;border-radius:14px;color:var(--ink);z-index:6;backdrop-filter:blur(16px)}.activity.hero-card{padding:17px 23px;width:370px;display:flex;align-items:center;gap:16px}.hero-card .tiny-badge{width:36px;height:36px;border:1px solid #8196794a;display:grid;place-items:center;border-radius:50%;color:#627659;flex:none}.hero-card h2{font-size:12px;font-weight:500;letter-spacing:1px;margin:0 0 5px}.hero-card p{font-size:10px;color:#7f8873;margin:0}.hero-card>svg{width:30px;height:30px;color:#819472;margin-left:auto}.activity-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;gap:10px}.activity-kicker{color:#7e8a70;font-size:8px;letter-spacing:1.8px}.stage-count{color:#8e9781;font-size:9px;letter-spacing:1px}.activity h2{font-size:21px;letter-spacing:1px;font-weight:500;font-family:"Songti SC","STSong",Georgia,serif;margin:0 0 8px}.activity p{font-size:11px;color:#7a826c;line-height:1.9;margin:0}.activity-actions{display:flex;gap:10px;align-items:center;margin-top:15px}.activity .primary{background:#314b37;color:#f0ecda;min-height:42px;font-size:11px;flex:1}.activity .primary:hover{background:#436248}.activity .primary.complete-action{background:#9b673d}.activity .secondary{border-color:#a6ae9670;color:#5d7054;min-height:42px;font-size:11px}.activity .text-btn{color:#65785c;padding:4px;font-size:10px}.activity .text-btn:hover{color:#233a29}.micro-step{height:3px;display:flex;gap:4px;margin:0 0 14px}.micro-step span{height:3px;flex:1;background:#c6ceba73;border-radius:3px}.micro-step span.done{background:#8b9c72}.micro-step span.active{background:#b7a26c}.activity-subnote{font-size:9px!important;color:#939982!important;margin-top:9px!important;letter-spacing:.5px}.hold-btn{user-select:none;-webkit-user-select:none;touch-action:none}.hold-btn:before{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--hold,0%);background:#ffffff28;transition:width .08s linear;pointer-events:none}.hold-btn .hold-label{position:relative}.heat-progress{height:4px;background:#c3cab855;border-radius:3px;margin-top:13px;overflow:hidden}.heat-progress span{height:100%;display:block;background:#aa9364;border-radius:3px;transition:width 1s linear}.heat-meta{display:flex;justify-content:space-between;font-size:9px;margin-top:6px;color:#879078}.small-choice{display:flex;gap:6px;margin:12px 0 2px}.small-choice button{font-size:10px;border:1px solid #9ca58c50;padding:6px 10px;border-radius:20px;color:#7a826e}.small-choice button.selected{background:#566f4930;color:#405334;border-color:#82916b70}.match-pad,.bow-pad{height:67px;position:relative;display:flex;align-items:center;justify-content:center;border:1px dashed #98a08677;background:#d6d8c830;border-radius:9px;margin-top:12px;overflow:hidden;touch-action:none;user-select:none}.match-pad:before{content:"";width:77%;height:9px;border-radius:9px;background:repeating-linear-gradient(50deg,#7b6b4d 0 2px,#9f8c65 2px 5px);opacity:.45}.match-stick{position:absolute;width:73px;height:5px;background:#cbb485;left:calc(50% - 45px);transform:rotate(-23deg);box-shadow:0 2px 3px #263a2522;pointer-events:none}.match-stick:after{content:"";position:absolute;right:-7px;top:-3px;width:12px;height:11px;border-radius:50%;background:#bb694e}.pad-label{position:absolute;bottom:6px;font-size:9px;color:#696e5a;letter-spacing:1px}.gesture-progress{position:absolute;left:0;bottom:0;height:3px;background:#bd8b51;transition:width .15s}.bow-pad:before{content:"";position:absolute;left:20%;right:20%;height:1px;background:#827553}.bow-pad:after{content:"";position:absolute;left:23%;right:23%;top:14px;height:25px;border:3px solid #94744d;border-bottom:0;border-radius:50% 50% 0 0}.bow-spindle{height:42px;width:7px;background:#b9915e;transform:rotate(9deg);position:absolute;top:8px;border-radius:2px}.finish-stamp{position:absolute;right:23px;top:23px;width:44px;height:44px;border:1px solid #84947155;border-radius:50%;display:grid;place-items:center;transform:rotate(12deg);color:#829169}.finish-stamp svg{width:23px;height:23px}
.panel-backdrop{position:fixed;inset:0;background:#071b1444;backdrop-filter:blur(2px);z-index:20;animation:fade-in .2s}.side-panel{position:fixed;right:20px;top:108px;bottom:25px;width:326px;background:var(--paper);color:var(--ink);border-radius:16px;box-shadow:0 20px 80px #06171055;z-index:21;padding:26px;overflow:auto;animation:panel-in .3s ease}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.panel-heading h2{font-family:"Songti SC","STSong",serif;font-size:24px;letter-spacing:2px;font-weight:400;margin:0}.side-panel .icon-btn,.modal .icon-btn{color:#68765a}.side-panel .icon-btn:hover,.modal .icon-btn:hover{background:#71846115}.panel-intro{font-size:11px;line-height:1.9;color:#829071;margin:0 0 28px}.panel-section{margin:27px 0}.panel-section h3{font-size:10px;font-weight:500;letter-spacing:2px;margin:0 0 13px;color:#758368}.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.choice-card{border:1px solid #aab39a60;border-radius:10px;padding:17px 5px 13px;display:flex;align-items:center;flex-direction:column;gap:10px;color:#7e896e;font-size:11px;transition:all .2s}.choice-card svg{width:25px;height:25px;stroke-width:1.2}.choice-card.selected{background:#3d573b;color:#f2ebd4;border-color:#3d573b}.choice-card:hover{border-color:#6f865a}.choice-card small{font-size:9px;opacity:.6}.time-choices{display:flex;gap:7px}.time-choices button{font-size:10px;border-radius:7px;padding:10px 13px;background:#e8e9de;color:#7b866c;flex:1}.time-choices button.selected{background:#d6dcc8;color:#3d5636}.panel-note{font-size:10px;color:#909881;line-height:1.9;margin:17px 0}.panel-divider{height:1px;background:#a4af8e33;margin:24px 0}.sound-enable{display:flex;align-items:center;gap:12px;border-radius:10px;background:#e6e8da;padding:14px;margin:20px 0}.sound-enable>svg{color:#697d58}.sound-enable b{display:block;font-size:12px;font-weight:500}.sound-enable small{display:block;font-size:9px;color:#8c967a;margin-top:3px}.switch{width:38px;height:22px;background:#b7bea7;border-radius:20px;position:relative;margin-left:auto;flex:none}.switch:before{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#faf8ed;transition:transform .2s}.switch.on{background:#526e48}.switch.on:before{transform:translateX(16px)}.slider-row{margin:24px 0}.slider-label{display:flex;align-items:center;font-size:11px;color:#647354;gap:8px;margin-bottom:13px}.slider-label svg{width:16px;height:16px}.slider-label output{margin-left:auto;font-size:10px;color:#929b83}input[type=range]{accent-color:#657d52;display:block;width:100%;height:4px;cursor:pointer}.preset-row{display:flex;gap:7px;flex-wrap:wrap}.preset-row button{font-size:10px;border-radius:20px;border:1px solid #a5ae944a;padding:9px 12px;color:#758468}.preset-row button:hover{background:#dbe1cf}.arrange-items{display:grid;grid-template-columns:1fr 1fr;gap:8px}.arrange-item{padding:11px;border:1px solid #a7b19860;display:flex;align-items:center;gap:9px;border-radius:8px;font-size:11px;color:#6d7d5f}.arrange-item.selected{background:#e0e6d5;border-color:#6f855b}.arrange-item svg{width:19px;height:19px}.swatch-row{display:flex;gap:12px}.swatch{width:40px;height:40px;border-radius:50%;border:3px solid var(--paper);box-shadow:0 0 0 1px #a1ac9344;position:relative}.swatch.selected{box-shadow:0 0 0 2px #6d7d5e}.swatch svg{width:16px;height:16px;color:#f5f3df;position:absolute;left:9px;top:9px}.nudge-grid{display:grid;grid-template-columns:repeat(3,35px);justify-content:center;gap:5px;margin:17px auto}.nudge-grid button{background:#e4e8da;border-radius:7px;width:35px;height:32px;color:#637657}.nudge-grid button:nth-child(1){grid-column:2}.nudge-grid button:nth-child(2){grid-row:2;grid-column:1}.nudge-grid button:nth-child(3){grid-row:2;grid-column:2}.nudge-grid button:nth-child(4){grid-row:2;grid-column:3}.nudge-grid button:nth-child(5){grid-row:3;grid-column:2}.nudge-grid svg{width:15px;height:15px}.gear-list{display:flex;flex-direction:column;gap:13px}.gear-line{display:flex;align-items:center;gap:12px;padding-bottom:13px;border-bottom:1px solid #aab99b30}.gear-line>svg{width:23px;height:23px;color:#768467}.gear-line b{font-size:11px;font-weight:500;display:block}.gear-line small{font-size:9px;color:#9aa28b;display:block;margin-top:4px}.gear-line>span{margin-left:auto;font-size:9px;color:#859475}.help-step{display:flex;gap:12px;margin:19px 0}.help-step>span{font-family:Georgia,serif;font-size:22px;color:#9ba98a}.help-step b{display:block;font-size:12px;font-weight:500;margin:2px 0 7px}.help-step p{font-size:10px;line-height:1.9;color:#8b957d;margin:0}.help-shortcut{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#819171;margin:14px 0}kbd{font-family:inherit;border:1px solid #97a48544;padding:3px 6px;border-radius:4px;font-size:9px;color:inherit}.storage-note{font-size:9px;line-height:1.9;color:#98a08d}.side-panel .primary{background:#3d5638;color:#f1ecda;min-height:43px;font-size:11px}.side-panel .secondary{color:#728265;border-color:#aab79b66;font-size:11px}
.modal-backdrop{position:fixed;inset:0;background:#061a15a6;backdrop-filter:blur(9px);z-index:30;display:flex;align-items:center;justify-content:center;padding:24px;animation:fade-in .2s}.modal{width:min(480px,100%);max-height:calc(100svh - 48px);overflow:auto;background:var(--paper);color:var(--ink);padding:32px;border-radius:19px;box-shadow:0 25px 100px #07150e66;position:relative;animation:modal-in .3s ease}.modal-close{position:absolute;right:20px;top:20px}.modal .eyebrow{color:#8b967e;font-size:8px;letter-spacing:2px}.modal h2{font-family:"Songti SC","STSong",Georgia,serif;font-size:30px;font-weight:400;letter-spacing:3px;margin:16px 0 12px}.modal-desc{font-size:12px;line-height:2;color:#859176;margin-bottom:23px}.packing-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0}.pack-item{position:relative;border:1px solid #aab69a5c;padding:15px 12px;border-radius:10px;display:flex;align-items:center;gap:10px;text-align:left;color:#758469}.pack-item.packed{border-color:#7c906c80;background:#dfe6d633}.pack-item>svg{width:22px;height:22px}.pack-item b{font-weight:500;font-size:11px;display:block}.pack-item small{display:block;font-size:8px;color:#97a286;margin-top:5px}.pack-check{width:14px;height:14px;border:1px solid #b1bba5;border-radius:4px;margin-left:auto;display:grid;place-items:center}.pack-check svg{width:10px;height:10px;stroke-width:2}.packed .pack-check{background:#728766;border-color:#728766;color:#f2eedc}.beverage-choice{display:flex;align-items:center;gap:8px;font-size:10px;color:#809071;margin:20px 0}.beverage-choice>span{margin-right:auto}.beverage-choice button{border:1px solid #a7b29670;border-radius:20px;padding:7px 12px;color:#7b8a6b;font-size:10px}.beverage-choice button.selected{background:#536d47;color:#f7f3df;border-color:#536d47}.modal .primary{background:#3e5838;color:#f0eddc}.modal .primary:hover{background:#506c45}.modal-footer-note{font-size:9px;text-align:center;color:#a0a78f;margin:13px 0 0}.modal .secondary{color:#78896a;border-color:#b0baa388}.modal-actions{display:flex;gap:10px;margin-top:24px}.modal-actions>*{flex:1}.photo-image{width:100%;display:block;border-radius:9px;background:#163127}.photo-frame{background:#fffdf5;padding:10px 10px 18px;box-shadow:0 3px 15px #253b2a16;transform:rotate(-2deg);margin:25px 0}.photo-frame figcaption{font-size:10px;color:#879276;margin:13px 5px 0;display:flex;justify-content:space-between;letter-spacing:1px}.photo-frame figcaption span:last-child{font-size:8px;letter-spacing:2px}.modal-photo{width:min(620px,100%)}.completion-note{font-size:12px;line-height:2.2;margin:22px 0;color:#7f8e72}.completion-meta{display:flex;gap:10px;margin:20px 0 28px}.completion-meta span{border:1px solid #acb89c55;border-radius:20px;padding:7px 11px;font-size:10px;color:#7b8b6e}.confirm-copy{font-size:12px;line-height:2;color:#819174}
.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,15px);background:#edecdb;color:#45573d;border:1px solid #ffffff50;box-shadow:0 8px 32px #071b1a30;border-radius:9px;padding:12px 20px;font-size:11px;z-index:50;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;max-width:calc(100% - 35px);text-align:center;line-height:1.7}.toast.show{opacity:1;transform:translate(-50%,0)}.exit-ambient{position:absolute;left:30px;top:27px;display:none;align-items:center;gap:11px;border:1px solid #b6cbbf40;border-radius:30px;padding:10px 18px;background:#10282366;backdrop-filter:blur(9px);font-size:11px;color:#c9d3bf;z-index:8}.exit-ambient svg{transform:rotate(180deg);width:16px;height:16px}.exit-ambient kbd{margin-left:15px;border-color:#b6cbbf30;color:#87a18b;font-size:8px}.ambient-caption{display:none;position:absolute;bottom:45px;left:0;right:0;text-align:center;pointer-events:none;color:#c4cfb466}.ambient-caption p{font-family:"Songti SC","STSong",serif;font-size:14px;letter-spacing:3px;margin-bottom:13px}.ambient-caption span{font-size:8px;letter-spacing:3px;color:#8aa38c55}.ambient .topbar,.ambient .journal,.ambient .scene-meta,.ambient .scene-tools,.ambient .view-controls,.ambient .activity,.ambient .scene-hint,.ambient .edition{display:none}.ambient #scene{inset:0}.ambient .exit-ambient{display:flex}.ambient .ambient-caption{display:block}.noscript{position:fixed;inset:0;background:#132922;color:#f0eedf;display:grid;place-items:center;padding:30px;text-align:center}.mobile-chapter-label{display:none}.saved-notice{display:flex;align-items:center;gap:6px;font-size:9px;color:#a2b292;margin-top:15px}.saved-notice svg{width:12px;height:12px}.photo-flash{position:fixed;inset:0;background:#f4f0dd;z-index:25;pointer-events:none;animation:flash .45s ease-out forwards}.reduced-motion *{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
@keyframes breathe{0%,100%{opacity:.4;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}@keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes panel-in{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes modal-in{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes flash{from{opacity:.65}to{opacity:0}}
@media(min-width:1600px){.journal{left:52px;top:160px;width:248px}.intro-title{font-size:45px}.topbar{left:52px;right:52px}.activity{bottom:61px;width:530px}.activity.hero-card{width:390px}.scene-hint{bottom:30px}#scene{left:270px;bottom:135px}.scene-tools{right:44px}.scene-meta{right:52px}.edition{left:53px;bottom:44px}}
@media(max-height:760px) and (min-width:761px){.topbar{height:78px}.journal{top:111px}.intro-title{font-size:34px;margin:18px 0 12px}.intro-copy{font-size:11px}.journal-divider{margin:22px 0 16px}.field-note{font-size:11px}.chapter{margin-bottom:1px}.chapter-btn{padding:5px 0}.journey-meta{margin-bottom:16px}.journal-bottom{margin-top:13px}.progress-meta{margin-top:14px}.scene-meta{top:101px}.scene-tools{top:170px;gap:7px}.tool-btn{height:45px}.activity{bottom:36px;padding:17px 21px}.scene-hint{bottom:12px}.activity h2{font-size:19px}.activity-actions{margin-top:12px}.side-panel{top:90px}#scene{top:58px;bottom:110px}}
@media(max-width:1100px) and (min-width:761px){.topbar{left:25px;right:25px}.brand{width:210px}.location-en{display:none}.journal{left:26px;width:195px}.intro-title{font-size:33px}.intro-copy{font-size:11px}.intro-tags{gap:7px;font-size:8px}.intro-tags span+span:before{margin-right:7px}#scene{left:185px;right:20px}.scene-meta{right:27px}.scene-tools{right:19px}.activity{left:calc(50% + 85px);width:calc(100% - 360px);max-width:480px}.activity.hero-card{width:345px}.activity p{font-size:10px}.activity .primary{padding:0 12px;font-size:10px}.activity .secondary{padding:0 12px}.scene-hint{left:calc(50% + 85px)}.view-controls{right:23px;bottom:31px}.edition{left:27px;font-size:6px}}
@media(max-width:760px){body{overflow:hidden}#app{height:100svh;min-height:570px}.topbar{left:21px;right:21px;height:75px;gap:10px}.brand{width:auto;gap:9px}.brand-mark{width:31px;height:35px;border-radius:9px 9px 2px 2px}.brand-mark svg{width:21px;height:24px}.brand b{font-size:18px;letter-spacing:2px}.brand small{font-size:6px;letter-spacing:2.4px;margin-top:3px}.location{display:none}.header-actions{gap:6px}.header-actions>.icon-btn{width:32px;height:32px}.sound-toggle{padding:8px 10px;font-size:9px;gap:6px}.sound-toggle svg{width:14px;height:14px}.journal{left:24px;right:24px;top:99px;width:auto;pointer-events:none}.journal button{pointer-events:auto}.journal .eyebrow{font-size:7px;letter-spacing:1.9px}.journal .eyebrow:before{width:13px}.intro-title{font-size:29px;line-height:1.45;letter-spacing:2px;margin:12px 0 0}.intro-title br{display:none}.intro-copy{font-size:10px;line-height:1.9;margin-top:9px;max-width:235px}.intro-copy br{display:none}.intro-tags,.intro-note,.journal-divider,.field-note{display:none}.journal .intro-start{position:fixed;bottom:128px;left:25px;right:25px;width:calc(100% - 50px);height:48px;z-index:9}.journal .journal-title{font-size:24px;margin:0 0 8px;letter-spacing:2px}.journal.active-journal .eyebrow,.journey-meta{display:none}.chapters{display:flex;gap:0;justify-content:space-between;width:205px;margin-top:11px}.chapters:before{left:12px;right:12px;top:13px;bottom:auto;width:auto;height:1px;border-left:0;border-top:1px solid #aebd9a33}.chapter{margin:0}.chapter-btn{padding:0;width:27px;height:27px;gap:0}.chapter-icon{width:26px;height:26px;background:#1c3329}.chapter-icon svg{width:12px;height:12px}.chapter.current .chapter-icon{box-shadow:0 0 0 3px #e3b77b08}.chapter-label{display:none}.progress-meta,.journal-bottom{display:none}.journal.active-journal{top:98px;max-width:230px}.scene-meta{top:103px;right:23px;gap:6px}.weather-pill{font-size:9px;gap:6px;letter-spacing:.5px}.weather-pill svg{width:14px;height:14px}.weather-pill b{display:none}.weather-pill i{padding:0 2px}.save-status{font-size:7px;letter-spacing:.3px}.scene-tools{right:12px;top:191px;gap:6px}.tool-btn{width:39px;height:43px;border-radius:8px;background:#142b2333}.tool-btn svg{width:17px;height:17px}.tool-btn span{font-size:7px}.tool-divider{margin:0;height:0}.view-controls{right:19px;bottom:238px;padding:2px}.view-controls .icon-btn{width:32px;height:32px}.view-controls .icon-btn svg{width:13px;height:13px}#scene{left:0;right:0;top:161px;bottom:223px}#scene-loading{inset:190px 0 240px 0;font-size:10px;letter-spacing:1px}.activity{left:20px;right:20px;bottom:39px;width:auto;transform:none;padding:19px 19px 17px;border-radius:13px}.activity h2{font-size:20px}.activity p{font-size:10px;line-height:1.8}.activity-kicker{font-size:7px}.activity-actions{margin-top:13px;gap:8px}.activity .primary{font-size:10px;min-height:41px;padding:0 13px}.activity .secondary{font-size:10px;min-height:41px;padding:0 12px}.activity.hero-card{width:auto;left:25px;right:25px;bottom:49px;padding:15px 17px;gap:13px;min-height:62px;background:transparent;box-shadow:none;border:1px solid #adc29b25;border-radius:10px;color:#b1c1a6;backdrop-filter:none}.hero-card .tiny-badge{width:28px;height:28px;color:#849e79;border-color:#81967955}.hero-card .tiny-badge svg{width:16px;height:16px}.hero-card h2{font-size:10px;letter-spacing:.5px;margin-bottom:4px}.hero-card p{font-size:8px;color:#789471}.hero-card>svg{width:23px;height:23px;color:#617f60}.scene-hint{left:50%;bottom:16px;font-size:7px;gap:6px;letter-spacing:.3px;max-width:calc(100% - 36px);text-align:center;line-height:1.45;white-space:normal}.edition{display:none}.side-panel{top:85px;right:12px;bottom:14px;width:min(326px,calc(100% - 24px));padding:24px;border-radius:14px}.modal-backdrop{padding:18px}.modal{padding:29px 24px;max-height:calc(100svh - 36px);border-radius:15px}.modal h2{font-size:27px}.modal-desc{font-size:11px}.packing-list{gap:8px}.pack-item{padding:13px 9px;gap:8px}.pack-item b{font-size:10px}.pack-item>svg{width:19px;height:19px}.pack-item small{font-size:7px}.modal-close{right:14px;top:14px}.modal .eyebrow{font-size:7px}.photo-frame{margin:20px 0}.photo-frame figcaption{font-size:8px}.photo-frame figcaption span:last-child{font-size:6px}.exit-ambient{left:18px;top:20px;font-size:10px;padding:9px 13px}.exit-ambient kbd{display:none}.ambient-caption{bottom:40px}.ambient-caption p{font-size:11px;letter-spacing:2px}.ambient-caption span{font-size:7px}.match-pad,.bow-pad{height:60px}.activity-subnote{font-size:8px!important}.micro-step{margin-bottom:12px}.toast{bottom:20px;font-size:10px;padding:10px 16px}.saved-notice{display:none}}
@media(max-width:760px) and (max-height:720px){.intro-title{font-size:26px}.intro-copy{font-size:9px}.journal{top:93px}.scene-meta{top:96px}.journal.active-journal{top:92px}.journal.active-journal .journal-title{font-size:21px}.scene-tools{top:174px;gap:3px}.tool-btn{height:38px}.tool-btn svg{width:15px;height:15px}.tool-btn span{font-size:6px}#scene{top:155px;bottom:204px}.activity{bottom:30px;padding:14px 17px 13px}.activity h2{font-size:18px;margin-bottom:6px}.activity p{font-size:9px}.activity-actions{margin-top:10px}.activity .primary,.activity .secondary{min-height:37px;font-size:10px}.activity.hero-card{bottom:41px;padding:10px 15px;min-height:55px}.journal .intro-start{bottom:111px;height:43px;min-height:43px}.scene-hint{bottom:11px}.view-controls{bottom:218px}.activity-subnote{margin-top:5px!important}.match-pad,.bow-pad{height:47px;margin-top:8px}.small-choice{margin-top:8px}.small-choice button{padding:4px 9px}.micro-step{margin-bottom:9px}.chapters{margin-top:9px}.activity-top{margin-bottom:6px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.activity.hero-card h2{font-family:inherit;font-size:12px;line-height:1.6;letter-spacing:.6px;margin:0 0 5px;font-weight:500}.activity.hero-card p{font-size:10px;color:#7f8873;margin:0}
@media(max-width:760px){.activity.hero-card h2{font-size:10px;letter-spacing:.3px}.activity.hero-card p{font-size:8px;color:#789471}}
/* The full camera bar no longer fits beside a medium-width activity card.
   Keep it above the measured card and clear of the right-hand tool column. */
@media(min-width:761px) and (max-width:1240px){
  #app:not(.ritual-mode) .view-controls{left:calc(50% + 96px);right:auto;bottom:var(--ritual-scene-bottom,140px);transform:translateX(-50%)}
}
@media(min-width:761px) and (max-width:1100px){
  #app:not(.ritual-mode) .view-controls{left:calc(50% + 85px)}
}
