:root{--font:"Pretendard", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--display:"Outfit", "Pretendard", sans-serif;--bg:#eef0f3;--bg-accent:#b91c4a14;--bg-mist:#0f172a0d;--surface:#fff;--surface-2:#f7f8fa;--border:#e2e5eb;--border-strong:#c5cad3;--text:#0b1220;--muted:#4b5568;--faint:#6b7280;--brand:#0b1220;--brand-strong:#020617;--accent:#b91c4a;--accent-soft:#fce7ef;--shadow:0 1px 2px #0f172a0a, 0 10px 28px #0f172a0f;--error:#dc2626;--radius:16px;--radius-sm:10px;--ease:cubic-bezier(.22, 1, .36, 1)}:root[data-theme=dark]{--bg:#0a0e14;--bg-accent:#fb71851a;--bg-mist:#94a3b80f;--surface:#121821;--surface-2:#171e29;--border:#243041;--border-strong:#3a4a5f;--text:#f4f6f8;--muted:#b6c0ce;--faint:#8895a8;--brand:#f4f6f8;--brand-strong:#fff;--accent:#fb7185;--accent-soft:#3a1824;--shadow:0 1px 2px #0006, 0 16px 40px #00000059;--error:#f87171}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;font-size:17px}html,body,#root{min-height:100%;margin:0;padding:0}body{color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;overscroll-behavior-y:none;background:radial-gradient(ellipse 80% 50% at 0% -10%, var(--bg-accent), transparent 55%), radial-gradient(ellipse 60% 40% at 100% 0%, var(--bg-mist), transparent 50%), linear-gradient(180deg, #f8f9fb 0%, var(--bg) 40%, #e9ecf1 100%);background-attachment:fixed}:root[data-theme=dark] body{background:radial-gradient(ellipse 80% 50% at 0% -10%, var(--bg-accent), transparent 55%), radial-gradient(ellipse 55% 35% at 100% 5%, var(--bg-mist), transparent 50%), linear-gradient(180deg, #0d1219 0%, var(--bg) 45%, #070a0f 100%);background-attachment:fixed}.wrap{width:min(740px,100%);padding:1.1rem 1.15rem 3.75rem;padding-top:max(1.1rem, env(safe-area-inset-top));padding-bottom:max(3.75rem, env(safe-area-inset-bottom));margin:0 auto}.header{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.brand{align-items:center;gap:.75rem;min-width:0;display:flex}.brandMark{background:linear-gradient(145deg, var(--brand) 0%, #1e293b 100%);color:#fff;width:2.5rem;height:2.5rem;font-family:var(--display);letter-spacing:-.04em;border-radius:12px;flex-shrink:0;place-items:center;font-size:1.1rem;font-weight:700;display:grid;box-shadow:0 4px 14px #0b12202e}:root[data-theme=dark] .brandMark{color:#fff;background:linear-gradient(145deg,#fb7185 0%,#be123c 100%);box-shadow:0 4px 16px #fb718540}.title{font-family:var(--display);letter-spacing:-.04em;margin:0;font-size:1.25rem;font-weight:700;line-height:1.15}.subtitle{color:var(--faint);letter-spacing:.08em;text-transform:uppercase;margin:.15rem 0 0;font-size:.78rem;font-weight:600}.headerRight{flex-shrink:0;align-items:center;gap:.45rem;display:flex}.themeSeg{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:999px;display:inline-flex;overflow:hidden}.themeSeg button{appearance:none;color:var(--muted);cursor:pointer;width:2.15rem;height:2.15rem;transition:background .15s var(--ease), color .15s var(--ease);background:0 0;border:0;place-items:center;padding:0;display:grid}.themeSeg button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}.iconBtn{appearance:none;border:1px solid var(--border);background:var(--surface);width:2.4rem;height:2.4rem;color:var(--text);cursor:pointer;box-shadow:var(--shadow);transition:background .15s var(--ease), border-color .15s var(--ease);border-radius:999px;place-items:center;padding:0;display:grid}.iconBtn:hover{border-color:var(--border-strong)}.iconBtn:disabled{opacity:.5;cursor:default}.iconBtn:focus-visible,.themeSeg button:focus-visible,.tab:focus-visible,.extLink:focus-visible,.rowBtn:focus-visible,.favBtn:focus-visible,.chip:focus-visible,.modalClose:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:.7s linear infinite spin}.intro{animation:fadeUp .5s var(--ease) both;margin-bottom:1.15rem}.introArea{font-family:var(--display);letter-spacing:-.045em;color:var(--text);margin:0 0 .4rem;font-size:clamp(1.45rem,4.5vw,1.75rem);font-weight:700;line-height:1.18}.introBlurb{color:var(--muted);max-width:38em;margin:0;font-size:.95rem;line-height:1.6}.travel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);animation:fadeUp .5s var(--ease) 40ms both;margin:0 0 1.5rem;padding:1rem 1.05rem}.travelTitle{font-family:var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin:0 0 .85rem;font-size:.82rem;font-weight:700}.travelList{gap:.85rem;display:grid}@media (width>=560px){.travelList{grid-template-columns:1fr 1fr;gap:.95rem 1.25rem}}.travelRow{grid-template-columns:2.75rem 1fr;align-items:start;gap:.55rem;display:grid}.travelLabel{color:var(--accent);letter-spacing:-.01em;padding-top:.1rem;font-size:.78rem;font-weight:700}.travelValue{min-width:0}.travelValue p{color:var(--text);margin:0;font-size:.92rem;font-weight:550;line-height:1.5}.travelSub{color:var(--muted)!important;margin-top:.22rem!important;font-size:.82rem!important;font-weight:450!important;line-height:1.5!important}.tabs{background:var(--surface-2);border:1px solid var(--border);animation:fadeUp .5s var(--ease) 60ms both;border-radius:999px;gap:.25rem;margin-bottom:.85rem;padding:.3rem;display:flex}.tab{appearance:none;color:var(--faint);font:inherit;cursor:pointer;transition:background .18s var(--ease), color .18s var(--ease), box-shadow .18s var(--ease);background:0 0;border:0;border-radius:999px;flex:1;justify-content:center;align-items:center;gap:.35rem;padding:.55rem .85rem;font-size:.92rem;font-weight:650;display:inline-flex;position:relative}.tab.active{color:var(--text);background:var(--surface);box-shadow:0 1px 3px #0f172a14}.tab.active:after{display:none}:root[data-theme=dark] .tab.active{box-shadow:0 1px 4px #00000059}.tabCount{color:var(--accent);background:var(--accent-soft);text-align:center;border-radius:999px;min-width:1.35rem;padding:.1rem .42rem;font-size:.72rem;font-weight:700}.chipRow{-webkit-overflow-scrolling:touch;scrollbar-width:none;animation:fadeUp .5s var(--ease) 80ms both;gap:.4rem;margin:0 0 1.1rem;padding-bottom:.1rem;display:flex;overflow-x:auto}.chipRow::-webkit-scrollbar{display:none}.chip{appearance:none;border:1px solid var(--border);background:var(--surface);color:var(--muted);font:inherit;cursor:pointer;transition:background .15s var(--ease), color .15s var(--ease), border-color .15s var(--ease);border-radius:999px;flex-shrink:0;align-items:center;gap:.3rem;padding:.42rem .78rem;font-size:.84rem;font-weight:600;display:inline-flex}.chip:hover{border-color:var(--border-strong);color:var(--text)}.chip.active{background:var(--brand);border-color:var(--brand);color:#fff}.chip.active .chipCount{color:#fff;background:#ffffff2e}:root[data-theme=dark] .chip.active{background:var(--accent);border-color:var(--accent);color:#1a0a10}:root[data-theme=dark] .chip.active .chipCount{color:#1a0a10;background:#ffffff47}.chipCount{color:var(--accent);font-size:.72rem;font-weight:700}.list{animation:fadeUp .5s var(--ease) .1s both;flex-direction:column;gap:.65rem;display:flex}.rowCard{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);transition:border-color .18s var(--ease), box-shadow .18s var(--ease);flex-direction:column;display:flex;position:relative;overflow:hidden}.rowCard:hover{border-color:color-mix(in srgb, var(--accent) 28%, var(--border));box-shadow:0 2px 8px #0f172a0f,0 14px 32px #0f172a12}.rowCard .rowBtn{border-bottom:0}.favBtn{appearance:none;width:2rem;height:2rem;color:var(--faint);cursor:pointer;transition:color .15s var(--ease), background .15s var(--ease);background:0 0;border:0;border-radius:8px;place-items:center;padding:0;display:grid}.favBtn:hover,.favBtn.active,:root[data-theme=dark] .favBtn.active{color:var(--accent);background:var(--accent-soft)}.rowActions{justify-content:space-between;align-items:center;gap:.5rem;margin-top:-.15rem;padding:0 1rem .85rem;display:flex}.rowMoreBtn{appearance:none;font:inherit;color:var(--accent);letter-spacing:-.01em;cursor:pointer;background:0 0;border:0;margin:0;padding:0;font-size:.84rem;font-weight:700}.rowMoreBtn:hover{text-decoration:underline}.rowFav{flex-shrink:0}.row{border-bottom:1px solid var(--border);padding:1.15rem 0}.row:last-child{border-bottom:0}.rowBtn{appearance:none;width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background .15s var(--ease);background:0 0;border:0;border-radius:0;grid-template-columns:5.5rem 1fr;align-items:start;gap:.9rem;margin:0;padding:.95rem 1rem .55rem;display:grid}.rowBtn:hover,.rowBtn:active{background:0 0}.rowThumb{border-radius:var(--radius-sm);background:var(--surface-2);flex-shrink:0;width:5.5rem;height:5.5rem;overflow:hidden}.rowThumb img{object-fit:cover;width:100%;height:100%;transition:transform .4s var(--ease);display:block}.rowCard:hover .rowThumb img{transform:scale(1.05)}.rowMain{min-width:0}@media (width>=520px){.rowBtn{grid-template-columns:7rem 1fr;gap:1.05rem;padding:1.05rem 1.15rem .6rem}.rowThumb{width:7rem;height:5.5rem}.rowActions{padding:0 1.15rem .95rem}}.rowBody.clamp{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.rowMore{color:var(--accent);letter-spacing:-.01em;margin-top:.7rem;font-size:.84rem;font-weight:700;display:inline-block}.rowTop{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.rowTitle{font-family:var(--display);letter-spacing:-.03em;margin:0;font-size:1.05rem;font-weight:700;line-height:1.3}.meta{color:var(--accent);flex-shrink:0;font-size:.78rem;font-weight:700}.rowJa{color:var(--faint);margin:.22rem 0 0;font-size:.82rem}.rowTier{color:var(--muted);margin:.38rem 0 0;font-size:.88rem;font-weight:500}.rowBody{color:var(--text);margin:.5rem 0 0;font-size:.95rem;line-height:1.55}.rowNote{color:var(--faint);margin:.4rem 0 0;font-size:.82rem}.tipList{flex-wrap:wrap;gap:.35rem;margin:.55rem 0 0;padding:0;list-style:none;display:flex}.tipList li{color:var(--muted);background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:.25rem .6rem;font-size:.78rem;font-weight:550}.extLink{color:var(--accent);align-items:center;gap:.3rem;margin-top:.85rem;font-size:.9rem;font-weight:700;text-decoration:none;display:inline-flex}.extLink:hover{text-decoration:underline}.notes{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-top:2.25rem;padding:1.15rem 1.05rem}.notesTitle{font-family:var(--display);letter-spacing:-.02em;margin:0 0 .6rem;font-size:1rem;font-weight:700}.notes ul{color:var(--muted);margin:0;padding-left:1.15rem;font-size:.88rem;line-height:1.6}.notes li+li{margin-top:.4rem}.updated{color:var(--faint);margin:.9rem 0 0;font-size:.75rem;font-weight:550}.error{color:var(--error);font-size:.95rem;font-weight:600}.muted{color:var(--muted);font-size:.95rem}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (width<=480px){.tab{padding-left:.5rem;padding-right:.5rem;font-size:.88rem}}.modalRoot{z-index:40;place-items:end center;padding:0;display:grid;position:fixed;inset:0}@media (width>=640px){.modalRoot{place-items:center;padding:1.25rem}}.modalBackdrop{cursor:pointer;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#080c148c;border:0;margin:0;padding:0;animation:.2s both fadeIn;position:absolute;inset:0}.modalSheet{z-index:1;background:var(--surface);border:1px solid var(--border);width:min(560px,100%);max-height:min(90vh,920px);box-shadow:var(--shadow);animation:sheetUp .3s var(--ease) both;border-radius:22px 22px 0 0;flex-direction:column;display:flex;position:relative;overflow:hidden}@media (width>=640px){.modalSheet{max-height:min(84vh,780px);animation:fadeUp .3s var(--ease) both;border-radius:18px}}.modalHero{background:var(--surface-2);flex-shrink:0;height:clamp(10rem,30vw,14rem);position:relative;overflow:hidden}.modalHero img{object-fit:cover;width:100%;height:100%;display:block}.modalClose{background:color-mix(in srgb, var(--surface) 90%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid color-mix(in srgb, var(--border) 70%, transparent);position:static}.modalHeroActions{z-index:2;align-items:center;gap:.4rem;display:flex;position:absolute;top:.75rem;right:.75rem}.modalFav{width:2.35rem;height:2.35rem;color:var(--muted);background:#ffffffeb;border-radius:10px;box-shadow:0 1px 6px #0f172a24}:root[data-theme=dark] .modalFav{background:#121821e6}.modalFav.active{color:#fff;background:var(--accent)}:root[data-theme=dark] .modalFav.active{color:#1a0a10}.modalHeader{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:1.1rem 1.2rem .9rem;display:flex}.modalHeaderText{min-width:0}.modalMeta{color:var(--accent);margin:0;font-size:.78rem;font-weight:700}.modalTitle{font-family:var(--display);letter-spacing:-.04em;margin:.3rem 0 0;font-size:1.28rem;font-weight:700;line-height:1.25}.modalSub{color:var(--faint);margin:.25rem 0 0;font-size:.84rem}.modalBody{-webkit-overflow-scrolling:touch;padding:1.1rem 1.2rem 1.6rem;padding-bottom:max(1.6rem, env(safe-area-inset-bottom));overflow:auto}.detailHours{color:var(--muted);margin:0 0 .7rem;font-size:.88rem;font-weight:600}.detailBody{color:var(--muted);margin:.55rem 0 0;font-size:.95rem;line-height:1.6}.detailSection{margin-top:1.25rem}.detailSectionTitle{letter-spacing:-.01em;color:var(--text);margin:0 0 .5rem;font-size:.88rem;font-weight:700}.feeList{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);margin:0;padding:0;list-style:none;overflow:hidden}.feeRow{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:.85rem;padding:.7rem .8rem;display:flex}.feeRow:last-child{border-bottom:0}.feeLabel{color:var(--text);font-size:.88rem;line-height:1.35}.feePrice{color:var(--accent);text-align:right;flex-shrink:0;font-size:.88rem;font-weight:700}.detailDisclaimer{color:var(--faint);margin:1.1rem 0 0;font-size:.75rem;line-height:1.45}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes sheetUp{0%{opacity:.65;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
