@import "https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable.min.css";@import "https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400..600;1,9..144,400..600&display=swap";:root{--bg:#161210;--bg-1:#1e1813;--bg-2:#281f18;--bg-3:#342a20;--ink:#f5ede2;--ink-dim:#b6a693;--ink-faint:#7c6f5e;--gold:#f2a74b;--gold-soft:#fbc97a;--coral:#e66a4a;--grad:linear-gradient(135deg, #fbc97a 0%, #f2a74b 45%, #e66a4a 100%);--line:#f5ede217;--line-2:#f5ede229;--shadow:0 18px 44px -14px #000000a8;--r:18px;--sans:"Pretendard Variable", "Pretendard", -apple-system, sans-serif;--serif:"Fraunces", Georgia, serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--sans);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(120% 60% at 80% -10%,#f2a74b29,#0000 60%),radial-gradient(90% 50% at 0 0,#e66a4a1a,#0000 55%);position:fixed;inset:0}body:after{content:"";opacity:.035;mix-blend-mode:overlay;pointer-events:none;z-index:9999;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.4'/%3E%3C/svg%3E");position:fixed;inset:0}.app-shell{z-index:1;flex-direction:column;height:100%;display:flex;position:relative}.page-content{flex:1;position:relative;overflow:auto}.page-content::-webkit-scrollbar{width:0}.kicker{font-family:var(--serif);letter-spacing:.04em;color:var(--gold-soft);font-size:.78rem;font-style:italic}.eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--ink-faint);font-size:.66rem;font-weight:700}.serif{font-family:var(--serif)}.grad-text{background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text}.topbar{-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line);background:linear-gradient(#161210eb,#1612108c);justify-content:space-between;align-items:center;padding:14px 18px 12px;display:flex}.wordmark{align-items:baseline;gap:7px;display:flex}.wordmark__ko{letter-spacing:-.02em;font-size:1.32rem;font-weight:800}.wordmark__dot{background:var(--grad);border-radius:50%;align-self:center;width:7px;height:7px;box-shadow:0 0 12px #f2a74bb3}.wordmark__en{font-family:var(--serif);color:var(--ink-faint);letter-spacing:.02em;font-size:.74rem;font-style:italic}.btn{font-family:var(--sans);cursor:pointer;color:var(--ink);border:none;border-radius:999px;font-size:.9rem;font-weight:600;transition:transform .16s,opacity .16s,box-shadow .16s}.btn:active{transform:scale(.96)}.btn--ghost{border:1px solid var(--line-2);color:var(--ink-dim);background:0 0;padding:8px 16px}.btn--ghost:hover{border-color:var(--gold);color:var(--ink)}.btn--gold{background:var(--grad);color:#1a1206;padding:13px 24px;font-weight:700;box-shadow:0 10px 26px -10px #f2a74b99}.btn--block{text-align:center;width:100%;display:block}.card{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden}.chip{font-family:var(--sans);border:1px solid var(--line-2);color:var(--ink-dim);cursor:pointer;white-space:nowrap;background:#f5ede208;border-radius:999px;padding:8px 15px;font-size:.82rem;font-weight:600;transition:all .16s}.chip:active{transform:scale(.95)}.chip--on{background:var(--grad);color:#1a1206;border-color:#0000}.tab-bar{padding:8px 6px calc(8px + env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(18px);border-top:1px solid var(--line);background:linear-gradient(#14100db8,#14100df5);display:flex}.tab-bar__item{letter-spacing:.02em;color:var(--ink-faint);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;padding:6px 0;font-size:10px;font-weight:600;text-decoration:none;transition:color .18s;display:flex}.tab-bar__item svg{stroke-width:1.7px;width:22px;height:22px;transition:transform .18s}.tab-bar__item.active{color:var(--gold-soft)}.tab-bar__item.active svg{filter:drop-shadow(0 4px 8px #f2a74b73);transform:translateY(-1px)}.sheet-backdrop{z-index:200;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#08060499;animation:.22s fade;position:fixed;inset:0}.sheet{z-index:201;background:var(--bg-1);border-top:1px solid var(--line-2);padding:12px 20px calc(24px + env(safe-area-inset-bottom,0px));-webkit-overflow-scrolling:touch;overscroll-behavior:contain;border-radius:26px 26px 0 0;max-height:80vh;animation:.3s cubic-bezier(.22,1,.36,1) rise;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -20px 50px -12px #000000b3}.sheet__grab{background:var(--line-2);border-radius:99px;width:38px;height:4px;margin:0 auto 14px}.field{width:100%;font-family:var(--sans);color:var(--ink);background:var(--bg-2);border:1px solid var(--line);border-radius:13px;padding:13px 15px;font-size:.95rem;transition:border-color .16s}.field::placeholder{color:var(--ink-faint)}.field:focus{border-color:var(--gold);outline:none}.ver-pill{letter-spacing:.03em;color:var(--ink-dim);border:1px solid var(--line-2);cursor:pointer;background:#f5ede20a;border-radius:999px;align-items:center;gap:5px;margin-left:8px;padding:3px 10px;font-size:.62rem;font-weight:600;transition:border-color .16s,color .16s;display:inline-flex}.ver-pill:hover{border-color:var(--gold);color:var(--ink)}.ver-pill:active{transform:scale(.95)}.ver-pill--ok{color:var(--gold);border-color:#f2a74b80}.spinner{border:1.5px solid var(--line-2);border-top-color:var(--gold);border-radius:50%;width:10px;height:10px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.map-fab{border:1px solid var(--line-2);-webkit-backdrop-filter:blur(12px);width:48px;height:48px;color:var(--gold);cursor:pointer;z-index:100;box-shadow:var(--shadow);background:#161210d1;border-radius:16px;place-items:center;transition:transform .16s;display:grid;position:absolute;bottom:22px;right:16px}.map-fab:active{transform:scale(.93)}.map-fab svg{width:22px;height:22px}.pad{padding:18px}.stack{flex-direction:column;gap:14px;display:flex}.row{align-items:center;gap:10px;display:flex}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{transform:translateY(100%)}}@keyframes up{0%{opacity:0;transform:translateY(14px)}}.reveal{animation:.5s cubic-bezier(.22,1,.36,1) both up}
