@import "https://fonts.googleapis.com/css2?family=Vazirmatn:wght@300;400;500;600;700;800;900&display=swap";
:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#080e1b;--panel:#0d1628;--panel2:#111d31;--line:#233149;--muted:#8191ac;--ink:#ebf2ff;--cyan:#4ee9ee;--mint:#55e6ae;--purple:#b083ff;--pink:#ed76bd;--glow:0 0 18px #40e4ee4d}*{box-sizing:border-box}body{min-width:320px;color:var(--ink);background:#060b15;margin:0;font-family:Vazirmatn,Tahoma,Arial,sans-serif;font-size:13px}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}.app{background:radial-gradient(circle at 32% -20%,#162d46 0,transparent 40%),var(--bg);flex-direction:column;height:100dvh;min-height:730px;display:flex}.topbar{z-index:10;background:#0a1220e8;border-bottom:1px solid #1d2b41;justify-content:space-between;align-items:center;height:76px;min-height:76px;padding:0 25px;display:flex}.brand{align-items:center;gap:11px;min-width:205px;display:flex}.brand-logo{color:#75f8f5;background:linear-gradient(145deg,#17374a,#122036);border:1px solid #4ee9ee80;border-radius:12px;place-items:center;width:42px;height:42px;display:grid;transform:rotate(-9deg);box-shadow:inset 0 0 20px #4ee9ee13,0 0 22px #14ceec20}.brand-logo span{font-size:33px;transform:rotate(9deg)}.brand strong{letter-spacing:-.7px;font-size:21px;line-height:1.2;display:block}.brand strong span{color:#4ee9ee}.brand small{letter-spacing:2px;color:#6e839d;direction:ltr;font:8px/1.7 Arial,sans-serif;display:block}.header-center{color:#a2b4c8;border:1px solid #1e3044;border-radius:50px;align-items:center;gap:9px;padding:9px 17px;font-size:11px;display:flex}.live-dot{background:#4fe3ac;border-radius:50%;flex-shrink:0;width:7px;height:7px;display:inline-block;box-shadow:0 0 0 4px #4fe3ac18,0 0 13px #4fe3ac99}.header-separator{background:#33435b;width:1px;height:15px;margin:0 6px}.header-muted{color:#7488a2}.header-actions{align-items:center;gap:10px;display:flex}.ghost-btn,.icon-btn{color:#aebed3;background:#101c30;border:1px solid #25334b;border-radius:10px;height:35px;padding:0 13px}.icon-btn{width:36px;padding:0;font-size:19px}.avatar{color:#dddcff;background:linear-gradient(135deg,#463b78,#162844);border:1px solid #695a98;border-radius:10px;place-items:center;width:36px;height:36px;font-size:14px;display:grid}.workspace{flex:1;grid-template-columns:370px minmax(0,1fr) 76px;min-height:0;display:grid}.rail{background:#0a1324;border-left:1px solid #1f2e44;flex-direction:column;grid-area:1/3;justify-content:space-between;align-items:center;padding:22px 8px 16px;display:flex}.rail-top{flex-direction:column;gap:10px;width:100%;display:flex}.rail-button{color:#7183a0;background:0 0;border:1px solid #0000;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:100%;height:68px;display:flex;position:relative}.rail-button span{font:29px/1 Arial}.rail-button small{font-size:10px}.rail-button.active{color:#56edee;background:linear-gradient(115deg,#163344,#102537);border-color:#1b5363}.rail-button.active:before{content:"";width:3px;box-shadow:var(--glow);background:#53e4e9;border-radius:4px;position:absolute;top:18px;bottom:18px;right:-9px}.rail-pulse{justify-content:center;align-items:end;gap:3px;height:15px;display:flex}.rail-pulse i{background:#49eccb;border-radius:2px;width:3px;height:5px;animation:1.3s infinite alternate bars}.rail-pulse i:nth-child(2){height:13px;animation-delay:.3s}.rail-pulse i:nth-child(3){height:8px;animation-delay:.7s}.rail-bottom small{color:#54e4c1;text-align:center;margin-top:5px;font:8px Arial;display:block}@keyframes bars{to{opacity:.6;height:3px}}.map-workspace{flex-direction:column;grid-area:1/2;gap:18px;min-width:0;padding:27px 28px 18px;display:flex;overflow:hidden}.map-topline{justify-content:space-between;align-items:center;gap:20px;display:flex}.eyebrow{letter-spacing:2.5px;color:#45bccc;text-align:right;direction:ltr;font:9px/1.6 Arial;display:block}.map-topline h1{letter-spacing:-1px;margin:5px 0 2px;font-size:25px}.map-topline em{color:#67d8e8;font-style:normal}.map-topline p,.sidebar-heading p{color:#7488a0;margin:0;font-size:11px}.map-stats{background:#101c2f;border:1px solid #203047;border-radius:13px;gap:0;padding:9px 0;display:flex}.map-stats>div{text-align:center;border-left:1px solid #25354a;min-width:102px;padding:0 14px}.map-stats>div:last-child{border-left:0}.map-stats strong{color:#f6fbff;font-family:Arial;font-size:21px;line-height:1.2;display:block}.map-stats small{color:#788ca4;font-size:9px}.map-card{background:radial-gradient(at 50% 43%,#152e42 0,#0d1b2d 35%,#081524 65%,#07111e 100%);border:1px solid #244056;border-radius:17px;flex:1;min-height:410px;position:relative;overflow:hidden;box-shadow:inset 0 0 100px #01071340,0 15px 40px #0003}.map-card:after{content:"";pointer-events:none;border:1px solid #7ce8ee16;border-radius:17px;position:absolute;inset:0}.map-grid{background-image:linear-gradient(#4bd2e508 1px,#0000 1px),linear-gradient(90deg,#4bd2e508 1px,#0000 1px);background-size:35px 35px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(#000 35%,#0000 95%);mask-image:radial-gradient(#000 35%,#0000 95%)}.map-aura{pointer-events:none;filter:blur(45px);opacity:.15;border-radius:50%;position:absolute}.aura-one{background:#028cbb;width:280px;height:220px;top:24%;left:30%}.aura-two{background:#744be4;width:250px;height:250px;bottom:0;right:6%}.map-toolbar{z-index:3;pointer-events:none;justify-content:space-between;align-items:center;gap:12px;display:flex;position:absolute;top:19px;left:20px;right:20px}.view-switch{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto;background:#07121fdb;border:1px solid #284058;border-radius:10px;gap:4px;padding:4px;display:flex}.view-switch button{color:#8dabc0;white-space:nowrap;background:0 0;border:0;border-radius:7px;padding:8px 12px;font-size:10px}.view-switch button.selected{color:#72eaf4;background:#164254;box-shadow:inset 0 0 0 1px #3bd4e242}.toolbar-hint{letter-spacing:1.6px;color:#68889f;direction:ltr;align-items:center;gap:9px;font:9px Arial;display:flex}.map-stage{transform-origin:50%;touch-action:none;place-items:center;transition:transform .65s cubic-bezier(.2,.8,.2,1);display:grid;position:absolute;inset:57px 8px 32px;overflow:hidden}.map-stage.is-3d:after{content:"";pointer-events:none;border-radius:50%;position:absolute;inset:10%;transform:translateY(50px);box-shadow:0 35px 36px #00a8c824}#metroMap{cursor:grab;-webkit-user-select:none;user-select:none;width:100%;height:100%;overflow:visible}#metroMap.grabbing{cursor:grabbing}.source-image{object-fit:contain;filter:drop-shadow(0 0 25px #ffffff15);width:100%;height:100%;padding:12px 20px;display:none}.map-stage.show-source #metroMap{display:none}.map-stage.show-source .source-image{display:block}.track-halo{fill:none;stroke-width:15px;opacity:.15;stroke-linejoin:round;stroke-linecap:round;filter:blur(8px)}.track-core{fill:none;stroke-width:5.8px;stroke-linecap:round;stroke-linejoin:round;opacity:.91}.track-dashes{fill:none;stroke:#ffffff98;stroke-width:1.1px;stroke-dasharray:2 17;stroke-linecap:round;pointer-events:none;animation:8s linear infinite track-drift}.train{pointer-events:none;filter:drop-shadow(0 0 5px)}@keyframes track-drift{to{stroke-dashoffset:-190px}}.station-node{cursor:pointer}.station-hit{fill:#0000;stroke:#0000;stroke-width:25px}.station-ring{fill:#112238;stroke-width:3px;transition:r .15s,stroke-width .15s}.station-center{fill:#d9f9fd;stroke:none}.station-node:hover .station-ring,.station-node.active .station-ring{r:8;stroke-width:4px}.station-node.active .station-ring{filter:drop-shadow(0 0 9px #fff)}.station-node.interchange .station-ring{fill:#0c1b2c;stroke:#f1fcff;stroke-width:4px}.station-node.interchange .station-center{fill:#68f6e4}.station-label{fill:#c6d5e6;paint-order:stroke;stroke:#0b1b2c;stroke-width:4px;stroke-linejoin:round;pointer-events:none;font-family:Vazirmatn,Tahoma,sans-serif;font-size:11px;font-weight:500}.station-label.low{opacity:0}.map-stage.labels-expanded .station-label.low{opacity:1}.station-label.major{fill:#fff;font-size:13px;font-weight:800}.station-node.muted{opacity:.13}.route-glow{fill:none;stroke:#f3fbff;stroke-width:13px;stroke-linecap:round;stroke-linejoin:round;opacity:.24;filter:blur(10px);pointer-events:none}.route-highlight{fill:none;stroke:#f8ffff;stroke-width:5px;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:8 11;filter:drop-shadow(0 0 5px #96ffff);pointer-events:none;animation:.8s linear infinite route-flow}@keyframes route-flow{to{stroke-dashoffset:-19px}}.map-controls{z-index:3;background:#0a192aea;border:1px solid #284158;border-radius:11px;flex-direction:column;align-items:center;gap:3px;padding:4px;display:flex;position:absolute;bottom:58px;left:18px}.map-controls button{color:#d4e5f9;background:0 0;border:0;border-radius:7px;width:31px;height:32px;font:20px Arial}.map-controls button:hover{color:#70f5f7;background:#1c4658}.control-separator{background:#294158;width:22px;height:1px}.map-controls span:last-child{color:#6fdfea;padding:6px 0;font:10px Arial}.map-foot{z-index:3;color:#7f9ab1;background:#071522ac;border-top:1px solid #24405778;justify-content:space-between;align-items:center;height:36px;padding:0 21px;font-size:10px;display:flex;position:absolute;bottom:0;left:0;right:0}.signal{background:#4be4af;border-radius:50%;width:7px;height:7px;margin-left:6px;display:inline-block}.map-foot-right{letter-spacing:1px;color:#486c84;font:9px Arial}.map-foot-right b{color:#1f566a;margin:0 8px}.station-tip{z-index:8;background:#0d2336f5;border:1px solid #3d7a8b;border-radius:11px;min-width:190px;padding:12px 14px;position:absolute;bottom:54px;right:15px;box-shadow:0 14px 30px #0006}.station-tip strong{font-size:15px;display:block}.station-tip small{color:#9db9c9}.station-tip button{color:#49dde5;background:0 0;border:0;padding:7px 0 0;font-weight:700}.bottom-strip{justify-content:space-between;align-items:center;gap:16px;min-height:42px;display:flex}.notice{color:#8498af;align-items:center;gap:9px;max-width:70%;font-size:10px;display:flex}.notice b{color:#bed0db}.notice-icon{color:#5fc5d5;font-size:17px}.legend{align-items:center;gap:7px;display:flex}.legend span{opacity:.95;border-radius:12px;width:21px;height:5px;box-shadow:0 0 10px}.sidebar{background:#0d1729;border-right:1px solid #24364b;flex-direction:column;grid-area:1/1;display:flex;overflow:hidden}.sidebar-heading{border-bottom:1px solid #243349;justify-content:space-between;align-items:center;padding:28px 24px 22px;display:flex}.sidebar-heading h2{letter-spacing:-.8px;margin:4px 0;font-size:22px}.panel-icon{color:#70ebf2;background:#163746;border:1px solid #276376;border-radius:11px;place-items:center;width:44px;height:44px;font-size:26px;display:grid;box-shadow:0 0 24px #20d8ec0f}.pane{scrollbar-color:#27475b transparent;scrollbar-width:thin;flex:1;padding:23px 23px 15px;display:none;overflow:auto}.pane.visible{display:block}.input-journey{background:#101e31;border:1px solid #2a4259;border-radius:14px;flex-direction:column;gap:16px;padding:15px 16px 15px 45px;display:flex;position:relative}.field-stack{flex-direction:column;gap:5px;margin-right:21px;display:flex}.field-stack label{color:#80a1b7;font-size:10px}.field-stack input{color:#e8f5ff;background:0 0;border:0;outline:0;width:100%;min-width:0;font-size:13px}.field-stack input::placeholder{color:#5c7189}.journey-spine{flex-direction:column;align-items:center;display:flex;position:absolute;top:26px;bottom:32px;right:17px}.journey-spine i{border:3px solid #51e7e2;border-radius:50%;flex-shrink:0;width:12px;height:12px}.journey-spine .dest-dot{border-color:#ed72b4}.journey-spine span{background:repeating-linear-gradient(#648eab 0 4px,#0000 4px 9px);flex:1;width:2px;min-height:36px}.swap-btn{color:#70d9eb;background:#193349;border:1px solid #385470;border-radius:7px;width:27px;height:27px;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.primary-btn{color:#04243b;background:linear-gradient(95deg,#24c5d6,#50e0dc);border:0;border-radius:11px;justify-content:space-between;align-items:center;width:100%;margin-top:14px;padding:13px 16px;font-weight:800;transition:filter .2s,transform .2s;display:flex;box-shadow:0 8px 25px #15bfc32d}.primary-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.primary-btn b{font-size:19px}.route-result{text-align:center;background:#0d1a2d;border:1px solid #233950;border-radius:14px;min-height:191px;margin-top:18px;padding:17px}.route-result h3{margin:7px 0;font-size:14px}.route-result p{color:#8197b0;margin:4px 0;font-size:11px;line-height:2}.empty-illustration{place-items:center;height:83px;display:grid;position:relative}.empty-illustration .ring{border:1px dashed #2c697f;border-radius:50%;width:78px;height:78px;position:absolute}.empty-illustration .ring-b{border-style:solid;border-color:#20556d;width:52px;height:52px}.empty-illustration .pin{color:#5fe5ea;text-shadow:0 0 14px #33d3df;font-size:38px}.side-subheading{justify-content:space-between;align-items:center;margin:23px 0 11px;font-weight:800;display:flex}.side-subheading small{color:#6f8ba3;font-size:10px;font-weight:400}.quick-routes{flex-direction:column;gap:8px;display:flex}.quick-route{color:#cbd9e8;text-align:right;background:#111e30;border:1px solid #24384e;border-radius:11px;justify-content:space-between;align-items:center;gap:9px;padding:10px 12px;display:flex}.quick-route:hover,.station-row:hover{background:#17334a;border-color:#438497}.quick-route .route-dots{direction:ltr;gap:3px;display:flex}.quick-route .route-dots i{border-radius:50%;width:8px;height:8px}.quick-route small{color:#7894a8}.route-summary{text-align:center;border-bottom:1px solid #284256;justify-content:space-around;margin-bottom:14px;padding:4px 0 14px;display:flex}.route-summary strong{color:#effcff;font-family:Arial;font-size:21px;display:block}.route-summary small{color:#799bb2;font-size:10px}.route-result.found{text-align:right}.route-timeline{flex-direction:column;gap:0;margin:12px 0;display:flex}.route-step{align-items:center;gap:10px;padding:7px 0;display:flex;position:relative}.route-step .timeline-symbol{border:4px solid var(--step-color);width:15px;height:15px;box-shadow:0 0 12px var(--step-color);background:#0d1a2d;border-radius:50%;flex-shrink:0}.route-step:not(:last-child):after{content:"";border-right:2px dashed #4d6477;position:absolute;top:24px;bottom:-7px;right:6px}.route-step strong{font-size:11px}.route-step small{color:#7d9aaf;margin-top:3px;font-size:10px;display:block}.route-step.transfer .timeline-symbol{background:#5cceca;border-color:#fff}.route-error{color:#e5aebc}.search-wrap{color:#61dfe8;background:#122337;border:1px solid #355269;border-radius:12px;align-items:center;gap:10px;padding:12px;font-size:22px;display:flex}.search-wrap input{color:#f6fdff;background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:12px}.search-meta{color:#6d89a0;margin:17px 2px;font-size:10px}.station-list,.line-list{flex-direction:column;gap:7px;display:flex}.station-row{cursor:pointer;background:#101e30;border:1px solid #263a4d;border-radius:11px;justify-content:space-between;align-items:center;gap:8px;padding:11px;display:flex}.station-row strong{font-size:12px;display:block}.station-row small{color:#718ba1;margin-top:3px;font-size:10px;display:block}.station-row .station-badges{align-items:center;gap:4px;display:flex}.station-badges i{border-radius:50%;width:9px;height:9px;display:block}.favorite-btn{color:#718ba1;background:0 0;border:0;padding:0 5px;font-size:20px}.favorite-btn.on{color:#ffd369}.panel-note{color:#91a6ba;margin-top:0;font-size:11px;line-height:2}.line-row{text-align:right;color:#cbdcec;background:#111f31;border:1px solid #2b3e53;border-radius:11px;align-items:center;gap:11px;width:100%;padding:12px;transition:opacity .2s;display:flex}.line-row.off{opacity:.35}.line-row .swatch{border-radius:9px;width:5px;height:31px;box-shadow:0 0 12px}.line-row strong{display:block}.line-row small{color:#829ab1;font-size:10px;display:block}.line-row .check{margin-right:auto;font-size:17px}.secondary-btn{color:#83e0e8;background:#142e3c;border:1px solid #2a6470;border-radius:9px;width:100%;margin-top:16px;padding:11px}.sidebar-footer{color:#70869b;border-top:1px solid #23354b;justify-content:space-between;align-items:center;padding:14px 20px;font-size:9px;display:flex}.service-pill{letter-spacing:1px;color:#8abbd0;align-items:center;gap:7px;font:9px Arial;display:flex}.help-dialog{color:#e9f6ff;background:#101e31;border:1px solid #428394;border-radius:18px;width:calc(100vw - 35px);max-width:500px;padding:26px;box-shadow:0 15px 80px #000c}.help-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#030b16c9}.help-dialog h2{font-size:22px}.help-list p{color:#adbbce;border-bottom:1px solid #253b50;padding-bottom:10px;line-height:2}.help-list b{color:#75e7e8}.close-dialog{float:left;color:#fff;background:0 0;border:0;font-size:24px}.light-fx .map-card{background:radial-gradient(#2a5262,#0d273c 65%,#0a1b2c)}@media (max-width:1190px){.workspace{grid-template-columns:340px minmax(0,1fr) 58px}.map-workspace{padding:22px 17px}.map-stats>div{min-width:76px;padding:0 8px}.rail-button{height:59px}.sidebar-heading{padding:24px 18px}.pane{padding:18px}.map-topline h1{font-size:21px}}@media (max-width:850px){.app{height:auto;min-height:100dvh}.topbar{height:64px;min-height:64px;padding:0 14px}.header-center{display:none}.brand{min-width:auto}.workspace{grid-template-rows:auto auto auto;grid-template-columns:minmax(0,1fr);display:grid}.rail{z-index:10;background:#0c1828;border-top:1px solid #294053;border-left:0;grid-area:3/1;padding:4px 10px;position:sticky;bottom:0}.rail-top{flex-direction:row;justify-content:space-around}.rail-button{max-width:100px;height:48px}.rail-button span{font-size:22px}.rail-button.active:before{width:34px;height:3px;top:auto;bottom:-5px;right:calc(50% - 17px)}.rail-bottom{display:none}.map-workspace{grid-area:1/1;min-height:570px;padding:18px 12px}.map-card{min-height:420px}.sidebar{border-top:1px solid #28445b;border-right:0;grid-area:2/1;min-height:400px;max-height:none}.sidebar-heading{padding:18px}.pane{max-height:460px}.map-topline{align-items:start}.map-topline h1{font-size:21px}.map-stats>div{min-width:60px}.map-stats strong{font-size:17px}.map-stats small{font-size:8px}.bottom-strip{flex-direction:column;align-items:stretch;gap:7px}.notice{max-width:none}.legend{justify-content:center}.map-foot-right,.toolbar-hint{display:none}}@media (max-width:480px){.map-topline{display:block}.map-stats{display:none}.map-topline h1{font-size:22px}.map-card{min-height:430px}.map-stage{inset:57px 0 40px}.view-switch button{padding:7px;font-size:9px}.map-toolbar{left:10px;right:10px}.map-controls{bottom:52px;left:8px}.sidebar-heading h2{font-size:20px}.header-actions .ghost-btn{display:none}}.scene-3d{touch-action:none;cursor:grab;display:none;position:absolute;inset:0;overflow:hidden}.scene-3d:active{cursor:grabbing}.scene-3d canvas{width:100%;height:100%;display:block}.map-stage.is-3d .scene-3d{display:block}.map-stage.is-3d #metroMap,.map-stage.show-source .scene-3d,.map-stage.show-source #metroMap{display:none}.map-stage.is-3d.webgl-fallback{filter:drop-shadow(12px 28px 15px #0008)!important;transform:perspective(1200px)rotateX(35deg)rotate(-7deg)scale(.87)!important}.map-stage.is-3d.webgl-fallback #metroMap{display:block;transform:none}.map-stage.is-3d.webgl-fallback .scene-3d,.map-stage.is-3d.webgl-fallback .scene-guide,.map-stage.show-source.webgl-fallback #metroMap{display:none}.view-switch button:disabled{opacity:.4;cursor:not-allowed}.scene-labels{pointer-events:none;position:absolute;inset:0;overflow:hidden}.scene-label{color:#d7efff;white-space:nowrap;text-shadow:0 1px 4px #000;background:#091b2cd9;border:1px solid #41768e8c;border-radius:7px;padding:3px 7px;font-size:10px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 14px #42d2df22}.scene-label.route-point{color:#edffff;background:#0b3343ed;border-color:#94fff1;font-weight:800}.track-halo{stroke-width:8px;opacity:.15}.track-core{stroke-width:3.2px}.track-dashes{stroke-width:1px;stroke-dasharray:2 18;opacity:.62}.train-returning{filter:drop-shadow(0 0 8px)}.scene-guide{pointer-events:none;color:#95b6c9;align-items:center;gap:8px;font-size:10px;display:flex;position:absolute;bottom:14px;right:12px}.scene-guide span{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0c2335af;border:1px solid #335469;border-radius:25px;padding:6px 10px}.reset-3d{z-index:4;color:#a7eef5;background:#0c2a3edc;border:1px solid #4e8399;border-radius:9px;padding:9px 11px;font-size:11px;position:absolute;bottom:64px;right:18px}.map-card:not(.show-3d) .reset-3d{display:none}.map-controls{z-index:5}.map-card.has-route .track-halo{opacity:.035}.map-card.has-route .track-core{opacity:.12}.map-card.has-route .track-dashes{opacity:.08}.map-card.has-route .station-node:not(.active){opacity:.14}.easy-steps{justify-content:space-between;gap:5px;margin-bottom:16px;display:flex}.easy-steps span{color:#9fc0ce;white-space:nowrap;align-items:center;gap:5px;font-size:10px;display:flex}.easy-steps b{color:#9af6eb;background:#1c4a59;border:1px solid #327985;border-radius:50%;place-items:center;width:22px;height:22px;font:700 12px Arial;display:grid}.field-stack label{color:#afcddb;font-size:12px;font-weight:700}.field-stack input{min-height:27px;font-size:14px}.primary-btn{min-height:48px;font-size:14px}.clear-route{color:#8cdbe6;background:#13293d;border:1px solid #315469;border-radius:9px;width:100%;margin:10px 0 0;padding:10px}.clear-route[hidden]{display:none}.route-result.found{border-color:#34868c;box-shadow:0 0 26px #20b5d91a}@media (max-width:550px){.scene-guide{flex-direction:column;align-items:end;gap:4px}.scene-guide span{padding:4px 7px;font-size:9px}.reset-3d{font-size:9px;bottom:55px;right:9px}.easy-steps span{font-size:9px}}.map-stage.is-city{touch-action:auto;filter:none!important;transform:none!important}.map-stage.is-city #metroMap,.map-stage.is-city .scene-3d,.map-stage.is-city .source-image{display:none}.city-map{z-index:1;direction:ltr;background:#112437;display:none;position:absolute;inset:0}.map-stage.is-city .city-map{display:block}.map-card.show-city .map-controls{display:none}.city-map-guide{z-index:500;color:#d6f9ff;pointer-events:none;background:#0a2035eb;border:1px solid #3a8191;border-radius:11px;flex-wrap:wrap;align-items:center;gap:9px;max-width:calc(100% - 24px);padding:9px 12px;font-size:11px;display:flex;position:absolute;top:13px;right:12px;box-shadow:0 8px 25px #001b2b80}.city-map-guide span:last-child{color:#72e2d3;font-size:10px}.city-map-guide[hidden]{display:none}.city-map .leaflet-container{background:#112437;font-family:Vazirmatn,Tahoma,sans-serif}.city-map .leaflet-control-attribution{color:#c4deee!important;background:#0d2039ed!important;padding:3px 7px!important;font-size:9px!important}.city-map .leaflet-control-attribution a{color:#72e5f0!important}.city-map .leaflet-control-zoom a{color:#144054;background:#eef8fd;border-color:#aac5ce}.city-map .leaflet-tooltip{color:#e9ffff;background:#0b2338f2;border:1px solid #54b5c8;border-radius:8px;font-family:Vazirmatn,Tahoma,sans-serif;box-shadow:0 8px 24px #0006}.city-map .leaflet-tooltip:before{border-top-color:#54b5c8}.city-map .user-location-marker{filter:drop-shadow(0 0 8px #39dfff);animation:1.8s ease-in-out infinite location-pulse}.city-map .nearest-location-marker{filter:drop-shadow(0 0 9px #ffbd4a);animation:1.4s ease-in-out infinite nearest-pulse}@keyframes location-pulse{0%,to{opacity:1}50%{opacity:.65}}@keyframes nearest-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.18)}}.station-choice-field{align-items:center;gap:6px;min-width:0;display:flex}.station-choice-field input{cursor:pointer;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;transition:color .2s;overflow:hidden}.station-choice-field input:hover,.station-choice-field input:focus{color:#a9fbf3}.station-choice-field input.has-station{color:#efffff}.station-pick-button{color:#74eaf3;background:#1b4158;border:1px solid #377990;border-radius:8px;flex-shrink:0;width:32px;height:31px;font-size:21px;line-height:1}.station-pick-button:hover{background:#26647a}.route-pick-actions{grid-template-columns:1fr 1fr;gap:9px;margin-top:10px;display:grid}.route-pick-actions button{color:#96e0e9;background:#10283c;border:1px solid #32576d;border-radius:10px;padding:10px 6px;font-size:10px;font-weight:700}.route-pick-actions button:hover{background:#1b485b;border-color:#54baca}.station-tip-actions{gap:8px;margin-top:9px;display:flex}.station-tip-actions button{color:#8df9e8;background:#164151;border:1px solid #39879a;border-radius:8px;padding:6px 10px}.station-tip-actions button:last-child{color:#ffd0e9;background:#462741;border-color:#b26094}.station-picker-dialog{color:#f0f9ff;background:#0c1b2f;border:1px solid #438698;border-radius:21px;width:min(650px,100vw - 22px);max-height:min(86dvh,850px);padding:0;overflow:hidden;box-shadow:0 25px 100px #000d}.station-picker-dialog::backdrop{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#030914d9}.picker-shell{flex-direction:column;gap:12px;min-height:min(650px,82dvh);max-height:85dvh;padding:24px;display:flex}.picker-close{color:#d6eeff;background:#152e40;border:1px solid #315c72;border-radius:10px;width:35px;height:35px;font-size:23px;position:absolute;top:17px;left:19px}.picker-shell h2{letter-spacing:-.5px;margin:3px 0 0;font-size:21px;line-height:1.5}.picker-subtitle{color:#87a7b9;margin:0 0 4px;font-size:11px}.picker-tabs{grid-template-columns:1fr 1fr;gap:9px;display:grid}.picker-tabs button{color:#93afc5;text-align:right;background:#11273c;border:1px solid #2d4e65;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;min-width:0;padding:12px;font-weight:800;display:flex}.picker-tabs button.active{color:#f3ffff;background:#194657;border-color:#58dcda;box-shadow:inset 0 0 0 1px #3ad9cb28}.picker-tabs button span{color:#a0c2ce;white-space:nowrap;text-overflow:ellipsis;font-size:10px;font-weight:400;overflow:hidden}.picker-search-wrap{color:#70e7e9;background:#102b42;border:1px solid #368095;border-radius:12px;align-items:center;gap:12px;padding:11px 13px;font-size:22px;display:flex}.picker-search-wrap input{color:#fff;background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:13px}.picker-search-wrap input::placeholder{color:#7997a8}.picker-line-filters{scrollbar-width:thin;flex-shrink:0;gap:7px;padding-bottom:4px;display:flex;overflow-x:auto}.picker-line-chip{white-space:nowrap;color:#bdd0df;background:#102337;border:1px solid #35526a;border-radius:999px;padding:7px 11px;font-size:10px}.picker-line-chip:before{content:"";background:var(--picker-line);width:7px;height:7px;box-shadow:0 0 8px var(--picker-line);border-radius:50%;margin-left:7px;display:inline-block}.picker-line-chip.selected{color:#fff;background:#1d4659;border-color:#66bdc9}.picker-result-heading{color:#a9d0dc;justify-content:space-between;align-items:center;font-size:11px;font-weight:700;display:flex}.picker-result-heading span:last-child{color:#7c98af;font-weight:400}.picker-results{scrollbar-color:#397489 transparent;scrollbar-width:thin;flex:1;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:min-content;gap:8px;min-height:160px;padding:2px 2px 7px;display:grid;overflow-y:auto}.picker-result{color:#f0f7ff;text-align:right;background:#10263a;border:1px solid #2b465b;border-radius:11px;justify-content:space-between;align-items:center;gap:9px;min-width:0;min-height:48px;padding:12px;display:flex}.picker-result:hover,.picker-result:focus-visible{background:#16465a;border-color:#55c7d3}.picker-result.chosen{background:#174a49;border-color:#60e2bf}.picker-result-name{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;overflow:hidden}.picker-result-meta{flex-shrink:0;align-items:center;gap:4px;display:flex}.picker-result-meta i{border-radius:50%;width:8px;height:8px;display:block}.picker-result-meta small{color:#74e6d4;white-space:nowrap;margin-left:4px;font-size:8px}.picker-empty{color:#90b1c4;text-align:center;grid-column:1/-1;padding:20px}.picker-footer{color:#7d9caf;border-top:1px solid #2b465b;justify-content:space-between;align-items:center;gap:12px;padding-top:12px;font-size:10px;display:flex}.picker-footer button{color:#a0f4ed;white-space:nowrap;background:#164457;border:1px solid #438fa0;border-radius:9px;padding:9px 12px}@media (max-width:600px){.map-toolbar{gap:0}.view-switch{scrollbar-width:none;max-width:100%;overflow-x:auto}.view-switch button{padding:7px 8px;font-size:9px}.picker-shell{gap:10px;min-height:78dvh;max-height:88dvh;padding:18px 14px}.picker-shell h2{font-size:17px}.picker-results{grid-template-columns:1fr}.picker-tabs button{flex-direction:column;align-items:start;gap:4px}.city-map-guide{justify-content:space-between;font-size:10px;top:8px;left:7px;right:7px}.route-pick-actions button{font-size:9px}}.follow-train{z-index:12;color:#dffaff;cursor:pointer;background:#0b2b42ec;border:1px solid #408c98;border-radius:10px;padding:9px 12px;font:700 11px Tahoma,sans-serif;position:absolute;bottom:105px;right:13px;box-shadow:0 0 18px #143f6188}.follow-train[aria-pressed=true]{color:#a7ffdc;background:#165b55;border-color:#87f6d8}.map-card:not(.show-3d) .follow-train{display:none}.nearest-box{background:linear-gradient(135deg,#0a2538,#112d42);border:1px solid #28617a;border-radius:13px;margin:12px 0;padding:10px}.nearest-action{color:#0d2636;cursor:pointer;background:#83f7e7;border:1px solid #52d5cc;border-radius:10px;width:100%;padding:12px 8px;font-size:13px;font-weight:800;display:block}.nearest-action:disabled{opacity:.6;cursor:wait}.nearest-manual{color:#b9e0ed;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;margin:9px auto 0;padding:4px;font-size:10px;text-decoration:underline;display:block}.nearest-message{color:#a9e9f4;margin:9px 0 1px;font-size:11px;line-height:1.8}.nearest-caption{color:#90d5df;margin:10px 0 5px;font-size:10px;line-height:1.8}.nearest-row{border-top:1px solid #33607a;align-items:center;gap:5px;padding:8px 2px;display:flex}.nearest-row span{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.nearest-row strong{color:#efffff;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.nearest-row small{color:#79d9d5;font-size:10px}.nearest-row button{color:#d4f9ff;cursor:pointer;background:#163c51;border:1px solid #4993aa;border-radius:7px;padding:7px 8px;font-size:10px}.nearest-row button:hover{background:#277e88}@media (max-width:640px){.follow-train{padding:7px 8px;font-size:10px;bottom:96px;right:8px}}.map-stage.is-3d{filter:none;transform:none}@font-face{font-family:Pelak;src:local(Pelak),local(Pelak Regular),local(Pelak-Regular);font-style:normal;font-weight:100 900;font-display:swap}:root{--bg:#07111f;--surface:#0d1a2d;--surface-raised:#12253a;--surface-soft:#102033;--line-soft:#29415a;--ink-strong:#f5fbff;--ink-muted:#91a8bb;--accent:#63e9e9;--accent-strong:#2acbd6;--focus:#8af5ee}html{background:var(--bg);text-rendering:optimizelegibility}body{letter-spacing:-.01em;font-family:Pelak,Vazirmatn,Tahoma,Arial,sans-serif;line-height:1.65}button,input,dialog{font-family:inherit}button,input{min-height:38px}button:focus-visible,input:focus-visible{outline:2px solid var(--focus);outline-offset:3px;box-shadow:0 0 0 4px #8af5ee26}.topbar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(#0d1b2fef,#091426e8);height:80px;min-height:80px;padding-inline:clamp(16px,3vw,34px);box-shadow:0 8px 30px #02081442}.brand{gap:13px}.brand strong{font-size:22px;font-weight:800}.brand-logo{background:linear-gradient(145deg,#1b4558,#102238);border-radius:14px;width:44px;height:44px;box-shadow:inset 0 0 22px #4ee9ee18,0 0 25px #14ceec28}.header-center{color:#bfd0dd;background:#0f2136;border-color:#2a435b;padding:10px 18px;box-shadow:inset 0 1px #ffffff0b}.header-actions{gap:8px}.ghost-btn,.icon-btn{color:#c1d2df;background:#13243a;border-color:#2d455f;transition:background .2s,border-color .2s,transform .2s}.ghost-btn:hover,.icon-btn:hover{background:#19354d;border-color:#4b8496;transform:translateY(-1px)}.workspace{grid-template-columns:minmax(300px,370px) minmax(0,1fr) 78px}.rail{background:linear-gradient(#0c192b,#0a1424);border-inline-start:1px solid #2a4157}.rail-button{transition:color .2s,background .2s,border-color .2s,transform .2s}.rail-button:hover{color:#d2faff;background:#112a3f;border-color:#2b5569;transform:translateY(-1px)}.rail-button.active{box-shadow:inset 0 0 20px #42d9e213}.map-workspace{gap:20px;padding:clamp(20px,3vw,34px) clamp(16px,3vw,32px) 20px}.map-topline{align-items:flex-end}.map-topline h1{font-size:clamp(22px,2vw,28px);font-weight:800;line-height:1.35}.map-topline p,.sidebar-heading p{color:#8da6ba;font-size:12px}.map-stats{background:linear-gradient(145deg,#13243a,#0e1b2e);border-color:#2b435a;box-shadow:0 10px 26px #02081435}.map-stats strong{color:var(--ink-strong);font-size:22px}.map-card{border-color:#2b5168;border-radius:20px;box-shadow:inset 0 0 100px #01071352,0 20px 50px #0005}.map-card:after{border-radius:20px;box-shadow:inset 0 0 35px #66f0ef0c}.map-toolbar{top:16px}.view-switch{background:#071422eb;border-color:#35566c;box-shadow:0 7px 20px #02081465}.view-switch button{min-height:35px}.view-switch button:hover{color:#e5ffff;background:#12394b}.view-switch button.selected{color:#9ffcf5;background:linear-gradient(135deg,#1b5261,#174255)}.map-controls{background:#0a192aef;border-color:#35566d;box-shadow:0 10px 24px #0005}.map-controls button{min-height:32px}.map-foot{background:#071522d9;padding-inline:clamp(12px,2vw,22px)}.sidebar{background:linear-gradient(#0f1d31,#0c182a);border-inline-end:1px solid #2a435a}.sidebar-heading{border-bottom-color:#2a435a;padding:28px 24px 22px}.sidebar-heading h2{font-size:24px;font-weight:800}.pane{padding:24px 22px 18px}.input-journey,.route-result,.quick-route,.station-row,.line-row{box-shadow:0 7px 20px #02081425}.input-journey{background:linear-gradient(145deg,#15364c,#0d1e32);border-color:#3b6177}.field-stack input{font-family:inherit}.primary-btn{background:linear-gradient(100deg,#3bd2dc,#72efe0);min-height:50px;box-shadow:0 10px 28px #1fcbd13d}.primary-btn:hover{box-shadow:0 12px 32px #31e9dd52}.secondary-btn,.route-pick-actions button,.station-pick-button{transition:background .2s,border-color .2s,transform .2s}.secondary-btn:hover,.route-pick-actions button:hover,.station-pick-button:hover{transform:translateY(-1px)}.bottom-strip{min-height:46px}.notice{font-size:11px}.notice-icon{color:#75e5e5}.legend{gap:9px}@media (max-width:1190px){.workspace{grid-template-columns:340px minmax(0,1fr) 62px}.map-topline{align-items:flex-start}.sidebar-heading h2{font-size:22px}}@media (max-width:850px){.topbar{height:68px;min-height:68px}.brand strong{font-size:20px}.workspace{grid-template-columns:1fr;display:grid}.map-workspace{gap:16px;padding:18px 14px 16px}.map-card{border-radius:17px}.sidebar{border-inline-end:0;border-top:1px solid #2a435a}.pane{padding:20px 16px}.rail{border-top-color:#2a435a}.rail-button{min-height:48px}.bottom-strip{margin-top:0}}@media (max-width:520px){.topbar{padding-inline:12px}.brand small{display:none}.brand-logo{width:40px;height:40px}.header-actions .avatar{display:none}.map-topline h1{font-size:22px}.map-topline p{font-size:11px}.map-workspace{padding-inline:10px}.map-card{min-height:435px}.map-foot{font-size:9px}.sidebar-heading{padding:20px 16px}.sidebar-heading h2{font-size:21px}.easy-steps{gap:3px}.easy-steps span{font-size:9px}.route-pick-actions{gap:7px}.route-pick-actions button{padding-inline:4px;font-size:9px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.admin-first-layout{display:block;overflow:auto}.admin-first-layout>.map-topline,.admin-first-layout>.bottom-strip{max-width:1100px;margin-inline:auto}.admin-location-panel{background:linear-gradient(145deg,#10243a,#0c1829);border:1px solid #2b5168;border-radius:20px;max-width:1100px;margin:22px auto 30px;padding:24px;box-shadow:0 20px 55px #0005}.admin-panel-heading{border-bottom:1px solid #28445a;justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:20px;display:flex}.admin-panel-heading h2{margin:5px 0;font-size:26px}.admin-panel-heading p{color:#91a8bb;margin:0;font-size:12px}.admin-lock{color:#8ef5ed;border:1px solid #4b8b9a;border-radius:14px;place-items:center;width:48px;height:48px;font-size:26px;display:grid}.admin-panel-toolbar{align-items:center;gap:10px;margin:18px 0;display:flex}.admin-search{color:#7eeef0;background:#0a192b;border:1px solid #35566c;border-radius:10px;flex:1;align-items:center;gap:8px;min-width:180px;padding:0 12px;display:flex}.admin-search input{color:#f5fbff;background:0 0;border:0;outline:0;width:100%}.admin-count{color:#87a9bc;white-space:nowrap;font-size:11px}.admin-secondary,.admin-save{color:#c8f8fa;cursor:pointer;background:#123247;border:1px solid #397389;border-radius:9px;padding:9px 12px}.admin-secondary:hover,.admin-save:hover{background:#1a5361}.admin-station-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;display:grid}.admin-station-card{background:#0d1d30;border:1px solid #29465b;border-radius:13px;padding:14px}.admin-station-title{justify-content:space-between;align-items:start;gap:8px;margin-bottom:12px;display:flex}.admin-station-title strong{font-size:14px}.admin-station-title small{color:#7e9caf;text-align:left;direction:ltr;font-size:9px}.admin-coordinate-fields{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px;display:grid}.admin-coordinate-fields label{color:#91adbd;gap:4px;font-size:9px;display:grid}.admin-coordinate-fields input{color:#f3ffff;direction:ltr;background:#091727;border:1px solid #34566c;border-radius:7px;width:100%;min-height:34px;padding:5px 7px}.admin-save{color:#8df5e7;background:#164552;width:100%}.admin-status{color:#8adbd5;margin:18px 0 0;font-size:11px}@media (max-width:600px){.admin-location-panel{border-radius:15px;margin-top:14px;padding:17px}.admin-panel-heading h2{font-size:21px}.admin-panel-toolbar{flex-wrap:wrap}.admin-search{flex-basis:100%}.admin-station-grid{grid-template-columns:1fr}}.route-result{background:linear-gradient(145deg,#14354a,#0e1e31);border-color:#396479;border-radius:18px;min-height:150px;padding:20px}.route-result h3{font-size:16px}.route-result.found{background:linear-gradient(145deg,#123b43,#102534);border-color:#52cfc1}.route-result.found h3{color:#a4fff0;font-size:17px}.quick-routes{gap:9px}.quick-route{background:#102438;border-color:#2b5265;border-radius:15px;padding:14px}.admin-location-panel{scroll-margin-top:20px}@media (max-width:850px){.app{background:radial-gradient(circle at 50% -15%,#183852 0,#0000 42%),#07111f}.topbar{z-index:30;position:sticky;top:0;box-shadow:0 8px 24px #02081480}.workspace{flex-direction:column;min-height:0;display:flex}.sidebar{background:0 0;border:0;border-bottom:1px solid #28465c;flex-direction:column;order:1;display:flex}.sidebar-heading{background:linear-gradient(#10243a,#0c1b2d);order:0;padding:22px 16px 16px}.sidebar-heading h2{letter-spacing:-.4px;font-size:24px}.sidebar-heading p{font-size:11px}.pane{background:#0b192a;order:1;padding:15px 14px 20px}.pane:not(.visible){display:none}#routePanel{display:block}.easy-steps{display:none}.input-journey{border-radius:17px;padding:14px;box-shadow:0 12px 30px #02081455}.field-stack input{min-height:42px;font-size:13px}.station-pick-button{height:38px}.route-pick-actions{grid-template-columns:1fr 1fr;display:grid}.route-pick-actions button{min-height:42px}.nearest-box{margin-top:10px}.primary-btn{border-radius:14px;min-height:54px;font-size:14px}.map-workspace{flex-direction:column;order:2;gap:14px;min-height:0;padding:18px 12px 24px;display:flex}.map-topline{flex-direction:column;gap:10px;display:flex}.map-topline h1{font-size:22px}.map-topline p{margin:0}.map-stats{justify-content:space-around;width:100%}.map-stats>div{flex:1}.map-card{border-radius:18px;height:360px;min-height:360px}.map-toolbar{top:10px;left:10px;right:10px}.toolbar-hint{display:none}.map-stage{inset:52px 0 38px}.map-foot{min-height:38px}.admin-location-panel{border-radius:17px;order:3;margin:0 12px 24px;padding:16px}.admin-panel-heading{padding-bottom:14px}.admin-panel-heading h2{font-size:20px}.admin-panel-heading p{font-size:11px}.rail{z-index:25;order:4;position:sticky;bottom:0}.bottom-strip{order:5}}.focus-3d-mode{height:100dvh;min-height:560px;overflow:hidden}.focus-3d-mode .workspace{height:calc(100dvh - 80px);display:block}.focus-3d-mode .rail,.focus-3d-mode .sidebar,.focus-3d-mode .admin-location-panel,.focus-3d-mode .bottom-strip{display:none}.focus-3d-mode .map-workspace{flex-direction:column;height:100%;padding:24px clamp(14px,4vw,56px);display:flex}.focus-3d-mode .map-topline{width:100%;max-width:1180px;margin:0 auto 16px}.focus-3d-mode .map-topline p,.focus-3d-mode .map-stats{display:none}.focus-3d-mode .map-card{border-radius:24px;width:100%;max-width:1180px;height:calc(100% - 72px);min-height:0;margin:0 auto}.focus-3d-mode .map-stage{inset:58px 0 42px}.focus-3d-mode .map-toolbar{top:14px}.focus-3d-mode .view-switch button:not(#threeBtn){display:none}.focus-3d-mode .view-switch{padding:4px}.focus-3d-mode #threeBtn{display:block}.focus-3d-mode .map-card:not(.show-3d) .map-stage #metroMap,.focus-3d-mode .map-card:not(.show-3d) .map-stage .source-image,.focus-3d-mode .map-card:not(.show-3d) .map-stage .city-map{display:none}.focus-3d-mode .map-card:not(.show-3d) .map-stage .scene-3d{display:block}.focus-3d-mode .scene-guide{font-size:11px}.focus-3d-mode .map-controls{bottom:58px}.focus-3d-mode .station-tip{display:none}@media (max-width:850px){.focus-3d-mode .workspace{height:calc(100dvh - 68px)}.focus-3d-mode .map-workspace{padding:12px 10px}.focus-3d-mode .map-topline{margin-bottom:10px}.focus-3d-mode .map-topline h1{font-size:20px}.focus-3d-mode .map-card{border-radius:18px;height:calc(100% - 47px)}.focus-3d-mode .map-stage{inset:52px 0 38px}.focus-3d-mode .map-controls{bottom:50px}}
@font-face{font-family:IRANSans;src:url(../media/IRANSansWeb\(FaNum\)_UltraLight.438x4ydz1ggy6.woff2)format("woff2");font-weight:100 200;font-style:normal;font-display:swap}@font-face{font-family:IRANSans;src:url(../media/IRANSansWeb\(FaNum\)_Light.21o3qlamd96ft.woff2)format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:IRANSans;src:url(../media/IRANSansWeb\(FaNum\).0jiifb96lvpow.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IRANSans;src:url(../media/IRANSansWeb\(FaNum\)_Medium.3r3vyiv7cejqg.woff2)format("woff2");font-weight:500 600;font-style:normal;font-display:swap}@font-face{font-family:IRANSans;src:url(../media/IRANSansWeb\(FaNum\)_Bold.07efa2d7mbo0b.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:IRANSans;src:url(../media/IRANSansWeb\(FaNum\)_Black.449mv0jq-k0pt.woff2)format("woff2");font-weight:800 900;font-style:normal;font-display:swap}body{font-family:IRANSans,Vazirmatn,Tahoma,sans-serif}button,input,select,textarea,dialog,.city-map .leaflet-container,.city-map .leaflet-tooltip,.follow-train{font-family:inherit}
.focus-3d-mode{background:#0b1220;height:100dvh;min-height:0}.focus-3d-mode .topbar{height:64px;min-height:64px;box-shadow:none;background:#101b2b;padding-inline:clamp(16px,3vw,40px)}.focus-3d-mode .brand-logo{width:34px;height:34px;box-shadow:none;border-radius:10px;transform:none}.focus-3d-mode .brand-logo span{font-size:24px;transform:none}.focus-3d-mode .brand strong{font-size:19px}.focus-3d-mode .header-center{box-shadow:none;background:0 0;border:0;font-size:11px;display:none}.focus-3d-mode .header-actions,.focus-3d-mode .header-separator,.focus-3d-mode .header-muted{display:none}.station-editor-nav{color:#a3e6d7;white-space:nowrap;border:1px solid #38576a;border-radius:9px;align-items:center;min-height:40px;padding:7px 12px;font-size:11px;text-decoration:none;display:flex}.station-editor-nav:hover{background:#23424b}.focus-3d-mode .workspace{height:calc(100dvh - 64px);min-height:0}.focus-3d-mode .map-workspace{gap:0;height:100%;min-height:0;padding:clamp(8px,2vw,24px);overflow:hidden}.focus-3d-mode .map-topline{display:none}.focus-3d-mode .map-card{background:#121e2b;border:1px solid #2b3b4d;border-radius:18px;flex-direction:column;flex:1;width:100%;max-width:1600px;height:100%;min-height:0;display:flex;overflow:hidden;box-shadow:0 12px 40px #0003}.focus-3d-mode .map-card:before,.focus-3d-mode .map-card:after,.focus-3d-mode .map-grid,.focus-3d-mode .map-aura,.focus-3d-mode .scene-guide{display:none}.explorer-bar{z-index:2;background:#152232;border-bottom:1px solid #2c3c4f;flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;display:flex}.explorer-heading .eyebrow{color:#8da9b9;letter-spacing:2px;font:10px/1.5 Arial,sans-serif}.explorer-heading h1{color:#f3f6f8;margin:5px 0 4px;font-size:23px;font-weight:700}.explorer-heading p{color:#abbcc7;margin:0;font-size:11px}.explorer-actions,.explorer-camera{align-items:center;gap:6px;display:flex}.explorer-actions button{color:#dfebf1;min-height:44px;box-shadow:none;cursor:pointer;background:#1d3044;border:1px solid #40536a;border-radius:10px;padding:10px 14px;font-size:12px}.explorer-actions button:hover{background:#2b455b;border-color:#7693a7}.explorer-actions button[aria-pressed=true]{color:#d4fff3;background:#23544f;border-color:#67bdab}.explorer-actions button:focus-visible{outline-offset:3px;outline:2px solid #96ead7}.explorer-camera{direction:ltr;border-inline-start:1px solid #394b5e;padding-inline-start:12px}.explorer-camera button{width:44px;padding:0;font:22px Arial,sans-serif}.focus-3d-mode .map-stage{background:radial-gradient(at 50% 40%,#263747,#121f2c 80%);flex:1;width:100%;min-height:0;position:relative;inset:auto}.focus-3d-mode .map-stage:after{display:none}.focus-3d-mode .scene-label{color:#e5edf1;box-shadow:none;text-shadow:none;background:#142232eb;border:1px solid #627c8c88;border-radius:4px;padding:2px 6px;font-size:10px}.explorer-footer{color:#b0c4d1;background:#152232;border-top:1px solid #2c3c4f;flex-wrap:wrap;flex-shrink:0;justify-content:space-between;gap:6px 20px;padding:12px 22px;font-size:10px;display:flex}.explorer-data-note{color:#8fa6b5}.world-station-search{flex:1;min-width:200px;max-width:380px;margin:0}.world-search-box{z-index:20;position:relative}.world-search-label{color:#b2c8d1;margin-bottom:5px;font-size:10px;display:block}.world-search-input{color:#9ce6d6;background:#0d1c2a;border:1px solid #526e80;border-radius:10px;align-items:center;gap:8px;min-height:44px;padding:0 10px;display:flex}.world-search-input>span{font-size:22px}.world-search-input input{color:#f0f7fa;background:0 0;border:0;outline:none;width:100%;min-width:0;font-family:inherit;font-size:12px}.world-search-input input::-webkit-search-cancel-button{display:none}.world-search-input:focus-within{border-color:#92e7d4;box-shadow:0 0 0 2px #92e7d422}.world-search-input input:focus-visible{box-shadow:none;outline:none}.world-search-input button{color:#b7ced8;cursor:pointer;background:0 0;border:0;min-height:36px;padding:0 4px;font-size:21px}.world-search-input button[hidden]{display:none}.world-search-results{top:100%;background:#132738;border:1px solid #5d7d8c;border-radius:12px;max-height:330px;margin-top:7px;padding:5px;position:absolute;inset-inline:0;overflow:auto;box-shadow:0 16px 40px #0007}.world-search-results[hidden]{display:none}.world-search-results button,.world-search-results [role=option]{font:inherit;text-align:start;color:#e8f4f7;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:44px;padding:10px;display:flex}.world-search-results :is(button,[role=option]):hover,.world-search-results [aria-selected=true]{background:#265266}.world-search-results :is(button,[role=option]):disabled,.world-search-results [aria-disabled=true]{opacity:.5;cursor:default}.world-search-results small{color:#a5c5d1;font-size:9px}.world-search-results p{color:#c4dce5;padding:7px 10px;font-size:12px}.world-search-status{color:#9ed6cc;min-height:0;margin-top:4px;font-size:9px;line-height:1.6;display:block}.world-search-status:empty{display:none}.station-flag-connectors{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.station-flag-connectors line{stroke:#a5bbc6;stroke-width:1px;opacity:.7}.focus-3d-mode .scene-label.station-flag{pointer-events:auto;cursor:pointer;border-inline-start:4px solid var(--flag-color);color:#eef7f8;white-space:nowrap;z-index:1;background:#112638f2;border-radius:3px 5px 5px 3px;min-height:18px;padding:2px 6px;font:500 9px/1.4 IRANSans,Tahoma,sans-serif;box-shadow:0 3px 8px #0005}.focus-3d-mode .scene-label.station-flag:hover,.focus-3d-mode .scene-label.selected-flag{z-index:2;background:#275468;border-color:#a0f3de}@media (max-width:1000px){.explorer-heading{flex:1}.world-station-search{flex-basis:100%;order:3;max-width:none}.explorer-actions{margin-inline-start:auto}}@media (max-width:600px){.focus-3d-mode .topbar{height:54px;min-height:54px}.focus-3d-mode .workspace{height:calc(100dvh - 54px)}.focus-3d-mode .map-card{border-radius:12px}.explorer-bar{gap:14px;padding:14px}.explorer-heading h1{font-size:19px}.explorer-heading p{display:none}.explorer-actions{justify-content:space-between;width:100%}.world-station-search{order:2}.explorer-actions{order:3}.explorer-bar{gap:10px}.world-search-results{max-height:260px}.explorer-actions button{font-size:11px}.explorer-footer{padding:10px 14px;font-size:9px}}.hide-station-names #scene3dLabels{visibility:hidden}.world-station-menu{z-index:25;font-size:12px;position:relative}.world-station-menu>summary{cursor:pointer;color:#e8f4f7;background:#1d3044;border:1px solid #526e80;border-radius:10px;padding:12px;list-style:none}.world-menu-panel{inset-inline-start:0;background:#132738;border:1px solid #526e80;border-radius:12px;width:290px;max-width:calc(100vw - 40px);max-height:65dvh;margin-top:8px;padding:14px;position:absolute;top:100%;overflow:auto;box-shadow:0 12px 35px #0008}.world-menu-panel>label{margin-bottom:6px;display:block}.world-menu-panel input{color:#fff;width:100%;font:inherit;background:#0d1c2a;border:1px solid #526e80;border-radius:8px;padding:8px}.world-menu-panel details{margin-top:10px}.world-menu-panel summary{cursor:pointer;background:#20394a;padding:10px}.world-menu-panel button{text-align:start;color:#d9eaf2;width:100%;font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #304859;padding:9px;display:block}.world-menu-panel button:hover{background:#265266}.world-menu-panel button:disabled{opacity:.45;cursor:default}.explorer-actions{flex-wrap:wrap}@media (max-width:600px){.world-station-menu{order:3}.explorer-actions{order:4;gap:6px}.explorer-actions button{padding:8px;font-size:10px}.explorer-camera{gap:3px;padding-inline-start:6px}}.world-menu-panel{inset-inline-start:16px;z-index:60;width:300px;max-height:none;margin:0;position:fixed;top:150px;bottom:20px}@media (max-width:600px){.world-menu-panel{top:110px;bottom:12px;width:min(310px,100vw - 20px);inset-inline-start:10px}}.world-menu-panel{top:80px;bottom:16px;background:#0f1f2f;border-color:#345064;border-radius:18px;flex-direction:column;width:354px;padding:0;display:flex;inset-inline-start:16px;overflow:hidden;box-shadow:0 24px 80px #0009}.world-menu-header{background:linear-gradient(135deg,#1a3547,#112535);border-bottom:1px solid #294255;justify-content:space-between;align-items:flex-start;gap:12px;padding:24px 22px 18px;display:flex}.world-menu-header span{letter-spacing:1.8px;color:#84b7c0;font:9px Arial}.world-menu-header h2{color:#f1f8fa;margin:8px 0;font-size:20px}.world-menu-header p{color:#acc4d0;margin:0;font-size:10px;line-height:1.9}.world-menu-panel .world-menu-header button{text-align:center;background:#1c3647;border:1px solid #486879;border-radius:9px;width:34px;min-width:34px;min-height:34px;padding:0;font-size:24px}.world-menu-tools{align-items:center;gap:10px;padding:16px 20px 10px;display:flex}.world-menu-panel .world-menu-tools button{white-space:nowrap;background:#1b4249;border:1px solid #4b7e83;border-radius:8px;width:auto;padding:9px;font-size:10px}.world-menu-tools>span{color:#9fd9cd;font-size:9px}.world-menu-panel>label{color:#acc5d2;margin:4px 22px 7px;font-size:10px}.world-menu-panel>input{background:#091827;border-color:#3a586d;border-radius:10px;width:calc(100% - 40px);margin:0 20px 16px;padding:11px 12px;font-size:12px}#worldMenuGroups{scrollbar-width:thin;scrollbar-color:#426276 transparent;flex:1;min-height:0;padding:0 14px 14px;overflow:auto}.world-line-card{background:#152a3b;border:1px solid #2d495d;border-radius:12px;margin-bottom:10px;overflow:hidden}.world-line-card.active-line{border-color:var(--line-color)}.world-menu-panel .world-line-card details{margin:0}.world-menu-panel .world-line-card summary{background:0 0;align-items:center;gap:11px;padding:14px;list-style:none;display:flex;position:relative}.world-line-card summary:after{content:"⌄";color:#8ea8b8;margin-inline-start:auto}.world-line-card details[open] summary:after{content:"⌃"}.world-line-number{background:var(--line-color);color:#071523;border-radius:10px;place-items:center;min-width:34px;height:34px;font-size:15px;font-weight:800;display:grid}.world-line-card summary strong{font-size:13px;font-weight:600}.world-line-card summary small{color:#9cb6c8;margin-top:5px;font-size:9px;line-height:1.8;display:block}.world-menu-panel button.world-show-line{color:#c3dee8;text-align:center;background:#1c3547;border:1px solid #3a596e;border-radius:8px;width:calc(100% - 28px);margin:0 14px 13px;padding:9px;font-size:10px}.world-menu-panel button.world-show-line[aria-pressed=true]{color:#d3ffed;background:#245347;border-color:#78c9ad}.world-line-stations{padding:0 12px 10px}.world-menu-panel button.world-menu-station{border-bottom:1px solid #294458;align-items:center;gap:9px;min-height:42px;padding:9px 5px;font-size:11px;display:flex}.world-stop-number{color:#8eaabc;text-align:center;min-width:21px;font-size:9px}.world-menu-station small{color:#8dcdbc;background:#1c4149;border-radius:5px;margin-inline-start:auto;padding:3px 5px;font-size:8px}.world-menu-footer{color:#8aa7ba;border-top:1px solid #294255;padding:13px 20px;font-size:9px;line-height:1.9}.world-menu-empty{text-align:center;color:#a5bdcc;padding:25px 10px;font-size:12px}@media (max-width:600px){.world-menu-panel{top:65px;bottom:10px;width:calc(100vw - 20px);max-width:354px;inset-inline-start:10px}.world-menu-header{padding:20px}.world-menu-header h2{font-size:19px}}:root{--motion-fast:.16s;--motion-normal:.26s;--motion-ease:cubic-bezier(.2,.8,.2,1)}.focus-3d-mode :is(button,input,summary,a),.world-line-card{transition:background-color var(--motion-fast) ease,border-color var(--motion-fast) ease,color var(--motion-fast) ease,box-shadow var(--motion-normal) ease,opacity var(--motion-fast) ease,transform var(--motion-fast) var(--motion-ease)}.explorer-actions button:active,.world-menu-panel button:active{transform:scale(.97)}.world-menu-panel[hidden],.world-search-results[hidden]{display:none!important}.world-menu-panel{will-change:transform,opacity}.world-menu-panel .world-line-card{background:#122a3b;border-color:#2b475b}.world-menu-panel .world-show-line{justify-content:center;align-items:center;gap:8px;display:flex}.world-menu-panel .world-show-line[aria-pressed=true]:before{content:"✓";color:#9de5ce}.world-line-card summary:after{transition:transform var(--motion-normal) var(--motion-ease)}.world-menu-panel .world-line-card details[open] summary:after{content:"⌄";transform:rotate(180deg)}.world-line-stations{transform-origin:top}.focus-3d-mode .scene-label.station-flag{transition:opacity .2s,visibility linear,background-color .16s,border-color .16s,box-shadow .2s}.focus-3d-mode .scene-label.station-flag.flag-hidden{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s,visibility 0s linear .2s}.station-flag-connectors line{transition:opacity .2s}.station-flag-connectors line.flag-hidden{opacity:0}@media (prefers-reduced-motion:reduce){.focus-3d-mode *{transition-duration:.01ms!important;animation-duration:.01ms!important}.world-menu-panel{will-change:auto}}.focus-3d-mode .scene-label.station-flag{border-inline-start:0;align-items:center;gap:4px;padding-inline-start:7px;display:flex}.station-flag:before{content:"";background:var(--flag-colors,var(--flag-color));border-radius:2px;width:3px;position:absolute;inset-block:0;inset-inline-start:0}.station-flag-lines{align-items:center;gap:2px;display:inline-flex}.station-line-badge{color:#ecf4fa;border:2px solid var(--badge-color);min-width:18px;height:18px;box-shadow:inset 0 -3px var(--badge-color);background:#0b1725;border-radius:5px;place-items:center;padding:0 3px;font-size:9px;font-weight:700;line-height:1;display:inline-grid}.world-menu-station small.world-interchange-lines{background:0 0;gap:3px;padding:0;display:flex}.world-interchange-lines .station-line-badge{min-width:18px;height:18px}.focus-3d-mode .map-stage{background:radial-gradient(at 50% 40%,#17233d,#080f20 85%)}.focus-3d-mode .scene-label.station-flag{box-shadow:0 3px 12px #0008,0 0 9px color-mix(in srgb,var(--flag-color) 22%,transparent)}.focus-3d-mode .topbar{background:#0b1423;border-bottom-color:#223247;height:54px;min-height:54px}.focus-3d-mode .map-card{border-radius:16px}.explorer-bar{background:#111f30;gap:16px;padding:16px 20px}.explorer-heading .eyebrow{display:none}.explorer-heading h1{margin:0 0 4px;font-size:19px}.explorer-heading p{color:#8fa8b9;font-size:10px}.world-station-search{max-width:340px}.world-search-label{color:#8da9b9;font-size:9px}.world-station-menu>summary{color:#c6f5ed;background:#1d454c;border-color:#5c9c9d;font-weight:600}.explorer-actions{gap:8px}.explorer-actions button{background:#172a3e;border-color:#334d62;padding:8px 10px;font-size:10px}.explorer-camera{padding-inline-start:8px}.explorer-camera button{width:38px;min-height:40px}.world-menu-panel{border-radius:16px}.world-line-card{box-shadow:0 4px 12px #0002}.world-line-actions{grid-template-columns:1fr 1fr;gap:8px;padding:0 14px 14px;display:grid}.world-menu-panel .world-line-actions .world-show-line{background:0 0;border-color:#365469;width:100%;min-height:40px;margin:0;font-size:10px}.world-menu-panel button.world-review-line{color:#d5f5ed;text-align:center;background:#204851;border:1px solid #568b90;border-radius:8px;width:100%;min-height:40px;margin:0;font-size:11px;font-weight:600}.world-menu-panel button.world-review-line:hover{background:#30636b}.world-menu-tools{gap:8px}.world-menu-panel .world-menu-tools button{color:#a9c5d3;background:0 0;border-color:#365469;font-size:9px}.line-review{box-shadow:inset 4px 0 var(--review-color);z-index:1;background:#142a3a;border-bottom:1px solid #355166;flex-shrink:0;justify-content:space-between;align-items:center;gap:20px;padding:14px 20px;display:flex}.line-review[hidden]{display:none!important}.review-identity{align-items:center;gap:12px;min-width:160px;display:flex}.review-identity>span{border:2px solid var(--review-color);color:#eef8fa;white-space:nowrap;border-radius:9px;padding:8px 10px;font-size:11px}.review-identity strong{font-size:15px;font-weight:600;display:block}.review-identity small{color:#a1bac9;margin-top:5px;font-size:10px;display:block}.review-playback{align-items:center;gap:6px;display:flex}.line-review button{color:#e0eef3;cursor:pointer;background:#203b4f;border:1px solid #456279;border-radius:8px;min-height:40px;padding:8px 12px;font:11px IRANSans,Tahoma,sans-serif;transition:background-color .18s,transform .18s,opacity .18s}.line-review button:hover{background:#30556b}.line-review button:disabled{opacity:.35;cursor:default}.line-review #reviewPlay{background:#245552;border-color:#73b3a4;min-width:116px}.line-review #reviewPlay[aria-pressed=true]{background:#42746a}.review-position{color:#a1becd;flex-direction:column;gap:8px;min-width:120px;font-size:10px;display:flex}.review-position progress{width:100%;height:4px;accent-color:var(--review-color)}.line-review #reviewClose{background:0 0;border:0;padding:4px 8px;font-size:22px}.line-review button:focus-visible{outline-offset:3px;outline:2px solid #92e7d4}@media (max-width:1100px){.explorer-heading{flex:1}.world-station-search{flex-basis:100%;order:3;max-width:none}.world-station-menu{order:1}.explorer-actions{order:2}.line-review{flex-wrap:wrap;gap:12px}.review-position,.review-identity{flex:1}.review-playback{order:3;justify-content:center;width:100%}}@media (max-width:600px){.focus-3d-mode .map-workspace{padding:6px}.explorer-bar{gap:10px;padding:12px}.explorer-heading{flex-basis:100%}.explorer-heading h1{font-size:17px}.world-station-search{flex-basis:100%;order:1}.world-station-menu{order:2}.explorer-actions{flex:1;order:2;justify-content:flex-end;width:auto;margin:0}.explorer-actions #followTrainBtn{display:none}.explorer-camera{border:0;gap:3px;padding:0}.explorer-camera button{width:36px;min-height:38px}.world-station-menu>summary{padding:10px;font-size:10px}.line-review{gap:12px;padding:11px 12px}.review-identity strong{font-size:13px}.review-position{flex:0;min-width:80px}.review-identity>span{padding:7px}.review-playback{justify-content:stretch}.review-playback button{flex:1;padding:7px;font-size:10px}.line-review #reviewPlay{min-width:100px}.world-menu-panel{top:60px}.explorer-footer{font-size:8px}}.explorer-layout{direction:rtl;flex:1;grid-template-columns:300px minmax(0,1fr);gap:12px;width:100%;max-width:1900px;min-height:0;margin:auto;display:grid}.focus-3d-mode .explorer-layout .map-card{border-radius:14px;min-width:0;max-width:none;margin:0}.explorer-layout .world-station-menu{z-index:3;order:0;min-width:0;min-height:0;display:flex;position:relative}.explorer-layout .world-menu-panel{width:100%;max-width:none;max-height:none;box-shadow:none;will-change:auto;background:#0c1928;border:1px solid #294052;border-radius:14px;flex:1;margin:0;position:static;inset:auto}.world-menu-header{background:#101f30;padding:20px 18px 16px}.world-menu-header .network-count{white-space:nowrap;color:#abefe0;letter-spacing:0;background:#123a35;border:1px solid #35665f;border-radius:20px;padding:5px 8px;font:10px IRANSans,Tahoma,sans-serif}.world-menu-tools{flex-wrap:wrap;padding:12px 16px 8px}.world-menu-panel>label{margin-inline:18px}.world-menu-panel>input{margin-inline:16px;width:calc(100% - 32px);margin-bottom:14px}#worldMenuGroups{padding:0 10px 12px}.world-menu-panel .world-line-card{border-color:#263c50;border-inline-start:3px solid var(--line-color);box-shadow:none;background:#112234;border-radius:10px;margin-bottom:8px}.world-menu-panel .world-line-card summary{gap:10px;padding:12px 10px}.world-line-number{border-radius:8px;min-width:30px;height:30px;font-size:13px}.world-line-card summary strong{font-size:12px}.world-line-card summary small{font-size:9px}.world-line-actions{gap:6px;padding:0 10px 10px}.world-menu-panel button.world-review-line{background:#183b44;border-color:#35616b;font-size:10px}.world-menu-panel .world-line-actions .world-show-line{font-size:9px}.world-menu-footer{padding:12px 16px;font-size:9px}.tehran-clock{color:#d5f5f4;grid-template-columns:auto auto;align-items:center;gap:2px 14px;display:grid}.tehran-clock .clock-label{color:#8fb7bc;font-size:9px}.tehran-clock time{font-variant-numeric:tabular-nums;letter-spacing:2px;color:#b6fff1;text-shadow:0 0 16px #5adfc642;direction:ltr;font:500 22px/1.1 IRANSans,Tahoma,sans-serif}.tehran-clock small{color:#92aab9;text-align:end;grid-column:1/-1;font-size:9px}.explorer-bar{gap:12px;padding:14px 18px}.explorer-heading h1{font-size:18px}.explorer-heading p{font-size:9px}.world-station-search{min-width:160px}.explorer-footer{padding:9px 14px;font-size:9px}@media (max-width:1250px){.explorer-layout{grid-template-columns:270px minmax(0,1fr)}.explorer-heading{flex:1}.explorer-actions{order:0}.world-station-search{flex-basis:100%;order:1;max-width:none}.line-review{gap:10px;padding:12px}.review-identity{min-width:0}.review-position{min-width:80px}.review-playback{order:3;width:100%}}@media (max-width:760px){.explorer-layout{grid-template-columns:190px minmax(0,1fr);gap:6px}.world-menu-header{padding:14px 12px}.world-menu-header h2{font-size:15px}.world-menu-header p,.world-menu-header>div>span,.network-count{display:none}.world-menu-tools{padding:10px}.world-menu-tools>span{display:none}.world-menu-panel>label{margin-inline:12px}.world-menu-panel>input{width:calc(100% - 20px);margin-inline:10px;font-size:10px}.world-line-card summary small{display:none}.world-line-number{min-width:25px;height:25px}.world-line-card summary strong{font-size:11px}.world-line-actions{grid-template-columns:1fr}.world-menu-footer{display:none}.explorer-bar{padding:10px}.explorer-heading{flex-basis:100%}.explorer-actions{justify-content:flex-start;width:100%;margin:0}.world-station-search{min-width:0}.review-identity{flex-basis:100%}.review-identity>span{font-size:9px}.review-position{flex:1}.review-playback{flex-wrap:wrap}.review-playback button{min-width:0;padding:7px 5px}.line-review #reviewPlay{min-width:0}.explorer-footer .explorer-data-note{display:none}}@media (max-width:480px){.explorer-layout{grid-template-columns:142px minmax(0,1fr);gap:5px}.focus-3d-mode .map-workspace{padding:5px}.world-menu-panel .world-line-card summary{gap:6px;padding:10px 6px}.world-menu-panel .world-line-card summary:after,.world-line-card summary strong{font-size:10px}.world-line-number{min-width:23px;height:25px;font-size:11px}.world-menu-panel>input{padding:9px 6px}.world-menu-panel .world-menu-tools button{width:100%;padding:8px 4px;font-size:8px}.world-line-actions{padding:0 6px 8px}.world-menu-header h2{font-size:12px}.world-menu-header{padding:13px 10px}.world-menu-panel>label{font-size:9px}.explorer-heading h1{font-size:14px}.explorer-camera button{width:32px}.explorer-bar{gap:8px;padding:10px 8px}.tehran-clock{column-gap:6px}.tehran-clock time{font-size:18px}.tehran-clock small,.tehran-clock .clock-label{font-size:8px}.focus-3d-mode .brand strong{font-size:16px}.focus-3d-mode .topbar{padding-inline:12px}.review-playback #reviewPlay{flex-basis:100%;order:2}.review-identity{flex-wrap:wrap;gap:6px}.review-identity strong{font-size:11px}.review-identity small{font-size:9px}.world-menu-panel button.world-menu-station{flex-wrap:wrap;gap:3px;font-size:10px}.world-stop-number{min-width:15px}.explorer-footer{padding:8px;font-size:8px}}.world-menu-panel .world-line-card.reviewing-line{border-color:var(--line-color);background:color-mix(in srgb,var(--line-color) 9%,#112234)}.world-menu-panel .world-review-line[aria-pressed=true]{color:#e3fffa;background:#285862;border-color:#78b9b5}.explorer-camera button.north-compass{color:#a6cfce;background:#142e3b;border-color:#40666d;place-items:center;width:42px;min-width:38px;padding:3px;display:grid}.north-compass svg{transform-origin:50%;flex-shrink:0;width:32px;height:32px;display:block}.explorer-camera .north-compass:hover{background:#204853;border-color:#82cdbd}.station-flag .station-line-badge{min-width:13px;height:13px;box-shadow:inset 0 -2px var(--badge-color);border-width:1px;border-radius:3px;padding:0 2px;font-size:7px}.focus-3d-mode{min-height:0}.focus-3d-mode .workspace{height:100dvh}.focus-3d-mode .map-workspace{padding:8px}.explorer-layout{gap:8px}.world-menu-panel .world-station-search{flex:none;order:0;width:auto;min-width:0;max-width:none;margin:8px 16px 16px}.world-menu-panel .world-search-box{z-index:30}.world-menu-panel .world-search-label{margin:0 0 7px;font-size:10px}.world-menu-panel .world-search-input{min-height:44px;padding:0 10px}.world-menu-panel .world-search-input input{background:0 0;border:0;border-radius:0;width:100%;margin:0;padding:0;font-size:11px}.world-menu-panel .world-search-input button{background:0 0;border:0;width:auto;min-height:36px;padding:0 4px}.world-menu-panel .world-search-results{max-height:260px;padding:5px}.world-menu-panel .world-search-results button{border:0;border-radius:6px;gap:5px;min-height:40px;padding:8px;font-size:10px;display:flex}.world-menu-panel .world-search-results small{font-size:8px}.world-search-status{font-size:9px}.focus-3d-mode .map-card{position:relative}.focus-3d-mode .map-stage{border-radius:inherit;flex:1;height:100%;overflow:hidden}.world-controls.explorer-actions{z-index:8;flex-direction:column;order:0;align-items:center;gap:8px;width:44px;margin:0;display:flex;position:absolute;inset-block-start:14px;inset-inline-end:14px}.world-controls .explorer-camera{border:0;flex-direction:column;order:-1;gap:6px;padding:0;display:flex}.world-controls.explorer-actions button{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#102435ed;border:1px solid #416273;border-radius:11px;width:44px;min-height:44px;padding:5px;font-size:20px;box-shadow:0 4px 14px #0004}.world-controls.explorer-actions button:hover{background:#244a5e}.world-controls.explorer-actions button#followTrainBtn{font-size:9px;line-height:1.6;display:block}.world-controls .explorer-camera button.north-compass{width:44px;min-height:44px;padding:4px}.map-stage>.tehran-clock{z-index:5;pointer-events:none;background:#102435dc;border:1px solid #355367;border-radius:11px;column-gap:10px;padding:9px 12px;position:absolute;inset-block-start:14px;inset-inline-start:14px}.map-stage>.tehran-clock time{font-size:18px}.map-stage>.tehran-clock small{font-size:8px}.map-stage>.line-review{z-index:10;width:auto;max-width:760px;box-shadow:inset 3px 0 var(--review-color),0 8px 30px #0006;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#102737f2;border:1px solid #355166;border-radius:13px;gap:12px;margin-inline:auto;padding:12px 14px;position:absolute;inset-block-end:26px;inset-inline:14px}.map-stage>.line-review .review-identity{min-width:0}.map-stage>.line-review .review-position{min-width:84px}.map-stage>.line-review .review-playback{order:0;width:auto}.explorer-footer{z-index:4;pointer-events:none;background:linear-gradient(#0000,#0b1928dd);border:0;padding:8px 12px;font-size:9px;position:absolute;inset-block-end:0;inset-inline:0}.explorer-footer .explorer-data-note{display:none}@media (max-width:1100px){.map-stage>.line-review{flex-wrap:wrap}.map-stage>.line-review .review-playback{order:3;width:100%}.map-stage>.line-review .review-identity{flex:1}.map-stage>.line-review .review-position{flex:0}.map-stage>.line-review #reviewClose{margin-inline-start:auto}}@media (max-width:760px){.world-menu-panel .world-station-search{margin:8px 10px 12px}.world-menu-panel .world-search-input{padding:0 6px}.world-menu-panel .world-search-input input{font-size:10px}.world-menu-panel .world-search-label{font-size:9px}.world-menu-panel .world-search-input>span{display:none}.world-menu-panel .world-search-results button{flex-wrap:wrap;justify-content:flex-start}.world-menu-panel .world-search-results small{width:100%}.map-stage>.tehran-clock{flex-direction:column;align-items:flex-start;gap:3px;padding:7px 8px;display:flex;inset-block-start:10px;inset-inline-start:10px}.map-stage>.tehran-clock .clock-label{font-size:8px}.map-stage>.tehran-clock time{font-size:16px}.map-stage>.tehran-clock small{display:none}.world-controls.explorer-actions{inset-block-start:10px;inset-inline-end:10px}.map-stage>.line-review{gap:8px;padding:10px;inset-block-end:28px;inset-inline:8px}.map-stage>.line-review .review-identity{flex-basis:100%}.map-stage>.line-review .review-position{flex:1}.map-stage>.line-review .review-playback{width:100%}.map-stage>.line-review .review-playback button{min-width:0;padding:5px;font-size:9px}.map-stage>.line-review #reviewPlay{min-width:0}.world-controls.explorer-actions button#followTrainBtn{display:block}.focus-3d-mode .map-workspace{padding:5px}}@media (max-width:480px){.explorer-layout{gap:5px}.world-controls.explorer-actions{inset-inline-end:8px}.map-stage>.tehran-clock{inset-inline-start:8px}.world-menu-panel .world-search-input input{font-size:9px}.world-menu-panel .world-search-label,.world-menu-panel .world-search-status{font-size:8px}.map-stage>.line-review .review-playback #reviewPlay{flex-basis:100%;order:2}.map-stage>.line-review .review-identity strong{font-size:11px}}.world-controls.explorer-actions #worldRouteToggle{font-size:23px;line-height:1.1}.world-controls #worldRouteToggle small{font-size:8px;display:block}.world-controls.explorer-actions #worldRouteToggle[aria-expanded=true]{background:#285950;border-color:#88d8bd}.world-route-panel{z-index:12;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);scrollbar-width:thin;scrollbar-color:#426777 transparent;background:#102435f5;border:1px solid #426777;border-radius:14px;width:auto;max-width:520px;max-height:calc(100% - 120px);margin-inline:auto;padding:16px;position:absolute;inset-block-end:28px;inset-inline:14px;overflow:auto;box-shadow:0 12px 40px #0007}.world-route-panel[hidden]{display:none!important}.world-route-panel header{justify-content:space-between;align-items:center;margin-bottom:12px;font-size:14px;display:flex}.world-route-panel button{color:#e2f1f4;cursor:pointer;background:#193649;border:1px solid #405e72;border-radius:9px;min-height:40px;padding:8px 12px;font:11px IRANSans,Tahoma,sans-serif}.world-route-panel button:hover{background:#2a5064}.world-route-panel button:disabled{opacity:.4;cursor:default}.world-route-panel header button{background:0 0;border:0;min-width:32px;min-height:32px;padding:0;font-size:22px}.world-route-endpoints{grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr);align-items:center;gap:8px;display:grid}.world-route-endpoints button{text-align:start;min-width:0;min-height:60px;padding:9px 12px}.world-route-endpoints small{color:#92b6c5;margin-bottom:5px;font-size:9px;display:block}.world-route-endpoints span{overflow-wrap:anywhere;font-size:12px;display:block}.world-route-endpoints [aria-pressed=true]{background:#214a50;border-color:#7fe4c4;box-shadow:0 0 0 1px #7fe4c455}.world-route-endpoints #worldRouteSwap{text-align:center;min-height:40px;padding:5px;font-size:22px}.world-route-panel #worldRouteHint{color:#b0ccda;margin:10px 0;font-size:10px;line-height:1.9}.world-route-actions{gap:8px;display:flex}.world-route-actions #worldRouteFind{color:#dcfff2;background:#24594f;border-color:#64bda1;flex:1}.world-route-actions #worldRouteClear{background:0 0;font-size:10px}.world-route-panel #worldRouteDetails{border-top:1px solid #345265;margin-top:12px;padding-top:12px}.world-route-panel #worldRouteDetails[hidden]{display:none}.world-route-panel #worldRouteSummary{color:#9defd2;margin:0 0 10px;font-size:11px;line-height:1.9}.world-route-panel ol{max-height:180px;margin:0;padding-inline-start:20px;overflow:auto}.world-route-panel li{border-inline-start:3px solid var(--step-color,#7ddbb4);margin-bottom:9px;padding-inline-start:8px;font-size:11px;line-height:2}.world-route-panel #worldRouteDetails>small{color:#8faebd;margin-top:10px;font-size:9px;line-height:1.9;display:block}@media (max-width:760px){.world-route-panel{max-height:calc(100% - 110px);padding:12px;inset-inline:8px}.world-route-panel header{font-size:12px}.world-route-endpoints{grid-template-columns:1fr;gap:5px}.world-route-endpoints button{min-height:48px;padding:7px 10px}.world-route-endpoints #worldRouteSwap{justify-self:center;width:32px;min-height:28px;padding:0;transform:rotate(90deg)}.world-route-endpoints small{margin-bottom:3px;font-size:8px}.world-route-endpoints span{font-size:11px}.world-route-panel #worldRouteHint{font-size:9px}.world-route-actions{flex-wrap:wrap}.world-route-actions button{padding:7px;font-size:10px}.world-route-panel ol{max-height:130px}.world-route-panel li{font-size:10px}}.station-quick-actions{background:#17382f;border:1px solid #467267;border-radius:10px;margin:0 16px 14px;padding:12px}.station-quick-actions[hidden]{display:none!important}.station-quick-actions strong{margin-bottom:9px;font-size:12px;display:block}.station-quick-actions>div{gap:6px;display:flex}.world-menu-panel .station-quick-actions button{text-align:center;background:#245345;border:1px solid #5c9a85;border-radius:7px;flex:1;min-height:40px;padding:7px 5px;font-size:10px}.world-menu-panel .station-quick-actions button:hover{background:#35725d}.world-route-panel{max-width:460px;padding:12px}.world-route-panel header{margin-bottom:8px;font-size:12px}.world-route-endpoints button{min-height:48px;padding:7px 10px}.world-route-endpoints span{font-size:11px}.world-route-panel #worldRouteHint{margin:7px 0}.world-route-panel #worldRouteDetails{margin-top:9px;padding-top:9px}.world-route-panel #worldRouteSummary{margin-bottom:7px;font-size:10px}.world-route-panel #worldRouteInstructions summary{cursor:pointer;color:#b5d8df;align-items:center;gap:6px;min-height:36px;font-size:10px;list-style:none;display:flex}.world-route-panel #worldRouteInstructions summary:before{content:"⌄";font-size:16px;transition:transform .26s}.world-route-panel #worldRouteInstructions[open] summary:before{transform:rotate(180deg)}.world-route-panel #worldRouteInstructionsBody>small{color:#93afbd;margin-top:8px;font-size:9px;display:block}.world-route-actions #worldRouteFind{font-size:10px}.world-route-panel #worldRouteSteps{padding-top:6px}@media (max-width:760px){.station-quick-actions{margin:0 10px 12px;padding:9px}.station-quick-actions strong{font-size:11px}.station-quick-actions>div{flex-direction:column}.world-menu-panel .station-quick-actions button{font-size:9px}.world-route-panel{padding:10px}.world-route-endpoints{grid-template-columns:minmax(0,1fr) 26px minmax(0,1fr);gap:4px}.world-route-endpoints #worldRouteSwap{width:26px;min-height:36px;font-size:19px;transform:none}.world-route-endpoints button{min-height:52px;padding:7px 5px}.world-route-endpoints small{font-size:8px}.world-route-endpoints span{font-size:10px}.world-route-panel #worldRouteHint,.world-route-actions #worldRouteFind,.world-route-actions #worldRouteClear{font-size:9px}}.world-controls.explorer-actions button:disabled{opacity:.35;cursor:default;box-shadow:none}.world-menu-header{padding:16px 18px 12px}.world-menu-header h2{margin:5px 0;font-size:16px}.world-menu-header p{font-size:10px}.world-menu-panel .world-station-search{margin-top:16px;margin-bottom:8px}.world-menu-panel .world-search-label{color:#e1f5f3;margin-bottom:9px;font-size:13px;font-weight:600}.world-menu-panel .world-search-input{background:#102a38;border-color:#629e9d;min-height:48px}.world-menu-panel .world-search-input input{font-size:12px}.world-menu-panel .world-search-results{border-color:#456c78;max-height:min(420px,52dvh);padding:6px}.world-menu-panel .world-search-results [role=option]{white-space:normal;border-bottom:1px solid #315365;grid-template-columns:minmax(0,1fr);gap:4px;min-height:80px;padding:12px 10px;display:grid}.station-result-name{font-size:13px;font-weight:600;line-height:1.7}.world-menu-panel .world-search-results small{color:#adc5d1;font-size:10px}.station-result-action{color:#dafff2;text-align:center;background:#24594e;border:1px solid #528e79;border-radius:6px;margin-top:3px;padding:6px 8px;font-size:10px;display:block}.world-menu-tools{padding-top:8px}.world-search-results [aria-disabled=true] .station-result-action{display:none}.map-stage>.station-quick-actions{z-index:13;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#102c30f5;border-color:#5c9a88;border-radius:13px;width:auto;max-width:320px;margin-block:0;margin-inline:auto;padding:18px;position:absolute;inset-block-end:28px;inset-inline:14px;box-shadow:0 8px 30px #0008}.map-stage>.station-quick-actions strong{margin:0 0 14px;padding-inline-end:24px;font-size:15px}.map-stage>.station-quick-actions>div{grid-template-columns:1fr 1fr;gap:8px;display:grid}.map-stage>.station-quick-actions button{color:#d6f6ec;background:#1a4240;border:1px solid #558c79;border-radius:8px;min-height:44px;padding:9px;font:11px IRANSans,Tahoma,sans-serif}.map-stage>.station-quick-actions #stationGoHere{background:#286b54;border-color:#88d9b7}.map-stage>.station-quick-actions .station-quick-close{background:0 0;border:0;min-width:32px;min-height:32px;padding:0;font-size:22px;position:absolute;inset-block-start:8px;inset-inline-end:8px}@media (max-width:760px){.world-menu-panel .world-search-label,.world-menu-panel .world-search-input input{font-size:11px}.world-menu-panel .world-search-input{padding-inline:7px}.world-menu-panel .world-search-results [role=option]{padding:10px 7px}.station-result-name{font-size:12px}.world-menu-panel .world-search-results small{font-size:9px}.station-result-action{padding:7px 4px;font-size:10px}.map-stage>.station-quick-actions{padding:14px;inset-inline:8px}.map-stage>.station-quick-actions>div{grid-template-columns:1fr}.world-menu-header h2{font-size:13px}}@media (max-width:480px){.explorer-layout{grid-template-columns:160px minmax(0,1fr)}.world-menu-panel .world-station-search{margin-inline:8px}.world-menu-panel .world-search-label,.world-menu-panel .world-search-input input{font-size:10px}.world-menu-header{padding:14px 12px}.world-menu-panel .world-search-results [role=option]{font-size:11px}.world-menu-panel .world-search-status{font-size:9px}}.world-controls .view-window{color:#b6f5e4;background:#122c3dec;border:1px solid #568795;border-radius:11px;place-items:center;width:44px;min-width:44px;min-height:44px;font:700 12px Arial,sans-serif;text-decoration:none;display:grid;box-shadow:0 4px 14px #0004}.world-controls .view-window:hover{background:#2b5664}.world-controls .view-window:focus-visible{outline-offset:3px;outline:2px solid #96ead7}#world2dMap{touch-action:none;border-radius:inherit;cursor:grab;background-color:#0c1828;background-image:radial-gradient(#52788b33 .8px,#0000 .8px);background-size:24px 24px;width:100%;height:100%;display:block;position:absolute;inset:0}#world2dMap:active{cursor:grabbing}.station2d{cursor:pointer}.station2d:focus-visible{outline:none}.station2d:focus-visible circle{stroke:#caffed;stroke-width:4px}.map-2d-mode .world-controls #followTrainBtn{display:none!important}.map-2d-mode .station-flag{background:#112737fa}.arrow2d{animation:2.2s ease-in-out infinite arrow2d-glow}@keyframes arrow2d-glow{0%,to{opacity:.65}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.arrow2d{animation:none}}.map-annotations{z-index:5;pointer-events:none;position:absolute;inset:0;overflow:hidden}.map-line-card{border:1px solid #426075;border-inline-start:3px solid var(--line-color);color:#e6f5f6;background:#0c1c2aee;border-radius:8px;align-items:center;gap:7px;max-width:185px;min-height:42px;padding:7px 9px;font-family:IRANSans,Tahoma,sans-serif;transition:opacity .18s;display:flex;position:absolute;box-shadow:0 3px 12px #0005}.map-line-card[hidden]{display:none!important}.map-line-card>b{background:var(--line-color);color:#071725;border-radius:6px;place-items:center;min-width:24px;height:24px;font-size:12px;display:grid}.map-line-card strong{font-size:9px;font-weight:500;line-height:1.7;display:block}.map-line-card small{color:#a9c2d0;margin-top:2px;font-size:8px;display:block}.map-station-hover{z-index:3;color:#edfffa;white-space:nowrap;background:#102c3cfa;border:1px solid #75c3b7;border-radius:9px;padding:9px 12px;font-family:IRANSans,Tahoma,sans-serif;position:absolute;box-shadow:0 5px 22px #0008}.map-station-hover[hidden]{display:none!important}.map-station-hover strong{font-size:12px;font-weight:600;display:block}.map-station-hover small{color:#a4d6cd;margin-top:4px;font-size:9px;display:block}@media (max-width:760px){.world-line-card summary small{font-size:9px;line-height:1.9;display:block}.map-line-card{gap:5px;max-width:150px;padding:5px 7px}.map-line-card strong{font-size:8px}.map-line-card small{font-size:7px}.map-line-card>b{min-width:21px;height:23px;font-size:11px}}.line-info-connectors{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.line-info-connectors line{stroke-width:1px;opacity:.6}.map-line-card{max-width:min(185px,100% - 12px)}@media (max-width:760px){.map-line-card{max-width:min(150px,100% - 12px)}}.world-controls.explorer-actions #accountButton{font-size:22px;line-height:1.15}.world-controls #accountButton span{font-size:8px;display:block}.world-controls #accountButton[aria-expanded=true]{background:#28564c;border-color:#84cfb5}.account-panel{z-index:18;color:#e6f4f8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f2333fa;border:1px solid #527786;border-radius:14px;width:320px;max-width:min(320px,100% - 28px);padding:18px;position:absolute;inset-block-start:96px;inset-inline-end:14px;box-shadow:0 12px 40px #0008}.account-panel[hidden],.account-panel [hidden]{display:none!important}.account-panel header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.account-panel header strong{font-size:14px}.account-panel button{color:#e1f4f6;cursor:pointer;background:#1b3c4b;border:1px solid #486c7e;border-radius:8px;min-height:42px;padding:9px 13px;font:11px IRANSans,Tahoma,sans-serif}.account-panel button:disabled{opacity:.45;cursor:default}.account-panel header button{background:0 0;border:0;min-width:30px;min-height:30px;padding:0;font-size:22px}.account-panel h2{margin:0 0 10px;font-size:15px}.account-panel p{color:#b1cbd7;overflow-wrap:anywhere;margin:8px 0 14px;font-size:11px;line-height:1.9}.account-panel button.google-continue{color:#1f2935;background:#fff;border-color:#d2d9df;width:100%;font-size:13px;font-weight:600}.account-panel button.google-continue:hover{background:#edf3fa}.account-panel #accountName{font-size:15px;display:block}.account-panel #accountEmail{text-align:start;color:#a7d4dc;font:12px/1.8 Arial,sans-serif}.account-panel #accountStatus{color:#a4dbc9;margin:12px 0 6px;font-size:10px}.account-panel #accountRetry{color:#a6ccdb;background:0 0;border:0;min-height:32px;padding:5px 0;font-size:10px}@media (max-width:760px){.account-panel{width:auto;max-width:none;padding:12px;inset-block-start:82px;inset-inline:8px}.account-panel header strong,.account-panel h2{font-size:12px}.account-panel p{font-size:10px}.account-panel button.google-continue{font-size:11px}}.world-route-panel #worldRouteWarning{color:#ffe0a4;border-inline-start:2px solid #e5b86b;margin:8px 0;padding-inline-start:8px;font-size:10px;line-height:1.9}.route-options{gap:6px;margin-bottom:10px;display:grid}.world-route-panel .route-options button{text-align:start;background:#142e40;font-size:10px}.world-route-panel .route-options button[aria-pressed=true]{background:#24594f;border-color:#83d8b8}
