@font-face{font-family:Marcellus;src:url(/fonts/marcellus.ttf) format("truetype");font-weight:400;font-display:swap}:root{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;color:#fbf4d9;background:#344a43;font-synthesis:none;color-scheme:dark}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit}button:focus-visible,a:focus-visible{outline:2px solid #e9d9a7;outline-offset:5px}#world{position:fixed;inset:0;touch-action:none}canvas{display:block;width:100%;height:100%;outline:none;cursor:crosshair}canvas.dragging{cursor:grabbing}body:after{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(15,31,25,.3),transparent 20%,transparent 82%,rgba(10,25,22,.3))}.identity{position:fixed;z-index:2;top:34px;left:38px;pointer-events:none;text-shadow:0 2px 12px #14231fc0}.identity h1{font-family:Marcellus,serif;font-size:34px;font-weight:400;margin:0;letter-spacing:.025em}.identity p{font-size:12px;letter-spacing:.18em;margin:7px 0 0;color:#e9e7cb}.identity p span{margin:0 8px;color:#d0c39a}.tools{position:fixed;z-index:3;right:32px;top:33px;display:flex;gap:9px}.tools button{width:42px;height:42px;border:1px solid #ece8c84a;background:#1d322c80;cursor:pointer;border-radius:50%;display:grid;place-items:center;transition:background .2s,border-color .2s}.tools button:hover{background:#243c33e0;border-color:#eee3b9}.tools svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.sound-wave{display:none}#sound[aria-pressed=true] .sound-wave{display:initial}#sound[aria-pressed=true] .sound-off{display:none}.instructions{position:fixed;bottom:34px;left:38px;z-index:2;display:flex;gap:23px;font-size:12px;align-items:center;color:#f0edd8;text-shadow:0 2px 8px #142a20;transition:opacity 1s;pointer-events:none}.instructions kbd{font:inherit;color:#fff9dc;padding-right:6px}.instructions.dim{opacity:.68}.touch-hint,.touch-input .pointer-hint{display:none}.touch-input .touch-hint{display:inline}.status{position:fixed;z-index:2;right:34px;bottom:34px;font-size:11px;display:flex;gap:9px;align-items:center;letter-spacing:.06em;color:#e6e4cc;text-shadow:0 2px 7px #11251e}.status-dot{width:5px;height:5px;border-radius:50%;background:#cbdbab}.divider{opacity:.45;margin:0 3px}#help-panel{position:fixed;z-index:5;top:92px;right:33px;width:305px;padding:25px 27px;background:#1c302bee;border:1px solid #b6bb8c45;box-shadow:0 12px 40px #0c1b2150;color:#e7e6ce}#help-panel h2{font:400 23px Songti SC,serif;margin:0 0 14px}#help-panel p{font-size:13px;line-height:1.9;margin:10px 0}#help-panel .quiet{color:#aebeac}#help-panel a{font-size:12px;color:#e8d39e;text-underline-offset:5px;display:inline-block;margin-top:12px}#loading{position:fixed;z-index:10;inset:0;display:flex;justify-content:center;align-items:center;flex-direction:column;background:#253c33;transition:opacity .9s,visibility .9s}#loading.gone{opacity:0;visibility:hidden;pointer-events:none}.loading-mark{width:62px;height:62px;margin-bottom:24px;color:#cdd2a4}.loading-mark svg{fill:none;stroke:currentColor;stroke-width:1}#loading p{font-size:14px;letter-spacing:.13em}.loading-track{width:220px;height:2px;background:#697c604a;margin:17px 0}.loading-track i{display:block;width:0;height:100%;background:#d1dba6;transition:width .35s}#loading small{font-size:11px;color:#adbea3;letter-spacing:.1em}#loading.error p{max-width:480px;line-height:1.8;text-align:center;letter-spacing:0;padding:0 24px}#loading button{margin-top:20px;border:1px solid #b8c099;padding:10px 24px;background:transparent;cursor:pointer}#notice{position:fixed;z-index:4;bottom:80px;left:50%;transform:translate(-50%);background:#1d332be8;padding:10px 18px;font-size:12px;color:#efedcf;opacity:0;pointer-events:none;transition:opacity .3s;max-width:calc(100vw - 32px);text-align:center;white-space:normal}#notice.visible{opacity:1}@media(max-width:700px){.identity{left:21px;top:24px}.identity h1{font-size:28px}.identity p{font-size:10px;letter-spacing:.12em}.tools{top:20px;right:14px;gap:4px}.tools button{width:44px;height:44px}.tools svg{width:16px;height:16px}.instructions{left:21px;bottom:28px;gap:15px;font-size:11px}.keyboard-hint{display:none}.status{right:20px;bottom:58px;font-size:10px}.status .divider,.status span:last-child{display:none}#help-panel{right:18px;top:79px;width:min(305px,calc(100vw - 36px))}.identity p span{margin:0 3px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
