.metroPage{--metro-blue:#0877c9;--metro-deep:#07538d;color:#173348;background:radial-gradient(circle at 12% 0,#54bcf03d,#0000 25%),linear-gradient(155deg,#eaf7ff,#f8fbfd 48%,#e5f3f9);min-height:100dvh;padding:clamp(8px,1.3vw,16px)}.metroPage:not(.metroFinishPage){height:100dvh;overflow:hidden}.metroShell,.metroPayShell{width:min(1460px,100%);margin:0 auto}.metroShell{grid-template-rows:auto auto minmax(0,1fr);height:100%;min-height:0;display:grid}.metroHeader{grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;margin-bottom:8px;display:grid}.metroBack{color:#315b74;font-weight:900;text-decoration:none}.metroBrand{align-items:center;gap:10px;display:flex}.metroLogo{color:#e51b35;border:4px solid;border-radius:50%;place-items:center;width:44px;height:44px;font-size:1.15rem;font-weight:1000;line-height:1;display:grid}.metroBrand small{color:#638096;letter-spacing:.12em;font-size:.67rem;font-weight:900;display:block}.metroBrand h1{color:#075c9a;margin:0;font-size:clamp(1.35rem,3vw,2rem)}.metroStatus{color:#5c788a;justify-self:end;align-items:center;gap:8px;font-size:.78rem;font-weight:900;display:flex}.metroStatus b{min-width:46px;min-height:34px;color:var(--metro-blue);background:#fff;border-radius:999px;place-items:center;font-size:1rem;display:grid;box-shadow:0 5px 18px #0a5b8c1f}.metroSelection{grid-template-columns:minmax(180px,1fr) auto minmax(180px,1fr) minmax(130px,.34fr);align-items:stretch;gap:9px;margin-bottom:8px;display:grid}.metroSelection>div{background:#ffffffeb;border:2px solid #b8d6e6;border-radius:13px;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;min-height:54px;padding:8px 12px;display:grid;position:relative}.metroSelection>div.isReady{border-color:#43a8df;box-shadow:inset 5px 0 #1590d2}.metroSelection>div span{color:#668295;font-size:.72rem;font-weight:900}.metroSelection>div strong{color:#23475e;text-overflow:ellipsis;white-space:nowrap;font-size:.94rem;overflow:hidden}.metroSelection>div button{color:#4c6d80;cursor:pointer;background:#edf5f9;border:0;border-radius:8px;padding:5px 8px;font-weight:800}.metroDirection{color:#1c89c8;align-self:center;font-size:1.35rem;font-weight:1000}.metroConfirm{color:#fff;cursor:pointer;background:linear-gradient(145deg,#1599db,#0768ab);border:0;border-radius:13px;font-size:1rem;font-weight:1000;box-shadow:0 5px #045486}.metroConfirm:disabled{cursor:not-allowed;background:#aebfc9;box-shadow:0 5px #8b9ba4}.metroConfirm:not(:disabled):active{transform:translateY(3px);box-shadow:0 2px #045486}.metroRouteError{color:#b52d35;text-align:center;margin:-2px 0 6px;font-size:.84rem;font-weight:900}.metroMapPanel{background:#fff;border:2px solid #c9d8e0;border-radius:16px;min-height:0;position:relative;overflow:hidden;box-shadow:0 12px 35px #195c7e21}.metroMapCaption{z-index:4;pointer-events:none;background:#fffffff0;border:1px solid #d6e0e6;border-radius:8px;gap:2px;max-width:260px;padding:9px 12px;display:grid;position:absolute;top:12px;left:12px;box-shadow:0 3px 12px #26495b1a}.metroMapCaption b{color:#324f60;font-size:.9rem}.metroMapCaption span{color:#718691;font-size:.74rem;font-weight:700}.metroLineLegend{z-index:5;background:#fffffff5;border:1px solid #cbd5db;border-radius:4px;grid-template-columns:repeat(2,minmax(92px,1fr));gap:2px 7px;width:252px;padding:8px 10px;display:grid;position:absolute;top:12px;right:12px;box-shadow:0 3px 12px #1d364414}.metroLineLegend button{--line-color:#178dcc;color:#465d69;cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:0;border-radius:4px;align-items:center;gap:5px;min-width:0;padding:4px 3px;font-size:.78rem;font-weight:800;display:flex}.metroLineLegend button i{background:var(--line-color);flex:none;width:9px;height:9px}.metroLineLegend button:hover,.metroLineLegend button:focus-visible{background:#edf5f8;outline:2px solid #147eb538}.metroLineLegend button.isActive{background:color-mix(in srgb, var(--line-color) 14%, white);color:#173b4e;box-shadow:inset 3px 0 var(--line-color)}.metroMapZoom{z-index:5;background:#fffffff5;border:1px solid #cbd5db;border-radius:7px;justify-items:center;display:grid;position:absolute;bottom:12px;right:12px;overflow:hidden;box-shadow:0 3px 12px #1d36441a}.metroMapZoom button{color:#405e6f;cursor:pointer;background:#fff;border:0;place-items:center;width:38px;height:34px;font-size:1.25rem;font-weight:900;display:grid}.metroMapZoom button:hover{background:#edf5f8}.metroMapZoom span{color:#70848f;border-block:1px solid #e1e8ec;padding:3px 4px;font-size:.65rem;font-weight:800}.metroMapScroller{overflow-anchor:none;overscroll-behavior:none;touch-action:none;contain:layout paint;cursor:grab;scrollbar-width:none;-webkit-user-select:none;user-select:none;background:#fff;width:100%;height:100%;min-height:0;overflow:auto}.metroMapScroller::-webkit-scrollbar{width:0;height:0}.metroMapScroller.isPanning{cursor:grabbing}.metroMapCanvas{place-items:center;min-width:100%;min-height:100%;display:grid}.metroMap{min-width:0;height:100%;min-height:0;margin:auto;display:block}.metroLineHalo{opacity:.92}.metroStation{cursor:pointer;outline:none}.metroHit{fill:#0000;stroke:#0000}.metroStation:hover>circle:not(.metroHit),.metroStation:focus-visible>circle:not(.metroHit){filter:drop-shadow(0 0 7px #ffd54d);stroke-width:7px}.metroStationLabel{fill:#274756;stroke:#fff;stroke-width:4px;stroke-linejoin:round;paint-order:stroke;letter-spacing:0;pointer-events:none;font-size:16px;font-weight:500}.metroStation.isTransfer .metroStationLabel{fill:#102f40;font-size:16px;font-weight:500}.metroMap.isOverview .metroStationLabel,.metroMap.isOverview .metroStation.isTransfer .metroStationLabel{stroke-width:3.5px;font-size:13px}.metroTransferCore{pointer-events:none}.metroMarker{fill:#fff;stroke:#fff;stroke-width:1px;paint-order:stroke;text-anchor:middle;pointer-events:none;font-size:8px;font-weight:1000}.metroStation.isSelected>circle:not(.metroHit){fill:#e51b35;stroke:#fff;stroke-width:4px;filter:drop-shadow(0 0 7px #e51b35b8)}.metroLineTabs{scrollbar-width:thin;background:#ffffffe6;border:2px solid #c4dce8;border-radius:15px;gap:6px;margin-top:8px;padding:6px;display:flex;overflow-x:auto}.metroLineTabs button{--line-color:#178dcc;color:#36586c;cursor:pointer;background:#edf4f8;border:2px solid #0000;border-radius:10px;align-items:center;gap:6px;min-width:max-content;min-height:40px;padding:7px 11px;font-size:.82rem;font-weight:900;display:inline-flex}.metroLineTabs button i{background:var(--line-color);border-radius:99px;width:17px;height:6px;box-shadow:0 0 0 1px #00000014}.metroLineTabs button i.allLines{background:linear-gradient(90deg,#009fe0 0 25%,#c8003f 25% 50%,#00984f 50% 75%,#ff601a 75%)}.metroLineTabs button.isActive{border-color:var(--line-color);color:#173e56;background:#fff;box-shadow:0 4px 12px #115b8324}.metroStationSheet{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0e26347a;place-items:end center;padding:16px;display:grid;position:fixed;inset:0}.metroStationSheet>div{text-align:center;background:#fff;border:3px solid #8fd0ef;border-radius:24px;width:min(520px,100%);padding:24px;animation:.25s ease-out metroSheetUp;position:relative;box-shadow:0 24px 70px #062a404d}.metroStationSheet>div>span{color:#6c8999;letter-spacing:.1em;font-size:.75rem;font-weight:1000}.metroStationSheet h2{color:#075e99;margin:6px 0;font-size:1.8rem}.metroStationSheet p{color:#597688;margin:0 0 18px;font-weight:800}.metroStationSheet>div>div{grid-template-columns:1fr 1fr;gap:10px;display:grid}.metroStationSheet>div>div button{color:#fff;cursor:pointer;background:#0879bd;border:0;border-radius:14px;min-height:52px;font-size:1rem;font-weight:1000}.metroStationSheet>div>div button:last-child{background:#e23d52}.metroSheetClose{color:#496a7c;cursor:pointer;background:#eef5f8;border:0;border-radius:50%;width:35px;height:35px;font-size:1.4rem;position:absolute;top:10px;right:10px}.metroPayShell{grid-template-rows:auto auto minmax(0,1fr);gap:10px;min-height:calc(100dvh - clamp(16px,2.6vw,32px));display:grid}.metroPayHeader{color:#fff;background:linear-gradient(120deg,#086bb0,#0797cf);border-radius:18px;grid-template-columns:1fr auto 1fr;align-items:center;gap:15px;padding:10px 16px;display:grid;box-shadow:0 10px 28px #005b9538}.metroPayHeader button{color:#fff;cursor:pointer;background:0 0;border:0;justify-self:start;font-weight:900}.metroPayHeader>div{justify-content:center;align-items:baseline;gap:10px;display:flex}.metroPayHeader span{font-weight:900}.metroPayHeader strong{font-size:clamp(2rem,6vw,3.6rem);line-height:1}.metroPayHeader small{text-overflow:ellipsis;white-space:nowrap;justify-self:end;max-width:34ch;font-weight:900;overflow:hidden}.metroJourneyStrip{color:#476a7e;background:#fff;border:2px solid #c9dfeb;border-radius:13px;justify-content:space-between;gap:12px;padding:8px 14px;font-size:.85rem;display:flex}.metroJourneyStrip span{font-weight:900}.metroJourneyStrip b{color:#176e9f}.metroPayDesk{grid-template-columns:minmax(330px,.72fr) minmax(520px,1.28fr);gap:12px;min-height:0;display:grid}.metroMachine,.metroWallet{background:#f8fbfc;border:3px solid #b9d6e4;border-radius:24px;padding:clamp(14px,2vw,22px);box-shadow:0 12px 30px #1c4e6821}.metroMachine{background:linear-gradient(145deg,#dce6eb,#f8fbfc 45%,#ccdbe2);grid-template-rows:auto 1fr auto;gap:15px;display:grid}.metroMachineScreen{color:#bfffd8;background:#152f3d;border:5px solid #486779;border-radius:16px;justify-items:center;padding:14px;display:grid;box-shadow:inset 0 0 22px #42ffa21f}.metroMachineScreen span,.metroMachineScreen small{color:#a8c8d7;font-weight:900}.metroMachineScreen strong{font:1000 clamp(2rem,5vw,3.4rem)/1 monospace}.metroCoinSlot{color:#3d6175;background:#ffffff9e;border:4px dashed #7893a2;border-radius:24px;align-content:center;place-items:center;gap:7px;min-height:190px;transition:transform .18s,box-shadow .18s,border-color .18s;display:grid}.metroCoinSlot i{background:#0e202a;border:7px solid #37515f;border-radius:99px;width:min(210px,70%);height:23px;box-shadow:inset 0 3px 5px #000,0 5px #a4b5bd}.metroCoinSlot strong{font-size:1.2rem}.metroCoinSlot small{font-weight:800}.metroCoinSlot.isWaiting{border-color:#e7ac19;box-shadow:0 0 0 8px #ffbe1929}.metroCoinSlot.isOver{border-color:#f5a500;transform:scale(1.025);box-shadow:0 0 0 11px #ffbe193d,0 0 28px #ffd569}.metroInserted{flex-wrap:wrap;justify-content:center;gap:5px;display:flex}.metroInserted span{color:#527083;background:#fff;border-radius:8px;padding:5px 8px;font-size:.75rem;font-weight:900}.metroPaymentActions{gap:9px;display:grid}.metroPayConfirm{color:#fff;cursor:pointer;background:linear-gradient(145deg,#18a467,#087848);border:0;border-radius:14px;min-height:50px;font-size:1rem;font-weight:1000;box-shadow:0 5px #055f39}.metroPayConfirm:disabled{color:#eef3f5;cursor:not-allowed;background:#aab9c1;box-shadow:0 5px #82939c}.metroPayConfirm:not(:disabled):active{transform:translateY(3px);box-shadow:0 2px #055f39}.metroWallet{background:#fffffff5;flex-direction:column;display:flex}.metroWalletTitle{justify-content:space-between;align-items:end;gap:10px;margin-bottom:12px;display:flex}.metroWalletTitle span{color:#1883bb;letter-spacing:.1em;font-size:.72rem;font-weight:1000}.metroWalletTitle h2{margin:3px 0 0;font-size:1.35rem}.metroWalletTitle small{color:#6a8290;font-weight:800}.metroMoneyGrid{flex:1;grid-template-columns:repeat(2,minmax(160px,1fr));gap:10px;display:grid}.metroMoney{color:#345267;cursor:grab;touch-action:none;background:#fff;border:2px solid #d2e0e7;border-radius:17px;grid-template-columns:minmax(100px,1fr) auto;align-items:center;gap:9px;min-height:105px;padding:9px 13px;display:grid}.metroMoney:hover,.metroMoney:focus-visible{border-color:#1996d2;outline:4px solid #1996d224;transform:translateY(-2px)}.metroMoney span{place-items:center;height:82px;display:grid}.metroMoney img{filter:drop-shadow(0 5px 5px #1d2a3133);pointer-events:none;-webkit-user-select:none;user-select:none;width:auto;max-width:155px;height:auto;max-height:78px;display:block}.metroMoney.coin img{width:74px;height:74px}.metroMoney b{font-size:.82rem}.metroMoneyGhost{z-index:200;pointer-events:none;filter:drop-shadow(0 13px 10px #14212959);place-items:center;width:170px;height:105px;display:grid;position:fixed;transform:translate(-50%,-70%)rotate(-5deg)}.metroMoneyGhost img{max-width:165px;max-height:100px}.metroMoneyGhost.coin img{width:92px;height:92px}.metroMoneyGhost.isOver{filter:drop-shadow(0 0 16px #ffc12c);transform:translate(-50%,-70%)scale(.82)rotate(4deg)}.metroFinishPage{place-items:center;display:grid}.metroFinish{text-align:center;background:linear-gradient(#eef4f6,#d4e1e6);border:4px solid #b8d5e3;border-radius:30px;width:min(780px,100%);overflow:hidden;box-shadow:0 24px 80px #174b683d}.metroMachineTop{color:#fff;background:linear-gradient(110deg,#086cae,#0694c9);justify-content:space-between;padding:13px 20px;font-weight:900;display:flex}.metroMachineTop b{color:#caffdf}.metroDropZone{background:#273f4c;border-radius:22px;grid-template-columns:minmax(0,1fr) 180px;gap:16px;margin:24px;padding:20px;display:grid;box-shadow:inset 0 9px 18px #00000059}.metroTicket{color:#094f7f;text-align:left;background:linear-gradient(135deg,#58c1ef,#e8f8ff 55%,#89d7f4);border-radius:17px;padding:18px;animation:.75s cubic-bezier(.2,1.35,.4,1) metroTicketDrop;box-shadow:0 10px 15px #00000038}.metroTicketBrand{border-bottom:2px dashed #065b8f40;align-items:center;gap:9px;padding-bottom:10px;display:flex}.metroTicketBrand .metroLogo{border-width:3px;width:34px;height:34px;font-size:.85rem}.metroTicketRoute{justify-content:space-between;align-items:center;gap:8px;min-height:70px;display:flex}.metroTicketRoute b{font-size:clamp(.86rem,2.3vw,1.2rem)}.metroTicketRoute span{color:#dc3048;font-size:1.6rem}.metroTicketItinerary{background:#ffffffb3;border-radius:12px;gap:6px;margin:0 0 12px;padding:10px;display:grid}.metroTicketStep{grid-template-columns:27px minmax(0,1fr);align-items:start;gap:8px;display:grid}.metroTicketStep>span{color:#fff;background:#0878ba;border-radius:50%;place-items:center;width:27px;height:27px;font-size:.72rem;font-weight:1000;display:grid}.metroTicketStep p{gap:2px;margin:0;display:grid}.metroTicketStep b{color:#075c92;font-size:.82rem;line-height:1.35}.metroTicketStep small{color:#52788e;font-size:.7rem;font-weight:800;line-height:1.35}.metroTicketStep.isArrival>span{background:#df304c}.metroTicketStep.isArrival b{color:#a71930}.metroTicketMeta{color:#39708f;justify-content:space-between;font-size:.78rem;font-weight:900;display:flex}.metroChange{color:#815e0a;background:#fff7d6;border-radius:18px;justify-content:center;align-items:center;gap:9px;animation:.9s cubic-bezier(.2,1.35,.4,1) .18s both metroChangeDrop;display:flex}.metroChange>span{font-size:2rem}.metroChange div{text-align:left;display:grid}.metroChange small{font-weight:900}.metroChange strong{font-size:1.35rem}.metroChange.isNone{color:#176b45;background:#ddf8e9}.metroFinishWords{padding:5px 24px 20px}.metroFinishWords>span{font-size:2.5rem}.metroFinishWords h1{color:#075e99;margin:2px 0 5px}.metroFinishWords p{color:#547185;margin:0;font-weight:800}.metroFinishActions{justify-content:center;gap:10px;padding:0 20px 24px;display:flex}.metroFinishActions button,.metroFinishActions a{color:#fff;cursor:pointer;background:#0878ba;border:0;border-radius:14px;min-width:145px;padding:12px 20px;font-weight:1000;text-decoration:none}.metroFinishActions a{color:#42677c;background:#fff}@keyframes metroSheetUp{0%{opacity:0;transform:translateY(45px)}}@keyframes metroTicketDrop{0%{opacity:0;transform:translateY(-100px)rotate(-6deg)}}@keyframes metroChangeDrop{0%{opacity:0;transform:translateY(-80px)rotate(5deg)}}@media (width>=901px) and (height>=650px){.metroMapScroller{min-height:0}}@media (width<=900px){.metroHeader{grid-template-columns:1fr auto}.metroBrand{grid-area:1/1/auto/-1;justify-self:center}.metroBack,.metroStatus{grid-row:2}.metroSelection{grid-template-columns:1fr auto 1fr}.metroConfirm{grid-column:1/-1;min-height:48px}.metroLineLegend{width:auto;display:flex;inset:auto 58px 10px 10px;overflow-x:auto}.metroLineLegend button{min-width:max-content;padding:6px}.metroPayDesk{grid-template-columns:1fr}.metroMachine{grid-template-rows:auto auto;grid-template-columns:.72fr 1.28fr}.metroCoinSlot{min-height:140px}.metroPaymentActions{grid-column:1/-1}}@media (width<=560px){.metroPage{padding:5px}.metroHeader{margin-bottom:4px}.metroBrand{gap:7px}.metroLogo{border-width:3px;width:35px;height:35px;font-size:.9rem}.metroBrand h1{font-size:1.18rem}.metroStatus span{display:none}.metroSelection{grid-template-columns:1fr;gap:4px}.metroSelection>div{min-height:43px;padding:5px 9px}.metroDirection{display:none}.metroConfirm{min-height:43px}.metroMapCaption{padding:6px 8px;top:6px;left:6px}.metroMapCaption span{display:none}.metroLineLegend{padding:5px;bottom:6px;left:6px;right:49px}.metroMapZoom{bottom:6px;right:6px}.metroMapZoom span{display:none}.metroStationSheet>div{padding:21px 14px 14px}.metroStationSheet>div>div{grid-template-columns:1fr;gap:7px}.metroPayHeader{grid-template-columns:1fr auto;padding:8px 10px}.metroPayHeader>div{justify-self:end}.metroPayHeader small{grid-column:1/-1;justify-self:center}.metroJourneyStrip{text-align:center;flex-direction:column;gap:3px}.metroPayDesk{gap:6px}.metroMachine,.metroWallet{border-radius:17px;padding:9px}.metroMachine{grid-template-columns:.72fr 1.28fr;gap:7px}.metroMachineScreen{border-width:3px;padding:7px}.metroMachineScreen strong{font-size:1.8rem}.metroCoinSlot{border-width:3px;min-height:105px}.metroCoinSlot i{border-width:5px;height:16px}.metroCoinSlot strong{font-size:.92rem}.metroCoinSlot small{font-size:.7rem}.metroWalletTitle{margin-bottom:6px}.metroWalletTitle small{display:none}.metroWalletTitle h2{font-size:1.05rem}.metroMoneyGrid{gap:5px}.metroMoney{grid-template-columns:minmax(60px,1fr) auto;min-height:68px;padding:4px 6px}.metroMoney span{height:54px}.metroMoney img{max-width:88px;max-height:52px}.metroMoney.coin img{width:50px;height:50px}.metroMoney b{font-size:.68rem}.metroDropZone{grid-template-columns:1fr;margin:10px;padding:12px}.metroChange{min-height:72px}.metroFinishActions{flex-direction:column}.metroFinishActions button,.metroFinishActions a{width:100%}}@media (prefers-reduced-motion:reduce){.metroPage *,.metroPage :before,.metroPage :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
