:root{color:#30483d;font-synthesis:none;--green:#345647;--muted:#748174;--line:#394f4126;--paper:#fbfaf4;--serif:"Songti SC","Noto Serif CJK SC","STSong",serif;background:#e8e9de;font-family:PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit;background:0 0;border:0}button:focus-visible,a:focus-visible{outline-offset:5px;outline:2px solid #927346}button:disabled{opacity:.5;cursor:wait}button{touch-action:manipulation}a{color:inherit;text-decoration:none}#world{touch-action:none;position:fixed;inset:0}#world canvas{width:100%;height:100%;display:block}#veil{pointer-events:none;background:linear-gradient(90deg,#f0f0e4ed,#f0f0e466 24%,#0000 49%),linear-gradient(#efefe1e6,#0000 15% 72%,#ebecdfe0);position:fixed;inset:0}header{z-index:4;justify-content:space-between;align-items:center;gap:20px;height:112px;padding:34px 4.2%;display:flex;position:fixed;top:0;left:0;right:0}.brand{font-family:var(--serif);letter-spacing:5px;align-items:center;gap:15px;font-size:27px;font-weight:700;display:flex}.brand small{letter-spacing:3.3px;margin-top:5px;font-family:Arial,sans-serif;font-size:8px;font-weight:400;display:block}.seal{color:#425f4e;width:43px;height:43px;font-family:var(--serif);letter-spacing:0;border:1px solid #526957;border-radius:2px;place-items:center;font-size:27px;display:grid}nav{align-items:center;gap:37px;margin-left:8%;display:flex}nav button{letter-spacing:2px;color:#718173;padding:12px 0;font-size:12px;position:relative}nav button.active{color:#2c4739}nav button.active:after{content:"";background:#3e5e48;border-radius:50%;width:4px;height:4px;position:absolute;bottom:0;left:calc(50% - 2px)}.header-tools{align-items:center;gap:13px;display:flex}.icon-button{border:1px solid var(--line);background:#f9f8ed80;border-radius:50%;place-items:center;width:37px;height:37px;transition:background .2s,transform .2s;display:grid}.icon-button:hover{background:#fff9;transform:translateY(-2px)}.icon-button svg{width:17px;height:17px}.quiet-button{letter-spacing:1px;white-space:nowrap;align-items:center;gap:8px;font-size:11px;display:flex}.status-dot{background:#97a38f;border-radius:50%;width:5px;height:5px}.status-dot.live{background:#668c62;box-shadow:0 0 0 4px #5f8a6014}main{pointer-events:none;height:100svh;min-height:560px;position:relative}main button,main a{pointer-events:auto}.intro{animation:1.4s both arrive;position:absolute;top:24%;left:6.3%}.eyebrow{letter-spacing:3px;color:#73816c;align-items:center;gap:10px;font-size:10px;display:flex}.eyebrow>span{background:#8e9b83;width:23px;height:1px}h1{font-family:var(--serif);letter-spacing:8px;margin:25px 0 23px;font-size:clamp(38px,4.1vw,66px);font-weight:400;line-height:1.48;position:relative}.red-seal{writing-mode:vertical-rl;color:#9d6252;letter-spacing:3px;border:1px solid #aa6654;padding:5px 2px;font-size:11px;line-height:1.15;position:absolute;bottom:18px;right:-25px;transform:rotate(-4deg)}.intro p{letter-spacing:1.5px;color:#76806d;font-size:12px;line-height:2.1}.text-button{letter-spacing:1.3px;align-items:center;gap:24px;padding:13px 0;font-size:11px;display:flex}.text-button span{font-size:19px}.intro .text-button{border-bottom:1px solid #9da58c;width:122px;margin-top:12px}.scene-title{writing-mode:vertical-rl;color:#4b6453;gap:13px;display:flex;position:absolute;top:26%;right:5.2%}.scene-title>span{font-family:var(--serif);letter-spacing:6px;font-size:21px}.scene-title small{letter-spacing:4px;color:#85907a;padding-top:6px;font-size:10px}.practice-summary{text-align:right;position:absolute;bottom:28%;right:4.7%}.practice-summary>.eyebrow{letter-spacing:2px;justify-content:flex-end;font-size:9px}.practice-summary>div{justify-content:flex-end;align-items:baseline;gap:9px;margin-top:12px;display:flex}.practice-summary strong{font-family:var(--serif);font-size:38px;font-weight:400}.practice-summary div span{color:#7b8877;letter-spacing:1px;font-size:10px}.practice-summary .text-button{justify-content:flex-end;gap:15px;margin-left:auto;font-size:10px}.bottom-ui{flex-direction:column;align-items:center;padding:0 5% 20px;display:flex;position:absolute;bottom:0;left:0;right:0}.location-label{letter-spacing:2px;color:#657760;align-items:center;gap:24px;margin-bottom:21px;font-size:9px;display:flex}.controls-hint{color:#8c9683;letter-spacing:1px}.location-label>span:first-child:before{content:"";background:#7d9771;border-radius:50%;width:4px;height:4px;margin-right:8px;display:inline-block}.ritual-dock{pointer-events:auto;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fafaf1e6;border:1px solid #fffff7cc;border-radius:20px;gap:0;padding:17px 21px 13px;animation:1s .3s both dock-in;display:flex;box-shadow:0 12px 50px #3d573014,inset 0 2px 4px #fff8}.ritual-dock>button{flex-direction:column;align-items:center;gap:7px;min-width:104px;transition:transform .2s,color .2s;display:flex;position:relative}.ritual-dock>button:hover{color:#9d7343;transform:translateY(-5px)}.ritual-dock>button+button:before{content:"";background:#70815d14;width:1px;height:42px;position:absolute;top:10px;left:0}.ritual-icon{color:#556f55;width:28px;height:28px;margin-bottom:2px;display:block}.ritual-icon svg{stroke-width:1.1px;width:100%;height:100%}.ritual-dock button>span:nth-child(2){letter-spacing:3px;padding-left:3px;font-size:12px}.ritual-dock small{letter-spacing:1px;color:#9a9d88;font-size:8px}footer{letter-spacing:1.8px;color:#8f9885;justify-content:space-between;align-items:center;width:100%;margin-top:25px;font-size:8px;display:flex}footer button{letter-spacing:1px;font-size:9px}footer>span:last-child{letter-spacing:2px;font-family:Arial,sans-serif;font-size:7px}#toast{opacity:0;z-index:30;pointer-events:none;color:#faf9ed;letter-spacing:1px;white-space:nowrap;background:#355344ee;border-radius:30px;max-width:85vw;padding:13px 23px;font-size:12px;transition:all .3s;position:fixed;top:118px;left:50%;transform:translate(-50%,-10px)}#toast.show{opacity:1;transform:translate(-50%)}#ritual-feedback{font-family:var(--serif);color:#5c7754;letter-spacing:3px;opacity:0;text-shadow:0 1px 12px #fff9;font-size:22px;position:absolute;top:42%;left:57%}#ritual-feedback.show{animation:2.4s ease-out blessing}.moving .intro{opacity:.3;transition:opacity .5s}.dialog-close{font-size:24px;line-height:1;position:absolute;top:21px;right:21px}dialog{color:#3b5142;background:#fbfaf4;border:1px solid #fff9;border-radius:24px;width:min(460px,100vw - 32px);max-height:85svh;padding:40px;position:fixed;overflow-y:auto;box-shadow:0 30px 130px #14271840}dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#20392f35}dialog[open]{animation:.25s ease-out panel-in}dialog h2{font-family:var(--serif);letter-spacing:3px;margin:15px 0 10px;font-size:29px;font-weight:400}dialog p{color:#7b8576;font-size:12px;line-height:1.9}dialog .eyebrow{font-size:9px}dialog label{color:#5c6c58;margin:19px 0 9px;font-size:11px;display:block}input,textarea,select{font:inherit;color:#334d3a;background:#fffef9;border:1px solid #75856330;border-radius:10px;outline:none;width:100%;padding:13px;font-size:13px}textarea{resize:vertical;min-height:120px;line-height:1.8}input:focus,textarea:focus,select:focus{border-color:#7f9676}.primary-button{color:#f7f5e9;letter-spacing:2px;background:#355844;border-radius:10px;width:100%;margin-top:21px;padding:14px 24px;font-size:12px}.primary-button:hover{background:#426b52}.secondary-button{border:1px solid var(--line);border-radius:9px;padding:12px;font-size:11px}.choice-row{gap:10px;margin:20px 0;display:flex}.choice-row button{border:1px solid var(--line);border-radius:9px;flex:1;padding:13px 4px;font-size:12px}.choice-row button.selected{background:#e9eee0;border-color:#748868}.privacy-note{color:#929784!important;font-size:10px!important}.wish-list{max-height:180px;margin-top:28px;overflow:auto}.wish-item{border-top:1px solid var(--line);word-break:break-word;padding:14px 0;font-size:13px;line-height:1.8}.wish-item small{color:#979d8b;margin-top:5px;font-size:9px;display:block}.counter{font-size:56px;font-family:var(--serif);text-align:center;color:#526d4e;margin:20px 0}.counter small{color:#949d87;font:10px sans-serif}.fish-hit{width:160px;height:140px;margin:15px auto 0;display:block;position:relative}.fish-hit svg{stroke-width:.7px;color:#845b38;fill:#d7b68a;filter:drop-shadow(0 14px 10px #76573824);width:130px;height:110px}.fish-hit.hit{animation:.18s hit}.bead-ring{width:170px;height:170px;margin:24px auto;transition:transform .35s;position:relative}.bead-ring>i{background:radial-gradient(circle at 32% 25%,#cda873,#805a35 72%);border-radius:50%;width:21px;height:21px;display:block;position:absolute;top:74px;left:74px;box-shadow:1px 3px 3px #30291920}.bead-tap{margin:auto;display:block}.stats-list{margin-top:24px}.stats-list>div{border-bottom:1px solid var(--line);justify-content:space-between;padding:15px 0;font-size:12px;display:flex}.stats-list strong{font-family:var(--serif);font-size:19px;font-weight:400}.key-hints{grid-template-columns:1fr 1fr;gap:12px;margin:25px 0;font-size:11px;display:grid}.key-hints span{color:#819078}kbd{background:#e8ecdf;border-radius:4px;margin-right:8px;padding:4px 8px;font-family:inherit}.switch-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:17px 0;font-size:12px;display:flex}.switch-row input{accent-color:#4d7056;width:17px}.room-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;width:100%;padding:17px 5px;font-size:12px;display:flex}.room-row small{color:#86917e;font-size:10px}.room-row.current{color:#a07747}.danger-button{color:#a2644e;margin-top:15px;padding:12px 0;font-size:11px}#meditation-overlay{pointer-events:auto;z-index:10;-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px);background:#e8eddfbf;flex-direction:column;justify-content:center;align-items:center;gap:30px;display:flex;position:fixed;inset:0}#meditation-overlay[hidden]{display:none}.breath-orb{background:radial-gradient(circle,#e2e8d7,#adbda036,#0000);border:1px solid #9cae8a88;border-radius:50%;place-items:center;width:190px;height:190px;animation:8s ease-in-out infinite breathe;display:grid;box-shadow:0 0 0 25px #b3c2a416,0 0 0 50px #b3c2a40a}.breath-orb span{font-family:var(--serif);letter-spacing:8px;font-size:22px}#meditation-time{letter-spacing:5px;font-size:27px;font-weight:300}#meditation-stop{border-bottom:1px solid #819374;padding:10px 20px;font-size:12px}#loader{z-index:50;pointer-events:none;background:#e9eadf;flex-direction:column;justify-content:center;align-items:center;transition:opacity .7s;display:flex;position:fixed;inset:0}#loader h2{font-family:var(--serif);letter-spacing:7px;font-size:25px;font-weight:400}#loader p{color:#819079;letter-spacing:2px;font-size:11px}.loading-line{background:#788c6f;width:100px;height:1px;margin-top:20px;animation:1s infinite pulse}#loader.ready{opacity:0}#loader.failed{pointer-events:auto}#loader.failed p{text-align:center;max-width:300px;line-height:2}.mobile-move{display:none}@keyframes arrive{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes dock-in{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}@keyframes blessing{0%{opacity:0;transform:translateY(15px)}25%{opacity:1}to{opacity:0;transform:translateY(-30px)}}@keyframes panel-in{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}@keyframes hit{50%{transform:scale(.92)rotate(-4deg)}}@keyframes breathe{50%{transform:scale(1.16);box-shadow:0 0 0 32px #b3c2a41b,0 0 0 65px #b3c2a40a}}@keyframes pulse{50%{opacity:.3}}@media (min-width:1600px){.intro{top:25%;left:8%}.ritual-dock>button{min-width:120px}}@media (max-width:1000px){header{height:96px;padding:25px 4%}nav{gap:20px;margin-left:0}.brand{letter-spacing:4px;font-size:23px}.brand small{letter-spacing:2px;font-size:7px}.header-tools{gap:8px}.intro{top:24%;left:5%}h1{letter-spacing:5px;font-size:42px}.intro p{font-size:11px}.scene-title{top:25%;right:5%}.practice-summary{bottom:29%;right:4%}.ritual-dock>button{min-width:90px}.ritual-dock{padding:15px 13px 12px}}@media (max-width:700px){header{height:80px;padding:20px 22px}.brand{letter-spacing:3px;gap:10px;font-size:21px}.brand small{letter-spacing:1.8px;font-size:6px}.seal{width:34px;height:34px;font-size:23px}.header-tools{gap:8px}.icon-button{width:32px;height:32px}.quiet-button{letter-spacing:0;gap:6px;font-size:9px}#room-btn{position:absolute;top:91px;right:25px}header nav{gap:20px;position:absolute;top:87px;left:22px}nav button{letter-spacing:1px;padding:7px 0;font-size:10px}#veil{background:linear-gradient(#e9eadeee,#eceee18c 22%,#0000 40% 58%,#e9eade 94%),linear-gradient(90deg,#eaecdf66,#0000 70%)}.intro{top:151px;left:25px}.eyebrow{letter-spacing:2px;font-size:8px}.intro .eyebrow>span{width:17px}h1{letter-spacing:5px;margin:14px 0;font-size:31px;line-height:1.45}.red-seal{letter-spacing:1px;padding:3px 1px;font-size:8px;bottom:8px;right:-16px}.intro p{display:none}.intro .text-button{gap:19px;width:98px;margin-top:8px;padding:8px 0;font-size:9px}.text-button span{font-size:15px}.scene-title{gap:8px;top:159px;right:25px}.scene-title>span{letter-spacing:4px;font-size:15px}.scene-title small{letter-spacing:3px;font-size:8px}.practice-summary{bottom:200px;right:26px}.practice-summary>.eyebrow{font-size:8px}.practice-summary strong{font-size:27px}.practice-summary>div{margin-top:7px}.practice-summary .text-button{padding:3px 0;font-size:8px}.practice-summary div span{font-size:9px}.bottom-ui{padding:0 13px max(13px,env(safe-area-inset-bottom))}.location-label{letter-spacing:1px;margin-bottom:15px;font-size:8px}.controls-hint{display:none}.ritual-dock{border-radius:16px;justify-content:space-around;width:100%;padding:15px 4px 12px}.ritual-dock>button{flex:1;gap:6px;min-width:0}.ritual-icon{width:25px;height:25px}.ritual-dock button>span:nth-child(2){letter-spacing:2px;font-size:11px}.ritual-dock small{letter-spacing:0;font-size:7px}.ritual-dock>button+button:before{height:35px}footer{letter-spacing:1px;margin-top:17px;padding:0 10px;font-size:7px}footer>span:last-child{display:none}footer button{font-size:8px}dialog{padding:30px 25px}dialog h2{font-size:25px}#toast{white-space:normal;text-align:center;max-width:92vw;padding:11px 18px;font-size:11px;top:125px}#ritual-feedback{font-size:18px;top:48%;left:40%}.header-tools .icon-button{background:#f9f8ed4d}main{min-height:540px}}@media (max-height:690px) and (min-width:701px){header{height:88px;padding-top:20px;padding-bottom:20px}.intro{top:22%}h1{margin:15px 0;font-size:36px}.intro p{font-size:10px}.bottom-ui{padding-bottom:10px}.ritual-dock{padding:10px}.ritual-icon{width:23px;height:23px}.location-label{margin-bottom:10px}footer{margin-top:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}#loader{transition:opacity .1s}}.reduce-motion *,.reduce-motion :before,.reduce-motion :after{transition:none!important;animation:none!important}@media (min-width:701px) and (max-height:780px){.scene-title small{display:none}}
