:root{font-family:system-ui,-apple-system,PingFang HK,sans-serif;color:#20352c;font-size:18px;background:#e7e1d6}*{box-sizing:border-box}body{margin:0}button,a,input,textarea{font:inherit}button{cursor:pointer;min-height:48px;border:1px solid #143c2d25;border-radius:12px;padding:10px 18px;color:#143c2d;background:#fffaf2}button:hover{background:#e9eee8}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #da8134;outline-offset:3px}[hidden]{display:none!important}#world{position:fixed;inset:0}canvas{display:block;touch-action:none}header{position:fixed;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:19px 30px;background:linear-gradient(#fffcf5f5,#fffcf5c9,transparent);gap:15px}.brand{display:flex;align-items:center;gap:12px;color:#143c2d;text-decoration:none;font-size:22px;font-weight:650}.brand img{width:52px;height:52px}.brand small{display:block;font-size:10px;letter-spacing:2px;margin-top:5px}.tools{display:flex;gap:10px}#welcome{position:fixed;left:7vw;top:22vh;padding:28px 35px;background:#fffaf2ec;border:1px solid #fff;border-radius:3px 30px 3px 3px;max-width:420px;box-shadow:0 15px 60px #25221915}.eyebrow{font-size:14px;letter-spacing:2px;color:#6c644c}h1{font-family:Songti TC,serif;font-size:clamp(40px,4vw,64px);line-height:1.3;font-weight:500;margin:18px 0}p{line-height:1.8}.primary{background:#143c2d;color:#fff;border:none}.primary:hover{background:#245640}.primary span{margin-left:35px}#place{position:fixed;top:103px;left:30px;font-size:14px;padding:8px 14px;background:#fffaf2e6;border-radius:20px}nav{position:fixed;bottom:35px;left:50%;transform:translate(-50%);display:flex;gap:6px;padding:8px;background:#fffaf2ed;border:1px solid #fff;border-radius:20px;box-shadow:0 10px 35px #0002}nav button{white-space:nowrap;border:0;background:transparent;padding:11px 20px}nav button span{display:block;font-size:24px;margin-bottom:5px}nav button[aria-pressed=true]{background:#143c2d;color:#fff}#movement{position:fixed;left:26px;bottom:40px;text-align:center}#movement button{padding:5px;width:46px;min-height:46px;background:#fffaf2dc}#movement>button{margin-bottom:4px}#movement div{display:flex;gap:4px}#hint{position:fixed;right:24px;bottom:7px;font-size:12px;background:#fffaf2c9;padding:3px 8px;border-radius:5px}#crosshair{position:fixed;left:50%;top:50%;color:#fff9;font-size:24px;pointer-events:none}#panel{position:fixed;right:28px;top:130px;width:420px;max-height:calc(100dvh - 280px);overflow:auto;background:#fffaf2f5;border:1px solid #fff;border-radius:22px;padding:26px;box-shadow:0 20px 60px #0002}#panel h2{font-family:Songti TC,serif;font-size:29px;margin:14px 0}#close,#info-close{float:right;border:0;font-size:28px;padding:0;width:44px;min-height:44px}textarea{width:100%;height:135px;resize:vertical;padding:12px;border:1px solid #c4c9bf;background:#fffef9;border-radius:10px;line-height:1.7}.actions{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.note{font-size:14px;color:#61675e}.timer{font-size:46px;font-weight:300;letter-spacing:4px}select{font:inherit;width:100%;padding:10px;background:#fff;border:1px solid #aaa;border-radius:8px}dialog{border:0;border-radius:22px;max-width:620px;width:92%;max-height:85dvh;padding:30px;line-height:1.8;background:#fffaf2;color:#20352c}dialog::backdrop{background:#162b2480;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}dialog label{display:block;margin:14px 0}a{color:#24634b}#toast{position:fixed;top:100px;left:50%;transform:translate(-50%);padding:12px 22px;background:#143c2d;color:#fff;border-radius:30px;max-width:90vw;opacity:0;pointer-events:none;transition:opacity .2s}#toast.show{opacity:1}@media(max-width:800px){header{padding:12px 16px}.brand{font-size:18px}.brand img{width:43px;height:43px}.brand small{font-size:8px;letter-spacing:1px}.tools{gap:5px}.tools button{font-size:14px;padding:6px 9px}#place{top:80px;left:16px}#welcome{top:22vh;left:7%;max-width:86%;padding:22px 28px}#welcome h1{font-size:44px}nav{bottom:18px;gap:0;padding:6px;width:calc(100% - 24px);justify-content:space-around}nav button{font-size:16px;padding:8px;min-width:0}#movement{bottom:126px;left:16px}#hint{display:none}#panel{top:120px;right:12px;width:min(420px,calc(100% - 24px));max-height:calc(100dvh - 245px);padding:20px}body.active #movement{display:none}#toast{top:78px;width:max-content;text-align:center}nav button span{font-size:22px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media(max-width:420px){header{padding:12px;gap:8px}.brand{font-size:16px;gap:8px;white-space:nowrap}.brand img{width:36px;height:36px}.brand small{display:none}.tools{gap:4px}.tools button{font-size:12px;padding:6px;min-height:44px}nav button{white-space:normal;font-size:15px;padding:7px 2px;flex:1;width:25%;line-height:1.5}nav button span{margin-bottom:3px}#place{top:68px}#panel{top:108px;max-height:calc(100dvh - 240px)}}#close{position:sticky;top:0;z-index:2;background:#fffaf2;box-shadow:0 0 0 4px #fffaf2}#info-close{position:sticky;top:0;background:#fffaf2}#prayer-text{white-space:pre-line;font-family:Songti TC,serif;font-size:21px;line-height:1.9}#prayer-reading h3{font-size:18px;margin:24px 0 8px}#prayer-source{font-size:14px;display:inline-block;min-height:44px;padding:8px 0}
