:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#f4f1e8;--ink-dim:#f4f1e8b8;--glass:#18201a6b;--glass-strong:#141c16b3;--line:#ffffff29;--accent:#d9b26f;--accent-ink:#2a2116;--radius:16px}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);-webkit-font-smoothing:antialiased;touch-action:none;-webkit-user-select:none;user-select:none;background:#1d2a1f;margin:0;font-family:Noto Sans KR,system-ui,sans-serif;overflow:hidden}#scene{width:100%;height:100%;display:block;position:fixed;inset:0}.hidden{opacity:0;pointer-events:none!important}button{font:inherit;color:inherit;cursor:pointer}.intro{z-index:10;background:radial-gradient(#0a120c40,#0a120cb3);place-items:center;padding:16px;transition:opacity 1.2s;display:grid;position:fixed;inset:0}.intro-card{text-align:center;max-width:420px}.intro h1{text-shadow:0 2px 30px #0006;margin:0 0 16px;font-family:Gowun Batang,serif;font-size:clamp(40px,9vw,64px);font-weight:700}.intro-desc{color:var(--ink-dim);margin:0 0 28px;line-height:1.7}.intro-hint{color:var(--ink-dim);margin-top:14px;font-size:13px}.btn-primary{background:var(--accent);color:var(--accent-ink);border:0;border-radius:999px;padding:14px 32px;font-size:16px;font-weight:700;transition:transform .2s,box-shadow .2s;box-shadow:0 8px 30px #d9b26f59}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 10px 36px #d9b26f80}.topbar{padding:max(14px, env(safe-area-inset-top)) 16px 14px;z-index:5;pointer-events:none;justify-content:space-between;align-items:center;gap:12px;transition:opacity 1s;display:flex;position:fixed;top:0;left:0;right:0}.topbar>*{pointer-events:auto}.brand{text-shadow:0 1px 12px #00000073;font-family:Gowun Batang,serif;font-size:20px;font-weight:700}.env-btn{border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(12px);border-radius:999px;padding:8px 16px;font-size:14px;font-weight:500}.env-btn:before{content:"";background:var(--accent);vertical-align:1px;border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block}.env-panel{top:calc(max(14px, env(safe-area-inset-top)) + 52px);right:max(16px, env(safe-area-inset-right));background:var(--glass-strong);border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(16px);z-index:8;flex-direction:column;gap:12px;width:min(340px,100% - 32px);padding:14px;transition:opacity .3s;display:flex;position:fixed}.env-group{flex-direction:column;gap:6px;display:flex}.env-title{color:var(--ink-dim);letter-spacing:.06em;font-size:12px}.seg{background:#ffffff0f;border-radius:12px;grid-template-columns:repeat(5,1fr);gap:2px;padding:3px;display:grid}.seg button{color:var(--ink-dim);background:0 0;border:0;border-radius:9px;padding:7px 0;font-size:13px;transition:background .2s,color .2s}.seg button.active{background:var(--ink);color:#1d2a1f;font-weight:700}.seg button.auto-on{color:var(--accent);font-weight:700}.env-note{color:var(--ink-dim);margin:0;font-size:12px}.action-btn{left:50%;bottom:calc(max(18px, env(safe-area-inset-bottom)) + 52px);border:1px solid var(--line);background:var(--glass-strong);-webkit-backdrop-filter:blur(12px);z-index:6;border-radius:999px;padding:12px 26px;font-size:15px;font-weight:700;transition:opacity .4s;position:fixed;transform:translate(-50%)}.action-btn:hover{background:#1e2a20d9}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.med{top:calc(max(14px, env(safe-area-inset-top)) + 54px);background:var(--glass);border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(14px);z-index:5;width:min(560px,100% - 32px);padding:14px 18px 12px;transition:opacity .8s;position:fixed;left:50%;transform:translate(-50%)}.med-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.med-label{color:var(--ink-dim);letter-spacing:.04em;font-size:13px}.med-time{font-variant-numeric:tabular-nums;font-family:Gowun Batang,serif;font-size:26px;font-weight:700}.med-track{background:#ffffff1a;border-radius:6px;height:18px;position:relative;overflow:visible}.med-fill{background:linear-gradient(90deg, #a9c39a, var(--accent));border-radius:6px;width:0;position:absolute;inset:0 auto 0 0}.med-ticks{pointer-events:none;position:absolute;inset:0}.tick{background:#ffffff59;width:1px;position:absolute;top:4px;bottom:4px}.tick.major{background:#fff9;top:0;bottom:0}.tick[data-label]:after{content:attr(data-label);color:var(--ink-dim);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:11px;position:absolute;top:22px;left:50%;transform:translate(-50%)}.tick:not(.major)[data-label]:after{opacity:.75}.med-note{color:var(--ink-dim);margin:24px 0 0;font-size:12px}.med.done .med-fill{background:var(--accent)}.med.done .med-label{color:var(--accent);font-weight:700}.panel{left:50%;bottom:calc(max(18px, env(safe-area-inset-bottom)) + 108px);background:var(--glass-strong);border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(16px);z-index:7;width:min(420px,100% - 32px);padding:18px;transition:opacity .4s;position:fixed;transform:translate(-50%)}.panel h2{text-wrap:balance;margin:0 0 4px;font-family:Gowun Batang,serif;font-size:20px}.panel-sub{color:var(--ink-dim);margin:0 0 14px;font-size:13px}.course-list{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px;display:grid}.course{text-align:left;border:1px solid var(--line);background:#ffffff0a;border-radius:12px;flex-direction:column;gap:2px;min-width:0;padding:10px 12px;display:flex}.course strong{font-size:14px}.course span{color:var(--ink-dim);font-size:12px}.course.active{border-color:var(--accent);background:#d9b26f29}.rounds{color:var(--ink-dim);align-items:center;gap:6px;margin-bottom:16px;font-size:13px;display:flex}.rounds span{margin-right:4px}.rounds button{border:1px solid var(--line);background:0 0;border-radius:999px;padding:6px 12px;font-size:13px}.rounds button.active{background:var(--ink);color:#1d2a1f;font-weight:700}.panel .start{width:100%}.breath-guide{pointer-events:none;z-index:4;flex-direction:column;align-items:center;gap:10px;transition:opacity .6s;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-62%)}.breath-name{color:var(--ink-dim);text-shadow:0 1px 8px #00000080;font-size:13px}.breath-ring{border:1px solid #ffffff59;border-radius:50%;place-items:center;width:200px;height:200px;display:grid;position:relative}.breath-circle{background:radial-gradient(circle,#fff6d859,#d9b26f1f 70%);border-radius:50%;position:absolute;inset:0;transform:scale(.45)}.breath-guide[data-phase=hold] .breath-circle,.breath-guide[data-phase=holdOut] .breath-circle{box-shadow:0 0 0 2px #d9b26f99}.breath-text{text-shadow:0 1px 10px #00000080;flex-direction:column;align-items:center;display:flex;position:relative}.breath-phase{font-family:Gowun Batang,serif;font-size:22px;font-weight:700}.breath-count{font-variant-numeric:tabular-nums;min-height:1.2em;font-size:30px;font-weight:700}.breath-round{color:var(--ink-dim);text-shadow:0 1px 8px #00000080;font-variant-numeric:tabular-nums;font-size:13px}.breath-guide.done .breath-phase{font-size:18px}.hint{left:50%;top:calc(max(14px, env(safe-area-inset-top)) + 58px);max-width:calc(100% - 32px);color:var(--ink);background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);text-align:center;z-index:5;border-radius:999px;padding:8px 16px;font-size:13px;transition:opacity .6s;position:fixed;transform:translate(-50%)}.top-actions{align-items:center;gap:8px;display:flex}.top-btn{border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(12px);border-radius:999px;padding:8px 14px;font-size:14px}.env-panel{background:#141c16f0;max-height:calc(100% - 90px);overflow-y:auto}.sound-list{flex-direction:column;gap:6px;display:flex}.sound-row{grid-template-columns:76px 1fr 42px;align-items:center;gap:8px;font-size:13px;display:grid}.sound-row output{text-align:right;color:var(--ink-dim);font-variant-numeric:tabular-nums;font-size:12px}.sound-row input[type=range]{width:100%;accent-color:var(--accent)}.sound-reset{border:1px solid var(--line);color:var(--ink-dim);background:0 0;border-radius:999px;align-self:flex-start;margin-top:2px;padding:6px 12px;font-size:12px}.rc-panel{border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(16px);z-index:12;background:#141c16eb;width:min(460px,100% - 32px);max-height:calc(100% - 40px);padding:18px;transition:opacity .3s;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.rc-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.rc-head h2{margin:0;font-family:Gowun Batang,serif;font-size:20px}.rc-close{border:1px solid var(--line);background:0 0;border-radius:999px;padding:6px 14px;font-size:13px}.rc-stats{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px;display:grid}.rc-stats div{background:#ffffff0d;border-radius:12px;flex-direction:column;gap:2px;min-width:0;padding:10px 12px;display:flex}.rc-stats span{color:var(--ink-dim);font-size:12px}.rc-stats strong{font-variant-numeric:tabular-nums;white-space:nowrap;font-family:Gowun Batang,serif;font-size:20px}@media (width<=420px){.rc-stats strong{font-size:16px}.rc-stats div{padding:9px 10px}}.rc-chart{height:150px;margin:0 0 10px 44px;position:relative}.rc-grid{pointer-events:none;flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:0 0 22px}.rc-grid span{border-top:1px solid #ffffff1a;position:relative}.rc-grid span:last-child{border-top-color:#ffffff40}.rc-grid span:before{content:attr(data-v);color:var(--ink-dim);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:11px;position:absolute;top:-8px;right:calc(100% + 6px)}.rc-cols{grid-template-columns:repeat(7,1fr);display:grid;position:absolute;inset:0}.rc-col{background:0 0;border:0;flex-direction:column;align-items:center;min-width:0;padding:0;display:flex;position:relative}.rc-col:hover,.rc-col.show{background:#ffffff0d;border-radius:8px}.rc-bar{flex-direction:column-reverse;flex:1;gap:2px;width:18px;margin-bottom:4px;padding-bottom:0;display:flex}.rc-bar span{min-height:2px;display:block}.rc-bar span:last-child{border-radius:4px 4px 0 0}.rc-day{height:18px;color:var(--ink-dim);font-size:11px}.rc-col.today .rc-day{color:var(--ink);font-weight:700}.rc-tip{border:1px solid var(--line);text-align:left;white-space:nowrap;z-index:2;background:#0f1511;border-radius:10px;min-width:130px;padding:8px 10px;font-size:12px;display:none;position:absolute;bottom:calc(100% - 10px);left:50%;transform:translate(-50%)}.rc-col:first-child .rc-tip,.rc-col:nth-child(2) .rc-tip{left:0;transform:none}.rc-col:last-child .rc-tip,.rc-col:nth-child(6) .rc-tip{left:auto;right:0;transform:none}.rc-col:hover .rc-tip,.rc-col.show .rc-tip{display:block}.rc-tip strong{margin-bottom:4px;display:block}.rc-tip ul{margin:0 0 4px;padding:0;list-style:none}.rc-tip li{align-items:center;gap:6px;display:flex}.rc-tip li b{font-variant-numeric:tabular-nums;margin-left:auto;padding-left:10px;font-weight:500}.rc-tip em{color:var(--ink-dim);font-style:normal}.rc-legend{color:var(--ink-dim);flex-wrap:wrap;gap:4px 12px;margin:0 0 12px;padding:0;font-size:12px;list-style:none;display:flex}.rc-legend li,.rc-table th{align-items:center;gap:6px;display:flex}.rc-panel i{border-radius:3px;flex:none;width:10px;height:10px;display:inline-block}.rc-empty{color:var(--ink-dim);margin:0 0 12px;font-size:13px}.rc-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:13px}.rc-table th,.rc-table td{text-align:right;border-bottom:1px solid #ffffff14;padding:7px 4px}.rc-table th:first-child{text-align:left;justify-content:flex-start;font-weight:500}.rc-table thead th{color:var(--ink-dim);font-size:11px;font-weight:500;display:table-cell}.rc-table tbody th{display:flex}.rc-table small{color:var(--ink-dim);margin-left:4px;font-size:11px}.rc-note{color:var(--ink-dim);margin:10px 0 0;font-size:11px}.coupon-btn{color:var(--accent);border-color:#d9b26f8c}.coupon-btn b{font-variant-numeric:tabular-nums}.toast{left:50%;bottom:calc(max(18px, env(safe-area-inset-bottom)) + 120px);text-align:center;z-index:15;background:#282114eb;border:1px solid #d9b26f99;border-radius:14px;width:max-content;max-width:calc(100% - 32px);padding:10px 16px;font-size:13px;line-height:1.5;transition:opacity .5s;position:fixed;transform:translate(-50%)}.tea-panel{flex-direction:column;gap:10px;display:flex}.tea-head{justify-content:space-between;align-items:baseline;display:flex}.tea-head h2{margin:0}.tea-coupons{color:var(--accent);font-variant-numeric:tabular-nums;font-size:13px;font-weight:700}.tea-say{min-height:2.6em;margin:0;font-size:14px;line-height:1.6}.tea-list{grid-template-columns:1fr 1fr;gap:6px;display:grid}.tea-item{text-align:left;border:1px solid var(--line);background:#ffffff0a;border-radius:12px;grid-template-columns:12px 1fr;align-items:center;column-gap:8px;min-width:0;padding:8px 10px;display:grid}.tea-item i{border-radius:50%;grid-row:span 2;width:12px;height:12px}.tea-item strong{font-size:14px}.tea-item span{color:var(--ink-dim);grid-column:2;font-size:11px;line-height:1.4}.tea-item.active{border-color:var(--accent);background:#d9b26f29}.tea-actions{gap:8px;display:flex}.tea-actions button{border:1px solid var(--line);background:0 0;border-radius:12px;flex:1;padding:9px;font-size:13px}.tea-sip:disabled{opacity:.6}.tea-panel:not([data-mode=menu]) .tea-list,.tea-panel:not([data-mode=menu]) .tea-order,.tea-panel:not([data-mode=drink]) .tea-sip{display:none}@media (width<=420px){.tea-list{grid-template-columns:1fr}.tea-item span{display:none}}#shoePanel:not([data-mode=ready]) .bf-ready,#shoePanel:not([data-mode=walking]) .bf-walking{display:none}#shoePanel{flex-direction:column;gap:10px;display:flex}#shoePanel .rounds{margin:0}.walk-hud{top:calc(max(14px, env(safe-area-inset-top)) + 54px);background:var(--glass-strong);border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(14px);z-index:6;flex-direction:column;gap:8px;width:min(420px,100% - 32px);padding:12px 16px;transition:opacity .4s;display:flex;position:fixed;left:50%;transform:translate(-50%)}.walk-top{font-variant-numeric:tabular-nums;justify-content:space-between;align-items:baseline;display:flex}.walk-top span{font-family:Gowun Batang,serif;font-size:18px;font-weight:700}.walk-where{color:var(--ink-dim);font-size:13px}.walk-actions{gap:6px;display:flex}.walk-actions button{border:1px solid var(--line);background:0 0;border-radius:12px;flex:1;padding:8px;font-size:13px}#walkAuto,#walkBath{color:var(--accent);border-color:#d9b26f99;font-weight:700}#massagePanel:not([data-mode=locked]) .ms-locked,#massagePanel:not([data-mode=menu]) .ms-menu,#massagePanel:not([data-mode=run]):not([data-mode=done]) .ms-run{display:none}#massagePanel .tea-list{grid-template-columns:1fr 1fr}.hug-card{left:50%;bottom:calc(max(18px, env(safe-area-inset-bottom)) + 18px);background:var(--glass-strong);border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(14px);z-index:6;width:min(460px,100% - 32px);padding:12px 16px;transition:opacity .5s;position:fixed;transform:translate(-50%)}.hug-head{flex-direction:column;gap:2px;display:flex}.hug-head strong{font-family:Gowun Batang,serif;font-size:20px}.hug-head span{color:var(--ink-dim);font-size:12px}.hug-prompt{margin:8px 0 0;font-size:15px;line-height:1.55;transition:opacity .6s}.qg-list{grid-template-columns:1fr 1fr;gap:5px 6px;margin:0 0 8px;padding:0;font-size:13px;list-style:none;display:grid}.qg-list li{min-width:0;display:flex}.qg-pickhead{color:var(--ink-dim);justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;font-size:12px;display:flex}.qg-all{border:1px solid var(--line);background:0 0;border-radius:999px;padding:4px 10px;font-size:12px}.qg-pick{text-align:left;border:1px solid var(--line);min-width:0;color:var(--ink-dim);background:0 0;border-radius:10px;flex:1;align-items:center;gap:6px;padding:7px 8px;font-size:13px;display:flex}.qg-pick:before{content:attr(data-n);font-variant-numeric:tabular-nums;border:1px solid var(--line);border-radius:50%;flex:none;place-items:center;width:18px;height:18px;font-size:11px;font-weight:700;display:grid}.qg-pick.on{color:var(--ink);background:#d9b26f1f;border-color:#d9b26f8c}.qg-pick.on:before{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.qg-reward{color:var(--ink-dim);margin:0 0 10px;font-size:12px}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.qg-music{border:1px solid var(--line);width:100%;color:var(--ink-dim);background:0 0;border-radius:12px;margin-bottom:10px;padding:9px;font-size:13px}.qg-music.active{color:var(--accent);border-color:#d9b26f99}.qg-guide{top:calc(max(14px, env(safe-area-inset-top)) + 54px);background:var(--glass);border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(14px);z-index:5;width:min(460px,100% - 32px);padding:14px 18px;transition:opacity .6s;position:fixed;left:50%;transform:translate(-50%)}.qg-head{color:var(--ink-dim);font-variant-numeric:tabular-nums;justify-content:space-between;font-size:12px;display:flex}.qg-step{color:var(--accent);letter-spacing:.05em;font-weight:700}.qg-name{text-wrap:balance;margin:4px 0;font-family:Gowun Batang,serif;font-size:22px;font-weight:700}.qg-desc{color:var(--ink);margin:0 0 10px;font-size:13px;line-height:1.55}.qg-bar{background:#ffffff1f;border-radius:3px;height:6px;overflow:hidden}.qg-fill{background:linear-gradient(90deg, #a9c39a, var(--accent));width:0;height:100%}.qg-next{color:var(--ink-dim);min-height:1em;margin-top:8px;font-size:12px}.qg-guide.done .qg-name{color:var(--accent)}.md-bar{left:50%;bottom:max(14px, env(safe-area-inset-bottom));background:var(--glass-strong);border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(14px);z-index:7;flex-direction:column;gap:8px;width:min(560px,100% - 32px);padding:10px 12px;transition:opacity .4s;display:flex;position:fixed;transform:translate(-50%)}.md-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.md-count{color:var(--ink-dim);min-width:0;font-size:12px}.md-done{border:1px solid var(--line);background:0 0;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:700}.md-materials{grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.md-materials button{white-space:nowrap;background:#ffffff0d;border:1px solid #0000;border-radius:10px;align-items:center;gap:6px;min-width:0;padding:7px 8px;font-size:13px;display:flex}.md-materials button i{border-radius:50%;flex:none;width:12px;height:12px;box-shadow:inset 0 0 0 1px #00000040}.md-materials button.active{border-color:var(--accent);background:#d9b26f2e;font-weight:700}.md-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.md-sym{color:var(--ink-dim);align-items:center;gap:3px;margin-right:auto;font-size:12px;display:flex}.md-sym span{margin-right:4px}.md-sym button,#mdUndo,#mdClear{border:1px solid var(--line);background:0 0;border-radius:999px;padding:6px 10px;font-size:12px}.md-sym button.active{background:var(--ink);color:#1d2a1f;font-weight:700}@media (width<=420px){.md-materials button{gap:4px;padding:7px 5px;font-size:12px}}.bowl-mode{left:50%;bottom:calc(max(18px, env(safe-area-inset-bottom)) + 108px);border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);z-index:6;width:min(380px,100% - 32px);transition:opacity .4s;position:fixed;transform:translate(-50%);background:var(--glass-strong)!important;grid-template-columns:1fr 1fr!important}.bowl-mode button{flex-direction:column;gap:2px;font-weight:700;display:flex;padding:9px 8px!important;font-size:15px!important}.bowl-mode small{opacity:.8;font-size:11px;font-weight:400}.travel{left:max(16px, env(safe-area-inset-left));top:calc(max(14px, env(safe-area-inset-top)) + 50px);z-index:6;flex-direction:column-reverse;align-items:flex-start;gap:6px;transition:opacity .6s;display:flex;position:fixed}.travel-btn,.travel-menu button{border:1px solid var(--line);background:var(--glass-strong);-webkit-backdrop-filter:blur(12px);white-space:nowrap;border-radius:999px;padding:7px 14px;font-size:13px}.travel-menu{flex-direction:column;gap:6px;transition:opacity .3s;display:flex}.travel-menu button:hover,.travel-btn:hover{background:#1e2a20d9}.fade{z-index:20;pointer-events:none;background:#0d140f;transition:opacity .45s;position:fixed;inset:0}.help{left:50%;bottom:max(18px, env(safe-area-inset-bottom));color:var(--ink-dim);background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);white-space:nowrap;z-index:5;border-radius:999px;padding:8px 16px;font-size:13px;transition:opacity 1.5s;position:fixed;transform:translate(-50%)}.mobile-only{display:none}@media (hover:none) and (pointer:coarse){.mobile-only{display:inline}.desktop-only{display:none}}@media (width<=420px){.brand{font-size:17px}.course-list{grid-template-columns:1fr}.breath-ring{width:160px;height:160px}.med-time{font-size:22px}}.map-panel{width:min(640px,100% - 32px)}.map-canvas{border:1px solid var(--line);touch-action:manipulation;border-radius:12px;width:100%;display:block}.brand{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.top-btn,.env-btn{white-space:nowrap;flex:none}@media (width<=480px){.topbar{gap:8px;padding-left:12px;padding-right:12px}.top-actions{gap:5px}.top-btn,.env-btn{padding:7px 10px;font-size:13px}.env-btn:before{display:none}}.coupon-panel{gap:10px}.cp-head{justify-content:space-between;align-items:center;display:flex}.cp-head h2{margin:0;font-family:Gowun Batang,serif;font-size:19px}.cp-count{background:#d9b26f24;border-radius:12px;justify-content:space-between;align-items:baseline;gap:8px;padding:10px 12px;display:flex}.cp-count strong{color:var(--accent);font-variant-numeric:tabular-nums;font-family:Gowun Batang,serif;font-size:26px}.cp-count span{color:var(--ink-dim);font-size:12px}.cp-sub{color:var(--ink-dim);margin:0;font-size:13px}.cp-how{margin:0;padding-left:18px;font-size:13px;line-height:1.7}.obs-timer{align-items:center;gap:10px;font-size:13px;display:flex}.obs-bar{background:#ffffff1a;border-radius:99px;flex:1;height:8px;overflow:hidden}.obs-bar i{border-radius:inherit;background:#9b7ae0;width:0;height:100%;transition:width .25s linear;display:block}.obs-timer.done .obs-bar i{background:#6fcf8a}.obs-timer.done span{color:#9fe0b0;font-weight:700}.obs-timer span{color:var(--ink-dim);flex:none}.obs-panel{right:max(16px, env(safe-area-inset-right));top:calc(max(14px, env(safe-area-inset-top)) + 54px);z-index:8;border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(14px);background:#141c16e6;flex-direction:column;align-items:stretch;gap:10px;width:min(360px,100% - 24px);max-height:calc(100% - 84px);padding:18px;display:flex;position:fixed;overflow-y:auto}.obs-view{flex-direction:column;flex:none;align-self:center;align-items:center;gap:8px;width:min(270px,100%);display:flex}.obs-canvas{aspect-ratio:1;touch-action:none;cursor:grab;width:100%;display:block}.obs-canvas:active{cursor:grabbing}.obs-zoom{color:var(--ink-dim);font-variant-numeric:tabular-nums;align-items:center;gap:10px;font-size:13px;display:flex}.obs-zoom button{border:1px solid var(--line);background:#ffffff0f;border-radius:50%;width:36px;height:36px;font-size:20px;line-height:1}.obs-info{flex-direction:column;flex:1;gap:10px;min-width:0;display:flex}.obs-info h2{margin:0;font-family:Gowun Batang,serif;font-size:22px}.obs-hint{color:var(--ink-dim);margin:0;font-size:12px}.obs-tips{flex-direction:column;gap:4px;margin:0;padding-left:20px;font-size:14px;line-height:1.6;display:flex}.obs-progress{color:var(--ink-dim);justify-content:space-between;align-items:center;gap:8px;font-size:12px;display:flex}.obs-dots{gap:5px;display:flex}.obs-dots i{border:1px solid #ffffff59;border-radius:50%;width:10px;height:10px}.obs-dots i.on{background:#9b7ae0;border-color:#9b7ae0}.obs-dots i.here{outline:2px solid var(--accent);outline-offset:1px}.obs-btns{flex-wrap:wrap;gap:8px;display:flex}.obs-btns .btn-primary{flex:1}.obs-leave{border:1px solid var(--line);background:0 0;border-radius:999px;padding:10px 16px;font-size:14px}@media (width<=600px){.obs-panel{gap:10px;width:auto;max-height:calc(100% - 120px);padding:14px;inset:auto 12px 12px;transform:none}.obs-view{width:min(260px,70vw)}.obs-info h2{font-size:19px}.obs-tips{font-size:13px}}button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}@media (pointer:coarse){.top-btn,.env-btn{min-height:38px}.travel-btn,.travel-menu button{min-height:38px;padding-top:8px;padding-bottom:8px}}.panel{overscroll-behavior:contain;max-height:calc(100dvh - 190px);overflow-y:auto}@media (height<=520px){.panel{bottom:max(10px, env(safe-area-inset-bottom));width:min(560px,100% - 32px);max-height:calc(100dvh - 66px);padding:14px}.panel h2{font-size:18px}.panel-sub{margin-bottom:8px}.obs-panel{flex-direction:row;align-items:center;gap:14px;width:min(640px,100% - 24px);max-height:none;padding:12px;inset:56px 12px 10px auto;transform:none}.obs-view{width:min(100dvh - 120px,240px)}.obs-info{gap:6px;max-height:100%;overflow-y:auto}.obs-info h2{font-size:18px}.obs-tips{gap:2px;font-size:13px}.rc-panel,.map-panel{max-height:calc(100dvh - 20px)}.env-panel{max-height:calc(100dvh - 66px);top:56px}}.map-where{color:#ffd68c;text-align:center;margin:8px 0 0;font-size:14px;font-weight:500}.brand-wrap{flex-direction:column;gap:2px;min-width:0;display:flex}.room-info{color:var(--ink-dim);text-shadow:0 1px 8px #00000080;white-space:nowrap;font-size:12px}.room-info:before{content:"";vertical-align:1px;background:#7fd18a;border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.wave-btn{bottom:calc(max(18px, env(safe-area-inset-bottom)) + 104px);color:var(--accent);border-color:#d9b26f99}
