@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700;800;900&display=swap');
:root{--ink:#203328;--muted:#748075;--green:#294532;--lime:#d2f577;--line:#dfe5d9;--paper:#f6f7f1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.6 'Noto Sans KR',Arial,sans-serif}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,a{transition:background .2s,transform .2s}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #7ca344;outline-offset:4px}button:disabled{opacity:.6;cursor:wait}a{color:inherit;text-decoration:none}button{color:inherit}input,select{min-width:0}button[hidden],[hidden]{display:none!important}.preview{background:#203328;color:#e2edda;text-align:center;font-size:11px;padding:8px 20px;letter-spacing:.03em}.preview span{font-size:9px;background:#43513d;padding:3px 7px;border-radius:3px;margin-right:12px}header{max-width:1360px;margin:auto;height:92px;display:flex;align-items:center;gap:40px;padding:0 36px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:14px;white-space:nowrap}.brand b{font-size:30px;letter-spacing:-1.6px;font-weight:900}.brand b span{color:#6c8734}.brand i{height:22px;width:1px;background:#bdc7b6}.brand strong{font-size:22px;font-weight:800}nav{display:flex;gap:30px;margin-left:34px;font-size:13px;font-weight:600}nav a{padding:10px 0;color:#83907e}nav .current{color:var(--ink)}.booking{margin-left:auto;border:1px solid #c9d4c1;padding:10px 17px;border-radius:100px;font-size:12px;font-weight:600}.booking:hover{background:white}main{max-width:1360px;margin:auto;padding:0 36px}.intro{display:flex;align-items:center;justify-content:space-between;padding:42px 0 30px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.16em;color:#748963;margin:0 0 12px}.eyebrow span{display:inline-block;width:6px;height:6px;border-radius:50%;background:#90b44d;margin-right:7px}.intro h1{font-size:37px;letter-spacing:-2px;line-height:1.35;margin:0 0 12px;font-weight:800}.intro h1 em{font-style:normal;position:relative;background:linear-gradient(transparent 68%,#d4edaa 0)}.intro p:not(.eyebrow){color:#748075;font-size:13px;margin:0}.mobile-break{display:none}.intro-note{text-align:right;border-right:2px solid #b9cb9c;padding-right:16px}.intro-note span{font-size:9px;letter-spacing:.13em;color:#95a18a}.intro-note b{display:block;font-size:15px;line-height:1.7;margin-top:8px}.workspace{display:grid;grid-template-columns:355px 1fr;min-height:690px;border:1px solid #d9e0d1;border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 18px 50px #26382609}.planner{padding:25px 26px;border-right:1px solid #e2e7da;background:#fff;position:relative;z-index:2}.planner-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.planner h2{font-size:19px;letter-spacing:-.8px;margin:0;font-weight:800}.planner-top>span{border:1px solid var(--line);border-radius:5px;font-size:10px;padding:2px 6px;color:#7b8774}.mode-tabs{display:flex;background:#f2f4ed;border-radius:10px;padding:4px;margin-bottom:23px;gap:4px}.mode-tabs button{flex:1;border:0;padding:10px 0;background:none;border-radius:7px;color:#8a9483;font-size:12px;font-weight:600}.mode-tabs button.selected{background:white;color:var(--ink);box-shadow:0 2px 7px #243b2710}.places{position:relative}.places:before{content:'';position:absolute;left:17px;top:37px;bottom:37px;border-left:1px dashed #c3ceb8;z-index:2}.places label{border:1px solid #dce3d4;display:block;border-radius:11px;padding:12px 14px 12px 35px;position:relative;background:#fff;margin:10px 0}.places label:focus-within{border-color:#718b53}.dot{position:absolute;left:13px;top:31px;width:8px;height:8px;border-radius:50%;background:#729a38;border:2px solid white;box-shadow:0 0 0 1px #729a38;z-index:3}.dot.to{background:#253e2c;box-shadow:0 0 0 1px #253e2c}.field-label{display:block;font-size:10px;color:#7c8a72;margin-bottom:3px}.places input{border:0;outline:none!important;width:100%;color:#253d2a;background:transparent;font-size:13px;font-weight:700;padding:0}.swap{position:absolute;right:18px;top:62px;width:27px;height:27px;z-index:4;border:1px solid #dfe7d5;border-radius:50%;background:#fff;font-size:18px;line-height:1}.swap:hover{background:var(--lime)}.suggestions{position:absolute;left:0;right:0;top:calc(100% + 4px);background:white;box-shadow:0 12px 30px #1d352329;border:1px solid #d8e3cb;border-radius:10px;padding:5px;z-index:8}.suggestions button{display:block;background:white;border:0;border-radius:6px;padding:10px;text-align:left;width:100%;font-size:12px}.suggestions button:hover,.suggestions button[aria-selected=true]{background:#eff5e7}.suggestions small{display:block;font-size:10px;color:#85917c}.suggestions p{padding:6px 10px;font-size:11px;color:#7b8375}.quick{display:flex;align-items:center;gap:5px;font-size:9px;margin:13px 0 25px;color:#96a08d}.quick>span{margin-right:auto}.quick button{font-size:10px;border:0;border-radius:5px;background:#f1f5eb;padding:5px 6px;color:#60704f}.two-fields{display:grid;grid-template-columns:1.6fr 1fr;gap:10px;margin-bottom:20px}.two-fields label{font-size:11px;font-weight:600;color:#68775c;display:flex;flex-direction:column;gap:7px}.two-fields select{background:#fafbf7;border:1px solid var(--line);border-radius:8px;padding:11px 5px;color:#364830;font-size:10px;width:100%}.vehicle{display:flex;gap:12px;align-items:center;padding:13px 14px;background:#f8faf3;border:1px solid #d9e6c4;border-radius:10px;margin-bottom:22px}.car-icon{background:#e7eddb;font-size:23px;border-radius:8px;width:42px;text-align:center;color:#344b2b}.vehicle b{font-size:12px}.vehicle small{display:block;color:#8b967f;font-size:10px;margin-top:2px}.vehicle-check{margin-left:auto;background:#729c45;border-radius:50%;height:16px;width:16px;line-height:16px;text-align:center;color:white;font-size:10px}.calculate{background:var(--green);color:white;width:100%;padding:16px;border:0;border-radius:10px;display:flex;justify-content:space-between;font-size:13px;font-weight:700}.calculate:hover{background:#3b5d40;transform:translateY(-1px)}.calculate span{font-size:18px;line-height:1}.form-status{font-size:10px;color:#98a08e;margin:12px 0 18px;min-height:28px;line-height:1.6}.form-status.error{color:#a54c2c}.advanced{border-top:1px solid var(--line);padding-top:13px;color:#829073;font-size:11px}.advanced summary{display:flex;justify-content:space-between;cursor:pointer;list-style:none}.advanced>div{padding:15px 0 5px;display:grid;gap:9px}.advanced label{display:flex;align-items:center;justify-content:space-between;font-size:10px}.advanced input{width:80px;padding:5px;border:1px solid var(--line);border-radius:4px}.advanced p{font-size:10px;line-height:1.6}.visual{position:relative;background:#f0f3e9;min-width:0;padding-bottom:25px}.map-canvas{height:410px;position:relative;overflow:hidden}.map-header{position:absolute;z-index:1;top:20px;left:25px;right:25px;display:flex;justify-content:space-between;align-items:center}.map-header>span{display:flex;align-items:center;gap:7px;background:#ffffffed;border:1px solid #dae3ce;padding:7px 10px;border-radius:6px;font-size:10px;color:#607553}.map-header i{height:5px;width:5px;background:#91b84b;border-radius:50%}.map-header button{background:#ffffffed;border:1px solid #dae3ce;padding:7px 10px;border-radius:6px;font-size:10px;color:#607553}.route-map{width:100%;height:100%;object-fit:cover;transform:scale(1.12);transform-origin:center center;transition:transform .4s}.map-disclaimer{position:absolute;bottom:16px;right:25px;font-size:9px;color:#78917c;background:#f4f7efe0;padding:3px 6px;border-radius:4px}.route-dashes{animation:flow 18s linear infinite}@keyframes flow{to{stroke-dashoffset:-220}}.result{position:relative;z-index:1;background:#fff;border:1px solid #dfe6d8;border-radius:15px;margin:-5px 25px 0;padding:22px 25px;box-shadow:0 7px 15px #1b352608}.result-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.result-label{font-size:12px;font-weight:700}.pill{font-size:9px;background:#f1f5e6;border:1px solid #dbe7bf;color:#718747;border-radius:4px;padding:2px 5px;margin-left:7px}.result-route{font-size:10px;color:#8b9781}.fare-line{display:flex;align-items:baseline;margin:10px 0 14px;gap:5px}.fare-line>strong{font-family:Arial,sans-serif;font-weight:800;font-size:48px;letter-spacing:-2px;line-height:1.2}.fare-line>span{font-size:18px;font-weight:600}.fare-line p{margin:0 0 0 auto;text-align:right;font-size:10px;color:#87937c;line-height:1.9}.fare-line b{font-weight:500;color:#536b40}.result-metrics{display:flex;border-top:1px solid #e9eee1;border-bottom:1px solid #e9eee1;padding:13px 0;gap:12px}.result-metrics>span{display:flex;flex-direction:column;flex:1;border-right:1px solid #e5ecdb;font-size:9px;color:#9ba68e}.result-metrics>span:last-child{border-right:0}.result-metrics b{font-size:12px;font-weight:700;color:#4f6540;margin-top:2px}.result details{font-size:10px;border-bottom:1px solid #e9eee1;padding:12px 0;color:#788967}.result summary{list-style:none;display:flex;justify-content:space-between;cursor:pointer}.breakdown-grid{display:grid;grid-template-columns:1fr auto;gap:6px;padding:12px 0}.result details a{text-decoration:underline}.result-note{font-size:9px;color:#a2aa98;margin:12px 0}.result-actions{display:flex;align-items:center;gap:15px;font-size:10px;font-weight:600}.result-actions a{background:var(--lime);padding:9px 15px;border-radius:6px;color:#2b4625}.result-actions button{margin-left:auto;background:none;border:0;color:#7d8e6c;font-size:10px}.examples{display:flex;align-items:center;gap:10px;padding:22px 0 40px;border-bottom:1px solid var(--line)}.examples>span{font-size:11px;color:#889679;margin-right:8px}.examples button{background:none;border:1px solid #d8e1ce;padding:9px 14px;border-radius:100px;font-size:10px}.examples button:hover{background:#e4efcf}.examples i{font-style:normal;color:#a4b294;margin:0 7px}.examples b{font-size:14px;margin-left:15px;color:#809267}.standards{padding:54px 0;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px;border-bottom:1px solid var(--line)}.standards h2{font-size:26px;line-height:1.5;letter-spacing:-1px;margin:0 0 12px}.standards p{font-size:11px;color:#8a957f;line-height:1.9}.standards article{border-left:1px solid var(--line);padding-left:30px}.number{font-size:10px;letter-spacing:.1em;color:#98a788;border:1px solid #d9e2cb;border-radius:5px;padding:4px 6px}.standards h3{font-size:15px;margin-top:20px}.standards a{font-size:10px;color:#5c7544}.guide{max-width:830px;margin:0 auto;padding:54px 0 70px}.guide h2{font-size:22px;letter-spacing:-.6px;text-align:center;margin:0 0 30px}.guide details{border-bottom:1px solid var(--line);padding:17px 0;font-size:12px}.guide summary{cursor:pointer;display:flex;justify-content:space-between;list-style:none;font-weight:600}.guide summary span{color:#9bae87}.guide details p{font-size:11px;color:#829175;line-height:1.9;max-width:700px}footer{border-top:1px solid var(--line);max-width:1360px;margin:auto;padding:26px 36px;display:flex;align-items:center;gap:25px}footer .brand{transform:scale(.7);transform-origin:left;margin-right:-35px}footer p,footer>span{font-size:10px;color:#97a48c}footer>span{margin-left:auto}#toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:#263c2d;color:#fff;border-radius:10px;padding:13px 22px;box-shadow:0 8px 30px #0002;z-index:20;font-size:12px;max-width:90vw;min-width:220px;text-align:center}
@media(min-width:1450px){header,main,footer{max-width:1440px}.workspace{grid-template-columns:385px 1fr}.map-canvas{height:430px}.intro{padding-top:48px;padding-bottom:35px}.intro h1{font-size:42px}.planner{padding:30px}.result{margin-top:-18px}.fare-line>strong{font-size:52px}}
@media(max-width:1050px){header,main,footer{padding-left:24px;padding-right:24px}.workspace{grid-template-columns:320px 1fr}.planner{padding:22px}.result{margin-left:16px;margin-right:16px;padding:18px}.result-route{display:none}.intro h1{font-size:31px}.intro-note{display:none}.examples{flex-wrap:wrap}.examples>span{width:100%}.standards{gap:24px}.standards article{padding-left:20px}}
@media(max-width:760px){.preview{font-size:9px;line-height:1.6;text-align:left;padding:8px 18px}.preview span{display:none}header{height:70px;padding:0 20px;gap:12px}.brand b{font-size:26px}.brand strong{font-size:20px}.brand{gap:10px}nav{display:none}.booking{font-size:10px;padding:8px 11px}main{padding:0 16px}.intro{padding:30px 4px 24px}.intro h1{font-size:30px;letter-spacing:-1.8px;line-height:1.45}.mobile-break{display:block}.intro .eyebrow{font-size:9px}.intro p:not(.eyebrow){font-size:10px;max-width:270px;line-height:1.9}.workspace{display:flex;flex-direction:column;border-radius:16px;min-height:0;overflow:visible}.planner{border:0;border-radius:16px 16px 0 0;padding:24px}.planner-top{margin-bottom:18px}.planner h2{font-size:18px}.mode-tabs{margin-bottom:18px}.places label{padding-top:11px;padding-bottom:11px}.quick{margin-bottom:20px}.two-fields select{font-size:11px;padding:12px 7px}.vehicle{margin-bottom:16px}.calculate{padding:16px}.form-status{min-height:0}.visual{border-radius:0 0 16px 16px;padding-bottom:16px}.map-canvas{height:260px;overflow:hidden}.route-map{transform:scale(1.02)}.map-header{top:14px;left:15px;right:15px}.map-disclaimer{bottom:8px;right:12px;font-size:8px}.result{margin:0 12px;padding:18px 16px;border-radius:12px}.fare-line>strong{font-size:42px}.fare-line>span{font-size:15px}.fare-line p{font-size:9px}.result-metrics{gap:8px}.result-metrics b{font-size:11px}.result-actions{gap:5px}.result-actions a{padding:9px 10px}.result-actions button{font-size:9px}.examples{padding:22px 4px 28px;gap:7px}.examples>span{font-size:10px}.examples button{font-size:9px;padding:8px 10px}.examples b{margin-left:8px}.standards{display:block;padding:32px 4px}.standards h2{font-size:25px}.standards article{border-left:0;border-top:1px solid var(--line);margin-top:25px;padding:25px 0 0}.standards p{font-size:11px}.standards h3{margin:12px 0 8px}.guide{padding:35px 4px 44px}.guide h2{font-size:20px;text-align:left}.guide summary{font-size:11px;gap:10px}footer{padding:20px;flex-wrap:wrap;gap:8px}footer p{margin-left:15px}footer>span{width:100%;margin:0}footer .brand{margin-right:-25px}.advanced[open]>div{gap:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.route-dashes{animation:none}*{transition:none!important}}

/* Readable labels at both breakpoints. */
.field-label,.two-fields label{font-size:12px}.places input{font-size:14px}.two-fields select{font-size:12px}.form-status,.advanced,.advanced label,.vehicle small,.result-note{font-size:11px}.quick,.quick button,.result-metrics>span,.result-route,.result-actions,.result-actions button,.result details{font-size:11px}.result-metrics b{font-size:13px}.result-label{font-size:13px}.intro p:not(.eyebrow){font-size:14px}.guide summary{font-size:14px}.guide details p,.standards p{font-size:13px}.standards a{font-size:12px}.examples>span,.examples button{font-size:12px}.places label{padding-top:10px;padding-bottom:10px}.swap{top:64px}.planner-top{margin-bottom:15px}.mode-tabs{margin-bottom:17px}.quick{margin-bottom:19px}.vehicle{margin-bottom:16px}.map-header>span,.map-header button{font-size:11px}.map-disclaimer{font-size:10px}.preview{font-size:12px}.preview span{font-size:10px}.result details p{line-height:1.7}.result-actions a,.result-actions button{min-height:40px;display:flex;align-items:center}.quick button{min-height:32px}.guide summary{min-height:30px}
@media(max-width:760px){.preview{font-size:10px}.intro p:not(.eyebrow){font-size:12px;max-width:310px}.form-status{font-size:11px}.places input{font-size:16px}.two-fields select{font-size:13px}.quick{font-size:10px}.quick button{font-size:11px}.fare-line p{font-size:10px}.result-actions,.result-actions button{font-size:11px}.examples>span,.examples button{font-size:11px}.guide summary{font-size:13px}.guide details p,.standards p{font-size:12px}.map-disclaimer{font-size:9px}.swap{top:68px}}
