:root{--korail-navy: #0b4567;--korail-navy-deep: #073653;--korail-blue: #0069b4;--korail-blue-soft: #dff2fb;--korail-cyan: #c9f1f6;--korail-orange: #d86b00;--korail-red: #f22918;--surface: #ffffff;--surface-soft: #f5f6f7;--surface-muted: #ececec;--line: #dcdfe2;--line-strong: #c8cdd1;--text: #111315;--text-soft: #6b7075;--text-muted: #aeb3b7;--sheet: rgba(48, 67, 79, .94);--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);color:var(--text);background:#e9edf0;font-family:Apple SD Gothic Neo,Noto Sans KR,Malgun Gothic,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}*,*:before,*:after{font-weight:400!important}html,body,#root{min-height:100%}body{margin:0;overflow-x:hidden}button{border-radius:0;font:inherit;letter-spacing:0;-webkit-tap-highlight-color:rgba(0,105,180,.16)}.phone-frame{position:relative;container-type:inline-size;container-name:phone;width:min(100vw,480px);height:100dvh;min-height:100dvh;margin:0 auto;overflow:hidden;background:var(--surface);box-shadow:0 0 0 1px #05233414,0 18px 50px #05233429}.desktop-task-rail{display:none}.screen{height:calc(100dvh - clamp(56px,14cqw,72px) - var(--safe-top));min-height:0;overflow-x:hidden;overflow-y:auto;padding-bottom:calc(24px + var(--safe-bottom));background:var(--surface);scrollbar-width:none}.screen::-webkit-scrollbar{display:none}.screen-with-nav{padding-bottom:calc(82px + var(--safe-bottom))}.top-bar{position:sticky;top:0;z-index:30;color:#fff;background:var(--korail-navy);padding-top:var(--safe-top)}.status-bar{display:flex;align-items:center;justify-content:space-between;min-height:clamp(35px,9cqw,44px);padding:10px clamp(28px,8cqw,58px) 0;font-weight:800;font-size:clamp(18px,5cqw,24px);line-height:1}.status-icons{display:inline-flex;align-items:center;gap:9px}.signal-icon{display:inline-grid;grid-auto-flow:column;align-items:end;gap:3px;height:18px}.signal-icon:before{content:"";display:block;width:32px;height:18px;background:linear-gradient(to top,#fff 0 6px,transparent 6px) 0 bottom / 5px 18px no-repeat,linear-gradient(to top,#fff 0 10px,transparent 10px) 9px bottom / 5px 18px no-repeat,linear-gradient(to top,rgba(255,255,255,.72) 0 14px,transparent 14px) 18px bottom / 5px 18px no-repeat,linear-gradient(to top,rgba(255,255,255,.42) 0 18px,transparent 18px) 27px bottom / 5px 18px no-repeat;border-radius:2px}.wifi-icon{width:24px;height:18px;border:4px solid #fff;border-left-color:transparent;border-right-color:transparent;border-bottom:0;border-radius:24px 24px 0 0;position:relative}.wifi-icon:after{content:"";position:absolute;left:7px;bottom:-6px;width:8px;height:8px;border-radius:50%;background:#fff}.battery-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:20px;border-radius:6px;color:var(--korail-navy);background:#eef5fb;font-size:14px;font-weight:900}.battery-icon:after{content:"";position:absolute;right:-4px;width:3px;height:9px;border-radius:0 4px 4px 0;background:#ffffff73}.app-bar{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:clamp(56px,14cqw,72px);padding:4px clamp(10px,3cqw,16px) 8px}.app-bar h1{position:absolute;left:50%;max-width:calc(100% - 220px);margin:0;text-align:center;font-size:clamp(18px,4.9cqw,24px);line-height:1.15;transform:translate(-50%);white-space:nowrap;pointer-events:none}.top-actions{display:flex;margin-left:auto;justify-content:flex-end;gap:clamp(6px,2cqw,10px);min-width:clamp(86px,24cqw,112px)}.top-goal-badge{display:grid;align-content:center;justify-items:center;min-width:clamp(78px,22cqw,104px);min-height:clamp(34px,9.4cqw,44px);padding:4px clamp(8px,2.4cqw,11px);border:1px solid rgba(255,255,255,.42);border-radius:999px;background:#ffffff21;color:#fff;box-shadow:inset 0 0 0 1px #08243a14;line-height:1.05;pointer-events:none;transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease,transform .16s ease}.top-goal-badge-alert{animation:goal-badge-alert .95s ease;border-color:#ffffffd1;background:#d82525;box-shadow:0 0 0 3px #d8252547,inset 0 0 0 1px #ffffff2e}@keyframes goal-badge-alert{0%,to{transform:translate(0)}18%,54%{transform:translate(-2px)}36%,72%{transform:translate(2px)}}.top-goal-badge span{opacity:.72;font-size:clamp(8px,2.2cqw,10px)}.top-goal-badge strong{margin-top:2px;font-size:clamp(12px,3.4cqw,16px);font-weight:500;white-space:nowrap}.icon-button{display:inline-grid;place-items:center;width:clamp(40px,11cqw,50px);height:clamp(40px,11cqw,50px);border:0;color:inherit;background:transparent}.back-button span,.refresh-button span,.timer-button span,.menu-button span{display:block;position:relative}.back-button span{width:14px;height:14px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg)}.refresh-button span{width:20px;height:20px;border:2px solid currentColor;border-left-color:transparent;border-radius:50%}.refresh-button span:after{content:"";position:absolute;right:-9px;top:5px;border:7px solid transparent;border-left-color:currentColor;transform:rotate(55deg)}.timer-button span{width:30px;height:30px;border:3px solid currentColor;border-radius:50%}.timer-button span:before,.timer-button span:after{content:"";position:absolute;left:13px;top:6px;width:3px;height:10px;background:currentColor;border-radius:4px;transform-origin:bottom}.timer-button span:after{top:6px;height:8px;transform:rotate(90deg)}.menu-button span,.menu-button span:before,.menu-button span:after{width:20px;height:2px;border-radius:4px;background:currentColor}.menu-button span:before,.menu-button span:after{content:"";position:absolute;left:0}.menu-button span:before{top:-10px}.menu-button span:after{top:10px}.route-band{display:flex;align-items:center;justify-content:center;min-height:clamp(48px,12.5cqw,60px);padding:6px 16px;text-align:center;font-size:clamp(18px,4.9cqw,24px);font-weight:800;color:var(--korail-navy);background:var(--korail-cyan)}.route-band span{padding:0 clamp(12px,4cqw,22px);color:#55798a;font-weight:500}.search-controls{padding:clamp(13px,3.5cqw,16px) clamp(10px,3cqw,14px) 8px;background:#f3f3f3}.search-controls.compact{padding-bottom:4px}.date-row{display:grid;grid-template-columns:clamp(66px,18cqw,82px) 1fr clamp(66px,18cqw,82px);align-items:center;gap:clamp(6px,2cqw,10px);margin-bottom:clamp(11px,3cqw,14px)}.date-row strong{min-width:0;text-align:center;font-size:clamp(16px,4cqw,20px);font-weight:800;white-space:nowrap}.date-row button,.outline-pill{min-height:clamp(30px,8cqw,40px);border:1.5px solid var(--korail-blue);border-radius:22px;padding:0 clamp(4px,0cqw,12px);color:var(--korail-blue);background:#fff0;font-weight:800;font-size:clamp(12px,3.4cqw,18px)}.filter-row{display:grid;grid-template-columns:1.15fr 1fr .8fr;gap:clamp(8px,2.8cqw,13px)}.select-like{display:flex;align-items:center;justify-content:space-between;min-width:0;min-height:clamp(42px,10.8cqw,52px);border:1px solid #dadde0;padding:0 clamp(10px,3cqw,14px);color:#5e6063;background:#fff;font-size:clamp(14px,3.8cqw,20px);font-weight:800}.select-like span{color:#73777b;font-size:.92em}.train-table-header,.train-row{display:grid;grid-template-columns:1.26fr 1fr 1fr 1.06fr 1.06fr;align-items:center}.train-table-header{min-height:clamp(43px,10.8cqw,52px);padding:5px clamp(8px,2.4cqw,12px);color:#6b6b6b;background:#e9e9e9;text-align:center;font-size:clamp(16px,4cqw,20px);font-weight:800;line-height:1.18}.train-table-header span{white-space:nowrap}.train-row{position:relative;min-height:clamp(78px,19.7cqw,96px);padding:6px clamp(9px,2.7cqw,14px);border-bottom:1px solid #e0e0e0;background:#fff;column-gap:clamp(5px,1.8cqw,9px)}.train-row>span{display:grid;gap:2px;justify-items:center;text-align:center;line-height:1.08}.train-row>span b{font-size:clamp(16px,4cqw,20px);font-weight:800;word-break:keep-all}.train-row-muted{color:#b9bdc0;background:#f0f0f0}.selected-train{border:2px solid #45a0da;background:#eef8ff}.fare-button{position:relative;display:inline-grid;place-items:center;min-width:0;min-height:clamp(43px,10.8cqw,54px);border:1.5px solid var(--korail-blue);padding:3px;color:var(--korail-blue);background:#fff;font-size:clamp(12px,3.55cqw,17px);font-weight:900;line-height:1.05;white-space:nowrap;box-shadow:none}.fare-button small{display:flex;align-items:center;justify-content:center;gap:1px;color:var(--korail-orange);font-size:clamp(9px,2.55cqw,12px);font-weight:900;white-space:nowrap}.fare-line{display:block}.fare-button small .reward-badge{display:inline-grid;place-items:center;width:1.28em;height:1.28em;margin-right:1px;border-radius:50%;color:#fff;background:var(--korail-orange);font-size:.86em;line-height:1;vertical-align:.08em}.fare-disabled{border-color:#ad8595;color:#a57588;background:#f7f7f7}.fare-secondary{border-color:var(--korail-blue);color:var(--korail-blue);background:#fff}.has-hourglass:after{content:"";position:absolute;right:-3px;bottom:-4px;width:10px;height:14px;border:2px solid #f05d2a;border-top-width:3px;border-bottom-width:3px;clip-path:polygon(0 0,100% 0,58% 50%,100% 100%,0 100%,42% 50%);background:transparent}.fare-button.is-selected{background:#d3ebf9;box-shadow:inset 0 0 0 2px #2388c9}.bottom-nav{position:absolute;right:0;bottom:0;left:0;z-index:22;display:grid;grid-template-columns:repeat(4,1fr);min-height:calc(clamp(68px,18cqw,82px) + var(--safe-bottom));padding-bottom:var(--safe-bottom);border-top:1px solid #cfd3d6;background:#fffffffa}.bottom-nav-item{display:grid;place-items:center;align-content:start;gap:0;min-width:0;padding-top:clamp(5px,1.5cqw,7px);border:0;color:#7a7d80;background:transparent;font-size:clamp(11px,3.1cqw,14px);font-weight:700}.bottom-nav-icon{width:clamp(26px,6.8cqw,34px);height:clamp(26px,6.8cqw,34px);object-fit:contain;object-position:center;display:block}.reserve-sheet{position:absolute;right:0;bottom:calc(clamp(70px,18cqw,86px) - 4px + clamp(68px,18cqw,82px) + var(--safe-bottom));left:0;z-index:23;margin-top:0;padding:10px clamp(16px,5cqw,22px) 12px;color:#fff;background:#30434feb;box-shadow:0 -12px 24px #111f282e;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.reserve-sheet p{margin:0 0 7px;font-size:clamp(16px,4cqw,20px);font-weight:800}.reserve-sheet strong{color:#73e7e4}.sheet-tabs{display:grid;grid-template-columns:repeat(3,1fr);align-items:center;text-align:center;font-size:clamp(16px,4cqw,21px);font-weight:900}.sheet-tabs span,.sheet-tabs button{display:grid;place-items:center;min-height:clamp(38px,10cqw,48px);border:0;padding:6px clamp(8px,2.5cqw,12px);color:inherit;background:transparent;font:inherit}.sheet-tabs span+span,.sheet-tabs span+button{border-left:1px solid rgba(122,221,224,.65)}.sheet-handle,.sheet-close{position:absolute;border:0;color:#fff;background:transparent}.sheet-handle{position:relative;top:auto;left:auto;display:grid;place-items:center;width:64px;height:28px;margin:-37px auto 10px;padding:0;transform:none;border-radius:9px 9px 0 0;background:var(--sheet);font-size:0;line-height:1}.sheet-handle:before{content:"";width:15px;height:15px;margin-top:10px;border-right:2px solid rgba(255,255,255,.94);border-bottom:2px solid rgba(255,255,255,.94);transform:rotate(45deg) translate(-5px) translateY(-5px)}.sheet-close{top:12px;right:13px;width:25px;height:0px;font-size:22px;line-height:.8}.selected-seat-note{color:#e7f7ff;font-size:clamp(15px,4.2cqw,18px)}.fixed-action{position:absolute;right:0;bottom:0;left:0;z-index:24;width:100%;min-height:calc(clamp(70px,18cqw,86px) + var(--safe-bottom));border:0;padding-bottom:var(--safe-bottom);color:var(--korail-navy);background:#d7ecfa;font-size:clamp(24px,6.5cqw,31px);font-weight:900}.screen-with-nav .fixed-action{bottom:calc(clamp(68px,18cqw,82px) + var(--safe-bottom))}.reserve-sheet+.fixed-action{min-height:calc(clamp(70px,18cqw,86px) - 4px + var(--safe-bottom));font-size:clamp(20px,5.4cqw,26px)}.seat-selector-panel{--seat-selector-inline-padding: clamp(11px, 3cqw, 15px);position:relative;display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden;padding:clamp(11px,2.8cqw,14px) var(--seat-selector-inline-padding) 0;background:#f8f8f8}.car-dropdown-button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:clamp(40px,9cqw,52px);border:1px solid #d6d8da;padding:0 clamp(10px,2cqw,18px);color:#606367;background:#fff;font-size:clamp(16px,3.8cqw,20px);font-weight:900}.car-dropdown-button span{color:#777}.car-dropdown-button.is-active{background:#dfeff8}.car-dropdown-list{position:absolute;z-index:28;top:calc(clamp(11px,2.8cqw,14px) + clamp(42px,11cqw,52px));right:clamp(11px,3cqw,15px);left:clamp(11px,3cqw,15px);margin-bottom:0;border:1px solid #d6d8da;border-top:0;background:#fff;box-shadow:0 10px 22px #14232d1a}.car-option{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:clamp(40px,9cqw,58px);border:0;padding:0 clamp(10px,2cqw,18px);color:#686c70;background:#fff;font-size:clamp(16px,3.8cqw,20px);font-weight:900}.car-option.is-active{background:#dfeff8}.car-option strong{color:var(--korail-blue);font-size:.92em}.seat-train-info{display:grid;grid-template-columns:minmax(72px,92px) minmax(0,1fr) minmax(72px,92px);align-items:end;gap:clamp(8px,2.5cqw,12px);padding:clamp(14px,4cqw,22px) 10px clamp(12px,3.5cqw,18px)}.seat-train-info h2,.seat-train-info p{margin:8px 0 0;text-align:center}.seat-train-info h2{font-size:clamp(16px,4.4cqw,25px);font-weight:800;white-space:nowrap}.seat-train-info p{margin-top:-3px;margin-bottom:4px;color:#656a6f;font-size:clamp(13px,3.5cqw,17px);font-weight:800;white-space:nowrap}.outline-pill{min-width:clamp(72px,20cqw,92px);font-size:clamp(13px,3.5cqw,22px)}.car-side-action{display:flex;align-items:end;min-height:clamp(40px,10cqw,48px)}.car-side-action-left{justify-content:start}.car-side-action-right{justify-content:end}.vr-banner{width:100%;min-height:clamp(52px,16cqw,64px);border:0;border-radius:7px;color:#fff;background:linear-gradient(#18212880,#18212880),repeating-linear-gradient(90deg,#657987 0,#657987 22px,#8799a5 22px,#8799a5 24px,#657987 24px,#657987 48px);font-size:clamp(24px,6cqw,31px);font-weight:900;text-shadow:0 1px 2px rgba(0,0,0,.28)}.legend-row{display:grid;grid-template-columns:repeat(4,max-content);justify-content:space-between;align-items:center;gap:7px;margin-bottom:8px;padding:clamp(15px,4.3cqw,21px) 5px 11px;color:#656a6f;font-size:clamp(12px,3.5cqw,17px);font-weight:800;white-space:nowrap}.legend-row span{display:inline-flex;align-items:center;gap:6px}.dot{display:inline-block;width:17px;height:17px;border-radius:50%}.dot-unavailable{background:#d7d9db}.dot-available{border:2px solid #d3d5d7;background:#fff}.legend-seat-direction{display:inline-block;width:clamp(18px,5cqw,25px);height:clamp(17px,4.8cqw,24px);color:#8b9297;--legend-seat-outer-fill: #fff;--legend-seat-outer-stroke: #8b9297}.legend-seat-direction svg{display:block;width:100%;height:100%;overflow:visible}.legend-seat-direction svg #inner{fill:transparent!important;stroke:transparent!important}.legend-seat-direction svg #outer{fill:var(--legend-seat-outer-fill)!important;stroke:var(--legend-seat-outer-stroke)!important}.legend-seat-direction-forward{transform:rotate(180deg);--legend-seat-outer-fill: #fff}.legend-seat-direction-reverse{--legend-seat-outer-fill: #e1ebf2}.seat-map{position:relative;max-width:800px;margin:0 auto;padding:0 clamp(6px,3.5cqw,12px)}.seat-map-scroll{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;padding:0 clamp(11px,3cqw,15px) calc(150px + var(--safe-bottom));scrollbar-width:none}.seat-selector-panel>.seat-map-scroll{margin-right:calc(var(--seat-selector-inline-padding) * -1);margin-left:calc(var(--seat-selector-inline-padding) * -1)}.seat-map-scroll::-webkit-scrollbar{display:none}.train-window-rails{position:absolute;top:52px;right:0;bottom:18px;left:0;display:flex;justify-content:space-between;pointer-events:none}.train-window-rails span{width:clamp(6px,1.6cqw,10px);border-radius:999px;background:linear-gradient(to bottom,#bfe2f8 0 21%,transparent 21% 28%,#bfe2f8 28% 49%,transparent 49% 56%,#bfe2f8 56% 76%,transparent 76% 83%,#bfe2f8 83% 100%)}.seat-side-labels,.seat-row{display:grid;grid-template-columns:minmax(42px,65px) minmax(42px,65px) clamp(30px,21cqw,85px) minmax(42px,65px) minmax(42px,65px);justify-content:center;gap:clamp(5px,1.2cqw,8px);align-items:center}.seat-side-labels{margin-bottom:8px;color:#6b7075;text-align:center;font-size:clamp(12px,3.5cqw,18px);font-weight:800}.seat-side-labels span:nth-child(3){grid-column:4}.seat-side-labels span:nth-child(4){grid-column:5}.seat-row{margin-bottom:clamp(3px,1cqw,5px)}.seat{position:relative;display:grid;place-items:center;aspect-ratio:1 / 1.03;min-width:0;border:0;color:#1e2225;--seat-inner: #ffffff;--seat-outer: #e1ebf2;--seat-stroke: #79797a;background:transparent;font-size:clamp(12px,3.6cqw,20px);font-weight:800}.seat-icon{position:absolute;top:0;right:0;bottom:0;left:0;display:block}.seat-icon svg{display:block;width:100%;height:100%;overflow:visible}.seat-icon svg #inner{fill:var(--seat-inner)!important;stroke:var(--seat-stroke)!important}.seat-icon svg #outer{fill:var(--seat-outer)!important;stroke:var(--seat-stroke)!important}.seat-forward{--seat-outer: #ffffff}.seat-forward .seat-icon{transform:rotate(180deg)}.seat-reverse{--seat-outer: #e1ebf2}.seat-label{position:relative;z-index:1;transform:translateY(-2%)}.seat-unavailable{color:#b9bec2;--seat-inner: #e4e6e6;--seat-outer: #e2e4e4;--seat-stroke: #cfd3d4}.seat-selected{color:#fff;--seat-inner: #1967b2;--seat-outer: #1967b2;--seat-stroke: #0a3c60}.aisle-arrow{color:#33383c;text-align:center;font-size:clamp(12px,4.3cqw,23px)}.seat-bottom-sheet,.seat-payment-bar{position:absolute;right:0;bottom:0;left:0;z-index:20;min-height:calc(clamp(90px,22cqw,108px) + var(--safe-bottom));padding:13px clamp(18px,5cqw,24px) calc(13px + var(--safe-bottom));color:#fff;background:var(--sheet);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.seat-bottom-sheet{display:grid;align-content:center;justify-items:center;gap:5px;text-align:center}.seat-bottom-sheet-selected{bottom:calc(clamp(62px,16cqw,74px) + var(--safe-bottom));min-height:clamp(78px,20cqw,94px);padding:8px clamp(18px,5cqw,24px)}.seat-bottom-sheet p,.seat-bottom-sheet strong,.seat-bottom-sheet span{display:block;margin:0}.seat-bottom-sheet p{color:#d3ecfb;font-size:clamp(15px,4cqw,20px)}.seat-bottom-sheet strong,.seat-bottom-sheet span{font-size:clamp(18px,5cqw,26px);font-weight:900}.seat-bottom-sheet-selected span{font-size:clamp(16px,4.4cqw,22px)}.seat-bottom-sheet-selected+.fixed-action{min-height:calc(clamp(62px,16cqw,74px) + var(--safe-bottom));font-size:clamp(22px,5.7cqw,28px)}.b-train-card{margin:clamp(14px,3.7cqw,18px) clamp(14px,3.8cqw,18px) clamp(12px,3cqw,16px);padding:clamp(15px,3.8cqw,19px) clamp(15px,4cqw,20px) clamp(13px,3.4cqw,17px);border:1px solid #f4f5f6;border-radius:9px;background:#fff;box-shadow:0 1px 3px #0f233008}.b-train-card h2{margin:0 0 clamp(4px,2cqw,13px);text-align:center;font-size:clamp(20px,5.5cqw,31px);font-weight:400;line-height:1.08}.b-route-grid{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:clamp(18px,5.6cqw,30px);padding-bottom:clamp(13px,3cqw,17px);border-bottom:1px solid #e6e8ea;text-align:center;font-size:clamp(16px,4cqw,20px);line-height:1.15;font-weight:400}.b-route-grid strong{color:#333;font-size:clamp(22px,5.8cqw,27px);font-weight:400}.b-route-grid small{display:block;margin-top:clamp(6px,1.5cqw,8px);font-size:.86em;font-weight:400}.b-legend{display:grid;grid-template-columns:repeat(6,max-content);justify-content:space-between;align-items:center;gap:clamp(6px,1.8cqw,10px);margin-top:clamp(13px,3.2cqw,16px);color:#4f555a;font-size:clamp(11px,3cqw,14px);font-weight:400}.b-legend span{display:inline-flex;align-items:center;gap:clamp(4px,1.2cqw,6px);white-space:nowrap}.b-direction-icon{width:0;height:0;border-top:clamp(5px,1.4cqw,7px) solid transparent;border-bottom:clamp(5px,1.4cqw,7px) solid transparent;border-left:clamp(7px,2cqw,9px) solid #a7aeb4}.b-legend-seat{width:clamp(10px,3.4cqw,22px);height:clamp(10px,3.4cqw,22px);border-radius:3px;border:1px solid #9fb7c7;background:#c3ddef}.b-legend-seat.is-used{border-color:#cfd3d4;background:#e2e4e4}.b-child-icon{position:relative;display:inline-block;width:clamp(22px,5.8cqw,28px);height:clamp(19px,5cqw,24px)}.b-child-icon b{position:absolute;bottom:0;width:38%;height:62%;border-radius:45% 45% 3px 3px;background:#9b57b8}.b-child-icon b:before{position:absolute;top:-42%;left:50%;width:58%;aspect-ratio:1;content:"";border-radius:50%;background:#9b57b8;transform:translate(-50%)}.b-child-icon b:first-child{left:7%}.b-child-icon b:last-child{right:7%}.mini-car-list{display:grid;gap:clamp(10px,2.7cqw,14px);padding:clamp(6px,1.6cqw,8px) clamp(14px,3.8cqw,18px) calc(154px + var(--safe-bottom))}.mini-car{display:grid;grid-template-columns:clamp(78px,21cqw,104px) 1fr clamp(16px,4.2cqw,20px);align-items:center;gap:clamp(0px,.5cqw,14px);min-height:clamp(116px,30cqw,148px);border:1px solid #f2f3f4;border-radius:9px;padding:clamp(12px,3.1cqw,15px) clamp(12px,3.2cqw,16px);background:#fff;text-align:left;box-shadow:0 1px 2px #14283706}.mini-car-meta{display:grid;gap:clamp(8px,2.2cqw,12px)}.mini-car-meta strong{color:#111;font-size:clamp(14px,4cqw,29px);font-weight:400;line-height:1.05}.mini-car-meta span{color:#555c61;font-size:clamp(12px,3.2cqw,18px);font-weight:400;line-height:1.28}.mini-car-meta em{color:var(--korail-blue);font-style:normal;font-size:clamp(12px,3.2cqw,18px);font-weight:400;line-height:1.2}.mini-seat-layout{display:grid;gap:clamp(2px,.7cqw,4px);min-width:0}.mini-seat-row{display:grid;grid-template-columns:repeat(var(--mini-cols, 14),minmax(4px,1fr));gap:clamp(2px,.6cqw,3px)}.mini-direction-row{display:grid;grid-template-columns:repeat(var(--mini-direction-cols, 7),1fr);align-items:center;padding:clamp(2px,.7cqw,4px) 4%}.mini-direction-row i{justify-self:start;width:0;height:0;border-top:clamp(4px,1.2cqw,6px) solid transparent;border-bottom:clamp(4px,1.2cqw,6px) solid transparent;border-left:clamp(6px,1.8cqw,9px) solid #c3c6c8}.mini-seat{position:relative;display:inline-block;width:100%;aspect-ratio:57.13 / 65.24;--mini-seat-fill: #c3ddef;--mini-seat-stroke: #9fb7c7}.mini-seat.is-free{--mini-seat-fill: #c3ddef;--mini-seat-stroke: #9fb7c7}.mini-seat.is-used{--mini-seat-fill: #e2e4e4;--mini-seat-stroke: #cfd3d4}.mini-seat svg{display:block;width:100%;height:100%;overflow:visible}.mini-seat.is-reverse-direction svg{transform:rotate(180deg)}.mini-seat svg #shape{fill:var(--mini-seat-fill)!important;stroke:var(--mini-seat-stroke)!important}.mini-arrow{color:#8f8f8f;text-align:right;font-size:clamp(36px,9cqw,48px);font-weight:300}.seat-payment-bar{display:grid;grid-template-columns:1fr minmax(138px,44%);align-items:center;gap:clamp(12px,3cqw,24px);text-align:left}.seat-payment-bar div{display:grid;gap:14px}.seat-payment-bar span{color:#fff;font-size:clamp(16px,4.5cqw,26px);font-weight:900;line-height:1}.seat-payment-bar strong{color:#fff;font-size:clamp(16px,8cqw,34px);font-weight:900;line-height:1}.seat-payment-bar button{min-height:clamp(62px,18cqw,90px);margin-top:12px;margin-bottom:12px;border:0;border-radius:5px;color:var(--korail-navy);background:#e0f3ff;font-size:clamp(16px,5cqw,27px);font-weight:900}.b-seat-page{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden;background:#f8f8f8}.car-tab-strip{display:flex;flex:0 0 auto;gap:clamp(9px,2.5cqw,12px);overflow-x:auto;padding:clamp(21px,6cqw,28px) clamp(14px,3.8cqw,18px);scrollbar-width:none}.car-tab-strip::-webkit-scrollbar{display:none}.car-tab{flex:0 0 clamp(104px,26cqw,134px);min-height:clamp(60px,18cqw,80px);border:1px solid #d9dddf;border-radius:10px;padding-left:12px;padding-right:12px;color:#1e2225;background:#fff;text-align:left;box-shadow:0 1px 2px #14233008}.car-tab.is-active{border:2px solid var(--korail-blue);color:var(--korail-blue)}.car-tab-title{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.car-tab strong{font-size:clamp(15px,3.5cqw,24px)}.car-tab>span,.car-tab small{display:block;margin-top:2px;font-size:clamp(15px,3.5cqw,19px);font-weight:800}.car-tab-baby-icon{display:inline-flex;flex:0 0 auto;width:clamp(18px,4.7cqw,24px);height:clamp(18px,4.7cqw,24px);color:var(--korail-blue)}.car-tab-baby-icon svg{display:block;width:100%;height:100%}.car-tab-baby-icon svg{--icon-color: var(--korail-blue)}.car-tab-count{color:#4f5458}.car-tab-count span{display:inline}.car-tab-remaining{color:#111}.car-tab.is-active .car-tab-remaining{color:var(--korail-blue)}.car-tab-divider,.car-tab-total,.car-tab.is-active .car-tab-divider,.car-tab.is-active .car-tab-total{color:#555b60}.b-seat-legend{flex:0 0 auto;padding:4px clamp(16px,4cqw,22px) 16px}.ticket-summary{padding:clamp(26px,7cqw,36px) clamp(23px,6cqw,30px);background:#fff}.ticket-date-line{display:flex;justify-content:space-between;color:var(--korail-blue);font-size:clamp(14px,3.9cqw,28px);font-weight:900}.ticket-date-line span{color:#111;font-weight:900}.ticket-summary h2{margin:13px 0 10px;font-size:clamp(15px,4cqw,25px);font-weight:900;line-height:1.28}.ticket-summary p{margin:0;color:#686c70;font-size:clamp(15px,4cqw,25px);font-weight:900}.ticket-summary em{color:var(--korail-red);font-style:normal}.deadline{display:grid;gap:4px;margin:clamp(15px,4cqw,25px) 0;color:var(--korail-red);font-size:clamp(15px,4cqw,25px);font-weight:900}.ticket-actions{display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,3cqw,16px)}.ticket-actions button{min-height:clamp(38px,10cqw,62px);margin-bottom:-10px;border:1.5px solid #d2d4d6;border-radius:999px;color:#121517;background:#fff;font-size:clamp(15px,4cqw,25px);font-weight:900}.notice-line{margin:0;padding:clamp(22px,4cqw,30px) clamp(24px,4cqw,32px);border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:#777d82;background:#fafafa;font-size:clamp(15px,4cqw,25px);font-weight:800}.terms-section{padding:clamp(24px,6cqw,32px) clamp(24px,6cqw,32px) calc(104px + var(--safe-bottom));color:#6c7074;font-size:clamp(15px,4cqw,25px);font-weight:800;line-height:1.55}.terms-section h2{margin:0 0 18px;color:#111;font-size:clamp(16px,4.4cqw,34px);font-weight:900}.terms-section p{margin:0 0 6px}.terms-section button{display:block;border:0;padding:5px 0;color:var(--korail-red);background:transparent;text-align:left;text-decoration:underline;font-size:clamp(15px,4cqw,25px);font-weight:900}.intro-frame{background:linear-gradient(#f3fbff,#fff)}.intro-screen,.centered-screen{display:grid;align-content:center;gap:18px;min-height:100dvh;padding:calc(32px + var(--safe-top)) 24px calc(32px + var(--safe-bottom))}.intro-screen h1,.centered-screen h1{margin:0;color:var(--korail-navy);font-size:clamp(28px,7cqw,36px);font-weight:900}.consent-screen{display:grid;gap:14px;height:100%;min-height:100dvh;overflow-x:hidden;overflow-y:auto;padding:calc(24px + var(--safe-top)) 20px calc(28px + var(--safe-bottom))}.test-quick-nav{display:grid;gap:10px;border:1px dashed #9dc8e1;border-radius:8px;padding:12px;background:#eff8fdf2}.test-quick-nav h2{margin:0;color:var(--korail-navy);font-size:clamp(15px,4cqw,18px);font-weight:400}.test-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.test-quick-grid button{min-height:34px;border:1px solid #b8d4e5;border-radius:999px;padding:6px 8px;color:#174f78;background:#fff;font-size:clamp(11px,3.1cqw,13px);line-height:1.2}.consent-hero{display:grid;gap:8px;padding:4px 0 8px}.consent-hero h1{margin:0;color:var(--korail-navy);font-size:clamp(25px,7cqw,34px);font-weight:400;line-height:1.2}.consent-hero p{margin:0;color:#31566a;font-size:clamp(14px,3.8cqw,17px)}.consent-card{border:1px solid #dce7ee;border-radius:8px;padding:15px 16px;background:#ffffffeb;box-shadow:0 4px 16px #0a3c5c0d}.consent-card h2{margin:0 0 8px;color:var(--korail-navy);font-size:clamp(17px,4.6cqw,20px);font-weight:400}.consent-card p{margin:0;color:#30363b;font-size:clamp(14px,3.8cqw,16px);line-height:1.55}.task-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.task-list li{display:grid;gap:3px;color:#30363b;font-size:clamp(14px,3.8cqw,16px);line-height:1.4}.task-list-title{color:var(--korail-blue)}.consent-note{margin-top:12px!important;color:#5f666c!important}.consent-check{display:grid;grid-template-columns:24px 1fr;gap:10px;align-items:start;padding:14px 15px;border:1px solid #c7d9e4;border-radius:8px;background:#fff;color:#1f2f3a;font-size:clamp(15px,4cqw,17px);line-height:1.45}.consent-check input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--korail-blue)}.consent-caution{margin:-2px 2px 0;color:#8a5a18;font-size:clamp(12px,3.3cqw,14px);line-height:1.45;word-break:keep-all}.eyebrow{margin:0;color:var(--korail-blue);font-size:14px;font-weight:400}.intro-meta{display:flex;flex-wrap:wrap;gap:8px}.intro-meta span,.summary-panel span{border:1px solid #d7e6ef;border-radius:20px;padding:6px 10px;background:#fff;color:#31566a;font-size:14px;font-weight:800}.task-panel,.train-summary,.summary-panel{border:1px solid #d9e7ef;border-radius:8px;padding:18px;background:#fff;box-shadow:0 4px 16px #0a3c5c0f}.task-intro-screen{align-content:center;gap:20px;padding-inline:22px}.task-identity{margin:-2px 0 2px;color:var(--korail-navy);font-size:clamp(32px,9.2cqw,46px);font-weight:500;line-height:1.1;letter-spacing:0}.task-goal-panel{display:grid;gap:12px;padding:22px 20px}.task-panel-label{color:var(--korail-blue);font-size:clamp(15px,4cqw,18px)}.task-goal-panel h1{margin:0;color:#111;font-size:clamp(25px,7.2cqw,36px);font-weight:400;line-height:1.28}.task-goal-panel p{margin:0;color:#5a6269;font-size:clamp(17px,4.8cqw,22px);line-height:1.45}.task-context-panel{display:grid;gap:7px;border:1px solid #d9e7ef;border-radius:8px;padding:16px 18px;background:#fff;color:#30363b;font-size:clamp(16px,4.3cqw,20px);line-height:1.4}.task-confirm-check{display:flex;align-items:center;gap:10px;border:1px solid #d9e7ef;border-radius:8px;padding:13px 15px;background:#fff;color:#24323a;font-size:clamp(15px,4cqw,18px);line-height:1.35}.task-confirm-check input{flex:0 0 auto;width:20px;height:20px;margin:0;accent-color:var(--korail-blue)}.task-panel h2,.train-summary h2,.task-panel p,.train-summary p{margin:0 0 8px}.primary-button{width:100%;min-height:58px;border:0;border-radius:6px;color:#fff;background:var(--korail-navy);font-size:21px;font-weight:900}.primary-button:disabled{color:#6d7780;background:#d8e3ea}.example-url{padding:12px;border-radius:6px;background:#eef6fb;color:var(--korail-navy);font-family:Consolas,monospace}.error-list{color:#b3261e}.complete-screen{text-align:center}.complete-survey-screen{display:grid;align-content:start;gap:14px;min-height:100dvh;padding:calc(26px + var(--safe-top)) 20px calc(30px + var(--safe-bottom))}.complete-survey-screen h1{margin:0;color:var(--korail-navy);font-size:clamp(25px,7cqw,34px);font-weight:400}.complete-survey-screen>p{margin:0;color:#30363b;font-size:clamp(15px,4cqw,17px);line-height:1.45}.post-task-survey{display:grid;gap:14px;border:1px solid #d9e7ef;border-radius:8px;padding:18px;background:#fff;box-shadow:0 4px 16px #0a3c5c0f;text-align:left}.post-task-survey h2{margin:0;color:var(--korail-navy);font-size:clamp(21px,5.8cqw,28px);font-weight:400}.survey-help{margin:-6px 0 0;color:#667079;font-size:clamp(13px,3.6cqw,15px)}.survey-question{display:grid;position:relative;gap:14px;margin:0;border:0;padding:0 0 2px}.survey-question+.survey-question{margin-top:26px;padding-top:24px}.survey-question+.survey-question:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:#e4ebef}.survey-question-title{color:#111;font-size:clamp(16px,4.2cqw,18px);line-height:1.45}.survey-question-number{margin-right:5px}.survey-required-mark{margin-left:4px;color:#e5483f;font-size:1.05em}.survey-scale-row{display:grid;grid-template-columns:minmax(58px,.7fr) minmax(190px,2.8fr) minmax(58px,.7fr);align-items:end;gap:clamp(8px,2.4cqw,14px)}.survey-scale-end-label{padding-bottom:13px;color:#343b43;font-size:clamp(12px,3.3cqw,14px);line-height:1.25;text-align:center;word-break:keep-all}.survey-scale-control{display:grid;gap:6px}.survey-scale-numbers,.survey-scale-radios{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:center;column-gap:clamp(4px,1.8cqw,10px)}.survey-scale-numbers{color:#111;font-size:clamp(12px,3.4cqw,14px);text-align:center}.survey-scale-radios{min-height:44px;padding:9px 8px;background:#f7f7f7}.survey-scale-option,.survey-choice-option{position:relative;cursor:pointer}.survey-scale-option{display:grid;place-items:center;min-height:26px}.survey-scale-option input,.survey-choice-option input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;opacity:0;pointer-events:none}.survey-scale-option span{width:18px;height:18px;border:2px solid #aeb5bb;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 3px #fff}.survey-scale-option input:checked+span{border-color:var(--korail-blue);background:var(--korail-blue)}.survey-scale-option input:focus-visible+span,.survey-choice-option input:focus-visible+.survey-choice-marker{outline:2px solid #6bb7e8;outline-offset:3px}.survey-choice-list{display:grid;gap:12px}.survey-choice-option{display:grid;grid-template-columns:22px 1fr;align-items:center;gap:10px;min-height:28px}.survey-choice-marker{width:19px;height:19px;border:2px solid #aeb5bb;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 4px #fff}.survey-choice-option input:checked+.survey-choice-marker{border-color:var(--korail-blue);background:var(--korail-blue)}.survey-choice-label{color:#17212b;font-size:clamp(14px,3.8cqw,16px);line-height:1.45}.survey-textarea{width:100%;resize:vertical;border:1px solid #cddce5;border-radius:8px;padding:10px 12px;color:#253746;background:#f9fbfc;font:inherit;font-size:clamp(14px,3.8cqw,16px);line-height:1.45}.survey-textarea:focus{border-color:var(--korail-blue);outline:2px solid rgba(0,105,180,.16)}.survey-screen-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(10px,3cqw,14px);margin-top:2px}.survey-screen-comparison-single{grid-template-columns:minmax(0,min(62%,240px));justify-content:center}.survey-screen-comparison figure{display:grid;gap:7px;margin:0}.survey-screen-comparison img{width:100%;aspect-ratio:402 / 816;object-fit:cover;border:1px solid #e1e8ed;border-radius:8px;background:#f7fafc;box-shadow:0 2px 8px #1d303e14}.survey-screen-comparison figcaption{color:#8a98a4;font-size:clamp(11px,3cqw,13px);line-height:1.3;text-align:center}.survey-flow-reminder{display:grid;gap:12px;margin-top:2px}.survey-flow-reminder summary{display:inline-flex;align-items:center;justify-self:start;gap:6px;min-height:34px;border:1px solid #d8e3ea;border-radius:999px;padding:6px 12px;color:#4f6473;background:#f7fafc;font-size:clamp(13px,3.5cqw,15px);cursor:pointer;list-style:none}.survey-flow-reminder summary::-webkit-details-marker{display:none}.survey-flow-toggle-mark{display:inline-block;color:#7c8a94;font-size:.95em;transition:transform .16s ease}.survey-flow-reminder[open] .survey-flow-toggle-mark{transform:rotate(180deg)}.survey-flow-gallery{display:grid;gap:18px;min-width:0}.survey-flow-section{display:grid;gap:8px;min-width:0}.survey-flow-strip{display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;padding:1px 2px 10px;scrollbar-width:thin;scroll-snap-type:x proximity}.survey-flow-strip figure{flex:0 0 clamp(104px,35cqw,138px);margin:0;scroll-snap-align:start}.survey-flow-strip img{display:block;width:100%;aspect-ratio:402 / 816;object-fit:cover;border:1px solid #e1e8ed;border-radius:8px;background:#f7fafc;box-shadow:0 2px 8px #1d303e14}.survey-flow-section p{margin:0;color:#8a98a4;font-size:clamp(11px,3cqw,13px);line-height:1.3;text-align:center}.submission-status{margin:-4px 0 0;color:#5f666c;font-size:clamp(12px,3.2cqw,14px);font-weight:700}.submission-status-success{color:#167447}.submission-status-failed,.submission-status-missing_endpoint{color:#c4392d}.pid-display{justify-self:center;border:1px solid #d7e6ef;border-radius:999px;padding:6px 12px;background:#f8fbfd;color:#5b6b76;font-size:clamp(15px,4cqw,18px);font-weight:400;letter-spacing:.02em}.summary-panel{display:grid;gap:8px;text-align:left}.thank-you-screen{text-align:center}.thank-you-screen h1{font-size:clamp(38px,11cqw,54px);font-weight:400}.thank-you-screen p{margin:0;color:#30363b;font-size:clamp(16px,4.3cqw,20px);line-height:1.55}.thank-you-screen a{color:var(--korail-blue);font-size:clamp(18px,5cqw,22px);text-decoration:underline;word-break:break-all}@media(max-width:360px){.app-bar{padding-inline:8px}.app-bar h1{max-width:calc(100% - 142px)}.date-row{gap:6px}.date-row button{min-height:38px;padding-inline:9px}.train-table-header,.train-row{grid-template-columns:.95fr 1fr 1fr 1.05fr 1.05fr;column-gap:4px}.fare-button{padding-inline:2px}.legend-row,.b-legend{font-size:11px;gap:4px}.seat-map{padding-inline:4px}.seat-side-labels,.seat-row{grid-template-columns:minmax(38px,1fr) minmax(38px,1fr) 26px minmax(38px,1fr) minmax(38px,1fr);gap:5px}.seat-payment-bar{grid-template-columns:1fr minmax(126px,42%)}}@media(min-width:481px){.phone-frame{min-height:100vh}}@media(min-width:900px){.phone-frame{width:min(100vw,402px)}.desktop-task-rail{position:fixed;top:clamp(72px,12vh,128px);left:max(24px,calc(50vw - 600px));z-index:4;display:grid;gap:12px;width:252px;padding:18px 20px;border:1px solid rgba(11,69,103,.12);border-radius:14px;background:#ffffffd1;color:#1f2f3a;box-shadow:0 14px 36px #0523341f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:none}.desktop-task-rail span{color:var(--korail-blue);font-size:14px;line-height:1.25}.desktop-task-rail strong{color:var(--korail-navy);font-size:22px;line-height:1.35;word-break:keep-all}}
