:root{--bg:#fff8ec;--paper:#fff;--ink:#2b221a;--sub:#65574a;--line:#dccfb6;--lav:#b9a5ee;--lavi:#3b2e6b;--lavs:#ede6fc;--pink:#ffd9e6;--mint:#cdefdf;--blue:#1d4e7a;color-scheme:light}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.65 'Noto Sans KR',sans-serif;-webkit-font-smoothing:antialiased}
button,input,select{font:inherit}
button,a{touch-action:manipulation}
a{color:inherit;text-decoration:none}
button{cursor:pointer}
::selection{background:var(--lav);color:#241a4a}
:focus-visible{outline:3px solid #7652bd;outline-offset:3px}
[hidden]{display:none!important}
.site-shell{overflow:hidden}
.section-wrap,.site-header,footer{width:min(1200px,calc(100% - 48px));margin-inline:auto}
.site-header{height:78px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:3}
.brand{display:flex;align-items:center;gap:9px;font-size:23px;font-weight:900;letter-spacing:-.05em}
.brand-mark{display:grid;place-items:center;width:33px;height:33px;background:var(--lavi);color:#fff;border-radius:50%;font-size:19px}
.site-header nav{display:flex;gap:32px;font-size:14px;font-weight:700}
.site-header nav a:hover,.text-link:hover,footer a:hover{text-decoration:underline;text-underline-offset:5px}
.hero{min-height:670px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);align-items:center;gap:30px;max-width:1400px;margin:auto;padding:28px max(24px,calc((100vw - 1200px)/2)) 80px}
.hero-copy{position:relative;z-index:1}
.hero-small,.section-label{font-size:14px;font-weight:800;letter-spacing:.06em;color:var(--lavi);margin:0 0 20px}
.hero h1{font-size:clamp(51px,5.6vw,83px);letter-spacing:-.035em;line-height:1.22;margin:0;font-weight:900;white-space:nowrap}
.hero h1 em,.section-intro em{font-style:normal;color:#8264ba}
.hero-lead{max-width:510px;font-size:18px;line-height:1.85;color:var(--sub);margin:28px 0 30px;word-break:keep-all}
.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.button{border:0;border-radius:999px;min-height:53px;padding:13px 25px;display:inline-flex;align-items:center;justify-content:center;gap:20px;font-weight:800;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;white-space:nowrap}
.button:hover{transform:translateY(-2px);box-shadow:0 8px 20px #3b2e6b26}
.primary{background:var(--lav);color:#241a4a}
.secondary{background:var(--paper);border:1px solid var(--line);color:var(--ink)}
.text-link{font-weight:700;font-size:14px}
.hero-note{font-size:12px;color:var(--sub);margin-top:18px}
.hero-art{height:520px;position:relative;display:grid;place-items:center;background:radial-gradient(circle at 56% 45%,#d3e9ff 0,#e8dff5 45%,#fff8ec 73%);isolation:isolate}
.orbit{position:absolute;border:1px solid #8c79bb7a;border-radius:50%;transform:rotate(-27deg)}
.orbit-one{width:510px;height:230px}
.orbit-two{width:370px;height:470px;transform:rotate(23deg);border-style:dashed;opacity:.6}
.star{position:absolute;color:#675098}
.star-one{top:13%;left:19%;font-size:32px}
.star-two{right:5%;top:30%;font-size:43px}
.star-three{bottom:16%;right:17%;font-size:24px}
.hero-ticket{position:relative;z-index:1;width:min(370px,84%);background:#e3e3fa;border-radius:18px;overflow:hidden;box-shadow:15px 22px 42px #2923332b;transform:rotate(-8deg)}
.ticket-head{background:var(--blue);color:white;display:flex;justify-content:space-between;padding:14px 20px;font-size:11px;font-weight:900;letter-spacing:.09em}
.ticket-demo-body{display:flex;flex-direction:column;gap:10px;padding:25px 24px 22px}
.demo-label{font-size:12px;color:#5b4f8a;font-weight:800;letter-spacing:.06em}
.ticket-demo-body strong{font-size:33px;line-height:1.33;letter-spacing:-.05em}
.ticket-demo-body>span:last-child,.ticket-demo-body>span:nth-of-type(2){font-size:12px}
.demo-rule{height:1px;border-top:2px dashed #8d80ad;margin-top:14px}
.art-caption{position:absolute;bottom:22px;font-size:10px;letter-spacing:.08em;color:#83759b;font-weight:800}
.how{padding:72px 0 105px}
.section-intro{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:54px}
.section-intro h2,.search-aside h2,.end-note h2{font-size:clamp(32px,3.4vw,48px);letter-spacing:-.035em;line-height:1.35;margin:0;font-weight:900;word-break:keep-all}
.section-intro p{max-width:370px;color:var(--sub);word-break:keep-all;margin:0}
.how-steps{border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr)}
.how-steps>div{padding:30px 34px 0 0}
.how-steps>div+div{border-left:1px solid var(--line);padding-left:34px}
.step-num{font-size:13px;font-weight:900;color:#8062ad}
.how-steps h3{font-size:22px;letter-spacing:-.04em;margin:15px 0 6px}
.how-steps p{color:var(--sub);margin:0;max-width:300px;word-break:keep-all}
.search-section{background:#eae2f5;padding:92px 0}
.search-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:10%}
.search-aside{padding-top:28px}
.search-aside>p:not(.section-label){max-width:400px;font-size:17px;color:#5b5067;word-break:keep-all}
.privacy-note{margin-top:75px;max-width:390px;background:#f6f0fb;border-radius:18px;padding:22px;display:flex;flex-direction:column;gap:7px}
.privacy-note strong{font-size:15px}
.privacy-note span{font-size:13px;color:#5b5067}
.trip-form{background:var(--paper);border-radius:24px;padding:34px;box-shadow:0 14px 34px #29233316}
.trip-form fieldset{border:0;padding:0;margin:0 0 28px}
.trip-form fieldset+fieldset{border-top:1px solid var(--line);padding-top:26px}
.trip-form legend{font-weight:900;font-size:21px;letter-spacing:-.04em;margin-bottom:20px}
.trip-form legend span{display:inline-grid;place-items:center;width:27px;height:27px;border-radius:50%;background:var(--lavs);color:var(--lavi);font-size:13px;margin-right:8px}
.field{min-width:0;margin-bottom:16px}
.field label{display:block;font-weight:700;font-size:14px;margin-bottom:7px}
.field small{font-size:12px;color:var(--sub);font-weight:500}
.field input,.field select{width:100%;min-height:48px;border:1px solid #bbac94;border-radius:11px;background:#fff;color:var(--ink);padding:9px 13px}
.field input::placeholder{color:#77695c}
.field input:disabled{background:#f0ece7;color:#877c72}
.field-row{display:flex;align-items:end;gap:14px}
.field-row>.field{flex:1}
.check-field{display:flex;align-items:center;gap:7px;min-height:48px;font-size:13px;font-weight:700;white-space:nowrap;margin-bottom:16px}
.check-field input,.save-option input{width:18px;height:18px;accent-color:#7154af}
.field-help{font-size:12px;color:var(--sub);margin:-8px 0 17px}
.save-option{display:flex;align-items:flex-start;gap:9px;font-size:13px;color:var(--sub);cursor:pointer}
.save-option input{margin-top:3px;flex:none}
.submit{width:100%;margin-top:22px}
.form-error{margin:12px 0 0;padding:11px 14px;background:#fff0f1;color:#8a1e39;border-radius:10px;font-size:13px;font-weight:700}
.result-section{padding-top:96px;padding-bottom:110px}
.result-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:30px}
.result-head h2{font-size:clamp(34px,4vw,54px);letter-spacing:-.035em;line-height:1.3;margin:0}
.result-head p{margin:0;color:var(--sub)}
.result-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:48px;align-items:start}
.boarding-pass{background:#e3e3fa;border-radius:20px;overflow:hidden;color:#2b221a;border:1px solid #bdb1dc;box-shadow:0 17px 35px #2923331b}
.boarding-pass .pass-head{display:flex;justify-content:space-between;gap:10px;background:#1d4e7a;color:white;padding:16px 20px;font-size:11px;font-weight:900;letter-spacing:.12em}
.pass-main{padding:25px 28px 24px}
.pass-route{display:flex;align-items:center;gap:10px;color:#5b4f8a;font-size:12px;font-weight:900;letter-spacing:.06em}
.pass-route i{flex:1;border-top:2px dashed #8c7dab}
.pass-city{font-size:clamp(38px,4.5vw,60px);letter-spacing:-.035em;line-height:1.2;margin:20px 0 5px;font-weight:900}
.pass-country{font-size:14px;font-weight:700}
.pass-info{display:grid;grid-template-columns:1.3fr .7fr 1fr;gap:12px;margin:25px 0}
.pass-info span{font-size:11px;color:#655d78;display:block}
.pass-info strong{font-size:18px;letter-spacing:-.03em}
.pass-scene{font-size:14px;font-weight:700;line-height:1.6;margin:0}
.pass-stub{border-top:2px dashed #8c7dab;padding:17px 26px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.barcode{width:95px;height:29px;flex:none;background:repeating-linear-gradient(90deg,#2b221a 0 3px,transparent 3px 5px,#2b221a 5px 6px,transparent 6px 9px)}
.pass-stub span{font-size:12px;font-weight:800;text-align:right}
.result-actions{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}
.result-actions .button{flex:1;min-width:155px;font-size:14px}
.result-actions .secondary{background:transparent}
.result-aside{display:flex;flex-direction:column;gap:24px}
.result-block{padding-bottom:24px;border-bottom:1px solid var(--line)}
.result-block h3{font-size:22px;letter-spacing:-.04em;margin:0 0 10px}
.result-block p{margin:0;color:var(--sub);font-size:14px}
.why-list{padding-left:21px;margin:10px 0 0;font-size:14px}
.why-list li{padding:3px 0}
.score-line{display:flex;justify-content:space-between;align-items:baseline;margin-top:15px;font-size:14px}
.score-line strong{font-size:23px}
.meter{height:9px;border-radius:99px;background:#e2d9cc;overflow:hidden}
.meter>span{display:block;height:100%;background:#8f74c3;border-radius:99px}
.rank-list{display:grid;gap:9px;margin-top:12px}
.rank-item{display:flex;justify-content:space-between;gap:10px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 13px}
.rank-item span{color:var(--sub);font-size:13px}
.date-options{display:flex;gap:8px;margin:15px 0 10px}
.date-options button{flex:1;min-width:0;border:1px solid var(--line);background:var(--paper);border-radius:12px;padding:9px 4px;font-size:12px;font-weight:700}
.date-options button[aria-pressed=true]{border-color:#8f74c3;background:var(--lavs)}
.date-options b{display:block;font-size:18px}
.origin-select{width:100%;border:1px solid #bbac94;border-radius:10px;padding:11px;margin:10px 0;background:white}
.near-list{margin:3px 0 0;padding-left:20px;font-size:14px}
.near-list li{margin:5px 0}
.result-disclaimer{font-size:12px;color:var(--sub);margin:20px 0 0}
.share-preview{margin-top:45px;padding:24px;border-radius:18px;background:var(--lavs);display:flex;justify-content:space-between;align-items:center;gap:20px}
.share-preview h3{margin:0 0 5px;font-size:20px}
.share-preview p{margin:0;font-size:13px;color:var(--sub)}
.share-preview .button{background:var(--paper)}
.end-note{border-top:1px solid var(--line);padding-top:70px;padding-bottom:80px;display:flex;justify-content:space-between;align-items:center;gap:35px}
.end-note p{max-width:540px;color:var(--sub)}
footer{border-top:1px solid var(--line);padding:28px 0 35px;display:flex;align-items:center;gap:22px;font-size:12px;color:var(--sub)}
footer span{font-size:18px;color:var(--ink);font-weight:900}
footer p{margin:0;flex:1}
footer a{font-weight:700}

@media(max-width:900px){.hero{grid-template-columns:1fr;padding:60px 24px 35px;gap:0}
.hero h1{font-size:clamp(46px,9vw,70px)}
.hero-art{height:430px}
.section-intro{display:block}
.section-intro p{margin-top:22px}
.search-grid,.result-grid{grid-template-columns:1fr;gap:35px}
.search-aside{padding:0}
.privacy-note{margin-top:28px}
.result-head{display:block}
.result-head p{margin-top:8px}
.result-grid{max-width:700px}
.result-actions .button{flex:none}
.end-note{align-items:flex-start;flex-direction:column}
}

@media(max-width:620px){.section-wrap,.site-header,footer{width:min(100% - 36px,1200px)}
.site-header{height:65px}
.brand{font-size:21px}
.site-header nav{gap:15px;font-size:12px}
.site-header nav a:first-child{display:none}
.hero{padding:45px 18px 20px;min-height:0}
.hero-small{font-size:12px;margin-bottom:13px}
.hero h1{font-size:clamp(40px,11vw,62px);white-space:normal}
.hero-lead{font-size:15px;line-height:1.75;margin:22px 0 26px}
.hero-actions{gap:17px}
.hero-art{height:355px;margin:18px -18px 0}
.hero-ticket{width:265px}
.ticket-demo-body{padding:17px 20px}
.ticket-demo-body strong{font-size:27px}
.orbit-one{width:360px;height:180px}
.orbit-two{width:270px;height:340px}
.art-caption{font-size:8px}
.how{padding:55px 0 72px}
.section-intro{margin-bottom:30px}
.section-intro h2,.search-aside h2,.end-note h2{font-size:32px}
.section-intro p{font-size:14px}
.how-steps{grid-template-columns:1fr}
.how-steps>div,.how-steps>div+div{border:0;border-top:1px solid var(--line);padding:20px 0}
.how-steps h3{margin:6px 0 2px;font-size:18px}
.how-steps p{font-size:14px}
.search-section{padding:65px 0}
.search-aside>p:not(.section-label){font-size:15px}
.privacy-note{margin:20px 0 0}
.trip-form{padding:23px 19px;border-radius:19px}
.field-row{gap:9px}
.check-field{font-size:12px}
.result-section{padding-top:65px;padding-bottom:70px}
.result-head h2{font-size:35px}
.result-grid{gap:30px}
.pass-main{padding:23px 20px}
.pass-city{font-size:41px}
.pass-info strong{font-size:15px}
.pass-stub{padding:15px 19px}
.result-actions .button{flex:1}
.share-preview{flex-direction:column;align-items:stretch}
.end-note{padding:55px 0}
footer{align-items:start;flex-wrap:wrap;gap:5px 16px}
footer p{width:100%;flex:auto;order:2}
footer a{margin-left:auto}
}

@media(prefers-color-scheme:dark){:root{--bg:#1e1a24;--paper:#2a2533;--ink:#f1eafb;--sub:#c5b9d6;--line:#4c435a;--lav:#9b86dd;--lavi:#e6deff;--lavs:#3a3252;--pink:#5a2b42;--mint:#1f4a3a;color-scheme:dark}
.brand-mark{background:#7d65c1}
.hero-art{background:radial-gradient(circle at 56% 45%,#354b68 0,#37304c 45%,#1e1a24 74%)}
.hero h1 em,.section-intro em{color:#cbb9ff}
.hero-ticket{color:#2b221a}
.search-section{background:#282135}
.search-aside>p:not(.section-label),.privacy-note span{color:var(--sub)}
.privacy-note{background:#342c42}
.trip-form{box-shadow:none}
.field input,.field select,.origin-select{background:#302a3b;color:var(--ink);border-color:#665b72}
.field input:disabled{background:#332e39;color:#a89bb6}
.field input::placeholder{color:#b8a9c6}
.form-error{background:#552d40;color:#ffe1e8}
.rank-item,.date-options button{background:var(--paper)}
.meter{background:#4c435a}
.pass-info span{color:#655d78}
.boarding-pass{color:#2b221a}
.share-preview .button{color:var(--ink)}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
.button{transition:none}
.button:hover{transform:none}
}

.clear-saved{border:0;background:none;color:#6b4fa7;text-decoration:underline;text-underline-offset:3px;font-size:12px;font-weight:700;padding:7px 0;margin:5px 0 0}
.clear-saved:hover{color:#3b2e6b}


@media(prefers-color-scheme:dark){.clear-saved{color:#d9c8ff}
.clear-saved:hover{color:#fff}
}

