:root{color:#344238;font-synthesis:none;--paper:#f4f1e7;--ink:#344238;--muted:#7e8675;--gold:#a18a58;font-family:PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{background:#d6dfcf;margin:0;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}button:focus-visible,a:focus-visible{outline-offset:4px;outline:2px solid #967444}button:disabled{cursor:wait;opacity:.55}[hidden]{display:none!important}#app,#scene{position:fixed;inset:0}canvas{touch-action:none;width:100%;height:100%;display:block}.vignette{pointer-events:none;background:linear-gradient(#f2f0e324,#0000 22% 65%,#33452e26);position:fixed;inset:0;box-shadow:inset 0 0 150px #3d493319}.topbar{top:max(26px,env(safe-area-inset-top));pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:fixed;left:32px;right:32px}.brand,.top-actions{pointer-events:auto}.brand{align-items:center;gap:13px;display:flex}.seal{color:#806b4f;border:1px solid #806b4f;border-radius:3px;place-items:center;width:39px;height:45px;font:25px Songti SC,serif;display:grid;transform:rotate(-3deg)}h1{letter-spacing:5px;margin:0;font:500 23px Songti SC,STSong,serif}.brand p{letter-spacing:4px;color:#6f7969;margin:7px 0 0;font-size:10px}.top-actions{align-items:center;gap:7px;font-size:12px;display:flex}.top-actions>button,.top-actions>span{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f6f4e9b8;border:1px solid #fcfaed70;border-radius:5px;padding:10px 13px}.top-actions #help{width:34px;padding:9px 0;font-family:serif}.scene-note{pointer-events:none;position:fixed;top:23%;left:38px}.scene-note span{letter-spacing:3px;color:#61735d;font-size:10px}.scene-note p{letter-spacing:5px;writing-mode:vertical-rl;font:18px/2.2 Songti SC,serif}.bottom{bottom:max(16px,env(safe-area-inset-bottom));text-align:center;pointer-events:none;position:fixed;left:50%;transform:translate(-50%)}.bottom p{letter-spacing:2px;color:#43533e;text-shadow:0 1px 7px #fff;font-size:11px}.rituals{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);pointer-events:auto;background:#f7f4e8ec;border:1px solid #fff9;border-radius:10px;align-items:center;padding:9px 12px;display:flex;box-shadow:0 8px 35px #2d40251a}.rituals button{text-align:left;border-radius:6px;align-items:center;gap:14px;min-width:185px;padding:9px 18px;transition:background .2s;display:flex}.ritual-icon{color:#85896a;font-size:27px}.rituals button>span:nth-child(2){letter-spacing:2px;font-family:Songti SC,serif;font-size:17px}.rituals small{letter-spacing:1px;color:#879080;margin-top:5px;font:10px/1.4 PingFang SC,sans-serif;display:block}.rituals kbd{color:#939b86;margin-left:auto;font:10px sans-serif}.divider{background:#d9dacc;width:1px;height:34px}.footer-line{opacity:.65;margin-bottom:0;letter-spacing:4px!important;font-size:10px!important}#toast{color:#fffbed;text-align:center;z-index:50;background:#354633ed;border-radius:5px;max-width:90vw;padding:12px 20px;font-size:12px;position:fixed;bottom:152px;left:50%;transform:translate(-50%)}.veil{-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);z-index:20;background:#dbe0d7a8;place-items:center;display:grid;position:fixed;inset:0}.welcome-card{text-align:center;max-width:400px;padding:36px 30px}.eyebrow{letter-spacing:4px;color:#8b8d74;font-size:10px}.welcome-seal{color:#937654;border:1px solid #9e8260;border-radius:4px;place-items:center;width:58px;height:70px;margin:32px auto 23px;font:36px Songti SC,serif;display:grid;transform:rotate(-3deg)}h2{letter-spacing:5px;margin:24px 0;font:400 32px Songti SC,serif}.welcome-card>p{color:#617159;letter-spacing:2px;font:14px/2.2 Songti SC,serif}.primary{color:#f6f3e7;letter-spacing:4px;background:#485c43;border-radius:4px;width:100%;margin:18px 0;padding:15px 34px;display:block}.primary:hover{background:#354b30}.welcome-card>small{color:#7a856f;letter-spacing:2px;font-size:10px}.loading-track{background:#b5bca960;height:1px;margin:32px 0 10px}#loading-bar{background:#879374;width:10%;height:1px;transition:width .5s;display:block}#load-status{letter-spacing:1px;font-size:10px}dialog{background:var(--paper);color:var(--ink);border:1px solid #b6b69b;border-radius:7px;width:min(440px,100vw - 36px);max-height:calc(100dvh - 48px);padding:38px;position:fixed;overflow:auto;box-shadow:0 24px 100px #25352340}dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#263b2b70}dialog .close{color:#8d917e;width:32px;height:32px;font-size:24px;position:absolute;top:10px;right:13px}dialog p{font-size:13px;line-height:2}dialog .muted{color:#8a8e7b;font-size:11px}dialog a{color:#6c7a5c;font-size:11px}#wood-panel{text-align:center;background:#f5f1e3f2;border:1px solid #fff8;border-radius:10px;width:220px;padding:24px 20px 17px;position:fixed;bottom:150px;right:30px;box-shadow:0 10px 40px #33482e21}#wood-panel>small,#wood-panel>span{letter-spacing:2px;color:#7c856c;font-size:10px;display:block}#wood-panel>button:first-child{font-size:22px;position:absolute;top:4px;right:8px}#strike{width:180px;height:140px;padding:0}#strike svg{width:100%;transition:transform 80ms}#strike:active svg,#strike.struck svg{transform:scale(.94)rotate(-3deg)}#floats{pointer-events:none;z-index:15;position:fixed;inset:0}.ritual-float{color:#f9f1cb;text-shadow:0 1px 5px #425336;white-space:nowrap;font:20px Songti SC,serif;animation:.95s ease-out forwards rise;position:absolute}@keyframes rise{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-70px)}}@media (width<=700px){.topbar{top:max(18px,env(safe-area-inset-top));align-items:flex-start;left:18px;right:18px}.brand{gap:8px}.seal{width:27px;height:34px;font-size:20px}h1{letter-spacing:3px;font-size:17px}.brand p{letter-spacing:2px;margin-top:5px;font-size:8px}.top-actions{flex-wrap:wrap;justify-content:flex-end;gap:4px;max-width:160px}.top-actions>button,.top-actions>span{padding:7px 8px;font-size:9px}.top-actions #room-status{text-align:center;background:0 0;border:0;order:5;width:100%;padding:6px 0}.top-actions #help{width:24px;padding:6px 0}.scene-note{top:20%;left:20px}.scene-note span{letter-spacing:2px;font-size:8px}.scene-note p{letter-spacing:4px;font-size:15px}.rituals{border-radius:8px;padding:5px 8px}.rituals button{gap:10px;min-width:142px;padding:10px}.rituals kbd{display:none}.rituals button>span:nth-child(2){font-size:15px}.rituals small{font-size:9px}.bottom{bottom:max(15px,env(safe-area-inset-bottom))}.bottom p{letter-spacing:1px;font-size:9px}.footer-line{font-size:8px!important}#wood-panel{width:200px;bottom:145px;right:18px}#strike{width:160px;height:125px}dialog{padding:30px}}@media (height<=500px){.scene-note,.footer-line,#movement-hint{display:none}.bottom{bottom:12px}.rituals{padding:3px 8px}.rituals button{padding:5px 12px}.welcome-card{padding:15px}.welcome-seal{width:32px;height:38px;margin:12px auto;font-size:23px}.welcome-card h2{margin:12px;font-size:23px}.welcome-card>p{margin:6px;font-size:11px}.loading-track{margin:12px 0}.primary{margin:10px 0;padding:10px}#wood-panel{width:180px;padding:15px;bottom:85px}#strike{width:140px;height:105px}}#fortune-dialog{text-align:center;background:linear-gradient(100deg,#eee9da,#f8f5e9 45%,#eee9db)}#fortune-dialog h2{letter-spacing:3px;margin:18px 0;font-size:25px}.sign-vase{color:#a78a57;border:1px solid #bcae88;border-radius:5px 5px 17px 17px;place-items:center;width:78px;height:106px;margin:27px auto;font:54px Songti SC,serif;display:grid}.hexagram{width:49px;margin:28px auto 13px}.yao{gap:9px;height:4px;margin:5px 0;display:flex}.yao i{background:#88734f;flex:1}.fortune-name{letter-spacing:4px;color:#978357;font:13px Songti SC,serif}.fortune-text{text-align:left;letter-spacing:1px;font:16px/2.1 Songti SC,serif!important}.advice{text-align:left;border-top:1px solid #d6d0bb;border-bottom:1px solid #d6d0bb;margin-top:25px;padding:15px 0}.advice small{letter-spacing:3px;color:#9a8455;font-size:10px}.advice p{margin:7px 0 0;font-size:12px}blockquote{color:#68715b;margin:22px 0;font:14px/1.9 Songti SC,serif}blockquote small{text-align:right;margin-top:8px;font-size:10px;display:block}.fortune-date{color:#9a967e;margin-top:24px;font-size:10px!important}.fortune-disclaimer{color:#aaa58f;letter-spacing:1px;font-size:9px}.rituals button.active .ritual-icon{color:#557046}#fortune-dialog .muted{margin:5px 0 10px;font-size:10px}.rituals button.active{background:#e3e6d8}.rituals #greet{min-width:190px}.rituals #greet>span:nth-child(2){white-space:nowrap}@media (width<=700px){.bottom{width:min(420px,100vw - 24px)}.rituals{width:100%;padding:5px 3px}.rituals button,.rituals #greet{flex:1;justify-content:center;gap:0;min-width:0;padding:10px 3px}.rituals .ritual-icon{display:none}.rituals button>span:nth-child(2){letter-spacing:1px;font-size:14px}.rituals small{letter-spacing:0;white-space:nowrap;font-size:8px}.rituals .divider{flex:none}}@media (width<=360px){.rituals button>span:nth-child(2){letter-spacing:0;font-size:13px}}#speech-caption{pointer-events:none;z-index:12;color:#344238;text-align:center;background:#f7f3e8ed;border-radius:12px;width:max-content;max-width:min(290px,80vw);padding:9px 14px;font:16px/1.6 Songti SC,STSong,serif;position:fixed;transform:translate(-50%,-100%);box-shadow:0 3px 12px #20352018}#speech-caption:after{content:"";border:5px solid #0000;border-top-color:#f7f3e8ed;position:absolute;top:100%;left:calc(50% - 5px)}@media (width<=700px){#speech-caption{max-width:230px;font-size:14px}}.bottom{width:min(480px,100vw - 40px);bottom:max(26px,calc(env(safe-area-inset-bottom) + 16px))}.bottom #movement-hint,.bottom .footer-line{display:none}.rituals{-webkit-backdrop-filter:blur(18px)saturate(.8);color:#fffdf3;background:#292a2380;border:1px solid #ffffff4d;border-radius:999px;gap:6px;width:100%;padding:10px 24px;display:flex;box-shadow:inset 0 1px 1px #ffffff18,0 8px 30px #10160e1c}.rituals button,.rituals #greet{text-align:center;border-radius:32px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:5px;min-width:0;padding:9px 7px;transition:background .18s,color .18s,transform .18s;display:flex}.rituals button>span:nth-child(2){letter-spacing:.06em;white-space:nowrap;font:500 15px/1.4 PingFang SC,Microsoft YaHei,sans-serif}.rituals .ritual-icon{width:34px;height:34px;color:inherit;line-height:0;display:block}.ritual-icon svg{fill:none;stroke:currentColor;stroke-width:2.15px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%}.rituals button:hover{background:#ffffff12}.rituals button:active{transform:translateY(1px)}.rituals button.active,.rituals button[aria-pressed=true]{color:#fff0c9;background:#ffffff23}.rituals button:focus-visible{outline-offset:1px;outline:2px solid #fff3cf}.rituals small{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:0;position:absolute;overflow:hidden}.rituals .divider,.rituals kbd{display:none}.top-actions{-webkit-backdrop-filter:blur(16px);color:#fffdf3;background:#292a2373;border:1px solid #ffffff3d;border-radius:999px;gap:0;padding:4px 8px}.top-actions>button,.top-actions>span{-webkit-backdrop-filter:none;backdrop-filter:none;color:inherit;background:0 0;border:0;border-radius:99px;padding:9px 11px}.top-actions>button:hover{background:#ffffff14}.top-actions #help{width:32px}.scene-note{opacity:.65}#toast{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#292a23c9;border:1px solid #ffffff36;border-radius:99px;bottom:146px}@media (width<=700px){.bottom{width:min(420px,100vw - 32px);bottom:max(20px,calc(env(safe-area-inset-bottom) + 12px))}.rituals{gap:4px;padding:8px 16px}.rituals button,.rituals #greet{gap:4px;padding:7px 4px}.rituals .ritual-icon{width:31px;height:31px;display:block}.rituals button>span:nth-child(2){letter-spacing:.04em;font-size:14px}.top-actions{max-width:210px;padding:3px 5px}.top-actions>button,.top-actions>span{padding:7px;font-size:10px}.top-actions #room-status{color:#fffdf3;padding:2px 0 5px}.top-actions #help{width:23px}}@media (height<=500px){.bottom{width:min(400px,100vw - 32px);bottom:12px}.rituals{padding:4px 18px}.rituals button,.rituals #greet{padding:4px}.rituals .ritual-icon{width:25px;height:25px}.rituals button>span:nth-child(2){font-size:12px}}@media (prefers-reduced-transparency:reduce){.rituals,.top-actions{background:#373930}}.topbar{align-items:stretch;gap:10px}.brand{-webkit-backdrop-filter:blur(16px);color:#fffdf3;text-align:center;background:#292a2373;border:1px solid #ffffff3d;border-radius:999px;flex-shrink:0;justify-content:center;min-height:44px;padding:4px 16px}.brand h1{letter-spacing:3px;font-size:18px;line-height:22px}.brand p{letter-spacing:2px;color:#fffdf3b3;margin:0;font-size:9px;line-height:12px}.top-actions{min-height:44px}.scene-note{display:none}@media (width<=700px){.brand{padding:4px 12px}.brand h1{letter-spacing:2px;font-size:16px;line-height:21px}.brand p{letter-spacing:1px;font-size:8px;line-height:12px}}#nameplates{pointer-events:none;z-index:4;position:fixed;inset:0;overflow:hidden}.player-name{color:#f8f2e4;text-shadow:0 1px 3px #111a1b7a;white-space:nowrap;background:#202a237a;border:1px solid #fff7e51c;border-radius:14px;align-items:center;gap:6px;max-width:142px;height:24px;padding:0 9px;font:11px/1 PingFang SC,sans-serif;display:flex;position:absolute;top:0;left:0}.player-name[hidden]{display:none}.player-name-text{text-overflow:ellipsis;overflow:hidden}.player-name-me{display:none}.player-name.own-name{color:#e8d4b4;text-shadow:0 1px 3px #11170d66;-webkit-backdrop-filter:blur(5px);background:#292b22a6;border-color:#e8d6b632;height:28px;padding:0 10px 0 5px;font-weight:500;box-shadow:0 2px 8px #1720161a}.own-name .player-name-me{color:#f4e7cc;background:#a5825366;border-radius:50%;flex-shrink:0;place-items:center;width:19px;height:19px;font-size:10px;display:grid}#greeting-notices{bottom:calc(120px + env(safe-area-inset-bottom,0px));z-index:16;pointer-events:none;gap:8px;max-width:90vw;display:grid;position:fixed;left:50%;transform:translate(-50%)}.greeting-notice{color:#f8faf9;-webkit-backdrop-filter:blur(7px)saturate(1.06);text-shadow:0 1px 3px #06130d66;text-align:center;background:linear-gradient(145deg,#ffffff12,#ffffff02 52%,#ffffff08),#10201999;border:1px solid #ffffff47;border-radius:24px;align-items:center;gap:9px;padding:10px 17px;font:500 13px/1.6 PingFang SC,sans-serif;display:flex;box-shadow:0 6px 20px #05150e18,inset 0 1px #ffffff38}.greeting-icon{flex-shrink:0;width:25px;height:25px;display:flex}.greeting-icon svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linejoin:round;width:100%;height:100%}@media (prefers-reduced-transparency:reduce){.greeting-notice{-webkit-backdrop-filter:none;background:#27372f}}.top-actions #reset-view{place-items:center;width:34px;height:34px;padding:7px;display:grid}#reset-view svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.ritual-icon img{filter:brightness(0)invert();width:100%;height:100%;display:block}.top-actions>button{justify-content:center;align-items:center;gap:5px;display:inline-flex}.top-actions button img{filter:brightness(0)invert();width:18px;height:18px;display:block}.greeting-icon img{width:25px;height:25px}.brand{justify-content:flex-start;gap:12px}.brand h1{white-space:nowrap}.brand #room-status{white-space:nowrap;color:#fffdf3cc;text-overflow:ellipsis;border-left:1px solid #ffffff35;max-width:180px;padding-left:12px;font:11px/1.4 PingFang SC,sans-serif;overflow:hidden}.top-actions{flex-wrap:nowrap;flex-shrink:0;max-width:none}@media (width<=700px){.topbar{gap:6px;left:12px;right:12px}.brand{flex-shrink:1;gap:8px;min-width:0;padding:4px 10px}.brand #room-status{padding-left:8px;font-size:10px}.top-actions>button{padding:7px}.top-actions{padding:3px}.top-actions #help{width:28px}.top-actions #reset-view{width:30px}}@media (width<=360px){.brand h1{letter-spacing:1px;font-size:14px}.brand{gap:6px;padding:4px 8px}.brand #room-status{padding-left:6px}.top-actions>button{padding:6px}}
