:root{font-family:PingFang SC,Microsoft YaHei,sans-serif;color:#ede9da;background:#20373b;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--gold:#dec28b;--ink:#293c39;--muted:#a5b2a8;--paper:#ede9dc;--line:rgba(229,215,179,.2)}*{box-sizing:border-box}body{margin:0}button,a,input{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{color:inherit;cursor:pointer}button:disabled{cursor:wait;opacity:.6}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:5px}input:focus-visible{outline:2px solid #6c897a;outline-offset:2px}[hidden]{display:none!important}.icon{width:20px;height:20px;flex-shrink:0;vertical-align:middle}.world-shell{position:relative;width:100%;height:100svh;min-height:320px;overflow:hidden;background:radial-gradient(ellipse at 60% 40%,#3c5551,#15272d)}#world{width:100%;height:100%;display:block;touch-action:none;outline:none}.world-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(14,28,31,.78) 0%,rgba(14,28,31,.39) 21%,transparent 46%),linear-gradient(0deg,rgba(12,26,29,.83),transparent 21%,transparent 79%,rgba(12,26,29,.45));transition:background 1s}.is-exploring .world-shade{background:linear-gradient(0deg,rgba(12,26,29,.7),transparent 20%,transparent 85%,rgba(12,26,29,.55))}.site-header{position:absolute;z-index:5;top:0;left:0;right:0;padding:30px 42px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;color:var(--gold);border:1px solid #cbb27b66;border-radius:50%}.brand-mark .icon{width:31px;height:31px}.brand strong{display:block;font-family:"Noto Serif SC",Songti SC,SimSun,serif;font-size:24px;font-weight:500;letter-spacing:7px}.brand small{display:block;margin-top:3px;font-size:8px;letter-spacing:2.5px;color:var(--gold);opacity:.75}.chapter{position:absolute;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:14px;font-size:11px;letter-spacing:3px;color:#e1ddc8a8;white-space:nowrap}.tiny-star{color:var(--gold)}.chapter-line{display:block;width:25px;height:1px;background:var(--line)}.toolbar{display:flex;gap:9px;align-items:center}.tool-button{border:1px solid var(--line);background:#182b2c91;border-radius:3px;min-width:42px;height:40px;display:flex;align-items:center;justify-content:center;gap:9px;padding:0 13px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:border-color .2s,background .2s}.tool-button:hover{border-color:#d4bc82aa;background:#344b49}.tool-button span{font-size:12px;letter-spacing:2px}.tool-button.icon-only{padding:0;width:40px;min-width:40px}.toolbar .icon{width:17px;height:17px;color:#d5d4bb}.location-badge{position:absolute;right:43px;top:100px;display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:2px;color:#cfceb6b5;pointer-events:none}.live-dot{height:5px;width:5px;border-radius:50%;background:#d8bc7d;box-shadow:0 0 12px #ebcd7a88}.welcome{position:absolute;left:6.5%;top:26%;z-index:4;max-width:390px;animation:arrive 1.2s ease both}.eyebrow{display:flex;align-items:center;gap:11px;font-size:8px;letter-spacing:2.4px;font-weight:500;color:var(--gold);line-height:1.8}.eyebrow>span{width:20px;height:1px;background:var(--gold)}h1,h2{font-family:"Noto Serif SC",Songti SC,SimSun,serif;font-weight:400}.welcome h1{font-size:clamp(42px,4vw,64px);line-height:1.45;letter-spacing:5px;margin:23px 0 22px;text-shadow:0 4px 30px #172d2e88}.gold-text{color:#ebd6a8}.welcome-copy{color:#dddcc8bd;font-size:13px;font-weight:300;line-height:2.2;letter-spacing:1.5px;margin:0 0 27px}.welcome-copy>span{display:inline-block;margin-top:8px;color:#f1e8d4d6}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:46px;padding:12px 22px;border:1px solid #d4bc88;background:#d9c08b;color:#263c36;border-radius:2px;font-size:12px;letter-spacing:2px;font-weight:600;transition:background .2s,transform .2s}.primary-button .icon{width:17px;height:17px}.primary-button:hover{background:#efdbad;transform:translateY(-1px)}.welcome-footnote{font-size:10px;color:#c4c7ae8c;letter-spacing:1.4px;margin-top:21px;display:flex;gap:8px;align-items:center}.place-labels{position:absolute;inset:0;pointer-events:none}.place-label{position:absolute;left:0;top:0;display:flex;align-items:center;gap:7px;white-space:nowrap;border:1px solid #dfd4ad30;background:#172b29cc;color:#e9e0c4;box-shadow:0 3px 16px #0c191a22;border-radius:2px;padding:7px 11px;font-size:10px;letter-spacing:1.5px;pointer-events:auto;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:color .2s,border-color .2s,background .2s;will-change:transform;z-index:2}.place-label:hover,.place-label.is-near{border-color:#e0c48b;background:#2b3c31ed;color:#ffe8b7;z-index:3}.label-dot{width:4px;height:4px;border:1px solid #cfb580;transform:rotate(45deg)}.label-lock{font-size:14px;color:#c4b482}.place-labels{opacity:.75}.is-exploring .place-labels{opacity:1}.site-footer{position:absolute;z-index:4;bottom:0;left:0;right:0;padding:22px 42px;display:flex;justify-content:space-between;align-items:center;gap:18px;font-size:10px;letter-spacing:1px;color:#b8c0adba}.footer-note{display:flex;gap:10px;align-items:center}.movement-hint{position:absolute;left:50%;transform:translate(-50%);font-size:9px;letter-spacing:.5px;color:#d0d1b48c;white-space:nowrap}.desktop-hint{display:flex;align-items:center;gap:4px}.movement-hint i{width:14px}kbd{font:9px/1.5 ui-monospace,monospace;border:1px solid #cfccac44;border-radius:2px;padding:2px 4px;color:#d0cfb6}.footer-support{background:none;border:0;display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:1px;color:#e3cc9a}.footer-support .icon{width:17px;height:17px}.footer-support:hover{color:#fff0cc}.touch-hint{display:none}.guide-card{position:absolute;z-index:6;bottom:94px;left:50%;transform:translate(-50%);width:min(620px,calc(100% - 40px));border:1px solid #c8b58066;background:linear-gradient(120deg,#1e302df7,#152625f7);box-shadow:0 12px 60px #071a1b55;display:flex;gap:23px;padding:25px 27px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);animation:fade-in .3s ease}.portrait{width:65px;flex-shrink:0;background:radial-gradient(ellipse,#9a8b5640,transparent 70%);display:flex;align-items:center;justify-content:center;border-right:1px solid var(--line);padding-right:15px}.portrait img{width:64px;height:64px;image-rendering:pixelated;object-fit:contain}.guide-content{flex:1;min-width:0}.guide-meta{display:flex;justify-content:space-between;align-items:center}.guide-meta strong{color:#e3c991;font-size:12px;font-weight:500;letter-spacing:2px}.guide-meta span{font-size:9px;letter-spacing:2px;color:#a3ab93}.guide-content p{font-size:12px;line-height:2;letter-spacing:.7px;color:#e1e0cb;margin:12px 0 15px}.guide-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.quiet-button{border:0;background:none;padding:5px 0;color:#8e9e90;font-size:11px;letter-spacing:.7px}.quiet-button:hover{color:#c9b984}.text-link{border:0;background:none;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:5px 0;font-size:11px;letter-spacing:1px;color:#63795f}.text-link .icon{width:14px;height:14px}.text-link:hover{color:#af7e40}.guide-actions .text-link{color:var(--gold)}.interact-prompt{position:absolute;z-index:4;bottom:120px;left:50%;transform:translate(-50%)}.interact-prompt button{display:flex;align-items:center;gap:12px;border:1px solid #dbca9666;background:#1d3532e8;padding:10px 15px;font-size:12px;color:#f1dfb9;border-radius:3px;box-shadow:0 8px 25px #12222166}.interact-prompt .icon{width:16px;height:16px}.interact-prompt kbd{font-size:11px;background:#cabb8f;color:#233d33}.joystick,.touch-interact{display:none}.loading{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:19px;background:#172c30;font-size:11px;letter-spacing:4px;color:#c7b88e}.loading-flower{font-size:36px;animation:slow-spin 5s linear infinite}.fallback{position:absolute;inset:0;padding:150px 12% 70px;background:radial-gradient(ellipse at 70% 30%,#466055,#182f32)}.fallback h1{font-size:52px;line-height:1.5;letter-spacing:4px}.fallback p:not(.eyebrow){max-width:460px;font-size:14px;line-height:2;color:#bfc9b9}.fallback .primary-button{margin-top:20px}.content-dialog{width:min(620px,calc(100% - 36px));max-height:86svh;border:1px solid #b8b08e;border-radius:4px;background:var(--paper);color:var(--ink);padding:0;box-shadow:0 30px 120px #071c20aa;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#a3a58c transparent}.content-dialog::backdrop{background:#0b2429a8;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}#dialog-body{padding:42px 42px 35px}.dialog-close{position:sticky;top:16px;float:right;margin:16px 16px -48px 0;width:32px;height:32px;z-index:2;background:#dedbcb;border:1px solid #c8c7b7;border-radius:50%;color:#526255;display:grid;place-items:center}.dialog-close:hover{background:#d2ccb6}.dialog-close .icon{width:17px;height:17px}.dialog-heading{text-align:center;margin-bottom:26px}.dialog-symbol{display:inline-grid;place-items:center;width:52px;height:52px;border:1px solid #b9b294;color:#8b875f;transform:rotate(0);font-size:27px;margin-bottom:19px;border-radius:50%}.dialog-heading .eyebrow{justify-content:center;color:#8a815f;font-size:8px;letter-spacing:2.6px}.dialog-heading h2{font-size:32px;letter-spacing:5px;margin:13px 0 10px}.dialog-heading>p:last-child{font-size:12px;line-height:1.9;color:#7c8372;letter-spacing:1px}.section-intro{font-size:12px;line-height:2.1;letter-spacing:.4px;color:#627465;margin:0 0 23px}.link-card{display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid #c8c9b8;background:#f3f0e658;padding:19px 20px;margin:12px 0;border-radius:2px}.link-card>div{min-width:0}.link-card h3{font-size:14px;font-weight:500;letter-spacing:1px;margin:6px 0 8px}.link-card p{font-size:11px;line-height:1.9;color:#7c8575;margin:0}.link-card>.text-link{flex-shrink:0}.card-tag{display:inline-block;color:#9b906e;font-size:8px;letter-spacing:1.5px;line-height:1.8}.unavailable{cursor:pointer;opacity:.64;flex-direction:column;gap:3px!important}.unavailable span{font-size:9px;letter-spacing:1px;font-weight:400}.empty-note{border:1px dashed #c2c5b0;text-align:center;padding:25px 22px;margin:15px 0;color:#919981}.empty-note>span{display:block;font-size:23px;color:#acaa86;margin-bottom:12px}.empty-note>strong{font-size:12px;font-weight:400;letter-spacing:2px}.empty-note>p{font-size:11px;line-height:2;max-width:340px;margin:10px auto 0;color:#949b87}.section-label{display:flex;align-items:center;gap:13px;font-size:13px;font-weight:500;letter-spacing:2px;margin:27px 0 12px}.section-label span{font-size:8px;letter-spacing:2px;font-weight:400;color:#a3a58c}.paper-note{background:#e4e1d3;padding:22px 24px;border-left:2px solid #a9a27c}.paper-note h3{font-family:Songti SC,SimSun,serif;font-weight:500;letter-spacing:2px;font-size:17px}.paper-note p{font-size:12px;line-height:2.2;color:#74816e}.book-card{display:flex;gap:20px;padding:17px 0;border-bottom:1px solid #c8c9b8}.book-spine{width:58px;min-height:90px;flex-shrink:0;background:#5f7667;border-left:5px solid #425d51;color:#e8d7ae;padding:12px;writing-mode:vertical-rl;font-family:serif;letter-spacing:3px;font-size:12px}.book-card h3{font-size:14px;font-weight:500;margin:1px 0 7px}.book-card small{font-size:10px;color:#8f967f}.book-card p{font-size:11px;color:#74816e;line-height:1.9}.experiment-card{text-align:center;padding:23px 22px 27px;background:linear-gradient(135deg,#dae0cf,#e5e5d8);border:1px solid #c1c8b1}.experiment-orb{display:grid;place-items:center;width:65px;height:65px;margin:3px auto 16px;border:1px solid #94a38c;border-radius:50%;font-size:38px;color:#6e8a75;background:radial-gradient(circle,#e0eadc,transparent);box-shadow:0 0 0 8px #aebda926}.experiment-card h3{font-family:serif;font-size:21px;font-weight:400;letter-spacing:2px}.experiment-card p{font-size:12px;line-height:1.9;color:#7b8772}.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid #899b80;background:transparent;color:#536d5b;padding:11px 18px;border-radius:2px;font-size:12px;letter-spacing:1px}.secondary-button:hover{background:#cad2be}.secondary-button .icon{width:16px;height:16px}.note-details{border-bottom:1px solid #c7c8b6;margin-top:22px;padding:14px 0}.note-details summary{cursor:pointer;font-size:12px;color:#6e7c65;letter-spacing:1px}.note-details p{font-size:12px;line-height:2;color:#7e8873}.feature-row{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:20px 0}.feature-row span{padding:7px 12px;border:1px solid #bbc5b0;font-size:10px;letter-spacing:1px;color:#6f826d}.small-note{font-size:10px;line-height:2;color:#8c957d;margin:17px 0}.meditation-art{position:relative;height:155px;background:linear-gradient(135deg,#dce2d2,#e6e7dc);display:flex;align-items:center;justify-content:center;gap:25px;margin-bottom:25px}.enso{width:89px;height:89px;border:4px solid #8d9c82;border-top-color:transparent;border-right-width:2px;border-radius:50%;transform:rotate(-25deg);opacity:.7}.meditation-art>span{writing-mode:vertical-rl;letter-spacing:6px;font-family:serif;font-size:14px;color:#73856e}.full-width{width:100%;gap:13px}.support-card{text-align:center;background:#e4dfce;border:1px solid #cbbf9e;padding:27px 30px;margin-bottom:20px}.support-icon{display:inline-grid;place-items:center;width:62px;height:62px;border-radius:50%;background:#d9c99e;color:#776b45}.support-icon .icon{width:29px;height:29px}.support-card h3{font-family:serif;font-size:22px;font-weight:400;letter-spacing:2px}.support-card p{font-size:11px;color:#938568;line-height:1.9;margin-bottom:22px}.notice{border-left:2px solid #b4ac86;padding:10px 15px;background:#dedfce80;font-size:10px;line-height:2;color:#8a8e75;margin:23px 0 0}.unlock-form{margin:25px 0}.unlock-form label{display:block;font-size:11px;letter-spacing:2px;color:#7b886f;margin-bottom:11px}.key-input{display:flex;gap:9px}.key-input input{min-width:0;flex:1;border:1px solid #b7bea8;border-radius:2px;padding:13px;background:#f6f3e8;color:#364c3e;font-size:13px;letter-spacing:1px}.key-input .primary-button{gap:8px;white-space:nowrap;padding:10px 15px}.form-status{min-height:20px;font-size:11px;line-height:1.8;color:#867954}.private-room{display:flex;align-items:center;gap:13px;border:1px solid #a8b99e;background:#d9e1cf;padding:17px;margin:9px 0;font-size:12px}.private-room span{flex:1}.private-room .icon{width:16px;height:16px}.map-places{display:grid;grid-template-columns:1fr 1fr;gap:12px}.map-place{display:flex;gap:11px;padding:17px 12px;background:#e3e2d3;border:1px solid #ccceba}.map-number{font-family:Georgia,serif;font-size:14px;color:#a6aa8d;padding-top:1px}.map-place h3{font-size:13px;font-weight:500;letter-spacing:1px;margin:0 0 8px}.map-place p{font-size:10px;line-height:1.9;color:#8a957f;margin:0}.map-place-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:11px}.map-place .text-link,.map-place .quiet-button{font-size:10px}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.help-grid h3{font-size:14px;font-weight:400;letter-spacing:2px}.help-grid p{font-size:12px;line-height:2.5;color:#7a8770}.help-grid kbd{color:#63775f;border-color:#b8c2ac;font-size:10px}.help-grid+.notice{margin-bottom:24px}.toast{position:fixed;margin:0;overflow:visible;inset:auto auto 80px 50%;transform:translate(-50%);z-index:100;padding:13px 22px;max-width:calc(100% - 30px);background:#263f38f5;border:1px solid #a7a67b;color:#e8dfbd;border-radius:3px;font-size:11px;line-height:1.9;text-align:center;box-shadow:0 5px 30px #11272277;animation:fade-in .2s ease}@keyframes arrive{0%{opacity:0;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slow-spin{to{transform:rotate(360deg)}}@media(min-width:1600px){.welcome{left:8%;top:28%}.site-header{padding:35px 55px}.site-footer{padding:28px 55px}.location-badge{right:55px;top:110px}}@media(max-width:1100px){.chapter{display:none}.welcome{left:5%;top:25%}.welcome h1{font-size:47px}.welcome .eyebrow{font-size:7px;letter-spacing:1.7px}.footer-note{font-size:9px}.movement-hint{left:51%;font-size:8px}.movement-hint kbd{font-size:8px}.site-footer{padding:22px 25px}.site-header{padding:25px}.location-badge{right:25px;top:90px}}@media(max-width:700px){.world-shell{min-height:320px}.site-header{padding:calc(18px + env(safe-area-inset-top)) 20px 18px;gap:15px}.brand{gap:9px}.brand-mark{width:34px;height:34px}.brand-mark .icon{width:25px;height:25px}.brand strong{font-size:20px;letter-spacing:5px}.brand small{font-size:6px;letter-spacing:1.5px}.toolbar{gap:6px}.tool-button{height:35px;min-width:35px;padding:0 10px;gap:6px}.tool-button.icon-only{width:35px;min-width:35px}.tool-button span{font-size:10px}.toolbar .icon{width:15px;height:15px}.location-badge{right:22px;top:calc(78px + env(safe-area-inset-top));font-size:8px;letter-spacing:1px}.welcome{inset:auto 24px 112px 26px;max-width:340px}.welcome h1{font-size:43px;letter-spacing:4px;line-height:1.4;margin:18px 0}.welcome-copy{font-size:11px;line-height:2;letter-spacing:1px;margin-bottom:20px}.welcome-copy>span{margin-top:5px}.welcome-footnote{font-size:9px;margin-top:16px}.welcome .eyebrow{font-size:6px;letter-spacing:1.8px}.primary-button{min-height:44px;font-size:11px}.world-shade{background:linear-gradient(0deg,#0f2022fc,#0f2022c4 31%,#0f202226 70%,#0f202240)}.is-exploring .world-shade{background:linear-gradient(0deg,rgba(15,32,34,.7),transparent 28%,transparent 85%,rgba(15,32,34,.35))}.site-footer{padding:18px 21px calc(19px + env(safe-area-inset-bottom));font-size:8px;gap:10px}.footer-note{font-size:8px;letter-spacing:.3px;gap:7px}.footer-note .tiny-star{display:none}.footer-support{font-size:9px;letter-spacing:.5px;padding:7px 0;gap:6px}.footer-support .icon{width:15px;height:15px}.movement-hint,.is-exploring .footer-note{display:none}.is-exploring .movement-hint{display:block;position:static;transform:none;font-size:8px;max-width:180px;white-space:normal;line-height:1.8}.desktop-hint{display:none}.touch-hint{display:block}.guide-card{bottom:95px;width:calc(100% - 32px);gap:13px;padding:20px 17px}.portrait{width:48px;padding-right:10px}.portrait img{width:47px;height:47px}.guide-content p{font-size:11px;line-height:2;margin-top:11px;letter-spacing:.3px}.guide-meta strong{font-size:11px;letter-spacing:1px}.guide-meta span{font-size:8px}.guide-actions .text-link,.guide-actions .quiet-button{font-size:10px}.place-label{font-size:9px;padding:6px 8px;letter-spacing:1px;gap:5px}.place-labels{opacity:.45}.is-exploring .place-labels{opacity:.95}.joystick{position:absolute;z-index:5;left:25px;bottom:calc(80px + env(safe-area-inset-bottom));display:grid;place-items:center;width:108px;height:108px;touch-action:none}.joystick-ring{width:98px;height:98px;border:1px solid #c6d3ac55;border-radius:50%;display:grid;place-items:center;background:#1c393542;box-shadow:inset 0 0 25px #1b353344;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.joystick-ring:before,.joystick-ring:after{content:"";position:absolute;background:#c8c9a72b}.joystick-ring:before{width:50px;height:1px}.joystick-ring:after{height:50px;width:1px}.joystick-knob{position:relative;z-index:1;width:39px;height:39px;border:1px solid #dfd3a778;border-radius:50%;background:#c5bc943d;box-shadow:0 3px 10px #142a2a44}.touch-interact{position:absolute;right:31px;bottom:calc(101px + env(safe-area-inset-bottom));z-index:5;width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;background:#263f3566;border:1px solid #c5c69944;color:#c9cbb080;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);font-size:9px}.touch-interact.is-ready{background:#b8ab78c7;color:#263b31;border-color:#e0c98f;box-shadow:0 0 20px #dbbe7033}.touch-interact .icon{width:20px;height:20px}.interact-prompt{bottom:calc(205px + env(safe-area-inset-bottom))}.interact-prompt button{font-size:10px;gap:8px;padding:8px 12px}.interact-prompt kbd{display:none}.content-dialog{max-height:85svh;width:calc(100% - 24px)}#dialog-body{padding:34px 23px 25px}.dialog-heading h2{font-size:28px;letter-spacing:4px}.dialog-heading .eyebrow{font-size:7px;letter-spacing:1.5px}.dialog-heading>p:last-child{font-size:11px}.dialog-symbol{width:45px;height:45px;font-size:24px}.link-card{padding:17px 15px;gap:12px}.link-card h3{font-size:12px}.link-card p{font-size:10px}.link-card>.text-link{font-size:10px}.section-intro{font-size:11px}.empty-note{padding:23px 16px}.empty-note>p{font-size:10px}.map-places{grid-template-columns:1fr}.map-place{padding:17px;gap:17px}.map-place h3{font-size:13px}.map-place p{font-size:11px}.map-place-actions{gap:22px}.map-place .text-link,.map-place .quiet-button{font-size:11px}.help-grid{grid-template-columns:1fr;gap:7px}.key-input{flex-direction:column}.key-input input{width:100%;min-height:45px}.key-input .primary-button{width:100%}.support-card{padding:25px 20px}.toast{bottom:calc(210px + env(safe-area-inset-bottom));font-size:10px;width:max-content;max-width:calc(100% - 36px)}.fallback{padding:145px 28px 70px}.fallback h1{font-size:38px}.fallback p:not(.eyebrow){font-size:12px}.meditation-art{height:140px}}@media(max-height:620px)and (min-width:701px){.welcome{top:20%}.welcome h1{font-size:39px;margin:12px 0}.welcome-copy{font-size:11px;line-height:1.8;margin-bottom:14px}.welcome-footnote{margin-top:12px}.site-header{padding-top:18px}.site-footer{padding-bottom:15px}.guide-card{bottom:65px;padding:18px 24px}.location-badge{top:76px}}@media(pointer:coarse)and (min-width:701px){.joystick{display:grid;position:absolute;left:30px;bottom:80px;z-index:5;width:100px;height:100px;touch-action:none}.joystick-ring{width:95px;height:95px;border:1px solid #d6cda655;border-radius:50%;display:grid;place-items:center;background:#203b3577}.joystick-knob{width:38px;height:38px;border:1px solid #dacb9d99;background:#c5bc9455;border-radius:50%}.touch-interact{display:flex;position:absolute;z-index:5;right:35px;bottom:100px;width:65px;height:65px;align-items:center;justify-content:center;flex-direction:column;gap:4px;border-radius:50%;border:1px solid #d6cda655;background:#203b3588;font-size:10px}.touch-interact.is-ready{background:#b8ab78c7;color:#263b31}.desktop-hint{display:none}.touch-hint{display:block}}@media(max-height:500px){.welcome{top:83px;bottom:auto}.welcome h1{font-size:29px;line-height:1.25;margin:9px 0}.welcome-copy{font-size:10px;line-height:1.6;margin-bottom:11px}.welcome-copy>span{margin-top:3px}.welcome-footnote{margin-top:10px;font-size:8px}.welcome .primary-button{min-height:38px;padding:9px 17px}.welcome .eyebrow{font-size:6px;letter-spacing:1.3px}.site-header{padding-top:15px;padding-bottom:12px}.site-footer{padding-top:12px;padding-bottom:12px}.location-badge{top:65px}.guide-card{bottom:58px;max-height:calc(100svh - 145px);overflow:auto;padding:15px 20px}.guide-content p{margin:9px 0;font-size:11px}.joystick{bottom:50px!important}.touch-interact{bottom:67px!important}.interact-prompt,.toast{bottom:65px}.content-dialog{max-height:92svh}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.cat-panel{text-align:center}.cat-heading h2{margin:0;color:var(--ink);font-size:26px;line-height:1.5;letter-spacing:4px}.cat-stage{width:min(400px,100%);margin:0 auto}.cat-illustration{display:block;width:100%;height:auto;overflow:visible}.cat-head{transform-box:fill-box;transform-origin:50% 85%}.cat-drawing{transform-origin:200px 226px}.cat-tail{transform-origin:164px 200px;animation:cat-tail-sway 4s ease-in-out infinite}.cat-costume,.cat-eyes-closed,.cat-sleep-marks{display:none}.cat-panel[data-outfit=scarf] .cat-costume-scarf,.cat-panel[data-outfit=raincoat] .cat-costume-raincoat{display:block}.cat-food-art,.cat-person,.cat-river,.cat-caught-fish{display:none}.cat-panel[data-activity=eating][data-food=kibble] .cat-kibble,.cat-panel[data-activity=eating][data-food=chicken] .cat-chicken,.cat-panel[data-activity=eating][data-food=grass] .cat-grass,.cat-panel[data-activity=eating][data-food=fish] .cat-fish-food{display:block}.cat-panel[data-activity=eating] .cat-head{animation:cat-nibble .8s ease-in-out infinite}.cat-panel[data-activity=sleeping] .cat-drawing{transform:translateY(15px) scaleY(.92)}.cat-panel[data-activity=sleeping] .cat-head{transform:translate(4px,10px) rotate(9deg)}.cat-panel[data-activity=sleeping] .cat-tail{animation:none}.cat-panel[data-activity=sleeping] .cat-eyes-open{display:none}.cat-panel[data-activity=sleeping] .cat-eyes-closed,.cat-panel[data-activity=sleeping] .cat-sleep-marks{display:block}.cat-panel[data-activity=sleeping] .cat-sleep-marks{animation:cat-dream 3s ease-in-out infinite}.cat-status{display:flex;align-items:center;justify-content:center;gap:7px;min-height:26px;margin:0 0 16px;color:#71664c;font-size:12px;line-height:1.7;letter-spacing:1px}.cat-status>span{display:inline-flex;align-items:center}.cat-status .icon{width:17px;height:17px}.cat-feed{min-width:190px;min-height:48px;gap:12px;border-radius:9px}.cat-feed:disabled{cursor:default;opacity:.65;transform:none}.cat-outfits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:22px;padding-top:20px;border-top:1px solid #b99b7266}.cat-outfit{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:80px;padding:12px 7px;border:1px solid #b99b7280;border-radius:10px;background:#fff7e180;color:#795c39;font-size:12px;line-height:1.5}.cat-outfit>.icon{width:26px;height:26px}.cat-outfit:hover{background:#fff7e1;border-color:#9d7b52}.cat-outfit[aria-pressed=true]{border-color:#795c39;background:#f0dfb8;box-shadow:inset 0 0 0 1px #795c39;color:#4e3c2c}.cat-outfit-check{position:absolute;top:5px;right:5px;display:none;width:15px;height:15px}.cat-outfit-check .icon{width:15px;height:15px}.cat-outfit[aria-pressed=true] .cat-outfit-check{display:block}.cat-panel button:focus-visible,.cat-wardrobe summary:focus-visible{outline:3px solid #795c39;outline-offset:3px}.cat-panel .cat-stage{width:min(310px,100%)}.cat-foods{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px}.cat-choice{display:flex;align-items:center;justify-content:center;gap:7px;min-width:44px;min-height:48px;padding:10px 5px;border:1px solid #b99b7280;border-radius:10px;background:#fff7e180;color:#795c39;font-size:12px;line-height:1.5}.cat-foods .cat-choice{flex-direction:column;min-height:64px}.cat-choice:hover{background:#fff7e1;border-color:#9d7b52}.cat-choice[aria-pressed=true]{background:#f0dfb8;border-color:#795c39;box-shadow:inset 0 0 0 1px #795c39}.cat-choice:disabled{cursor:default;opacity:.5}.cat-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:16px}.cat-wardrobe{margin-top:16px;border-top:1px solid #b99b7266}.cat-wardrobe summary{display:flex;align-items:center;justify-content:center;gap:9px;min-height:48px;color:#795c39;cursor:pointer;font-size:12px;list-style:none}.cat-wardrobe summary::-webkit-details-marker{display:none}.cat-wardrobe[open] summary>.icon:last-child{transform:rotate(180deg)}.cat-wardrobe .cat-outfits{margin-top:0;padding-top:0;border-top:0}.cat-panel[data-perch=head] .cat-person,.cat-panel[data-perch=shoulders] .cat-person,.cat-panel[data-activity=fishing] .cat-river,.cat-panel[data-caught=true] .cat-caught-fish{display:block}.cat-panel[data-perch=head] .cat-drawing{transform:translateY(-75px) scale(.64,.57)}.cat-panel[data-perch=shoulders] .cat-drawing{transform:translate(24px,-18px) rotate(-12deg) scale(.7,.48)}.cat-panel[data-perch=head] .cat-bowl,.cat-panel[data-perch=shoulders] .cat-bowl,.cat-panel[data-activity=fishing] .cat-bowl{display:none}.cat-panel[data-activity=jumping] .cat-drawing{animation:cat-hop 1s ease-in-out}.cat-panel[data-activity=fishing] .cat-drawing{transform:translate(54px,-3px) scale(.85)}.cat-panel[data-activity=fishing] .cat-head{transform:translate(7px,10px) rotate(9deg)}.cat-panel[data-activity=fishing] .cat-water-fish{animation:cat-fish-dart 1.5s ease-in-out infinite}.cat-panel[data-caught=true] .cat-water-fish{display:none}@keyframes cat-hop{50%{translate:0 -20px}}@keyframes cat-fish-dart{50%{translate:-22px 3px}}@keyframes cat-tail-sway{50%{transform:rotate(5deg)}}@keyframes cat-nibble{50%{transform:translateY(13px) rotate(4deg)}}@keyframes cat-dream{50%{opacity:.4;transform:translateY(-4px)}}@media(max-width:480px){.site-header.has-cat-companion{gap:8px}.site-header.has-cat-companion .brand{padding:7px}.site-header.has-cat-companion .brand strong{display:none}.site-header.has-cat-companion .toolbar{gap:4px}.cat-outfits{gap:8px}.cat-outfit{font-size:11px;min-height:76px}}@media(max-height:500px){.cat-panel .cat-stage{width:min(220px,100%)}}:root{--gold: #aa7b49;--ink: #4e3c2c;--muted: #857157;--paper: #fff1ce;--line: #b99b72;--world-ink: #4e3c2c;--world-secondary: #71664c;--world-panel: #fff1cef5;--frame: #62472d;color:var(--ink);background:#e6ecdc}.world-shell{background:#e6ecdc}.world-shade{background:linear-gradient(0deg,#e6ecdc9c,transparent 14%,transparent 90%,#e6ecdc66)}.is-exploring .world-shade{background:linear-gradient(0deg,#e6ecdc99,transparent 12%)}.brand{gap:10px;padding:9px 15px 9px 10px;border:3px solid var(--frame);border-radius:3px;background:var(--paper);box-shadow:inset 0 2px #fff9e8,inset 0 -3px #d2ae7a,0 4px #62472d26}.brand-mark{width:32px;height:32px;color:#795c39;border:0;border-radius:0}.brand-mark .icon{width:28px;height:28px}.brand strong{color:#4e3c2c;font-size:22px;letter-spacing:5px}.brand small{color:#8a6b43;font-size:7px}.chapter{padding:9px 15px;color:#725735;background:#fff1ced9;border:2px solid #9d7b52;border-radius:3px;letter-spacing:2px}.chapter-line{background:#b99b72}.tiny-star{color:#aa7b49}.tool-button{color:#4e3c2c;border:2px solid var(--frame);border-radius:3px;background:var(--paper);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:inset 0 2px #fff9e8,inset 0 -3px #d2ae7a,0 3px #62472d26}.tool-button:hover{border-color:#4e3c2c;background:#fff7e1}.toolbar .icon{color:#62472d}.location-badge{color:var(--world-secondary);top:119px;font-weight:500}.live-dot{background:#729151;box-shadow:none}.welcome{top:24%;max-width:370px;padding:49px 28px 24px;border:3px solid var(--frame);border-radius:3px;background:#fff1cef5;box-shadow:inset 0 0 0 3px #fff9e8,inset 0 -7px #d2ae7a,0 7px #62472d26,0 15px 40px #4e3c2c14}.welcome:before{content:"此间 · 一座生长中的小镇";position:absolute;top:0;left:0;right:0;padding:9px 16px;color:#fff7e1;background:#b58c59;border-bottom:3px solid var(--frame);font-size:11px;letter-spacing:2px;box-shadow:inset 0 2px #d2ae7a}.welcome h1{color:#4e3c2c;font-size:clamp(34px,3.1vw,46px);line-height:1.35;letter-spacing:3px;text-shadow:none;margin:16px 0}.gold-text{color:#8b6037}.eyebrow{color:#92734c}.welcome .eyebrow{font-size:7px;letter-spacing:1.5px}.welcome-copy{color:#7b6548;font-size:12px;font-weight:400;line-height:2;letter-spacing:1px;margin-bottom:20px}.welcome-copy>span{color:#4e3c2c}.primary-button{color:#fff7e1;background:#aa7b49;border:2px solid #62472d;border-radius:3px;box-shadow:inset 0 2px #d2ae7a,inset 0 -3px #886442,0 3px #62472d26}.primary-button:hover{color:#fff9e8;background:#b58c59}.primary-button:active{transform:translateY(2px);box-shadow:inset 0 2px #886442}.welcome-footnote{color:#8d7859;font-size:9px;letter-spacing:.5px;margin-top:18px}.place-label{color:#4e3c2c;background:#fff1cef5;border:2px solid #795c39;border-radius:3px;padding:6px 10px;font-size:10px;letter-spacing:1px;font-weight:600;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:inset 0 1px #fff9e8,inset 0 -2px #d2ae7a,0 3px #62472d26}.place-label:hover,.place-label.is-near{color:#fff7e1;background:#aa7b49;border-color:#62472d;box-shadow:inset 0 1px #d2ae7a,0 3px #62472d33}.label-dot{width:5px;height:5px;background:#729151;border:0;transform:none}.label-lock{color:inherit}.place-labels{opacity:.92}.site-footer{color:var(--world-secondary)}.footer-support{color:#4e3c2c;background:#fff1ceee;padding:8px 12px;border:2px solid #795c39;border-radius:3px;box-shadow:inset 0 -2px #d2ae7a,0 3px #62472d26}.footer-support:hover{color:#62472d;background:#fff7e1}.footer-support .support-label{display:grid;gap:2px;text-align:left;line-height:1.3}.footer-support small{font-size:8px;letter-spacing:.3px;white-space:nowrap}.movement-hint{color:var(--world-secondary)}.movement-hint kbd{color:#62472d;border-color:#9d7b52;background:#fff1cebd}.guide-card{border:3px solid #62472d;border-radius:3px;background:#fff1cef5;box-shadow:inset 0 0 0 2px #fff9e8,inset 0 -5px #d2ae7a,0 6px #62472d33;-webkit-backdrop-filter:none;backdrop-filter:none}.portrait{background:#e2c99b;border:2px solid #9d7b52;padding:0;align-self:flex-start}.portrait img{width:61px;height:70px;image-rendering:auto}.guide-meta{color:#fff7e1;background:#b58c59;border:1px solid #886442;padding:5px 8px}.guide-meta strong{color:#fff7e1;font-size:11px}.guide-meta span{color:#fff1ce}.guide-content p{color:#624b32}.guide-actions .text-link,.guide-actions .quiet-button{color:#795c39}.interact-prompt button{color:#4e3c2c;background:#fff1cefa;border:2px solid #62472d;border-radius:3px;box-shadow:inset 0 -3px #d2ae7a,0 4px #62472d26}.interact-prompt kbd{color:#fff1ce;background:#aa7b49;border-color:#62472d}.loading{color:#795c39;background:#e6ecdc}.loading-flower{color:#aa7b49}.fallback{background:#e6ecdc;color:#4e3c2c}.fallback p:not(.eyebrow){color:#71664c}.content-dialog{border:3px solid #62472d;border-radius:3px;background:#fff1ce;box-shadow:inset 0 0 0 3px #fff9e8,0 7px #4e3c2c33,0 25px 100px #3b403c66}.content-dialog::backdrop{background:#3b403c6b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.dialog-close{color:#fff7e1;border:2px solid #62472d;border-radius:3px;background:#b58c59;box-shadow:inset 0 1px #d2ae7a}.dialog-close:hover{background:#937149}.dialog-symbol{color:#795c39;border:2px solid #9d7b52;border-radius:3px;background:#f0dfb8}.dialog-heading h2{color:#4e3c2c}.dialog-heading .eyebrow,.dialog-heading>p:last-child{color:#8a6b43}.section-intro,.paper-note p,.book-card p,.note-details p,.experiment-card p,.help-grid p{color:#79654a}.link-card,.experiment-card,.support-card,.empty-note,.map-place,.notice,.private-room{border-radius:3px}.link-card{background:#fff7e1;border-color:#c5a579;box-shadow:inset 0 1px #fff9e8,0 2px #d2ae7a40}.link-card p,.map-place p,.empty-note>p,.small-note{color:#8a7455}.link-card h3{color:#4e3c2c}.card-tag,.section-label span{color:#937149}.text-link,.quiet-button{color:#7b582f}.text-link:hover,.quiet-button:hover{color:#4e3c2c}.empty-note{border-color:#b99b72;color:#8a7455}.empty-note>span{color:#aa7b49}.paper-note{border-color:#aa7b49;border-radius:0;background:#f0dfb8}.map-place{background:#f8e8c4;border:2px solid #b99b72;box-shadow:inset 0 1px #fff9e8}.map-number{color:#aa7b49}.book-spine{color:#fff1ce;background:#708b83;border-color:#506f66}.support-card{background:#f0dfb8;border:2px solid #b99b72}.support-icon{color:#795c39;background:#e2c99b;border:2px solid #b99b72;border-radius:3px}.support-card p,.notice{color:#8a6b43}.notice{background:#f0dfb880;border-color:#aa7b49}.experiment-card{background:#e6e9cf;border:2px solid #a5b28b}.experiment-orb{color:#708b63;border-color:#91a47e;background:#f0f2dc;box-shadow:0 0 0 6px #91a47e1f}.secondary-button{color:#62472d;border:2px solid #9d7b52;border-radius:3px;background:#fff7e1;box-shadow:inset 0 -2px #e2c99b}.secondary-button:hover{background:#f0dfb8}.key-input input{color:#4e3c2c;background:#fff9e8;border:2px solid #9d7b52;border-radius:3px;box-shadow:inset 0 2px #d2ae7a66}.unlock-form label,.form-status{color:#795c39}.private-room{color:#4e3c2c;background:#e6e9cf;border:2px solid #a5b28b}.private-room-group{min-width:0;margin:18px 0 24px}.private-room span{min-width:0;overflow-wrap:anywhere}.room-security-note{color:#79451e;border-left:3px solid #aa7b49;padding-left:10px;font-size:11px;line-height:1.8;overflow-wrap:anywhere}.treasure-chest{min-width:0;margin:14px 0;padding:20px;border:3px solid var(--frame);border-radius:3px;background:repeating-linear-gradient(0deg,#b99b7214 0 2px,transparent 2px 29px),#f0dfb8;box-shadow:inset 0 3px #fff1ce,inset 0 -5px #c5a579,0 4px #62472d26}.chest-heading{display:flex;align-items:center;gap:13px;min-width:0}.chest-heading>div{min-width:0}.chest-heading h4{color:var(--ink);margin:5px 0 0;font-size:16px;line-height:1.5;overflow-wrap:anywhere}.chest-emblem{display:grid;place-items:center;flex:0 0 46px;height:42px;color:#fff7e1;background:#937149;border:2px solid var(--frame);border-radius:12px 12px 3px 3px;box-shadow:inset 0 3px #d2ae7a}.chest-emblem .icon{width:28px;height:28px}.treasure-chest>.small-note{color:#795c39;margin:14px 0;line-height:1.8}.chest-form label{display:block;color:#62472d;margin-bottom:10px;font-size:12px;line-height:1.7}.chest-form .key-input{flex-wrap:wrap}.chest-form .key-input input{flex:1 1 180px;width:0;max-width:100%}.chest-form .key-input .primary-button{white-space:normal}.chest-form .form-status{margin-bottom:0;overflow-wrap:anywhere}.chest-content{min-width:0;margin-top:18px;padding-top:16px;border-top:2px dashed #b99b72}.chest-content h5{margin:0 0 10px;color:#62472d;font-size:14px;line-height:1.6;overflow-wrap:anywhere}.chest-value{max-width:100%;max-height:18rem;margin:0;padding:14px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;-webkit-user-select:text;user-select:text;color:#4e3c2c;background:#fff9e8;border:2px solid #b99b72;border-radius:3px;font-size:13px;line-height:1.8}.chest-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:13px}.chest-actions button{min-height:44px;max-width:100%;white-space:normal;overflow-wrap:anywhere}.treasure-chest :focus-visible{outline:3px solid #795c39;outline-offset:3px}.joystick-ring{border:2px solid #795c39aa;background:#fff1ce75;box-shadow:inset 0 2px #fff9e8aa,0 3px #62472d26}.joystick-ring:before,.joystick-ring:after{background:#795c3955}.joystick-knob{border:2px solid #62472d;background:#b58c59d9;box-shadow:inset 0 2px #d2ae7a,0 3px #62472d33}.touch-interact{color:#937149;background:#fff1cecc;border:2px solid #795c3999;box-shadow:inset 0 -3px #d2ae7a66}.touch-interact.is-ready{color:#fff7e1;background:#aa7b49;border-color:#62472d;box-shadow:inset 0 2px #d2ae7a,0 4px #62472d33}.toast{color:#fff1ce;background:#795c39f5;border:2px solid #4e3c2c;border-radius:3px}.changelog-list{list-style:none;margin:26px 0;padding:0 0 0 19px;border-left:2px solid #b99b72}.changelog-entry{position:relative;min-width:0;margin:0 0 18px;padding:18px;background:#f8e8c4;border:2px solid #b99b72;border-radius:3px;box-shadow:inset 0 2px #fff9e8,0 3px #62472d14}.changelog-entry:before{content:"";position:absolute;left:-27px;top:23px;width:10px;height:10px;background:#aa7b49;border:2px solid #fff1ce;border-radius:50%}.changelog-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;color:#795c39;font-size:11px}.changelog-meta time{letter-spacing:1px}.changelog-entry h3{margin:11px 0 8px;font-size:17px;line-height:1.6;overflow-wrap:anywhere}.changelog-entry p{margin:0;color:#795c39;font-size:13px;line-height:1.9;overflow-wrap:anywhere}body.is-night{--world-secondary: #e2d4b8}.is-night .world-shade,.is-night.is-exploring .world-shade{background:linear-gradient(0deg,#263f4380,transparent 15%)}.is-night .place-label{background:#62472df5;border-color:#d2ae7a;color:#fff1ce;box-shadow:inset 0 1px #937149,0 3px #263f4340}.is-night .place-label.is-near{background:#aa7b49}@media(max-width:1100px){.welcome{max-width:340px;padding-left:24px;padding-right:24px}.welcome h1{font-size:38px}.location-badge{top:110px}}@media(max-width:700px){.brand{gap:5px;padding:6px 9px 6px 6px;border-width:2px}.brand-mark{width:25px;height:25px}.brand-mark .icon{width:23px;height:23px}.brand strong{font-size:18px;letter-spacing:4px}.brand small{font-size:6px}.toolbar .tool-button{border-radius:3px}.location-badge{top:calc(91px + env(safe-area-inset-top))}.welcome{inset:auto 24px 107px;max-width:340px;padding:45px 22px 20px}.welcome h1{font-size:34px;line-height:1.3;margin:13px 0}.welcome-copy{font-size:11px;margin-bottom:17px}.welcome-footnote{margin-top:14px;font-size:8px}.world-shade,.is-exploring .world-shade{background:linear-gradient(0deg,#e6ecdc99,transparent 25%)}.place-labels{opacity:.85}.place-label{font-size:9px;padding:5px 8px}.footer-support{padding:7px 9px}.guide-card{padding:17px 14px;gap:12px}.portrait img{width:44px;height:51px}.guide-meta{padding:4px 6px}.guide-meta strong{font-size:10px}.content-dialog{border-radius:3px}.treasure-chest{padding:16px 13px}.chest-form .key-input input{flex-basis:auto;width:100%}.chest-actions{align-items:stretch}.chest-actions button{flex:1 1 140px}}@media(max-height:500px){.welcome{top:78px;bottom:auto;max-width:315px;padding:36px 20px 15px}.welcome:before{padding:6px 12px;font-size:10px}.welcome h1{font-size:27px;margin:8px 0}.welcome-copy{font-size:10px;line-height:1.6;margin-bottom:10px}.welcome-footnote{display:none}.location-badge{top:88px}}body:not(.is-exploring) .world-shell{background:radial-gradient(ellipse at 78% 35%,#fff1ce 0,transparent 48%),linear-gradient(135deg,#e6ecdc,#ccd9c2)}body:not(.is-exploring) #world{opacity:0}body:not(.is-exploring) .place-labels{visibility:hidden}.welcome-actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.welcome-actions .secondary-button{min-height:44px;font-size:11px}.welcome-footnote{line-height:1.8;letter-spacing:0}#enable-3d{font-size:11px;padding:0 9px;white-space:nowrap}.map-enable-3d{margin:0 0 20px}.loading{inset:auto 20px 82px;z-index:7;padding:12px 16px;border:2px solid #9d7b52;flex-direction:row;gap:12px;background:#fff1cef5;font-size:11px;line-height:1.8;letter-spacing:.5px;pointer-events:none}.loading-flower{font-size:22px}.fallback{overflow-y:auto;padding-bottom:110px}@media(max-width:700px){#enable-3d{font-size:10px;padding:0 7px}.welcome-actions{gap:9px}.loading{bottom:calc(80px + env(safe-area-inset-bottom))}}@media(max-height:500px){.welcome-copy{display:none}.welcome-actions{gap:8px}.welcome-actions .secondary-button{min-height:38px;padding:8px 12px}.fallback{padding-top:90px}.fallback h1{font-size:30px;margin:12px 0}.fallback .primary-button{margin-top:6px}}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}.site-header{padding:26px 32px;gap:12px}.brand{padding:8px 12px 8px 8px;border-width:2px;gap:8px}.brand strong{font-size:20px;letter-spacing:4px}.toolbar{gap:8px}.toolbar .tool-button,.location-badge .tool-button{width:44px;min-width:44px;height:44px;padding:0;border-width:1.5px;border-radius:12px}.toolbar .icon,.location-badge .icon{width:20px;height:20px}.tool-button,.map-place-actions button{position:relative}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;z-index:8;top:calc(100% + 9px);left:50%;transform:translate(-50%);width:max-content;max-width:160px;padding:6px 9px;border-radius:5px;color:#fff1ce;background:#62472d;font-size:11px;font-weight:400;line-height:1.5;letter-spacing:0;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .15s}[data-tooltip]:hover:after,[data-tooltip]:focus-visible:after{opacity:1;visibility:visible}.toolbar [data-tooltip]:last-child:after{left:auto;right:0;transform:none}.location-badge{top:88px;right:32px;pointer-events:auto}.location-badge .tool-button{background:#fff1cead;box-shadow:none;border-color:#9d7b5266}.welcome{display:grid;grid-template-columns:.8fr 1.2fr;grid-template-areas:"title art" "actions art";align-items:end;column-gap:12px;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(1060px,calc(100% - 100px));max-width:none;padding:0;background:none;border:0;box-shadow:none;animation:none}.welcome:before{content:none}.invitation-art{grid-area:art;display:block;width:100%;height:auto;max-height:65svh;object-fit:contain;animation:invitation-float 8s ease-in-out infinite}.welcome h1{grid-area:title;font-size:clamp(30px,3.2vw,46px);line-height:1.4;letter-spacing:3px;margin:0 0 26px}.welcome-actions{grid-area:actions;align-self:start;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:12px}.welcome-actions .primary-button,.welcome-actions .secondary-button{min-height:48px;padding:12px 18px;gap:14px;font-size:12px}.welcome-actions .secondary-button{border-color:#9d7b5277;background:#fff1ce70;box-shadow:none}.place-label{display:grid;place-items:center;width:44px;height:44px;padding:0;border-width:1.5px;border-radius:50%;background:#fff1cee8;box-shadow:0 3px 8px #4e3c2c14}.place-label>.icon{width:21px;height:21px}.place-label .label-title{position:absolute;bottom:calc(100% + 7px);left:50%;transform:translate(-50%);width:max-content;max-width:180px;padding:5px 9px;border-radius:5px;background:#62472d;color:#fff1ce;font-size:11px;line-height:1.5;letter-spacing:1px;font-weight:400;box-shadow:0 3px 8px #4e3c2c1a;opacity:0;visibility:hidden;pointer-events:none}.place-label:hover .label-title,.place-label:focus-visible .label-title,.place-label.is-near .label-title{opacity:1;visibility:visible}.place-label:focus-visible,.place-label.is-near{color:#fff7e1;background:#aa7b49;border-color:#62472d;box-shadow:0 0 0 5px #fff1ce33;z-index:3}.site-footer{justify-content:flex-end;padding:24px 32px;pointer-events:none}.footer-support-control{position:relative}.footer-support{position:relative;display:grid;place-items:center;width:48px;height:48px;padding:0;border-width:1.5px;border-radius:50%;pointer-events:auto}.footer-support .icon{width:24px;height:24px;transition:color .15s}.footer-support .support-pulse{position:absolute;right:0;bottom:calc(100% + 6px);padding:2px 5px;color:#62472d;background:#fff1ce;border-radius:4px;font-size:12px;font-weight:700;opacity:0;transform:translateY(5px);pointer-events:none;transition:opacity .15s,transform .15s}.footer-support-control.is-liked .support-pulse{opacity:1;transform:translateY(0)}.footer-support-control.is-liked .footer-support{color:#fff1ce;background:#aa7b49}.footer-support-control.has-error .footer-support{border-color:#9c4937}.footer-support .support-label{position:absolute;right:calc(100% + 10px);top:50%;transform:translateY(-50%);width:max-content;max-width:min(240px,calc(100vw - 100px));padding:8px 11px;border-radius:6px;background:#62472d;color:#fff1ce;font-size:11px;pointer-events:none;opacity:0;visibility:hidden}.footer-support:hover .support-label,.footer-support:focus-visible .support-label,.footer-support-control.has-error .support-label{opacity:1;visibility:visible}@media(prefers-reduced-motion:reduce){.footer-support .icon,.footer-support .support-pulse{transition:none}}#movement-hint{display:none}.guide-card{width:min(420px,calc(100% - 32px));padding:20px;gap:16px;border-width:2px}.guide-meta{border:0;padding:0;color:var(--ink);background:none}.guide-meta strong{color:var(--ink)}#guide-dots{display:flex;align-items:center;gap:5px}#guide-dots i{display:block;width:5px;height:5px;border-radius:50%;background:#b99b7266}#guide-dots .is-current{width:15px;border-radius:4px;background:#aa7b49}.guide-landmarks{display:flex;align-items:center;gap:8px;margin:14px 0 0}.guide-landmarks>span{display:grid;place-items:center;width:32px;height:32px;color:#795c39;background:#e2c99b66;border-radius:8px}.guide-landmarks .icon{width:19px;height:19px}.guide-content p{margin:12px 0 10px;font-size:13px;line-height:1.6}.guide-actions #next-guide{width:44px;min-height:44px;border-radius:50%;background:#aa7b49;color:#fff1ce}.guide-actions #next-guide .icon{width:20px;height:20px}.guide-actions #skip-guide{min-height:44px}.interact-prompt button{min-height:44px;border-width:1.5px;border-radius:24px;padding:10px 16px}.interact-prompt #interact-text{display:flex}#interact-text .icon{width:21px;height:21px}.touch-interact{width:64px;height:64px}.touch-interact>.icon{width:26px;height:26px}.touch-interact:not(.is-ready){opacity:.4}.content-dialog{border-width:2px;border-radius:12px}#dialog-body{padding:32px 30px 26px}.dialog-close{border-radius:50%;min-width:44px;width:44px;height:44px;margin:12px 12px -56px 0;border-width:1.5px}.dialog-heading{margin:0 0 24px}.dialog-symbol{display:inline-grid;width:44px;height:44px;margin:0 0 10px;border-width:1px;border-radius:12px}.dialog-symbol .icon{width:25px;height:25px}.dialog-heading h2{font-size:25px;letter-spacing:3px;margin:0}.map-places{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.map-place{display:flex;flex-direction:column;align-items:center;gap:0;min-width:0;padding:14px 5px 5px;border-width:1px;border-color:#b99b7266;background:#fff7e1;box-shadow:none}.map-emblem{display:grid;place-items:center;width:44px;height:44px;color:var(--place-tone);border-radius:14px;background:color-mix(in srgb,var(--place-tone) 10%,#fff7e1)}.map-emblem .icon{width:27px;height:27px}.map-place h3{margin:10px 0 2px;font-size:12px;font-weight:500;letter-spacing:.5px;text-align:center}.map-place-actions{display:flex;justify-content:center;flex-wrap:nowrap;gap:0;margin:0}.map-place-actions .text-link,.map-place-actions .quiet-button{display:grid;place-items:center;width:44px;height:44px;padding:0;border-radius:8px}.map-place-actions .icon{width:19px;height:19px}.map-place-actions button:hover,.map-place-actions button:focus-visible{color:#4e3c2c;background:#e2c99b66}.map-place-actions [data-open]{color:#708b63}.map-enable-3d{width:100%;margin-bottom:16px}.secondary-button,.quiet-button,.text-link{min-height:44px}.link-card{padding:17px 18px;gap:16px;border-color:#b99b7277;box-shadow:none}.link-card h3{margin:5px 0 9px;font-size:15px}.link-card>.text-link{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:50%;background:#e2c99b44}.link-card>.text-link .icon{width:18px;height:18px}.card-details summary{display:inline-flex;align-items:center;gap:3px;min-height:44px;color:#8a7455;font-size:10px;cursor:pointer;list-style:none}.card-details summary::-webkit-details-marker,.changelog-entry summary::-webkit-details-marker{display:none}.card-details summary .icon{width:14px;height:14px}.card-details[open] summary .icon{transform:rotate(180deg)}.card-details p{margin-top:6px}.empty-note{border:0;background:#e2c99b33;padding:25px}.empty-note>span{margin-bottom:10px}.empty-note .icon{width:30px;height:30px}.light-study{display:flex;justify-content:center;margin-bottom:22px}.light-study>span{display:grid;place-items:center;width:100px;height:100px}.light-study .icon{width:35px;height:35px}.study-dusk{color:#aa7b49;background:#f0dfb8;border-radius:50% 0 0 50%}.study-night{color:#fff1ce;background:#34484a;border-radius:0 50% 50% 0}.meditation-motto{margin:0 0 22px;text-align:center;font-size:14px;color:#71664c;letter-spacing:1px}.feature-row>span{display:inline-flex;align-items:center;gap:6px;padding:8px;border:0}.feature-row .icon{width:18px;height:18px}.support-card{padding:0}.support-card [data-support-redeem]{min-height:44px;gap:8px}.support-card button:disabled{cursor:default}.support-card [data-support-redeem]:disabled{color:var(--ink);background:#f0dfb8;border-color:#b99b72;box-shadow:none;opacity:1}.support-pocket{display:flex;justify-content:flex-end;margin:0 0 18px}.support-pocket p,.support-price{display:inline-flex;align-items:center;justify-content:center;gap:6px}.support-pocket p{margin:0;padding:8px 12px;color:var(--ink);font-size:12px;background:#f0dfb866;border:1px solid #b99b7266;border-radius:3px}.support-pocket .icon,.support-price .icon{width:17px;height:17px;flex-shrink:0}.support-product{padding:28px 22px 22px;background:#fff7e1;border:1px solid #b99b72;border-radius:3px}.support-envelope{display:inline-grid;place-items:center;width:116px;height:84px;color:#795c39;background:#f0dfb8;border:1px solid #b99b72;border-radius:3px;box-shadow:3px 3px #e2c99b66}.support-envelope .icon{width:66px;height:66px}.support-product h3{margin:18px 0 8px;font-size:19px}.support-card .support-price{margin:0 0 22px;color:var(--ink);font-size:12px}.support-card.is-owned .support-price .icon{display:none}.support-letter{margin-top:18px;padding:18px 12px;text-align:left;border:1px solid #b99b7266;background:#fff1ce66;overflow-wrap:anywhere}.support-card .support-letter p{margin:0 0 8px;color:var(--ink);font-size:12px}.support-letter a{display:inline-flex;align-items:center;min-height:44px;color:var(--ink);max-width:100%;text-decoration:underline;text-underline-offset:3px}.support-card .form-status{min-height:1.6em;margin:14px 0}.support-card .form-status:empty{min-height:0;margin:0}.changelog-list{margin:0}.changelog-entry{padding:14px 16px;border:0;box-shadow:none}.changelog-entry summary{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:44px;cursor:pointer;list-style:none}.changelog-entry summary h3{font-size:14px;margin:8px 0}.changelog-entry summary .icon{width:16px;height:16px}.changelog-entry details[open] summary .icon{transform:rotate(180deg)}.changelog-entry p{font-size:12px;margin-top:8px}.latest-dot{width:7px;height:7px;border-radius:50%;background:#729151;box-shadow:0 0 0 4px #72915122}.help-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px}.help-grid article{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:156px;padding:20px 10px;background:#e2c99b33;border-radius:8px}.help-grid h3{font-size:12px;margin:12px 0 0}.help-grid p{font-size:10px;line-height:1.6;margin:6px 0 0}.help-emblem{display:flex;align-items:center;justify-content:center;gap:10px;height:56px}.help-emblem .icon{width:36px;height:36px}.help-emblem kbd{display:grid;place-items:center;width:34px;height:34px;font-size:18px;background:#fff7e1}.key-diagram{display:flex;flex-direction:column;align-items:center;gap:3px;height:56px}.key-diagram>span{display:flex;gap:3px}.key-diagram kbd{width:24px;height:24px;padding:0;text-align:center;font-size:15px;background:#fff7e1;border-color:#9d7b5266}.stick-diagram{display:grid;place-items:center;width:56px;height:56px;border:1px solid #9d7b52;border-radius:50%;background:#fff7e1}.stick-diagram i{display:block;width:23px;height:23px;margin:-10px 0 0 10px;border:1px solid #62472d;border-radius:50%;background:#b58c59;box-shadow:-5px 5px #e2c99b}.fallback-art{display:grid;place-items:center;width:84px;height:84px;border-radius:24px;color:#795c39;background:#e2c99b66}.fallback-art .icon{width:44px;height:44px}.loading{left:50%;right:auto;transform:translate(-50%);width:max-content;border-width:1px;border-radius:24px;padding:10px 16px}.loading-dots{display:flex;gap:5px}.loading-dots i{width:5px;height:5px;background:#aa7b49;border-radius:50%;animation:loading-pulse 1.2s infinite}.loading-dots i:nth-child(2){animation-delay:.2s}.loading-dots i:nth-child(3){animation-delay:.4s}@keyframes invitation-float{50%{transform:translateY(-8px)}}@keyframes loading-pulse{50%{opacity:.25}}@media(max-width:700px){.site-header{padding:calc(16px + env(safe-area-inset-top)) 16px 16px}.brand{padding:7px 9px 7px 6px;gap:6px}.brand strong{font-size:17px;letter-spacing:3px}.toolbar{gap:5px}.location-badge{top:calc(76px + env(safe-area-inset-top));right:16px}.welcome{display:flex;flex-direction:column;align-items:center;width:calc(100% - 32px);inset:49% auto auto 50%;gap:20px}.invitation-art{max-height:39svh;width:min(100%,460px)}.welcome h1{font-size:28px;line-height:1.4;margin:0;letter-spacing:2px}.welcome-actions{align-self:center;justify-content:center;gap:10px}.welcome-actions .primary-button,.welcome-actions .secondary-button{font-size:11px;padding:11px 14px;min-height:46px;gap:10px}.site-footer{padding:20px 18px calc(20px + env(safe-area-inset-bottom))}.footer-support{width:46px;height:46px;padding:0}.footer-support .icon{width:23px;height:23px}.guide-card{padding:16px}.guide-landmarks{gap:5px}.guide-landmarks>span{width:29px;height:29px}.guide-content p{font-size:12px}.content-dialog{width:calc(100% - 24px);max-height:88svh}#dialog-body{padding:29px 18px 22px}.dialog-heading h2{font-size:23px}.map-places{grid-template-columns:repeat(2,minmax(0,1fr))}.map-place{padding-top:12px}.map-place h3{font-size:12px}.map-place-actions{gap:8px}.changelog-entry{padding:12px}.help-grid{grid-template-columns:1fr 1fr}}@media(max-width:360px){.brand strong{display:none}.brand{padding:7px}.guide-landmarks{gap:3px}.guide-landmarks>span{width:25px;height:25px}}@media(max-height:500px){.site-header{padding-top:12px}.welcome{display:grid;grid-template-columns:1fr 1.1fr;grid-template-areas:"title art" "actions art";align-items:center;top:54%;width:calc(100% - 90px);gap:8px}.invitation-art{width:100%;max-height:64svh}.welcome h1{font-size:25px;margin:0}.welcome-actions{align-self:start;justify-content:flex-start;gap:7px}.welcome-actions .primary-button,.welcome-actions .secondary-button{min-height:44px;font-size:10px;padding:8px 10px;gap:8px}.guide-card{bottom:28px;max-height:calc(100svh - 100px)}.location-badge{top:72px}}@media(prefers-reduced-motion:reduce){.invitation-art,.loading-dots i{animation:none}}
