.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}:root{color:#191815;background:#ece8df;font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,system-ui,sans-serif;font-synthesis:none;--bg: #fbfaf7;--surface: #fffefb;--ink: #191815;--muted: #77726b;--line: #e7ded0;--red: #c91d28;--red-dark: #a9131c;--green: #16844f;--gold: #e39a00;--blue: #1d70a8;--shadow: 0 8px 24px rgba(54, 43, 30, .09);--build-revision: 2026072101}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;min-width:320px}body{overflow:hidden}button,input,select,textarea{font:inherit}button{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(39,98,143,.42);outline-offset:2px}.prototype-stage{width:100%;height:100vh;height:100dvh;display:grid;place-items:center;overflow:hidden;background:#ece8df}.mobile-prototype{width:min(100vw,960px);height:min(100%,844px);background:var(--bg);overflow:hidden;position:relative;display:grid;grid-template-rows:72px minmax(0,1fr) calc(84px + env(safe-area-inset-bottom,0px));box-shadow:0 22px 70px #2d231929}.mobile-prototype.no-bottom-nav{grid-template-rows:72px minmax(0,1fr)}.app-header{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--line);background:var(--surface);z-index:5}.brand{border:0;background:transparent;padding:0;display:inline-flex;align-items:center;gap:12px;min-width:0;cursor:pointer}.brand-mark{width:48px;height:48px;flex:0 0 48px;border-radius:13px;display:grid;place-items:center;color:#fff;font-size:22px;font-weight:900;letter-spacing:-1px;background:linear-gradient(145deg,#d9292d,#b70913);box-shadow:inset 0 -8px 16px #64000029}.brand-mark.small{width:38px;height:38px;flex-basis:38px;border-radius:10px;font-size:17px}.brand-name{font-size:26px;font-weight:700;white-space:nowrap;letter-spacing:-1px}.city-selector{min-height:44px;border:1px solid var(--line);border-radius:24px;padding:0 13px;background:var(--surface);display:inline-flex;align-items:center;gap:7px;cursor:pointer;box-shadow:0 3px 12px #40342608}.city-selector span{font-weight:550;white-space:nowrap}.menu-button,.icon-button{width:44px;height:44px;border:0;border-radius:12px;background:transparent;display:grid;place-items:center;cursor:pointer}.menu-button:hover,.icon-button:hover{background:#f3eee5}.header-share-button{color:var(--green);background:#edf8f1}.header-share-button:hover{color:#0d6d3e;background:#dff2e7}.back-button{justify-self:start}.page-title{font-size:22px;margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-header:has(.page-title){grid-template-columns:auto minmax(0,1fr) auto auto auto}.app-header.metro-page-header:has(.page-title){grid-template-columns:44px minmax(0,1fr) auto 44px;gap:4px}.app-header.garbage-page-header:has(.page-title){grid-template-columns:44px minmax(0,1fr) auto 44px;gap:4px}.app-header.utility-page-header:has(.page-title){grid-template-columns:44px minmax(0,1fr) auto 44px;gap:4px}.metro-page-header .page-title{text-align:center;font-size:25px;font-weight:550}.metro-page-header .back-button,.metro-page-header .menu-button{color:#0fb6c3}.garbage-page-header .page-title,.utility-page-header .page-title{text-align:center}.scroll-area{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#d4cab9 transparent}.route-screen{min-height:100%}.home-marquee{width:calc(100% - 28px);min-height:48px;display:grid;grid-template-columns:34px minmax(0,1fr) 24px;align-items:center;gap:8px;margin:10px 14px 6px;padding:6px 10px;overflow:hidden;border:1px solid #efbf69;border-radius:15px;color:#713b00;background:linear-gradient(90deg,#fff7dc,#fff2c1);box-shadow:0 5px 14px #8452081a;cursor:pointer}.home-marquee:hover{background:linear-gradient(90deg,#fff2c7,#ffeaa5)}.home-marquee-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--red)}.home-marquee-viewport{min-width:0;overflow:hidden}.home-marquee-track{width:max-content;display:flex;align-items:center;animation:invoice-marquee 9s linear infinite}.home-marquee-track strong{padding-right:54px;font-size:15px;font-weight:900;white-space:nowrap}.home-lifeapp-notice{width:calc(100% - 28px);min-height:64px;display:grid;grid-template-columns:40px minmax(0,1fr) 20px;align-items:center;gap:10px;margin:10px 14px 6px;padding:9px 12px;border:1px solid #cde4d6;border-radius:17px;color:var(--ink);background:linear-gradient(135deg,#f4fbf6,#fffdf8);box-shadow:0 6px 18px #16844f17;text-decoration:none;transition:opacity .5s ease,transform .5s ease,max-height .5s cubic-bezier(.4,0,.2,1),margin .5s ease,padding .5s ease,border-color .5s ease;overflow:hidden;max-height:120px;opacity:1}.home-lifeapp-notice.fade-out{opacity:0;max-height:0;margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0;border-top-width:0;border-bottom-width:0;transform:translateY(-12px);pointer-events:none;border-color:transparent}.home-lifeapp-notice:hover{border-color:#9bcbae;background:#edf8f1}.home-lifeapp-notice-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:13px;color:#fff;background:var(--green)}.home-lifeapp-notice>span:nth-child(2){min-width:0;display:grid;gap:2px}.home-lifeapp-notice strong{color:var(--red-dark);font-size:14px;font-weight:900;line-height:1.35}.home-lifeapp-notice small{overflow:hidden;color:#5f665f;font-size:11px;font-weight:750;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.home-lifeapp-notice>svg{color:var(--green)}.nearby-section{margin:4px 14px 0;padding:13px 13px 18px;border:1px solid var(--line);border-radius:22px;background:#fffefb85}.section-heading-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-heading-row h1,.section-heading-row h2{margin:0;font-size:24px;font-weight:700;letter-spacing:-.7px}.section-heading-row h2{font-size:26px}.heading-with-icon{display:flex;align-items:center;gap:10px;min-width:0}.heading-icon{width:36px;height:36px;flex:0 0 36px;border-radius:50%;color:#fff;background:var(--red);display:grid;place-items:center}.relocate-button{min-height:44px;border:0;background:transparent;color:var(--red);font-weight:700;display:inline-flex;align-items:center;gap:6px;padding:0 3px;cursor:pointer;white-space:nowrap}.relocate-button:disabled{opacity:.7}.is-spinning{animation:spin .8s linear infinite}.arrival-panel{margin-top:14px;padding:0 12px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow)}.arrival-row{width:100%;min-height:64px;display:grid;grid-template-columns:34px 48px minmax(0,1fr) auto 17px;align-items:center;gap:8px;padding:6px 0;border:0;border-bottom:1px solid var(--line);background:transparent;cursor:pointer;text-align:left}.arrival-row:hover{background:#fbf6ee}.arrival-mode{width:31px;height:38px;display:grid;place-items:center;color:#fff;border-radius:8px}.arrival-mode.metro{background:var(--blue)}.arrival-mode.bus{background:var(--gold)}.arrival-route{font-size:18px;font-weight:600}.arrival-stop{font-size:16px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.arrival-time{min-width:58px;height:40px;border:1.5px solid currentColor;border-radius:22px;display:inline-flex;justify-content:center;align-items:baseline;gap:2px;font-size:22px;font-weight:800}.arrival-time small{font-size:13px;font-weight:800}.arrival-time.green{color:var(--green);background:#f5fcf8}.arrival-time.gold{color:var(--gold);background:#fffaf0}.arrival-chevron{color:var(--green)}.updated-time{margin:0;padding:6px 0;color:var(--muted);font-size:13px}.heading-actions{display:flex;align-items:center;gap:2px}.home-settings-button,.collapse-button{width:40px;height:40px;color:var(--muted)}.home-settings-button:hover,.collapse-button:hover{color:var(--red);background:#fff2ef}.commute-home-section{padding-bottom:14px}.home-mode-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;margin-top:12px;padding:3px;border-radius:13px;background:#f0ebe3}.home-mode-tabs button{min-width:0;min-height:38px;padding:0 5px;border:0;border-radius:10px;color:#686159;background:transparent;font-size:13px;font-weight:900;cursor:pointer}.home-mode-tabs button.active{color:#fff;background:var(--red);box-shadow:0 3px 9px #a9131c2e}.home-favorite-panel{overflow:hidden;margin-top:10px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow)}.home-favorite-heading{min-height:43px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 11px;border-bottom:1px solid var(--line);background:#fffaf3}.home-favorite-mode{min-width:0;display:grid;gap:1px}.home-favorite-mode strong{color:var(--red);font-size:13px;font-weight:900}.home-favorite-mode small{overflow:hidden;color:var(--muted);font-size:10px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.home-favorite-heading>button{flex:0 0 auto;min-height:34px;display:inline-flex;align-items:center;gap:2px;padding:0 5px 0 8px;border:0;border-radius:9px;color:var(--blue);background:transparent;font-size:11px;font-weight:900;cursor:pointer}.home-favorite-heading>button:hover{background:#edf6fb}.home-favorite-route{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:9px;padding:10px 11px 7px}.home-favorite-route>span:first-child{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;color:#fff}.home-favorite-route>span:first-child.bus{background:var(--gold)}.home-favorite-route>span:first-child.rail{background:var(--blue)}.home-favorite-route>span:last-child{min-width:0;display:grid;gap:2px}.home-favorite-route strong{overflow:hidden;font-size:17px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.home-favorite-route small{overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.home-selected-routes{display:flex;flex-wrap:wrap;gap:5px;padding:0 11px 7px 62px}.home-selected-routes span,.home-route-badge{min-width:35px;min-height:24px;display:inline-flex;align-items:center;justify-content:center;padding:2px 7px;border-radius:8px;color:#fff;background:var(--blue);font-size:11px;font-weight:900}.home-commute-arrivals{border-top:1px solid var(--line)}.home-commute-arrivals>button{width:100%;min-height:58px;display:grid;grid-template-columns:auto minmax(0,1fr) auto 16px;align-items:center;gap:8px;padding:7px 10px;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;cursor:pointer}.home-commute-arrivals>button:last-child{border-bottom:0}.home-commute-arrivals>button:hover{background:#fffaf4}.home-commute-arrivals>button>span:nth-child(2){min-width:0;display:grid;gap:2px}.home-commute-arrivals>button>span:nth-child(2) strong,.home-commute-arrivals>button>span:nth-child(2) small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-commute-arrivals>button>span:nth-child(2) strong{font-size:13px}.home-commute-arrivals>button>span:nth-child(2) small{color:var(--muted);font-size:10px}.home-commute-arrivals>button>em{min-width:57px;color:var(--green);font-size:12px;font-style:normal;font-weight:900;text-align:right;white-space:nowrap}.home-commute-arrivals>button>em b{font-size:21px}.home-commute-arrivals>button>em.status{max-width:76px;color:var(--muted);white-space:normal;line-height:1.2}.home-commute-arrivals>button>em.arriving{color:var(--red)}.home-commute-arrivals>button>em.delayed{color:var(--red)}.home-commute-arrivals>button>em.on-time{color:var(--green)}.home-commute-arrivals>button>svg{color:var(--muted)}.home-train-time{min-width:51px;color:var(--red);font-size:20px;font-weight:900;letter-spacing:-.03em}.home-favorite-footer,.home-nearby-footer{min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 8px 4px 11px;border-top:1px solid var(--line);color:var(--muted);background:#faf6ef;font-size:11px;font-weight:750}.home-favorite-footer button{width:30px;height:30px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;color:var(--green);background:transparent;cursor:pointer}.home-favorite-footer button:hover{background:#eaf6ef}.home-favorite-footer button:disabled{opacity:.55;cursor:wait}.home-commute-state{min-height:126px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px;color:var(--muted);font-size:13px;text-align:center}.home-commute-warning{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:7px;margin:0 10px 8px;padding:8px 9px;border-radius:10px;color:#7b5411;background:#fff6dd;font-size:11px;line-height:1.4}.home-commute-empty,.home-nearby-prompt{min-height:218px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;margin-top:10px;padding:20px 18px;border:1px dashed #d9c8b6;border-radius:18px;color:var(--muted);background:#fffaf4;text-align:center}.home-commute-empty>span,.home-nearby-prompt>span{width:50px;height:50px;display:grid;place-items:center;margin-bottom:2px;border-radius:16px;color:#c68209;background:#fff0cc}.home-commute-empty strong,.home-nearby-prompt strong{color:var(--ink);font-size:17px}.home-commute-empty small,.home-nearby-prompt small{max-width:280px;font-size:12px;line-height:1.5}.home-commute-empty .primary-button,.home-nearby-prompt .primary-button{min-height:44px;margin-top:7px;font-size:13px}.nearby-arrival-panel{margin-top:10px;padding:0}.home-nearby-list{padding:0 10px}.home-nearby-stop{width:100%;min-height:73px;display:grid;grid-template-columns:36px minmax(0,1fr) auto 17px;align-items:center;gap:8px;padding:8px 0;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;cursor:pointer}.home-nearby-stop:last-child{border-bottom:0}.home-nearby-stop>span:nth-child(2){min-width:0;display:grid;gap:2px}.home-nearby-stop>span:nth-child(2) strong,.home-nearby-stop>span:nth-child(2) small,.home-nearby-stop>span:nth-child(2) em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-nearby-stop>span:nth-child(2) strong{font-size:15px}.home-nearby-stop>span:nth-child(2) small{color:var(--muted);font-size:10px}.home-nearby-stop>span:nth-child(2) em{color:var(--green);font-size:11px;font-style:normal;font-weight:900}.home-nearby-distance{color:var(--green);font-size:10px;font-weight:900;white-space:nowrap}.home-nearby-stop>svg{color:var(--muted)}.home-nearby-footer button{min-height:30px;display:inline-flex;align-items:center;gap:4px;padding:0 6px;border:0;border-radius:8px;color:var(--red);background:transparent;font-size:11px;font-weight:900;cursor:pointer}.home-nearby-error{min-height:158px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:18px;color:var(--red);font-size:13px;text-align:center}.home-nearby-error button{min-height:36px;padding:0 13px;border:1px solid rgba(201,29,40,.32);border-radius:10px;color:var(--red);background:#fff5f3;font-weight:900}.overlay.commute-settings-overlay{position:fixed;inset:50% auto auto 50%;width:min(100vw,960px);height:min(100dvh,844px);z-index:80;transform:translate(-50%,-50%)}.commute-settings-sheet{max-height:88%;overflow-y:auto;padding:16px 15px 20px}.commute-auto-toggle{display:grid;grid-template-columns:23px minmax(0,1fr);align-items:start;gap:9px;margin-top:14px;padding:11px;border:1px solid #bddbc8;border-radius:13px;background:#f3fbf6;cursor:pointer}.commute-auto-toggle input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--green)}.commute-auto-toggle>span{display:grid;gap:2px}.commute-auto-toggle strong{font-size:14px}.commute-auto-toggle small{color:var(--muted);font-size:11px;line-height:1.4}.commute-slot-list{display:grid;gap:11px;margin-top:12px}.commute-slot-editor{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px;border:1px solid var(--line);border-radius:16px;background:#fffdf9}.commute-slot-heading{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:8px}.commute-slot-heading span{min-width:60px;min-height:28px;display:inline-flex;align-items:center;justify-content:center;padding:0 10px;border-radius:999px;color:#fff;background:var(--red);font-size:13px;font-weight:900}.commute-slot-heading small{color:var(--muted);font-size:11px;font-weight:800}.commute-time-fields{grid-column:1 / -1;display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:7px}.commute-time-fields>span{padding-bottom:12px;color:var(--muted);font-size:12px}.commute-time-fields label,.commute-field{display:grid;gap:5px;color:var(--muted);font-size:11px;font-weight:800}.commute-time-fields input,.commute-field select{width:100%;height:43px;padding:0 9px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:#fff;font-weight:850}.commute-field:has(select[value=""]){grid-column:1 / -1}.commute-route-picker{grid-column:1 / -1;display:grid;gap:7px}.commute-route-picker>span{color:var(--muted);font-size:11px;font-weight:800}.commute-route-picker>span small{font-weight:650}.commute-route-picker>div{display:flex;flex-wrap:wrap;gap:6px}.commute-route-picker button{min-height:32px;padding:0 11px;border:1px solid var(--line);border-radius:999px;color:var(--blue);background:#fff;font-size:12px;font-weight:900;cursor:pointer}.commute-route-picker button.active{color:#fff;border-color:var(--blue);background:var(--blue)}.commute-no-favorites{display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px;margin:12px 0 0;padding:10px;border-radius:11px;color:#7b5411;background:#fff4d6;font-size:12px;line-height:1.45}.commute-settings-actions{display:grid;grid-template-columns:.8fr 1.2fr;gap:9px;margin-top:14px}.commute-settings-actions>button{min-height:48px;border-radius:12px;font-weight:900}.commute-settings-actions>button:first-child{border:1px solid var(--line);background:#fff}.services-section{padding:12px 12px 4px}.services-section .section-heading-row{padding:0 5px 5px}.service-count,.results-section .section-heading-row>span,.winning-numbers .section-heading-row>span{font-size:13px;font-weight:800;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.service-button{min-width:0;min-height:106px;border:0;border-radius:16px;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:8px 3px;cursor:pointer}.service-button:hover{background:#f3eee5}.service-button:active{transform:scale(.96)}.lightshow-service-left{grid-column:3}.lightshow-service-right{grid-column:4}.service-image{width:64px;height:58px;object-fit:contain;display:block;filter:drop-shadow(0 3px 2px rgba(0,0,0,.13))}.service-icon-graphic{width:64px;height:58px;border:1px solid #ead9c6;border-radius:18px;color:var(--red);background:linear-gradient(145deg,#fffdf9,#f4e8d9);display:grid;place-items:center;filter:drop-shadow(0 3px 2px rgba(0,0,0,.11))}.install-service-icon{color:#087c47;border-color:#b9ddc9;background:linear-gradient(145deg,#f7fff9,#dff4e8)}.service-button span{font-size:17px;font-weight:500;line-height:1.25;text-align:center;white-space:normal}.bottom-nav{min-height:0;padding-bottom:env(safe-area-inset-bottom,0px);border:1px solid var(--line);border-bottom:0;border-radius:20px 20px 0 0;background:var(--surface);display:grid;grid-template-columns:repeat(5,1fr);align-items:stretch;z-index:6}.bottom-nav button,.bottom-nav a{position:relative;min-width:0;border:0;background:transparent;color:#595751;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;cursor:pointer;text-decoration:none}.bottom-nav button span,.bottom-nav a span{font-size:13px;font-weight:550}.bottom-nav button.active,.bottom-nav a.active{color:var(--red)}.bottom-nav button.active:after,.bottom-nav a.active:after{content:"";position:absolute;left:18%;right:18%;bottom:0;height:4px;border-radius:4px 4px 0 0;background:var(--red)}.inner-screen{padding:17px 15px 24px}.intro-block{padding:2px 2px 18px}.intro-block.compact{padding-bottom:13px}.eyebrow{color:var(--red);font-size:13px;font-weight:900;letter-spacing:.04em}.intro-block h2{margin:5px 0 4px;font-size:27px;letter-spacing:-1px}.intro-block p{color:var(--muted);margin:0;line-height:1.55}.large-service-list,.result-list,.station-list,.event-list,.notice-list,.more-list{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--surface);box-shadow:var(--shadow)}.large-service-list button,.more-list button{width:100%;min-height:78px;border:0;border-bottom:1px solid var(--line);background:transparent;display:grid;grid-template-columns:70px minmax(0,1fr) auto;align-items:center;gap:12px;text-align:left;padding:10px 14px;cursor:pointer}.large-service-list button:last-child,.more-list button:last-child{border-bottom:0}.large-service-list .service-image,.more-list .service-image,.large-service-list .service-icon-graphic,.more-list .service-icon-graphic{width:62px;height:56px}.large-service-list button>span,.more-list button>span{display:grid;gap:3px}.large-service-list strong,.more-list span{font-size:17px}.large-service-list small{color:var(--muted);font-size:13px}.search-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 46px minmax(0,1fr);gap:10px;padding:14px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow)}.segmented-control{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;padding:3px;border-radius:12px;background:#f2ede4}.segmented-control button{min-height:38px;border:0;border-radius:9px;background:transparent;font-weight:800;cursor:pointer}.segmented-control button.active{color:#fff;background:var(--red)}.search-card label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:800}.search-card select,.search-card input[type=date],.search-card input[type=time]{width:100%;height:45px;border:1px solid var(--line);border-radius:10px;padding:0 10px;background:#fff;color:var(--ink);font-weight:800}.search-card select:disabled{color:var(--muted);background:#f5f1ea}.station-field{min-width:0;display:grid;gap:6px}.station-field>span{color:var(--muted);font-size:12px;font-weight:800}.station-select-button{width:100%;min-width:0;min-height:58px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;padding:7px 9px 7px 11px;border:1px solid var(--line);border-radius:12px;background:#fff;text-align:left;cursor:pointer}.station-select-button:hover{border-color:#cbbba6;background:#fffcf7}.station-select-button:disabled{color:var(--muted);background:#f5f1ea;cursor:wait}.station-select-button>span{min-width:0;display:grid;gap:1px}.station-select-button small{overflow:hidden;color:var(--muted);font-size:10px;font-weight:700;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.station-select-button strong{overflow:hidden;color:var(--ink);font-size:18px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.station-select-button>svg{color:var(--red)}.search-card .rail-date-time-group{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:10px}.swap-button{align-self:end;width:46px;height:58px;border:1px solid var(--line);border-radius:12px;color:var(--red);background:#fff8f6;display:grid;place-items:center;cursor:pointer}.swap-button:hover{border-color:#c91d2859;background:#fff1ef}.primary-button{min-height:48px;border:0;border-radius:12px;background:var(--red);color:#fff;font-weight:900;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 17px;cursor:pointer}.primary-button:hover{background:var(--red-dark)}.primary-button:disabled{background:#c9c1b6;cursor:not-allowed}.search-card .primary-button{grid-column:1 / -1}.results-section{margin-top:20px}.results-section .section-heading-row{margin-bottom:10px}.rail-results-header{align-items:flex-start}.rail-results-header h2{min-width:0;display:flex;align-items:center;gap:4px;font-size:20px;line-height:1.3}.rail-results-header h2>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail-results-header h2>svg{flex:0 0 auto;color:var(--muted)}.rail-favorite-button{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;margin:-5px 0 -5px 2px;padding:0;border:0;border-radius:50%;color:var(--muted);background:transparent;cursor:pointer}.rail-favorite-button.active{color:var(--red);background:#fff3f2}.result-row{width:100%;min-height:75px;border:0;border-bottom:1px solid var(--line);background:transparent;display:grid;grid-template-columns:auto auto minmax(22px,1fr) auto minmax(65px,auto) auto;align-items:center;gap:8px;padding:12px;cursor:pointer}.result-row:last-child{border-bottom:0}.route-badge{color:var(--blue);font-weight:900}.result-row strong{display:grid;font-size:17px}.result-row strong small{font-size:10px;color:var(--muted);font-weight:700}.journey-line{width:100%;height:2px;background:var(--line);margin-bottom:2px}.result-note{font-size:11px;color:var(--muted)}.rail-live-meta{min-height:58px;display:grid;grid-template-columns:auto minmax(0,1fr) 38px;align-items:center;gap:10px;margin:0 0 10px;padding:9px 11px;border:1px solid #bcdcc9;border-radius:13px;color:#17673b;background:#f4fbf6}.rail-live-meta.has-warning{color:#795613;border-color:#ecd69d;background:#fffaf0}.rail-live-meta>span{min-width:0;display:grid;gap:2px}.rail-live-meta strong{font-size:13px}.rail-live-meta small{overflow:hidden;color:currentColor;font-size:11px;line-height:1.35;text-overflow:ellipsis}.rail-live-meta button{width:38px;height:38px;display:grid;place-items:center;border:0;border-radius:50%;color:currentColor;background:transparent;cursor:pointer}.rail-live-meta button:hover{background:#0000000d}.rail-live-meta button:disabled{opacity:.55;cursor:wait}.rail-trip-list{display:grid;gap:11px;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}.rail-trip-card{overflow:hidden;border:1px solid var(--line);border-radius:17px;background:var(--surface);box-shadow:0 5px 16px #362b1e12}.rail-trip-card-header{min-height:45px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 13px 5px}.rail-service-identity{min-width:0;display:flex;align-items:center;gap:8px}.rail-train-number{color:var(--blue);font-size:18px;font-weight:900;white-space:nowrap}.rail-train-number small{margin-left:2px;font-size:12px}.train-amenities{display:flex;align-items:center;gap:7px}.amenity-icon{opacity:.8;display:inline-flex;align-items:center}.amenity-icon.wheelchair-icon{color:#2196f3}.amenity-icon.baby-icon{color:#e91e63}.amenity-icon.bicycle-icon{color:#4caf50}.train-type-badge{display:inline-flex;align-items:center;justify-content:center;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800;line-height:1;text-align:center;white-space:nowrap}.journey-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-width:32px}.journey-duration{font-size:10px;color:var(--muted);font-weight:700;white-space:nowrap;margin-top:1px}.rail-trip-times{display:grid;grid-template-columns:minmax(0,1fr) 92px minmax(0,1fr);align-items:center;gap:7px;padding:4px 13px 13px}.rail-time-block{min-width:0;display:grid;gap:2px}.rail-time-block:last-child{text-align:right}.rail-time-block strong{font-size:31px;line-height:1.08;letter-spacing:-.04em}.rail-time-block.is-departure strong{color:var(--red)}.rail-time-block span{overflow:hidden;color:var(--muted);font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.rail-duration-block{min-width:0;display:grid;justify-items:center;gap:4px;color:var(--muted)}.rail-duration-block small{font-size:11px;font-weight:800;white-space:nowrap}.rail-duration-block span{width:100%;height:1px;position:relative;background:var(--line)}.rail-duration-block span svg{position:absolute;right:-5px;top:50%;transform:translateY(-50%);padding:2px;color:var(--muted);background:var(--surface)}.rail-trip-card-footer{min-height:49px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:7px 8px 7px 13px;border-top:1px solid #eee6da;background:#fdfaf5}.rail-status-copy{min-width:0;display:flex;align-items:center;gap:7px}.rail-live-badge{min-height:30px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:5px 8px;border:1px solid currentColor;border-radius:15px;font-size:11px;font-weight:900;line-height:1;white-space:nowrap}.rail-live-badge.is-on-time{color:#177348;background:#f1fbf5}.rail-live-badge.is-delayed{color:#a3252f;background:#fff4f4}.rail-live-badge.is-pending{color:#6d6962;border-color:var(--line);background:#f7f3ec}.rail-live-location{min-width:0;overflow:hidden;color:var(--muted);font-size:10px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.rail-book-button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:0 12px;border:0;border-radius:12px;color:#fff;background:var(--green);font-size:14px;font-weight:900;text-decoration:none;white-space:nowrap;cursor:pointer}.rail-book-button:hover{background:#106e40}.data-source{margin:11px 2px 0;color:var(--muted);font-size:11px;line-height:1.5}.booking-button{color:var(--red)}.query-state{min-height:64px;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;color:var(--muted);text-align:center;line-height:1.45}.query-state.error-state{min-height:54px;margin-top:12px;border:1px solid #f1c4c4;border-radius:13px;color:#9e1d27;background:#fff5f5}.query-state.warning-state{min-height:54px;margin-top:12px;border:1px solid #ecd69d;border-radius:13px;color:#795613;background:#fffaf0}.search-field{height:50px;display:grid;grid-template-columns:auto minmax(0,1fr) 30px;align-items:center;gap:8px;padding:0 13px;border:1px solid var(--line);border-radius:13px;background:#fff}.search-field input{width:100%;border:0;outline:0;background:transparent;font-size:16px}.search-field button{width:30px;height:30px;border:0;background:transparent;display:grid;place-items:center}.bus-search-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.bus-search-button{min-height:50px;padding-inline:14px;white-space:nowrap}.refresh-row{min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-size:12px}.refresh-row button{min-height:38px;border:0;color:var(--red);background:transparent;display:inline-flex;align-items:center;gap:5px;font-weight:800;cursor:pointer}.refresh-row button:disabled{opacity:.55}.chip-row{display:flex;gap:8px;overflow-x:auto;padding:12px 0;scrollbar-width:none}.chip-row button{min-height:38px;border:1px solid var(--line);border-radius:20px;background:#fff;padding:0 15px;font-size:13px;font-weight:800;white-space:nowrap;cursor:pointer}.chip-row button.active{color:#fff;border-color:var(--red);background:var(--red)}.bus-result-row{width:100%;min-height:72px;display:grid;grid-template-columns:51px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:10px 12px;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left}.bus-result-row:last-child{border-bottom:0}.bus-result-row>span:nth-child(2){display:grid;gap:3px}.bus-result-row>span:nth-child(2) small{color:var(--muted);font-size:11px}.bus-badge{width:48px;min-height:34px;border-radius:8px;display:grid;place-items:center;color:#fff;background:var(--blue)}.bus-result-row .arrival-time{min-width:53px;height:36px;font-size:18px}.bus-result-row .bus-arriving{font-size:15px}.bus-result-row .bus-status{min-width:76px;height:auto;min-height:36px;padding:5px 8px;color:var(--muted);border-color:var(--line);background:#f7f3ec;font-size:12px;line-height:1.2;text-align:center}.bus-result-meta{display:flex;justify-content:space-between;gap:12px;margin:-2px 2px 9px;color:var(--muted);font-size:11px;line-height:1.4}.bus-result-meta span:last-child{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px}.bus-inline-refresh{width:28px;height:28px;display:inline-grid;place-items:center;padding:0;border:0;border-radius:50%;color:var(--red);background:transparent;cursor:pointer}.bus-inline-refresh:hover{background:#f7eee7}.bus-inline-refresh:disabled{opacity:.55;cursor:wait}.bus-screen{padding-top:14px}.bus-screen-intro{padding:0 2px 12px}.bus-screen-intro h2{margin-bottom:5px;font-size:25px}.bus-screen-intro p{font-size:14px;line-height:1.45}.bus-mode-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:5px;border:1px solid var(--line);border-radius:17px;background:#f2ede4}.bus-mode-tabs button{min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 9px;border:0;border-radius:12px;color:#625d55;background:transparent;font-size:16px;font-weight:900;cursor:pointer}.bus-mode-tabs button.active{color:#fff;background:var(--red);box-shadow:0 5px 13px #a9131c33}.bus-mode-panel{margin-top:14px}.bus-locate-card{padding:15px;border:1px solid #ead8cf;border-radius:19px;background:#fffaf7;box-shadow:var(--shadow)}.bus-locate-copy{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:11px}.bus-locate-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;color:#fff;background:var(--red)}.bus-locate-copy>span:last-child{min-width:0;display:grid;gap:3px}.bus-locate-copy strong{font-size:18px;line-height:1.3}.bus-locate-copy small{color:var(--muted);font-size:12px;line-height:1.45}.bus-locate-button{width:100%;min-height:52px;margin-top:14px;font-size:16px}.bus-locate-card>p{display:flex;align-items:center;justify-content:center;gap:5px;margin:10px 0 0;color:var(--muted);font-size:11px;line-height:1.4}.bus-locate-card>p svg{flex:0 0 auto;color:var(--green)}.bus-favorite-results .section-heading-row{margin-bottom:10px}.bus-favorite-results .section-heading-row h2{font-size:23px}.bus-favorite-results .section-heading-row>span{color:var(--muted);font-size:11px;font-weight:800}.bus-favorite-results+.bus-locate-card{margin-top:14px}.bus-favorite-empty{min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:22px 18px;border:1px dashed #d9c8b6;border-radius:18px;color:var(--muted);background:#fffaf4;text-align:center}.bus-favorite-empty>span{width:52px;height:52px;display:grid;place-items:center;margin-bottom:2px;border-radius:17px;color:#c68209;background:#fff1cf}.bus-favorite-empty strong{color:#48433c;font-size:17px}.bus-favorite-empty small{font-size:12px;line-height:1.5}.bus-nearby-results{margin-top:19px}.bus-nearby-results .section-heading-row{margin-bottom:10px}.bus-nearby-results .section-heading-row h2{font-size:23px}.bus-nearby-results .section-heading-row>span{color:var(--muted);font-size:11px;font-weight:800}.bus-stop-list{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow)}.bus-stop-item{border-bottom:1px solid var(--line)}.bus-stop-item:last-child{border-bottom:0}.bus-stop-item.expanded{background:#fffaf4}.bus-stop-item-header{display:grid;grid-template-columns:minmax(0,1fr) 55px;align-items:stretch}.bus-stop-card{width:100%;min-height:112px;display:grid;grid-template-columns:38px minmax(0,1fr) 18px;align-items:start;gap:10px;padding:13px 7px 13px 12px;border:0;background:transparent;text-align:left;cursor:pointer}.bus-stop-card:hover{background:#fff9f3}.bus-stop-card>svg{align-self:center;color:var(--green)}.bus-stop-favorite{width:55px;min-height:74px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:5px 3px;border:0;color:#91887d;background:transparent;font-size:10px;font-weight:800;cursor:pointer}.bus-stop-favorite:hover{background:#fff6e8}.bus-stop-favorite.active{color:#c68209}.bus-stop-favorite svg{flex:0 0 auto}.bus-stop-pin{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;color:var(--red);background:#fff0ee}.bus-stop-copy{min-width:0;display:grid;gap:4px}.bus-stop-title{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px}.bus-stop-title strong{overflow:hidden;font-size:18px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.bus-stop-title em{flex:0 0 auto;color:var(--green);font-size:12px;font-style:normal;font-weight:900;white-space:nowrap}.bus-stop-copy>small{overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.bus-route-pills{display:flex;gap:5px;overflow:hidden;padding-top:2px}.bus-route-pills>span{min-width:31px;height:24px;display:inline-flex;align-items:center;justify-content:center;padding:0 7px;border-radius:8px;color:#fff;background:var(--blue);font-size:11px;font-weight:900;white-space:nowrap}.bus-route-pills>span.muted{color:var(--muted);background:#f2eee8}.bus-stop-next{color:var(--green);font-size:12px;font-weight:900}.bus-stop-details{margin:0 12px 14px;overflow:hidden;border:1px solid #e5d7c7;border-radius:14px;background:#fff}.bus-stop-details-heading{min-height:57px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px;border-bottom:1px solid var(--line);background:#f8f2e9}.bus-stop-details-heading>span{display:grid;gap:2px}.bus-stop-details-heading strong{font-size:15px}.bus-stop-details-heading small{color:var(--muted);font-size:10px}.bus-stop-details-heading em{flex:0 0 auto;color:var(--green);font-size:10px;font-style:normal;font-weight:900}.bus-stop-refresh-error{min-height:34px;display:flex;align-items:center;justify-content:center;gap:5px;padding:7px 10px;color:#9e1d27;border-bottom:1px solid #efc5c8;background:#fff1f2;font-size:10px;font-weight:800}.bus-stop-arrival-row{min-height:65px;display:grid;grid-template-columns:48px minmax(0,1fr) minmax(68px,auto);align-items:center;gap:9px;padding:8px 10px;border-bottom:1px solid var(--line)}.bus-stop-arrival-row:last-child{border-bottom:0}.bus-stop-arrival-copy{min-width:0;display:grid;gap:2px}.bus-stop-arrival-copy strong,.bus-stop-arrival-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bus-stop-arrival-copy strong{font-size:13px}.bus-stop-arrival-copy small{color:var(--muted);font-size:10px}.bus-stop-arrival-status{min-height:35px;display:inline-flex;align-items:center;justify-content:center;gap:2px;padding:5px 7px;border:1px solid #ded5c9;border-radius:10px;color:#625d55;background:#f7f3ed;font-size:11px;font-weight:900;line-height:1.15;text-align:center}.bus-stop-arrival-status strong{color:var(--gold);font-size:20px;line-height:1}.bus-stop-arrival-status small{color:var(--muted);font-size:9px}.bus-stop-arrival-status.soon,.bus-stop-arrival-status.arriving{color:var(--green);border-color:#b8d8c7;background:#edf8f1}.bus-stop-arrival-status.soon strong{color:var(--green)}.bus-stop-arrival-status.inactive{color:#746d65;border-color:#d9d2ca;background:#eeeae5}.bus-stop-arrival-status.alert{color:#9e1d27;border-color:#efc5c8;background:#fff1f2}.bus-stop-empty{min-height:64px;display:flex;align-items:center;justify-content:center;gap:7px;padding:12px;color:var(--muted);font-size:11px;line-height:1.4;text-align:center}.bus-stop-status-note{display:flex;align-items:flex-start;gap:5px;margin:0;padding:9px 10px;color:#6d6255;border-top:1px solid #eadfcf;background:#fff9ed;font-size:10px;line-height:1.45}.bus-stop-status-note svg{flex:0 0 auto;margin-top:1px;color:#a16c08}.bus-keypad{margin-top:13px;padding:13px;border:1px solid var(--line);border-radius:19px;background:var(--surface);box-shadow:var(--shadow)}.bus-keypad-heading{min-height:39px;display:flex;align-items:start;justify-content:space-between;gap:10px}.bus-keypad-heading>span{display:grid;gap:1px}.bus-keypad-heading strong{font-size:17px}.bus-keypad-heading small{color:var(--muted);font-size:11px}.bus-keypad-heading em{max-width:46%;overflow:hidden;color:var(--red);font-size:20px;font-style:normal;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.bus-prefix-keys{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin-top:7px}.bus-prefix-keys button{min-width:0;min-height:44px;padding:0;border:1px solid #decfbe;border-radius:12px;color:#545047;background:#fffaf4;font-size:18px;font-weight:900;cursor:pointer}.bus-prefix-keys button.active{color:#fff;border-color:var(--red);background:var(--red)}.bus-number-keys{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:9px}.bus-number-keys button{min-width:0;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:0 5px;border:1px solid var(--line);border-radius:12px;color:#36332e;background:#fff;font-size:21px;font-weight:900;cursor:pointer;box-shadow:0 3px 7px #362b1e0d}.bus-number-keys button:active,.bus-prefix-keys button:active{transform:scale(.96)}.bus-number-keys .delete-key{color:var(--muted);background:#f6f1ea}.bus-number-keys .confirm-key{color:#fff;border-color:var(--green);background:var(--green);font-size:13px}.bus-number-keys .confirm-key:disabled{color:#a49d94;border-color:#e2d9cd;background:#eee9e2;cursor:not-allowed;box-shadow:none}.bus-popular-routes{align-items:center;padding-bottom:2px}.bus-popular-routes>span{color:var(--muted);font-size:12px;font-weight:900}.bus-route-results{margin-top:16px}.bus-route-results .section-heading-row h2{min-width:0;overflow:hidden;font-size:22px;text-overflow:ellipsis;white-space:nowrap}.intercity-screen{padding-top:14px}.intercity-intro{padding:0 2px 12px}.intercity-intro h2{margin-bottom:5px;font-size:25px}.intercity-intro p{font-size:14px;line-height:1.5}.intercity-scope-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:5px;border:1px solid var(--line);border-radius:17px;background:#f2ede4}.intercity-scope-tabs button{min-width:0;min-height:54px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 8px;border:0;border-radius:12px;color:#625d55;background:transparent;font-size:17px;font-weight:900;cursor:pointer}.intercity-scope-tabs button.active{color:#fff;background:var(--green);box-shadow:0 5px 13px #16844f33}.intercity-operator-button{width:100%;min-height:59px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:13px;padding:8px 14px;border:1px solid #d8cbb9;border-radius:15px;color:var(--ink);background:#fff;text-align:left;box-shadow:0 4px 12px #362b1e0d;cursor:pointer}.intercity-operator-button:disabled{opacity:.6;cursor:wait}.intercity-operator-button>span{min-width:0;display:grid;gap:1px}.intercity-operator-button small{color:var(--muted);font-size:10px;font-weight:800}.intercity-operator-button strong{overflow:hidden;color:var(--green);font-size:18px;text-overflow:ellipsis;white-space:nowrap}.intercity-search-field{min-height:50px;display:grid;grid-template-columns:auto minmax(0,1fr) 30px;align-items:center;gap:8px;margin-top:10px;padding:0 13px;border:1px solid var(--line);border-radius:13px;background:#fff}.intercity-search-field input{width:100%;border:0;outline:0;background:transparent;font-size:15px}.intercity-search-field button{width:30px;height:30px;display:grid;place-items:center;padding:0;border:0;background:transparent;cursor:pointer}.intercity-quick-routes{align-items:center;padding:10px 0 13px}.intercity-quick-routes>span{color:var(--muted);font-size:12px;font-weight:900}.intercity-loading{min-height:120px;display:flex;align-items:center;justify-content:center;gap:9px;color:var(--muted);font-size:13px;font-weight:800}.intercity-results .section-heading-row{margin-bottom:10px}.intercity-results .section-heading-row h2{font-size:22px}.intercity-results .section-heading-row>span{color:var(--muted);font-size:11px;font-weight:800}.intercity-route-list{display:grid;gap:10px}.intercity-route-card{min-width:0;min-height:100px;display:grid;grid-template-columns:minmax(0,1fr) 48px;overflow:hidden;border:1px solid var(--line);border-radius:17px;background:var(--surface);box-shadow:var(--shadow)}.intercity-route-main{min-width:0;min-height:100px;display:grid;grid-template-columns:62px minmax(0,1fr) 19px;align-items:center;gap:11px;padding:11px 7px 11px 12px;border:0;background:transparent;text-align:left;cursor:pointer}.intercity-route-main:hover{background:#fff9f3}.intercity-route-number{min-width:58px;min-height:42px;display:inline-flex;align-items:center;justify-content:center;padding:6px 7px;border-radius:11px;color:#fff;background:var(--blue);font-size:18px;font-weight:900;line-height:1;text-align:center}.intercity-route-copy{min-width:0;display:grid;gap:5px}.intercity-route-copy strong{font-size:17px;line-height:1.35}.intercity-route-copy small{overflow:hidden;color:var(--muted);font-size:11px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.intercity-route-main>svg{color:var(--green)}.intercity-route-favorite{width:48px;min-height:100%;display:grid;place-items:center;padding:0;border:0;border-left:1px solid var(--line);color:#91887d;background:#fffaf4;cursor:pointer}.intercity-route-favorite.active{color:#c68209;background:#fff5dc}.intercity-result-limit{margin:11px 3px 0;color:var(--muted);font-size:11px;line-height:1.5;text-align:center}.intercity-source{margin-top:14px;padding-bottom:2px;text-align:center}.intercity-operator-sheet{max-height:min(84%,710px)}.intercity-operator-list{min-height:0}.intercity-picker-empty{min-height:88px;display:grid;place-items:center;color:var(--muted);font-size:13px;text-align:center}.intercity-detail-screen{padding-top:12px}.intercity-back-button{min-height:42px;display:inline-flex;align-items:center;gap:6px;margin:-2px 0 9px;padding:0 8px 0 1px;border:0;color:var(--red);background:transparent;font-size:13px;font-weight:900;cursor:pointer}.intercity-detail-hero{min-height:126px;display:grid;grid-template-columns:66px minmax(0,1fr) 42px;align-items:center;gap:11px;padding:15px 10px 15px 14px;border:1px solid #d7c8b5;border-radius:19px;background:#fffaf4;box-shadow:var(--shadow)}.intercity-detail-hero>span:nth-child(2){min-width:0;display:grid;gap:4px}.intercity-detail-hero em{color:var(--green);font-size:11px;font-style:normal;font-weight:900}.intercity-detail-hero h2{margin:0;font-size:20px;line-height:1.35}.intercity-detail-hero p{margin:0;color:var(--muted);font-size:11px;line-height:1.4}.intercity-detail-hero>button{width:42px;height:42px;display:grid;place-items:center;padding:0;border:0;border-radius:13px;color:#c68209;background:#fff2cf;cursor:pointer}.intercity-live-meta{min-height:55px;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:13px}.intercity-live-meta>span{display:grid;gap:2px}.intercity-live-meta strong{font-size:20px}.intercity-live-meta small{color:var(--muted);font-size:10px}.intercity-live-meta button{min-height:40px;display:inline-flex;align-items:center;gap:6px;padding:0 11px;border:1px solid var(--line);border-radius:12px;color:var(--red);background:#fff;font-size:12px;font-weight:900;cursor:pointer}.intercity-live-meta button:disabled{opacity:.55;cursor:wait}.intercity-refresh-note{display:flex;align-items:flex-start;gap:5px;margin:-2px 0 12px;padding:8px 10px;border-radius:11px;color:#55685c;background:#eef7f1;font-size:10px;line-height:1.45}.intercity-refresh-note svg{flex:0 0 auto;color:var(--green)}.intercity-direction-tabs{display:flex;gap:8px;overflow-x:auto;padding:2px 0 11px;scrollbar-width:none}.intercity-direction-tabs button{min-width:min(78%,250px);min-height:61px;display:grid;gap:3px;padding:8px 10px;border:1px solid var(--line);border-radius:14px;color:var(--ink);background:#fff;text-align:left;cursor:pointer}.intercity-direction-tabs button.active{color:#fff;border-color:var(--green);background:var(--green);box-shadow:0 5px 13px #16844f29}.intercity-direction-tabs span{font-size:13px;font-weight:900}.intercity-direction-tabs small{overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.intercity-direction-tabs button.active small{color:#ffffffd1}.intercity-stop-list{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow)}.intercity-stop-row{min-height:70px;display:grid;grid-template-columns:31px minmax(0,1fr) minmax(72px,auto);align-items:center;gap:9px;padding:9px 10px;border-bottom:1px solid var(--line)}.intercity-stop-row:last-child{border-bottom:0}.intercity-stop-sequence{width:29px;height:29px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--green);font-size:11px;font-weight:900}.intercity-stop-copy{min-width:0;display:grid;gap:3px}.intercity-stop-copy strong{overflow:hidden;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.intercity-stop-copy small{overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.intercity-stop-time{min-height:37px;display:inline-flex;align-items:center;justify-content:center;gap:2px;padding:5px 8px;border:1px solid #decfbe;border-radius:10px;color:#6b6156;background:#f8f3ec;font-size:11px;font-weight:900;line-height:1.15;text-align:center}.intercity-stop-time strong{color:var(--gold);font-size:21px;line-height:1}.intercity-stop-time small{color:var(--muted);font-size:9px}.intercity-stop-time.soon,.intercity-stop-time.arriving{color:var(--green);border-color:#b8d8c7;background:#edf8f1}.intercity-stop-time.soon strong{color:var(--green)}.intercity-stop-time.status{max-width:90px}.intercity-stop-time.inactive{color:#746d65;border-color:#d9d2ca;background:#eeeae5}.metro-status,.bike-summary,.check-message,.about-panel{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:15px;background:#fff}.metro-status{color:var(--green)}.metro-status div,.bike-summary span,.check-message span,.about-panel span{display:grid;gap:3px}.metro-status span,.bike-summary small{color:var(--muted);font-size:12px}.metro-lines{margin-top:14px;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff}.metro-lines button{width:100%;min-height:71px;border:0;border-bottom:1px solid var(--line);background:transparent;display:grid;grid-template-columns:42px minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px 13px;text-align:left}.metro-lines button:last-child{border-bottom:0}.line-dot{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:11px;font-weight:900}.line-dot.blue{background:#1479b8}.line-dot.red{background:#c92a39}.line-dot.green{background:#28894e}.metro-lines button>span:nth-child(2){display:grid}.metro-lines small{color:var(--muted)}.metro-lines em{color:var(--green);font-size:12px;font-style:normal;font-weight:800}.inner-screen.metro-screen{width:100%;min-height:100%;padding:0;overflow:hidden;background:#30332f}.metro-city-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0 10px 12px;background:#30332f}.metro-city-tabs button{min-width:0;min-height:57px;border:0;border-right:1px solid #5d5e59;color:#505355;background:#faf6ec;font-size:23px;font-weight:550;cursor:pointer}.metro-city-tabs button:first-child{border-radius:0 0 0 8px}.metro-city-tabs button:last-child{border-right:0;border-radius:0 0 8px}.metro-city-tabs button.active{color:#171916;background:#ffd000;font-weight:800}.metro-map-view{position:relative;height:496px;margin:0 10px;overflow:hidden;border:1px solid #bfc0bd;border-top:14px solid #dddddd;background:#fff;cursor:grab;touch-action:none}.metro-map-view:active{cursor:grabbing}.metro-map-view>img{position:absolute;left:0;top:0;width:100%;height:auto;display:block;transform-origin:center top;pointer-events:none;-webkit-user-select:none;user-select:none;will-change:transform}.metro-map-credit{position:absolute;right:8px;bottom:7px;z-index:2;min-height:30px;display:inline-flex;align-items:center;padding:0 8px;border:1px solid #d8d9d6;border-radius:5px;color:#087ea4;background:#ffffffeb;font-size:11px;font-weight:800;text-decoration:none}.metro-planner{display:grid;grid-template-columns:minmax(0,1fr) 78px;gap:8px 12px;align-items:center;padding:6px 14px;color:#fff;background:#30332f}.metro-station-fields{min-width:0;display:grid;gap:7px}.metro-station-row{min-width:0;display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:6px}.metro-station-row>span:first-child{color:#ffd000;font-size:24px;font-weight:550;letter-spacing:.01em}.metro-select-wrap{min-width:0;min-height:36px;display:grid;grid-template-columns:minmax(0,1fr) 18px;align-items:center;gap:4px;border-bottom:1px solid rgba(255,255,255,.22)}.metro-select-wrap select{min-width:0;width:100%;height:36px;border:0;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;color:#fff;background:transparent;font-size:22px;font-weight:450;text-overflow:ellipsis;cursor:pointer}.metro-select-wrap select option{color:#191815;background:#fff}.metro-select-wrap svg{color:#ffd000;pointer-events:none}.metro-plan-button{width:78px;min-height:62px;border:0;border-radius:7px;color:#171916;background:#ffd000;display:grid;place-items:center;align-content:center;gap:1px;font-size:27px;font-weight:750;cursor:pointer}.metro-plan-button:hover{background:#ffda32}.metro-plan-button:disabled{color:#74746f;background:#d8d1a8;cursor:not-allowed}.metro-plan-button.is-planning{color:#3d381e;background:#ffdc4a}.metro-plan-button.is-success{color:#fff;background:#23875e;animation:metro-plan-confirm .58s ease-out}.metro-plan-button.is-planning span,.metro-plan-button.is-success span{font-size:13px;font-weight:850;line-height:1.05}.metro-plan-result{grid-column:1 / -1;display:none;align-items:center;gap:6px;color:#effff5;font-size:12px;font-weight:750}.metro-plan-result.visible{min-height:22px;display:flex}.metro-plan-result svg{color:#64d594}.metro-plan-result.error{color:#ffe3dd}.metro-plan-result.error svg{color:#ff8c78}.metro-route-card{margin:12px 14px 18px;overflow:hidden;border:1px solid #dedfdc;border-radius:16px;background:#fff;box-shadow:0 7px 20px #181e1b14;scroll-margin-top:12px}.metro-route-card:focus{outline:none}.metro-route-card.is-revealed{animation:metro-route-reveal .55s ease-out both}@keyframes metro-plan-confirm{0%{transform:scale(.94);box-shadow:0 0 #48cd9180}55%{transform:scale(1.05);box-shadow:0 0 0 8px #48cd9121}to{transform:scale(1);box-shadow:0 0 #48cd9100}}@keyframes metro-route-reveal{0%{opacity:0;transform:translateY(18px);box-shadow:0 0 0 3px #ffd00073}to{opacity:1;transform:translateY(0);box-shadow:0 7px 20px #181e1b14}}.metro-route-heading{display:grid;gap:6px;padding:14px 15px 11px;border-bottom:1px solid #eceeeb}.metro-route-heading>span{display:flex;align-items:center;gap:7px;color:#177556;font-size:13px;font-weight:850}.metro-route-heading>strong{color:#20231f;font-size:18px;line-height:1.35}.metro-route-stats{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid #eceeeb;background:#f7f8f5}.metro-route-stats span{padding:10px 5px;color:#686d68;font-size:12px;text-align:center}.metro-route-stats span+span{border-left:1px solid #e2e4e0}.metro-route-stats strong{margin-right:2px;color:#20231f;font-size:18px}.metro-route-steps{display:grid;margin:0;padding:6px 15px 3px;list-style:none}.metro-route-steps li{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr);gap:11px;align-items:flex-start;padding:11px 0}.metro-route-steps li+li{border-top:1px dashed #dedfdc}.metro-line-badge{min-width:42px;min-height:32px;display:inline-flex;align-items:center;justify-content:center;align-self:center;padding:3px 5px;border-radius:8px;font-size:12px;font-weight:900;letter-spacing:-.02em}.metro-step-copy{min-width:0;display:grid;gap:3px}.metro-step-copy>strong{color:#252824;font-size:15px}.metro-step-copy>small{color:#656b65;font-size:12px;line-height:1.45}.metro-step-copy>span{color:#272b27;font-size:13px;font-weight:750;overflow-wrap:anywhere}.metro-route-note{margin:0;padding:10px 15px 13px;color:#777c77;background:#fafbf9;font-size:11px;line-height:1.55}.metro-station-trigger-btn{width:100%;height:48px;border:1px solid var(--line);border-radius:12px;padding:0 13px;font-size:15px;font-weight:750;background:#fff;display:flex;align-items:center;justify-content:space-between;text-align:left;cursor:pointer;color:var(--ink);transition:border-color .2s,background-color .2s}.metro-station-trigger-btn:hover{border-color:#ffd000;background-color:#fffdf6}.metro-station-trigger-text.placeholder{color:var(--muted);font-weight:400}.metro-picker-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:10000;background:#0006;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:16px;animation:fadeIn .25s ease-out}.metro-picker-card{width:100%;max-width:580px;height:80vh;max-height:680px;background:#ffffffe6;border:1px solid rgba(255,255,255,.4);border-radius:24px;box-shadow:0 20px 40px #00000026;display:flex;flex-direction:column;overflow:hidden;animation:slideUp .3s cubic-bezier(.16,1,.3,1)}.metro-picker-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px 12px}.metro-picker-title h2{font-size:20px;font-weight:800;color:#1a1a1a;margin:0}.metro-picker-title small{color:var(--muted);font-size:12px;font-weight:500}.metro-picker-close-btn{background:#f0f0f0;border:none;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:#666;cursor:pointer;transition:background-color .2s,color .2s}.metro-picker-close-btn:hover{background:#e4e4e4;color:#000}.metro-picker-search-wrapper{margin:0 24px 16px;position:relative;display:flex;align-items:center}.metro-picker-search-wrapper .search-icon{position:absolute;left:14px;color:#888;pointer-events:none}.metro-picker-search-input{width:100%;height:48px;border:1.5px solid #e0e0e0;border-radius:14px;padding:0 40px 0 42px;font-size:15px;color:#222;background:#f9f9f9;transition:all .25s ease}.metro-picker-search-input:focus{outline:none;border-color:#ffd000;background:#fff;box-shadow:0 0 0 3px #ffd00026}.metro-picker-search-clear{position:absolute;right:12px;background:#e0e0e0;border:none;border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center;color:#555;cursor:pointer}.metro-picker-search-clear:hover{background:#d0d0d0;color:#111}.metro-picker-body{flex:1;display:flex;overflow:hidden;border-top:1px solid #eee}.metro-picker-sidebar{width:150px;background:#f7f7f7;overflow-y:auto;border-right:1px solid #eee;padding:12px 6px;display:flex;flex-direction:column;gap:6px;scrollbar-width:none}.metro-picker-sidebar::-webkit-scrollbar{display:none}.metro-picker-line-tab{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid transparent;border-radius:12px;background:transparent;text-align:left;cursor:pointer;transition:all .2s ease;font-weight:700;color:#444}.metro-picker-line-tab:hover{background:#efefef}.metro-picker-line-tab.active{background:#fff;color:#000;border-color:#ddd;box-shadow:0 4px 10px #0000000d}.metro-picker-line-tab .line-badge{font-size:10px;font-weight:900;min-width:24px;height:18px;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;padding:0 4px}.metro-picker-line-tab .line-name{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.metro-picker-content{flex:1;overflow-y:auto;padding:16px 20px}.metro-picker-content.full-width{width:100%}.metro-picker-station-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px}.metro-picker-station-btn{background:#fff;border:1px solid #e2e4e0;border-radius:14px;padding:10px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1);min-height:72px;text-align:center}.metro-picker-station-btn:hover:not(:disabled){border-color:#ffd000;background-color:#fffdf5;transform:translateY(-2px);box-shadow:0 6px 12px #ffd0001f}.metro-picker-station-btn.selected{background:#ffd000;border-color:#ffd000;color:#191815;font-weight:800}.metro-picker-station-btn.disabled{opacity:.35;background:#f5f5f5;border-color:#e8e8e8;cursor:not-allowed}.metro-picker-station-btn .station-name{font-size:14px;font-weight:750;color:inherit;word-break:break-all;line-height:1.25}.metro-picker-station-btn .station-badges{display:flex;flex-wrap:wrap;gap:3px;justify-content:center}.metro-picker-station-btn .station-code-badge{font-size:9px;font-weight:900;color:#fff;padding:1px 4px;border-radius:4px;min-width:22px;text-align:center;line-height:1.1}.metro-picker-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 0;color:#999;gap:12px}.metro-picker-empty-state p{margin:0;font-size:14px}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:580px){.metro-picker-overlay{padding:0;align-items:flex-end}.metro-picker-card{height:85vh;max-height:85vh;border-radius:24px 24px 0 0;border-bottom:none;animation:slideUpMobile .35s cubic-bezier(.16,1,.3,1)}.metro-picker-sidebar{width:95px;padding:10px 4px}.metro-picker-line-tab{padding:8px 6px;flex-direction:column;align-items:center;gap:4px;text-align:center}.metro-picker-line-tab .line-name{font-size:11px}.metro-picker-station-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px}.metro-picker-station-btn{min-height:64px;padding:8px 4px}.metro-picker-station-btn .station-name{font-size:13px}}@keyframes slideUpMobile{0%{transform:translateY(100%)}to{transform:translateY(0)}}.number-checker{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:14px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow)}.invoice-periods{display:flex;gap:8px;overflow-x:auto;margin:-5px 0 12px;scrollbar-width:none}.invoice-periods button{min-height:38px;border:1px solid var(--line);border-radius:20px;color:var(--ink);background:#fff;padding:0 14px;font-size:13px;font-weight:800;white-space:nowrap;cursor:pointer}.invoice-periods button.active{color:#fff;border-color:var(--red);background:var(--red)}.number-checker label{grid-column:1 / -1;color:var(--muted);font-size:12px;font-weight:850}.number-checker input{min-width:0;height:54px;border:1px solid var(--line);border-radius:12px;padding:0 13px;font-size:25px;letter-spacing:.18em;font-weight:900}.check-message{margin-top:12px;align-items:flex-start;color:var(--blue)}.check-message.is-match{color:var(--green);border-color:#b9ddc6;background:#f5fcf8}.check-message span{color:var(--ink)}.check-message span:not(strong){font-size:13px}.winning-numbers{margin-top:18px;padding:15px;border:1px solid var(--line);border-radius:18px;background:#fff}.winning-numbers .section-heading-row{margin-bottom:5px}.winning-numbers .section-heading-row a{display:inline-flex;align-items:center;gap:3px;color:var(--blue);font-size:13px;font-weight:800;text-decoration:none}.winning-numbers>div:not(.section-heading-row){display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line)}.winning-numbers>div span{color:var(--muted)}.winning-numbers>div strong{letter-spacing:.08em}.winning-numbers .first-prize-row{align-items:flex-start;gap:16px}.winning-numbers .first-prize-row strong{max-width:70%;line-height:1.7;text-align:right;overflow-wrap:anywhere}.claim-period{margin:12px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.lottery-list{display:grid;gap:11px}.lottery-list article{padding:14px;border:1px solid var(--line);border-radius:16px;background:#fff}.lottery-title{display:flex;justify-content:space-between;margin-bottom:12px}.lottery-title strong{font-size:19px}.lottery-title span{color:var(--muted);font-size:13px}.balls{display:flex;flex-wrap:nowrap;gap:6px}.balls i{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:#fff;background:linear-gradient(#eb5962,#b6101b);font-size:18px;font-style:normal;font-weight:900;line-height:1}.balls i.special{color:#191815;background:linear-gradient(#ffd96f,#d59805)}.external-button{min-height:50px;margin-top:14px;border:1px solid var(--line);border-radius:13px;color:var(--blue);background:#fff;display:flex;align-items:center;justify-content:center;gap:7px;text-decoration:none;font-weight:850}.bike-summary{margin-bottom:13px;color:var(--green)}.bike-summary span{color:var(--ink)}.bike-mode-switch{margin-bottom:13px}.bike-mode-switch button{display:inline-flex;align-items:center;justify-content:center;gap:7px}.bike-locate-card{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:12px;padding:16px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow)}.bike-locate-card>span:nth-child(2){min-width:0;display:grid;gap:5px}.bike-locate-card strong{font-size:17px}.bike-locate-card small{color:var(--muted);font-size:12px;line-height:1.5}.bike-locate-icon{width:48px;height:48px;border-radius:50%;color:var(--green);background:#edf8f2;display:grid;place-items:center}.bike-locate-card .primary-button{grid-column:1 / -1}.bike-region-panel{padding:14px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow)}.bike-region-panel .section-heading-row{margin-bottom:12px}.bike-region-panel .section-heading-row h2{font-size:20px}.bike-region-panel .section-heading-row small{color:var(--muted);font-size:11px}.bike-region-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.bike-region-grid button{min-width:0;min-height:58px;border:1px solid var(--line);border-radius:13px;color:var(--ink);background:#fffdf9;display:grid;grid-template-columns:32px minmax(0,1fr) 18px;align-items:center;gap:7px;padding:8px 10px;text-align:left;cursor:pointer}.bike-region-grid button svg:first-child{color:var(--gold)}.bike-region-grid button strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bike-region-grid button.active{color:var(--red);border-color:#c91d2873;background:#fff7f5}.bike-region-grid button:disabled{opacity:.6;cursor:wait}.youbike-screen .bike-summary{margin-top:15px}.station-list a{width:100%;min-height:78px;border:0;border-bottom:1px solid var(--line);color:var(--ink);background:transparent;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:11px 13px;text-align:left;text-decoration:none}.station-list a:last-child{border-bottom:0}.station-list a>span:first-child{min-width:0;display:grid;gap:4px}.station-list a>span:first-child strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.station-list a.is-paused{opacity:.58}.station-list small{color:var(--muted)}.bike-count{display:grid;grid-template-columns:auto auto;gap:1px 4px;color:var(--muted);font-size:10px}.bike-count b,.bike-count em{font-size:19px;font-style:normal;color:var(--green)}.bike-count em{color:var(--blue)}.parking-list,.traffic-list{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--surface);box-shadow:var(--shadow)}.parking-list article{min-height:78px;display:grid;grid-template-columns:58px minmax(0,1fr) 34px;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line)}.parking-list article:last-child,.traffic-list article:last-child{border-bottom:0}.parking-list article>span:nth-child(2){min-width:0;display:grid;gap:4px}.parking-list article>span:nth-child(2) strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.parking-list article>span:nth-child(2) small{color:var(--muted);font-size:11px;line-height:1.4}.parking-list article>a{width:34px;height:34px;border-radius:50%;color:#fff;background:var(--green);display:grid;place-items:center}.parking-count{width:56px;min-height:52px;border:1px solid #8bc6a6;border-radius:13px;color:var(--green);background:#f4fbf7;display:grid;place-items:center;align-content:center}.parking-count strong{font-size:21px;line-height:1}.parking-count small{margin-top:3px;font-size:10px;font-weight:800}.parking-count.is-full{color:var(--red);border-color:#e5a9ad;background:#fff5f5}.traffic-screen{--traffic-green: #176f5e;--traffic-green-soft: #edf7f3;--traffic-line: #dce5e1;padding-top:20px}.traffic-hero{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:start;gap:11px;padding:0 2px 19px}.traffic-hero-icon{width:42px;height:42px;display:grid;place-items:center;color:var(--traffic-green)}.traffic-hero h2{margin:5px 0 0;color:#17332c;font-size:clamp(20px,5.1vw,22px);line-height:1.35;letter-spacing:-.45px;white-space:nowrap}.commute-alert-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:start;gap:11px;margin:0 0 16px;padding:14px;border:1px solid #d8e4df;border-radius:18px;background:linear-gradient(135deg,#fffefb,#f2f8f5);box-shadow:0 7px 18px #176f5e14}.commute-alert-card.is-active{border-color:#9dceba;background:linear-gradient(135deg,#f1fbf5,#fffdf8)}.commute-alert-card-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;color:var(--traffic-green);background:#e4f4ed}.commute-alert-card-copy{min-width:0;display:grid;gap:4px}.commute-alert-card-status{width:fit-content;padding:3px 8px;border-radius:999px;color:#176f5e;background:#dff2ea;font-size:10px;font-weight:900}.commute-alert-card-copy h3{margin:1px 0 2px;color:#17332c;font-size:16px}.commute-alert-card-copy p{min-width:0;display:flex;align-items:flex-start;gap:5px;margin:0;color:#5e6763;font-size:11px;line-height:1.5}.commute-alert-card-copy p svg{flex:0 0 auto;margin-top:1px;color:var(--traffic-green)}.commute-alert-card-copy p span{min-width:0;display:grid}.commute-alert-card-copy p strong{color:#223a34;font-size:12px}.commute-alert-card-copy small{color:#8a5a08;font-size:10px;line-height:1.45}.commute-alert-inline-error{color:var(--red)!important}.commute-alert-card-actions{display:grid;justify-items:stretch;gap:5px}.commute-alert-card-actions button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:0 10px;border:1px solid #b7d7cb;border-radius:10px;color:var(--traffic-green);background:#fff;font-size:11px;font-weight:900;cursor:pointer;white-space:nowrap}.commute-alert-card-actions .primary-button{color:#fff;border-color:var(--traffic-green);background:var(--traffic-green)}.commute-alert-card-actions button:disabled{opacity:.55;cursor:wait}.overlay.commute-alert-overlay{position:fixed;inset:50% auto auto 50%;width:min(100vw,960px);height:min(100dvh,844px);z-index:90;transform:translate(-50%,-50%)}.commute-alert-sheet{max-height:92%;overflow-y:auto;padding:16px 15px calc(20px + env(safe-area-inset-bottom,0px))}.commute-alert-intro{margin:12px 0 0;color:var(--muted);font-size:12px;line-height:1.55}.commute-alert-slot-list{display:grid;gap:11px;margin-top:13px}.commute-alert-slot{display:grid;gap:11px;padding:13px;border:1px solid var(--line);border-radius:16px;background:#fffdf9}.commute-alert-slot-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.commute-alert-slot-heading>strong{min-width:62px;min-height:30px;display:inline-flex;align-items:center;justify-content:center;padding:0 11px;border-radius:999px;color:#fff;background:var(--red);font-size:13px}.commute-alert-switch{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:11px;font-weight:850;cursor:pointer}.commute-alert-switch input{width:19px;height:19px;accent-color:var(--green)}.commute-alert-time-row,.commute-alert-route-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px}.commute-alert-time-row label,.commute-alert-route-fields label{min-width:0;display:grid;gap:5px;color:var(--muted);font-size:11px;font-weight:850}.commute-alert-time-row input,.commute-alert-time-row select,.commute-alert-route-fields select{width:100%;height:43px;min-width:0;padding:0 9px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:#fff;font-weight:850}.commute-alert-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.commute-alert-days button{min-width:0;height:34px;padding:0;border:1px solid var(--line);border-radius:10px;color:var(--muted);background:#fff;font-size:12px;font-weight:900;cursor:pointer}.commute-alert-days button.active{color:#fff;border-color:var(--green);background:var(--green)}.commute-alert-policy{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px;margin-top:13px;padding:11px;border-radius:13px;color:#176f5e;background:#edf8f2}.commute-alert-policy p{display:grid;gap:2px;margin:0}.commute-alert-policy strong{font-size:12px}.commute-alert-policy span{color:#52645e;font-size:10px;line-height:1.5}.commute-alert-error{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:7px;margin-top:11px;padding:10px;border-radius:11px;color:#a9131c;background:#fff0ef;font-size:12px;line-height:1.45}.commute-alert-actions{display:grid;grid-template-columns:.8fr 1.2fr;gap:9px;margin-top:14px}.commute-alert-actions>button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);border-radius:12px;background:#fff;font-weight:900;cursor:pointer}.commute-alert-actions>.primary-button{color:#fff;border-color:var(--red);background:var(--red)}.commute-alert-actions>button:disabled{opacity:.55;cursor:not-allowed}@media(max-width:560px){.commute-alert-card{grid-template-columns:40px minmax(0,1fr)}.commute-alert-card-icon{width:40px;height:40px}.commute-alert-card-actions{grid-column:1 / -1;grid-template-columns:1fr auto}.commute-alert-card-actions button{min-height:42px}}.traffic-filters{display:grid;gap:18px;padding:1px 2px 17px;border-bottom:1px solid var(--traffic-line)}.traffic-filter-group{display:grid;gap:9px;min-width:0}.traffic-filter-group h3{margin:0;color:#63736e;font-size:15px}.traffic-chip-row{display:flex;gap:8px;overflow-x:auto;padding:1px 0 5px;scrollbar-width:thin;scrollbar-color:#b7bcb9 transparent}.traffic-chip-row button{min-width:66px;min-height:44px;flex:0 0 auto;border:1px solid var(--traffic-line);border-radius:24px;background:#fff;color:#52635e;padding:0 17px;font-size:15px;font-weight:850;cursor:pointer}.traffic-chip-row button.active{color:#fff;border-color:var(--traffic-green);background:var(--traffic-green);box-shadow:0 4px 12px #176f5e26}.traffic-chip-row button:active{transform:scale(.97)}.traffic-chip-row.direction-row button{min-width:66px}.traffic-loading{min-height:88px;color:var(--traffic-green);font-weight:800}.traffic-road-list{display:grid;gap:10px;padding-top:17px}.traffic-road-card{overflow:hidden;border:1px solid var(--traffic-line);border-radius:16px;background:#fff;box-shadow:0 3px 12px #263f3709}.traffic-road-card.is-open{background:#fbfdfc}.traffic-road-toggle{width:100%;min-height:67px;display:grid;grid-template-columns:44px minmax(0,1fr) auto 18px;align-items:center;gap:9px;border:0;background:transparent;padding:10px 13px;text-align:left;cursor:pointer}.traffic-road-toggle:hover{background:#f7faf8}.traffic-road-toggle>strong{min-width:0;color:#17332c;font-size:17px;line-height:1.3}.traffic-road-icon{width:39px;height:39px;display:grid;place-items:center;border-radius:11px;color:var(--traffic-green);background:var(--traffic-green-soft)}.traffic-road-icon.other-freeway{color:var(--red);background:#fff1f1}.traffic-road-icon.highway{color:#bd7900;background:#fff7dd}.traffic-road-status{min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:4px;border-radius:18px;padding:0 10px;font-size:12px;font-weight:900;white-space:nowrap}.traffic-road-status.is-normal{color:var(--traffic-green);border:1px solid #c8ded7;background:var(--traffic-green-soft)}.traffic-road-status.has-events{color:#a63b36;border:1px solid #f0c7c3;background:#fff0ee}.traffic-road-caret{color:#869b94;transition:transform .18s ease}.traffic-road-card.is-open .traffic-road-caret{transform:rotate(180deg)}.traffic-event-list{display:grid;gap:10px;padding:12px;border-top:1px solid var(--traffic-line);background:#f8fbf9}.traffic-event-card{padding:14px;border:1px solid var(--traffic-line);border-radius:14px;background:#fff;box-shadow:0 4px 13px #233b330a}.traffic-event-card header{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:8px;color:#7a8883;font-size:11px}.traffic-event-card header>span:last-child{overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.traffic-event-badge{min-height:28px;display:inline-flex;align-items:center;gap:4px;border-radius:7px;padding:0 8px;color:#1769aa;background:#e8f4ff;font-size:12px;font-weight:900}.traffic-event-badge.type-1{color:#a72f32;background:#fff0ef}.traffic-event-badge.type-2{color:#8b5b00;background:#fff5d8}.traffic-event-badge.type-3{color:#9b4d00;background:#fff0d9}.traffic-event-badge.type-4{color:#1769aa;background:#e8f4ff}.traffic-event-badge.type-5,.traffic-event-badge.type-6{color:#6a499a;background:#f4edff}.traffic-event-card h3{margin:15px 0 7px;color:#17332c;font-size:20px}.traffic-event-card p{margin:0;color:#62706c;font-size:14px;line-height:1.65;overflow-wrap:anywhere}.traffic-event-card .traffic-event-location{margin-bottom:5px;color:#284a42;font-weight:850}.traffic-event-card small{display:block;margin-top:10px;color:#6e7f79;font-size:11px;line-height:1.45}.traffic-source{margin-top:14px}.traffic-external{color:var(--traffic-green);border-color:#cadcd6;background:#f8fcfa}@media(max-width:380px){.traffic-hero h2{font-size:19px;white-space:normal}.traffic-road-toggle{grid-template-columns:40px minmax(0,1fr) auto 16px;gap:7px;padding-inline:10px}.traffic-road-toggle>strong{font-size:15px}.traffic-road-status{padding-inline:8px;font-size:11px}.traffic-event-card header{grid-template-columns:auto auto}.traffic-event-card header>span:last-child{grid-column:1 / -1;text-align:left}}.events-screen{display:grid;align-content:start;gap:13px;background:#fbfaf7}.events-hero{min-height:122px;display:grid;grid-template-columns:minmax(0,1fr) 58px;align-items:center;gap:14px;padding:17px 18px;border:1px solid #edd6b9;border-radius:20px;color:#4f2c19;background:radial-gradient(circle at 88% 18%,rgba(227,154,0,.19),transparent 34%),linear-gradient(145deg,#fff9ec,#fff4e6);box-shadow:0 8px 20px #653f1812}.events-hero .eyebrow{color:#ad501c}.events-hero h2{margin:4px 0 5px;font-size:25px;letter-spacing:-.04em}.events-hero p{max-width:650px;margin:0;color:#775e4c;font-size:13px;line-height:1.55}.events-hero>svg{justify-self:end;color:#bf5b22}.events-filter-panel{display:grid;gap:12px;padding:14px;border:1px solid var(--line);border-radius:19px;background:var(--surface);box-shadow:0 6px 18px #362b1e0f}.events-search{min-height:50px;display:grid;grid-template-columns:auto minmax(0,1fr) 30px;align-items:center;gap:8px;padding:0 12px;border:1px solid #dfd3c3;border-radius:13px;background:#fff}.events-search>svg{color:var(--red)}.events-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;font-size:16px}.events-search button{width:30px;height:30px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;color:var(--muted);background:transparent;cursor:pointer}.events-select-row{display:grid;grid-template-columns:1fr 1fr;gap:9px}.events-select-row label{min-width:0;display:grid;gap:5px;color:var(--muted);font-size:12px;font-weight:900}.events-select-row select{width:100%;min-height:47px;padding:0 37px 0 12px;border:1px solid #dfd3c3;border-radius:12px;color:var(--ink);background:#fff;font-size:15px;font-weight:800}.events-topic-filter{display:grid;gap:8px}.events-topic-filter h3{margin:0;color:#4f4a44;font-size:13px}.events-topic-chips{display:flex;flex-wrap:wrap;gap:7px}.events-topic-chips button{min-height:38px;padding:0 13px;border:1px solid var(--line);border-radius:20px;color:#5e5952;background:#faf7f1;font-size:13px;font-weight:850;white-space:nowrap;cursor:pointer}.events-topic-chips button.active{color:#fff;border-color:var(--red);background:var(--red)}.events-topic-chips button.is-free{color:#116c42;border-color:#b7d9c7;background:#f1faf5}.events-topic-chips button.is-free.active{color:#fff;border-color:var(--green);background:var(--green)}.events-filter-summary{min-height:25px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px;font-weight:800}.events-filter-summary button{min-height:32px;padding:0 7px;border:0;color:var(--red);background:transparent;font-size:12px;font-weight:900;cursor:pointer}.live-event-list{overflow:hidden;border:1px solid var(--line);border-radius:19px;background:var(--surface);box-shadow:var(--shadow)}.live-event-card{width:100%;min-height:108px;display:grid;grid-template-columns:58px minmax(0,1fr) 20px;align-items:center;gap:11px;padding:13px 12px;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;cursor:pointer}.live-event-card:last-child{border-bottom:0}.live-event-card:hover{background:#fffaf2}.live-event-card>time{width:56px;min-height:57px;display:grid;align-content:center;justify-items:center;gap:2px;padding:5px 2px;border-radius:13px;color:#a72730;background:#fff1ef}.live-event-card>time strong{font-size:15px;line-height:1.15;text-align:center}.live-event-card>time small{color:inherit;font-size:10px;font-weight:850;text-align:center}.live-event-card>time.is-ongoing{color:#116c42;background:#eaf8f0}.live-event-copy{min-width:0;display:grid;gap:5px}.live-event-copy>strong{font-size:16px;line-height:1.38;overflow-wrap:anywhere}.live-event-copy>small{min-width:0;display:flex;align-items:center;gap:4px;overflow:hidden;color:var(--muted);font-size:11px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.live-event-copy>small svg{flex:0 0 auto;color:#b9602d}.live-event-badges{display:flex;flex-wrap:wrap;align-items:center;gap:5px}.live-event-badges em,.event-topic-badge,.event-free-badge{min-height:22px;display:inline-flex;align-items:center;padding:0 8px;border-radius:11px;color:#70551a;background:#fff3cf;font-size:10px;font-style:normal;font-weight:900}.live-event-badges .topic-family,.event-topic-badge.topic-family{color:#9b3c69;background:#fff0f7}.live-event-badges .topic-arts,.event-topic-badge.topic-arts{color:#6b4b9b;background:#f3edff}.live-event-badges .topic-food,.event-topic-badge.topic-food{color:#9b4d00;background:#fff0d9}.live-event-badges .topic-festival,.event-topic-badge.topic-festival{color:#a72f32;background:#fff0ef}.live-event-badges .topic-outdoor,.event-topic-badge.topic-outdoor{color:#176b45;background:#eaf8f0}.live-event-badges .topic-sports,.event-topic-badge.topic-sports{color:#1769aa;background:#e8f4ff}.live-event-badges .topic-other,.event-topic-badge.topic-other{color:#655e56;background:#f1ede7}.live-event-badges em.is-free,.event-free-badge{color:#116c42;background:#eaf8f0}.live-event-badges em.is-city{color:#70551a;background:#fff7dd}.live-event-card>svg{color:#a89e92}.events-loading,.events-empty,.events-error{border:1px solid var(--line);border-radius:16px;background:#fff}.events-error{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;margin-top:0!important;text-align:left}.events-error button,.events-empty button{min-height:36px;padding:0 11px;border:1px solid currentColor;border-radius:10px;color:inherit;background:transparent;font-size:12px;font-weight:900;cursor:pointer}.events-empty{display:grid;grid-template-columns:auto minmax(0,1fr) auto}.events-source{margin-top:0;padding:0 3px 12px}.events-source a{color:var(--blue);font-weight:850}.overlay.event-detail-overlay{position:fixed;inset:50% auto auto 50%;width:min(100vw,960px);height:min(100dvh,844px);z-index:70;transform:translate(-50%,-50%)}.event-detail-sheet{max-height:min(88%,740px);overflow-y:auto;padding:16px 16px 23px}.event-detail-header{align-items:flex-start!important;gap:12px}.event-detail-header>div{min-width:0}.event-detail-header h2{margin-top:4px;font-size:22px;line-height:1.4;overflow-wrap:anywhere}.event-detail-header .icon-button{flex:0 0 44px}.event-detail-badges{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.event-detail-facts{display:grid;margin:0;border:1px solid var(--line);border-radius:15px;background:#fffdf9}.event-detail-facts>div{display:grid;grid-template-columns:82px minmax(0,1fr);gap:9px;padding:11px 12px;border-bottom:1px solid var(--line)}.event-detail-facts>div:last-child{border-bottom:0}.event-detail-facts dt{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:12px;font-weight:850}.event-detail-facts dt svg{color:#b9602d}.event-detail-facts dd{margin:0;font-size:14px;font-weight:850;line-height:1.45;overflow-wrap:anywhere}.event-detail-description{max-height:180px;overflow-y:auto;margin:13px 1px 0;color:#625b53;font-size:13px;line-height:1.7}.event-detail-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}.event-detail-actions .primary-button,.event-detail-actions .external-button{min-width:0;min-height:49px;margin:0;padding:8px 10px;font-size:13px;text-decoration:none;text-align:center}.event-detail-actions .lotto168-link{grid-column:1 / -1;color:#8d3e17;border-color:#e7c9ad;background:#fff8ee}.event-detail-source{margin-top:12px}@media(min-width:720px){.events-filter-panel{grid-template-columns:minmax(0,1.35fr) minmax(300px,.8fr)}.events-search,.events-select-row{align-self:end}.events-topic-filter,.events-filter-summary{grid-column:1 / -1}.live-event-list{display:grid;grid-template-columns:1fr 1fr;gap:1px;border:0;background:var(--line)}.live-event-card{min-height:118px;border:0;background:var(--surface)}.live-event-card:nth-child(odd):last-child{grid-column:1 / -1}}@media(max-width:380px){.events-hero{grid-template-columns:minmax(0,1fr) 42px;padding:15px}.events-hero h2{font-size:22px}.events-select-row{grid-template-columns:1fr}.events-topic-chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:3px;scrollbar-width:none}.live-event-card{grid-template-columns:53px minmax(0,1fr) 17px;gap:8px;padding-inline:9px}.live-event-card>time{width:51px}.event-detail-actions{grid-template-columns:1fr}.event-detail-actions .lotto168-link{grid-column:auto}}.notice-list article{display:grid;grid-template-columns:35px minmax(0,1fr);gap:10px;padding:14px;border-bottom:1px solid var(--line)}.notice-list article:last-child{border-bottom:0}.notice-list article>span{display:grid;gap:3px}.notice-list p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.notice-list small{color:var(--muted);font-size:10px}.news-title-container{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px}.news-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 7px;font-size:10px;font-weight:800;border-radius:6px;line-height:1;text-transform:uppercase;letter-spacing:.02em}.news-badge.badge-new{color:#a72f32;background:#fff0ef;border:1px solid rgba(167,47,50,.2)}.news-badge.badge-upgrade{color:#1769aa;background:#e8f4ff;border:1px solid rgba(23,105,170,.2)}.generic-service{text-align:center;display:flex;flex-direction:column;align-items:center;padding-top:38px}.generic-service h2{margin:20px 0 7px;font-size:26px}.generic-service p{max-width:310px;margin:0 0 17px;color:var(--muted);line-height:1.6}.generic-service .service-image{width:112px;height:102px}.lightshow-screen{display:grid;align-content:start;gap:18px}.lightshow-hero{padding:20px;overflow:hidden;border:1px solid #eadcc9;border-radius:22px;background:radial-gradient(circle at 92% 5%,rgba(255,199,76,.35),transparent 34%),linear-gradient(145deg,#fffdf8,#fff3df);box-shadow:var(--shadow)}.lightshow-hero h2{margin:5px 0 6px;font-size:28px;letter-spacing:-.04em}.lightshow-hero p{max-width:560px;margin:0;color:var(--muted);line-height:1.6}.lightshow-tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.lightshow-tool-card{min-width:0;min-height:278px;display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px 14px 15px;border:1px solid var(--line);border-radius:22px;color:var(--ink);background:var(--surface);box-shadow:var(--shadow);text-align:center;text-decoration:none;transition:transform .16s ease,box-shadow .16s ease}.lightshow-tool-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px #362b1e24}.lightshow-tool-card.scene-light{background:linear-gradient(160deg,#fff8dc,#fffefb 58%)}.lightshow-tool-card.marquee{background:linear-gradient(160deg,#eef7ff,#fffefb 58%)}.lightshow-tool-card .service-image{width:112px;height:98px}.lightshow-tool-card>span{display:grid;gap:5px}.lightshow-tool-card strong{font-size:21px}.lightshow-tool-card small{color:var(--muted);font-size:13px;line-height:1.45}.lightshow-tool-card .lightshow-open{display:inline-flex;grid-auto-flow:column;align-items:center;justify-content:center;gap:5px;min-height:42px;width:100%;margin-top:auto;border-radius:12px;color:#fff;background:var(--red);font-size:14px;font-weight:900}.lightshow-note{display:flex;align-items:flex-start;gap:6px;margin:0 3px;color:var(--muted);font-size:12px;line-height:1.55}.lightshow-note svg{flex:0 0 auto;margin-top:1px;color:var(--blue)}.install-screen{display:grid;align-content:start;gap:16px}.install-card{display:flex;flex-direction:column;align-items:center;padding:24px 20px 22px;border:1px solid #cde3d7;border-radius:24px;background:radial-gradient(circle at 50% 0,#e3f7eb,transparent 48%),var(--surface);box-shadow:var(--shadow);text-align:center}.install-app-icon{width:96px;height:96px;margin-bottom:13px;overflow:hidden;border-radius:24px;box-shadow:0 10px 24px #0d693d2e}.install-app-icon img{width:100%;height:100%;display:block;object-fit:cover}.install-card h2{margin:5px 0 7px;font-size:27px}.install-card p{max-width:420px;margin:0;color:var(--muted);line-height:1.6}.install-now-button{width:min(100%,320px);margin-top:18px;background:var(--green)}.install-now-button:hover{background:#106e40}.install-steps{padding:18px;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:var(--shadow)}.install-steps h3{display:flex;align-items:center;gap:8px;margin:0 0 13px;font-size:17px}.install-steps h3 svg{color:var(--green)}.install-steps ol{display:grid;gap:12px;margin:0;padding:0;list-style:none;counter-reset:install-step}.install-steps li{counter-increment:install-step;display:grid;grid-template-columns:34px minmax(0,1fr);column-gap:10px}.install-steps li:before{content:counter(install-step);grid-row:1 / 3;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--green);font-weight:900}.install-steps li strong,.install-steps li span{grid-column:2}.install-steps li span{color:var(--muted);font-size:13px;line-height:1.45}.install-faq-link{width:100%;min-height:70px;display:grid;grid-template-columns:30px minmax(0,1fr) 20px;align-items:center;gap:9px;padding:10px 14px;border:1px solid #c9dbea;border-radius:17px;color:var(--blue);background:#f4f9fd;text-align:left;cursor:pointer}.install-faq-link>span{min-width:0;display:grid;gap:3px;color:var(--ink)}.install-faq-link strong{font-size:16px}.install-faq-link small{color:var(--muted);font-size:12px;line-height:1.4}.faq-screen{display:grid;align-content:start;gap:16px}.faq-hero{display:grid;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:13px;padding:20px 18px;border:1px solid #c9dbea;border-radius:22px;background:radial-gradient(circle at 100% 0,rgba(74,157,210,.18),transparent 42%),linear-gradient(145deg,#f8fcff,#eef7fc);box-shadow:var(--shadow)}.faq-hero-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;color:#fff;background:var(--blue);box-shadow:0 8px 18px #1d70a838}.faq-hero>span:last-child{min-width:0}.faq-hero h2{margin:4px 0 5px;font-size:25px;line-height:1.25;letter-spacing:-.04em}.faq-hero p{margin:0;color:var(--muted);font-size:14px;line-height:1.55}.faq-critical{display:grid;grid-template-columns:38px minmax(0,1fr);gap:11px;padding:17px 16px;border:2px solid #d33a40;border-radius:19px;color:#8e1119;background:#fff1f1;box-shadow:0 8px 22px #a4141e1a}.faq-critical>svg{margin-top:1px}.faq-critical>span{min-width:0;display:grid;gap:7px}.faq-critical strong{font-size:18px;line-height:1.4}.faq-critical p{margin:0;color:#5f2528;font-size:14px;font-weight:700;line-height:1.65}.faq-critical b{padding:8px 10px;border-radius:10px;color:#fff;background:#b51e28;font-size:13px;line-height:1.5}.faq-section{padding:17px 15px;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:var(--shadow)}.faq-section>h3{display:flex;align-items:center;gap:8px;margin:0 0 13px;font-size:19px}.faq-section>h3 svg{flex:0 0 auto;color:var(--blue)}.pwa-comparison-wrap{overflow:hidden;border:1px solid var(--line);border-radius:14px}.pwa-comparison{width:100%;border-collapse:collapse;table-layout:fixed;font-size:13px;line-height:1.45}.pwa-comparison th,.pwa-comparison td{padding:10px 8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left;vertical-align:top;overflow-wrap:anywhere}.pwa-comparison tr>:last-child{border-right:0}.pwa-comparison tbody tr:last-child>*{border-bottom:0}.pwa-comparison thead th{color:#fff;background:#2e4655;font-size:13px}.pwa-comparison thead th:first-child,.pwa-comparison tbody th{width:20%}.pwa-comparison tbody th{color:#3f3b36;background:#f6f1e8}.pwa-comparison tbody td:nth-child(2){background:#f4fbf7}.pwa-comparison td strong{color:var(--red)}.faq-install-guide ol{display:grid;gap:12px;margin:0;padding:0;list-style:none;counter-reset:faq-install-step}.faq-install-guide li{counter-increment:faq-install-step;display:grid;grid-template-columns:35px minmax(0,1fr);column-gap:10px}.faq-install-guide li:before{content:counter(faq-install-step);grid-row:1 / 3;width:31px;height:31px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--green);font-weight:900}.faq-install-guide li strong,.faq-install-guide li span{grid-column:2}.faq-install-guide li strong{font-size:15px;line-height:1.45}.faq-install-guide li span{color:var(--muted);font-size:13px;line-height:1.5}.faq-install-button{width:100%;min-height:48px;display:flex;align-items:center;justify-content:center;gap:6px;margin-top:16px;border:0;border-radius:13px;color:#fff;background:var(--green);font-weight:900;cursor:pointer}.faq-install-button:hover{background:#106e40}.faq-list{display:grid;gap:9px}.faq-list details{overflow:hidden;border:1px solid var(--line);border-radius:13px;background:#fffdf9}.faq-list summary{min-height:52px;display:grid;grid-template-columns:minmax(0,1fr) 24px;align-items:center;gap:8px;padding:10px 12px;font-size:15px;font-weight:900;line-height:1.45;list-style:none;cursor:pointer}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";width:24px;height:24px;display:grid;place-items:center;border-radius:50%;color:var(--blue);background:#eaf4fa;font-size:18px}.faq-list details[open] summary:after{content:"−"}.faq-list details[open] summary{color:var(--blue);background:#f4f9fc}.faq-list details p{margin:0;padding:0 12px 13px;color:var(--muted);font-size:13px;line-height:1.65}.assistant-message{display:flex;align-items:flex-start;gap:10px;padding:14px;border-radius:16px 16px 16px 4px;background:#f1f8fb;color:var(--blue)}.assistant-message p{margin:0;color:var(--ink);line-height:1.55}.quick-questions{display:grid;gap:9px;margin-top:17px}.quick-questions button{min-height:50px;border:1px solid var(--line);border-radius:13px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 14px;font-weight:750;text-align:left}.more-list button{grid-template-columns:58px minmax(0,1fr) auto}.more-list .service-image,.more-list .service-icon-graphic{width:50px;height:47px}.about-panel{margin-top:15px;align-items:flex-start;color:var(--red)}.about-panel span{color:var(--ink)}.about-panel p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.feedback-screen{padding-bottom:34px}.feedback-screen>.feedback-intro,.feedback-screen>.feedback-form,.feedback-screen>.feedback-success{width:min(100%,680px);margin-right:auto;margin-left:auto}.feedback-intro{padding:4px 3px 15px}.feedback-intro h2{margin-top:4px}.feedback-form{display:grid;gap:17px;padding:16px;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:var(--shadow)}.feedback-fieldset{min-width:0;display:grid;gap:10px;margin:0;padding:0;border:0}.feedback-fieldset legend,.feedback-field>span:first-child{margin-bottom:8px;color:var(--ink);font-size:15px;font-weight:900}.feedback-fieldset legend strong,.feedback-field>span:first-child strong{color:var(--red);font-size:11px}.feedback-field>span:first-child em{color:var(--muted);font-size:11px;font-style:normal}.feedback-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.feedback-type-grid button{min-height:52px;display:flex;align-items:center;justify-content:flex-start;gap:8px;padding:0 12px;border:1px solid var(--line);border-radius:13px;color:#5d5750;background:#fff;font-weight:850;cursor:pointer}.feedback-type-grid button:hover{border-color:#d4b8a7;background:#fff9f4}.feedback-type-grid button.selected{color:var(--red);border-color:#c91d288c;background:#fff3f1;box-shadow:inset 0 0 0 1px #c91d2814}.feedback-type-grid button:last-child{grid-column:1 / -1}.feedback-field{min-width:0;display:grid}.feedback-field select,.feedback-field input,.feedback-field textarea{width:100%;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:#fff}.feedback-field select,.feedback-field input{min-height:48px;padding:0 12px}.feedback-field textarea{min-height:142px;padding:11px 12px;line-height:1.55;resize:vertical}.feedback-field textarea::placeholder,.feedback-field input::placeholder{color:#9a948c}.feedback-field select:hover,.feedback-field input:hover,.feedback-field textarea:hover{border-color:#cdbca8}.feedback-field>small{margin-top:6px;color:var(--muted);font-size:11px;line-height:1.45}.feedback-field-help{display:flex;justify-content:space-between;gap:10px;margin-top:6px;color:var(--muted);font-size:11px;line-height:1.4}.feedback-field-help small:last-child{flex:0 0 auto}.feedback-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.feedback-privacy-note{display:grid;grid-template-columns:25px minmax(0,1fr);align-items:start;gap:8px;padding:11px;border:1px solid #b9ddc8;border-radius:13px;color:var(--green);background:#f1faf5}.feedback-privacy-note p{display:grid;gap:2px;margin:0}.feedback-privacy-note strong{color:#105f39;font-size:13px}.feedback-privacy-note span{color:#526d5c;font-size:11px;line-height:1.45}.feedback-error{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:7px;margin-top:-4px;padding:10px;border-radius:11px;color:#9f1820;background:#fff0ef;font-size:13px;font-weight:750;line-height:1.45}.feedback-submit{width:100%;min-height:52px;margin-top:-2px}.feedback-response-note{margin:-9px 0 0;color:var(--muted);font-size:11px;line-height:1.45;text-align:center}.feedback-success{min-height:520px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px 19px;border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:var(--shadow);text-align:center}.feedback-success-icon{width:74px;height:74px;display:grid;place-items:center;margin-bottom:14px;border-radius:50%;color:#fff;background:var(--green);box-shadow:0 9px 22px #16844f2e}.feedback-success h2{max-width:450px;margin:5px 0 8px;font-size:25px;line-height:1.3}.feedback-success>p{max-width:440px;margin:0;color:var(--muted);font-size:13px;line-height:1.6}.feedback-ticket{min-width:min(100%,310px);display:grid;gap:4px;margin:21px 0;padding:13px 16px;border:1px dashed #d3b993;border-radius:13px;background:#fff9ef}.feedback-ticket small{color:var(--muted);font-size:11px;font-weight:800}.feedback-ticket strong{color:var(--red);font-size:18px;letter-spacing:.03em}.feedback-success-actions{width:min(100%,390px);display:grid;grid-template-columns:1fr 1.15fr;gap:9px}.feedback-success-actions>button{min-height:48px;border-radius:12px;font-weight:900;cursor:pointer}.feedback-success-actions>button:first-child{border:1px solid var(--line);background:#fff}.feedback-entry-card{width:100%;min-height:82px;display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:11px;margin-top:16px;padding:11px 13px;border:1px solid #bcdcc9;border-radius:17px;color:var(--green);background:#f2faf5;text-align:left;cursor:pointer}.feedback-entry-card:hover{border-color:#8cc5a3;background:#e7f6ed}.feedback-entry-card>span:first-child{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;color:#fff;background:var(--green)}.feedback-entry-card>span:nth-child(2){min-width:0;display:grid;gap:3px}.feedback-entry-card strong{color:var(--ink);font-size:16px}.feedback-entry-card small{color:#5c7564;font-size:11px;line-height:1.4}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;align-items:flex-end;background:#241d1661;animation:fade-in .18s ease-out}.bottom-sheet{width:100%;padding:18px 16px 23px;border-radius:24px 24px 0 0;background:var(--surface);box-shadow:0 -16px 45px #251c122e;animation:slide-up .22s ease-out}.bottom-sheet header,.side-menu header{display:flex;align-items:center;justify-content:space-between}.bottom-sheet h2,.side-menu h2{margin:3px 0 0;font-size:23px}.station-picker-overlay,.booking-overlay{position:fixed;inset:50% auto auto 50%;width:min(100vw,960px);height:min(100dvh,844px);z-index:60;transform:translate(-50%,-50%)}.station-picker-sheet{max-height:min(78%,660px);display:grid;grid-template-rows:auto auto minmax(0,1fr);padding:14px 14px 20px}.station-picker-header{display:grid!important;grid-template-columns:44px minmax(0,1fr) 44px;text-align:center}.station-picker-header-spacer{width:44px}.station-picker-step{color:var(--red);font-size:12px;font-weight:900;letter-spacing:.03em}.station-picker-header h2{margin-top:1px;font-size:24px}.station-picker-hint{margin:9px 4px 11px;color:var(--muted);font-size:13px;text-align:center}.station-region-grid{min-height:0;overflow-y:auto;display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:0 2px 4px}.station-region-grid button{min-width:0;min-height:58px;display:grid;grid-template-columns:25px minmax(0,1fr) 18px;align-items:center;gap:7px;padding:8px 10px;border:1px solid var(--line);border-radius:13px;background:#fff;text-align:left;cursor:pointer}.station-region-grid button.active{color:var(--red);border-color:#c91d2866;background:#fff7f5}.station-region-grid button>span{min-width:0;display:grid;gap:1px}.station-region-grid strong{overflow:hidden;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.station-region-grid small{color:var(--muted);font-size:11px;font-weight:700}.station-picker-search{min-height:48px;display:grid;grid-template-columns:auto minmax(0,1fr) 30px;align-items:center;gap:8px;margin:10px 2px;padding:0 12px;border:1px solid var(--line);border-radius:13px;background:#fff}.station-picker-search input{width:100%;border:0;outline:0;background:transparent;font-size:16px}.station-picker-search button{width:30px;height:30px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:transparent}.station-option-list{min-height:0;overflow-y:auto;border-top:1px solid var(--line)}.station-option-list>button{width:100%;min-height:62px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 11px;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;cursor:pointer}.station-option-list>button.active{color:var(--red);background:#fff7f5}.station-option-list>button>span{min-width:0;display:grid;gap:2px}.station-option-list strong{font-size:18px}.station-option-list small{overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.booking-sheet{display:grid;gap:13px;padding-top:16px}.booking-summary-card{overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#fffdf9}.booking-train-heading{min-height:48px;display:flex;align-items:center;gap:9px;padding:10px 13px 4px}.booking-route-time{display:grid;grid-template-columns:minmax(0,1fr) 82px minmax(0,1fr);align-items:end;gap:7px;padding:3px 13px 13px}.booking-route-time>span{min-width:0;display:grid;gap:2px}.booking-route-time>span:last-child{text-align:right}.booking-route-time>span small{overflow:hidden;color:var(--muted);font-size:12px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.booking-route-time>span strong{font-size:30px;letter-spacing:-.04em}.booking-route-time>span:first-child strong{color:var(--red)}.booking-route-time>div{display:grid;justify-items:center;gap:2px;color:var(--muted)}.booking-route-time>div small{font-size:10px;font-weight:800;white-space:nowrap}.booking-data-grid{display:grid;grid-template-columns:1fr 1fr;margin:0;border-top:1px solid var(--line);background:#faf6ef}.booking-data-grid>div{min-width:0;display:grid;gap:2px;padding:9px 12px;border-bottom:1px solid var(--line)}.booking-data-grid>div:nth-child(odd){border-right:1px solid var(--line)}.booking-data-grid dt{color:var(--muted);font-size:11px;font-weight:800}.booking-data-grid dd{overflow:hidden;margin:0;font-size:14px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.booking-prefill-note{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:7px;margin:0;padding:10px 11px;border-radius:12px;color:#6c5527;background:#fff8e8;font-size:12px;line-height:1.5}.booking-sheet-actions{display:grid;grid-template-columns:1fr 1.25fr;gap:9px}.booking-copy-button,.booking-official-button{min-height:49px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 11px;border-radius:13px;font-size:14px;font-weight:900;text-decoration:none;text-align:center;cursor:pointer}.booking-copy-button{border:1px solid var(--line);color:var(--ink);background:#fff}.booking-official-button{border:0;color:#fff;background:var(--green)}.booking-official-button:hover{background:#106e40}.official-train-link{display:inline-flex;align-items:center;justify-content:center;gap:5px;color:var(--blue);font-size:12px;font-weight:800;text-decoration:none}.city-grid{margin-top:15px;display:grid;grid-template-columns:1fr 1fr;gap:9px}.city-grid button{min-height:50px;border:1px solid var(--line);border-radius:13px;background:#fff;display:grid;grid-template-columns:23px minmax(0,1fr) 19px;align-items:center;gap:6px;padding:0 12px;text-align:left;font-weight:800}.city-grid button.active{color:var(--red);border-color:#c91d2873;background:#fff7f5}.menu-overlay{justify-content:flex-end;align-items:stretch}.side-menu{width:min(84%,330px);height:100%;overflow-y:auto;overscroll-behavior:contain;padding:17px 15px;background:var(--surface);box-shadow:-18px 0 45px #251c122e;animation:slide-left .22s ease-out}.side-menu header>div{display:flex;align-items:center;gap:10px}.menu-share-card{width:100%;min-height:72px;display:grid;grid-template-columns:44px minmax(0,1fr) 19px;align-items:center;gap:10px;margin-top:18px;padding:9px 11px;border:1px solid #bcdcc9;border-radius:16px;color:#105f39;background:linear-gradient(135deg,#f5fff8,#e5f5eb);text-align:left;cursor:pointer;box-shadow:0 6px 16px #16844f17}.menu-share-card:hover{border-color:#8cc5a3;background:linear-gradient(135deg,#effcf3,#d9f0e2)}.menu-share-card:active{transform:scale(.98)}.menu-share-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;color:#fff;background:var(--green)}.menu-share-card>span:nth-child(2){min-width:0;display:grid;gap:2px}.menu-share-card strong{color:var(--ink);font-size:16px;font-weight:900}.menu-share-card small{color:#557060;font-size:11px;font-weight:700;line-height:1.4}.side-menu nav{display:grid;margin-top:10px}.side-menu nav button,.side-menu nav a{min-height:56px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:8px;padding:0;text-align:left;text-decoration:none;font-weight:800;cursor:pointer}.menu-note{margin:20px 4px;color:var(--muted);font-size:12px;line-height:1.55}.toast{position:absolute;left:50%;bottom:90px;z-index:30;transform:translate(-50%);min-width:220px;min-height:45px;border-radius:23px;color:#fff;background:#26352c;box-shadow:0 9px 24px #0000002e;display:flex;align-items:center;justify-content:center;gap:8px;padding:9px 16px;font-size:13px;font-weight:800;animation:toast-in .2s ease-out}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-in{0%{opacity:0}}@keyframes slide-up{0%{transform:translateY(100%)}}@keyframes slide-left{0%{transform:translate(100%)}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}}@keyframes invoice-marquee{to{transform:translate(-50%)}}@media(min-width:640px){.mobile-prototype{grid-template-rows:82px minmax(0,1fr) calc(84px + env(safe-area-inset-bottom,0px));border-radius:22px}.app-header{padding-inline:24px}.home-screen{display:grid;grid-template-columns:minmax(330px,.9fr) minmax(420px,1.2fr);gap:22px;padding:24px}.home-marquee{grid-column:1 / -1;width:100%;margin:0}.nearby-section{margin:0;align-self:start}.services-section{padding:0}.service-button{min-height:132px}.service-image,.service-icon-graphic{width:78px;height:72px}.inner-screen{max-width:760px;margin:0 auto;padding-top:28px}.balls{gap:10px}.balls i{width:48px;height:48px;font-size:22px}}@media(max-width:420px){.mobile-prototype{width:100vw;height:min(100%,844px);box-shadow:none}.brand-name{font-size:24px}.brand-mark{width:46px;height:46px;flex-basis:46px}.city-selector{padding-inline:10px}.nearby-section{margin-inline:11px}.nearby-heading h1{font-size:22px}.service-button{min-height:126px}.service-image,.service-icon-graphic{width:78px;height:70px}.station-picker-overlay,.booking-overlay{width:100vw;height:min(100dvh,844px)}}@media(max-width:360px){.app-header{padding-inline:10px;gap:5px}.brand-name{font-size:21px}.city-selector{width:48px;padding:0;justify-content:center}.city-selector span,.city-selector .ph-caret-down{display:none}.arrival-row{grid-template-columns:31px 43px minmax(0,1fr) auto 15px;gap:5px}.arrival-stop,.service-button span{font-size:14px}.balls i{width:34px;height:34px;font-size:16px}.bike-region-grid{grid-template-columns:1fr}.station-list a{grid-template-columns:minmax(0,1fr) auto}.station-list a>svg{display:none}.rail-trip-times{grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr);padding-inline:10px}.rail-time-block strong{font-size:27px}.rail-duration-block small{font-size:10px}.rail-book-button{padding-inline:10px}.lightshow-tool-grid{gap:8px}.lightshow-tool-card{min-height:258px;padding-inline:8px}.lightshow-tool-card .service-image{width:92px;height:82px}.lightshow-tool-card strong{font-size:18px}.faq-hero{grid-template-columns:46px minmax(0,1fr);padding-inline:14px}.faq-hero-icon{width:45px;height:45px}.faq-hero h2{font-size:21px}.faq-section{padding-inline:11px}.pwa-comparison{font-size:11px}.pwa-comparison th,.pwa-comparison td{padding:8px 5px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.home-marquee-track{animation:none!important}.home-marquee-copy{display:none}}.policy-container{display:flex;flex-direction:column;gap:16px;line-height:1.7;padding-bottom:24px}.policy-hero{padding:24px 16px;border-radius:20px;background:linear-gradient(135deg,#fffdf9,#f5ecd8);border:1px solid var(--line);display:flex;flex-direction:column;gap:8px;box-shadow:var(--shadow)}.policy-hero h2{margin:0;font-size:24px;color:var(--ink);font-weight:800}.policy-hero p{margin:0;color:var(--muted);font-size:14px}.policy-section{padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow)}.policy-section h3{margin:0 0 12px;font-size:18px;color:var(--ink);font-weight:700;display:flex;align-items:center;gap:8px}.policy-section h3 svg{color:var(--red)}.policy-section p{margin:0 0 10px;color:#4a453f;font-size:14px}.policy-section p:last-child{margin-bottom:0}.policy-section ul{margin:0;padding-left:20px;color:#4a453f;font-size:14px}.policy-section li{margin-bottom:8px}.policy-section li:last-child{margin-bottom:0}.about-site-list{display:grid;gap:10px;padding:2px 0 0;list-style:none}.about-site-list li{margin:0}.about-site-list a{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:66px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#fffdf9;color:var(--ink);text-decoration:none}.about-site-list a:active{transform:translateY(1px)}.about-site-list a>span:first-child{display:grid;gap:2px}.about-site-list strong{font-size:15px}.about-site-list small{color:var(--muted);font-size:12px}.about-site-url{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;color:var(--red);font-size:12px;font-weight:700;overflow-wrap:anywhere;text-align:right}.about-site-url svg{flex:0 0 auto}@media(max-width:420px){.about-site-list a{align-items:flex-start;flex-direction:column;gap:7px}.about-site-url{justify-content:flex-start;text-align:left}}.gov-invoice-table{width:100%;border-collapse:collapse;margin-top:15px;background:var(--surface);border-radius:14px;overflow:hidden;border:1px solid var(--line);box-shadow:0 4px 12px #362b1e0a}.gov-invoice-table th,.gov-invoice-table td{padding:12px 10px;text-align:center;border-bottom:1px solid var(--line);font-size:14px}.gov-invoice-table th{background:#f7f2ea;color:var(--muted);font-weight:700;font-size:13px;border-bottom:2px solid var(--line)}.gov-invoice-table tr:last-child td{border-bottom:0}.gov-invoice-table .prize-name{font-weight:700;color:var(--ink);width:25%;background:#faf7f2}.gov-invoice-table .prize-no{font-weight:800;font-size:19px;letter-spacing:.05em;color:var(--red)}.gov-invoice-table .prize-desc{color:#595550;font-size:12px;text-align:left;padding-left:15px}.gov-invoice-table .prize-amt{width:30%;font-weight:700;color:#595550;text-align:right;padding-right:15px}.gov-invoice-table .prize-special .prize-no,.gov-invoice-table .prize-grand .prize-no{font-size:21px}.gov-invoice-table .prize-special .prize-amt,.gov-invoice-table .prize-grand .prize-amt{color:var(--red)}.first-prizes-list{display:flex;flex-direction:column;gap:6px;align-items:center}.first-prize-num{font-size:19px;font-weight:800;color:var(--ink);letter-spacing:.05em}.claim-period-box{margin-top:14px;padding:12px 14px;border-radius:12px;background:#fcfbfa;border:1px dashed var(--line);font-size:13px;color:var(--muted);display:flex;flex-direction:column;gap:4px}.claim-period-box strong{color:var(--ink);font-weight:700}.history-link{width:fit-content;min-height:40px;margin-top:13px;display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--blue);text-decoration:none;font-weight:800;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:#fdfcfa;transition:all .2s ease;white-space:nowrap}.history-link:hover,.history-link:focus-visible{background:var(--blue);color:#fff;border-color:var(--blue)}.favorite-routes-container{margin-top:14px;display:grid;gap:6px;padding:0 4px}.favorite-title{font-size:13px;font-weight:800;color:var(--muted)}.favorite-chips{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 8px;scrollbar-width:none}.favorite-chips::-webkit-scrollbar{display:none}.favorite-chip{min-height:34px;border:1px solid var(--line);border-radius:17px;background:var(--surface);padding:0 14px;font-size:13px;font-weight:750;color:var(--ink);white-space:nowrap;cursor:pointer;box-shadow:0 2px 6px #0000000a;transition:all .2s ease}.favorite-chip:hover{background:#fbf6ee;border-color:var(--red);color:var(--red);transform:translateY(-1px)}.favorite-chip:active{transform:translateY(0)}.garbage-screen{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;width:100%;min-width:0;padding-bottom:30px}.garbage-screen>*{width:100%;min-width:0}.garbage-hero{display:grid;grid-template-columns:54px minmax(0,1fr);align-items:start;gap:12px;padding:16px;border:1px solid #e2d8c8;border-radius:20px;background:radial-gradient(circle at 95% 10%,rgba(227,154,0,.16),transparent 34%),linear-gradient(145deg,#fffef9,#f8f1e5);box-shadow:var(--shadow)}.garbage-hero-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:17px;color:#785400;background:#f8c84d;box-shadow:inset 0 -7px 13px #85530021}.garbage-hero h2{margin:3px 0 4px;font-size:25px;letter-spacing:-.04em}.garbage-hero p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.garbage-city-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.garbage-city-tabs button{min-height:62px;display:grid;grid-template-columns:1fr;justify-items:center;align-items:center;gap:3px;padding:8px 4px;border:1px solid var(--line);border-radius:15px;color:var(--ink);background:var(--surface);text-align:center;cursor:pointer}.garbage-city-tabs button>span{display:grid;gap:2px;font-size:16px;font-weight:900}.garbage-city-tabs button small{color:var(--muted);font-size:10px;font-weight:700}.garbage-city-tabs button.active{color:#fff;border-color:#9f151f;background:var(--red);box-shadow:0 7px 17px #a9131c33}.garbage-city-tabs button.active small{color:#ffffffd1}.garbage-action-card{padding:12px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 5px 16px #362b1e0f}.garbage-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.garbage-search-row .search-field{min-width:0}.garbage-locate-button{min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border:0;border-radius:13px;color:#fff;background:var(--green);font-size:13px;font-weight:900;white-space:nowrap;cursor:pointer}.garbage-locate-button:disabled{opacity:.65;cursor:wait}.garbage-district-row{width:100%;min-width:0;display:flex;gap:7px;overflow-x:auto;margin:10px -2px -2px;padding:2px 2px 4px;scrollbar-width:none}.garbage-district-row::-webkit-scrollbar{display:none}.garbage-district-row button{min-height:34px;padding:0 13px;border:1px solid var(--line);border-radius:17px;color:#5e5952;background:#faf7f1;font-size:12px;font-weight:800;white-space:nowrap;cursor:pointer}.garbage-district-row button.active{color:#fff;border-color:var(--blue);background:var(--blue)}.garbage-location-error{display:flex;align-items:center;gap:6px;margin:9px 2px 0;color:#9e1d27;font-size:12px;line-height:1.4}.garbage-screen .query-state.error-state{display:grid;grid-template-columns:auto minmax(0,1fr) auto;margin:0}.garbage-screen .query-state.error-state button{min-height:35px;padding:0 10px;border:1px solid currentColor;border-radius:9px;color:inherit;background:transparent;font-size:12px;font-weight:900;cursor:pointer}.garbage-live-summary{min-height:54px;display:grid;grid-template-columns:12px minmax(0,1fr) 42px;align-items:center;gap:9px;padding:8px 9px 8px 13px;border:1px solid #bcdec9;border-radius:15px;color:#17673b;background:#f3fbf6}.garbage-live-dot{width:10px;height:10px;border-radius:50%;background:#18a55b;box-shadow:0 0 0 5px #18a55b1f;animation:garbage-pulse 1.8s ease-out infinite}.garbage-live-summary.is-schedule .garbage-live-dot{background:var(--blue);box-shadow:0 0 0 5px #1d70a81f;animation:none}.garbage-live-summary>span:nth-child(2){min-width:0;display:grid;gap:2px}.garbage-live-summary strong{font-size:14px}.garbage-live-summary small{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.garbage-live-summary button{width:42px;height:42px;display:grid;place-items:center;border:0;border-radius:12px;color:inherit;background:transparent;cursor:pointer}.garbage-live-summary button:hover{background:#17673b14}.garbage-live-summary button:disabled{opacity:.55}.garbage-map-shell{position:relative;min-height:320px;overflow:hidden;border:1px solid #d8ccb9;border-radius:20px;background:#e8ece8;box-shadow:var(--shadow)}.garbage-map{width:100%;height:320px;z-index:0}.garbage-map-loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--muted);background:#f1eee7;font-size:13px;font-weight:800}.garbage-map-legend{position:absolute;left:10px;bottom:23px;z-index:450;display:flex;gap:9px;padding:7px 9px;border:1px solid rgba(71,61,48,.15);border-radius:11px;background:#fffefbf0;box-shadow:0 3px 10px #241f191f;font-size:10px;font-weight:800}.garbage-map-legend span{display:inline-flex;align-items:center;gap:4px}.garbage-map-legend i{width:9px;height:9px;border-radius:50%}.garbage-map-legend i.live{background:var(--red)}.garbage-map-legend i.schedule{background:#1d70a8}.garbage-map-legend i.you{background:var(--blue)}.garbage-map-marker{width:38px;height:38px;display:grid;place-items:center;border:3px solid white;border-radius:50% 50% 50% 8px;background:#d59b16;box-shadow:0 4px 11px #2d23194d;transform:rotate(-45deg);font-size:19px}.garbage-map-marker.is-moving{background:var(--red)}.garbage-map-marker.is-schedule{background:#1d70a8}.garbage-map-marker b{display:block;font-weight:400;transform:rotate(45deg)}.garbage-empty{min-height:150px;display:grid;place-items:center;align-content:center;gap:7px;padding:20px;border:1px dashed #d7c8b3;border-radius:18px;color:var(--muted);background:#fcfaf6;text-align:center}.garbage-empty strong{color:var(--ink)}.garbage-empty p{max-width:410px;margin:0;font-size:12px;line-height:1.55}.garbage-results{margin-top:2px}.garbage-results .section-heading-row{margin-bottom:9px;padding-inline:2px}.garbage-results .section-heading-row h2{font-size:21px}.garbage-results .section-heading-row>span{color:var(--muted);font-size:12px;font-weight:800}.garbage-truck-list{display:grid;gap:9px}.garbage-truck-card{overflow:hidden;border:1px solid var(--line);border-radius:17px;background:var(--surface);box-shadow:0 4px 13px #362b1e0f}.garbage-truck-card.is-selected{border-color:#c91d28a6;box-shadow:0 0 0 2px #c91d281a,0 6px 16px #362b1e14}.garbage-card-main{width:100%;min-height:100px;display:grid;grid-template-columns:48px minmax(0,1fr) 18px;align-items:center;gap:10px;padding:12px;border:0;background:transparent;text-align:left;cursor:pointer}.garbage-card-main:hover{background:#fdf8f1}.garbage-truck-symbol{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:#fff4cf;font-size:27px}.garbage-truck-symbol.is-moving{background:#fff0ee}.garbage-truck-symbol.is-schedule{background:#eaf5fb}.garbage-card-copy{min-width:0;display:grid;gap:5px}.garbage-card-title{display:flex;align-items:center;gap:7px}.garbage-card-title strong{font-size:17px}.garbage-card-title em{padding:3px 7px;border-radius:10px;color:var(--blue);background:#edf7fc;font-size:10px;font-style:normal;font-weight:900}.garbage-address{overflow:hidden;color:#4e4a44;font-size:13px;font-weight:700;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.garbage-card-meta{display:flex;flex-wrap:wrap;gap:4px 9px;color:var(--muted)}.garbage-card-meta small{display:inline-flex;align-items:center;gap:3px;font-size:10px}.garbage-truck-card>a{min-height:39px;display:flex;align-items:center;justify-content:flex-end;gap:5px;padding:6px 13px;border-top:1px solid #eee6da;color:var(--green);background:#fdfaf5;font-size:12px;font-weight:900;text-decoration:none}.garbage-source-note{margin:0 2px;color:var(--muted);font-size:10px;line-height:1.6}.garbage-source-note a{color:var(--blue);font-weight:800}@keyframes garbage-pulse{0%,55%{box-shadow:0 0 0 4px #18a55b21}to{box-shadow:0 0 0 10px #18a55b00}}@media(min-width:700px){.garbage-screen{grid-template-columns:minmax(300px,.8fr) minmax(390px,1.2fr);max-width:920px}.garbage-hero,.garbage-city-tabs,.garbage-action-card,.garbage-live-summary,.garbage-screen>.query-state,.garbage-empty,.garbage-source-note{grid-column:1 / -1}.garbage-map-shell{position:sticky;top:0;align-self:start;min-height:460px}.garbage-map{height:460px}.garbage-results{margin-top:0}}.traffic-tabs{display:flex;gap:8px;background-color:var(--card-bg, rgba(30, 30, 30, .6));padding:4px;border-radius:12px;border:1px solid var(--border-color, rgba(255, 255, 255, .08));margin-bottom:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.traffic-tab{flex:1;padding:10px 16px;font-size:14px;font-weight:600;border:none;background:transparent;color:var(--text-secondary, #a0a0a0);border-radius:8px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);text-align:center}.traffic-tab:hover{color:var(--text-primary, #ffffff);background-color:#ffffff0a}.traffic-tab.active{color:#fff;background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 12px #2563eb4d}.traffic-event-cctv-wrapper{margin-top:14px;border-top:1px solid var(--border-color, rgba(255, 255, 255, .08));padding-top:12px}.btn-cctv-toggle{display:flex;align-items:center;gap:6px;background-color:#2563eb1a;color:#60a5fa;border:1px solid rgba(37,99,235,.2);padding:8px 12px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;width:fit-content}.btn-cctv-toggle:hover{background-color:#2563eb33;border-color:#2563eb66}.btn-cctv-toggle.active{background-color:#ef44441a;color:#f87171;border-color:#ef444433}.traffic-event-cctvs{display:flex;flex-direction:column;gap:12px;margin-top:12px;animation:slideDown .25s ease-out}.traffic-event-cctv-item{background-color:#0003;border-radius:8px;padding:10px;border:1px solid rgba(255,255,255,.04)}.cctv-item-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:13px;font-weight:500;color:var(--text-primary, #e0e0e0)}.cctv-distance{font-size:11px;color:#3b82f6;background-color:#3b82f61a;padding:2px 6px;border-radius:4px}.cctv-player-container{position:relative;width:100%;aspect-ratio:4/3;background-color:#111;border-radius:8px;overflow:hidden}.cctv-player-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--text-secondary, #888);font-size:12px}.cctv-player-error{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px;text-align:center;color:#ef4444;background-color:#111111f2;font-size:12px;gap:10px}.cctv-player-error p{margin:0;line-height:1.5;color:#f87171}.cctv-player-actions{display:flex;gap:8px;margin-top:4px}.cctv-reload-btn,.cctv-external-btn{padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s;border:none}.cctv-reload-btn{background-color:#ffffff14;color:#e0e0e0}.cctv-reload-btn:hover{background-color:#ffffff26}.cctv-external-btn{background-color:#2563eb;color:#fff;text-decoration:none;display:inline-flex;align-items:center}.cctv-external-btn:hover{background-color:#3b82f6}.cctv-search-wrapper{margin-top:12px}.cctv-search-box{position:relative;width:100%}.cctv-search-box .search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-secondary, #888)}.cctv-search-input{width:100%;padding:12px 40px 12px 42px;background-color:var(--input-bg, rgba(20, 20, 20, .6));border:1px solid var(--border-color, rgba(255, 255, 255, .08));border-radius:10px;color:var(--text-primary, #fff);font-size:14px;transition:all .2s}.cctv-search-input:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb26;outline:none}.clear-search-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--text-secondary, #888);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:4px;border-radius:50%}.clear-search-btn:hover{background-color:#ffffff14;color:#fff}.cctv-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-top:20px;animation:fadeIn .3s ease-out}.cctv-card{background-color:var(--card-bg, rgba(30, 30, 30, .6));border:1px solid var(--border-color, rgba(255, 255, 255, .08));border-radius:12px;overflow:hidden;transition:all .25s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.cctv-card:hover{border-color:#2563eb4d;transform:translateY(-2px);box-shadow:0 6px 20px #0003}.cctv-card.is-open{border-color:#2563eb66}.cctv-card-toggle{width:100%;display:flex;align-items:center;gap:12px;padding:14px 16px;background:transparent;border:none;color:var(--text-primary, #fff);cursor:pointer;text-align:left}.cctv-icon{color:#3b82f6;transition:transform .2s}.cctv-card.is-open .cctv-icon{color:#60a5fa;transform:scale(1.1)}.cctv-info{flex:1;display:flex;flex-direction:column;gap:4px}.cctv-info strong{font-size:14px;font-weight:600;color:var(--text-primary, #fff)}.cctv-info small{font-size:11.5px;color:var(--text-secondary, #999)}.cctv-caret{color:var(--text-secondary, #666);transition:transform .25s}.cctv-card.is-open .cctv-caret{transform:rotate(180deg);color:var(--text-primary, #fff)}.cctv-media-body{padding:0 16px 16px;animation:slideDown .25s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media(min-width:640px){.cctv-grid{grid-template-columns:repeat(2,1fr);gap:16px}}@media(min-width:1024px){.cctv-grid{grid-template-columns:repeat(3,1fr)}}.pwa-update-banner{position:absolute;left:50%;bottom:84px;z-index:99;transform:translate(-50%);width:90%;max-width:320px;background:#1e293bf2;border:1px solid rgba(99,102,241,.35);box-shadow:0 10px 30px #00000059,0 0 15px #6366f126;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:14px;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;animation:toast-in .3s cubic-bezier(.34,1.56,.64,1)}.pwa-update-info{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#f1f5f9}.pwa-update-info span{white-space:nowrap}.btn-pwa-update{background:#4f46e5;color:#fff;border:none;border-radius:8px;padding:6px 12px;font-size:11.5px;font-weight:700;cursor:pointer;white-space:nowrap;box-shadow:0 2px 6px #4f46e566;transition:all .2s ease}.btn-pwa-update:hover{background:#4338ca;transform:translateY(-1px)}.btn-pwa-update:active{transform:translateY(0) scale(.96)}.pwa-update-section{border-top:1px solid var(--border-color, rgba(255, 255, 255, .08));padding-top:20px}.pwa-update-section .update-note{font-size:12.5px;color:var(--text-muted, #94a3b8);line-height:1.6;margin-top:6px;margin-bottom:12px}.btn-force-update{display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:all .2s ease}.btn-force-update:disabled{opacity:.6;cursor:not-allowed}.is-spinning{animation:spin 1.2s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.global-search-container input:focus{border-color:#1a73e8!important;box-shadow:0 4px 12px #1a73e826!important}.opendata-map-marker{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;animation:markerFadeIn .3s ease-out}@keyframes markerFadeIn{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.opendata-route-selectors{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.opendata-route-selectors select{max-width:145px;padding:7px 9px;border:1px solid var(--border);border-radius:8px;background:var(--card-bg);color:var(--text);font:inherit}.opendata-coordinate-notice,.opendata-source-meta{display:flex;gap:8px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--card-bg);color:var(--muted);font-size:.86rem}.opendata-coordinate-notice{align-items:center;margin-bottom:14px}.opendata-source-meta{flex-direction:column;margin:0 0 14px}.opendata-source-meta a{color:#1967d2;font-weight:700}.opendata-stale-warning{display:flex;align-items:flex-start;gap:7px;padding:9px 11px;border-radius:9px;background:#d977061f;color:#a04f00;font-weight:700;line-height:1.5}.opendata-stale-warning svg{flex:0 0 auto;margin-top:2px}.opendata-result-card{width:100%;padding:16px;border-radius:12px;background:var(--card-bg);color:inherit;cursor:pointer;display:flex;justify-content:space-between;align-items:flex-start;text-align:left;font:inherit;transition:border-color .2s,box-shadow .2s,transform .2s}.opendata-result-card:hover,.opendata-result-card:focus-visible{box-shadow:0 5px 16px #1f2b371f;transform:translateY(-1px);outline:none}.opendata-popup{min-width:210px;color:#263238}.opendata-popup h4,.opendata-popup p{margin:0 0 8px}.opendata-popup-note{padding:7px;border-radius:6px;background:#f0f4f9;color:#52606d}.opendata-popup-actions{display:flex;gap:8px}.opendata-popup-actions a{flex:1;padding:7px;border-radius:6px;background:#1a73e8;color:#fff;text-align:center;text-decoration:none;font-weight:700}@media(max-width:620px){.opendata-screen .section-heading-row{align-items:flex-start!important;flex-direction:column}.opendata-route-selectors{justify-content:flex-start;width:100%}}.all-services-section h3{margin-top:12px;font-size:.95rem;color:var(--muted);font-weight:700;padding-bottom:6px;border-bottom:1px dashed var(--border)}.secondary-button.active{background:#1a73e81a!important;color:#1a73e8!important;border-color:#1a73e8!important}body{top:0!important}.goog-te-banner-frame.skiptranslate,.goog-te-banner-frame,.goog-spelling-page,iframe.goog-te-banner-frame{display:none!important}.goog-text-highlight{background:transparent!important;box-shadow:none!important}.header-lang-selector-wrapper{position:relative;display:inline-flex;align-items:center;margin-right:2px}.header-lang-icon{position:absolute;left:8px;color:var(--muted);width:14px;height:14px;pointer-events:none;z-index:2}#global-select-lang{padding:6px 14px 6px 26px;border-radius:20px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:.75rem;font-weight:700;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;transition:all .2s ease}#global-select-lang:hover{background:#fcf9f2;border-color:var(--red)}#global-select-lang option{background:var(--surface);color:var(--ink)}
