:root{--ink:#1f2a26;--ink-2:#4b5852;--paper:#f5efe2;--paper-2:#ebe2cf;--pine:#2f5d4a;--pine-2:#3f7a62;--amber:#e0a53a;--seal:#c8382c;--line:#1f2a2624;--glass:#1218168c;--serif:"Noto Serif KR", "Noto Serif SC", "AppleMyungjo", serif;--sans:"Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif}html:lang(zh-CN){--serif:"Noto Serif SC", "Noto Serif KR", serif}*{box-sizing:border-box}html,body{background:var(--paper);height:100%;color:var(--ink);font-family:var(--sans);-webkit-tap-highlight-color:transparent;margin:0}body{overflow:hidden}#scene{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}[hidden]{display:none!important}button{font:inherit;cursor:pointer}.btn{background:var(--pine);color:#fff;letter-spacing:.01em;border:0;border-radius:999px;padding:10px 18px;font-weight:700;transition:transform .1s,background .2s}.btn:hover{background:var(--pine-2)}.btn:active{transform:scale(.97)}.btn.ghost{color:inherit;background:#ffffff24;border:1px solid}.seal{background:var(--seal);color:#fff;font-family:"Noto Serif SC", var(--serif);border-radius:4px;place-items:center;font-weight:900;display:inline-grid;transform:rotate(-6deg);box-shadow:inset 0 0 0 2px #ffffff8c}.seal.small{width:28px;height:28px;font-size:16px}.seal.tiny{width:22px;height:22px;font-size:13px}.seal.big{writing-mode:vertical-rl;width:84px;height:84px;margin:0 auto 8px;font-size:30px;line-height:1}.lang{top:max(12px, env(safe-area-inset-top));z-index:30;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffb8;border-radius:999px;gap:2px;padding:3px;display:flex;position:fixed;right:12px;box-shadow:0 2px 10px #0000001f}.lang button{color:var(--ink-2);background:0 0;border:0;border-radius:999px;padding:5px 10px;font-size:12px}.lang button.on{background:var(--ink);color:#fff}.screen{z-index:10;position:fixed;inset:0}#map-screen{background:radial-gradient(1200px 600px at 20% -10%, #fffaf0 0, transparent 60%), linear-gradient(180deg, var(--paper) 0%, var(--paper-2) 100%);padding:max(16px, env(safe-area-inset-top)) 16px 24px;overflow:auto}.map-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:16px;max-width:1180px;margin:0 auto;padding:8px 4px 12px;display:flex}.map-head h1{font-family:var(--serif);letter-spacing:-.02em;margin:0;font-size:clamp(28px,5vw,44px);font-weight:900}.tagline{color:var(--ink-2);margin:4px 0 0;font-size:14px}.map-progress{white-space:nowrap;align-items:center;gap:8px;margin-right:150px;font-size:15px;display:flex}.map-body{grid-template-columns:minmax(0,1fr) 360px;gap:20px;max-width:1180px;margin:12px auto 0;display:grid}.map-wrap{min-width:0;position:relative}#korea-map{width:100%;height:auto;max-height:calc(100vh - 150px);box-shadow:inset 0 0 0 1px var(--line);background:linear-gradient(#e3ecef 0%,#d7e3e6 100%);border-radius:18px;margin:0 auto;display:block;overflow:hidden}.land.south{fill:#fbf7ee;stroke:#9a917d;stroke-width:.8px}.land.north{fill:#e6decd;stroke:#c2b8a4;stroke-width:.6px;stroke-dasharray:2 2}.pk{cursor:pointer;outline:none}.pk path{fill:var(--pine);stroke:#fff;stroke-width:1px;transition:transform .15s}.pk.estimated path{fill:var(--amber)}.pk.none path{fill:#fff;stroke:#a59d8c}.pk:hover path,.pk:focus path,.pk.sel path{transform:scale(1.6)}.pk.sel path{stroke:var(--ink);stroke-width:1.2px}.pk.done rect{fill:var(--seal);stroke:#fff;stroke-width:1px}.pk.done text{fill:#fff;text-anchor:middle;font-family:Noto Serif SC,serif;font-size:10px;font-weight:900}.pk.done.sel rect{stroke:var(--ink);stroke-width:1.5px}.legend{color:var(--ink-2);background:#fff9;border-radius:10px;flex-direction:column;gap:4px;padding:8px 10px;font-size:12px;display:flex;position:absolute;bottom:4px;left:4px}.legend span{align-items:center;gap:6px;display:flex}.dot{background:var(--pine);border-radius:2px;flex:none;width:9px;height:9px;display:inline-block}.dot.est,.dot.estimated{background:var(--amber)}.dot.none{background:#fff;box-shadow:inset 0 0 0 1px #a59d8c}.dot.done{background:var(--seal)}.peak-panel{flex-direction:column;gap:12px;min-height:0;max-height:calc(100vh - 150px);display:flex}.peak-card{border:1px solid var(--line);background:#fffdf8;border-radius:18px;padding:16px 18px 18px;box-shadow:0 10px 30px #3c321e14}.pc-head{justify-content:space-between;align-items:center;display:flex}.pc-num{color:var(--ink-2);letter-spacing:.08em;font-size:12px}.peak-card h2{font-family:var(--serif);margin:4px 0 2px;font-size:30px}.peak-card h2 small{font-family:var(--sans);color:var(--ink-2);font-size:13px;font-weight:400}.pc-sub{color:var(--ink-2);margin:0 0 12px;font-size:13px}.pc-stats{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:10px;display:grid}.pc-stats div{background:var(--paper);border-radius:10px;padding:8px 10px}.pc-stats span{color:var(--ink-2);font-size:11px;display:block}.pc-stats b{font-size:16px}.pc-kind{color:var(--pine);background:#2f5d4a1f;border-radius:999px;margin-bottom:12px;padding:3px 9px;font-size:12px;display:inline-block}.pc-kind.estimated{color:#9a6a12;background:#e0a53a2e}.pc-bar{background:var(--paper-2);border-radius:999px;height:6px;margin-bottom:12px;overflow:hidden}.pc-bar i{background:var(--amber);height:100%;display:block}.peak-card .btn{width:100%;padding:13px;font-size:16px}.pc-none{color:var(--ink-2)}.search{border:1px solid var(--line);font:inherit;background:#fffdf8;border-radius:999px;padding:10px 14px}.peak-list{border-top:1px solid var(--line);flex:1;min-height:160px;margin:0;padding:0;list-style:none;overflow:auto}.peak-list li{border-bottom:1px solid var(--line);cursor:pointer;align-items:center;gap:10px;padding:9px 6px;display:flex}.peak-list li:hover,.peak-list li.sel{background:#2f5d4a12}.peak-list li.none{opacity:.55}.peak-list .num{width:28px;color:var(--ink-2);text-align:right;font-size:12px}.peak-list .nm{flex:1;font-weight:700}.peak-list .nm small{color:var(--ink-2);font-size:12px;font-weight:400;display:block}.peak-list .pct{color:#9a6a12;font-size:12px;font-weight:700}@media (width<=820px){.map-body{grid-template-columns:1fr}#korea-map,.peak-panel{max-height:none}.map-head{flex-direction:column;align-items:flex-start}.map-progress{margin-right:0}.peak-list{max-height:60vh}}.hike{pointer-events:none;color:#fff}.hike>*{pointer-events:auto}.hud-top{top:max(12px, env(safe-area-inset-top));align-items:center;gap:10px;display:flex;position:absolute;left:12px;right:190px}.icon-btn{background:var(--glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;border:0;border-radius:50%;flex:none;width:40px;height:40px;font-size:18px}.icon-btn.stamp{background:var(--seal);font-family:"Noto Serif SC", var(--serif);font-weight:900}.hud-title{background:var(--glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:14px;min-width:0;padding:7px 14px}.hud-name{font-family:var(--serif);white-space:nowrap;text-overflow:ellipsis;font-size:19px;font-weight:900;overflow:hidden}.hud-sub{opacity:.85;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.badge{white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}.badge.real{background:#2f5d4ae6}.badge.est{color:#2a1d05;background:#e0a53af2}.toast{color:var(--ink);pointer-events:none;white-space:nowrap;background:#fffdf8f0;border-radius:999px;padding:9px 18px;font-weight:700;position:absolute;top:84px;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #0003}.toast.show{animation:2.6s both toast}@keyframes toast{0%{opacity:0;transform:translate(-50%,-8px)}10%,80%{opacity:1;transform:translate(-50%)}to{opacity:0}}.hud-bottom{left:50%;bottom:max(12px, env(safe-area-inset-bottom));background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;width:min(760px,100% - 24px);padding:12px 14px;position:absolute;transform:translate(-50%)}.stats{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.stat .k{opacity:.75;font-size:11px;display:block}.stat .v{font-variant-numeric:tabular-nums;font-size:20px;font-weight:700}.profile{background:#00000026;border-radius:8px;width:100%;height:44px;margin:8px 0 10px;display:block}.controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.btn.walk{white-space:nowrap;background:var(--amber);color:#2a1d05;-webkit-user-select:none;user-select:none;touch-action:none}.btn.walk.active{background:#ffd36b;box-shadow:0 0 0 3px #ffd36b66}.btn.auto{color:var(--ink);white-space:nowrap;background:#ffffffeb}.btn.auto.active{background:var(--pine-2);color:#fff;box-shadow:0 0 0 3px #3f7a6273}.total-steps{opacity:.8;margin-left:auto;font-size:12px}@media (width<=600px){.hud-top{right:12px;top:max(52px, calc(env(safe-area-inset-top) + 44px))}.badge{display:none}.stat .v{font-size:16px}.btn.walk,.btn.auto{flex:1}.total-steps{text-align:right;width:100%;margin:0}}.modal{z-index:40;background:#0a0c0e59;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal-panel{text-align:center;background:#fffdf8;border-radius:22px;width:min(420px,100%);max-height:calc(100vh - 32px);padding:24px 22px 20px;animation:.35s cubic-bezier(.2,1.4,.4,1) pop;overflow:auto;box-shadow:0 20px 60px #0000004d}@keyframes pop{0%{opacity:0;transform:scale(.85)}}.modal-panel h2{font-family:var(--serif);margin:6px 0 4px;font-size:28px}.modal-panel p{color:var(--ink-2);margin:0 0 16px}.modal-panel .row{justify-content:center;gap:8px;display:flex}.modal-panel .btn.ghost{color:var(--ink);border-color:var(--line);background:0 0}.card-preview{border-radius:12px;width:60%;margin:0 auto 14px;display:block;box-shadow:0 8px 24px #00000040}.loading{z-index:50;background:var(--paper);color:var(--ink-2);align-content:center;place-items:center;gap:14px;display:grid;position:fixed;inset:0}.spinner{border:4px solid var(--paper-2);border-top-color:var(--pine);border-radius:50%;width:46px;height:46px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.hud-people{top:calc(max(12px, env(safe-area-inset-top)) + 52px);flex-wrap:wrap;align-items:center;gap:8px;display:flex;position:absolute;left:12px}.me-chip,.hikers-chip{background:var(--glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;border:0;border-radius:999px;align-items:center;gap:7px;padding:6px 12px;font-size:13px;font-weight:700;display:inline-flex}.me-chip i{border-radius:50%;width:12px;height:12px;box-shadow:0 0 0 2px #fffc}.hikers-chip{font-weight:500}.hikers-chip.live:before{content:"";background:#6fe39a;border-radius:50%;width:8px;height:8px;animation:1.6s ease-in-out infinite blink;box-shadow:0 0 0 3px #6fe39a4d}@keyframes blink{50%{opacity:.35}}.nick-form{text-align:left;gap:8px;display:grid}.nick-form label,.field-label{color:var(--ink-2);font-size:12px}.nick-form input{border:1px solid var(--line);font:inherit;border-radius:12px;padding:11px 14px;font-size:16px}.colors{gap:10px;margin-bottom:8px;display:flex}.colors button{border:0;border-radius:50%;width:32px;height:32px;box-shadow:inset 0 0 0 2px #fff9}.colors button.on{box-shadow:0 0 0 3px #fff, 0 0 0 5px var(--ink)}@media (width<=600px){.hud-people{top:calc(max(52px, calc(env(safe-area-inset-top) + 44px)) + 52px)}}.pc-here{color:var(--pine);align-items:center;gap:7px;margin:-4px 0 12px;font-size:13px;display:flex}.pc-here.live:before{content:"";background:#2fbf6a;border-radius:50%;width:8px;height:8px;animation:1.6s ease-in-out infinite blink}.btn.phase{background:var(--pine);color:#fff;white-space:nowrap;flex:1}.link-btn{color:var(--ink-2);background:0 0;border:0;margin-top:12px;font-size:13px;text-decoration:underline}.confirm-text{font-size:16px;line-height:1.5;color:var(--ink)!important}.lang button.sound{min-width:30px;color:var(--ink-2);font-size:14px}.lang button.sound.on{color:var(--pine);font-weight:700}.head-right{align-items:center;gap:10px;margin-right:190px;display:flex}.head-right .map-progress{margin-right:0}.support-btn{color:#191919;white-space:nowrap;background:#ffeb00;border:1px solid #e6cf00;border-radius:999px;padding:6px 14px;font-size:14px;font-weight:700}.support-btn.small{margin:12px auto 0;font-size:13px;display:block}.modal-panel.support .sup-cup{margin-bottom:4px;font-size:44px;line-height:1}.btn.kakao{text-align:center;color:#191919;background:#ffeb00;width:100%;padding:13px;text-decoration:none;display:block}.sup-note{margin:10px 0 0!important;font-size:12px!important}@media (width<=820px){.head-right{margin-right:0}}
