@font-face{font-family:DodenSUIT;src:url('fonts/SUIT-Regular.ttf') format('truetype');font-weight:100 500;font-display:swap}@font-face{font-family:DodenSUIT;src:url('fonts/SUIT-Bold.ttf') format('truetype');font-weight:600 900;font-display:swap}:root{font-family:DodenSUIT,SUIT,'Malgun Gothic',sans-serif}
:root{--radius:8px;--line:#d0d0d0;--ease:cubic-bezier(.16,1,.3,1)}
html{scrollbar-color:#a4a4a4 #f4f4f4;scrollbar-width:thin}button,input,textarea{caret-color:#111}button{transition:background 140ms,border-color 140ms,transform 140ms var(--ease),box-shadow 140ms}button:hover{transform:translateY(-1px)}button:active{transform:translateY(1px)}button:disabled{cursor:not-allowed}header{height:72px}.brand{gap:9px}.brand img{display:block;width:39px;height:39px}.brand #header-trip-name{font-size:18px;letter-spacing:-.035em;font-weight:800}.brand small{display:block;font-size:9px;letter-spacing:.16em;margin-top:2px;font-weight:650}.app-shell{grid-template-columns:212px minmax(0,1fr);min-height:calc(100dvh - 72px)}.sidebar{top:72px;height:calc(100dvh - 72px);background:#fafafa}.trip-intro .small{display:none}.trip-intro h1{margin-top:0}.sidebar nav button.active{border-radius:7px}.sidebar nav button{transition:background 180ms,color 180ms,transform 180ms}.sidebar nav button:hover{transform:translateX(2px)}.page-heading{margin-bottom:24px}main{padding:30px 36px 48px}.trip-setup{max-width:none;display:grid;grid-template-columns:minmax(0,720px) minmax(230px,310px);gap:36px;align-items:start}.setup-form-body{min-width:0}.setup-section:first-child{padding-top:0;border-top:0}.setup-section{border-color:#d0d0d0;padding:24px 0}.setup-section h3{font-size:16px}.setup-section h3 svg{width:18px;height:18px;margin-right:8px;vertical-align:-3px;stroke:#111;fill:none;stroke-width:1.6}.setup-section-heading{margin-bottom:18px}.setup-section>.note{margin-top:-8px;margin-bottom:18px}.setup-section .plain-fieldset{margin-top:16px}.setup-section .setup-row{gap:16px}.setup-section .field,.combo>label{font-size:12px;font-weight:600}.setup-more{border-color:#d0d0d0}.setup-submit{border-color:#111;padding-top:20px}.setup-submit .primary{padding:12px 18px;min-height:43px}.setup-submit .note{max-width:220px}.destination-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.destination-grid>#country-picker{grid-column:1/-1}.destination-hint{font-size:11px;color:#626262;margin:10px 0 0;line-height:1.7}.origin-field{margin-bottom:24px}.combo{position:relative;min-width:0}.combo>label{display:block;margin-bottom:8px}.combo-control{display:flex;border:1px solid #aaa;border-radius:7px;overflow:hidden;background:#fff;transition:border-color 150ms,box-shadow 150ms}.combo-control:focus-within{border-color:#111;box-shadow:0 0 0 1px #111}.combo-control input{border:0;border-radius:0;width:100%;flex:1;min-width:0;min-height:42px;font-weight:450;padding:11px 12px;background:transparent}.combo-control input:focus-visible{outline:none}.combo-control:has(input:disabled){background:#f5f5f5;border-color:#d9d9d9}.combo-toggle{border:0;border-left:1px solid #e5e5e5;border-radius:0;width:38px;flex-shrink:0;min-height:40px;padding:8px;background:transparent}.combo-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5}.combo-popup{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:35;background:white;border-radius:8px;box-shadow:0 8px 28px #0002;overflow:hidden;animation:options-in 170ms var(--ease);transform-origin:top}.combo-popup[hidden]{display:none}.combo-popup [role=listbox]{max-height:264px;overflow:auto;overscroll-behavior:contain;padding:5px}.combo-popup [role=option]{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;width:100%;border:0;border-radius:5px;padding:10px 12px;min-height:44px;font-size:13px;font-weight:600;background:#fff;transform:none}.combo-popup [role=option]:hover,.combo-popup [role=option].focused{background:#f1f1f1}.combo-popup [role=option][aria-selected=true]{background:#111;color:white}.combo-popup [role=option] small{display:block;font-size:11px;font-weight:400;color:#626262;margin-top:4px}.combo-popup [role=option][aria-selected=true] small{color:#eee}.option-end{font-size:16px;flex-shrink:0}.combo-message{font-size:12px;padding:10px 12px;color:#626262}.combo-credit:empty{display:none}.combo-credit{font-size:10px;padding:8px 14px;border-top:1px solid #ddd}.combo-chips:empty{display:none}.combo-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.choice-chip{display:flex;align-items:center;gap:5px;border:1px solid #111;border-radius:5px;padding:3px 5px 3px 9px;font-size:12px;animation:chip-in 180ms var(--ease)}.choice-chip button{border:0;padding:0 3px;min-height:25px;font-size:18px}.transport-pickers{display:grid;grid-template-columns:1fr 1fr;gap:16px}.trip-preview{position:sticky;top:104px;border:1px solid #111;border-radius:12px;padding:24px;min-width:0;overflow:hidden}.trip-preview .preview-brand{display:flex;align-items:center;gap:10px;border-bottom:1px solid #111;padding-bottom:20px;font-weight:800;font-size:18px;letter-spacing:-.03em}.preview-brand img{width:40px;height:40px}.trip-preview h3{font-size:23px;letter-spacing:-.04em;line-height:1.4;margin:24px 0 14px;word-break:keep-all;overflow-wrap:anywhere}.trip-preview p{color:#626262;font-size:12px;margin:8px 0;line-height:1.8}.preview-route{width:100%;height:90px;overflow:visible}.preview-route .route-path{stroke-dasharray:220;stroke-dashoffset:0;animation:trace-route 900ms var(--ease)}.preview-route .route-plane{offset-path:path('M 12 66 C 65 0 152 0 208 66');offset-rotate:auto;offset-distance:100%;animation:travel-plane 1000ms var(--ease)}.route-labels{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding-top:6px;margin-bottom:24px}.route-labels strong{font-size:12px;font-weight:650;overflow-wrap:anywhere}.route-labels strong:last-child{text-align:right}.preview-facts{margin:20px 0;border-top:1px solid #ccc;border-bottom:1px solid #ccc}.preview-facts>div{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid #e4e4e4;font-size:12px}.preview-facts>div:first-child{border:0}.preview-facts dt{color:#626262}.preview-facts dd{margin:0;text-align:right;font-weight:650;max-width:70%}.brand-story{display:flex;align-items:center;gap:7px;font-size:11px!important;flex-wrap:wrap}.brand-story span{border:1px solid #ccc;border-radius:4px;padding:2px 6px;color:#111;letter-spacing:.02em}.data-credit{display:block;font-size:10px;color:#626262;line-height:1.7;padding-top:16px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.stop{border-radius:8px;transition:box-shadow 180ms,transform 180ms}.stop:hover{box-shadow:0 5px 14px #0000000d;transform:translateY(-1px)}dialog[open]{animation:dialog-in 240ms var(--ease)}dialog::backdrop{animation:backdrop-in 180ms ease}#toast{transition:opacity 150ms,translate 220ms var(--ease);translate:0 8px}#toast.show{translate:0 0}.empty-figure{border-radius:10px}.table-wrap{border-radius:8px}.daybar{border-radius:8px 8px 0 0}.schedule-layout{border-radius:0 0 8px 8px;overflow:hidden}#content{view-transition-name:travel-content}::view-transition-old(travel-content){animation:content-out 100ms ease forwards}::view-transition-new(travel-content){animation:content-in 220ms var(--ease)}
@keyframes options-in{from{opacity:.5;clip-path:inset(0 0 40% 0);transform:translateY(-4px)}to{opacity:1;clip-path:inset(0);transform:none}}@keyframes chip-in{from{transform:scale(.92);opacity:.3}to{transform:scale(1);opacity:1}}@keyframes trace-route{from{stroke-dashoffset:220}to{stroke-dashoffset:0}}@keyframes travel-plane{from{offset-distance:0%;opacity:0}30%{opacity:1}to{offset-distance:100%;opacity:1}}@keyframes dialog-in{from{opacity:0;transform:translateY(12px) scale(.985);clip-path:inset(0 0 8% 0 round 8px)}to{opacity:1;transform:none;clip-path:inset(0 round 8px)}}@keyframes backdrop-in{from{background:#0000}to{background:#0005}}@keyframes content-out{to{opacity:0}}@keyframes content-in{from{opacity:.2;transform:translateX(7px)}to{opacity:1;transform:none}}
@media(max-width:1180px){.trip-setup{grid-template-columns:minmax(0,1fr) 240px;gap:24px}.trip-preview{padding:18px}.preview-brand{font-size:16px!important}.trip-preview h3{font-size:21px}.transport-pickers{grid-template-columns:1fr}.app-shell{grid-template-columns:190px minmax(0,1fr)}main{padding:26px 24px}}
@media(max-width:1000px){.trip-setup{grid-template-columns:minmax(0,1fr)}.trip-preview{position:static;order:-1;padding:16px 20px;display:grid;grid-template-columns:1fr 1fr;gap:0 20px;border-radius:8px}.trip-preview .preview-brand{display:none}.trip-preview h3{font-size:18px;margin:0}.trip-preview>.preview-caption{margin:6px 0 0}.trip-preview .preview-route{display:none}.trip-preview .route-labels{margin:8px 0;grid-column:1}.trip-preview .preview-facts{grid-column:2;grid-row:1/4;margin:0;border:0}.trip-preview .brand-story{display:none}.trip-preview .data-credit{display:none}.transport-pickers{grid-template-columns:1fr 1fr}}
@media(max-width:850px){header{height:62px;padding:0 16px;gap:12px}.brand img{width:32px;height:32px}.brand #header-trip-name{font-size:16px}.brand small{font-size:8px}.header-actions button{font-size:11px;padding:6px 8px;min-height:32px}.app-shell{display:block;min-height:calc(100dvh - 62px)}.sidebar{height:auto;top:62px;background:white;padding:10px 12px;border-right:0;border-bottom:1px solid #ccc}.sidebar nav{display:flex;overflow:auto;gap:5px}.sidebar nav button{white-space:nowrap;min-height:36px;padding:8px 11px;font-size:12px}.sidebar nav button svg{width:16px;height:16px}.sidebar nav button:hover{transform:none}main{padding:22px 16px 36px}.page-heading h2{font-size:21px}.page-heading p{font-size:12px}.trip-setup{gap:24px}.transport-pickers{grid-template-columns:1fr 1fr}.combo-control input{font-size:14px}.combo-popup{z-index:45}.setup-section .setup-row{gap:12px}#save-state{display:none}}
@media(max-width:500px){.transport-pickers{grid-template-columns:1fr}.trip-preview{grid-template-columns:1fr 1fr;padding:14px;gap:0 12px}.trip-preview h3{font-size:17px}.preview-facts>div{padding:7px 0;font-size:11px}.trip-preview>.preview-caption{font-size:11px}.route-labels{gap:8px}.route-labels strong{font-size:11px}.destination-grid{gap:12px}.choice-grid label{min-height:40px}.setup-submit .note{max-width:none}.combo-popup [role=listbox]{max-height:240px}.header-actions button{font-size:10px}.header-actions{gap:5px}.brand{gap:5px}.brand #header-trip-name{font-size:15px}.brand img{width:30px;height:30px}.combo-popup [role=option]{padding:10px;font-size:12px}.setup-section .field input[type=date]{width:100%;font-size:13px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important}.preview-route .route-path,.preview-route .route-plane,dialog[open],dialog::backdrop,.combo-popup,.choice-chip{animation:none}button,.stop,.sidebar nav button{transform:none!important;transition:background 100ms,color 100ms,border-color 100ms}::view-transition-old(travel-content),::view-transition-new(travel-content){animation:none}#toast{translate:none;transition:opacity 100ms}}
