/* Shared release surfaces: one app, with the same controls in preview and on device. */
.guidance-start-status {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 4px 10px;
  margin: 0 0 7px;
  padding: 7px 10px 7px 13px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--bg);
  color: var(--ink);
}
.guidance-start-status p { margin: 0; font-size: 13px; line-height: 1.45; }
.commute-home:has(.guidance-start-status:not([hidden])) { padding-bottom: 230px; }
.guidance-route-line {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: baseline;
  gap: 8px;
  font-size: 12px;
  color: var(--muted);
  overflow-wrap: anywhere;
}
.guidance-route-line strong { color: var(--ink); font-size: 15px; }
.guidance-route-line > :last-child { text-align: right; }
.journey-modal .guidance-route-line { margin: 0 0 12px; }
.guidance-start-status button {
  min-height: 44px;
  padding: 0 8px;
  border: 0;
  border-radius: 8px;
  background: var(--mint);
  color: var(--green-dark);
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
}
.session-station > small { display: block; margin-bottom: 4px; color: var(--muted); }
.live-main-actions { margin: 12px 0 16px; }
.train-approach { grid-column: 1 / -1; }
.train-approach-diagram { position: relative; padding-top: 24px; margin: 1px 0 3px; }
.train-approach-marker {
  position: absolute;
  top: 0;
  display: grid;
  place-items: center;
  width: calc(100% / var(--train-track-count, 1));
  color: var(--green-dark);
  transform: translateX(calc(100% * var(--train-track-slot, 0)));
}
.train-approach-marker .icon { width: 20px; height: 20px; }
.train-approach-stops {
  position: relative;
  display: grid;
  grid-template-columns: repeat(var(--train-track-count, 1), minmax(0, 1fr));
  text-align: center;
  font-size: 10px;
  color: var(--muted);
}
.train-approach-stops::before {
  content: "";
  position: absolute;
  inset: 4px calc(50% / var(--train-track-count, 1)) auto;
  border-top: 2px solid var(--green);
}
.train-approach-diagram[data-gap="true"] .train-approach-stops::after {
  content: "···";
  position: absolute;
  top: -4px;
  left: calc(100% / var(--train-track-count));
  transform: translateX(-50%);
  padding: 0 3px;
  background: var(--bg);
  color: var(--green-dark);
  line-height: 16px;
}
.train-approach-stops span {
  position: relative;
  padding: 13px 2px 0;
  overflow-wrap: anywhere;
}
.train-approach-stops span::before {
  content: "";
  position: absolute;
  top: 1px;
  left: calc(50% - 4px);
  width: 8px;
  height: 8px;
  border: 2px solid var(--green);
  border-radius: 50%;
  background: var(--bg);
}
.train-approach-stops span:last-child { color: var(--ink); font-weight: 700; }
.guidance-start-status .train-approach-status { font-size: 11px; color: var(--muted); }
.train-approach[data-track-stale="true"] .train-approach-marker { opacity: .65; }
.train-approach[data-track-stale="true"] .train-approach-status {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.45;
}
.arrival-position { color: var(--green-dark); font-size: 11px; overflow-wrap: anywhere; }
.has-pull-refresh:has(.app-layout.has-home),
html:has(.app-layout.has-search) { overscroll-behavior-y: none; }
.has-pull-refresh #journey-dialog { overscroll-behavior-y: contain; }
.refresh-spinner,
:is(#home-panel, #journey-dialog)[data-pull-refresh="refreshing"]::before {
  display: inline-block;
  flex: none;
  box-sizing: border-box;
  inline-size: var(--refresh-spinner-size, 1em);
  block-size: var(--refresh-spinner-size, 1em);
  border: 2px solid var(--line);
  border-top-color: currentColor;
  border-radius: 50%;
  vertical-align: -.125em;
  animation: refresh-spinner-turn .75s linear infinite;
}
@keyframes refresh-spinner-turn {
  to { transform: rotate(360deg); }
}
[data-pull-refresh="refreshing"] .refresh-spinner { visibility: hidden; }
:is(#home-panel, #journey-dialog)[data-pull-refresh="refreshing"]::before {
  --refresh-spinner-size: 18px;
  content: '';
  position: fixed;
  top: 84px;
  left: 50%;
  margin-left: -9px;
  z-index: 25;
  background: var(--bg);
  color: var(--green-dark);
  box-shadow: 0 0 0 5px var(--bg), 0 2px 8px 5px #183b6918;
  pointer-events: none;
}
#journey-dialog[data-pull-refresh="refreshing"]::before { position: absolute; top: 4px; }
@media (max-width:720px) {
  #home-panel[data-pull-refresh="refreshing"]::before { top: calc(73px + env(safe-area-inset-top, 0px)); }
}
@media (prefers-reduced-motion: reduce) {
  .refresh-spinner,
  :is(#home-panel, #journey-dialog)[data-pull-refresh="refreshing"]::before { animation: none; }
}
.favorite-tabs{scrollbar-width:none!important;-ms-overflow-style:none}.favorite-tabs::-webkit-scrollbar{display:none}
.information-source-status>small{display:block;font-size:9px;color:#9aa7b8;margin-top:9px;line-height:1.6}
.information-source-status{padding:15px 17px;border:1px solid #e3eaf4;border-radius:14px;background:#eef3fb;margin-bottom:23px}.information-source-status>strong{font-size:11px;color:#557094}.information-source-status>p{font-size:10px;line-height:1.8;margin:5px 0 0;color:#8092aa}.release-widget-platforms{display:flex;padding:3px;background:#edf1f7;border-radius:10px;gap:3px;margin:18px 0}.release-widget-platforms button{flex:1;font-size:12px;min-height:37px;border-radius:8px;color:#8391a6}.release-widget-platforms button[aria-pressed=true]{background:#fff;color:#2463eb;box-shadow:0 1px 4px #17365107}.release-widget-preview{display:flex;flex-direction:column;gap:14px;padding:18px;background:#eef2f8;border-radius:15px}.release-widget-small,.release-widget-wide{padding:16px;background:#fff;border:1px solid #e0e7f1;border-radius:20px;box-shadow:0 2px 6px #1b365d06}.release-widget-small{width:172px;min-height:172px}.release-widget-small>span:first-child,.release-widget-wide>span:first-child{display:flex;font-size:11px;color:#2463eb;font-weight:750;gap:12px;align-items:center}.release-widget-small small,.release-widget-wide>span small{margin-left:auto;font-size:8px;color:#97a4b6;font-weight:500}.release-widget-small>strong,.release-widget-wide>strong{display:block;margin-top:15px;font-size:12px;color:#8292a7;font-weight:500}.release-widget-small>div,.release-widget-wide>div{font-size:16px;font-weight:700;margin-top:8px;letter-spacing:-.7px}.release-widget-small b,.release-widget-wide b{font-weight:400;color:#a7b4c6;font-size:13px;padding:0 6px}.widget-example-start{display:flex;justify-content:center;align-items:center;min-height:31px;margin-top:14px;background:#e9f0ff;color:#2463eb;border-radius:8px;font-size:11px;font-weight:650}.release-widget-wide{position:relative;min-height:125px}.release-widget-wide>div{max-width:calc(100% - 75px);font-size:15px}.release-widget-wide .widget-example-start{position:absolute;right:15px;bottom:17px;width:65px;height:39px}.release-widget-preview[data-platform=android] .release-widget-small,.release-widget-preview[data-platform=android] .release-widget-wide{border-radius:22px;background:#f9fbff}.release-widget-preview[data-platform=android] .widget-example-start{border-radius:20px}.release-widgets-dialog{max-width:min(450px,calc(100vw - 28px))}.widget-platform-note{font-size:10px!important;line-height:1.8}.release-widgets-dialog .release-lockscreen{margin-top:16px}
:root{--green:#2463eb;--green-dark:#174cb8;--mint:#edf3ff;--ink:#172b43;--muted:#718096;--line:#e7edf5;--bg:#f7f9fc}
body{background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Noto Sans KR',sans-serif;letter-spacing:-.025em}
[hidden]{display:none!important}
.app-header{position:sticky;top:0;z-index:20;display:flex;height:76px;padding:0 max(24px,calc((100vw - 1040px)/2));gap:16px;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}
.release-brand{display:flex;gap:9px;align-items:center;text-decoration:none;color:#1954c6;flex:none}.release-brand img{width:38px;height:38px;border-radius:11px}.release-brand strong{font-size:23px;letter-spacing:-1.3px;font-weight:800}
.release-view-title{display:none}.release-region{font-size:11px;color:#718096;white-space:nowrap}.app-header .top-nav{margin-left:auto;margin-right:0}.app-header .nav-item{min-width:90px;font-size:13px}.app-header .nav-item.active{background:#edf3ff}
.app-layout.has-home{min-height:calc(100dvh - 76px)}.commute-home{max-width:520px;padding:26px 22px 120px}.release-home-intro{margin-bottom:22px}.release-home-intro p{font-size:12px;color:#718096;margin:0 0 5px}.release-home-intro h2{font-size:25px;line-height:1.4;letter-spacing:-1.1px;margin:0;font-weight:750}
.minimal-home-top{margin-bottom:12px;gap:8px}.home-card-heading{gap:0}.home-card-heading .context-info-button{width:36px;min-width:36px;min-height:38px}.home-card-heading #help-button{display:none}.home-slot-picker{margin-left:0}.favorite-tab{min-height:38px;padding:7px 11px;border-radius:10px;max-width:164px;gap:7px;font-size:12px}.favorite-number{font-size:10px;min-width:18px;height:18px;border-radius:6px}.favorite-tab[aria-pressed=true]{background:#e7efff}.favorite-add{width:36px;height:38px}.favorite-add .icon{width:17px;height:17px}
.home-route-card{padding:19px 20px 0;border:1px solid #e1e8f2;border-radius:20px;box-shadow:0 3px 10px #183b6903}.chosen-stop{min-height:55px}.chosen-stop small{font-size:11px;color:#7b8a9e;margin-bottom:5px}.chosen-stop strong{font-size:27px;font-weight:750}.chosen-arrow{color:#a1afbf;border-radius:50%;background:#f5f8fc;width:34px;height:34px}.chosen-arrow .icon{width:16px;height:16px}
.home-route-summary{display:grid;grid-template-columns:1fr auto;align-items:center;gap:0 10px;margin-top:18px}.summary-duration{grid-row:1 / 3;display:flex;align-items:baseline;justify-content:flex-start;gap:9px}.summary-duration strong{font-size:39px;letter-spacing:-1.5px;white-space:nowrap}.summary-duration strong span{font-size:15px;margin-left:3px}.summary-duration small{font-size:10px;max-width:80px;white-space:normal;line-height:1.4}.summary-meta{margin:0;align-self:end;text-align:right;font-size:11px}.home-line-path{padding:6px 0 0;justify-self:end;gap:5px;max-width:180px;align-self:start}.home-line-segment{min-width:0;flex:0 1 auto}.home-line-segment i{display:none}.home-line-name{font-size:10px}.home-transfer-label{font-size:9px}.home-primary-actions{grid-column:1/-1;margin-top:15px;border-color:#edf1f7}.home-primary-actions button{min-height:39px;padding-top:8px;padding-bottom:8px;font-size:11px}.home-primary-actions .home-save{flex-direction:row}.home-empty-hint{min-height:75px;padding:18px 0}.home-empty-hint p{font-size:12px}
.home-route-modes{margin:12px 0 0;padding:3px;border-radius:10px;background:#eaf0f7}.home-mode{min-height:34px;font-size:11px;padding:6px}.home-mode.active{border-radius:7px;box-shadow:0 1px 4px #183b6908}.home-sound-settings{padding:5px 0;margin-bottom:3px;border:0}.sound-setting-icon .icon{width:16px;height:16px}#arrival-sound-label{font-size:12px}.home-sound-settings .switch{transform:scale(.9);transform-origin:right center}.sound-preview{height:38px;width:32px}
.power-stage{position:fixed;z-index:22;bottom:22px;left:50%;transform:translateX(-50%);width:min(476px,calc(100vw - 44px));margin:0;padding:9px 0;background:linear-gradient(0deg,var(--bg) 60%,#f7f9fc00)}.power-button{min-height:54px;border-radius:15px;font-size:15px;box-shadow:0 5px 16px #2463eb1c}.power-button:disabled{opacity:1;background:#bdcdef;box-shadow:none}.power-button[aria-pressed=true]{background:#e8eef7;color:#52647b;box-shadow:none}.guidance-button-copy{font-size:15px}
.train-arrivals{padding:0;margin:14px 0 0;border:0;background:transparent}.arrivals-heading{margin-bottom:10px}.arrivals-heading>strong{font-size:15px;letter-spacing:-.4px}.arrivals-count{font-size:10px;padding:3px 6px;background:#eaf0fa;border-radius:6px;color:#567092}.arrivals-heading button{font-size:11px;color:#7b8a9d;min-height:32px}.arrival-group+.arrival-group{margin-top:14px}.arrival-group-heading{margin-bottom:6px}.arrival-group-heading h3{font-size:11px;color:#596e88}.arrival-group-heading>span{font-size:10px;color:#96a1b1}.arrival-group-note{font-size:10px;line-height:1.6;margin:0 0 7px;color:#8290a4}.arrival-options{gap:6px}.arrival-option{padding:12px 13px;border:1px solid #e3eaf3;border-radius:13px;min-height:72px;background:#fff;box-shadow:none;gap:8px}.arrival-option[aria-pressed=true]{border-color:#3f7af0;box-shadow:inset 0 0 0 1px #3f7af0;background:#f2f6ff}.arrival-main{min-width:0;display:block}.arrival-line{font-size:9px;color:#8b98aa;margin-bottom:2px}.arrival-detail{align-items:center;gap:10px}.arrival-detail strong{font-size:14px;color:#223954;font-weight:700}.arrival-detail b{font-size:15px;color:var(--arrival-color);font-weight:750;letter-spacing:-.5px}.arrival-main>small{display:flex;gap:5px;align-items:center;font-size:9px;margin-top:4px;color:#91a0b2}.arrival-type{font-size:9px;padding:1px 4px;background:#f0f4f9;border-radius:4px}.arrival-type[data-service-type=express]{background:#fff0e8;color:#bd5c20}.arrival-choice{font-size:10px;white-space:nowrap;color:#7f8fa4;align-self:center}.arrival-option[aria-pressed=true] .arrival-choice{color:#2463eb;font-weight:700}.arrival-choice small{font-size:8px}.arrival-stop-pattern{font-size:9px;margin-top:4px}.arrival-observation-note,.arrivals-help,.arrivals-note{font-size:10px;line-height:1.7;color:#8190a4;margin-top:9px}.arrivals-help{color:#5b7395}.train-arrivals .arrivals-preview-link{border-radius:12px}
.is-running .release-home-intro{display:none}.power-session{background:transparent;padding:0;border:0}.session-status{font-size:11px;color:#1f78b2;padding:8px 0}.session-station{margin:8px 0 18px;padding:24px;background:#fff;border:1px solid var(--line);border-radius:20px}.session-station strong{margin:0;font-size:36px;letter-spacing:-1.6px}.session-station p{font-size:13px;margin-top:9px}.session-metrics{display:grid;grid-template-columns:1.25fr .85fr 1fr;gap:10px;margin-bottom:20px}.session-metrics>div{display:flex;flex-direction:column;gap:7px;padding:14px 11px;background:#fff;border:1px solid var(--line);border-radius:13px;min-width:0}.session-metrics>div>span{font-size:10px;color:#7f8fa4}.session-metrics strong{font-size:16px;letter-spacing:-.6px;overflow-wrap:anywhere}.session-metrics strong small{font-size:11px;font-weight:500;margin-left:3px}.session-metrics>div>small{font-size:8px;color:#8796aa}.release-lockscreen{padding:15px;background:#edf1f7;border-radius:16px;margin:16px 0}.release-lockscreen>span{display:block;font-size:9px;color:#7e8da3;text-align:center;margin-bottom:10px}.release-capsule{display:flex;align-items:center;gap:11px;padding:13px 15px;border-radius:30px;background:#101725;color:#fff;box-shadow:0 3px 9px #10172515}.release-capsule>.icon,.release-capsule>span .icon{width:21px;height:21px;color:#9fadc1}.release-capsule>div{flex:1;min-width:0}.release-capsule strong{display:block;font-size:13px;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.release-capsule small{font-size:10px;color:#9caec5}.release-capsule>b{width:34px;height:34px;display:grid;place-items:center;background:var(--capsule-color);border-radius:50%;font-size:17px;font-weight:750;flex:none}.session-progress{margin:20px 3px}.has-unconfirmed-stop .session-progress{display:none}.session-actions{margin:15px 0}.session-actions button{width:100%;background:#fff;border-radius:12px;min-height:44px}.showcase-controls{border:1px dashed #cbd8ec;background:#f2f6fd;border-radius:14px;padding:13px;margin-top:13px}.showcase-controls>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px}.showcase-controls strong{font-size:11px;color:#597392}.showcase-controls [data-showcase-next]{font-size:11px;color:#2463eb;min-height:32px}.showcase-controls [role=group]{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:9px}.showcase-controls [data-scene]{font-size:9px;min-height:33px;padding:6px 2px;border-radius:7px;background:#fff;color:#6b809d;border:1px solid #e0e8f5}.showcase-controls [data-scene][aria-pressed=true]{background:#e4edff;border-color:#adc6ff;color:#2463eb}
.app-layout:not(.has-home):not(.has-search){display:block;max-width:560px;width:100%;margin:0 auto;padding:18px 22px 110px}.app-layout:not(.has-home):not(.has-search)>.sidebar{padding:0;border:0;background:transparent}.favorites-panel{background:transparent}.favorites-pinned{top:76px;background:var(--bg);padding:10px 0 15px;margin-bottom:6px;border:0}.favorites-heading{margin-bottom:12px}.favorites-heading h1{font-size:25px;font-weight:750;letter-spacing:-1px}.favorites-heading #help-button{display:none}.favorites-commute-actions{gap:8px}.favorites-commute-actions button{min-height:44px;background:#e8effe;font-size:12px;border-radius:12px}.favorites-heading #favorites-add{width:38px;height:38px}.saved-route,#saved-routes .saved-route{border:1px solid var(--line);background:#fff;border-radius:15px;margin:9px 0;padding:15px 12px;grid-template-columns:27px minmax(0,1fr) 35px 35px 30px;gap:5px}.saved-route .saved-custom-name{font-size:14px;color:#203952}.saved-route .saved-stations{font-size:11px!important;line-height:1.6;color:#7f8da2!important}.saved-route .saved-main small{font-size:9px}.saved-route .saved-number{font-size:11px;width:26px!important;height:26px!important}.saved-route .schedule-saved,.saved-route .rename-saved{font-size:10px;min-width:32px!important;width:32px!important}.saved-route .remove-saved{min-width:28px!important;width:28px!important}.schedule-list{display:grid;gap:9px}.schedule-row{border:1px solid var(--line);border-radius:15px;background:#fff;padding:16px}.schedule-time{font-size:24px!important;letter-spacing:-1px}.schedule-name{font-size:12px!important}.schedule-route,.schedule-meta{font-size:11px!important}.schedule-row-actions button{font-size:10px}.schedule-route-issue{font-size:10px}.schedule-time-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:12px}.schedule-time-fields input,.schedule-time-fields select{height:48px!important;min-height:48px!important;box-sizing:border-box!important;max-width:100%}
.app-layout.has-info>.sidebar,.app-layout.has-info>.workspace{display:none}.information-panel{padding-top:8px}.release-section-heading{margin-bottom:21px}.release-section-heading>p{font-size:11px;color:#8694a7;margin:0 0 5px}.release-section-heading h1{font-size:25px;font-weight:750;letter-spacing:-1px;margin:0}.information-brand-card{display:flex;align-items:center;gap:14px;padding:21px;border:1px solid var(--line);border-radius:18px;background:#fff;margin-bottom:25px}.information-brand-card img{border-radius:14px}.information-brand-card>div{flex:1}.information-brand-card strong{font-size:17px;color:#235ac4}.information-brand-card p{font-size:11px;color:#8c99ab;line-height:1.7;margin:4px 0 0}.information-brand-card>span{font-size:10px;color:#9aa6b7;align-self:flex-start}.information-group{margin:0 0 24px}.information-group h2{font-size:11px;font-weight:600;color:#8c9aad;margin:0 0 10px 4px}.information-group>a,.information-group>button{display:flex;width:100%;align-items:center;gap:12px;padding:15px;background:#fff;border:1px solid var(--line);text-decoration:none;text-align:left;color:var(--ink);min-height:70px}.information-group>a:nth-child(2),.information-group>button:nth-child(2){border-radius:14px 14px 0 0}.information-group>a:last-child,.information-group>button:last-child{border-radius:0 0 14px 14px;border-top:0}.information-group>button:only-of-type:not(:last-child){border-radius:14px 14px 0 0}.information-icon{display:grid;place-items:center;width:33px;height:33px;border-radius:10px;background:#edf3ff;color:#4776ce;flex:none}.information-icon .icon{width:17px;height:17px}.information-group>a>span:not(.information-icon),.information-group>button>span:not(.information-icon){flex:1;min-width:0}.information-group strong{display:block;font-size:13px;font-weight:600}.information-group small{display:block;font-size:10px;color:#8a98ab;margin-top:5px;line-height:1.5}.information-group b{font-size:18px;font-weight:400;color:#9dacbf}.information-policy-links>a,.information-policy-links>button{min-height:52px;padding:14px 17px}.information-policy-links strong{font-size:12px;font-weight:500}.information-footer{font-size:10px;color:#9da8b9;text-align:center;margin:24px 0}
.showcase-note{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px max(22px,calc((100vw - 996px)/2));background:#e9f0fc;border-bottom:1px solid #e0e9f9;color:#547398;font-size:10px}.showcase-note>span{display:flex;align-items:center;gap:6px}.showcase-note i{width:5px;height:5px;background:#6c93ce;border-radius:50%}.showcase-note small{font-size:9px;color:#8097b4}.showcase-note button{font-size:9px;color:#7690b1;min-height:26px}.is-showcase .release-brand{pointer-events:none}.release-support-dialog{max-width:450px}.support-preview-note{font-size:11px!important;background:#edf3ff;color:#6381aa!important;padding:12px;border-radius:10px}.support-example-thread{padding:18px 0;border-bottom:1px solid var(--line);margin-bottom:18px}.support-answer-badge{font-size:10px;color:#2463eb;background:#edf3ff;padding:4px 7px;border-radius:5px}.support-example-thread h3{font-size:16px;margin:14px 0 8px}.support-example-thread>p{font-size:12px!important}.support-example-thread>div{padding:15px;border-radius:12px;background:#f6f8fc;margin-top:16px}.support-example-thread>div strong{font-size:11px;color:#547399}.support-example-thread>div p{font-size:12px!important;margin:6px 0 0}.release-support-dialog form label{font-size:12px}.release-support-dialog textarea{display:block;width:100%;min-height:110px;border:1px solid #dce5f2;border-radius:11px;resize:vertical;padding:12px;font:inherit;font-size:12px;margin:8px 0 12px}.release-support-dialog form>.primary-button{width:100%;font-size:13px}.release-support-dialog form>[role=status]{font-size:11px!important;color:#547399!important}
.modal{border:1px solid #e4eaf3;border-radius:22px;box-shadow:0 18px 80px #142e5126}.modal::backdrop{background:#182b435c;backdrop-filter:blur(3px)}.modal-top{margin-bottom:18px}.modal-top>strong,.modal-top>h2{font-size:19px;letter-spacing:-.7px}.modal p{font-size:12px;line-height:1.8;color:#7c8ca1}.station-picker-modal{border-radius:22px}.station-picker-search input{border-radius:12px}.journey-current h2{font-size:35px}.journey-mode{font-size:11px}.native-journey-modal .journey-mode{color:#4e78b7}.service-notice{border-radius:13px}
@media(min-width:721px){.app-layout.has-search{padding-top:25px;max-width:1040px}.map-card{height:710px}.app-header .release-brand{order:0}.app-header .release-region{order:1}.app-header .top-nav{order:2}.has-info .information-panel{max-width:500px;margin:0 auto}.information-panel{padding-top:12px}}
@media(max-width:720px){body{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}.app-header{height:calc(65px + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) 21px 0;gap:12px;top:0;border-bottom:1px solid var(--line)}.release-brand img{width:36px;height:36px;border-radius:10px}.release-brand strong{font-size:21px}.release-region{margin-left:auto;font-size:10px}.release-view-title{display:none}.app-header .top-nav{min-height:72px;padding:7px 12px calc(7px + env(safe-area-inset-bottom,0px));gap:2px;box-shadow:0 -3px 18px #183b6903;background:#fff}.app-header .nav-item{font-size:10px;gap:5px;min-height:48px;padding:4px;min-width:0;flex:1}.app-header .nav-item .icon{width:21px;height:21px;stroke-width:1.65}.app-header .nav-item.active{background:transparent}.commute-home{padding:23px 20px calc(108px + env(safe-area-inset-bottom,0px));max-width:520px}.release-home-intro{margin-bottom:18px}.release-home-intro h2{font-size:24px}.power-stage{bottom:calc(72px + env(safe-area-inset-bottom,0px));width:min(480px,calc(100vw - 40px));padding:10px 0;background:linear-gradient(0deg,var(--bg) 55%,#f7f9fc00)}.app-layout.has-search{padding:17px 16px 25px}.app-utility-bar + .app-layout.has-search{padding-top:17px}.app-layout:not(.has-home):not(.has-search){padding:16px 20px 30px}.favorites-pinned{top:calc(65px + env(safe-area-inset-top,0px));padding-top:10px}.showcase-note{padding:4px 20px}.showcase-note>span{gap:5px}.showcase-note small{font-size:8px}.showcase-note button{min-height:24px}.map-card{height:calc(100svh - 178px);min-height:530px}.map-top .context-info-button{display:none}.map-top{padding:0 13px}.map-title h1{font-size:13px}.map-label{font-size:8px}.map-legend{gap:8px}.toast{bottom:calc(150px + env(safe-area-inset-bottom,0px))}.app-layout.has-home{min-height:calc(100dvh - 137px)}.information-panel{padding-top:10px}.information-brand-card{margin-bottom:22px}}
@media(max-width:360px){.commute-home{padding-left:15px;padding-right:15px}.release-home-intro h2{font-size:22px}.home-route-card{padding-left:16px;padding-right:16px}.home-primary-actions{margin-left:-16px;margin-right:-16px}.summary-duration strong{font-size:35px}.summary-duration{gap:6px}.summary-duration small{font-size:9px;max-width:65px}.home-card-heading .context-info-button{width:32px;min-width:32px}.favorite-tab{padding:6px 8px;max-width:140px}.favorite-name{font-size:11px}.arrival-option{padding:11px;gap:6px}.arrival-detail strong{font-size:13px}.arrival-detail b{font-size:14px}.arrival-choice{font-size:9px}.session-metrics{gap:6px}.session-metrics>div{padding:12px 8px}.session-metrics strong{font-size:14px}.power-stage{width:calc(100vw - 30px)}.app-layout:not(.has-home):not(.has-search){padding-left:15px;padding-right:15px}.saved-route,#saved-routes .saved-route{padding:14px 9px;gap:3px;grid-template-columns:25px minmax(0,1fr) 31px 31px 25px}}

html:not([data-theme=dark]):has(.has-home .compact-home:not(.is-running)) {
  --bg: #fff;
}

.compact-home:not(.is-running) {
  padding-top: 14px;
}

.compact-home:not(.is-running):has(#home-route-summary:not([hidden])) .minimal-home-top:not(.has-favorites) {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
}

.compact-home:not(.is-running) .home-route-card:has(#home-route-summary:not([hidden])) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  align-items: start;
  column-gap: 6px;
  padding: 0 0 12px;
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}

.compact-home:not(.is-running) .home-route-picker {
  min-width: 0;
}

.compact-home:not(.is-running) .home-route-card:has(#home-route-summary:not([hidden])) .chosen-route {
  display: flex;
  gap: 2px;
}

.compact-home:not(.is-running) .home-route-card:has(#home-route-summary:not([hidden])) .chosen-stop {
  min-height: 44px;
  text-align: start;
}

.compact-home:not(.is-running) .home-route-card:has(#home-route-summary:not([hidden])) .chosen-stop small {
  display: none;
}

.compact-home:not(.is-running) .home-route-card:has(#home-route-summary:not([hidden])) .chosen-stop strong {
  font-size: 24px;
  color: var(--ink);
  letter-spacing: -.035em;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.compact-home:not(.is-running) .home-route-card:has(#home-route-summary:not([hidden])) .chosen-arrow {
  flex: 0 0 36px;
  width: 36px;
  height: 44px;
  border-radius: 8px;
  background: transparent;
  color: var(--muted);
}

.compact-home:not(.is-running) .home-route-summary {
  display: grid;
  grid-column: 1;
  grid-row: 2;
  grid-template-columns: minmax(0, 1fr);
  gap: 5px;
  margin: 0;
}

.compact-home:not(.is-running) .summary-overview,
.compact-home:not(.is-running) .summary-meta,
.compact-home:not(.is-running) .summary-boarding-direction {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
  text-align: start;
  overflow-wrap: anywhere;
}

.compact-home:not(.is-running) .summary-boarding-line {
  color: var(--ink);
  font-weight: 650;
}

.compact-home:not(.is-running) .home-primary-actions {
  display: contents;
}

.compact-home:not(.is-running) .home-primary-actions button {
  width: auto;
  min-height: 44px;
  justify-content: flex-end;
  gap: 5px;
  padding: 0 2px;
  border: 0;
  border-radius: 8px;
  color: var(--muted);
  font-size: 12px;
  white-space: nowrap;
}

.compact-home:not(.is-running) .home-edit {
  grid-column: 2;
  grid-row: 1;
}

.compact-home:not(.is-running) .home-edit > span:last-child {
  margin-left: 0;
  font-size: 17px;
}

.compact-home:not(.is-running) .home-save {
  grid-column: 2;
  grid-row: 2;
}

.compact-home:not(.is-running) .home-save .icon {
  width: 14px;
  height: 14px;
}

.compact-home:not(.is-running) .home-route-notice {
  margin: 5px 0 0;
}

.compact-home:not(.is-running) .arrivals-heading > strong {
  color: var(--ink);
  font-size: 16px;
}

.compact-home:not(.is-running) .arrivals-heading > div {
  display: flex;
  align-items: center;
  gap: 6px;
}

.compact-home:not(.is-running) .arrivals-heading button {
  min-height: 44px;
  padding-inline: 5px;
  color: var(--muted);
  font-size: 12px;
}

.compact-home:not(.is-running) .power-button {
  border-radius: 10px;
  box-shadow: none;
  font-size: 16px;
}

@media (max-width: 360px) {
  .compact-home:not(.is-running) .home-route-card:has(#home-route-summary:not([hidden])) .chosen-stop strong {
    font-size: 21px;
  }
}

/* Public web provides route lookup and train information. */
.power-stage, .power-session, #information-alarm, #information-widgets, .favorites-commute-actions, #auto-schedules-panel, #home-membership, #try-guide { display: none !important; }
.arrival-readonly-row { grid-template-columns: minmax(0, 1fr) auto; cursor: default; }
