:root{color-scheme:dark;--ivory:#f3ecd9;--muted:#bcc6ba;--gold:#d3b27c;--line:#eee5ca24}*{box-sizing:border-box}body{margin:0;overflow:hidden;background:#182a26;color:var(--ivory);font-family:"Microsoft YaHei","PingFang SC",sans-serif;font-size:14px}button,a,textarea{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:5px}#world,.vignette{position:fixed;inset:0}#world canvas{display:block;touch-action:none}.vignette{pointer-events:none;background:linear-gradient(90deg,#0b1a1baf,transparent 48%),linear-gradient(0deg,#0c1b1de8,transparent 30%,transparent 80%,#0b1b1c66)}header{position:absolute;left:4%;right:4%;top:35px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:15px;color:inherit;text-decoration:none;font:23px "Songti SC","SimSun",serif;letter-spacing:4px}.seal{background:#985b43;border:1px solid #d69e78b0;box-shadow:inset 0 0 0 4px #985b43,inset 0 0 0 5px #d69e7860;width:48px;height:53px;display:grid;place-content:center;font:21px "SimSun",serif;writing-mode:vertical-rl;letter-spacing:3px}.brand small{font:8px Arial,sans-serif;letter-spacing:2.3px;display:block;margin-top:10px;color:var(--muted)}.top-actions{display:flex;align-items:center;gap:12px}.private-space{font-size:11px;letter-spacing:2px;margin-right:10px;color:#c9d2c3}.private-space i{display:inline-block;width:5px;height:5px;background:#b5c9a9;border-radius:50%;margin-right:7px}.circle{border:1px solid #eee5ca30;border-radius:50%;width:37px;height:37px;background:#14252255;color:#ece6d0;font:18px Georgia}.circle[aria-pressed=true]{background:#b8925366;border-color:var(--gold)}.intro{position:absolute;left:6%;top:27%;pointer-events:none}.eyebrow{color:var(--gold);font-size:10px;letter-spacing:4px}.intro h1{font:clamp(28px,3vw,46px) "Songti SC","SimSun",serif;font-weight:400;letter-spacing:5px;margin:23px 0}.intro-copy{font-size:12px;line-height:2.4;letter-spacing:2px;color:#c9d0c4}.intro-rule{display:block;width:30px;height:1px;background:#a8ad9170;margin:28px 0}.verse{font:13px "SimSun",serif;letter-spacing:3px;color:#c2c6b6}.practice{position:absolute;right:4%;top:145px;text-align:right;font-size:10px;color:var(--muted);letter-spacing:2px}.practice strong{font:28px Georgia;display:block;margin:10px 0 18px;color:var(--ivory);font-variant-numeric:tabular-nums}.practice div{display:flex;gap:20px}.practice b{color:#e6d6b2;font-weight:400}.scene-label{position:absolute;right:5%;bottom:245px;writing-mode:vertical-rl;display:flex;gap:12px;pointer-events:none}.scene-label>span{font:24px "SimSun",serif;letter-spacing:7px}.scene-label small{font-size:10px;letter-spacing:4px;color:var(--muted)}footer{position:absolute;bottom:max(20px,env(safe-area-inset-bottom));width:100%;display:flex;align-items:center;flex-direction:column}.hint{font-size:10px;letter-spacing:2px;color:#c7cebdad;margin-bottom:19px}.rituals{display:flex;gap:4px;background:#132725cc;border:1px solid #c9bb8b40;border-radius:18px;padding:8px 18px;box-shadow:0 15px 70px #0004;backdrop-filter:blur(18px)}.rituals button{background:transparent;border:0;position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;min-width:105px;padding:10px 15px 13px;border-radius:10px;font-size:11px;letter-spacing:2px;transition:.2s}.rituals button:hover,.rituals button.active{background:#e8d8ad14;color:#f8db9d;transform:translateY(-2px)}.ritual-icon{font:29px Georgia;height:30px;color:#d5c29b}.rituals kbd{position:absolute;right:10px;top:4px;font:8px Arial;color:#b6b89d80}.footer-line{display:flex;gap:30px;align-items:center;margin-top:17px;font-size:9px;letter-spacing:1.5px;color:#a9b7a6}.footer-line button{font-size:9px;letter-spacing:1px;background:none;border:0;color:#b8c2b0;padding:3px}.footer-line button span{color:#d7bd87;margin-left:4px}#toast{position:fixed;bottom:225px;left:50%;transform:translate(-50%,8px);opacity:0;transition:.4s;background:#102725d9;padding:13px 24px;border:1px solid var(--line);border-radius:30px;pointer-events:none;font-size:12px;letter-spacing:2px;max-width:85vw;text-align:center}#toast.show{opacity:1;transform:translate(-50%,0)}dialog{width:min(460px,calc(100% - 32px));border:1px solid #bc9e6b66;border-radius:18px;background:#192d28f5;color:var(--ivory);padding:36px;box-shadow:0 25px 100px #0008}dialog::backdrop{background:#071b1899;backdrop-filter:blur(8px)}dialog h2{font:26px "SimSun",serif;letter-spacing:3px;margin:20px 0}dialog p{font-size:12px;line-height:2;color:#bcc7b8}.close{position:absolute;right:15px;top:12px;background:none;border:0;font:26px serif;color:#bdc5b3}label{font-size:11px;color:#d6c7a3;display:block;margin-top:25px}textarea{width:100%;resize:vertical;min-height:110px;max-height:200px;margin:10px 0;border:1px solid #c9bb8b40;background:#0b211d70;border-radius:7px;color:#f3ecd9;padding:13px;font:13px/1.8 inherit}form small{font-size:10px;color:#9eae9c}.primary{width:100%;border:1px solid #ddc69e66;border-radius:7px;background:#c6a16c;color:#18291f;padding:13px;margin-top:22px;letter-spacing:3px}#saved-wishes{max-height:140px;overflow:auto}#saved-wishes p{border-top:1px solid var(--line);padding-top:13px;overflow-wrap:anywhere}#saved-wishes button{float:right;background:none;border:0;color:#bcad91;font-size:10px}#meditation{position:absolute;top:27%;left:6%;text-align:center;border:1px solid #d3b27c50;width:220px;height:220px;border-radius:50%;background:#132d2670;backdrop-filter:blur(5px);padding:43px 20px;animation:breathe 8s infinite}#meditation span{font:20px "SimSun",serif;letter-spacing:4px}#meditation strong{display:block;margin:20px;font:26px Georgia}#meditation button{border:0;background:transparent;font-size:11px;color:#cbbd9d}body.meditating .intro{display:none}@keyframes breathe{50%{box-shadow:0 0 0 20px #d3b27c09,0 0 70px #d3b27c15}}#loading{position:absolute;inset:0;background:#182a26;z-index:5;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#d3b27c;letter-spacing:3px;font-size:12px}.loading-ring{width:40px;height:40px;border-radius:50%;border:1px solid #d3b27c33;border-top-color:#d3b27c;animation:spin 2s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}[hidden]{display:none!important}noscript{position:absolute;top:40%;padding:30px;background:#182a26}
@media(max-width:700px){header{top:20px;left:22px;right:20px}.brand{font-size:18px;gap:10px;letter-spacing:3px}.brand small{font-size:6px;letter-spacing:1.4px}.seal{width:36px;height:42px;font-size:17px}.top-actions{gap:8px}.circle{width:32px;height:32px}.private-space{display:none}.intro{top:17%;left:25px}.intro h1{font-size:26px;letter-spacing:3px;margin:16px 0}.intro-copy{font-size:10px;line-height:2}.intro-rule,.verse{display:none}.eyebrow{font-size:8px;letter-spacing:2px}.practice{right:22px;top:110px;font-size:8px}.practice strong{font-size:22px}.practice div{flex-direction:column;gap:7px}.scene-label{right:23px;bottom:230px}.scene-label>span{font-size:18px}.scene-label small{font-size:8px}footer{bottom:max(18px,env(safe-area-inset-bottom));padding:0 12px}.rituals{width:100%;justify-content:space-around;gap:0;padding:7px 3px;border-radius:14px}.rituals button{min-width:0;padding:8px 4px 10px;font-size:10px;letter-spacing:0;flex:1;gap:9px}.rituals kbd{display:none}.ritual-icon{font-size:25px;height:27px}.footer-line{width:100%;justify-content:space-between;gap:0;font-size:8px;letter-spacing:0}.footer-line button{font-size:8px}.hint{font-size:8px;letter-spacing:1px;margin-bottom:13px}#toast{bottom:195px;width:max-content;font-size:10px}#meditation{top:19%;left:25px;width:150px;height:150px;padding:28px 10px}#meditation span{font-size:16px}#meditation strong{font-size:20px;margin:14px}dialog{padding:28px}.vignette{background:linear-gradient(0deg,#0c1b1df5,transparent 38%,#0b1b1c20 50%,#0b1b1c99)}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(max-height:540px){.intro{top:26%}.intro-copy,.intro-rule,.verse,.scene-label,.hint{display:none}.practice{top:105px}footer{bottom:10px}.rituals button{padding:3px 15px;font-size:10px;gap:3px}.ritual-icon{font-size:22px;height:25px}.footer-line{margin-top:7px}header{top:17px}}
