:root {
  --bg: #070b0e;
  --surface: #0d1418;
  --surface-2: #111a1f;
  --line: #202c32;
  --text: #f2f7f4;
  --muted: #748187;
  --green: #72f08b;
  --green-bg: #16301e;
  --amber: #ffbd54;
  --amber-bg: #382914;
}

* { box-sizing: border-box; }
html { min-height: 100%; background: var(--bg); scroll-behavior: smooth; }
body { min-height: 100vh; margin: 0; background: var(--bg); color: var(--text); font-family: Inter, "Segoe UI", Arial, sans-serif; }
button, input, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
button { color: inherit; }
[hidden] { display: none !important; }

.app-shell { min-height: 100vh; }
.desktop-rail { display: none; }
.workspace { width: min(100%, 1180px); margin: 0 auto; padding: 0 18px 106px; }
.topbar { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.brand { display: flex; align-items: center; gap: 9px; font-weight: 900; letter-spacing: -.06em; }
.brand b { color: var(--green); }
.brand-mark { width: 30px; height: 30px; position: relative; display: inline-grid; place-items: center; overflow: hidden; border: 1px solid #2c4333; border-radius: 9px; background: #101a14; }
.brand-mark i { width: 21px; height: 2px; position: absolute; border-radius: 4px; background: var(--green); transform: rotate(-36deg); }
.brand-mark i:first-child { transform: translateY(-5px) rotate(-36deg); }
.brand-mark i:last-child { transform: translateY(5px) rotate(-36deg); }
.topbar-copy { display: none; flex: 1; }
.topbar-copy p { margin: 0 0 3px; color: #647179; font-size: 9px; letter-spacing: .12em; }
.topbar-copy h1 { margin: 0; font-size: 16px; letter-spacing: -.03em; }
.install-button { min-height: 38px; padding: 0 12px; display: flex; align-items: center; gap: 7px; border: 1px solid #31503b; border-radius: 11px; background: #14241a; color: var(--green); font-size: 10px; cursor: pointer; }
.install-button span { font-size: 15px; }
.install-button[hidden]{display:none}.install-button:hover,.install-button:focus-visible{border-color:#55765e;outline:0}.install-guide-card{grid-column:1/-1;scroll-margin-top:100px;transition:border-color .2s,box-shadow .2s}.install-guide-card:focus{outline:0}.install-guide-card.is-targeted{border-color:#4d7657;box-shadow:0 0 0 3px rgba(114,240,139,.08)}.install-card-status{margin-top:15px;padding:11px;display:flex;align-items:center;gap:10px;border:1px solid #29383a;border-radius:11px;background:#0b1214}.install-card-status>span{width:8px;height:8px;flex:0 0 auto;border-radius:50%;background:var(--green);box-shadow:0 0 10px rgba(114,240,139,.38)}.install-card-status>div{min-width:0;display:flex;flex-direction:column}.install-card-status strong{font-size:9px}.install-card-status small{margin-top:4px;color:#68767b;font-size:7px;line-height:1.4}.install-platform-grid{margin-top:10px;display:grid;gap:8px}.install-platform-grid button{min-height:76px;padding:11px;display:grid;grid-template-columns:37px minmax(0,1fr);grid-template-rows:auto auto;align-content:center;column-gap:10px;border:1px solid #27363a;border-radius:12px;background:#0b1215;color:inherit;text-align:left;cursor:pointer}.install-platform-grid button:hover,.install-platform-grid button:focus-visible{border-color:#466b50;background:#101b16;outline:0}.install-platform-grid button>span{width:37px;height:37px;grid-row:1/3;display:grid;place-items:center;border:1px solid #34513d;border-radius:10px;background:#14241a;color:var(--green);font-size:17px}.install-platform-grid strong{font-size:10px}.install-platform-grid small{margin-top:4px;color:#69767c;font-size:7px}.install-hide-toggle{width:100%;min-height:59px;margin-top:10px;padding:10px 11px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #27343a;border-radius:11px;background:#0c1215;color:inherit;text-align:left;cursor:pointer}.install-hide-toggle:hover,.install-hide-toggle:focus-visible{border-color:#3d5947;outline:0}.install-hide-toggle>span{display:flex;flex-direction:column}.install-hide-toggle strong{font-size:9px}.install-hide-toggle small{max-width:540px;margin-top:4px;color:#68757b;font-size:7px;line-height:1.4}.install-hide-toggle>i{width:34px;height:19px;padding:2px;flex:0 0 auto;display:flex;align-items:center;border-radius:99px;background:#273238}.install-hide-toggle>i b{width:15px;height:15px;border-radius:50%;background:#78858b;transition:transform .15s}.install-hide-toggle.is-on>i{background:#1f5730}.install-hide-toggle.is-on>i b{background:var(--green);transform:translateX(15px)}.install-local-note{margin:10px 2px 0;color:#657278;font-size:7px;line-height:1.5}.install-local-note strong{color:#91a097}.install-dialog{width:min(540px,calc(100vw - 28px));max-height:calc(100vh - 28px);padding:0;overflow:auto;border:1px solid #30483a;border-radius:18px;background:#0b1114;color:var(--text);box-shadow:0 24px 75px rgba(0,0,0,.65)}.install-dialog::backdrop{background:rgba(2,5,7,.78);backdrop-filter:blur(5px)}.install-dialog-shell{padding:19px}.install-dialog-head{display:grid;grid-template-columns:43px minmax(0,1fr) 34px;align-items:center;gap:11px}.install-dialog-head>span{width:43px;height:43px;display:grid;place-items:center;border:1px solid #34513d;border-radius:12px;background:#14241a;color:var(--green);font-size:19px}.install-dialog-head small{color:var(--green);font-size:7px;font-weight:850;letter-spacing:.12em}.install-dialog-head h2{margin:4px 0 0;font-size:16px}.install-dialog-head button{width:34px;height:34px;border:1px solid #2c393e;border-radius:9px;background:#10171b;color:#8e9b95;font-size:18px;cursor:pointer}.install-dialog-intro{margin:17px 0 0;color:#9aa7a1;font-size:9px;line-height:1.55}.install-dialog-steps{margin:14px 0 0;padding:0;list-style:none;counter-reset:install-step;display:grid;gap:8px}.install-dialog-steps li{min-height:48px;padding:10px 11px 10px 44px;position:relative;display:flex;align-items:center;border:1px solid #253238;border-radius:10px;background:#0e1518;color:#aeb9b4;font-size:8px;line-height:1.5;counter-increment:install-step}.install-dialog-steps li::before{content:counter(install-step);width:24px;height:24px;position:absolute;left:10px;display:grid;place-items:center;border:1px solid #36533f;border-radius:7px;background:#16241a;color:var(--green);font-size:8px;font-weight:850}.install-dialog-note{margin:11px 0 0;padding:10px 11px;border:1px solid #493b25;border-radius:10px;background:#1c1710;color:#a99577;font-size:7px;line-height:1.5}.install-dialog-actions{margin-top:14px;display:flex;justify-content:flex-end;gap:8px}.install-dialog-actions button{min-height:37px;padding:0 13px;border:1px solid #324239;border-radius:9px;background:#121b17;color:#94a39b;font-size:8px;font-weight:800;cursor:pointer}.install-dialog-actions .install-native-action{border-color:#3b6347;background:#183020;color:var(--green)}
.icon-button { width: 42px; height: 42px; padding: 0; position: relative; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 13px; background: #0e1519; color: #dce5e1; font-size: 23px; cursor: pointer; }
.icon-button i { width: 7px; height: 7px; position: absolute; right: 8px; top: 8px; border-radius: 50%; background: var(--amber); box-shadow: 0 0 0 3px #0e1519; }

.view { animation: reveal .2s ease; }
@keyframes reveal { from { opacity: .35; transform: translateY(5px); } }
.eyebrow { display: inline-flex; align-items: center; gap: 7px; color: var(--green); font-size: 9px; font-weight: 850; letter-spacing: .16em; }
.eyebrow > i, .demo-pill i { width: 6px; height: 6px; border-radius: 50%; background: var(--green); box-shadow: 0 0 10px var(--green); }
.eyebrow.muted { color: #707d83; }
.network-card { min-height: 370px; position: relative; overflow: hidden; padding: 26px 22px 20px; border: 1px solid #26372d; border-radius: 24px; background: linear-gradient(145deg, rgba(27, 58, 39, .68), rgba(8, 16, 12, .97) 62%); }
.network-card::after, .page-hero::after { content: ""; position: absolute; inset: 0; opacity: .15; pointer-events: none; background-image: linear-gradient(rgba(114, 240, 139, .16) 1px, transparent 1px), linear-gradient(90deg, rgba(114, 240, 139, .16) 1px, transparent 1px); background-size: 42px 42px; mask-image: linear-gradient(to top, #000, transparent 86%); }
.track-lines { position: absolute; inset: auto -20% 48px -20%; height: 125px; opacity: .24; transform: perspective(320px) rotateX(62deg) rotateZ(-9deg); }
.track-lines i { width: 100%; height: 1px; position: absolute; left: 0; background: linear-gradient(90deg, transparent, var(--green), transparent); box-shadow: 0 0 18px var(--green); }
.track-lines i:nth-child(2) { top: 30px; }.track-lines i:nth-child(3) { top: 60px; }.track-lines i:nth-child(4) { top: 90px; }
.network-head, .status-grid { position: relative; z-index: 1; }
.network-actions { position: relative; z-index: 2; display: flex; align-items: center; gap: 6px; flex: 0 0 auto; }
.home-server-picker { display: block; }
.home-server-picker select { width: 84px; min-height: 28px; padding: 0 19px 0 10px; border: 1px solid #355540; border-radius: 999px; background: rgba(17, 47, 25, .74); color: var(--green); font: inherit; font-size: 8px; font-weight: 850; letter-spacing: .06em; cursor: pointer; }
.network-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.network-head h2, .page-hero h2 { margin: 14px 0 10px; font-size: clamp(28px, 7vw, 47px); line-height: 1.02; letter-spacing: -.055em; }
.network-head p, .page-hero p { max-width: 570px; margin: 0; color: #94a198; font-size: 13px; line-height: 1.55; }
.demo-pill { padding: 7px 9px; display: flex; align-items: center; gap: 6px; border: 1px solid #2f513a; border-radius: 999px; background: rgba(17, 47, 25, .74); color: var(--green); font-size: 8px; font-weight: 850; letter-spacing: .1em; }
.status-grid { margin-top: 43px; display: grid; grid-template-columns: 1fr 1fr; border: 1px solid rgba(120, 148, 128, .18); border-radius: 17px; background: rgba(4, 10, 7, .7); backdrop-filter: blur(10px); }
.status-grid > div { min-height: 91px; padding: 15px; display: flex; justify-content: center; flex-direction: column; }
.status-grid > div:nth-child(2) { border-left: 1px solid rgba(120, 148, 128, .15); }
.status-grid > div:last-child { grid-column: 1/-1; border-top: 1px solid rgba(120, 148, 128, .15); }
.status-grid small { margin-bottom: 7px; color: #68766e; font-size: 8px; font-weight: 750; letter-spacing: .11em; }
.status-grid strong { display: flex; align-items: center; gap: 7px; font-size: 17px; }
.status-grid .metric { font-size: 25px; }
.status-grid span { margin-top: 4px; color: #637069; font-size: 9px; }
.status-dot { width: 8px; height: 8px; display: inline-block; border-radius: 50%; background: var(--green); box-shadow: 0 0 10px rgba(114,240,139,.8); }

.section-heading { margin: 34px 2px 14px; display: flex; align-items: flex-end; justify-content: space-between; gap: 15px; }
.section-heading h2, .panel-title h2 { margin: 7px 0 0; font-size: 21px; letter-spacing: -.04em; }
.section-heading > a { color: var(--green); font-size: 11px; font-weight: 750; }
.alert-card { padding: 17px; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 14px; border: 1px solid #49361d; border-radius: 18px; background: linear-gradient(100deg, rgba(62, 42, 18, .47), rgba(16, 17, 14, .95)); }
.warning-mark { width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid #64471e; border-radius: 12px; background: var(--amber-bg); color: var(--amber); font-weight: 900; }
.alert-card .severity { padding: 5px 7px; border-radius: 5px; background: var(--amber-bg); color: var(--amber); font-size: 7px; font-weight: 850; letter-spacing: .08em; }
.alert-card div > small { margin-left: 8px; color: #756d61; font-size: 7px; }
.alert-card h3 { margin: 9px 0 4px; font-size: 14px; }.alert-card p { margin: 0; color: #948d82; font-size: 10px; line-height: 1.5; }
.alert-card > b, .alert-card > a { display: none; }
.alert-card.is-clear { border-color: #294535; background: linear-gradient(100deg, rgba(23, 53, 32, .48), rgba(13, 19, 16, .96)); }
.alert-card.is-clear .warning-mark { border-color: #315b3e; background: var(--green-bg); color: var(--green); }
.alert-card.is-clear .severity { background: var(--green-bg); color: var(--green); }
.alert-card.is-clear > b { color: var(--green); }
.alert-card>.alert-action{min-height:40px;padding:0 13px;grid-column:1/-1;border:1px solid #60471f;border-radius:10px;background:#241b10;color:var(--amber);font-size:9px;font-weight:850;cursor:pointer}.alert-card>.alert-action:hover,.alert-card>.alert-action:focus-visible{border-color:#8a642b;outline:0}.alert-card.is-clear>.alert-action{border-color:#365b40;background:#15271b;color:var(--green)}.alert-card.is-clear>.alert-action:hover,.alert-card.is-clear>.alert-action:focus-visible{border-color:#579267}.disruption-panel:focus{outline:2px solid rgba(114,240,139,.2);outline-offset:3px}

.quick-grid { display: grid; gap: 9px; }
.quick-card { min-height: 75px; padding: 12px 14px; display: grid; grid-template-columns: 43px 1fr auto; align-items: center; gap: 12px; border: 1px solid var(--line); border-radius: 15px; background: linear-gradient(145deg, #11191e, #0b1014); }
.quick-card.accent { border-color: #304a39; background: linear-gradient(145deg, #15251b, #0b120f); }
.quick-card > span { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid #2a383e; border-radius: 12px; background: #151e23; font-size: 19px; }
.quick-card.accent > span { border-color: #34513d; background: #193021; color: var(--green); }
.quick-card div { min-width: 0; display: flex; flex-direction: column; }.quick-card strong { font-size: 12px; }.quick-card small { margin-top: 4px; color: #6d797f; font-size: 9px; }.quick-card > b { color: #536168; font-weight: 500; }
.panel { border: 1px solid var(--line); border-radius: 19px; background: linear-gradient(145deg, #10171b, #0a0f12); }
.home-lower { margin-top: 34px; display: grid; gap: 13px; }
.news-panel, .promo-panel { padding: 19px; }.panel-title { min-height: 45px; display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; }.panel-title > span { color: #66747a; font-size: 8px; }
.news-toolbar{margin-top:13px;display:flex;align-items:center;justify-content:space-between;gap:9px}.news-filters{min-width:0;display:flex;gap:5px;overflow-x:auto;scrollbar-width:none}.news-filters::-webkit-scrollbar{display:none}.news-filters button,.news-refresh{min-height:32px;padding:0 10px;flex:0 0 auto;border:1px solid #27343a;border-radius:8px;background:#0b1114;color:#69767c;font-size:7px;font-weight:800;cursor:pointer}.news-filters button.is-active{border-color:#31553b;background:#14231a;color:var(--green)}.news-filters button:hover,.news-filters button:focus-visible,.news-refresh:hover,.news-refresh:focus-visible{border-color:#46644e;outline:0}.news-refresh{width:34px;padding:0;color:var(--green);font-size:13px}.news-refresh:disabled{opacity:.55;cursor:default}.news-refresh.is-loading{animation:news-spin 1s linear infinite}.news-source-summary{margin-top:9px;display:flex;gap:6px;flex-wrap:wrap}.news-source-summary span{min-height:25px;padding:0 8px;display:flex;align-items:center;gap:5px;border:1px solid #263238;border-radius:7px;background:#0b1114;color:#68757b;font-size:6px;font-weight:750}.news-source-summary i{width:5px;height:5px;border-radius:50%;background:#69767b}.news-source-summary span.is-ok i{background:var(--green);box-shadow:0 0 7px rgba(114,240,139,.4)}.news-source-summary span.is-error i{background:var(--amber)}.news-source-summary b{color:#95a39c;font-size:7px}.news-list{max-height:510px;margin-top:5px;overflow:auto;padding-right:4px;scrollbar-color:#34443b transparent}.news-row { padding: 15px 0; display: grid; grid-template-columns: 38px 1fr; gap: 12px; color:inherit; transition:opacity .15s ease }.news-row + .news-row { border-top: 1px solid #20292e; }.news-row:hover,.news-row:focus-visible{opacity:.8;outline:0}.source { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 11px; font-size: 11px; }.source-steam { background: #142c44; color: #96c8ff; }.source-blog { background: #183322; color: var(--green); }.source-changelog{background:#2c2414;color:var(--amber)}.source-announcements{background:#2b1920;color:#ef9bb9}
.news-row div { display: flex; flex-direction: column; }.news-row small { color: #657279; font-size: 7px; letter-spacing: .08em; }.news-row strong { margin-top: 6px; font-size: 12px; }.news-row p { margin: 5px 0 0; color: #6e7a80; font-size: 9px; line-height: 1.45; }.news-empty{min-height:112px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#657279;text-align:center}.news-empty>span{color:#96c8ff;font-size:18px}.news-empty strong{margin-top:7px;color:#aeb9be;font-size:10px}.news-empty small{margin-top:5px;font-size:7px}.news-links{padding-top:11px;display:flex;gap:14px;flex-wrap:wrap;border-top:1px solid #20292e}.news-links a{color:#77958a;font-size:8px;font-weight:750}.news-links a:hover,.news-links a:focus-visible{color:var(--green);outline:0}
@keyframes news-spin{to{transform:rotate(360deg)}}
.promo-panel > div:first-child { display: flex; justify-content: space-between; }.promo-panel > div:first-child > b { padding: 6px 8px; border-radius: 7px; background: var(--green-bg); color: var(--green); font-size: 10px; }
.promo-art { height: 82px; margin: 14px 0; position: relative; overflow: hidden; display: flex; align-items: flex-end; padding: 13px; border: 1px solid #294232; border-radius: 12px; background: linear-gradient(135deg,#173623,#0b1710 70%); font-size: 20px; font-weight: 900; }.promo-art i { width: 130%; height: 1px; position: absolute; left: -15%; bottom: 27px; background: var(--green); opacity: .35; transform: rotate(-15deg); }.promo-art i:last-child { bottom: 48px; opacity: .18; }
.promo-panel h2 { margin: 0 0 7px; font-size: 15px; }.promo-panel p { margin: 0; }.promo-panel p s { color: #68737a; font-size: 10px; }.promo-panel p strong { margin-left: 7px; color: var(--green); font-size: 17px; }.promo-panel > small { display: block; margin-top: 5px; color: #78848a; font-size: 8px; }
.promo-action{min-height:34px;margin-top:12px;display:flex;align-items:center;justify-content:center;border:1px solid #34553e;border-radius:9px;background:#142019;color:var(--green);font-size:8px;font-weight:800}.promo-action:hover,.promo-action:focus-visible{border-color:#579267;outline:0}

.page-hero { min-height: 230px; padding: 30px 23px; position: relative; overflow: hidden; display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; border: 1px solid #27372e; border-radius: 23px; background: linear-gradient(140deg,rgba(31,67,43,.68),rgba(9,17,14,.97) 64%); }
.page-hero > * { position: relative; z-index: 1; }.hero-stat, .local-badge { display: none; }
.traffic-mode-switch { margin-top: 15px; padding: 4px; display: grid; grid-template-columns: 1fr 1fr; gap: 4px; border: 1px solid #253238; border-radius: 13px; background: #0a1013; }
.traffic-mode-switch button { min-height: 38px; border: 1px solid transparent; border-radius: 9px; background: transparent; color: #68767c; font-size: 9px; font-weight: 800; cursor: pointer; }
.traffic-mode-switch button:hover, .traffic-mode-switch button:focus-visible { color: #aebbb5; outline: 0; }
.traffic-mode-switch button.is-active { border-color: #385a42; background: #15241a; color: var(--green); }
.search-row, .knowledge-controls { margin: 15px 0; display: grid; gap: 9px; }
.search-field { min-height: 53px; padding: 0 14px; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 10px; border: 1px solid #26343a; border-radius: 14px; background: #0e1519; color: var(--green); }
.search-field:focus-within { border-color: #40624a; }.search-field span { font-size: 20px; }.search-field input { width: 100%; border: 0; outline: 0; background: transparent; color: var(--text); font-size: 12px; }.search-field input::placeholder { color: #56646b; }
.filter-group, .category-tabs { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; }.filter-group button, .category-tabs button { min-height: 37px; padding: 0 12px; flex: 0 0 auto; border: 1px solid #253239; border-radius: 10px; background: #0e1519; color: #69767c; font-size: 9px; font-weight: 750; cursor: pointer; }.filter-group button.is-active, .category-tabs button.is-active { border-color: #385a42; background: #15241a; color: var(--green); }
.category-tabs button:disabled{opacity:.42;cursor:not-allowed}
.knowledge-subtabs{padding:9px;display:flex;gap:6px;overflow-x:auto;border:1px solid #24332b;border-radius:12px;background:#0a1110;scrollbar-width:none}.knowledge-subtabs button{min-height:32px;padding:0 11px;flex:0 0 auto;border:1px solid transparent;border-radius:8px;background:transparent;color:#65746d;font-size:8px;font-weight:800;cursor:pointer}.knowledge-subtabs button:hover,.knowledge-subtabs button:focus-visible{border-color:#30483a;color:#9ba9a1;outline:0}.knowledge-subtabs button.is-active{border-color:#385a42;background:#15241a;color:var(--green)}
.traffic-layout { display: grid; gap: 13px; }.result-panel { overflow: hidden; }.result-panel .panel-title { min-height: 73px; padding: 16px 17px 12px; border-bottom: 1px solid #202a2f; }.result-panel h2 small { color: #5f6c72; font-size: 10px; }.tag { padding: 5px 7px; border-radius: 6px; background: var(--amber-bg); color: var(--amber); font-size: 7px; font-weight: 850; letter-spacing: .08em; }
.train-list { max-height: 390px; padding: 6px; overflow-y: auto; overscroll-behavior: contain; scrollbar-color: #385044 #0b1114; scrollbar-width: thin; }.train-list::-webkit-scrollbar { width: 7px; }.train-list::-webkit-scrollbar-track { background: #0b1114; }.train-list::-webkit-scrollbar-thumb { border: 2px solid #0b1114; border-radius: 99px; background: #385044; }.train-row { width: 100%; min-height: 70px; padding: 9px; display: grid; grid-template-columns: 37px minmax(0,1fr) auto auto; align-items: center; gap: 9px; border: 1px solid transparent; border-radius: 12px; background: transparent; text-align: left; cursor: pointer; }.train-row + .train-row { border-top-color: #1e282d; }.train-row:hover, .train-row.is-selected { border-color: #2e4937; background: #132019; }.train-badge { width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid #3a5842; border-radius: 10px; background: #172b1d; color: var(--green); font-size: 8px; font-weight: 900; }.train-route { min-width: 0; display: flex; flex-direction: column; }.train-route strong { font-size: 11px; }.train-route small { margin-top: 5px; overflow: hidden; color: #6b787e; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }.delay { padding: 5px 7px; border-radius: 6px; font-size: 7px; font-weight: 800; }.delay.late { background: var(--amber-bg); color: var(--amber); }.delay.ok { background: var(--green-bg); color: var(--green); }.row-arrow { color: #506068; font-size: 18px; }
.train-detail { padding: 19px; }.detail-head { display: flex; align-items: center; gap: 10px; }.detail-head .train-badge { width: 44px; height: 44px; }.detail-head small, .map-detail small { color: #657278; font-size: 7px; letter-spacing: .08em; }.detail-head h2, .map-detail h2 { margin: 4px 0 0; font-size: 20px; }.detail-route { margin: 23px 0 10px; display: flex; justify-content: space-between; gap: 10px; color: #a5b0aa; font-size: 11px; }.detail-route span { color: var(--green); }.progress { height: 4px; overflow: hidden; border-radius: 99px; background: #253129; }.progress i { height: 100%; display: block; border-radius: 99px; background: var(--green); }
.station-summary { margin: 17px 0 15px; display: grid; grid-template-columns: 1fr 1fr; border: 1px solid #253238; border-radius: 11px; background: #0b1114; }
.station-summary > span { min-height: 57px; padding: 10px 12px; display: flex; justify-content: center; flex-direction: column; }
.station-summary > span + span { border-left: 1px solid #253238; }
.station-summary small { color: #5d6a70; font-size: 6px; letter-spacing: .09em; }
.station-summary strong { margin-top: 5px; font-size: 11px; }
.station-board-meta { min-height: 39px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 3px 8px; }
.station-board-meta > span { color: var(--green); font-size: 7px; font-weight: 850; letter-spacing: .08em; }
.station-board-meta > small { grid-column: 1; color: #657278; font-size: 7px; }
.station-board-meta > button { width: 32px; height: 32px; grid-column: 2; grid-row: 1 / 3; border: 1px solid #304036; border-radius: 8px; background: #111a16; color: var(--green); cursor: pointer; }
.station-board-section { margin-top: 15px; }
.station-board-section h3 { margin: 0 0 7px; display: flex; align-items: center; gap: 7px; color: #d5ded9; font-size: 11px; }
.station-board-section h3 small { color: #637079; font-size: 8px; }
.station-board-row { width: 100%; min-height: 59px; padding: 8px; display: grid; grid-template-columns: 48px minmax(0,1fr) auto; align-items: center; gap: 7px; border: 1px solid #202d31; border-radius: 9px; background: #0b1114; color: inherit; text-align: left; cursor: pointer; }
.station-board-row + .station-board-row { margin-top: 5px; }
.station-board-row:hover, .station-board-row:focus-visible { border-color: #385a42; background: #111b16; outline: 0; }
.station-board-row > time, .station-board-row > span { min-width: 0; display: flex; flex-direction: column; }
.station-board-row time strong { color: var(--green); font-size: 13px; }
.station-board-row time small, .station-board-row > span small { margin-top: 3px; color: #5e6b70; font-size: 6px; }
.station-board-row > span strong { overflow: hidden; color: #c7d1cc; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.station-board-row > span em { margin-top: 4px; color: #647178; font-size: 7px; font-style: normal; }
.station-board-row > b { color: #aebbb5; font-size: 8px; white-space: nowrap; }
.station-board-row > i { grid-column: 2 / 4; color: var(--green); font-size: 7px; font-style: normal; font-weight: 800; }
.station-board-row > i.late { color: var(--amber); }
.station-board-row[data-not-live="true"] { opacity: .7; }
.station-board-row.is-cancelled { border-color: #553528; }
.station-board-row.is-cancelled > span strong, .station-board-row.is-cancelled > b { text-decoration: line-through; }
.station-board-empty { min-height: 55px; padding: 14px; display: grid; place-items: center; border: 1px dashed #26343a; border-radius: 9px; color: #657278; font-size: 8px; text-align: center; }
.favorite-toggle{width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;border:1px solid #394239;border-radius:10px;background:#111815;color:#7c887f;font-size:18px;line-height:1;cursor:pointer}.favorite-toggle:hover,.favorite-toggle:focus-visible{border-color:#5b754f;color:#bcd2bd;outline:0}.favorite-toggle.is-active{border-color:#75632f;background:#28210f;color:#ffd264}.detail-head>.favorite-toggle,.map-detail-head>.favorite-toggle{margin-left:auto}.knowledge-detail-actions>.favorite-toggle{width:34px;height:34px;padding:0;border-color:#394239;background:#111815;color:#7c887f;font-size:16px}.knowledge-detail-actions>.favorite-toggle.is-active{border-color:#75632f;background:#28210f;color:#ffd264}
.metrics { margin: 17px 0 20px; display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid #222d32; border-radius: 12px; background: #0b1114; }.metrics div { min-height: 65px; padding: 11px 8px; display: flex; justify-content: center; flex-direction: column; }.metrics div + div { border-left: 1px solid #222d32; }.metrics small { color: #58666c; font-size: 6px; letter-spacing: .1em; }.metrics strong { margin-top: 6px; font-size: 12px; }.amber { color: var(--amber); }.green { color: var(--green); }
.timeline-stop { min-height: 50px; position: relative; display: grid; grid-template-columns: 16px 1fr auto; gap: 9px; }.timeline-stop:not(:last-child)::after { content:""; width: 1px; position: absolute; left: 5px; top: 14px; bottom: -3px; background: #2b3b32; }.timeline-stop > i { width: 11px; height: 11px; margin-top: 2px; position: relative; z-index: 1; border: 2px solid #3b4943; border-radius: 50%; background: #10171b; }.timeline-stop.current > i { border-color: var(--green); box-shadow: 0 0 0 4px rgba(114,240,139,.08); }.timeline-stop.done > i { border-color: var(--green); background: var(--green); }.timeline-stop span { display:flex;flex-direction:column; }.timeline-stop strong { font-size: 10px; }.timeline-stop small { margin-top: 3px; color:#657278;font-size:7px; }.timeline-stop time { color:#8c989d;font-size:9px; }.timeline-stop.current strong,.timeline-stop.current time{color:var(--green)}
.info-note { margin: 14px 0 0; padding: 11px 12px; border: 1px solid #3b301d; border-radius: 10px; background: #241d11; color: #aa946b; font-size: 8px; line-height: 1.5; }.server-strip { margin-top: 13px; display: grid; gap: 7px; }.server-strip > div { min-height: 58px; padding: 9px 13px; display: grid; grid-template-columns:auto 1fr auto;align-items:center;gap:9px;border:1px solid var(--line);border-radius:12px;background:var(--surface); }.server-strip span{display:flex;flex-direction:column}.server-strip small{color:#5f6c72;font-size:7px}.server-strip strong{margin-top:3px;font-size:10px}.server-strip b{color:#68757b;font-size:8px}

.disruption-panel{margin-top:13px;padding:17px}.disruption-panel .panel-title{align-items:center}.disruption-panel h2 small{color:#647178;font-size:10px}.disruption-list{margin-top:12px;display:grid;gap:7px}.disruption-row{width:100%;min-height:64px;padding:10px 11px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;border:1px solid #3d3321;border-radius:12px;background:#17150f;text-align:left;cursor:pointer}.disruption-row>i{width:31px;height:31px;display:grid;place-items:center;border:1px solid #62471f;border-radius:9px;background:var(--amber-bg);color:var(--amber);font-style:normal;font-size:11px;font-weight:900}.disruption-row>span{min-width:0;display:flex;flex-direction:column}.disruption-row strong{font-size:10px}.disruption-row small{margin-top:5px;color:#8c8374;font-size:7px;line-height:1.4}.disruption-row>b{color:var(--amber);font-size:8px}.disruption-row:hover,.disruption-row:focus-visible{border-color:#74552a;outline:0}.disruption-empty{min-height:82px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#6f7c77;text-align:center}.disruption-empty>span{color:var(--green);font-size:18px}.disruption-empty strong{margin-top:6px;color:#aebbb4;font-size:10px}.disruption-empty small{margin-top:4px;font-size:7px}.disruption-note{margin:12px 0 0;color:#675f50;font-size:7px;line-height:1.5}

.map-toolbar { min-height: 86px; padding: 12px 2px 15px; display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:12px}.map-toolbar h2{margin:7px 0 0;font-size:23px;letter-spacing:-.045em}.map-layout{display:grid;gap:13px}.map-canvas{min-height:430px;position:relative;overflow:hidden;border:1px solid #233138;border-radius:19px;background:radial-gradient(circle at 70% 25%,rgba(41,103,59,.18),transparent 30%),linear-gradient(145deg,#101a1d,#091014)}.map-canvas::before{content:"";position:absolute;inset:0;opacity:.16;background-image:linear-gradient(rgba(96,127,112,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(96,127,112,.2) 1px,transparent 1px);background-size:38px 38px}.map-grid{position:absolute;inset:34px 28px 49px;transition:transform .2s ease;transform-origin:center}.rail{height:3px;position:absolute;left:18%;top:48%;width:67%;border-radius:99px;background:#3f6950;box-shadow:0 0 0 1px #182c20,0 0 13px rgba(89,190,111,.18);transform-origin:left center}.rail::after{content:"";position:absolute;inset:-4px 0;opacity:.45;background:repeating-linear-gradient(90deg,transparent 0 12px,#5c7b67 12px 14px,transparent 14px 25px)}.rail.one{transform:rotate(-31deg)}.rail.two{width:56%;transform:rotate(18deg)}.rail.three{left:48%;top:25%;width:44%;transform:rotate(73deg)}.rail.four{left:34%;top:66%;width:48%;transform:rotate(-17deg)}.rail.five{left:49%;top:48%;width:37%;transform:rotate(137deg)}
.station{position:absolute;display:flex;align-items:center;gap:5px;color:#8d9b95;font-size:7px;font-weight:700;white-space:nowrap}.station i{width:9px;height:9px;border:2px solid #8ba496;border-radius:50%;background:#0d1619}.station.waw{left:45%;top:17%}.station.lod{left:23%;top:41%}.station.zaw{left:56%;top:56%}.station.kat{left:29%;top:74%}.station.kra{left:77%;top:77%}.map-train{min-width:52px;min-height:28px;padding:3px 7px;position:absolute;z-index:3;display:flex;align-items:center;gap:5px;border:1px solid #355840;border-radius:9px;background:#14281a;color:var(--green);box-shadow:0 5px 14px rgba(0,0,0,.34);transform:translate(-50%,-50%);cursor:pointer}.map-train b{font-size:6px}.map-train span{color:#d6e1db;font-size:7px}.map-train.is-selected{border-color:var(--green);box-shadow:0 0 0 4px rgba(114,240,139,.09)}.map-alert{width:24px;height:24px;position:absolute;z-index:2;left:46%;top:61%;display:grid;place-items:center;border:1px solid #8b5a22;border-radius:50%;background:#3b2813;color:var(--amber);box-shadow:0 0 0 6px rgba(255,189,84,.07);font-size:10px;font-weight:900}.zoom-controls{position:absolute;z-index:4;right:12px;top:12px;display:flex;flex-direction:column;overflow:hidden;border:1px solid #2a383e;border-radius:9px}.zoom-controls button{width:35px;height:35px;border:0;background:rgba(13,21,25,.94);font-size:17px;cursor:pointer}.zoom-controls button+button{border-top:1px solid #2a383e}.map-watermark{position:absolute;z-index:4;left:12px;right:12px;bottom:12px;color:#536168;font-size:6px;letter-spacing:.09em}.map-detail{padding:19px}.map-detail-head{display:flex;align-items:center;gap:10px}.map-detail .detail-route{margin:20px 0 12px}.map-stats{display:grid;grid-template-columns:1fr 1fr;border:1px solid #222d32;border-radius:12px;background:#0b1114}.map-stats div{min-height:65px;padding:12px;display:flex;justify-content:center;flex-direction:column}.map-stats div+div{border-left:1px solid #222d32}.map-stats span{color:#5d6a70;font-size:6px;letter-spacing:.1em}.map-stats strong{margin-top:6px;font-size:12px}.primary-action{min-height:43px;margin-top:12px;padding:0 13px;display:flex;align-items:center;justify-content:space-between;border:1px solid #35553e;border-radius:10px;background:#16261b;color:var(--green);font-size:9px;font-weight:750}.legend{margin-top:20px;padding-top:16px;display:grid;gap:8px;border-top:1px solid #202a2f}.legend h3{margin:0;color:#7f8c91;font-size:8px;letter-spacing:.08em}.legend span{color:#68757b;font-size:8px}

.knowledge-controls{margin-top:15px}.knowledge-layout{display:grid;gap:12px}.knowledge-grid{max-height:430px;padding-right:5px;display:grid;align-content:start;gap:9px;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#385044 #0b1114;scrollbar-width:thin}.knowledge-grid::-webkit-scrollbar{width:7px}.knowledge-grid::-webkit-scrollbar-track{background:#0b1114}.knowledge-grid::-webkit-scrollbar-thumb{border:2px solid #0b1114;border-radius:99px;background:#385044}.knowledge-card{width:100%;min-height:135px;padding:16px;display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:start;gap:12px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,#10181c,#0a0f12);color:inherit;text-align:left;cursor:pointer}.knowledge-card:hover,.knowledge-card:focus-visible,.knowledge-card.is-selected{border-color:#3d6549;background:linear-gradient(145deg,#13231a,#0b1210);outline:0}.knowledge-icon,.tool-icon{width:43px;height:43px;display:grid;place-items:center;border:1px solid #31503b;border-radius:12px;background:#172a1d;color:var(--green);font-size:9px;font-weight:900}.knowledge-card-copy{min-width:0;display:block}.knowledge-card-copy>small,.tool-title div>small{color:#647177;font-size:7px;letter-spacing:.1em}.knowledge-card-copy>strong{display:block;margin:6px 0;font-size:14px}.knowledge-card-copy p{margin:0;color:#778389;font-size:9px;line-height:1.5}.knowledge-card-copy>b{display:block;margin-top:10px;color:var(--green);font-size:8px}.knowledge-card>i{width:30px;height:30px;display:grid;place-items:center;border:1px solid #29363c;border-radius:9px;background:#131c20;color:#637178;font-style:normal}.knowledge-card.is-selected>i{border-color:#3d6549;color:var(--green)}.knowledge-detail{padding:19px;align-self:start}.knowledge-detail-head{display:flex;align-items:center;gap:11px}.knowledge-detail-head>div{min-width:0}.knowledge-detail-head small{color:#657278;font-size:7px;letter-spacing:.09em}.knowledge-detail-head h2{margin:5px 0 0;font-size:18px}.knowledge-detail-copy{margin:16px 0;color:#7c898e;font-size:9px;line-height:1.55}.knowledge-version-note{margin:-5px 0 14px;padding:9px 10px;border:1px solid #493d28;border-radius:9px;background:#1c170f;color:#a88f65;font-size:7px;line-height:1.5}.procedure-progress{padding:12px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:5px 10px;border:1px solid #2b4032;border-radius:11px;background:#0c1510}.procedure-progress>span{display:flex;flex-direction:column}.procedure-progress strong{font-size:10px}.procedure-progress small{margin-top:3px;color:#64736b;font-size:7px}.procedure-progress>b{color:var(--green);font-size:12px}.procedure-progress>i{height:4px;grid-column:1/-1;overflow:hidden;border-radius:99px;background:#233129}.procedure-progress>i>b{height:100%;display:block;border-radius:99px;background:var(--green);transition:width .2s ease}.procedure-steps{margin-top:12px;display:grid;gap:7px}.procedure-step{width:100%;min-height:54px;padding:9px 10px;display:grid;grid-template-columns:29px minmax(0,1fr);align-items:center;gap:10px;border:1px solid #27343a;border-radius:11px;background:#0b1114;color:#a8b3ae;text-align:left;cursor:pointer}.procedure-step>i{width:29px;height:29px;display:grid;place-items:center;border:1px solid #3b4942;border-radius:8px;color:#78857f;font-style:normal;font-size:8px;font-weight:850}.procedure-step>span{font-size:8px;line-height:1.5}.procedure-step:hover,.procedure-step:focus-visible{border-color:#416049;outline:0}.procedure-step.is-complete{border-color:#2f5139;background:#101d14;color:#6f7f77}.procedure-step.is-complete>i{border-color:#4d8359;background:#1a3521;color:var(--green)}.procedure-step.is-complete>span{text-decoration:line-through;text-decoration-color:#4c6253}.knowledge-detail-actions{min-height:36px;margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:10px}.knowledge-detail-actions>button{padding:8px 10px;border:1px solid #463c2b;border-radius:8px;background:#1d1810;color:#b89a69;font-size:7px;cursor:pointer}.knowledge-detail-actions>span{margin-left:auto;color:#5d6b64;font-size:6px;letter-spacing:.09em}.knowledge-sources{margin-top:10px;display:grid;gap:7px}.knowledge-source{padding:11px;display:grid;grid-template-columns:auto 1fr;gap:3px 9px;border:1px solid #29373d;border-radius:10px;background:#0b1114}.knowledge-source>span{grid-row:1/3;color:#657279;font-size:6px;letter-spacing:.09em}.knowledge-source>strong{font-size:8px}.knowledge-source>small{color:#6f8c79;font-size:7px}.knowledge-facts{margin:0;display:grid;gap:7px}.knowledge-facts>div{padding:10px 11px;border:1px solid #27343a;border-radius:10px;background:#0b1114}.knowledge-facts dt{color:var(--green);font-size:8px;font-weight:800}.knowledge-facts dd{margin:5px 0 0;color:#7b888e;font-size:8px;line-height:1.45}
.knowledge-detail{scroll-margin-top:88px}.knowledge-detail:focus{outline:1px solid #31503b;outline-offset:2px}.vehicle-procedure-status{margin-top:10px;padding:11px;display:grid;grid-template-columns:28px 1fr;gap:10px;border:1px solid #493d28;border-radius:10px;background:#1b170f}.vehicle-procedure-status>span{width:28px;height:28px;display:grid;place-items:center;border:1px solid #65502e;border-radius:8px;color:var(--amber);font-size:9px;font-weight:900}.vehicle-procedure-status strong{font-size:8px}.vehicle-procedure-status p{margin:5px 0 0;color:#9a8766;font-size:7px;line-height:1.5}
.knowledge-back{margin:0 0 13px;padding:8px 10px;border:1px solid #2e4036;border-radius:8px;background:#101914;color:#7f9989;font-size:8px;font-weight:750;cursor:pointer}.knowledge-back:hover,.knowledge-back:focus-visible{border-color:#45664f;color:var(--green);outline:0}
.signal-aspects{display:grid;gap:9px}.signal-aspect{padding:12px;display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;border:1px solid #27343a;border-radius:12px;background:#0b1114}.signal-visual{display:flex;align-items:center;flex-direction:column;gap:6px}.signal-code{color:var(--green);font-size:9px;font-weight:900}.signal-lamp{width:34px;min-height:54px;padding:7px 6px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;border:1px solid #3a4449;border-radius:13px;background:#030607;box-shadow:inset 0 0 10px rgba(0,0,0,.8)}.signal-lamp.is-horizontal{width:48px;min-height:34px;flex-direction:row}.signal-light{width:15px;height:15px;display:block;flex:0 0 auto;border:2px solid #1e2528;border-radius:50%;background:#111619}.signal-light.is-red{border-color:#7c252d;background:#ff4351;box-shadow:0 0 10px rgba(255,67,81,.48)}.signal-light.is-orange{border-color:#7b5222;background:#ffb43d;box-shadow:0 0 10px rgba(255,180,61,.42)}.signal-light.is-green{border-color:#2e713d;background:#65ef84;box-shadow:0 0 10px rgba(101,239,132,.42)}.signal-light.is-white{border-color:#687378;background:#edf6f2;box-shadow:0 0 10px rgba(237,246,242,.45)}.signal-light.is-blue{border-color:#204f79;background:#3a9bf1;box-shadow:0 0 10px rgba(58,155,241,.45)}.signal-light.is-blink{outline:1px dashed #9daaa4;outline-offset:2px}.signal-band{width:25px;height:4px;display:block;border-radius:99px}.signal-band.is-green{background:#65ef84;box-shadow:0 0 8px rgba(101,239,132,.42)}.signal-band.is-orange{background:#ffb43d;box-shadow:0 0 8px rgba(255,180,61,.42)}.signal-aspect-copy>small{color:#78868b;font-size:7px;line-height:1.45}.signal-aspect-copy h3{margin:5px 0 9px;font-size:10px;line-height:1.35}.signal-aspect-copy dl{margin:0;display:grid;gap:7px}.signal-aspect-copy dl>div{padding-top:7px;border-top:1px solid #202c31}.signal-aspect-copy dt{color:#5f6d72;font-size:6px;letter-spacing:.08em}.signal-aspect-copy dd{margin:4px 0 0;color:#9ca9a3;font-size:8px;line-height:1.45}
.indicator-list{display:grid;gap:9px}.indicator-item{padding:12px;display:grid;grid-template-columns:72px minmax(0,1fr);gap:13px;border:1px solid #27343a;border-radius:12px;background:#0b1114}.indicator-visual{display:flex;align-items:center;flex-direction:column;gap:6px;text-align:center}.indicator-visual>small{color:#4f5d62;font-size:5px;letter-spacing:.06em;line-height:1.25}.indicator-board{width:43px;height:52px;display:grid;place-items:center;border:3px double #111;border-radius:2px;background:#edf1e9;color:#101411;font-style:normal;box-shadow:0 4px 12px rgba(0,0,0,.3)}.indicator-board>b{font-size:15px;font-weight:950;line-height:1}.indicator-board.is-dark{border-color:#dce5df;background:#080b0c;color:#f1f6f2}.indicator-board.is-rounded{border-radius:20px 20px 3px 3px}.indicator-board.is-triangle,.indicator-board.is-triangle-down{width:0;height:0;border-left:25px solid transparent;border-right:25px solid transparent;border-bottom:45px solid #edf1e9;border-top:0;background:transparent;box-shadow:none;position:relative}.indicator-board.is-triangle-down{border-bottom:0;border-top:45px solid #edf1e9}.indicator-board.is-triangle>b{position:absolute;left:50%;top:25px;transform:translateX(-50%)}.indicator-board.is-triangle-down>b{position:absolute;left:50%;bottom:25px;transform:translateX(-50%)}.indicator-board.is-double-triangle{height:62px;background:linear-gradient(150deg,transparent 0 15%,#edf1e9 16% 48%,transparent 49% 52%,#edf1e9 53% 85%,transparent 86%);border:0;box-shadow:none}.indicator-board.is-double-triangle>b{font-size:8px}.indicator-board.is-bars{background:repeating-linear-gradient(62deg,#edf1e9 0 8px,#151918 9px 14px);color:#e52e3f}.indicator-board.is-electric>b{padding:2px;background:#edf1e9;color:#e52e3f;font-size:19px}.indicator-board.is-rectangle>b{white-space:nowrap}.indicator-board.is-rectangle:not(.is-dark)>b{color:#101411}

.local-badge{padding:13px 15px;align-items:center;gap:9px;border:1px solid #31503b;border-radius:13px;background:rgba(13,30,18,.72)}.local-badge>span{font-size:20px;color:var(--green)}.local-badge strong,.local-badge small{display:block}.local-badge strong{font-size:9px}.local-badge small{margin-top:3px;color:#66736d;font-size:7px}.tools-grid{margin-top:14px;display:grid;gap:12px}.tool-card{padding:18px}.tool-title{display:grid;grid-template-columns:43px 1fr auto;align-items:center;gap:11px}.tool-title h2{margin:4px 0 0;font-size:15px}.tool-title>b{color:#66737a;font-size:8px}.tool-card textarea{width:100%;min-height:140px;margin-top:15px;padding:13px;resize:vertical;border:1px solid #26343a;border-radius:12px;outline:0;background:#0a1013;color:var(--text);font-size:11px;line-height:1.55}.tool-card textarea:focus{border-color:#3e6048}.note-actions{margin-top:9px;display:flex;align-items:center;justify-content:space-between;gap:10px}.note-actions span{color:#69767b;font-size:8px}.note-actions button{min-height:36px;padding:0 15px;border:1px solid #34553e;border-radius:9px;background:#17271c;color:var(--green);font-size:9px;font-weight:750;cursor:pointer}.calculator-fields{margin-top:16px;display:grid;gap:9px}.calculator-fields label{padding:10px 11px;display:flex;align-items:center;justify-content:space-between;border:1px solid #222e34;border-radius:10px;color:#748188;font-size:9px}.calculator-fields label span{color:#6e7b81}.calculator-fields input{width:55px;border:0;outline:0;background:transparent;color:var(--text);text-align:right}.calculator-result{margin-top:11px;padding:13px;border:1px solid #2d4736;border-radius:11px;background:#122018}.calculator-result small{color:#627069;font-size:6px;letter-spacing:.1em}.calculator-result strong{display:block;margin-top:6px;color:var(--green);font-size:21px}.subtle{color:#748087;font-size:8px;line-height:1.5}.toggle-list{margin-top:14px;display:grid;gap:7px}.toggle-list button{width:100%;min-height:55px;padding:9px 11px;display:flex;align-items:center;justify-content:space-between;border:1px solid #222e33;border-radius:11px;background:#0c1215;text-align:left;cursor:pointer}.toggle-list button>span{display:flex;flex-direction:column}.toggle-list strong{font-size:10px}.toggle-list small{margin-top:4px;color:#68757b;font-size:7px}.toggle-list button>i{width:34px;height:19px;padding:2px;display:flex;align-items:center;border-radius:99px;background:#273238}.toggle-list button>i b{width:15px;height:15px;border-radius:50%;background:#78858b;transition:transform .15s}.toggle-list button.is-on>i{background:#1f5730}.toggle-list button.is-on>i b{background:var(--green);transform:translateX(15px)}.empty{min-height:150px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}.empty>span{color:#526067;font-size:25px}.empty strong{margin-top:8px;font-size:11px}.empty p{max-width:250px;margin:6px 0 0;color:#6f7c81;font-size:8px;line-height:1.5}
.calculator-tabs{margin-top:15px;padding:4px;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;border:1px solid #253238;border-radius:11px;background:#0a1013}.calculator-tabs button{min-width:0;min-height:34px;padding:0 5px;border:1px solid transparent;border-radius:8px;background:transparent;color:#68767c;font-size:7px;font-weight:800;cursor:pointer;white-space:nowrap}.calculator-tabs button:hover,.calculator-tabs button:focus-visible{color:#aebbb5;outline:0}.calculator-tabs button.is-active{border-color:#385a42;background:#15241a;color:var(--green)}.calculator-view[hidden]{display:none}.calculator-fields input{width:72px;font-size:10px}.calculator-fields label:focus-within{border-color:#3e6048;background:#0d1512}.calculator-result{min-height:86px;display:flex;justify-content:center;flex-direction:column}.calculator-result>span{display:block;margin-top:5px;color:#75837c;font-size:7px}.calculator-note{margin:9px 1px 0;color:#69767b;font-size:7px;line-height:1.5}.calculator-safety{margin:13px 0 0;padding-top:11px;border-top:1px solid #202b30;color:#657278;font-size:7px;line-height:1.5}.calculator-safety strong{color:#8d9a94}
.favorites-card{min-height:250px}.favorites-card>#favorites-list{margin-top:14px}.favorite-list{display:grid;gap:7px}.favorite-row{display:grid;grid-template-columns:minmax(0,1fr) 36px;gap:7px}.favorite-row>button{border:1px solid #28343a;border-radius:11px;background:#0b1114;color:inherit;cursor:pointer}.favorite-row>button[data-open-favorite]{min-height:64px;padding:9px;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;text-align:left}.favorite-row>button[data-open-favorite]:hover,.favorite-row>button[data-open-favorite]:focus-visible{border-color:#3e6048;background:#101a14;outline:0}.favorite-icon{width:34px;height:34px;display:grid;place-items:center;border:1px solid #31503b;border-radius:9px;background:#172a1d;color:var(--green);font-size:7px;font-weight:900}.favorite-row>button span:nth-child(2){min-width:0;display:flex;flex-direction:column}.favorite-row small{color:#5f6d72;font-size:6px;letter-spacing:.09em}.favorite-row strong{margin-top:3px;overflow:hidden;text-overflow:ellipsis;font-size:9px;white-space:nowrap}.favorite-row em{margin-top:3px;overflow:hidden;color:#6f7c81;font-size:7px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.favorite-row i{color:#54635b;font-size:11px;font-style:normal}.favorite-row>.favorite-remove{width:36px;color:#ffd264;font-size:15px}.favorite-row>.favorite-remove:hover,.favorite-row>.favorite-remove:focus-visible{border-color:#75632f;background:#28210f;outline:0}
.price-watch-panel{margin-top:13px;padding:18px}.price-source-actions{display:flex;align-items:center;gap:8px;color:#66747a;font-size:8px}.price-source-actions button{width:32px;height:32px;border:1px solid #31503b;border-radius:8px;background:#111b15;color:var(--green);font-size:13px;cursor:pointer}.price-source-actions button:disabled{opacity:.5;cursor:default}.price-source-actions button.is-loading{animation:news-spin 1s linear infinite}.price-watch-toolbar{margin-top:14px;display:flex;align-items:center;justify-content:space-between;gap:10px}.price-filters{display:flex;gap:5px;overflow-x:auto;scrollbar-width:none}.price-filters::-webkit-scrollbar{display:none}.price-filters button,.price-watch-toolbar>#price-export{min-height:34px;padding:0 11px;flex:0 0 auto;border:1px solid #28363b;border-radius:8px;background:#0b1114;color:#69767c;font-size:7px;font-weight:800;cursor:pointer}.price-filters button.is-active{border-color:#31553b;background:#14231a;color:var(--green)}.price-filters button:hover,.price-filters button:focus-visible,.price-watch-toolbar>#price-export:hover,.price-watch-toolbar>#price-export:focus-visible{border-color:#4b6d55;outline:0}.price-watch-toolbar>#price-export{color:var(--green)}.price-watch-summary{margin-top:11px;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #253238;border-radius:11px;background:#0b1114}.price-watch-summary>div{min-height:62px;padding:10px 12px;display:flex;justify-content:center;flex-direction:column}.price-watch-summary>div+div{border-left:1px solid #253238}.price-watch-summary small{color:#5d6a70;font-size:6px;letter-spacing:.08em}.price-watch-summary strong{margin-top:6px;color:var(--green);font-size:13px}.price-list{max-height:480px;margin-top:13px;display:grid;overflow:auto;border:1px solid #253238;border-radius:11px;background:#0b1114;scrollbar-color:#34443b #101619}.price-row{min-height:72px;padding:9px 10px;display:grid;grid-template-columns:34px minmax(0,1fr) auto auto 31px;align-items:center;gap:9px;color:inherit}.price-row+.price-row{border-top:1px solid #20292e}.price-row.is-selected{background:#101d15;box-shadow:inset 3px 0 var(--green)}.price-watch-toggle{width:32px;height:32px;border:1px solid #2b383e;border-radius:8px;background:#11171a;color:#647178;font-size:15px;cursor:pointer}.price-watch-toggle.is-active{border-color:#665a31;background:#241f11;color:#ffd264}.price-product{min-width:0;padding:3px 0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.price-product>span{min-width:0;display:flex;flex-direction:column}.price-row small{color:#657279;font-size:6px;letter-spacing:.08em}.price-row strong{margin-top:5px;overflow:hidden;text-overflow:ellipsis;font-size:10px;white-space:nowrap}.price-row em{margin-top:4px;overflow:hidden;color:#627078;font-size:7px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.price-row>i{padding:5px 7px;border-radius:6px;background:var(--green-bg);color:var(--green);font-style:normal;font-size:8px;font-weight:850}.price-row>div{display:flex;align-items:baseline;gap:7px;white-space:nowrap}.price-row s{color:#68737a;font-size:8px}.price-row b{color:var(--green);font-size:12px}.price-row>a{width:29px;height:29px;display:grid;place-items:center;border:1px solid #2e4135;border-radius:8px;color:var(--green);font-size:11px}.price-row button:hover,.price-row button:focus-visible,.price-row>a:hover,.price-row>a:focus-visible{border-color:#50755a;outline:0}.price-history-section{margin-top:14px;padding-top:14px;border-top:1px solid #202b30}.price-history-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.price-history-head small{color:#647178;font-size:6px;letter-spacing:.08em}.price-history-head h3{margin:5px 0 0;font-size:12px}.price-history-head select{max-width:52%;min-height:36px;padding:0 9px;border:1px solid #28363b;border-radius:8px;outline:0;background:#0b1114;color:#bfcac4;font-size:8px}.price-history-chart{height:190px;margin-top:11px;padding:13px;display:grid;grid-template-columns:64px minmax(0,1fr);gap:9px;border:1px solid #253238;border-radius:11px;background:linear-gradient(to top,transparent 49.5%,#202d2a 50%,transparent 50.5%),#0a1013;overflow:hidden}.price-chart-scale{display:flex;justify-content:space-between;flex-direction:column;color:#5f6d72;font-size:6px}.price-chart-bars{min-width:0;height:100%;display:flex;align-items:flex-end;gap:4px}.price-chart-bars>i{height:100%;min-width:3px;flex:1;display:flex;align-items:flex-end;font-style:normal}.price-chart-bars>i>b{width:100%;height:var(--price-height);min-height:5px;display:block;border-radius:3px 3px 1px 1px;background:linear-gradient(to top,#285138,var(--green))}.price-chart-bars>i:last-child>b{box-shadow:0 0 12px rgba(114,240,139,.25)}.price-history-empty{grid-column:1/-1;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}.price-history-empty>span{color:#607169;font-size:20px}.price-history-empty strong{margin-top:7px;color:#a9b6af;font-size:9px}.price-history-empty small{margin-top:5px;color:#657278;font-size:7px}.price-history-meta{margin-top:9px;display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.price-history-meta span{min-height:48px;padding:9px;border:1px solid #243138;border-radius:9px;background:#0b1114}.price-history-meta small{display:block;color:#5e6b71;font-size:6px}.price-history-meta strong{display:block;margin-top:5px;color:#aebbb4;font-size:9px}.price-watch-footer{margin-top:10px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.price-note{max-width:650px;margin:0;color:#646f74;font-size:7px;line-height:1.5}.price-watch-footer button{min-height:34px;padding:0 10px;flex:0 0 auto;border:1px solid #54372d;border-radius:8px;background:#211511;color:#d99b78;font-size:7px;font-weight:800;cursor:pointer}

#map-stations,#map-trains{position:absolute;inset:0}.live-station{width:8px;height:8px;position:absolute;z-index:1;display:block;border:1px solid #759083;border-radius:50%;background:#101a1d;box-shadow:0 0 0 2px rgba(117,144,131,.08);transform:translate(-50%,-50%)}.live-station.is-staffed{border-color:var(--green);background:#244b2c;box-shadow:0 0 0 3px rgba(114,240,139,.1)}.live-station i{display:none}.live-station b{padding:3px 5px;position:absolute;left:9px;top:50%;border:1px solid #2c3b36;border-radius:5px;background:rgba(9,15,17,.9);color:#84918c;font-size:6px;line-height:1;white-space:nowrap;opacity:0;transform:translateY(-50%);transition:opacity .15s}.live-station.is-staffed b,.live-station:hover b{opacity:.86}.map-train.live{width:11px;min-width:11px;height:11px;min-height:11px;padding:0;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px rgba(114,240,139,.1);overflow:visible}.map-train.live b{display:none}.map-train.live span{padding:4px 6px;position:absolute;left:13px;border:1px solid #355840;border-radius:6px;background:rgba(11,24,15,.96);color:#d6e1db;font-size:7px;line-height:1;opacity:0;pointer-events:none;white-space:nowrap;transition:opacity .15s}.map-train.live:hover span,.map-train.live:focus-visible span,.map-train.live.is-selected span{opacity:1}.map-train.live.is-selected{z-index:4;background:#dfffe6;box-shadow:0 0 0 5px rgba(114,240,139,.18)}.map-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;color:#68767b;text-align:center}.map-empty[hidden]{display:none}.map-empty span{color:var(--green);font-size:22px}.map-empty strong{color:#b8c4be;font-size:11px}.map-empty small{font-size:7px}.map-toolbar>div>small{display:block;margin-top:7px;color:#65737a;font-size:7px}.legend span{display:flex;align-items:center;gap:7px}.legend i{width:8px;height:8px;display:inline-block;border:1px solid #71897d;border-radius:50%;background:#101a1d}.legend .legend-train{border-color:var(--green);background:var(--green)}.legend .legend-station.staffed{border-color:var(--green);background:#244b2c}
.map-train.live.has-disruption{border-color:var(--amber);background:var(--amber);box-shadow:0 0 0 5px rgba(255,189,84,.15)}.map-train.live.has-disruption span{border-color:#6b512a}.legend .legend-disruption{border-color:var(--amber);background:var(--amber)}
.map-tiles{position:absolute;z-index:0;inset:0;overflow:hidden;background:#0d1514;filter:brightness(.43) saturate(.7) hue-rotate(72deg) contrast(1.12);pointer-events:none}.map-tiles img{position:absolute;display:block;max-width:none;user-select:none}.map-watermark a{color:#839b8d;text-decoration:underline;text-underline-offset:2px}.map-watermark a:hover,.map-watermark a:focus-visible{color:var(--green);outline:0}#map-stations{z-index:2;pointer-events:none}#map-trains{z-index:3;pointer-events:none}#map-trains .map-train{pointer-events:auto}.map-empty{z-index:4}.map-canvas:has(.map-tiles:not([hidden]))::before{z-index:1;opacity:.08}
.map-canvas{cursor:grab;touch-action:none}.map-canvas:focus-visible{border-color:#4f775a;outline:2px solid rgba(114,240,139,.18);outline-offset:2px}.map-canvas.is-panning{cursor:grabbing}.map-canvas.is-panning .map-grid{transition:none;will-change:transform}.zoom-controls>*+*{border-top:1px solid #2a383e!important}.zoom-controls output{width:35px;min-height:24px;display:grid;place-items:center;background:rgba(9,16,19,.94);color:#7f9088;font-size:6px;font-weight:800;letter-spacing:.04em}.zoom-controls button:last-child{color:var(--green);font-size:13px}

.timetable-load{width:100%;margin-top:14px;border:1px solid #35553e;cursor:pointer}.timetable-state{min-height:112px;margin-top:14px;padding:18px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;border:1px solid #253238;border-radius:12px;background:#0b1114;text-align:center}.timetable-state>span{color:var(--green);font-size:20px}.timetable-state strong{font-size:11px}.timetable-state small{color:#657278;font-size:7px}.timetable-state.error>span{color:var(--amber)}.timetable-state button{margin-top:5px;padding:8px 11px;border:1px solid #514329;border-radius:8px;background:#251e12;color:var(--amber);font-size:8px;cursor:pointer}.timetable-card{margin-top:15px;padding-top:15px;border-top:1px solid #202b30}.timetable-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.timetable-head small{color:#68757b;font-size:7px;letter-spacing:.08em}.timetable-head h3{margin:5px 0 0;font-size:12px}.timetable-head button{width:31px;height:31px;border:1px solid #304036;border-radius:8px;background:#111a16;color:var(--green);cursor:pointer}.timetable-summary{margin:13px 0;display:grid;grid-template-columns:1.25fr 1fr .75fr;border:1px solid #253238;border-radius:11px;background:#0b1114}.timetable-summary>div{min-height:61px;padding:10px;display:flex;justify-content:center;flex-direction:column}.timetable-summary>div+div{border-left:1px solid #253238}.timetable-summary small{color:#5d6a70;font-size:6px;letter-spacing:.08em}.timetable-summary strong{margin-top:5px;font-size:10px}.timetable-list{max-height:350px;overflow:auto;border:1px solid #263238;border-radius:11px;scrollbar-color:#34443b #101619}.timetable-row{min-width:470px;min-height:43px;padding:7px 9px;display:grid;grid-template-columns:66px minmax(150px,1fr) 38px 72px 56px;align-items:center;gap:7px;border-bottom:1px solid #1f292e;color:#8d9994;font-size:7px}.timetable-row:last-child{border-bottom:0}.timetable-row>span:nth-child(n+3){text-align:center}.timetable-row strong{display:block;color:#bec9c3;font-size:8px}.timetable-row small{display:block;margin-top:3px;color:#5f6d72;font-size:6px}.timetable-row.labels{min-height:29px;position:sticky;z-index:2;top:0;background:#11191d;color:#65737a;font-size:6px;letter-spacing:.06em}.timetable-row.passed{opacity:.48}.timetable-row.current{background:#14251a;box-shadow:inset 3px 0 var(--green);opacity:1}.timetable-row.current strong,.timetable-row.current .timetable-time{color:var(--green)}
.footer-note{margin:25px 0 0;text-align:center;color:#505d63;font-size:7px;letter-spacing:.06em}.bottom-nav{min-height:73px;padding:8px 8px max(9px,env(safe-area-inset-bottom));position:fixed;z-index:20;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #202b30;background:rgba(8,12,15,.93);backdrop-filter:blur(18px)}.bottom-nav a{min-height:50px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;color:#68757b}.bottom-nav a>span{font-size:17px}.bottom-nav small{font-size:8px;font-weight:650}.bottom-nav a.is-active{color:var(--green)}.bottom-nav .map-action>span{width:43px;height:43px;margin-top:-26px;display:grid;place-items:center;border:6px solid var(--bg);border-radius:50%;background:var(--green);color:#0a160d;box-sizing:content-box}.bottom-nav .map-action small{margin-top:-5px}.toast{max-width:300px;padding:11px 14px;position:fixed;z-index:50;left:50%;bottom:90px;border:1px solid #36533f;border-radius:11px;background:#142019;color:#dce8e1;font-size:9px;box-shadow:0 15px 35px rgba(0,0,0,.4);opacity:0;pointer-events:none;transform:translate(-50%,8px);transition:.2s}.toast.is-visible{opacity:1;transform:translate(-50%,0)}

.footer-note a{color:#6f8d7a;text-decoration:underline;text-underline-offset:2px}

.notification-permission{margin-top:13px;padding:11px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #2b3d32;border-radius:11px;background:#0b1310}.notification-permission>span{min-width:0;display:flex;flex-direction:column}.notification-permission strong{font-size:9px}.notification-permission small{margin-top:4px;color:#68766f;font-size:7px;line-height:1.4}.notification-permission button{min-height:34px;padding:0 11px;flex:0 0 auto;border:1px solid #34553e;border-radius:8px;background:#17271c;color:var(--green);font-size:8px;font-weight:800;cursor:pointer}.notification-permission button:disabled{border-color:#29382f;background:#111a15;color:#6f8875;cursor:default}
.background-notification-panel{margin-top:9px;padding:11px;display:grid;grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid #29363b;border-radius:11px;background:#0b1114}.background-notification-dot{width:8px;height:8px;border-radius:50%;background:#59666c}.background-notification-panel.is-on .background-notification-dot{background:var(--green);box-shadow:0 0 10px rgba(114,240,139,.45)}.background-notification-panel.is-limited .background-notification-dot{background:var(--amber);box-shadow:0 0 10px rgba(255,189,84,.3)}.background-notification-panel>div:nth-child(2){min-width:0;display:flex;flex-direction:column}.background-notification-panel strong{font-size:9px}.background-notification-panel small{margin-top:4px;color:#68757b;font-size:7px;line-height:1.45}.background-notification-actions{display:flex;gap:6px}.background-notification-actions button{min-height:34px;padding:0 9px;border:1px solid #34553e;border-radius:8px;background:#17271c;color:var(--green);font-size:7px;font-weight:800;cursor:pointer}.background-notification-actions button:last-child{border-color:#2c3d42;background:#10181b;color:#99aaa2}.background-notification-actions button:disabled{opacity:.55;cursor:default}.background-notification-limit{margin:8px 2px 0;color:#66747a;font-size:7px;line-height:1.5}.background-notification-limit strong{color:#8b9992}.background-notification-panel[aria-busy="true"] .background-notification-dot{animation:background-pulse 1s ease-in-out infinite}@keyframes background-pulse{50%{opacity:.35;transform:scale(.75)}}


.delay-history-panel{margin-top:13px;padding:17px}.delay-history-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.delay-history-head h2{margin:5px 0 0;font-size:15px}.delay-history-head h2 small{color:#647178;font-size:10px}.tag.is-error{border-color:#5b3b2c!important;background:#281711!important;color:var(--amber)!important}.delay-history-toolbar{margin-top:14px;display:grid;grid-template-columns:minmax(150px,1fr) minmax(120px,.55fr) auto auto;gap:8px}.delay-history-toolbar label{min-width:0;padding:7px 9px;display:flex;flex-direction:column;gap:5px;border:1px solid #253238;border-radius:10px;background:#0b1114;color:#647178;font-size:6px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.delay-history-toolbar select{width:100%;border:0;outline:0;background:#0b1114;color:#c3cec8;font-size:9px}.delay-history-toolbar button{min-height:47px;padding:0 13px;border:1px solid #34553e;border-radius:10px;background:#142019;color:var(--green);font-size:8px;font-weight:800;cursor:pointer}.delay-history-toolbar button:hover,.delay-history-toolbar button:focus-visible{border-color:#52785c;outline:0}.delay-history-toolbar button.is-danger{border-color:#54372d;background:#211511;color:#d99b78}.delay-history-summary{margin-top:11px;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #253238;border-radius:11px;background:#0b1114}.delay-history-summary>div{min-height:61px;padding:10px 12px;display:flex;justify-content:center;flex-direction:column}.delay-history-summary>div+div{border-left:1px solid #253238}.delay-history-summary small{color:#5d6a70;font-size:6px;letter-spacing:.08em}.delay-history-summary strong{margin-top:6px;color:var(--green);font-size:13px}.delay-history-chart{height:190px;margin-top:11px;padding:13px;position:relative;display:grid;grid-template-columns:45px minmax(0,1fr);gap:8px;border:1px solid #253238;border-radius:11px;background:linear-gradient(to top,transparent 49.5%,#202d2a 50%,transparent 50.5%),#0a1013;overflow:hidden}.delay-chart-scale{height:100%;display:flex;justify-content:space-between;flex-direction:column;color:#59666c;font-size:6px}.delay-chart-bars{min-width:0;height:100%;display:flex;align-items:flex-end;gap:3px}.delay-chart-bars>i{height:100%;min-width:2px;flex:1;position:relative;display:flex;align-items:flex-end;font-style:normal}.delay-chart-bars>i>b{width:100%;height:var(--delay-height);min-height:4px;display:block;border-radius:3px 3px 1px 1px;background:#52705a}.delay-chart-bars>i.is-late>b{background:linear-gradient(to top,#725026,var(--amber))}.delay-chart-bars>i.is-early>b{background:linear-gradient(to top,#284b58,#5eb6d3)}.delay-chart-bars>i.is-on-time>b{background:var(--green)}.delay-chart-bars>i:hover>b{filter:brightness(1.25)}.delay-history-empty{grid-column:1/-1;min-height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}.delay-history-empty>span{color:#607169;font-size:20px}.delay-history-empty strong{margin-top:7px;color:#a9b6af;font-size:9px}.delay-history-empty small{max-width:330px;margin-top:5px;color:#657278;font-size:7px;line-height:1.5}.delay-history-list{max-height:370px;margin-top:11px;overflow:auto;border:1px solid #253238;border-radius:11px;background:#0b1114;scrollbar-color:#34443b #101619}.delay-history-row{width:100%;min-height:60px;padding:9px 11px;display:grid;grid-template-columns:66px minmax(0,1fr) 72px 78px;align-items:center;gap:9px;border:0;border-bottom:1px solid #202a2f;background:transparent;color:inherit;text-align:left;cursor:pointer}.delay-history-row:last-child{border-bottom:0}.delay-history-row:hover,.delay-history-row:focus-visible{background:#101a16;outline:0}.delay-history-row time,.delay-history-row>span{min-width:0;display:flex;flex-direction:column}.delay-history-row time strong{color:#a9b5af;font-size:9px}.delay-history-row time small,.delay-history-row>span small{margin-top:4px;color:#647178;font-size:7px}.delay-history-row>span strong{font-size:9px}.delay-history-row>span small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.delay-history-row em{color:#6d7a80;font-size:7px;font-style:normal;text-align:right}.delay-history-row>b{padding:6px 7px;border-radius:7px;background:#15251a;color:var(--green);font-size:8px;text-align:center}.delay-history-row>b.is-late{background:#2a2113;color:var(--amber)}.delay-history-row>b.is-early{background:#12232a;color:#6cc3df}

@media(max-width:639px){.delay-history-toolbar{grid-template-columns:1fr 1fr}.delay-history-toolbar button{min-height:40px}.delay-history-row{grid-template-columns:52px minmax(0,1fr) 70px}.delay-history-row em{display:none}.delay-history-chart{height:160px;grid-template-columns:38px minmax(0,1fr)}.price-row{grid-template-columns:32px minmax(0,1fr) auto 30px}.price-row>i{display:none}.price-history-head{align-items:stretch;flex-direction:column}.price-history-head select{width:100%;max-width:none}.price-history-chart{height:160px;grid-template-columns:56px minmax(0,1fr)}.price-watch-footer{align-items:stretch;flex-direction:column}.price-watch-footer button{align-self:flex-start}.background-notification-panel{grid-template-columns:9px minmax(0,1fr)}.background-notification-actions{grid-column:2;justify-content:flex-start}}
@media(max-width:430px){.install-button{width:38px;padding:0;justify-content:center}.install-button b{display:none}.train-list{max-height:340px}.knowledge-grid{max-height:390px}.delay-history-summary strong{font-size:10px}.delay-history-row{grid-template-columns:48px minmax(0,1fr) 64px;padding-inline:8px}.delay-history-row>b{font-size:7px}}
@media(min-width:640px){.workspace{padding-inline:28px}.topbar-copy{display:block}.brand-mobile{margin-right:12px}.network-card{min-height:345px;padding:34px 35px 27px}.status-grid{grid-template-columns:repeat(3,1fr);margin-top:46px}.status-grid>div:last-child{grid-column:auto;border-top:0;border-left:1px solid rgba(120,148,128,.15)}.alert-card{grid-template-columns:auto 1fr auto auto;padding:18px 20px}.alert-card>b{display:flex;flex-direction:column;color:var(--amber);font-size:23px}.alert-card>b small{color:#776e62;font-size:7px}.alert-card>.alert-action{min-height:38px;grid-column:auto}.quick-grid{grid-template-columns:1fr 1fr}.home-lower{grid-template-columns:1.35fr .65fr}.page-hero{min-height:250px;padding:36px 35px}.hero-stat{padding:13px 15px;display:flex;align-items:center;gap:9px;border:1px solid rgba(114,240,139,.18);border-radius:13px;background:rgba(6,14,9,.7)}.hero-stat strong{color:var(--green);font-size:26px}.hero-stat span{color:#718079;font-size:8px;line-height:1.35}.local-badge{display:flex}.search-row{grid-template-columns:1fr auto}.server-strip{grid-template-columns:repeat(3,1fr)}.station-board-row{grid-template-columns:52px minmax(0,1fr) auto 62px}.station-board-row>i{grid-column:auto;text-align:right}.map-canvas{min-height:500px}.map-grid{inset:35px 48px 51px}.station{font-size:8px}.knowledge-grid{grid-template-columns:1fr 1fr}.tools-grid{grid-template-columns:1fr 1fr}.notification-card{grid-row:span 2}}
@media(min-width:1000px){.app-shell{display:grid;grid-template-columns:190px minmax(0,1fr)}.desktop-rail{height:100vh;padding:27px 18px 19px;position:sticky;z-index:10;top:0;display:flex;flex-direction:column;border-right:1px solid #1b2529;background:#080d10}.brand-rail{margin:0 6px 40px;font-size:16px}.brand-mobile{display:none}.rail-nav{display:grid;gap:6px}.nav-link{min-height:43px;padding:0 11px;display:flex;align-items:center;gap:11px;border:1px solid transparent;border-radius:10px;color:#6d7a80;font-size:10px;font-weight:650}.nav-link>span{width:19px;text-align:center;font-size:16px}.nav-link.is-active{border-color:#293c2e;background:#142019;color:var(--green)}.rail-footer{margin-top:auto;padding:12px 7px;display:flex;align-items:center;gap:9px;border-top:1px solid #1c2529}.rail-footer>i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 10px var(--green)}.rail-footer span{display:flex;flex-direction:column}.rail-footer strong{font-size:8px}.rail-footer small{margin-top:2px;color:#586369;font-size:6px}.workspace{padding:0 34px 56px}.topbar{min-height:91px}.quick-grid{grid-template-columns:repeat(4,1fr)}.quick-card{min-height:106px;grid-template-columns:42px 1fr;align-content:center}.quick-card>b{display:none}.bottom-nav{display:none}.traffic-layout{grid-template-columns:minmax(390px,.86fr) minmax(390px,1.14fr)}.map-layout{grid-template-columns:minmax(0,1fr) 270px}.knowledge-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1000px){.knowledge-layout{grid-template-columns:minmax(360px,.8fr) minmax(420px,1.2fr)}.knowledge-layout>.knowledge-grid{grid-template-columns:1fr}.knowledge-detail{position:sticky;top:105px}}
@media(min-width:1000px){.knowledge-back{display:none}}
@media(min-width:640px){.install-platform-grid{grid-template-columns:repeat(3,1fr)}.install-platform-grid button{grid-template-columns:37px minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.view,.map-grid,.toast,.toggle-list button>i b{animation:none;transition:none}}

/* Warstwy podkładu nigdy nie mogą przejmować kliknięć znaczników. */
.map-canvas::before{pointer-events:none}
#map-stations .live-station,#map-trains .map-train{pointer-events:auto}

.notification-dialog{width:min(430px,calc(100vw - 28px));max-height:calc(100vh - 28px);padding:0;overflow:auto;border:1px solid #30483a;border-radius:18px;background:#0b1114;color:var(--text);box-shadow:0 24px 75px rgba(0,0,0,.65)}
.notification-dialog::backdrop{background:rgba(2,5,7,.78);backdrop-filter:blur(5px)}
.notification-dialog-shell{padding:18px}.notification-dialog-head{display:grid;grid-template-columns:42px minmax(0,1fr) 34px;align-items:center;gap:11px}
.notification-dialog-head>span{width:42px;height:42px;display:grid;place-items:center;border:1px solid #34513d;border-radius:12px;background:#14241a;color:var(--green);font-size:21px}
.notification-dialog-head small{color:var(--green);font-size:8px;font-weight:850;letter-spacing:.12em}.notification-dialog-head h2{margin:4px 0 0;font-size:18px}.notification-dialog-head button{width:34px;height:34px;border:1px solid #2c393e;border-radius:9px;background:#10171b;color:#8e9b95;font-size:18px;cursor:pointer}
.notification-center-list{margin-top:16px;display:grid;gap:8px}.notification-center-item{padding:11px;display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;border:1px solid #28363b;border-radius:11px;background:#0e1518}.notification-center-item>i{width:32px;height:32px;display:grid;place-items:center;border:1px solid #34513d;border-radius:9px;background:#14241a;color:var(--green);font-style:normal;font-size:14px;font-weight:850}.notification-center-item>span{min-width:0;display:flex;flex-direction:column}.notification-center-item strong{font-size:11px}.notification-center-item small{margin-top:5px;color:#748188;font-size:9px;line-height:1.45}.notification-center-item.is-warning{border-color:#594326;background:#1a160f}.notification-center-item.is-warning>i{border-color:#6b512a;background:#2a2113;color:var(--amber)}
.notification-dialog-footer{margin-top:14px;padding-top:13px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #222e33}.notification-dialog-footer>span{color:#68757b;font-size:8px}.notification-dialog-footer button{min-height:36px;padding:0 11px;border:1px solid #34553e;border-radius:9px;background:#142019;color:var(--green);font-size:9px;font-weight:800;cursor:pointer}

/* Czytelność: większe elementy pomocnicze bez zmiany gęstości całego układu. */
.topbar-copy p,.eyebrow{font-size:10px}
.home-server-picker select,.demo-pill{font-size:9px}
.status-grid small{font-size:9px}.status-grid span{font-size:10px}
.warning-mark{font-size:19px}.alert-card .severity,.alert-card div>small{font-size:8px}.alert-card h3{font-size:15px}.alert-card p{font-size:11px}
.quick-card>span{font-size:22px}.quick-card strong{font-size:13px}.quick-card small{font-size:10px}
.panel-title>span{font-size:9px}.news-filters button{font-size:9px}.news-source-summary span,.news-row small{font-size:8px}.news-source-summary b{font-size:8px}.news-row strong{font-size:13px}.news-row p{font-size:10px}.news-links a{font-size:9px}.promo-panel>small,.promo-action{font-size:9px}
.traffic-mode-switch button,.filter-group button,.category-tabs button{font-size:10px}.knowledge-subtabs button,.tag{font-size:9px}
.train-badge{font-size:9px}.train-route strong{font-size:12px}.train-route small{font-size:9px}.delay{font-size:8px}.detail-head small,.map-detail small{font-size:8px}.metrics small{font-size:8px}
.server-strip small{font-size:8px}.server-strip strong{font-size:11px}.server-strip b{font-size:9px}
.knowledge-icon{font-size:11px}.tool-icon{font-size:17px}.knowledge-card-copy>small,.tool-title div>small{font-size:8px}.knowledge-card-copy p{font-size:10px}.knowledge-card-copy>b{font-size:9px}.knowledge-detail-head small,.knowledge-detail-copy{font-size:10px}.procedure-step>span,.knowledge-facts dt,.knowledge-facts dd{font-size:9px}
.subtle,.toggle-list small,.notification-permission small,.background-notification-panel small,.background-notification-limit{font-size:8px}.calculator-tabs button,.calculator-note,.calculator-safety{font-size:8px}
.live-station{width:10px;height:10px}.live-station b{left:11px;font-size:8px}.map-train.live{width:13px;min-width:13px;height:13px;min-height:13px}.map-train.live span{left:15px;font-size:8px}.map-empty small,.map-toolbar>div>small,.zoom-controls output{font-size:8px}
.bottom-nav a>span{font-size:20px}.bottom-nav small{font-size:9px}.toast{font-size:10px}
@media(min-width:1000px){.nav-link{font-size:11px}.nav-link>span{font-size:19px}.rail-footer strong{font-size:9px}.rail-footer small{font-size:8px}}
.live-station{padding:0;appearance:none;cursor:pointer}
.live-station:hover,.live-station:focus-visible{z-index:5;border-color:#dfffe6;outline:0;box-shadow:0 0 0 4px rgba(114,240,139,.18)}
.live-station:focus-visible b{opacity:.86}
.install-guide-card{margin-top:14px}

/* Comfort UI: większa typografia i cele dotykowe na telefonie oraz pełniejsze
   wykorzystanie szerokiego ekranu. */
@media(max-width:639px){
  .workspace{padding-inline:20px;padding-bottom:122px}
  .topbar{min-height:96px}
  .brand{gap:11px;font-size:19px}
  .brand-mark{width:38px;height:38px;border-radius:11px}
  .brand-mark i{width:27px;height:3px}
  .brand-mark i:first-child{transform:translateY(-7px) rotate(-36deg)}
  .brand-mark i:last-child{transform:translateY(7px) rotate(-36deg)}
  .icon-button{width:48px;height:48px;border-radius:14px;font-size:26px}
  .install-button{min-height:44px;font-size:12px}

  .network-card{min-height:410px;padding:28px 20px 22px;border-radius:25px}
  .network-head{position:relative;display:block}
  .network-head>div:first-child{width:100%}
  .network-head h2{margin-top:20px;font-size:clamp(36px,10.2vw,43px);line-height:1.04}
  .eyebrow{font-size:12px;letter-spacing:.14em}
  .eyebrow>i,.demo-pill i{width:8px;height:8px}
  .network-actions{position:absolute;top:0;right:0;gap:7px}
  .home-server-picker select{width:92px;min-height:34px;padding-inline:12px 23px;font-size:11px}
  .demo-pill{min-height:36px;padding:0 11px;font-size:11px}

  /* Na telefonie Serwer, Pociągi i API zawsze pozostają w jednym rzędzie. */
  .status-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:58px}
  .status-grid>div{min-width:0;min-height:108px;padding:12px 10px}
  .status-grid>div:nth-child(2),.status-grid>div:last-child{border-left:1px solid rgba(120,148,128,.15)}
  .status-grid>div:last-child{grid-column:auto;border-top:0}
  .status-grid small{margin-bottom:8px;font-size:9px;letter-spacing:.05em;white-space:nowrap}
  .status-grid strong{gap:6px;font-size:14px;white-space:nowrap}
  .status-grid .metric{font-size:30px}
  .status-grid span{font-size:10.5px;line-height:1.35}
  .status-dot{width:9px;height:9px}

  .section-heading{margin-top:42px;margin-bottom:17px}
  .section-heading h2,.panel-title h2{font-size:27px}
  .section-heading>a{font-size:13px}
  .alert-card{min-height:148px;padding:20px;gap:16px;border-radius:20px}
  .warning-mark{width:48px;height:48px;border-radius:14px;font-size:23px}
  .alert-card .severity,.alert-card div>small{font-size:10px}
  .alert-card h3{font-size:18px;line-height:1.35}
  .alert-card p{font-size:13px;line-height:1.55}

  .quick-grid{gap:11px}
  .quick-card{min-height:92px;padding:15px;grid-template-columns:50px 1fr auto;gap:14px}
  .quick-card>span{width:50px;height:50px;font-size:25px}
  .quick-card strong{font-size:15px}
  .quick-card small{font-size:12px}
  .panel{border-radius:20px}
  .home-lower{grid-template-columns:minmax(0,1fr)}
  .home-lower>.panel{min-width:0}
  .news-panel,.promo-panel,.train-detail,.map-detail,.knowledge-detail,.tool-card{padding:21px}
  .news-filters button,.news-refresh,.filter-group button,.category-tabs button{min-height:42px;font-size:11px}
  .news-row{grid-template-columns:44px 1fr;gap:14px}
  .source{width:44px;height:44px;font-size:13px}
  .news-row small,.news-source-summary span{font-size:10px}
  .news-row strong{font-size:15px}
  .news-row p{font-size:12px}
  .news-links a,.promo-action{font-size:11px}

  .page-hero{min-height:255px;padding:32px 24px}
  .page-hero h2{font-size:38px}
  .page-hero p{font-size:15px}
  .traffic-mode-switch button{min-height:46px;font-size:12px}
  .search-field{min-height:60px}
  .search-field span{font-size:24px}
  .search-field input{font-size:15px}
  .train-row{min-height:82px;padding:11px;grid-template-columns:44px minmax(0,1fr) auto auto;gap:11px}
  .train-badge{width:43px;height:43px;font-size:11px}
  .train-route strong{font-size:14px}
  .train-route small{font-size:11px}
  .delay{font-size:10px}
  .detail-head small,.map-detail small{font-size:10px}
  .detail-head h2,.map-detail h2{font-size:24px}
  .detail-route{font-size:13px}
  .metrics small,.server-strip small{font-size:9px}
  .metrics strong,.server-strip strong{font-size:13px}
  .info-note{font-size:11px}
  .server-strip>div{min-height:68px}
  .server-strip b{font-size:11px}

  .map-toolbar h2{font-size:28px}
  .map-toolbar>div>small,.map-empty small,.zoom-controls output{font-size:10px}
  .map-empty strong{font-size:14px}
  .zoom-controls button{width:42px;height:42px;font-size:20px}
  .live-station{width:13px;height:13px}
  .live-station b{left:15px;font-size:10px}
  .map-train.live{width:16px;min-width:16px;height:16px;min-height:16px}
  .map-train.live span{left:18px;font-size:10px}

  .knowledge-subtabs button{min-height:40px;font-size:10px}
  .knowledge-card{min-height:154px;padding:18px;grid-template-columns:50px minmax(0,1fr) auto}
  .knowledge-icon,.tool-icon{width:49px;height:49px;font-size:15px}
  .knowledge-card-copy>small,.tool-title div>small{font-size:10px}
  .knowledge-card-copy>strong{font-size:17px}
  .knowledge-card-copy p{font-size:12px}
  .knowledge-card-copy>b{font-size:11px}
  .knowledge-detail-head h2{font-size:23px}
  .knowledge-detail-head small,.knowledge-detail-copy{font-size:12px}
  .procedure-step{min-height:64px}
  .procedure-step>span,.knowledge-facts dt,.knowledge-facts dd{font-size:11px}

  .tool-title h2{font-size:19px}
  .tool-title>b,.note-actions span{font-size:10px}
  .tool-card textarea{font-size:14px}
  .calculator-tabs button{min-height:42px;font-size:10px}
  .calculator-fields label{min-height:50px;font-size:12px}
  .calculator-fields input{font-size:13px}
  .calculator-result small{font-size:9px}
  .calculator-result strong{font-size:25px}
  .calculator-note,.calculator-safety,.subtle,.toggle-list small,.notification-permission small,.background-notification-panel small,.background-notification-limit{font-size:10px}
  .toggle-list button{min-height:64px}
  .toggle-list strong,.notification-permission strong,.background-notification-panel strong{font-size:12px}

  .bottom-nav{min-height:88px;padding-top:10px}
  .bottom-nav a{min-height:62px;gap:5px}
  .bottom-nav a>span{font-size:25px}
  .bottom-nav small{font-size:11px;font-weight:750}
  .bottom-nav .map-action>span{width:50px;height:50px;margin-top:-30px;font-size:24px}
  .bottom-nav .map-action small{margin-top:-3px}
}

/* Osobne widoki modułów w sekcji Więcej. */
.more-menu-grid{margin-top:18px;display:grid;gap:12px}
.more-menu-card{min-height:118px;padding:17px;display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:14px;border:1px solid #27363b;border-radius:17px;background:linear-gradient(145deg,#111a1e,#0b1114);color:inherit;transition:border-color .16s,transform .16s}
.more-menu-card:hover,.more-menu-card:focus-visible{border-color:#477052;outline:0;transform:translateY(-2px)}
.more-menu-card>span{width:48px;height:48px;display:grid;place-items:center;border:1px solid #34513d;border-radius:13px;background:#15281b;color:var(--green);font-size:21px;font-weight:850}
.more-menu-card>div{min-width:0;display:flex;flex-direction:column}.more-menu-card small{color:#6f8178;font-size:8px;font-weight:850;letter-spacing:.1em}.more-menu-card strong{margin-top:5px;font-size:15px}.more-menu-card p{margin:6px 0 0;color:#748087;font-size:10px;line-height:1.45}.more-menu-card>b{color:var(--green);font-size:16px}
.more-favorites{margin-top:14px}.more-favorites .favorites-card{width:100%}
.subpage-head{min-height:150px;margin-bottom:14px;padding:22px 23px;display:flex;align-items:flex-end;gap:22px;border:1px solid #27372e;border-radius:20px;background:linear-gradient(140deg,rgba(31,67,43,.48),rgba(9,17,14,.97) 68%)}
.subpage-head>a{min-height:38px;padding:0 12px;display:flex;align-items:center;flex:0 0 auto;border:1px solid #34513d;border-radius:10px;background:#142019;color:var(--green);font-size:10px;font-weight:800}.subpage-head h2{margin:6px 0 5px;font-size:30px;letter-spacing:-.045em}.subpage-head p{margin:0;color:#7b8982;font-size:11px}
.standalone-tool-card,.calculators-card{max-width:820px;margin-inline:auto}.settings-stack{display:grid;gap:14px}.settings-stack .install-guide-card{margin-top:0}
.local-alert-info{margin-top:13px;padding:13px;display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:11px;border:1px solid #31503b;border-radius:12px;background:#101d15}.local-alert-info>span{width:36px;height:36px;display:grid;place-items:center;border:1px solid #3d6749;border-radius:10px;background:#183020;color:var(--green);font-size:16px;font-weight:900}.local-alert-info>div{display:flex;flex-direction:column}.local-alert-info strong{font-size:11px}.local-alert-info small{margin-top:4px;color:#75837c;font-size:9px;line-height:1.45}

/* Do trzech najlepszych promocji na ekranie Start. */
.promo-panel-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.promo-panel-head h2{margin:6px 0 0;font-size:17px}.promo-panel-head>span{color:#74827b;font-size:8px;font-weight:850}
.home-promo-list{margin-top:15px;display:grid;gap:7px}.home-promo-row{min-height:66px;padding:10px;display:grid;grid-template-columns:minmax(0,1fr) auto auto 18px;align-items:center;gap:9px;border:1px solid #27363b;border-radius:11px;background:#0b1215;color:inherit}.home-promo-row:hover,.home-promo-row:focus-visible{border-color:#477052;outline:0}.home-promo-row>span{min-width:0;display:flex;flex-direction:column}.home-promo-row small{color:#68767c;font-size:7px}.home-promo-row strong{margin-top:4px;overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.home-promo-row>i{padding:5px 6px;border-radius:7px;background:#193320;color:var(--green);font-size:9px;font-style:normal;font-weight:900}.home-promo-row>div{display:flex;align-items:flex-end;flex-direction:column}.home-promo-row s{color:#657178;font-size:7px}.home-promo-row b{margin-top:3px;color:var(--green);font-size:10px}.home-promo-row>em{color:#74827b;font-style:normal}.home-promo-empty{min-height:150px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}.home-promo-empty>span{color:var(--green);font-size:20px}.home-promo-empty strong{margin-top:7px;font-size:11px}.home-promo-empty small{margin-top:5px;color:#6f7c81;font-size:8px}

/* Rozbudowany komunikat działający wyłącznie przy otwartej aplikacji. */
.toast{grid-template-columns:38px minmax(0,1fr) auto;gap:11px;justify-content:stretch;text-align:left;overflow:hidden}.toast-icon{width:38px;height:38px;display:grid;place-items:center;border:1px solid #42604a;border-radius:10px;background:#1a2d20;color:var(--green);font-size:16px;font-style:normal;font-weight:900}.toast>span{min-width:0;display:flex;justify-content:center;flex-direction:column}.toast>span strong{font-size:12px}.toast>span small{margin-top:4px;color:#9aa8a1;font-size:9px;line-height:1.4}.toast>button{min-height:34px;padding:0 10px;border:1px solid #4a7355;border-radius:8px;background:#1b3021;color:var(--green);font-size:9px;font-weight:850;cursor:pointer}.toast-progress{height:2px;position:absolute;left:0;right:0;bottom:0;background:var(--green);transform-origin:left;animation:toast-progress 3.2s linear forwards}.toast.is-alert{min-width:min(520px,calc(100vw - 28px));border-color:#4a7355}.toast.is-alert .toast-progress{animation-duration:6.5s}@keyframes toast-progress{to{transform:scaleX(0)}}
@media(min-width:640px){.more-menu-grid{grid-template-columns:1fr 1fr}.settings-stack{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.home-promo-row strong{font-size:11px}}
@media(max-width:639px){.subpage-head{min-height:132px;padding:18px;align-items:flex-start;flex-direction:column;gap:14px}.subpage-head h2{font-size:27px}.subpage-head>a{min-height:36px}.more-menu-card{min-height:108px}.home-promo-row{grid-template-columns:minmax(0,1fr) auto auto}.home-promo-row>em{display:none}.toast{grid-template-columns:36px minmax(0,1fr)}.toast>button{grid-column:2;justify-self:start}.toast-icon{width:36px;height:36px}}

@media(min-width:1000px){
  .app-shell{grid-template-columns:232px minmax(0,1fr)}
  .desktop-rail{padding:32px 22px 22px}
  .brand-rail{margin:0 7px 48px;font-size:20px}
  .brand-rail .brand-mark{width:38px;height:38px}
  .rail-nav{gap:9px}
  .nav-link{min-height:54px;padding:0 15px;gap:14px;border-radius:13px;font-size:14px}
  .nav-link>span{width:24px;font-size:22px}
  .rail-footer{padding:16px 8px;gap:11px}
  .rail-footer>i{width:9px;height:9px}
  .rail-footer strong{font-size:11px}
  .rail-footer small{font-size:9px}

  .workspace{width:min(100%,1460px);padding:0 48px 72px}
  .topbar{min-height:112px}
  .topbar-copy p{font-size:12px}
  .topbar-copy h1{font-size:21px}
  .icon-button{width:50px;height:50px;font-size:27px}
  .install-button{min-height:44px;font-size:12px}

  .network-card{min-height:430px;padding:45px 48px 38px;border-radius:28px}
  .network-head h2{margin-top:20px;font-size:54px}
  .eyebrow{font-size:12px}
  .home-server-picker select{width:105px;min-height:36px;font-size:11px}
  .demo-pill{min-height:36px;padding-inline:12px;font-size:11px}
  .status-grid{margin-top:64px}
  .status-grid>div{min-height:122px;padding:21px}
  .status-grid small{font-size:11px}
  .status-grid strong{font-size:17px}
  .status-grid .metric{font-size:34px}
  .status-grid span{font-size:12px}

  .section-heading{margin-top:50px;margin-bottom:18px}
  .section-heading h2,.panel-title h2{font-size:29px}
  .section-heading>a{font-size:14px}
  .alert-card{min-height:126px;padding:23px 26px;gap:19px}
  .warning-mark{width:54px;height:54px;font-size:25px}
  .alert-card .severity,.alert-card div>small{font-size:10px}
  .alert-card h3{font-size:19px}
  .alert-card p{font-size:14px}
  .alert-card>b{font-size:29px}
  .alert-card>b small{font-size:9px}
  .alert-card>a{width:42px;height:42px}

  .quick-grid{gap:14px}
  .quick-card{min-height:128px;padding:20px;grid-template-columns:54px 1fr;gap:16px;border-radius:18px}
  .quick-card>span{width:54px;height:54px;font-size:26px}
  .quick-card strong{font-size:16px}
  .quick-card small{font-size:12px}
  .home-lower{gap:18px}
  .news-panel,.promo-panel{padding:25px}
  .news-row strong{font-size:15px}
  .news-row p{font-size:12px}

  .page-hero{min-height:300px;padding:44px 46px}
  .page-hero h2{font-size:48px}
  .page-hero p{font-size:16px}
  .traffic-mode-switch button{min-height:46px;font-size:12px}
  .search-field{min-height:62px}
  .search-field input{font-size:15px}
  .filter-group button,.category-tabs button{min-height:44px;font-size:12px}
  .train-row{min-height:84px;padding:12px}
  .train-route strong{font-size:14px}
  .train-route small{font-size:11px}
  .train-detail,.map-detail,.knowledge-detail,.tool-card{padding:25px}
  .map-toolbar h2{font-size:30px}
  .map-layout{grid-template-columns:minmax(0,1fr) 340px}
  .map-canvas{min-height:620px}
  .knowledge-layout{grid-template-columns:minmax(430px,.82fr) minmax(520px,1.18fr)}
  .knowledge-card-copy>strong{font-size:17px}
  .knowledge-card-copy p,.knowledge-detail-copy{font-size:12px}
  .tool-title h2{font-size:19px}
  .tool-card textarea{font-size:14px}
}

/* Górna belka pozostaje dostępna podczas przewijania i zajmuje mniej miejsca
   po opuszczeniu początku strony. */
.topbar{
  position:sticky;
  z-index:30;
  top:0;
  isolation:isolate;
  transition:min-height .22s ease,padding .22s ease,margin .22s ease,background-color .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.topbar .brand,.topbar .brand-mark,.topbar .icon-button,.topbar .install-button,.topbar .greeting-edit,.topbar-copy p,.topbar-copy h1{
  transition:width .22s ease,height .22s ease,min-height .22s ease,font-size .22s ease,margin .22s ease,opacity .22s ease,transform .22s ease;
}
.topbar.is-compact{
  min-height:70px;
  margin-inline:-10px;
  padding-inline:10px;
  border-bottom:1px solid rgba(83,113,96,.28);
  border-radius:0 0 16px 16px;
  background:rgba(7,12,14,.91);
  box-shadow:0 12px 30px rgba(0,0,0,.3);
  backdrop-filter:blur(18px);
}
.topbar.is-compact .brand{font-size:16px}
.topbar.is-compact .brand-mark{width:31px;height:31px;border-radius:9px}
.topbar.is-compact .brand-mark i{width:22px}
.topbar.is-compact .icon-button{width:40px;height:40px;border-radius:12px;font-size:22px}
.topbar.is-compact .install-button{min-height:38px;font-size:10px}
.topbar.is-compact .topbar-copy p{margin-bottom:1px;font-size:9px}
.topbar.is-compact .topbar-copy h1{font-size:16px}
.topbar.is-compact .greeting-edit{width:28px;height:28px;font-size:14px}

@media(max-width:430px){
  .topbar.is-compact .install-button{width:38px;padding:0}
}

@media(min-width:1000px){
  .topbar.is-compact{min-height:76px}
}

@media(prefers-reduced-motion:reduce){
  .topbar,.topbar *{transition-duration:0s!important}
}

.topbar-copy{min-width:0}
.greeting-line{min-width:0;display:flex;align-items:center;gap:7px}
.greeting-line h1{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.greeting-edit{width:31px;height:31px;padding:0;flex:0 0 auto;display:grid;place-items:center;border:1px solid #2b3c33;border-radius:9px;background:#101916;color:var(--green);font-size:16px;cursor:pointer}
.greeting-edit:hover,.greeting-edit:focus-visible{border-color:#52745b;background:#15241a;outline:0}

.name-dialog{width:min(440px,calc(100vw - 28px));padding:0;border:1px solid #30483a;border-radius:18px;background:#0b1114;color:var(--text);box-shadow:0 24px 75px rgba(0,0,0,.65)}
.name-dialog::backdrop{background:rgba(2,5,7,.78);backdrop-filter:blur(5px)}
.name-dialog-shell{padding:20px}
.name-dialog-head{display:grid;grid-template-columns:43px minmax(0,1fr) 34px;align-items:center;gap:11px}
.name-dialog-head>span{width:43px;height:43px;display:grid;place-items:center;border:1px solid #34513d;border-radius:12px;background:#14241a;color:var(--green);font-size:20px}
.name-dialog-head small{color:var(--green);font-size:8px;font-weight:850;letter-spacing:.12em}
.name-dialog-head h2{margin:4px 0 0;font-size:18px;line-height:1.25}
.name-dialog-head button{width:34px;height:34px;border:1px solid #2c393e;border-radius:9px;background:#10171b;color:#8e9b95;font-size:18px;cursor:pointer}
.name-dialog-shell>p{margin:18px 0;color:#8d9a94;font-size:11px;line-height:1.55}
.name-dialog-shell>label{display:block;margin-bottom:7px;color:#6f7d76;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.name-dialog-shell>input{width:100%;min-height:50px;padding:0 14px;border:1px solid #304239;border-radius:11px;outline:0;background:#0e1713;color:#eef7f1;font-size:15px}
.name-dialog-shell>input:focus{border-color:#558063;box-shadow:0 0 0 3px rgba(114,240,139,.08)}
.name-dialog-actions{margin-top:15px;display:flex;justify-content:flex-end;gap:8px}
.name-dialog-actions button{min-height:40px;padding:0 12px;border:1px solid #2f3d42;border-radius:9px;background:#11191d;color:#91a099;font-size:10px;font-weight:800;cursor:pointer}
.name-dialog-actions .name-save{border-color:#3b6347;background:#183020;color:var(--green)}

/* Większe, łatwiejsze do odczytania komunikaty nad dolną nawigacją. */
.toast{width:max-content;max-width:min(420px,calc(100vw - 28px));min-height:52px;padding:14px 18px;display:flex;align-items:center;justify-content:center;bottom:104px;border-radius:14px;font-size:12px;line-height:1.4;text-align:center;box-shadow:0 18px 42px rgba(0,0,0,.5)}
@media(min-width:1000px){.toast{bottom:30px;font-size:13px}}

/* Powitanie jest widoczne również na telefonie, w osobnym wierszu pod logo. */
@media(max-width:639px){
  .topbar{
    min-height:124px;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto auto;
    grid-template-areas:"brand install notifications" "greeting greeting greeting";
    align-content:center;
    column-gap:10px;
    row-gap:9px;
  }
  .brand-mobile{grid-area:brand}
  .topbar-copy{grid-area:greeting;display:block}
  .topbar-copy>p{display:none}
  .greeting-line{justify-content:flex-start}
  .greeting-line h1{font-size:18px}
  .greeting-edit{width:32px;height:32px}
  .topbar>.install-button{grid-area:install}
  .topbar>#notification-button{grid-area:notifications}

  .topbar.is-compact{
    min-height:90px;
    padding-block:7px;
    row-gap:4px;
  }
  .topbar.is-compact .greeting-line h1{font-size:14px}
  .topbar.is-compact .greeting-edit{width:26px;height:26px;font-size:13px}
}

/* Końcowe ustawienia komunikatu — muszą pozostać po regułach komfortowej typografii. */
.toast{width:max-content;max-width:min(520px,calc(100vw - 28px));min-height:66px;padding:13px 15px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;justify-content:stretch;gap:11px;bottom:104px;text-align:left;pointer-events:none}
.toast.is-visible{pointer-events:auto}.toast>button{pointer-events:auto}
@media(min-width:1000px){.toast{bottom:30px}}
@media(max-width:639px){.toast{grid-template-columns:36px minmax(0,1fr)}.toast>button{grid-column:2}}
