@font-face{font-family:Goyorim;src:local('Noto Sans CJK KR'),local('Apple SD Gothic Neo')}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#app{margin:0;width:100%;height:100%;overflow:hidden;background:#253c35;color:#f3efe3;font-family:Goyorim,'Noto Sans',system-ui,sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit;border:0;background:none;touch-action:manipulation}button:disabled{opacity:.42;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #c6e1b2;outline-offset:3px}button:active{transform:scale(.96)}button svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}[hidden]{display:none!important}#world,#world canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;display:block}.glass{background:rgba(35,54,46,.62);border:1px solid #f2e8c12b;box-shadow:0 8px 32px #0f221326;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}.veil{position:absolute;inset:0;z-index:20;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#253c35}#loading h1{font-family:serif;font-weight:400;font-size:64px;letter-spacing:16px;margin:20px 0 8px}.eyebrow{font-size:10px;letter-spacing:2.6px;color:#bdc8b7}.subtitle{letter-spacing:5px;font-size:14px;margin:10px 0 48px}#loading-note{font-size:12px;color:#c3cbbb}.loading-line{width:120px;height:1px;background:#ffffff22;overflow:hidden}.loading-line i{display:block;width:40%;height:1px;background:#deca96;animation:loading 2s ease-in-out infinite}@keyframes loading{from{transform:translateX(-110%)}to{transform:translateX(350%)}}#welcome{background:linear-gradient(90deg,#18382be8 0%,#18382b75 60%,#18382b18);align-items:flex-start;padding:8vw}.welcome-copy{max-width:480px}#welcome h1{font:400 clamp(38px,7vw,68px)/1.35 serif;letter-spacing:-1.5px;margin:30px 0 24px}#welcome p:not(.eyebrow){color:#e0e5d8;font-size:15px;line-height:1.95}.primary{background:#e1d7b8;color:#253c35;min-height:54px;border-radius:12px;padding:14px 22px;font-weight:600;display:flex;align-items:center;justify-content:space-between;gap:25px;width:100%;margin-top:28px}.primary span{font-size:24px;font-weight:300}.welcome-copy small{display:block;text-align:center;font-size:11px;color:#bccaba;margin-top:14px}.welcome-foot{position:absolute;bottom:calc(35px + env(safe-area-inset-bottom));font-size:11px;letter-spacing:2px;color:#cad5c3}#hud{position:absolute;top:calc(16px + env(safe-area-inset-top));left:16px;right:16px;display:flex;justify-content:space-between;align-items:center;z-index:5;gap:10px}.brand-pill,.tools-pill{display:flex;align-items:center;border-radius:30px;padding:3px 5px}.brand-pill button,.tools-pill button{min-height:46px;min-width:46px;display:flex;align-items:center;justify-content:center}.wordmark{font-family:serif;font-size:21px;letter-spacing:1.5px;padding:0 12px 0 6px;gap:8px}.wordmark small{font:11px system-ui;opacity:.65;letter-spacing:.5px}#place-label{position:absolute;top:calc(94px + env(safe-area-inset-top));left:26px;display:flex;flex-direction:column;pointer-events:none;text-shadow:0 2px 12px #142d28}#zone-label{font-size:10px;letter-spacing:2px;color:#edf1d7b5}#place-name{font:400 25px serif;letter-spacing:1px;margin:7px 0}#connection{font-size:10px;color:#e7eddfbb}#chant{position:absolute;right:18px;top:calc(85px + env(safe-area-inset-top))}.chip{border-radius:24px;padding:11px 16px;font-size:11px;min-height:44px}#journal{position:absolute;right:18px;top:calc(140px + env(safe-area-inset-top));width:46px;height:46px;border-radius:50%}#dock{position:absolute;bottom:calc(22px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;border-radius:34px;padding:6px 9px;gap:4px;z-index:5;max-width:calc(100% - 24px)}#dock button{min-width:58px;min-height:62px;padding:7px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border-radius:28px;font-size:10px;color:#e5eadd}#dock button.active{background:#dbd8b82b;color:#f0d998}#dock .icon{height:26px}#context{position:absolute;bottom:calc(111px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;gap:7px;justify-content:center;flex-wrap:wrap;width:90%;z-index:4}#context button{border-radius:24px;padding:11px 18px;min-height:46px;background:#e6dfc7ed;color:#293e33;font-size:12px;box-shadow:0 8px 24px #12281f33}#travel{position:absolute;bottom:calc(120px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);border-radius:24px;background:#243e36dc;padding:5px 6px 5px 17px;display:flex;gap:15px;align-items:center;font-size:12px;z-index:6}#travel button{background:#ffffff1c;padding:10px 15px;border-radius:20px;min-height:44px}#ritual{position:absolute;bottom:calc(160px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);text-align:center;background:#1c3428a8;backdrop-filter:blur(10px);padding:20px 25px;border-radius:20px;min-width:220px}#ritual p{font-size:12px;color:#d4decb;margin:0 0 10px}#ritual strong{font:34px serif;display:block;margin:8px}progress{accent-color:#ddcc9a;width:100%;height:3px;display:block;margin:12px 0;background:#ffffff22}#ritual button{font-size:12px;padding:12px;min-height:44px}#toast{position:absolute;left:50%;transform:translateX(-50%);bottom:calc(200px + env(safe-area-inset-bottom));z-index:50;max-width:85%;min-width:200px;background:#23392ff0;border:1px solid #d5e0c72b;border-radius:14px;padding:14px 18px;font-size:12px;line-height:1.6;text-align:center;box-shadow:0 10px 40px #0004}dialog{border:1px solid #ded8bf38;background:#eae6d7;color:#304338;border-radius:25px;padding:24px;width:min(560px,calc(100% - 28px));max-height:calc(100% - 70px - env(safe-area-inset-top) - env(safe-area-inset-bottom));box-shadow:0 24px 100px #10291c70;overscroll-behavior:contain}dialog::backdrop{background:#152c2c60;backdrop-filter:blur(8px)}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;gap:12px}.panel-heading .eyebrow{color:#6b7a68;font-size:9px;margin:0 0 8px}.panel-heading h2{font:400 27px serif;margin:0;letter-spacing:-.5px}.panel-heading button{width:46px;height:46px;color:#51614c;flex-shrink:0}#panel-body{font-size:13px;line-height:1.75}.intro{color:#78816e;font-size:12px}.section-title{font-size:11px;letter-spacing:1px;color:#77816e;margin:26px 0 12px}.row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 0;border-bottom:1px solid #45523b19}.row small{display:block;font-size:11px;color:#818673}.row button,.pill{border:1px solid #69765d40;border-radius:20px;padding:10px 15px;min-height:44px;font-size:12px}.row input[type=range]{width:42%;accent-color:#55745f}.row select{background:#f2eedf;color:#3c5142;border:1px solid #69765d40;border-radius:10px;padding:10px}.cards{display:grid;grid-template-columns:1fr 1fr;gap:10px}.card{background:#f7f3e8;border:1px solid #8c967b24;border-radius:15px;text-align:left;padding:15px;color:#344a3b;min-height:88px}.card strong{display:block;font-weight:500;font-size:14px;margin:5px 0}.card small{color:#8c917e;font-size:10px}.card .number{color:#9c936f;font-size:9px;letter-spacing:2px}.card:hover{border-color:#75866c}.tabs{display:flex;gap:7px;overflow:auto;padding:0 0 15px;scrollbar-width:none}.tabs button{white-space:nowrap;padding:9px 13px;border:1px solid #74826930;border-radius:20px;font-size:11px;min-height:44px}.tabs button.active{background:#405d48;color:#eeeada}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.stat{padding:18px 10px;background:#f6f2e6;border-radius:15px;text-align:center}.stat strong{display:block;font:27px serif;color:#526e52}.stat span{font-size:10px;color:#8b8c76}textarea,input[type=text]{width:100%;border:1px solid #75826644;border-radius:13px;background:#f6f2e7;color:#364936;padding:14px;resize:vertical;min-height:100px;font-size:14px;line-height:1.8}textarea:focus{outline-color:#6b8a69}.muted{color:#828a77;font-size:11px}.button-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.button-row button{min-height:46px;border:1px solid #75826644;border-radius:24px;padding:10px 16px;font-size:12px}.button-row .chosen{background:#4f6d55;color:#fff8e7}.wish-colors{display:flex;justify-content:center;gap:14px;margin:22px 0}.wish-colors button{width:44px;height:44px;border-radius:50%;border:4px solid transparent;box-shadow:inset 0 0 0 1px #ffffff60}.wish-colors button[aria-checked=true]{outline:2px solid #4b6550;outline-offset:3px}.wish-text{font:24px/1.9 serif;text-align:center;padding:35px 12px;white-space:pre-wrap;word-break:break-word}.scroll-text{font:20px/2.1 serif;padding:15px 8px;color:#58644c}.room-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.room-grid button{border:1px solid #8a947a40;border-radius:12px;padding:13px 5px;min-height:64px}.room-grid button small{display:block;font-size:9px;color:#808b75}#practice{position:absolute;inset:0;z-index:8;pointer-events:none;background:linear-gradient(0deg,#14332b80,transparent 50%,#14332b45)}#practice-close{position:absolute;top:calc(26px + env(safe-area-inset-top));left:24px;pointer-events:auto;border-radius:24px;padding:12px 20px;min-height:46px;font-size:12px}#practice-info{position:absolute;left:28px;bottom:calc(145px + env(safe-area-inset-bottom))}#practice-title{font:22px serif;margin:0 0 12px}#practice-count{font:48px serif;letter-spacing:1px;font-weight:400}#practice-caption{font-size:12px;color:#dbe1d3}#practice-controls{position:absolute;bottom:calc(30px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;gap:10px;pointer-events:auto}#practice-controls button{padding:12px 20px;border:1px solid #ffffff40;background:#29483cb3;border-radius:28px;min-height:48px;font-size:12px}.breathing-orb{width:170px;height:170px;border-radius:50%;margin:36px auto;background:radial-gradient(circle at 35% 30%,#d9dbc1,#97b29d 65%,#6f8d74);box-shadow:0 0 55px #6f8d7430;transition:transform 4s ease-in-out}.breathing-orb.inhale{transform:scale(1.25)}.breath-label{text-align:center;font:22px serif;color:#526b50}.map-overview{height:180px;border-radius:16px;background:#d3d9c7;position:relative;overflow:hidden;margin-bottom:20px}.map-dot{position:absolute;width:9px;height:9px;border-radius:50%;background:#627c66;transform:translate(-50%,-50%);border:2px solid #f8f3df}.map-dot.self{width:12px;height:12px;background:#d19b5f;z-index:2}.map-zone{position:absolute;font-size:9px;color:#50674d;opacity:.7;pointer-events:none}.note{border-left:2px solid #b5b992;padding:4px 0 4px 14px;margin:20px 0}.note p{white-space:pre-wrap;word-break:break-word}.terms{font-size:11px;line-height:1.7;color:#7e8571}.error{color:#995c4a}.focus-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(max-width:380px){#hud{left:10px;right:10px}.brand-pill button,.tools-pill button{min-width:40px}.wordmark{font-size:19px;padding-right:6px}#dock{gap:0;padding:4px}#dock button{min-width:54px;padding:6px;font-size:9px}dialog{padding:20px}}@media(min-width:800px){#hud{left:30px;right:30px;top:28px}#place-label{left:40px;top:115px}#dock{bottom:32px}#dock button{min-width:75px}.welcome-copy{margin-left:5vw}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}body.reduce *{animation:none!important;transition:none!important}
