:root{--ink:#1b1f24;--ink-strong:#111418;--ink-soft:#2e343b;--muted:#4a5370;--page:#f3f3f9;--surface:#fff;--surface-soft:#f7f7fc;--line:#e2e3ee;--line-strong:#b8c0ca;--accent:#4343c9;--accent-hover:#302d9b;--accent-soft:#efeffb;--header:#1f1f5a;--header-ink:#e5e5f6;--header-muted:#c8c7e8;--header-chip:#37367d;--hero:#e8e8f9;--hero-line:#d7d6f2;--footer:#16163f;--footer-ink:#d5daec;--footer-link:#bcbdff;--spice:#b23a0a;--spice-line:#f1c9a8;--good:#14593a;--bad:#7a2e0e;--placeholder:#fff1c2;--warn-bg:#fff4e5;--warn-ink:#7a3500;--font-body:var(--font-inter), system-ui, sans-serif;--font-head:var(--font-grotesk), var(--font-inter), system-ui, sans-serif}html[lang=ko]{--font-body:var(--font-kr), system-ui, sans-serif;--font-head:var(--font-body)}html[lang=zh-hant]{--font-body:var(--font-tc), system-ui, sans-serif;--font-head:var(--font-body)}*{box-sizing:border-box}body{background:var(--page);color:var(--ink);font-family:var(--font-body);margin:0;font-size:17px;line-height:1.7}html[lang=ko] body{word-break:keep-all;line-height:1.8}html[lang=zh-hant] body{line-height:1.85}a{color:var(--accent)}a:hover{color:var(--accent-hover)}h1,h2,h3{font-family:var(--font-head);color:var(--ink-strong);margin:0;line-height:1.3}h1{letter-spacing:-.01em;font-size:40px}h2{margin-bottom:16px;font-size:26px}h3{margin-bottom:6px;font-size:18px}p{margin:0 0 14px}.wrap{max-width:1120px;margin:0 auto;padding:0 24px}.muted{color:var(--muted);font-size:15px}.small{color:var(--muted);font-size:14px}.site{background:var(--header)}.bar{flex-wrap:wrap;align-items:center;gap:12px 28px;min-height:64px;display:flex}.logo{font-family:var(--font-head);color:#fff;font-size:20px;font-weight:700;text-decoration:none}.logo:hover{color:#fff}.nav{flex-wrap:wrap;flex:auto;gap:4px 20px;display:flex}.nav a{color:var(--header-ink);font-size:15px;font-weight:500;text-decoration:none}.nav a:hover{color:#fff}.lang{gap:4px;font-size:14px;display:flex}.lang a{color:var(--header-muted);border-radius:6px;padding:6px 10px;text-decoration:none}.lang a[aria-current=true]{background:var(--header-chip);color:#fff;font-weight:600}.foot{background:var(--footer);color:var(--footer-ink);padding:36px 0;font-size:14px}.foot strong{color:#fff}.foot a{color:var(--footer-link)}.foot nav{flex-wrap:wrap;gap:8px 20px;margin-top:12px;display:flex}.sample{background:var(--warn-bg);color:var(--warn-ink);text-align:center;padding:10px 24px;font-size:14px}.hero{background:var(--hero);border-bottom:1px solid var(--hero-line);margin-bottom:32px;padding-bottom:32px}.crumbs{color:var(--muted);padding:20px 0 12px;font-size:14px}.crumbs a{color:var(--muted)}.hero h1{max-width:860px}.lede{color:var(--ink-soft);max-width:780px;margin:18px 0 0;font-size:19px}.lede+.lede{margin-top:10px}.sobox{background:var(--surface);border:1px solid var(--spice-line);border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px 20px;max-width:780px;margin-top:18px;padding:14px 18px;display:flex}.sobox .t{flex:320px;min-width:0;font-size:16px}.sobox strong{color:var(--ink-strong)}.byline{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:18px;font-size:14px;display:flex}.byline b{color:var(--ink-strong)}.avatar{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:13px;font-weight:700;display:flex}.disclose{color:var(--muted);margin:10px 0 0;font-size:13px}.layout{flex-wrap:wrap;align-items:flex-start;gap:32px;padding-bottom:64px;display:flex}.main{flex:999 560px;min-width:0;max-width:780px}.main.wide{max-width:none}.toc{background:var(--surface);border:1px solid var(--line);border-radius:14px;flex:220px;max-width:260px;padding:18px 20px;font-size:14px}.toc p{color:var(--ink-strong);margin-bottom:8px;font-weight:600}.toc a{color:var(--muted);padding:5px 0;text-decoration:none;display:block}.toc a:hover{color:var(--accent)}.inline-toc{background:var(--surface);border:1px solid var(--line);border-radius:14px;margin-bottom:24px;padding:20px 24px}.inline-toc p{margin-bottom:8px;font-weight:700}.inline-toc ol{margin:0;padding-left:22px}.block{background:var(--surface);border:1px solid var(--line);border-radius:14px;margin-bottom:24px;padding:28px}.block.highlight{border:2px solid var(--accent)}.block.closing{background:var(--header);color:var(--header-ink);border:0}.block.closing h2{color:#fff}.block.closing a:not(.ghost):not(.cta){color:var(--footer-link)}.block.closing .ghost{color:#fff;background:0 0;border-color:#fff}.changes{color:var(--muted);font-size:14px}.ph{background:var(--placeholder);border-radius:4px;padding:0 3px}.block.closing .ph{color:var(--ink)}.answer{background:var(--surface);border:1px solid var(--line);border-radius:14px;margin-bottom:24px;overflow:hidden}.answer .hd{background:var(--accent);color:#fff;padding:12px 20px;font-size:15px;font-weight:600}.answer .hd .ph{color:var(--ink)}.row{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:4px 24px;padding:14px 20px;display:flex}.row:last-child{border-bottom:0}.k{color:var(--ink-strong);flex:0 0 150px;font-size:15px;font-weight:600}.v{flex:300px;min-width:0}.v small{color:var(--muted);font-size:14px;display:block}.rows{border:1px solid var(--line);border-radius:12px;overflow:hidden}.rows .k{flex-basis:240px}.check{background:var(--accent-soft);border-radius:12px;margin:16px 0 4px;padding:16px 20px}.check .lbl{letter-spacing:.05em;text-transform:uppercase;color:var(--accent-hover);margin-bottom:6px;font-size:12px;font-weight:700}.check p:last-child{margin-bottom:0}.tip{background:var(--accent-soft);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:10px;padding:12px 16px;font-size:15px;display:flex}.tip .t{flex:300px;min-width:0}ol.steps{margin:0;padding-left:22px}ol.steps li{margin-bottom:18px;padding-left:4px}.stepblock{border-top:1px solid var(--line);padding:18px 0}.stepblock:first-child{border-top:0;padding-top:4px}.stepblock h3{color:var(--accent-hover)}figure.shot{margin:10px 0 0}.shotbox{height:200px;color:var(--muted);text-align:center;background:#e9ecf3;border:1px dashed #9aa3b5;border-radius:10px;justify-content:center;align-items:center;padding:16px;font-size:14px;display:flex}figcaption{color:var(--muted);margin-top:6px;font-size:14px}.btnlabel{border:1px solid var(--line-strong);white-space:nowrap;background:#fff;border-radius:6px;padding:0 8px;font-size:15px;display:inline-block}.jp{color:var(--muted);font-size:14px}.problem{border-top:1px solid var(--line);padding:16px 0}.problem:first-child{border-top:0;padding-top:0}.checklist{margin:0;padding:0;list-style:none}.checklist li{gap:10px;padding:6px 0;display:flex}.cards{gap:16px;display:grid}.cards.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cards.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:var(--surface-soft);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:6px;padding:18px 20px;display:flex}.card p{color:var(--ink-soft);margin:0;font-size:15px}.card .ctarow{margin-top:auto;padding-top:6px}.card.featured{border:2px solid var(--accent);background:#fff;grid-column:1/-1}.tag{letter-spacing:.04em;text-transform:uppercase;color:var(--spice);font-size:12px;font-weight:700}.offer{color:var(--ink-soft);flex-wrap:wrap;gap:4px 12px;font-size:14px;display:flex}.offer span{white-space:nowrap}.aff{color:var(--muted);font-size:12px}.aff.after{margin:10px 0 0}.ctarow{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.cta,.ghost{border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 16px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.cta{background:var(--accent);color:#fff;border:1px solid var(--accent)}.cta:hover{background:var(--accent-hover);color:#fff}.ghost{border:1px solid var(--line-strong);color:var(--ink);background:#fff}.ghost:hover{border-color:var(--accent);color:var(--ink)}.seat{flex-wrap:wrap;align-items:center;gap:6px;margin:12px 0 8px;font-size:14px;display:flex}.seat span{border:1px solid var(--line-strong);border-radius:6px;justify-content:center;align-items:center;width:44px;height:44px;font-weight:600;display:flex}.seat span.e{background:var(--accent);color:#fff;border-color:var(--accent)}.seat span.gap{border:0;width:20px}.seat span.legend{width:auto;color:var(--muted);border:0;padding-left:8px;font-weight:400}.calc{border:2px solid var(--accent);border-radius:12px;margin-top:18px;padding:20px}.calc label{margin-bottom:8px;font-weight:600;display:block}.calc input{font:inherit;border:1px solid var(--line-strong);color:var(--ink);background:#fff;border-radius:8px;min-height:44px;padding:10px 12px;font-size:16px}.big{font-family:var(--font-head);color:var(--ink-strong);margin:16px 0 2px;font-size:24px;font-weight:700}.tz{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px;display:grid}.tz div{background:var(--accent-soft);border-radius:8px;padding:10px 12px;font-size:14px}.tz b{color:var(--ink-strong);display:block}.calcnext{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:16px;display:flex}.calc.fields{flex-wrap:wrap;gap:16px 24px;margin:0 0 18px;display:flex}.calc select{font:inherit;border:1px solid var(--line-strong);background:#fff;border-radius:8px;min-height:44px;padding:10px 12px;font-size:16px}.rtable{border:1px solid var(--line);border-radius:12px;overflow:hidden}.ritem{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:6px 20px;padding:14px 20px;display:flex}.ritem:last-child{border-bottom:0}.rname{flex-direction:column;flex:200px;min-width:0;font-weight:600;display:flex}.rrule{min-width:0;color:var(--ink-soft);flex:220px;font-size:15px}.rtimes{flex-direction:column;flex:260px;gap:2px;min-width:0;font-size:15px;display:flex}.chip{border-radius:999px;align-self:flex-start;margin-top:4px;padding:2px 8px;font-size:12px;font-weight:600}.chip.open{color:var(--good);background:#e3f4ea}.chip.wait{background:var(--accent-soft);color:var(--accent-hover)}.timeline{border-left:2px solid var(--line);margin:0;padding:0 0 0 8px;list-style:none}.timeline li{gap:12px;padding:0 0 16px 20px;display:flex;position:relative}.timeline li:before{content:"";background:var(--accent);border-radius:50%;width:12px;height:12px;position:absolute;top:8px;left:-7px}.timeline b{font-variant-numeric:tabular-nums;color:var(--ink-strong);flex:0 0 52px}.app{flex-wrap:wrap;align-items:flex-start;gap:24px;display:flex}.panel{flex:999 520px;min-width:0}.result{border:2px solid var(--accent);background:#fff;border-radius:12px;flex:320px;min-width:0;padding:22px}.routes{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:22px;display:grid}.add{font:inherit;text-align:left;background:var(--surface-soft);border:1px solid var(--line);cursor:pointer;min-height:44px;color:var(--ink);border-radius:8px;justify-content:space-between;gap:8px;padding:10px 12px;font-size:15px;display:flex}.add:hover{border-color:var(--accent)}.add span{color:var(--muted)}.legs{border:1px solid var(--line);border-radius:8px;margin-bottom:20px}.leg{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:6px 6px 6px 14px;font-size:15px;display:flex}.leg:last-child{border-bottom:0}.leg .n{flex:auto}.leg .f{color:var(--muted)}.rm{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:0;min-height:44px;padding:0 10px;font-size:14px}.empty{color:var(--muted);padding:14px;font-size:15px}.opts{flex-wrap:wrap;align-items:center;gap:12px 28px;display:flex}.opts label{align-items:center;gap:8px;min-height:44px;font-size:15px;display:flex}.opts select{font:inherit;border:1px solid var(--line-strong);background:#fff;border-radius:8px;min-height:44px;padding:8px 12px;font-size:16px}.opts input[type=checkbox]{width:20px;height:20px}.line{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:9px 0;font-size:16px;display:flex}.line.last{border-bottom:0}.line b{font-variant-numeric:tabular-nums}.verdict{font-family:var(--font-head);color:var(--ink-strong);margin:18px 0 4px;font-size:24px;font-weight:700;line-height:1.25}.save{color:var(--good);margin-bottom:14px;font-weight:600}.stack{flex-direction:column;gap:8px;display:flex}.good{color:var(--good);font-weight:700}.bad{color:var(--bad);font-weight:700}.guides{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding-bottom:64px;display:grid}@media (max-width:640px){h1{font-size:30px}.toc{display:none}.block{padding:20px}.cards.cols-2,.cards.cols-3,.routes,.guides{grid-template-columns:minmax(0,1fr)}.tz{grid-template-columns:repeat(2,minmax(0,1fr))}.k,.rows .k{flex-basis:100%}}
