@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap');
:root{font-family:'Noto Sans KR',sans-serif;color:#172f2a;background:#f5f7f6;font-synthesis:none;--green:#153d35;--lime:#d5f47c;--muted:#6b7c76;--line:#dfe6e2}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #70a33b;outline-offset:4px}button{transition:background .15s,transform .15s}button:hover:not(:disabled){filter:brightness(.96)}.top{height:88px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(5%,calc((100vw - 1180px)/2));background:white}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--green);font-weight:800;font-size:25px;white-space:nowrap}.brand-icon{display:grid;place-items:center;background:var(--green);color:var(--lime);width:40px;height:40px;border-radius:12px;font-size:33px}.brand-sub{font-size:14px;color:var(--muted);font-weight:400;margin-left:12px}.demo-pill{font-size:12px;letter-spacing:.08em;border:1px solid #cedccf;padding:7px 12px;border-radius:30px;color:#466248}main{max-width:1180px;margin:auto;padding:43px 24px 0}.heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:36px}.eyebrow{font-size:12px;letter-spacing:.14em;font-weight:700;color:#758a7f}h1{font-size:34px;letter-spacing:-1.4px;margin:10px 0}p{line-height:1.7}.heading p{color:var(--muted);margin:0;font-size:16px}.station{border-left:2px solid #c4d1c9;padding-left:18px;display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--muted)}.station strong{font-size:21px;color:var(--green)}.workspace{display:grid;grid-template-columns:310px 1fr;gap:28px;align-items:start}.panel{background:white;border:1px solid var(--line);border-radius:18px;padding:25px}.section-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.section-top>span{color:#83948c;font-size:13px}h2{font-size:18px;margin:0;letter-spacing:-.4px}form{display:flex;flex-direction:column}label{font-size:14px;font-weight:600;margin:0 0 10px}input:not([type=range]),select{border:1px solid #d6dfda;border-radius:9px;padding:13px 12px;background:white;color:#203b32;min-width:0;width:100%;font-size:14px}form input,form select{margin-bottom:24px}output{float:right;color:#47752d}input[type=range]{accent-color:#537b31;width:100%;margin:3px 0 7px}.range-labels{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-bottom:26px}.primary{background:var(--green);color:white;border:0;border-radius:9px;padding:15px 19px;font-weight:600;font-size:14px;display:flex;justify-content:space-between;align-items:center;gap:15px}.full{width:100%}.small{font-size:12px;color:var(--muted);line-height:1.7;margin:12px 0 0}.notice{display:flex;gap:12px;padding:24px 10px;color:var(--muted)}.notice strong{font-size:13px;color:#52685e}.notice p{font-size:12px;margin:5px 0}.notice-mark{border:1px solid #a4b5a9;border-radius:50%;width:18px;height:18px;flex-shrink:0;text-align:center;font-size:12px}.journey-head{display:flex;justify-content:space-between;align-items:center;margin:3px 0 20px;gap:12px}.journey-head h2{font-size:23px;margin-top:8px;overflow-wrap:anywhere}.muted{color:#a0aea5}.journey-head .muted{padding:0 8px}.text-button{background:none;border:0;color:#60796a;padding:8px 0;font-size:13px;white-space:nowrap}.simulation{display:flex;justify-content:space-between;align-items:center;font-size:13px;background:#eaf0eb;padding:10px 16px;border-radius:9px;margin-bottom:15px}.simulation strong{font-variant-numeric:tabular-nums;margin-left:8px}.simulation button{border:0;background:transparent;color:#386241;font-size:12px;font-weight:600}.live-dot{display:inline-block;width:6px;height:6px;background:#7c9555;border-radius:100%;margin-right:8px}.recommend{border-radius:18px;background:var(--green);color:white;padding:27px 30px;position:relative;overflow:hidden}.recommend-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.badge{display:inline-block;background:var(--lime);color:#2b482c;border-radius:5px;padding:5px 9px;font-size:12px;font-weight:700}.recommend-top>span:last-child{color:#b9d0c4;font-size:12px}.recommend-main{display:flex;justify-content:space-between;align-items:center;margin:21px 0 22px}.bus-name{font-size:40px;font-weight:800;letter-spacing:-1px}.bus-name small{font-size:14px;font-weight:400;color:#aec7bc;margin-left:10px}.arrival{text-align:right}.arrival strong{font-size:32px;color:var(--lime);letter-spacing:-1px}.arrival p{margin:3px 0 0;font-size:12px;color:#c0d3c7}.trip-stats{display:flex;gap:22px;padding:18px 0;border-top:1px solid #416057;border-bottom:1px solid #416057;font-size:13px;color:#c4d6cd}.trip-stats strong{display:block;color:white;margin-top:5px;font-size:16px}.departure{margin:18px 0;font-size:14px;color:#e0ecd8}.recommend-actions{display:flex;gap:10px}.recommend-actions button{flex:1;border-radius:8px;padding:12px 8px;font-size:13px;font-weight:600;border:1px solid #6a8474;background:transparent;color:white}.recommend-actions button:first-child{background:var(--lime);color:#203c29;border-color:var(--lime)}.alternatives{padding:28px 0 23px}.alternatives .section-top{margin-bottom:14px}.route-row{background:white;border:1px solid var(--line);border-radius:12px;margin-top:9px;display:flex;align-items:center;justify-content:space-between;padding:17px 20px;gap:12px}.route-label strong{font-size:19px}.route-label span{font-size:12px;color:var(--muted);display:block;margin-top:5px}.route-timing{text-align:right}.route-timing strong{font-size:16px}.route-timing span{display:block;font-size:12px;color:var(--muted);margin-top:5px}.route-row button{background:none;border:0;font-size:20px;color:#60796a}.alarm{padding:23px}.alarm-heading{display:flex;gap:14px;align-items:center}.alarm-icon{background:#eef3e9;border-radius:12px;width:42px;height:42px;display:grid;place-items:center;font-size:27px}.alarm-heading p{font-size:13px;margin:5px 0 0;color:var(--muted)}.alarm-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:20px}.alarm-controls label{font-size:13px;margin:0}.alarm-controls select{width:90px;padding:9px}.secondary{border:1px solid var(--green);background:white;color:var(--green);padding:10px 17px;border-radius:8px;font-size:13px;font-weight:600}.secondary[aria-pressed=true]{background:var(--green);color:white}.empty{background:white;border:1px dashed #a7baae;border-radius:16px;padding:30px}.empty h3{margin:0 0 10px}.empty p{font-size:14px;color:var(--muted)}footer{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding:25px 0;margin-top:42px;font-size:12px;color:#839087}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#182e27;color:white;border:1px solid #68846b;box-shadow:0 8px 40px #0003;border-radius:12px;padding:18px 24px;max-width:calc(100% - 30px);width:max-content;font-size:14px;z-index:20}dialog{border:0;border-radius:20px;padding:34px;max-width:480px;width:calc(100% - 32px);color:var(--green);box-shadow:0 15px 80px #0003}dialog::backdrop{background:#10261dcc}.dialog-close{float:right;background:none;border:0;font-size:28px;color:#708275}.timeline{border-left:2px solid #bed19f;margin:24px 10px;padding-left:23px}.timeline p{margin:0 0 23px;font-size:14px}.timeline strong{display:block;font-size:16px}.timeline span{display:block;color:var(--muted);font-size:13px;margin-top:4px}.dialog-note{font-size:13px;color:var(--muted);line-height:1.8}@media(max-width:800px){.workspace{grid-template-columns:260px 1fr;gap:18px}main{padding:28px 20px 0}.top{padding:0 20px}.brand-sub{display:none}.recommend{padding:22px}.trip-stats{gap:15px}.bus-name{font-size:34px}.heading h1{font-size:29px}.station{display:none}.recommend-main{gap:8px}.bus-name small{display:block;margin:0}.arrival strong{font-size:27px}}@media(max-width:640px){.top{height:70px}.brand{font-size:23px}.brand-icon{width:35px;height:35px}.demo-pill{font-size:10px}.workspace{grid-template-columns:1fr}.heading{margin-bottom:24px}.heading h1{font-size:28px}.heading p{font-size:14px}.destination{padding:22px}.notice{padding:15px 5px}.journey-head h2{font-size:20px}.recommend{padding:24px}.trip-stats{justify-content:space-between;gap:8px}.recommend-actions{flex-wrap:wrap}.alarm-controls{gap:10px}.alarm-controls label{width:100%}footer{flex-direction:column}.section-top{margin-bottom:20px}.panel form{display:grid;grid-template-columns:1fr}main{padding:27px 16px 0}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

[hidden]{display:none!important}

.location-panel{margin-bottom:28px}.location-panel h2{margin-top:7px}.location-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.location-actions a{text-decoration:none;display:inline-block}.location-panel p{font-size:14px}.location-panel .small{font-size:12px}.location-panel .section-top{margin-bottom:18px}.origin-controls{display:flex;gap:20px;border-top:1px solid var(--line);padding-top:20px;margin-top:20px;align-items:flex-start}.origin-controls>div{flex:1}.origin-controls label{display:block}.origin-controls input{margin-bottom:10px}#location-coordinates{font-variant-numeric:tabular-nums;color:var(--muted)}@media(max-width:640px){.origin-controls{flex-direction:column}.origin-controls>div{width:100%}.location-actions .secondary{font-size:12px}}

.voice-panel{background:#eaf1de;border:1px solid #c5d8ad;border-radius:20px;padding:30px;margin-bottom:28px}.voice-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.voice-heading h2{font-size:28px;line-height:1.5;margin:8px 0 24px}.voice-panel button{min-height:54px;padding:14px 18px;font-size:18px;border:1px solid #739065;border-radius:10px;background:white;color:#193c2f;font-weight:600}.voice-panel button[aria-pressed=true]{background:#214f3c;color:white}.voice-heading button{font-size:16px}.voice-main-actions{display:flex;gap:12px;flex-wrap:wrap}.voice-main-actions button:first-child{background:#153d35;color:white;flex:1}.voice-main-actions button:nth-child(2){background:#d5f47c;flex:1}.voice-main-actions button:nth-child(2)[aria-pressed=true]{background:#7e271e;color:white}.voice-answer{padding:24px;background:white;border-radius:14px;border-left:5px solid #537b31;font-size:22px;line-height:1.9;margin-top:18px;overflow-wrap:anywhere}.voice-questions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.voice-options{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.voice-options label{margin:0;font-size:16px}.voice-options select{width:145px;font-size:16px}.voice-check{display:flex;gap:10px;align-items:center}.voice-check input{width:24px;height:24px;accent-color:#153d35}.voice-panel details{margin-top:22px;font-size:16px;line-height:1.8}.voice-panel summary{cursor:pointer;min-height:44px}.voice-panel #voice-status{font-size:16px;min-height:28px}.voice-panel #voice-transcript{font-size:16px;overflow-wrap:anywhere}.voice-panel #voice-confirm{background:#fff7dc;padding:20px;border:2px solid #a17a25;border-radius:12px;margin-bottom:18px}.voice-panel #voice-confirm p{font-size:20px;margin-top:0}.voice-panel #voice-confirm button{margin:0 10px 8px 0}.senior-mode .small,.senior-mode .dialog-note,.senior-mode .notice p,.senior-mode .route-label span,.senior-mode .route-timing span,.senior-mode .arrival p,.senior-mode .recommend-top>span:last-child,.senior-mode .simulation{font-size:16px!important}.senior-mode .small,.senior-mode .dialog-note{color:#4e6258}.senior-mode main label,.senior-mode main input,.senior-mode main select,.senior-mode main button,.senior-mode .departure{font-size:18px}.senior-mode main button,.senior-mode main input:not([type=range]),.senior-mode main select{min-height:48px}.senior-mode .trip-stats{flex-wrap:wrap;font-size:16px}.senior-mode .trip-stats strong{font-size:20px}.senior-mode .alarm-heading p{font-size:16px}.senior-mode .route-row{flex-wrap:wrap}.senior-mode h2{font-size:22px}.senior-mode .alarm-controls select{width:110px}.senior-mode .voice-check input{min-height:24px}@media(max-width:640px){.voice-panel{padding:22px 18px}.voice-heading{flex-direction:column;gap:0}.voice-heading h2{font-size:25px;margin-bottom:15px}.voice-heading button{margin-bottom:20px}.voice-main-actions{display:grid;grid-template-columns:1fr;width:100%}.voice-questions{grid-template-columns:1fr 1fr}.voice-answer{font-size:20px;padding:18px}.senior-mode .trip-stats{display:grid;grid-template-columns:1fr 1fr}.senior-mode .journey-head{flex-wrap:wrap}.senior-mode .recommend-top{flex-wrap:wrap}}

.voice-privacy{font-size:16px;line-height:1.7;color:#40563b}

/* Accessibility controls and non-audio alternatives */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip-links{position:relative;z-index:100}.skip-links a{position:fixed;left:16px;top:8px;transform:translateY(-200%);padding:16px;background:#153d35;color:#fff;border:3px solid #d5f47c;border-radius:8px;font-size:18px}.skip-links a:focus{transform:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #153d35;outline-offset:4px;box-shadow:0 0 0 7px white}#main-content:focus,#recommendation:focus,#a11y-settings:focus{outline:3px solid #587936;outline-offset:5px}.accessibility-panel{margin-bottom:28px}.accessibility-panel p,.accessibility-panel label,.accessibility-panel summary{font-size:16px;line-height:1.8}.access-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.access-options label{display:flex;align-items:center;gap:12px;min-height:56px;margin:0;padding:12px;border:1px solid #718579;border-radius:9px;cursor:pointer}.access-options input{width:24px!important;height:24px;min-height:24px!important;flex-shrink:0;accent-color:#153d35}.accessibility-panel select{width:240px;max-width:100%;display:block;margin-top:8px}.accessibility-panel summary{cursor:pointer;min-height:48px}.text-question-form{display:block;margin:20px 0}.text-question-form>div{display:flex;gap:12px}.text-question-form input{margin:0;font-size:18px;min-width:0;flex:1}.text-question-form label{display:block;margin-bottom:10px}.text-question-form button{flex-shrink:0}.notification-panel{margin-top:28px}.notification-panel p,.notification-panel li{font-size:18px;line-height:1.8}.notification-panel li{padding:15px 5px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}button,summary{min-height:44px}a.text-button{display:inline-flex;align-items:center;min-height:44px}input:not([type=checkbox]):not([type=range]),select{min-height:48px}input[type=range]{min-height:36px}label{line-height:1.6}.reduce-motion *{animation:none!important;transition:none!important;scroll-behavior:auto!important}body[data-text-size=large]{--access-font:1.25rem}body[data-text-size=largest]{--access-font:1.5rem}body[data-text-size=large] main :is(p,label,input,select,button,span,small,summary,li,output),body[data-text-size=largest] main :is(p,label,input,select,button,span,small,summary,li,output){font-size:var(--access-font)!important;line-height:1.8}body[data-text-size=largest] .workspace{grid-template-columns:1fr}body[data-text-size=largest] .trip-stats,body[data-text-size=large] .trip-stats{flex-wrap:wrap}body[data-text-size=largest] .access-options{grid-template-columns:1fr 1fr}body[data-text-size=largest] .voice-questions{grid-template-columns:1fr 1fr}body[data-text-size=largest] .recommend-top{flex-wrap:wrap}body.high-contrast,body.high-contrast :is(header,section,article,aside,footer,dialog,div,form,details,input,select,button,summary){background-color:#000!important;color:#fff!important;border-color:#fff!important}body.high-contrast :is(p,span,strong,small,h1,h2,h3,label,output){color:#fff!important}body.high-contrast a{color:#ffeb66!important;text-decoration:underline}body.high-contrast :is(button[aria-pressed=true],.badge){background-color:#ffeb66!important;color:#000!important}body.high-contrast :focus-visible{outline-color:#ffeb66!important;box-shadow:0 0 0 7px #000!important}body.high-contrast input{accent-color:#ffeb66}.notification-panel ol{padding-left:25px}#voice-answer:focus{outline:3px solid #153d35;outline-offset:5px}@media(forced-colors:active){button,input,select,.panel,.voice-answer{border:2px solid ButtonText}.badge{border:1px solid CanvasText}.live-dot{background:CanvasText}}@media(max-width:900px){.access-options{grid-template-columns:1fr 1fr}body[data-text-size=large] .workspace{grid-template-columns:1fr}}@media(max-width:640px){.access-options,body[data-text-size=largest] .access-options,body[data-text-size=largest] .voice-questions{grid-template-columns:1fr}.text-question-form>div{flex-direction:column}.voice-options{align-items:flex-start}.notification-panel{padding:20px}.recommend-main,.journey-head{flex-wrap:wrap}.top{height:auto;min-height:70px;padding-block:14px;flex-wrap:wrap;gap:12px}}

.journey-launch{margin-bottom:28px;background:#153d35;color:white;padding:30px}.journey-launch h2{font-size:28px;margin-top:8px}.journey-launch .eyebrow,.journey-launch .small{color:#d2e5ca}.journey-launch p{font-size:16px}.destination-chips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:24px 0}.destination-chips button{padding:18px 14px;text-align:left;border:1px solid #779586;border-radius:12px;background:#234d42;color:white;font-size:18px;line-height:1.7}.destination-chips button span{display:block;font-size:13px;color:#d5f47c;margin-top:10px}.journey-launch .primary{background:#d5f47c;color:#173b2a}.journey-dialog{max-width:1000px;max-height:90dvh;padding:30px;overflow-y:auto}.journey-dialog-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.journey-dialog-head h2{font-size:26px;overflow-wrap:anywhere;margin-top:10px}.journey-dialog-head button{flex-shrink:0}.journey-dialog p{font-size:16px;line-height:1.8}#journey-disclaimer{padding:14px 18px;background:#fff7dc;border:1px solid #c9af66;border-radius:8px}.journey-summary{padding:14px 0;font-weight:600;font-size:18px}.journey-stops{list-style:none;padding:16px 0;margin:12px 0 26px;display:flex;align-items:stretch;gap:8px}.journey-stops li{flex:1;min-width:0;position:relative}.journey-stops li:not(:last-child)::after{content:'';position:absolute;top:40px;left:60%;width:80%;border-top:3px solid #b2c7b3;z-index:0}.journey-stops button{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:10px;width:100%;height:100%;padding:14px 8px;background:#f0f4ed;border:2px solid transparent;border-radius:12px;color:#214638;overflow-wrap:anywhere;line-height:1.6;font-size:15px}.journey-number{display:grid;place-items:center;border-radius:50%;height:44px;width:44px;flex-shrink:0;background:#dce9d0;font-weight:800;font-size:20px}.journey-stops button[aria-current=step]{border-color:#153d35;background:#d5f47c}.journey-stops button[aria-current=step] .journey-number{background:#153d35;color:white}.journey-current{padding:24px;border-left:5px solid #537b31;background:#f2f6ed;border-radius:12px;min-height:200px}.journey-current h3{font-size:24px;margin:12px 0}.journey-current p{font-size:20px}.journey-navigation{display:flex;justify-content:space-between;gap:12px;margin-top:24px;flex-wrap:wrap}.journey-navigation button{font-size:18px;min-height:52px}.journey-dialog button:disabled{opacity:1;color:#607263;background:#e4e9e3;border-color:#c0ccc2}.high-contrast .journey-stops button[aria-current=step]{outline:3px solid #ffeb66;outline-offset:-4px}.high-contrast .journey-dialog button:disabled{border-style:dashed}.journey-dialog-head button{min-width:88px}body[data-text-size=large] .journey-dialog :is(p,button,span),body[data-text-size=largest] .journey-dialog :is(p,button,span){font-size:var(--access-font)!important}body[data-text-size=largest] .journey-stops{flex-direction:column}body[data-text-size=largest] .journey-stops li::after{display:none}@media(max-width:800px){.destination-chips{grid-template-columns:1fr 1fr}.journey-stops{flex-direction:column}.journey-stops button{display:grid;grid-template-columns:44px 85px 1fr;text-align:left;justify-items:start;padding:12px}.journey-stops li:not(:last-child)::after{width:0;height:100%;top:25px;left:35px;border-top:0;border-left:3px solid #b2c7b3}}@media(max-width:480px){.journey-launch{padding:23px}.journey-launch h2{font-size:24px}.destination-chips{grid-template-columns:1fr}.journey-dialog{padding:20px;width:calc(100% - 16px)}.journey-dialog-head{flex-wrap:wrap}.journey-dialog-head h2{font-size:23px}.journey-stops button{grid-template-columns:44px 1fr}.journey-stops button>span:last-child{grid-column:2}.journey-navigation button{flex:1}.journey-current{padding:18px}.journey-current p{font-size:18px}}

/* Focused feature views: only the selected tab takes up page space. */
main{max-width:1060px;padding-top:20px}.top{height:68px}.compact-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}.compact-heading h1{font-size:26px;margin:0}.compact-heading p{font-size:14px;color:var(--muted);margin:0}.app-tabs{position:sticky;top:0;z-index:10;display:flex;gap:8px;background:#f5f7f6;padding:10px 0 14px;border-bottom:1px solid var(--line);margin-bottom:20px;scroll-margin-top:0}.app-tabs button{flex:1;min-width:0;border:1px solid #b6c7bc;background:white;color:#244c3c;border-radius:10px;font-weight:600;font-size:18px;min-height:52px;padding:10px 6px}.app-tabs button[aria-selected=true]{background:#153d35;color:white;border-color:#153d35}.app-tabs button:focus-visible{outline-offset:1px;box-shadow:none}[role=tabpanel]{min-width:0;outline-offset:5px}[role=tabpanel]:focus-visible{outline:3px solid #537b31}[role=tabpanel]>:first-child{margin-top:0}.route-shortcuts{display:flex;gap:12px;margin:14px 0 18px}.route-shortcuts button:first-child{flex:1;font-size:18px;min-height:52px}.route-shortcuts button:last-child{min-width:115px}.journey-head{margin:0 0 12px}.journey-head .eyebrow{display:none}.journey-head h2{margin:0}.alternative-details,.destination-examples{border:1px solid var(--line);background:white;border-radius:12px;margin-top:14px;padding:0 18px}.alternative-details summary,.destination-examples summary{cursor:pointer;min-height:52px;display:list-item;padding:14px 0;font-size:17px;font-weight:600}.alternative-details .alternatives{padding:8px 0 16px}.destination-examples .destination-chips{margin:0 0 18px;grid-template-columns:repeat(2,minmax(0,1fr))}.destination-examples .destination-chips button{color:#214638;background:#edf3e9;border-color:#abbcae;font-size:16px}.destination-examples .destination-chips button span{color:#496442}.route-demo-note{margin:14px 0 0}.settings-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:22px;align-items:start}.settings-layout .access-options{grid-template-columns:1fr 1fr}.settings-layout .accessibility-panel{margin-bottom:0}.settings-layout+.notice{padding-top:16px}.voice-panel{margin-bottom:0}.voice-heading h2{font-size:25px;margin-bottom:18px}.voice-answer{padding:18px;line-height:1.7}.voice-questions{gap:8px;margin:15px 0}.location-panel{margin-bottom:0}.notification-panel{margin-top:20px}.high-contrast .app-tabs button[aria-selected=true]{background:#ffeb66!important;color:#000!important}body[data-text-size=largest] .settings-layout{grid-template-columns:1fr}body[data-text-size=largest] .app-tabs{flex-wrap:wrap}body[data-text-size=largest] .app-tabs button{flex-basis:28%}main :is(button,input,select,summary,[tabindex='-1']){scroll-margin-top:100px}footer{margin-top:24px;padding:16px 0}@media(max-width:800px){.settings-layout{grid-template-columns:1fr}.compact-heading{align-items:flex-start;flex-direction:column;gap:3px}.top{height:64px;min-height:64px}main{padding-top:16px}.app-tabs{gap:6px;margin-bottom:16px}.app-tabs button,.senior-mode main .app-tabs button{font-size:17px;min-height:50px;padding:8px 4px}}@media(max-width:480px){.route-shortcuts{gap:8px}.route-shortcuts button:last-child{min-width:94px}.destination-examples .destination-chips{grid-template-columns:1fr 1fr}.settings-layout .access-options{grid-template-columns:1fr}.compact-heading h1{font-size:24px}.voice-questions{grid-template-columns:1fr 1fr}.app-tabs{margin-left:-4px;margin-right:-4px}.journey-head h2{font-size:20px}.compact-heading p{font-size:13px}.recommend{padding:20px}.route-shortcuts button:first-child{font-size:17px}}

/* Mobile-first controls, safe-area spacing, and full-screen route details. */
:root{--mobile-nav-height:0px}button,a,input,select,summary{touch-action:manipulation}html{scroll-padding-bottom:calc(var(--mobile-nav-height) + 20px)}@media(max-width:640px){
 body{padding-bottom:calc(var(--mobile-nav-height,90px) + 16px)}
 .top{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));padding-top:max(10px,env(safe-area-inset-top));height:auto;min-height:62px;gap:8px}.brand{font-size:22px}.brand-icon{width:32px;height:32px}.demo-pill{padding:5px 8px;font-size:11px}
 main{padding:14px max(14px,env(safe-area-inset-right)) 0 max(14px,env(safe-area-inset-left))}.compact-heading{margin-bottom:18px;gap:2px}.compact-heading h1{font-size:24px}.compact-heading p{font-size:14px}
 .app-tabs{position:fixed;top:auto;bottom:0;left:0;right:0;margin:0;z-index:30;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;padding:8px max(8px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));background:#fff;border-top:1px solid #b4c4b9;border-bottom:0;box-shadow:0 -4px 20px #163d3510}
 .app-tabs button,.senior-mode main .app-tabs button{min-height:56px;font-size:16px;padding:10px 2px;border:1px solid transparent;border-radius:12px;background:#f0f4ee;line-height:1.5}.app-tabs button[aria-selected=true]{background:#153d35;color:#fff;border-color:#153d35}
 body[data-text-size=largest] .app-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}body[data-text-size=largest] main .app-tabs button{font-size:1.5rem!important;overflow-wrap:anywhere}
 [role=tabpanel]{scroll-margin-top:12px}main :is(button,input,select,summary,[tabindex='-1']){scroll-margin-top:16px;scroll-margin-bottom:calc(var(--mobile-nav-height) + 20px)}
 main input:not([type=checkbox]):not([type=range]),main select{font-size:16px;min-height:52px}main button{min-height:48px}.route-shortcuts{gap:10px;margin:12px 0 16px}.route-shortcuts button{min-height:56px!important}.journey-head{align-items:center;gap:8px}.journey-head h2{font-size:21px;line-height:1.5;flex:1;overflow-wrap:anywhere}.journey-head>div{min-width:0;flex:1}.journey-head button{white-space:normal;max-width:88px;text-align:right}.journey-head .muted{padding:0 3px}
 .recommend{padding:20px}.recommend-top{flex-wrap:wrap;gap:8px}.recommend-main{margin:14px 0 18px}.bus-name{font-size:36px}.arrival strong{font-size:30px}.trip-stats,.senior-mode .trip-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px}.recommend-actions{display:grid;grid-template-columns:1fr}.recommend-actions button{min-height:52px}.panel{padding:20px}.voice-panel{padding:20px 16px}.voice-main-actions{gap:10px}.voice-main-actions button{min-height:56px}.voice-questions button{min-height:56px;padding:12px 8px}.location-actions{gap:10px}.location-actions .primary{width:100%;min-height:56px}.location-actions a{width:100%;text-align:center;min-height:48px;font-size:16px}.origin-controls{gap:16px}.alarm-controls{gap:12px}.alarm-controls button{min-height:48px}.alarm-controls .text-button{padding:10px}.voice-options select{min-height:48px}.text-question-form button{min-height:52px}#toast{bottom:calc(var(--mobile-nav-height) + 12px);max-height:40dvh;overflow:auto;width:calc(100% - 28px);padding:16px;font-size:16px}
 .journey-dialog{position:fixed;inset:0;margin:0;width:100%;max-width:none;height:100dvh;max-height:100dvh;border-radius:0;padding:0 16px calc(24px + env(safe-area-inset-bottom));overscroll-behavior:contain;scroll-padding-top:100px}.journey-dialog-head{position:sticky;top:0;z-index:3;display:flex;flex-wrap:nowrap;gap:12px;align-items:center;margin:0 -16px;padding:calc(14px + env(safe-area-inset-top)) 16px 14px;background:white;border-bottom:1px solid var(--line)}.journey-dialog-head .eyebrow{font-size:12px}.journey-dialog-head h2{font-size:20px;margin:4px 0 0;line-height:1.5}.journey-dialog-head button{min-width:74px;min-height:48px;padding:10px;font-size:16px}.journey-summary{font-size:17px}.journey-navigation{gap:8px}.journey-navigation button{padding:12px 8px;min-height:54px;font-size:16px;flex-basis:28%}.journey-current{min-height:0;padding:18px}.journey-stops{gap:10px}.journey-stops button{min-height:66px}.journey-dialog :focus-visible{scroll-margin-top:140px}
 footer{font-size:12px;line-height:1.7;margin-top:20px;padding:12px 0}
}
@media(max-width:360px){.route-shortcuts{flex-wrap:wrap}.route-shortcuts button:first-child{flex-basis:100%}.route-shortcuts button:last-child{width:100%}.voice-questions{grid-template-columns:1fr}.app-tabs button,.senior-mode main .app-tabs button{font-size:15px}.demo-pill{letter-spacing:0}}
@media(max-height:480px) and (max-width:640px){.app-tabs button{min-height:44px;padding:6px 2px}.app-tabs{padding-top:5px;padding-bottom:calc(5px + env(safe-area-inset-bottom))}}

/* Regional map and explicit links to current transport providers. */
#area-map{width:100%;height:clamp(220px,35dvh,360px);border:1px solid #82948c;border-radius:16px;background:#edf2ee}.map-actions{display:grid;gap:10px}.map-actions a{display:flex;align-items:center;justify-content:center;min-height:52px;padding:12px;text-align:center;text-decoration:none;white-space:normal;overflow-wrap:anywhere}#map-dialog p{overflow-wrap:anywhere}#map-dialog{max-height:90dvh;overflow-y:auto}#map-dialog a:focus-visible{outline:3px solid #14795f;outline-offset:3px}@media(max-width:640px){#map-dialog{max-height:100dvh;height:100dvh}.route-shortcuts{grid-template-columns:1fr 1fr}.route-shortcuts #open-journey{grid-column:1/-1}}
.motion-demo{margin:14px 0 20px}.motion-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.motion-heading h3{margin:0;font-size:1.2rem}.motion-scene{position:relative;perspective:850px;overflow:hidden;border-radius:20px;background:linear-gradient(155deg,#183e36,#355c50);height:clamp(250px,40dvh,370px);display:grid;place-items:center}.motion-plane{width:min(100%,570px);transform:rotateX(32deg) rotateZ(-8deg);transform-style:preserve-3d}.motion-plane svg{display:block;width:100%;filter:drop-shadow(12px 22px 0 #102e2788)}.motion-scene.is-flat .motion-plane{transform:none;width:min(100%,480px)}.motion-watermark{position:absolute;bottom:10px;left:12px;color:white;background:#153d35;padding:4px 9px;border-radius:8px;font-size:14px}.motion-controls{display:flex;gap:10px;flex-wrap:wrap}.motion-controls button{flex:1;min-height:52px}.motion-demo input[type=range]{width:100%;min-height:44px;accent-color:#14775f}.motion-demo #motion-status{font-weight:700;font-size:1.1rem;min-height:2em}.real-map-details{margin:16px 0}.real-map-details summary{padding:14px 0;cursor:pointer;font-weight:700}.high-contrast .motion-demo #motion-status{color:inherit}@media(prefers-reduced-motion:reduce){.motion-plane{transition:none}}
.commute-panel{border:1px solid var(--line);border-radius:20px;padding:20px;background:#fff}.commute-panel h2{font-size:1.4rem}.commute-panel select,.commute-panel input{max-width:100%;width:100%;min-height:48px;font:inherit}.commute-panel details{margin:14px 0}.commute-panel summary,.legacy-demo>summary{cursor:pointer;min-height:48px;padding:12px 0;font-weight:700}.commute-form{display:grid;gap:10px;margin-top:14px}.commute-bus{border:1px solid #b8cfc1;border-radius:16px;padding:16px;margin:12px 0;background:#f5faf5}.commute-bus:first-child{border:2px solid #24735a}.commute-bus h3{margin:0;font-size:1.25rem}.commute-bus button{min-height:50px;width:100%}.commute-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.commute-actions button{min-height:48px;flex:1 1 120px}.commute-stage{background:#e7f1d9;border-radius:16px;padding:18px;margin-top:16px}.commute-stage h3{font-size:1.25rem}.legacy-demo{margin-top:20px}#commute-error{color:#9c291f;font-weight:700}body.high-contrast .commute-panel,body.high-contrast .commute-bus,body.high-contrast .commute-stage{background:#000;color:#fff;border-color:#fff}@media(max-width:640px){.commute-panel{padding:14px}.commute-panel .section-top{flex-wrap:wrap}.commute-panel .badge{display:block;white-space:normal}.commute-panel h2{overflow-wrap:anywhere}}

#nearby-panel{margin-bottom:20px} .nearby-list{list-style:none;padding:0;display:grid;gap:10px}.nearby-stop{width:100%;text-align:left;padding:16px;border:1px solid currentColor;border-radius:14px;line-height:1.6;background:transparent;color:inherit;min-height:54px}#nearby-selected{padding:16px;border:2px solid currentColor;border-radius:16px;margin:16px 0}#nearby-panel .location-actions{flex-wrap:wrap}#nearby-panel a{overflow-wrap:anywhere}

/* Cinematic route preview */
.motion-demo{padding:18px;border:1px solid #d1ded5;border-radius:24px;background:#f7faf3}.motion-heading .eyebrow{font-size:10px;letter-spacing:.18em;color:#5b7168}.motion-heading h3{font-size:1.3rem;letter-spacing:-.04em}.motion-heading .secondary{font-size:13px;padding:9px 12px;min-height:44px}.motion-scene{height:clamp(280px,43dvh,400px);background:radial-gradient(ellipse at 50% 38%,#345e58 0,#102a31 60%,#091d27 100%);border:1px solid #3b5d57;isolation:isolate}.motion-scene:after{content:'';position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 -40px 55px #07192188;pointer-events:none}.motion-plane{width:min(110%,600px);transform:translateX(var(--camera-x,7px)) rotateX(38deg) rotateZ(var(--camera-angle,-8deg));transform-origin:50% 50%;will-change:transform}.motion-plane svg{filter:drop-shadow(0 16px 0 #0a2228) drop-shadow(0 30px 22px #0008)}.motion-scene.is-flat .motion-plane{transform:none;width:min(100%,530px)}.motion-hud,.motion-scene-caption{position:absolute;left:18px;right:18px;display:flex;justify-content:space-between;align-items:center;color:#d6e6d9;font:600 10px/1.4 system-ui;letter-spacing:.14em;z-index:2;pointer-events:none}.motion-hud{top:18px}.motion-hud>span:first-child{display:flex;align-items:center;gap:7px}.motion-hud i{width:6px;height:6px;border-radius:50%;background:#d7fc88;box-shadow:0 0 10px #d7fc8866}.motion-hud #motion-percent{font-size:20px;letter-spacing:-.06em;color:#e8facb;font-variant-numeric:tabular-nums}.motion-scene-caption{bottom:15px;font-size:9px}.motion-status-row{display:flex;align-items:center;gap:13px;padding:18px 0 12px}.motion-status-row>span{font-size:32px;line-height:1;font-weight:800;color:#6c897a;letter-spacing:-.06em}.motion-status-row p{margin:0}.motion-kicker{font-size:10px;letter-spacing:.12em;font-weight:700;color:#60796a}.motion-demo #motion-status{font-size:1rem;min-height:0;margin:4px 0 0;line-height:1.5}.motion-chapters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.motion-chapters button{display:flex;flex-direction:column;align-items:flex-start;gap:4px;background:#e8eee5;border:1px solid transparent;border-radius:12px;padding:12px 8px;font-size:12px;color:#325044;min-height:60px}.motion-chapters button span{font-size:10px;opacity:.8}.motion-chapters button[aria-pressed=true]{background:#193f35;color:#e5f7d1;border-color:#193f35}.motion-controls .primary{background:#173d34;color:#edfadf;flex:2}.motion-controls .secondary{flex:1}.motion-demo input[type=range]{margin:5px 0;accent-color:#315d49}.motion-demo #motion-note{font-size:12px;margin-bottom:0}.motion-scene.is-playing .motion-beacon{animation:beacon 1.8s ease-out infinite;transform-box:fill-box;transform-origin:center}@keyframes beacon{0%{opacity:.35;scale:.7}100%{opacity:0;scale:1.5}}.high-contrast .motion-demo{background:#000;color:#fff;border-color:#fff}.high-contrast .motion-kicker,.high-contrast .motion-status-row>span,.high-contrast .motion-heading .eyebrow{color:#fff}.high-contrast .motion-chapters button{border:1px solid #fff}.high-contrast .motion-chapters button[aria-pressed=true]{outline:3px solid #fff}@media(max-width:440px){.motion-demo{padding:12px;border-radius:18px}.motion-scene{height:280px}.motion-plane{width:118%;min-width:340px}.motion-chapters button{font-size:11px}.motion-heading{gap:8px}.motion-heading h3{font-size:1.1rem}}@media(prefers-reduced-motion:reduce){.motion-beacon{animation:none!important}.motion-plane{will-change:auto}}

#game-canvas{display:block;width:100%;height:100%;position:absolute;inset:0;touch-action:none;cursor:grab}#game-canvas:active{cursor:grabbing}#game-canvas:focus-visible{outline:3px solid #ffdf80;outline-offset:-5px}.has-game .motion-plane{visibility:hidden}.motion-scene.has-game{height:clamp(320px,49dvh,460px);background:#a3c9d1}.motion-scene.has-game:after{box-shadow:inset 0 -45px 40px #0a303d44}.has-game .motion-hud{color:#173d40}.has-game .motion-hud #motion-percent{color:#173d40}.game-badge{display:none;position:absolute;top:48px;left:18px;font-size:21px;font-weight:900;font-style:italic;letter-spacing:-.06em;color:#234a4d;pointer-events:none}.game-badge span{display:block;font-style:normal;font-size:9px;letter-spacing:.18em}.has-game .game-badge{display:block}.has-game .motion-scene-caption{color:#fff}.game-controls{display:flex;gap:6px;flex-wrap:wrap}.game-controls button{min-width:44px;min-height:44px;padding:8px 12px;border:1px solid #c4d3c8;border-radius:12px;background:#e5eddf;color:#244a3d;font-size:18px}.game-controls #game-follow{flex:1;font-size:13px;font-weight:700}.game-controls #game-follow[aria-pressed=true]{background:#284f45;color:#fff}#game-help{font-size:12px;line-height:1.6;margin:10px 0}.high-contrast .game-controls button{border-color:white}.game-controls[hidden],#game-canvas[hidden]{display:none}@media(max-width:440px){.motion-scene.has-game{height:340px}.game-controls{gap:5px}.game-controls button{padding:8px;min-width:42px}.game-badge{font-size:18px}}

.actual-map-section{margin:14px 0 22px}.actual-map-section h3{font-size:1.2rem;margin:0}#real-map{width:100%;height:clamp(350px,58dvh,570px);border-radius:18px;overflow:hidden;background:#e4ece4;border:1px solid #bdcfc2}#real-map-context{font-size:14px}#real-map-status{font-size:14px;line-height:1.6}.real-place-buttons{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.real-place-buttons button{flex:1;min-width:90px;min-height:48px;padding:10px;border:1px solid #bbd0c4;border-radius:12px;color:#204f3e;background:#edf3e9;font-size:14px}.real-place-buttons button[aria-pressed=true]{background:#204f3e;color:white}.real-map-pin{width:34px;height:40px;padding:0;border:3px solid white;border-radius:18px 18px 18px 2px;background:#163f37;color:white;font:bold 16px system-ui;box-shadow:0 3px 9px #0005;cursor:pointer}.real-map-pin.pin-home{background:#b35430}.real-map-pin.pin-stop{background:#245ea0}#real-map .maplibregl-ctrl button{min-height:34px;min-width:34px;padding:0;border-radius:0}#real-map .maplibregl-ctrl-attrib{font-size:11px;line-height:20px}#real-map-fallback iframe{width:100%;height:350px;border:0;border-radius:15px}#real-map-fallback{padding-top:12px}.actual-map-section .location-actions{flex-wrap:wrap}.high-contrast .actual-map-section{color:inherit}.real-place-buttons button[hidden],.real-map-pin[hidden]{display:none}

.real-map-wrap{position:relative}#destination-crosshair{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#ad331d;font:700 42px/1 system-ui;text-shadow:0 0 3px white,0 0 5px white;pointer-events:none;z-index:2}#destination-crosshair[hidden]{display:none}.destination-pin-controls{margin:12px 0}.destination-pin-controls p{font-size:14px;line-height:1.6}#destination-confirm{padding:12px;background:#f0f4ec;border-radius:12px;margin:8px 0}#destination-confirm button{margin:4px 0}.high-contrast #destination-confirm{background:#111}

/* Verified stop sequence, deliberately distinct from turn-by-turn routing. */
.transit-map-panel{padding:14px;margin:12px 0;border:1px solid #bdd2df;border-radius:16px;background:#f0f6fb}.transit-map-panel p{margin:8px 0;line-height:1.5}.transit-route-options{display:flex;gap:8px;margin:10px 0}.transit-route-options button{min-height:48px;flex:1;background:white;border:2px solid #96afc4;border-radius:12px;font-size:20px;font-weight:800;color:#234f7b}.transit-route-options button[aria-pressed=true]{background:#245ea0;color:white;border-color:#245ea0}.transit-route-options button[aria-pressed=true]:before{content:'✓ ';font-size:16px}#transit-route-direction{font-size:14px}.transit-route-summary{font-size:16px}.transit-map-panel .map-actions{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 0}.transit-map-panel .map-actions a{flex:1;min-width:120px;font-size:14px;padding:10px;min-height:44px}#transit-map-legend{position:absolute;left:10px;top:10px;max-width:calc(100% - 70px);padding:7px 10px;border-radius:9px;background:#fffffff5;color:#173b63;font-size:14px;line-height:1.4;box-shadow:0 2px 5px #0002;pointer-events:none}#transit-map-legend span{font-weight:900;color:#245ea0}.transit-waypoint{width:30px;height:30px;min-height:30px!important;padding:0;border:3px solid white;border-radius:50%;background:#245ea0;color:white;box-shadow:0 1px 5px #0005;font:700 14px system-ui}.real-map-pin.pin-alight{background:#8f4327}.transit-stop-list{list-style:none;margin:12px 0;padding:0}.transit-stop-list li+li{border-top:1px solid #cfddd8}.transit-stop-list button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 8px;min-height:48px;background:transparent;border:0;text-align:left;font-size:14px;color:inherit}.transit-stop-list span{font-variant-numeric:tabular-nums}.transit-stop-list button:focus-visible{outline:3px solid #245ea0;outline-offset:-3px}#transit-stop-details{margin:12px 0}#transit-stop-details summary{cursor:pointer;min-height:44px;padding:10px 0;font-size:16px}.high-contrast .transit-map-panel{background:#000;color:#fff;border-color:#fff}.high-contrast .transit-route-options button{background:#111;color:#fff;border-color:#fff}.high-contrast .transit-route-options button[aria-pressed=true]{background:#fff;color:#000}.high-contrast #transit-map-legend{background:#000;color:#fff}#transit-map-legend[hidden],#transit-map-known[hidden],#transit-map-unavailable[hidden],#transit-stop-details[hidden]{display:none}@media(max-width:440px){.transit-map-panel{padding:12px}.transit-map-panel .map-actions a{font-size:14px}.real-place-buttons{display:grid;grid-template-columns:1fr 1fr}.real-place-buttons button{min-width:0;overflow-wrap:anywhere}}

#transit-map-extras{margin:10px 0}#transit-map-extras[hidden]{display:none}#transit-map-extras .map-actions{display:flex;flex-wrap:wrap;gap:8px}#transit-map-extras .map-actions a{flex:1;min-width:125px;font-size:14px;padding:10px}#transit-map-extras p{font-size:14px;line-height:1.5}.transit-map-panel h3{font-size:16px}.transit-map-panel .transit-route-summary{font-size:14px;margin-bottom:0}@media(max-width:640px){#map-dialog{width:100%;max-width:none;height:100dvh;max-height:100dvh;margin:0;padding:16px;border-radius:0}#map-dialog .journey-dialog-head{position:sticky;top:-16px;background:var(--paper,#fff);z-index:5;margin:0 -16px;padding:12px 16px}#map-dialog .journey-dialog-head h2{font-size:20px}#map-destination{font-size:14px;margin:6px 0}#real-map-context{margin:8px 0}#map-dialog .actual-map-section{margin:8px 0}#map-dialog #real-map{height:clamp(300px,42dvh,380px)}.high-contrast #map-dialog .journey-dialog-head{background:#000}}

/* One recommendation and one next action on the home screen. */
#view-route{max-width:680px;margin-inline:auto}.simple-home{padding:22px}.home-destination{display:flex;justify-content:space-between;align-items:center;gap:12px}.home-destination h2{font-size:24px;line-height:1.4;margin:5px 0 10px;overflow-wrap:anywhere}.home-destination .eyebrow{font-size:14px;letter-spacing:0;color:#50685f}.home-destination>button{flex-shrink:0;min-height:48px}.simple-home #commute-mode-label{display:inline-block;margin:0 0 5px;padding:4px 9px;font-size:14px}.simple-home #home-data-note{font-size:14px;line-height:1.5;margin:2px 0 12px;color:#56685e}.simple-home #commute-error:empty{display:none}.simple-home #commute-result>.commute-bus{background:#f3f8ee;border:1px solid #b5c9b8;padding:20px;margin:0 0 12px}.simple-home .commute-bus h3{font-size:26px;line-height:1.4}.simple-home .home-now{font-size:22px;font-weight:750;line-height:1.5;margin:12px 0 4px;color:#173d35}.simple-home .home-reason{font-size:16px;line-height:1.5;margin:4px 0 18px}.simple-home .commute-bus .primary{min-height:60px;font-size:22px;border-radius:14px}.home-main-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.home-main-actions button{min-height:60px;font-size:17px;padding:12px 8px;border-radius:14px;line-height:1.5}.home-secondary-actions{display:flex;justify-content:space-between;gap:8px}.home-secondary-actions button{min-height:48px;font-size:16px;padding:10px 6px}.simple-home .home-more{border-top:1px solid #d5e0d7;margin:6px 0 0}.simple-home .home-more>summary{font-size:16px;color:#4b6457}.simple-home #commute-alternatives .commute-bus h3{font-size:20px}.simple-home .commute-stage{margin:10px 0 12px;padding:20px}.simple-home .commute-stage h3{font-size:25px;line-height:1.5;margin:0 0 10px}.simple-home .commute-stage p{font-size:17px;line-height:1.65}.simple-home .commute-stage .small{font-size:14px}.simple-home #commute-stage-next{width:100%;min-height:60px;font-size:21px}.simple-home .stage-tools{margin-bottom:0}.stage-tools .commute-actions{margin:0}.stage-tools button{font-size:16px}.simple-preferences{margin-bottom:18px}.simple-preferences h2{font-size:24px}.preference-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.preference-buttons button{min-height:60px;padding:12px;font-size:19px;border:1px solid #aabeae;border-radius:14px;background:#f1f6ed;color:#214637}.preference-buttons button[aria-pressed=true]{background:#1d503e;color:white;border:2px solid #1d503e}.preference-buttons button[aria-pressed=true]:before{content:'✓ ';font-size:16px}.settings-shortcuts{margin-bottom:16px}#view-settings>.legacy-demo{margin:20px 0;padding:12px 20px;border:1px solid #cbd8cc;border-radius:16px}.high-contrast .home-now,.high-contrast .home-destination .eyebrow,.high-contrast #home-data-note,.high-contrast .home-more>summary{color:#fff}.high-contrast #commute-result>.commute-bus{background:#000;border-color:#fff}.high-contrast .preference-buttons button{background:#000;color:#fff;border-color:#fff}.high-contrast .preference-buttons button[aria-pressed=true]{background:#fff;color:#000}.simple-home [hidden]{display:none!important}@media(max-width:640px){.simple-home{padding:16px}.home-destination h2{font-size:23px}.simple-home #commute-result>.commute-bus{padding:16px}.simple-home .commute-bus h3{font-size:24px}.simple-home .home-now{font-size:21px}.home-main-actions button{font-size:16px}.compact-heading{margin-bottom:12px}.compact-heading h1{font-size:22px}#view-route~footer{margin-top:22px}}@media(max-width:360px){.home-main-actions{grid-template-columns:1fr}.home-secondary-actions{flex-wrap:wrap}}body[data-text-size=largest] .home-main-actions{grid-template-columns:1fr}

body.senior-mode main .app-tabs button[aria-selected=true]{background:#153d35;color:#fff;border-color:#153d35}body.high-contrast.senior-mode main .app-tabs button[aria-selected=true]{background:#ffeb66!important;color:#000!important}

/* Expand route choices without expanding the first screen. */
.bus-catalog>summary{font-weight:750}.bus-catalog label{display:block;margin:12px 0 6px}.bus-catalog select,.bus-catalog input,#map-route-select,#map-boarding-select{width:100%;max-width:100%;min-height:48px;font:inherit;padding:10px;border:1px solid #9bb4a5;border-radius:10px;background:#fff;color:#173d35}.bus-catalog-card{border:1px solid #c3d6ca;border-radius:14px;padding:16px;margin:12px 0;background:#f7faf6}.bus-catalog-card h3{font-size:24px;margin:0 0 8px}.bus-catalog-card p{margin:6px 0;font-size:16px;line-height:1.5;overflow-wrap:anywhere}.bus-catalog-card .small{font-size:14px}.catalog-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px}.catalog-actions button,.catalog-actions a{min-height:48px;display:inline-flex;align-items:center;font-size:16px}.catalog-actions a{color:#20553d}.high-contrast .bus-catalog-card,.high-contrast .bus-catalog input,.high-contrast .bus-catalog select,.high-contrast #map-route-select,.high-contrast #map-boarding-select{background:#000;color:#fff;border-color:#fff}.high-contrast .catalog-actions a{color:#ffeb66}#map-boarding-select{margin-bottom:6px}.transit-map-panel label{display:block;margin:8px 0 4px}

/* Desktop: current action beside the route comparison workspace. */
.home-primary{min-width:0}
@media(min-width:1100px){
 main{max-width:1440px;padding:32px 40px 0}
 .top{height:80px;padding-inline:max(40px,calc((100vw - 1360px)/2))}
 .compact-heading{margin-bottom:22px}.compact-heading h1{font-size:32px}
 .app-tabs{gap:10px;padding:12px 0 18px;margin-bottom:28px}
 .app-tabs button{flex:0 1 160px;min-height:52px}
 #view-route{max-width:none}
 .simple-home{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(0,1.25fr);gap:24px 32px;align-items:start;padding:0;border:0;background:transparent}
 .home-primary{grid-column:1;grid-row:1;padding:28px;background:#fff;border:1px solid var(--line);border-radius:20px}
 .home-destination{align-items:flex-start}.home-destination h2{font-size:28px;margin:8px 0 16px}
 .simple-home #commute-result>.commute-bus{padding:24px;margin-top:18px}
 .simple-home .commute-bus h3{font-size:28px}.simple-home .home-now{font-size:26px;margin-top:22px}
 .home-main-actions{gap:12px;margin-top:18px}.home-main-actions button{min-height:64px}
 .home-secondary-actions{margin-top:8px;flex-wrap:wrap}
 .simple-home #home-bus-catalog{grid-column:2;grid-row:1 / span 2;margin:0;padding:20px 24px 24px;border:1px solid var(--line);border-radius:20px;background:#fff;min-width:0}
 .simple-home #home-bus-catalog>summary{font-size:21px;color:var(--green);padding-top:0;min-height:42px}
 #bus-catalog-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:stretch}
 .bus-catalog-card{margin:0;display:flex;flex-direction:column;padding:18px}
 .bus-catalog-card h3{font-size:26px}.bus-catalog-card .catalog-actions{margin-top:auto;padding-top:14px;gap:8px}
 .catalog-actions button{width:100%;justify-content:center;padding-inline:8px}.catalog-actions a{min-height:44px}
 .simple-home #home-more{grid-column:1;grid-row:2;margin:0;padding:10px 24px 20px;background:#fff;border:1px solid var(--line);border-radius:16px}
 #view-voice,#view-location,#view-alerts,#view-settings{max-width:1120px;margin-inline:auto}
 #map-dialog{width:min(1200px,calc(100vw - 80px));max-width:1200px;padding:32px;max-height:92dvh}
 #map-dialog #real-map{height:clamp(420px,54vh,640px)}
 #map-dialog .journey-dialog-head{position:sticky;top:-32px;z-index:5;background:var(--paper,#fff);margin:-1px -8px 12px;padding:12px 8px}
 footer{margin-top:32px}
 body[data-text-size=largest] .simple-home{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 body[data-text-size=largest] #bus-catalog-list{grid-template-columns:1fr}
}
@media(min-width:1100px) and (max-width:1279px){#bus-catalog-list{grid-template-columns:1fr}.simple-home{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}.home-primary{padding:24px}.home-main-actions{grid-template-columns:1fr}}

/* Map providers share the selected destination and bus stops. */
.map-provider-buttons{display:flex;gap:10px;margin:12px 0}.map-provider-buttons button{flex:1;min-height:48px}.map-provider-buttons [aria-pressed=true]{outline:3px solid var(--green,#18745c);outline-offset:2px}#kakao-map{height:420px;min-height:300px;border-radius:18px;background:#edf3ed;overflow:hidden}.kakao-pin{background:#fff;color:#173a32;border:2px solid #18745c;border-radius:10px;padding:8px 12px;font-size:13px;font-weight:700;white-space:nowrap;box-shadow:0 3px 10px #0002;min-height:44px}.kakao-pin:focus-visible{outline:4px solid #f5ac22}#kakao-status{line-height:1.6}#kakao-pane[hidden],.real-map-wrap[hidden]{display:none!important}@media(min-width:1100px){#kakao-map{height:560px}}@media(max-width:600px){#kakao-map{height:360px}}

.live-routing{margin:16px 0}.real-routing-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;max-height:260px;overflow:auto;padding:5px}.real-routing-options button{min-height:52px;text-align:left}.real-routing-options [aria-pressed=true]{outline:3px solid #166eae;outline-offset:1px}

.showing-live-route #transit-map-panel,.showing-live-route #boarding-card,.showing-live-route .real-place-buttons,.showing-live-route #transit-stop-details,.showing-live-route #transit-map-extras,.showing-live-route #directions-board,.showing-live-route #directions-home,.showing-live-route #bus-search-help{display:none!important}

/* A calm, readable choice between speed and fewer changes. */
:root{--paper:#fff;--line:#dce5e1;--muted:#546a61;background:#f4f7f5}
.home-kicker{display:block;font-size:12px;font-weight:700;letter-spacing:.06em;color:#507565;margin-bottom:7px}
.compact-heading h1{letter-spacing:-1.2px;font-weight:800}.compact-heading p{margin-top:9px;font-size:15px;line-height:1.6;color:#546a61}
.home-origin{display:flex;align-items:center;gap:12px;font-size:13px;padding:13px 18px;border:1px solid #d4e0d9;border-radius:14px;background:#fff;white-space:nowrap}.home-origin strong{font-size:17px;color:#163d32}
.simple-home{border:0;background:transparent;padding:0}.home-primary{padding:24px;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 6px 30px #173d3505}
.home-destination .eyebrow{font-size:13px}.home-destination h2{font-size:24px;letter-spacing:-.8px;margin:6px 0 12px}.home-destination #home-edit{padding:8px 13px;border:1px solid #d6e2db;border-radius:12px;font-size:14px;color:#315d4c;min-height:44px}
.simple-home #commute-mode-label{font-size:12px;font-weight:650;background:#edf4ee;color:#32694e;border-radius:6px;margin:0 0 8px}.simple-home #home-data-note{font-size:13px;line-height:1.65;max-width:42em;margin:0 0 20px;color:#546a61}
.route-preferences{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:5px;margin:0 0 14px;background:#edf2ef;border-radius:14px}
.route-preference{min-height:49px;padding:10px 6px;border:1px solid transparent;border-radius:10px;font-size:15px;font-weight:700;color:#53675d;background:transparent;white-space:normal}
.route-preference[aria-pressed=true]{background:#fff;color:#173f31;border-color:#d7e2dc;box-shadow:0 2px 4px #1d49350b}
.route-hero{border-radius:19px;background:#173e33;color:#fff;padding:25px;overflow-wrap:anywhere}
.route-hero .route-eyebrow{font-size:13px;font-weight:650;color:#d7e8d9;letter-spacing:.02em;margin:0 0 8px}
.route-duration{display:flex;align-items:baseline;gap:7px;margin:0;color:#fff;line-height:1.2;font-size:22px;font-weight:500}.route-duration strong{font-size:66px;line-height:1.1;letter-spacing:-3px;font-weight:800;font-variant-numeric:tabular-nums}
.route-meta{color:#d5e4dc;font-size:14px;line-height:1.6;margin:10px 0 20px}
.route-legs{display:flex;gap:8px;align-items:stretch;flex-wrap:wrap;margin:14px 0 22px}.route-leg{flex:1 1 125px;min-width:0;border:1px solid #5e7e6d;border-radius:12px;padding:12px;background:#ffffff09;font-size:13px;line-height:1.7}.route-leg-vehicles{display:block;font-size:18px;font-weight:750;letter-spacing:-.4px;color:#f0ffce;overflow-wrap:anywhere}
.route-actions{display:grid;grid-template-columns:1fr auto;gap:9px;align-items:stretch}.route-hero .primary{background:#d9f49a;color:#173e33;min-height:56px;font-size:17px;border-radius:12px;justify-content:center}.route-hero .route-actions .secondary{border:1px solid #789282;border-radius:12px;color:#fff;min-height:56px;font-size:14px;padding:10px 12px;white-space:normal}
.route-guidance{margin:17px 0 0;border-top:1px solid #537561}.route-guidance summary{min-height:48px;display:list-item;padding:14px 0 0;color:#e4eee5;font-size:14px;cursor:pointer}.route-timeline{list-style:none;margin:16px 0 0;padding:0;counter-reset:leg}.route-timeline li{position:relative;padding:0 0 18px 36px;font-size:14px;line-height:1.7;color:#e0eae3;counter-increment:leg}.route-timeline li:before{content:counter(leg);position:absolute;left:0;top:1px;width:25px;height:25px;border-radius:50%;background:#d9f49a;color:#183e33;text-align:center;font-weight:800}.route-step-label{font-weight:750;display:block;margin-bottom:4px}
.route-comparison{min-width:0;border:1px solid var(--line);border-radius:24px;background:#fff;padding:26px;margin-top:20px}.comparison-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.comparison-heading h2{font-size:22px;margin:0;letter-spacing:-.7px}.comparison-symbol{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#edf4ed;font-size:24px;color:#376548}.comparison-help{font-size:13px;color:#61776b;margin:12px 0 18px}
.route-option{width:100%;display:block;text-align:left;border:1px solid #d7e2db;border-radius:16px;padding:18px;margin:0 0 12px;background:#fcfdfc;color:#173d35;white-space:normal}.route-option:hover{border-color:#739980;background:#f2f7ed}.route-option[aria-pressed=true]{border:2px solid #55744a;padding:17px;background:#f0f6e8}.route-option-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-weight:700;font-size:14px}.route-option-time{font-size:27px;font-weight:800;letter-spacing:-1px;color:#173e33;white-space:nowrap}.route-option-buses{display:block;font-size:16px;line-height:1.65;font-weight:650;margin:8px 0 5px;overflow-wrap:anywhere}.route-option-meta{display:block;color:#5c6e65;font-size:13px;line-height:1.65}.route-other-options summary{min-height:48px;padding:12px 0;cursor:pointer;color:#3c634c;font-size:14px}
.simple-home .home-main-actions{margin-top:16px}.simple-home .home-main-actions button{background:#f6f8f6;border:1px solid #d4e0d9;color:#294c3c;min-height:52px;font-size:15px}.home-secondary-actions button{font-size:14px;color:#4d6959}.simple-home #home-more,.simple-home #home-bus-catalog{border:1px solid var(--line);border-radius:16px;background:#fff;margin:16px 0 0;padding:6px 20px}.simple-home #home-more>summary,.simple-home #home-bus-catalog>summary{font-size:15px;padding:14px 0;color:#466453;min-height:50px}
@media(min-width:1100px){.simple-home{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:20px 28px}.home-primary{grid-column:1;grid-row:1 / span 3;padding:28px}.route-comparison{grid-column:2;grid-row:1;margin:0;padding:28px}.simple-home #home-bus-catalog{grid-column:2;grid-row:2;margin:0;padding:6px 22px}.simple-home #home-more{grid-column:2;grid-row:3;margin:0;padding:6px 22px}.compact-heading{align-items:center;margin-bottom:24px}.app-tabs{margin-bottom:24px}.home-primary .route-hero{padding:28px}.home-primary .route-duration strong{font-size:76px}}
@media(max-width:1099px){.home-origin{display:none}.route-comparison{padding:20px}}
@media(max-width:640px){main{padding:22px 16px 96px}.top{height:64px;padding-inline:18px}.brand{font-size:22px}.brand-sub{display:none}.demo-pill{font-size:11px;padding:6px 9px}.compact-heading{margin-bottom:18px}.compact-heading h1{font-size:25px}.compact-heading p{font-size:13px;margin-top:7px}.home-kicker{font-size:11px}.home-primary{padding:19px;border-radius:21px}.home-destination h2{font-size:22px}.route-hero{padding:21px}.route-duration strong{font-size:60px}.route-comparison{border-radius:20px}.route-actions{grid-template-columns:1fr}.route-hero .route-actions .secondary{min-height:44px}.app-tabs{position:fixed;top:auto;bottom:0;left:0;right:0;z-index:15;margin:0;padding:8px 12px calc(8px + env(safe-area-inset-bottom));gap:4px;background:#fffffff5;backdrop-filter:blur(12px);border-top:1px solid #d3e1d8;border-bottom:0;box-shadow:0 -4px 20px #123c3308}.app-tabs button{min-height:48px;border:0;border-radius:12px;font-size:14px;background:transparent}.app-tabs button[aria-selected=true]{background:#e3efdc;color:#234633}.route-option{padding:16px}.route-option[aria-pressed=true]{padding:15px}.route-option-time{font-size:24px}.home-secondary-actions{flex-wrap:wrap}.simple-home #home-data-note{margin-bottom:16px;font-size:12px}}
@media(max-width:360px){.home-primary{padding:14px}.route-hero{padding:17px}.home-main-actions{grid-template-columns:1fr}.route-option-heading{flex-wrap:wrap}}
body.high-contrast .route-hero,body.high-contrast .route-comparison,body.high-contrast .home-primary,body.high-contrast .route-option,body.high-contrast .route-preference{background:#000;color:#fff;border:1px solid #fff}body.high-contrast .route-hero *,body.high-contrast .route-comparison *,body.high-contrast .home-kicker,body.high-contrast .compact-heading p{color:#fff}body.high-contrast .route-preferences{background:#222}body.high-contrast .route-preference[aria-pressed=true],body.high-contrast .route-option[aria-pressed=true]{outline:3px solid #ffeb66}body.high-contrast .route-hero .primary{background:#ffeb66;color:#000}body.high-contrast .app-tabs{background:#000}
body[data-text-size=largest] .route-actions{grid-template-columns:1fr}body[data-text-size=largest] .route-option-heading{flex-wrap:wrap}body[data-text-size=largest] .route-legs{flex-direction:column}body[data-text-size=largest] .route-leg{flex-basis:auto}

/* Match the home card specificity so the recommendation retains its contrast. */
.simple-home #commute-result>.route-hero{background:#173e33;color:#fff;border:1px solid #173e33;padding:25px}
.simple-home .commute-bus h3.route-duration{font-size:22px;line-height:1.2;color:#fff}
.simple-home .route-hero .primary{font-size:17px;min-height:56px}
.route-hero .route-actions .secondary{background:transparent;color:#fff}
.route-comparison-note{font-size:13px;line-height:1.6;color:#546a61;margin:0 0 15px}
.route-option-action{display:block;font-size:13px;font-weight:600;color:#3e6750;margin-top:8px}
.route-access-note{padding:12px;border:1px solid #86a794;border-radius:10px;font-size:14px;line-height:1.7;color:#fff}
.route-empty{padding:22px;border-radius:16px;background:#f2f6f0;line-height:1.8}
.showing-live-route .reference-map-copy{display:none}
#map-dialog[data-map-provider=kakao] .map-3d-note{display:none}
@media(max-width:640px){.simple-home #commute-result>.route-hero{padding:21px}}
@media(max-width:360px){.simple-home #commute-result>.route-hero{padding:17px}}
body.high-contrast .simple-home #commute-result>.route-hero{background:#000;border-color:#fff}

.route-hero-single{display:grid;grid-template-columns:1fr 1.2fr;column-gap:16px;align-items:center}
.route-hero-single .route-eyebrow{grid-column:1 / -1}
.route-hero-single .route-duration{grid-column:1;grid-row:2}
.route-hero-single .route-legs{grid-column:2;grid-row:2;margin:0}
.route-hero-single .route-leg{border:0;border-left:1px solid #65826e;border-radius:0;background:none;padding:2px 0 2px 15px;flex-basis:auto}
.route-hero-single .route-meta{grid-column:1 / -1;margin:18px 0}
.route-hero-single .route-actions,.route-hero-single .route-guidance,.route-hero-single .route-access-note{grid-column:1 / -1}
.simple-home .route-hero .route-guidance{margin:16px 0 0}
.route-hero .route-guidance .small{color:#d6e4d9}
@media(min-width:1100px){.top{height:64px}main{padding-top:24px}.compact-heading{margin-bottom:16px}.compact-heading h1{margin:5px 0}.app-tabs{padding:6px 0 14px;margin-bottom:20px}.home-primary{padding:24px}.simple-home #commute-result>.route-hero{margin-top:12px}}
@media(max-width:640px){.route-actions{grid-template-columns:1.2fr 1fr}.route-hero .route-actions button{padding:10px 6px;gap:0}.simple-home #home-data-note{margin-bottom:12px}.compact-heading p{display:none}.compact-heading{margin-bottom:14px}.home-kicker{margin-bottom:5px}.route-hero-single{column-gap:10px}.route-hero-single .route-leg{padding-left:12px}.route-hero-single .route-leg-vehicles{font-size:18px}.route-hero-single .route-duration strong{font-size:54px}}
body[data-text-size=largest] .route-hero-single{display:block}body[data-text-size=largest] .route-hero-single .route-leg{border-left:0;padding-left:0}
.route-hero-single{grid-template-columns:max-content minmax(0,1fr)}
.route-duration{white-space:nowrap}.route-duration strong{flex-shrink:0}
@media(max-width:640px){.route-hero-single .route-duration{gap:4px}.route-hero-single .route-duration strong{font-size:50px}}
/* Keep hosting attribution visible without covering mobile navigation. */
@media(max-width:640px){#nl-badge-frame{position:relative!important;display:block;bottom:auto!important;right:auto!important;margin:12px 16px 88px!important;max-width:calc(100% - 32px)}}
