@import url('https://fonts.googleapis.com/css2?family=Gowun+Batang:wght@400;700&family=Noto+Sans+KR:wght@400;500;700&display=swap');
:root{
  --night:#12172a; --night2:#1a2038; --card:#232c4c; --line:#2f3959;
  --cream:#efe9db; --cream-soft:#bcc0d4; --muted:#8b91ad;
  --amber:#e2a95a; --amber-deep:#c98a3c; --amber-tint:#2c2740;
  --kakao:#FEE500; --kakao-ink:#191600; --done:#7fc396;
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html,body{height:100%}
body{background:var(--night);color:var(--cream);font-family:"Noto Sans KR",system-ui,sans-serif;-webkit-font-smoothing:antialiased}
.serif{font-family:"Gowun Batang","Noto Serif KR",serif}
.app{max-width:480px;margin:0 auto;min-height:100dvh;background:linear-gradient(180deg,var(--night2),var(--night));position:relative;overflow:hidden}
.screen{display:none;flex-direction:column;min-height:100dvh}
.screen.on{display:flex;animation:fade .4s ease}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.pad{padding:max(40px,env(safe-area-inset-top,40px)) 24px calc(28px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;flex:1;gap:0}
.moon{font-size:40px;text-align:center;filter:drop-shadow(0 0 18px rgba(226,169,90,.5))}
.eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--amber);font-weight:700}
.eyebrow.c{text-align:center}
h2{font-family:"Gowun Batang",serif;font-size:25px;line-height:1.34}
.sub{color:var(--cream-soft);font-size:14px;line-height:1.7}
.spacer{flex:1;min-height:12px}
.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:15px;border-radius:14px;border:none;font-family:inherit;font-size:15px;font-weight:700;cursor:pointer;transition:transform .12s}
.btn:active{transform:scale(.98)}
.btn.sm{padding:12px;font-size:14px}
.btn.kakao{background:var(--kakao);color:var(--kakao-ink)}
.btn.google{background:#fff;color:#1f1f1f;border:1px solid #dadce0}
.gicon{display:inline-flex;width:19px;height:19px;border-radius:50%;background:conic-gradient(#ea4335 0 25%,#fbbc05 0 50%,#34a853 0 75%,#4285f4 0 100%);color:#fff;align-items:center;justify-content:center;font-weight:900;font-size:12px;font-family:Arial}
.btn.amber{background:var(--amber);color:#20180a}
.btn.ghost{background:transparent;color:var(--cream-soft);border:1px solid var(--line);font-weight:500}
.btn:focus-visible{outline:2px solid var(--amber);outline-offset:2px}
.vid{border-radius:14px;overflow:hidden;background:#0c1122;border:1px solid var(--line);position:relative;aspect-ratio:16/9}
.vid .thumb{position:absolute;inset:0;background:radial-gradient(80% 60% at 50% 40%,rgba(226,169,90,.28),transparent 70%),linear-gradient(180deg,#1a2338,#0c1122)}
.vid .play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:30px;color:var(--cream)}
.vid .cap{position:absolute;left:11px;bottom:9px;font-size:11.5px;color:var(--cream-soft)}
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-size:12px;color:var(--muted)}
input.inp{background:#0d1226;border:1px solid var(--line);border-radius:11px;padding:13px 14px;color:var(--cream);font-family:inherit;font-size:15px;width:100%}
input.inp:focus{outline:none;border-color:var(--amber)}
.days{display:flex;gap:6px}
.day{flex:1;aspect-ratio:1;border-radius:10px;border:1px solid var(--line);background:#0d1226;color:var(--muted);font-size:13px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.15s}
.day.sel{background:var(--amber-tint);border-color:var(--amber);color:var(--amber)}
.chips{display:flex;gap:7px;flex-wrap:wrap}
.chip{padding:9px 14px;border-radius:100px;border:1px solid var(--line);background:#0d1226;color:var(--cream-soft);font-size:13px;cursor:pointer;transition:.15s}
.chip.sel{background:var(--amber-tint);border-color:var(--amber);color:var(--amber);font-weight:700}
.lbl{font-size:12px;color:var(--muted);margin:18px 0 8px}
.arrive{display:flex;align-items:center;gap:9px;background:var(--amber-tint);border:1px solid #4a3b2a;border-radius:12px;padding:11px 13px;font-size:12.5px;color:var(--amber)}
.info{display:flex;align-items:center;gap:9px;background:#0d1226;border:1px solid var(--line);border-radius:12px;padding:11px 13px;font-size:12.5px;color:var(--cream-soft)}
.story{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:17px;display:flex;flex-direction:column;gap:12px}
.story .badge{font-size:11px;color:var(--amber);letter-spacing:.08em;font-weight:700}
.story h3{font-family:"Gowun Batang",serif;font-size:20px}
.short{position:relative;flex:1;border-radius:12px;overflow:hidden;border:1px solid var(--line);aspect-ratio:9/16;max-height:200px;cursor:pointer}
.short img{width:100%;height:100%;object-fit:cover;display:block}
.short .sb{position:absolute;top:7px;left:7px;background:rgba(0,0,0,.6);color:#fff;font-size:9px;font-weight:700;padding:2px 6px;border-radius:5px}
.short .sl{position:absolute;left:0;right:0;bottom:0;padding:18px 8px 8px;font-size:10.5px;color:#fff;font-weight:700;line-height:1.35;background:linear-gradient(transparent,rgba(0,0,0,.88))}
.short .pl{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:24px;color:rgba(255,255,255,.92);text-shadow:0 1px 6px rgba(0,0,0,.5)}
.script{background:#0d1226;border-radius:12px;padding:13px 15px;font-size:13px;line-height:1.85;color:var(--cream-soft);border-left:3px solid var(--amber-deep)}
.q{font-size:13px;color:var(--cream);background:var(--amber-tint);border-radius:11px;padding:12px 14px;line-height:1.6}
.q b{color:var(--amber)}
.prog{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--muted)}
.bar{flex:1;height:6px;border-radius:6px;background:#0d1226;overflow:hidden}
.bar i{display:block;height:100%;background:var(--amber);border-radius:6px;transition:width .5s}
.big-check{width:72px;height:72px;border-radius:50%;background:var(--amber-tint);border:1px solid var(--amber);display:flex;align-items:center;justify-content:center;font-size:32px;margin:0 auto}
.ok-note{background:#132a1e;border:1px solid #2b4a37;border-radius:12px;padding:12px 14px;font-size:12.5px;color:#a9d9b8;line-height:1.7;display:flex;gap:9px;align-items:flex-start}
.ok-note .yt{color:var(--done);font-weight:700}
.gear{width:38px;height:38px;border-radius:11px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:16px;cursor:pointer;flex:none}
.tag{font-size:11px;color:var(--muted);line-height:1.7}
.rowh{display:flex;align-items:center;justify-content:space-between}

/* 여정(어디까지 들려줬나) */
.jsum{display:flex;gap:9px;margin-top:14px}
.jstat{flex:1;background:var(--card);border:1px solid var(--line);border-radius:13px;padding:13px;text-align:center}
.jstat b{display:block;font-size:22px;color:var(--amber);font-family:"Gowun Batang",serif}
.jstat span{font-size:11px;color:var(--muted)}
.jlist{display:flex;flex-direction:column;gap:8px;margin-top:16px}
.jrow{display:flex;align-items:center;gap:11px;background:#0d1226;border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.jrow.done{background:var(--amber-tint);border-color:#4a3b2a}
.jrow.next{border-color:var(--amber)}
.jrow .jt{flex:1;min-width:0}
.jrow .jt h4{font-size:13.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--cream)}
.jrow .jt .jm{font-size:11px;color:var(--muted);margin-top:2px}
.jrow .jchk{width:26px;height:26px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-size:13px;border:1px solid var(--line);color:var(--muted)}
.jrow.done .jchk{background:var(--amber);border-color:var(--amber);color:#20180a}
.jrow.next .jchk{border-color:var(--amber);color:var(--amber)}
.jrow .jidx{font-size:11px;color:var(--muted);width:22px;text-align:center;flex:none;font-variant-numeric:tabular-nums}
