@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+JP:wght@400;500;600;700&display=swap";:root{color:#20252c;font-synthesis:none;text-rendering:optimizelegibility;--surface:#f9faf6;--surface-strong:#fff;--surface-muted:#eef0eb;--text:#20252c;--text-soft:#697078;--line:#dfe2dc;--blue:#2864dc;--blue-dark:#164cae;--green:#1f9d6a;--orange:#e49b18;--red:#e6543b;--shadow:0 18px 50px #1f252c24;background:#f2f3ee;font-family:DM Sans,Noto Sans JP,system-ui,sans-serif}*{box-sizing:border-box}html{width:100%;height:100%;min-height:-webkit-fill-available;overflow:hidden}body,#root{overscroll-behavior:none;width:100%;max-width:100vw;height:100%;min-height:100%;margin:0;overflow:hidden}button,input{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible{outline-offset:2px;outline:3px solid #2864dc40}.sr-only,.sr-only:focus:not(:focus-visible){clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{background:var(--surface);width:100%;max-width:100vw;height:100%;color:var(--text);flex-direction:column;transition:background-color .18s,color .18s;display:flex}.app-shell.dark{--surface:#171b20;--surface-strong:#21262d;--surface-muted:#2a3037;--text:#f2f4f5;--text-soft:#9ca4ad;--line:#353c44;--shadow:0 18px 50px #00000052}.topbar{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--surface-strong) 94%, transparent);z-index:1000;flex:0 0 64px;justify-content:space-between;align-items:center;height:64px;padding:0 24px;display:flex}.brand{letter-spacing:-.5px;align-items:center;gap:9px;font-size:20px;display:flex}.brand-mark{color:#fff;background:var(--blue);border-radius:11px;place-items:center;width:36px;height:36px;display:grid;transform:rotate(-5deg)}.brand-mark svg{transform:rotate(5deg)}.simulator-chip{border:1px solid color-mix(in srgb, var(--blue) 30%, transparent);color:var(--blue);background:color-mix(in srgb, var(--blue) 8%, transparent);letter-spacing:1.1px;border-radius:6px;margin-left:5px;padding:4px 7px;font-size:9px;font-weight:700}.topbar-actions{align-items:center;gap:8px;min-width:0;display:flex}.connection-state{color:var(--text-soft);align-items:center;gap:7px;margin-right:8px;font-size:12px;font-weight:600;display:inline-flex}.connection-state>span{background:#27a66e;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #27a66e1f}.icon-button{cursor:pointer;background:0 0;border:0;border-radius:12px;place-items:center;width:40px;height:40px;display:inline-grid}.icon-button:hover{background:var(--surface-muted)}.icon-button.tiny{border-radius:8px;width:28px;height:28px}.workspace{flex:1;width:100%;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.control-panel{background:var(--surface-strong);border-right:1px solid var(--line);z-index:800;flex-direction:column;flex:0 0 392px;width:392px;min-height:0;display:flex}.panel-scroll{scrollbar-width:thin;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-height:0;padding:28px 26px 20px;overflow:hidden auto}.panel-heading-row{justify-content:space-between;align-items:flex-start;display:flex}.eyebrow{color:var(--blue);letter-spacing:1.7px;margin:0 0 6px;font-size:10px;font-weight:700;line-height:1}.panel-heading-row h1{letter-spacing:-.8px;margin:0 0 22px;font-size:25px;line-height:1.2}.mobile-close{display:none}.navigation-mode-switch{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 14px;display:grid}.navigation-mode-switch>button{border:1px solid var(--line);min-height:58px;color:var(--text-soft);background:var(--surface);text-align:left;cursor:pointer;border-radius:13px;align-items:center;gap:8px;padding:9px 10px;display:flex}.navigation-mode-switch>button>span{gap:2px;min-width:0;display:grid}.navigation-mode-switch strong{color:var(--text);font-size:11px}.navigation-mode-switch small{text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.navigation-mode-switch>button.active{color:var(--blue);border-color:color-mix(in srgb, var(--blue) 42%, var(--line));background:color-mix(in srgb, var(--blue) 8%, var(--surface));box-shadow:0 5px 14px #2864dc14}.search-stack{gap:10px;padding-right:38px;display:grid;position:relative}.route-line{z-index:0;border-left:2px dotted #b7bdc4;position:absolute;top:24px;bottom:24px;left:16px}.route-input{border:1px solid var(--line);background:var(--surface);z-index:1;border-radius:13px;align-items:center;gap:10px;height:49px;padding:0 10px 0 12px;transition:border-color .14s,box-shadow .14s;display:flex;position:relative}.route-input.is-active{border-color:var(--blue);box-shadow:0 0 0 3px #2864dc17}.route-input input{min-width:0;color:var(--text);background:0 0;border:0;outline:0;flex:1;font-size:14px;font-weight:600}.route-dot{width:10px;height:10px;box-shadow:0 0 0 4px var(--surface-strong);background:#232930;border-radius:50%;flex:0 0 10px;display:block}.route-dot.destination{background:var(--red);border-radius:3px}.swap-button{border:1px solid var(--line);background:var(--surface-strong);cursor:pointer;border-radius:10px;place-items:center;width:32px;height:32px;display:grid;position:absolute;top:35px;right:0}.swap-button:hover{border-color:var(--blue);color:var(--blue)}.suggestions{border:1px solid var(--line);background:var(--surface-strong);max-height:330px;box-shadow:var(--shadow);z-index:20;border-radius:15px;padding:8px;position:absolute;top:276px;left:26px;right:26px;overflow-y:auto}.suggestion-caption{color:var(--text-soft);letter-spacing:.5px;align-items:center;gap:8px;padding:8px 10px;font-size:11px;font-weight:700;display:flex}.suggestion-caption>span{flex:1;gap:2px;min-width:0;display:grid}.suggestion-caption small{color:var(--text-soft);letter-spacing:0;font-size:9px;font-weight:500}.suggestion-caption .clear-place-history{width:auto;color:var(--blue);flex:none;padding:5px 7px;font-size:9px;font-weight:800}.suggestion-loader{border:2px solid color-mix(in srgb, var(--blue) 24%, transparent);border-top-color:var(--blue);border-radius:50%;flex:0 0 14px;width:14px;height:14px;animation:.7s linear infinite map-spin}.suggestions button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;width:100%;padding:10px;display:flex}.suggestions button:hover{background:var(--surface-muted)}.suggestion-icon{width:34px;height:34px;color:var(--blue);background:color-mix(in srgb, var(--blue) 10%, transparent);border-radius:10px;flex:0 0 34px;place-items:center;display:grid}.suggestions button span:last-child{gap:2px;display:grid}.suggestions strong{font-size:13px}.suggestions small{color:var(--text-soft);font-size:10px}.quick-destination-list{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:6px;padding:4px 8px 9px;display:flex}.quick-destination-list>button{border:1px solid color-mix(in srgb, var(--blue) 22%, var(--line));width:auto;min-height:30px;color:var(--blue);background:color-mix(in srgb, var(--blue) 6%, var(--surface));border-radius:999px;padding:0 9px;font-size:9px;font-weight:700}.current-location-option{border-bottom:1px solid var(--line)!important;border-radius:8px 8px 0 0!important}.empty-suggestion{color:var(--text-soft);margin:12px;font-size:13px}.avoid-section,.safety-section,.routes-section{margin-top:25px}.section-title-row{justify-content:space-between;align-items:center;margin-bottom:11px;display:flex}.section-title-row h2{letter-spacing:.1px;margin:0;font-size:13px}.section-title-row>span,.section-title-row>svg{color:var(--text-soft);font-size:11px}.avoid-chips{flex-wrap:wrap;gap:7px;display:flex}.avoid-chips button{border:1px solid var(--line);background:var(--surface);min-height:38px;color:var(--text-soft);cursor:pointer;border-radius:10px;align-items:center;gap:6px;padding:0 11px;font-size:11px;font-weight:600;display:inline-flex}.avoid-chips button.hail{--avoid-color:#8b5cf6}.avoid-chips button.underpass{--avoid-color:#078b76}.avoid-chips button.strong-wind{--avoid-color:#008eaf}.avoid-chips button.heavy-snow{--avoid-color:#397be8}.safety-chips button.accident-hotspots{--avoid-color:#ef545f}.safety-chips button.police-enforcement{--avoid-color:#7c5ce5}.safety-chips button.unclear-signs{--avoid-color:#d78100}.safety-chips button.misleading-signs{--avoid-color:#dc5f8b}.avoid-chips button.active{border-color:color-mix(in srgb, var(--avoid-color,var(--blue)) 42%, var(--line));color:var(--avoid-color,var(--blue));background:color-mix(in srgb, var(--avoid-color,var(--blue)) 9%, var(--surface))}.route-list{gap:8px;display:grid}.live-route-status{color:var(--green);background:#1f9d6a12;border:1px solid #1f9d6a33;border-radius:11px;align-items:center;gap:8px;margin:-2px 0 9px;padding:9px 10px;display:flex}.live-route-status>span{gap:1px;min-width:0;display:grid}.live-route-status strong{font-size:9px}.live-route-status small{color:var(--text-soft);text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.live-route-status.error{color:var(--red);background:#e6543b12;border-color:#e6543b3d}.route-card{border:1px solid var(--line);background:var(--surface);text-align:left;cursor:pointer;border-radius:14px;align-items:center;gap:12px;width:100%;min-height:94px;padding:12px 12px 12px 16px;transition:transform .14s,border-color .14s,box-shadow .14s;display:flex;position:relative;overflow:hidden}.route-card:hover{transform:translateY(-1px)}.route-card.selected{border-color:var(--blue);background:color-mix(in srgb, var(--blue) 4%, var(--surface));box-shadow:0 8px 22px #2864dc1c}.route-card-accent{border-radius:4px;width:4px;position:absolute;top:12px;bottom:12px;left:6px}.route-card-main{flex:1;gap:5px;min-width:0;display:grid}.route-card-title-row{align-items:center;gap:7px;display:flex}.route-card-title-row>strong{font-size:14px}.safe-chip,.risk-chip{color:#16845a;background:#1f9d6a1a;border-radius:6px;align-items:center;gap:3px;height:21px;padding:0 6px;font-size:9px;font-weight:700;display:inline-flex}.risk-chip{color:#ad6812;background:#e49b181f}.risk-chip.high{color:#bb412f;background:#e6543b1f}.route-card-description{color:var(--text-soft);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.route-card-meta{color:var(--text-soft);align-items:center;gap:9px;font-size:11px;display:flex}.route-card-meta b{color:var(--blue);font-size:15px}.route-card-meta span+span:before{content:"·";margin-right:9px}.route-chevron{color:var(--text-soft)}.panel-footer{border-top:1px solid var(--line);background:var(--surface-strong);padding:15px 26px 16px}.start-button{color:#fff;background:var(--blue);cursor:pointer;border:0;border-radius:14px;justify-content:center;align-items:center;gap:9px;width:100%;height:51px;padding:0 16px;font-weight:700;display:flex;box-shadow:0 9px 22px #2864dc3b}.start-button:hover{background:var(--blue-dark)}.start-button:disabled{cursor:not-allowed;opacity:.46;box-shadow:none}.start-button:disabled:hover{background:var(--blue)}.start-button span{border-left:1px solid #ffffff4d;margin-left:auto;padding-left:12px;font-size:12px}.panel-footer p{color:var(--text-soft);justify-content:center;align-items:center;gap:5px;margin:9px 0 0;font-size:9px;display:flex}.map-stage{background:#dff5ff;flex:1;min-width:0;position:relative;overflow:hidden}.mapbox-map-wrap,.mapbox-map{width:100%;height:100%}.mapbox-map-wrap{position:relative}.mapbox-map.is-one-finger-panning,.mapbox-map.is-one-finger-panning canvas{cursor:grabbing!important}.mapboxgl-map{font-family:inherit}.mapboxgl-ctrl-group{border:1px solid #20252c1a;overflow:hidden;border-radius:12px!important;box-shadow:0 7px 20px #20252c1f!important}.mapboxgl-ctrl-top-right{top:12px;right:10px}.mapboxgl-ctrl-attrib{font-size:9px!important}.mapboxgl-popup-content{color:#20252c;border-radius:10px;gap:2px;padding:11px 13px;display:grid;box-shadow:0 8px 25px #20252c29}.mapboxgl-popup-content strong{font-size:12px}.mapboxgl-popup-content small{color:#697078;font-size:9px}.mapboxgl-popup-content a{color:#146cff;margin-top:4px;font-size:10px;font-weight:700;text-decoration:none}.map-loading{color:#4f5963;z-index:5;background:#e9eeec;justify-content:center;align-items:center;gap:9px;font-size:12px;font-weight:700;display:flex;position:absolute;inset:0}.map-loading span{border:2px solid #b8c0c8;border-top-color:var(--blue);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite map-spin}.mapbox-badge{color:#26364a;letter-spacing:1.05px;pointer-events:none;z-index:4;background:#ffffffe6;border:1px solid #146cff29;border-radius:10px;align-items:center;gap:5px;padding:6px 9px;font-size:8px;font-weight:900;display:flex;position:absolute;top:10px;left:10px;box-shadow:0 5px 16px #26364a21}.mapbox-badge i{background:#146cff;border-radius:50%;width:8px;height:8px;margin-right:12px;display:block;box-shadow:6px 0 #ff4f5e,12px 0 #ffd23f}.pop-map-night .mapbox-badge{color:#f7fbff;background:#17243ae6;border-color:#ffffff24}.hazard-display-status{color:#26364a;pointer-events:none;z-index:4;background:#ffffffeb;border:1px solid #146cff29;border-radius:10px;gap:1px;min-width:164px;padding:6px 9px;display:grid;position:absolute;top:10px;left:116px;box-shadow:0 5px 16px #26364a21}.hazard-display-status strong{font-size:8px}.hazard-display-status small{color:#697078;font-size:7px}.hazard-display-status.mode-overview{border-color:#ff7a0040}.hazard-display-status.mode-driving{background:#fffaf9f0;border-color:#dc393947}.pop-map-night .hazard-display-status{color:#f7fbff;background:#17243ae6;border-color:#ffffff24}.pop-map-night .hazard-display-status small{color:#b9c8d8}@keyframes map-spin{to{transform:rotate(360deg)}}.mapbox-setup{background-color:#e9eeec;background-image:linear-gradient(#54687017 1px,#0000 1px),linear-gradient(90deg,#54687017 1px,#0000 1px);background-size:32px 32px;place-items:center;padding:24px;display:grid;position:absolute;inset:0}.dark .mapbox-setup{background-color:#20272b;background-image:linear-gradient(#ffffff0b 1px,#0000 1px),linear-gradient(90deg,#ffffff0b 1px,#0000 1px)}.mapbox-setup-card{border:1px solid var(--line);background:var(--surface-strong);width:min(480px,100%);box-shadow:var(--shadow);border-radius:22px;padding:28px}.mapbox-logo{color:#fff;background:#111820;border-radius:14px;place-items:center;width:46px;height:46px;margin-bottom:17px;font-size:22px;font-weight:800;display:grid}.mapbox-setup-card h2{letter-spacing:-.7px;margin:0;font-size:24px}.mapbox-setup-card>p:not(.eyebrow,.token-privacy){color:var(--text-soft);margin:9px 0 18px;font-size:12px;line-height:1.65}.mapbox-setup-card form{align-items:end;gap:8px;display:flex}.mapbox-setup-card form label{flex:1;gap:6px;min-width:0;display:grid}.mapbox-setup-card form label span{color:var(--text-soft);font-size:10px;font-weight:700}.mapbox-setup-card form input{border:1px solid var(--line);background:var(--surface);width:100%;height:45px;color:var(--text);border-radius:11px;outline:0;padding:0 12px}.mapbox-setup-card form input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2864dc1a}.mapbox-setup-card form button{color:#fff;background:var(--blue);white-space:nowrap;cursor:pointer;border:0;border-radius:11px;height:45px;padding:0 15px;font-size:11px;font-weight:700}.mapbox-error-code{color:#a73c2e;background:#e6543b17;border-radius:9px;max-height:62px;margin:-7px 0 14px;padding:9px 10px;font-size:9px;display:block;overflow:auto}.mapbox-setup-actions{align-items:center;gap:16px;margin-top:13px;display:flex}.mapbox-setup-actions a,.mapbox-setup-actions button{color:var(--blue);cursor:pointer;background:0 0;border:0;padding:0;font-size:10px;font-weight:700;text-decoration:none}.token-privacy{color:var(--text-soft);align-items:center;gap:5px;margin:17px 0 0;font-size:9px;display:flex}.underpass-data-status{color:#c45d00;background:#ff7a0012;border:1px solid #ff7a0033;border-radius:11px;align-items:center;gap:9px;margin-top:14px;padding:10px 11px;display:flex}.underpass-data-status>span{gap:1px;display:grid}.underpass-data-status strong{font-size:10px}.underpass-data-status small{color:var(--text-soft);font-size:9px}.map-floating-actions{z-index:500;gap:9px;display:grid;position:absolute;top:22px;right:22px}.map-action{color:#20252c;cursor:pointer;background:#fffffff0;border:1px solid #20252c1f;border-radius:13px;justify-content:center;align-items:center;gap:7px;min-width:44px;height:44px;padding:0 13px;font-size:11px;font-weight:700;display:flex;box-shadow:0 8px 22px #20252c21}.map-action:disabled{cursor:wait;opacity:.66}.map-action.report{color:#fff;background:#20252c}.map-legend{color:#525960;z-index:500;background:#ffffffe8;border-radius:10px;gap:16px;padding:9px 12px;font-size:9px;font-weight:700;display:flex;position:absolute;bottom:22px;left:22px;box-shadow:0 5px 18px #20252c1a}.map-legend span{align-items:center;gap:6px;display:flex}.map-legend i{border-radius:5px;width:15px;height:6px;display:inline-block}.legend-route{background:var(--blue)}.legend-rain{background:#1f8fee59;border:1px solid #1f8fee}.legend-hazard{background:var(--orange);border-radius:50%!important;width:8px!important;height:8px!important}.legend-regulation{background:#ffad00;border:2px solid #fff;box-shadow:0 0 0 1px #ffad00;border-radius:50%!important;width:8px!important;height:8px!important}.legend-underpass{background:#ff7a00;border:1px solid #fff;position:relative;box-shadow:0 0 0 1px #ff7a00;border-radius:50%!important;width:13px!important;height:13px!important}.legend-underpass:after{content:"↓";color:#fff;text-align:center;font-size:10px;font-style:normal;font-weight:900;line-height:13px;position:absolute;inset:-1px 0 0}.map-data-error{color:#a23c30;z-index:545;background:#fff8f6f0;border:1px solid #c840303d;border-radius:10px;align-items:center;gap:6px;max-width:340px;padding:8px 10px;font-size:9px;font-weight:700;display:flex;position:absolute;bottom:64px;left:22px;box-shadow:0 5px 18px #50201c1f}.mobile-route-button{display:none}.weather-radar-status{color:#1d4f87;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:540;background:#f6fbfff0;border:1px solid #1868c138;border-radius:13px;align-items:center;gap:8px;max-width:min(350px,100% - 44px);min-height:54px;padding:7px 8px;display:flex;position:absolute;bottom:62px;left:22px;box-shadow:0 7px 22px #184b8226}.weather-radar-status.is-navigating{bottom:136px}.weather-radar-status.error{color:#a94a3d;background:#fff8f6f2;border-color:#d24b3a3d}.weather-radar-icon{color:#fff;background:linear-gradient(145deg,#58aaf5,#2864dc);border-radius:9px;flex:0 0 31px;place-items:center;width:31px;height:31px;display:grid}.weather-radar-copy{flex:1;gap:1px;min-width:0;display:grid}.weather-radar-copy strong{font-size:10px}.weather-radar-copy small{color:#607a94;text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.weather-radar-copy small.rain-expected{color:#7151cc;font-weight:800}.weather-radar-toggle{color:#fff;cursor:pointer;background:#2864dc;border:0;border-radius:8px;flex:0 0 29px;place-items:center;width:29px;height:29px;padding:0;display:grid}.weather-source-links{flex:none;gap:2px;display:grid}.weather-source-links a{color:#2864dc;font-size:7px;font-weight:800;text-decoration:none}.nav-overlay{pointer-events:none;z-index:650;position:absolute;inset:0}.nav-overlay button{pointer-events:auto}.nav-instruction-card{color:#fff;background:#2455be;border-radius:19px;align-items:center;gap:15px;width:min(540px,100% - 44px);min-height:91px;padding:13px 13px 13px 15px;display:flex;position:absolute;top:18px;left:50%;transform:translate(-50%);box-shadow:0 12px 34px #19377852}.direction-tile{background:#ffffff24;border-radius:15px;flex:0 0 62px;place-items:center;width:62px;height:62px;display:grid}.instruction-copy{flex:1;gap:1px;min-width:0;display:grid}.instruction-copy b{color:#cbdcff;font-size:12px}.instruction-copy strong{font-size:19px;line-height:1.25}.instruction-copy small{color:#cbdcff;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.nav-voice{color:#fff;background:#ffffff21}.hazard-banner{color:#3f3426;background:#fffbeff5;border:1px solid #e49b1880;border-radius:14px;align-items:center;gap:10px;width:min(440px,100% - 44px);padding:10px 13px;display:flex;position:absolute;top:123px;left:50%;transform:translate(-50%);box-shadow:0 8px 25px #3f34262e}.hazard-banner>span:first-child{font-size:23px}.hazard-banner>div{flex:1;display:grid}.hazard-banner b{color:#b06d12;font-size:10px}.hazard-banner strong{font-size:13px}.hazard-banner .confidence{color:#7b6f5e;font-size:9px}.underpass-banner{color:#3d3021;background:#fff8ebf7;border:1px solid #ff7a007a;border-radius:14px;align-items:center;gap:10px;width:min(500px,100% - 44px);padding:10px 13px;display:flex;position:absolute;top:123px;left:50%;transform:translate(-50%);box-shadow:0 8px 25px #5a370f33}.underpass-banner>span:first-child{color:#e76d00}.underpass-banner>div{flex:1;min-width:0;display:grid}.underpass-banner b{color:#b95700;font-size:10px}.underpass-banner strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.underpass-source{color:#7b6f5e;white-space:nowrap;font-size:9px}.police-priority-banner{color:#332050;background:#f9f6fffa;border:2px solid #7c3cedad;border-radius:14px;align-items:center;gap:10px;width:min(520px,100% - 44px);padding:10px 13px;display:flex;position:absolute;top:123px;left:50%;transform:translate(-50%);box-shadow:0 9px 28px #562b9b3d}.police-priority-banner>span:first-child{font-size:24px}.police-priority-banner>div{flex:1;gap:1px;min-width:0;display:grid}.police-priority-banner b{color:#6d28d9;font-size:10px}.police-priority-banner strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.police-priority-banner small{color:#665877;font-size:8px}.police-source{color:#6d28d9;white-space:nowrap;font-size:9px;font-weight:800}.underpass-banner.has-police{top:198px}.hazard-banner.has-underpass{top:190px}.hazard-banner.has-two-priority-alerts{top:265px}.nav-bottom-sheet{color:#20252c;background:#fffffff5;border:1px solid #20252c1a;border-radius:20px;align-items:center;gap:24px;width:min(760px,100% - 36px);min-height:100px;padding:14px 18px;display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 15px 45px #20252c33}.trip-stat{gap:2px;min-width:70px;display:grid}.trip-stat strong{font-size:16px}.trip-stat span{color:#747b82;font-size:9px}.trip-stat.eta strong{color:var(--blue);font-size:21px}.nav-controls{align-items:center;gap:8px;margin-left:auto;display:flex}.nav-controls button{cursor:pointer;border:0;border-radius:13px;justify-content:center;align-items:center;gap:6px;height:46px;padding:0 12px;font-size:11px;font-weight:700;display:inline-flex}.gps-driving-state{color:#087a62;background:#e6f7f2;border-radius:13px;align-items:center;gap:6px;height:46px;padding:0 11px;font-size:10px;font-weight:800;display:inline-flex}.gps-driving-state.error{color:#b64637;background:#fae9e6}.speed-button{color:#505860;background:#edf0f2}.pause-button{color:#fff;background:var(--blue);width:46px;padding:0!important}.report-nav-button{color:#fff;background:#20252c}.end-button{color:#c04433;background:#fae9e6}.modal-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:2000;background:#14181d70;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.report-dialog{background:var(--surface-strong);border-radius:22px;width:min(520px,100%);max-height:min(840px,100vh - 40px);padding:20px;overflow-y:auto;box-shadow:0 24px 80px #00000047}.dialog-handle{display:none}.dialog-heading{justify-content:space-between;align-items:flex-start;display:flex}.dialog-heading h2{letter-spacing:-.5px;margin:0;font-size:22px}.dialog-help{color:var(--text-soft);margin:9px 0 16px;font-size:12px}.hazard-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.hazard-grid button{border:1px solid var(--line);background:color-mix(in srgb, var(--hazard-color) 7%, var(--surface));cursor:pointer;border-radius:15px;place-items:center;gap:4px;min-height:86px;padding:9px 6px;display:grid}.hazard-grid button:hover{border-color:var(--hazard-color)}.hazard-grid button span{font-size:27px}.hazard-grid button strong{font-size:13px}.show-all-hazards{border:1px solid var(--line);width:100%;min-height:42px;color:var(--blue);background:var(--surface);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:6px;margin-top:10px;font-size:11px;font-weight:800;display:flex}.show-all-hazards[aria-expanded=true] svg{transform:rotate(90deg)}.privacy-note{color:var(--text-soft);justify-content:center;align-items:center;gap:5px;margin:15px 0 0;font-size:9px;display:flex}.undo-toast{border:1px solid var(--line);background:var(--surface-strong);min-width:360px;box-shadow:var(--shadow);z-index:2100;border-radius:14px;align-items:center;gap:10px;padding:11px 12px;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}.toast-check{color:#fff;background:var(--green);border-radius:10px;place-items:center;width:31px;height:31px;display:grid}.undo-toast>span:nth-child(2){flex:1;display:grid}.undo-toast strong{font-size:12px}.undo-toast small{color:var(--text-soft);font-size:9px}.undo-toast button{color:var(--blue);cursor:pointer;background:0 0;border:0;font-size:11px;font-weight:700}@media (width<=960px){.control-panel{flex-basis:350px;width:350px}.panel-scroll{padding-left:20px;padding-right:20px}.suggestions{left:20px;right:20px}.nav-bottom-sheet{gap:14px}.trip-stat{min-width:62px}.nav-controls button{padding:0 10px}}@media (width<=760px){.app-shell{height:100dvh;min-height:-webkit-fill-available}.topbar{height:calc(56px + env(safe-area-inset-top));flex-basis:calc(56px + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(13px, env(safe-area-inset-right)) 0 max(13px, env(safe-area-inset-left))}.brand{font-size:18px}.brand-mark{border-radius:10px;width:34px;height:34px}.simulator-chip,.connection-state{display:none}.control-panel{z-index:1200;border:0;width:100%;max-width:100%;height:100%;transition:transform .22s;position:absolute;inset:0;overflow:hidden;transform:translateY(105%)}.control-panel.mobile-open{transform:translateY(0)}.panel-scroll{padding:22px max(18px, env(safe-area-inset-right)) 18px max(18px, env(safe-area-inset-left))}.panel-footer{padding-right:max(18px, env(safe-area-inset-right));padding-bottom:calc(16px + env(safe-area-inset-bottom));padding-left:max(18px, env(safe-area-inset-left))}.panel-heading-row h1{margin-bottom:18px;font-size:23px}.mobile-close{display:grid}.suggestions{top:262px;left:max(18px, env(safe-area-inset-left));right:max(18px, env(safe-area-inset-right));max-height:calc(100% - 354px)}.map-floating-actions{top:14px;right:max(13px, env(safe-area-inset-right))}.mapbox-setup{padding:14px}.mapbox-setup-card{border-radius:18px;padding:21px}.mapbox-setup-card form{display:grid}.mapbox-setup-card form button{width:100%}.map-action.report span{display:none}.map-legend{left:max(12px, env(safe-area-inset-left));bottom:calc(75px + env(safe-area-inset-bottom));gap:10px}.hazard-display-status{left:105px;right:max(68px, calc(env(safe-area-inset-right) + 56px));min-width:0}.map-data-error{left:max(12px, env(safe-area-inset-left));bottom:calc(119px + env(safe-area-inset-bottom));max-width:calc(100% - 24px)}.weather-radar-status{left:max(12px, env(safe-area-inset-left));bottom:calc(119px + env(safe-area-inset-bottom));max-width:calc(100% - 24px - env(safe-area-inset-left) - env(safe-area-inset-right))}.weather-radar-status.is-navigating{bottom:calc(166px + env(safe-area-inset-bottom))}.mobile-route-button{left:50%;bottom:calc(16px + env(safe-area-inset-bottom));color:#fff;z-index:550;background:#20252c;border:0;border-radius:14px;align-items:center;gap:8px;height:48px;padding:0 18px;font-size:12px;font-weight:700;display:flex;position:absolute;transform:translate(-50%);box-shadow:0 10px 30px #20252c40}.nav-instruction-card{border-radius:17px;width:calc(100% - 20px);min-height:82px;top:10px}.direction-tile{flex-basis:54px;width:54px;height:54px}.instruction-copy strong{font-size:17px}.hazard-banner,.underpass-banner,.police-priority-banner{width:calc(100% - 20px);top:103px}.underpass-banner.has-police{top:178px}.hazard-banner.has-underpass{top:170px}.hazard-banner.has-two-priority-alerts{top:245px}.nav-bottom-sheet{bottom:calc(8px + env(safe-area-inset-bottom));width:calc(100% - 16px - env(safe-area-inset-left) - env(safe-area-inset-right));border-radius:18px;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;min-height:auto;padding:12px;display:grid}.trip-stat{text-align:center;min-width:0}.trip-stat.eta strong{font-size:18px}.nav-controls{grid-column:1/-1;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;justify-content:stretch;width:100%;min-width:0;margin:4px 0 0;display:grid}.nav-controls button{white-space:nowrap;width:100%;min-width:0;max-width:none;padding:0 5px;font-size:9px}.gps-driving-state{white-space:nowrap;justify-content:center;min-width:0;padding:0 5px;font-size:9px}.undo-toast{width:calc(100% - 24px);min-width:0;bottom:12px}.modal-backdrop{padding:0;padding-top:env(safe-area-inset-top)}.report-dialog{width:100%;max-height:calc(100dvh - env(safe-area-inset-top));padding:14px max(18px, env(safe-area-inset-right)) calc(20px + env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));border-radius:22px 22px 0 0;align-self:end;margin:0}.hazard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dialog-handle{background:var(--line);border-radius:4px;width:38px;height:4px;margin:0 auto 13px;display:block}}@media (width<=430px){.map-legend{display:none}.speed-button{max-width:72px!important}.report-nav-button{max-width:82px!important}.end-button{max-width:72px!important}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.brand-button{color:inherit;cursor:pointer;background:0 0;border:0;padding:0}.ops-chip{color:#087a62;background:#087a6214;border-color:#087a6240}.topbar-text-button{border:1px solid var(--line);height:38px;color:var(--text);background:var(--surface-strong);cursor:pointer;border-radius:11px;align-items:center;gap:7px;padding:0 12px;font-size:11px;font-weight:700;display:inline-flex}.topbar-text-button:hover{background:var(--surface-muted)}.ops-shell{background:#f3f5f1;overflow:hidden}.ops-shell.dark{background:#15191d}.ops-dashboard{min-height:0;color:var(--text);flex:1;padding:34px clamp(20px,4vw,64px) 56px;overflow-y:auto}.ops-loading{text-align:center;place-content:center;justify-items:center;gap:9px;display:grid}.ops-loading h1{margin:4px 0 0;font-size:22px}.ops-loading p{color:var(--text-soft);margin:0}.spin{animation:.8s linear infinite map-spin}.ops-hero{grid-template-columns:minmax(0,1fr) 340px;align-items:end;gap:34px;max-width:1440px;margin:0 auto 24px;display:grid}.ops-hero h1{letter-spacing:-2px;max-width:720px;margin:0;font-size:clamp(30px,4vw,50px);line-height:1.08}.ops-hero>div:first-child>p:last-child{max-width:680px;color:var(--text-soft);margin:15px 0 0;font-size:13px;line-height:1.8}.ops-run-state{background:linear-gradient(145deg, #2864dc17, #2864dc05), var(--surface-strong);border:1px solid #2864dc2e;border-radius:20px;align-content:center;gap:4px;min-height:142px;padding:20px 22px;display:grid;box-shadow:0 14px 35px #1f252c14}.ops-run-state>span{color:var(--blue);letter-spacing:.7px;align-items:center;gap:6px;font-size:10px;font-weight:800;display:flex}.ops-run-state>strong{letter-spacing:-.5px;font-size:23px}.ops-run-state>small{color:var(--text-soft);font-size:10px;line-height:1.5}.ops-run-state time{color:var(--text-soft);align-items:center;gap:6px;margin-top:8px;font-size:10px;display:flex}.ops-run-state.active{background:linear-gradient(145deg, #1f9d6a1f, #1f9d6a05), var(--surface-strong);border-color:#1f9d6a47}.ops-run-state.active>span{color:var(--green)}.ops-run-state.blocked{background:linear-gradient(145deg, #e6543b1f, #e6543b05), var(--surface-strong);border-color:#e6543b47}.ops-run-state.blocked>span{color:var(--red)}.ops-scope-panel{max-width:1440px;margin:0 auto 18px;overflow:hidden}.ops-scope-heading{min-height:82px}.ops-scope-summary{justify-items:end;gap:2px;display:grid}.ops-scope-summary strong{color:var(--blue);font-size:17px}.ops-scope-summary span{color:var(--text-soft);font-size:9px}.ops-scope-body{padding:18px 20px 20px}.ops-scope-toolbar{flex-wrap:wrap;gap:7px;margin-bottom:17px;display:flex}.ops-scope-toolbar button{border:1px solid var(--line);min-height:32px;color:var(--text-soft);background:var(--surface);cursor:pointer;border-radius:9px;padding:0 10px;font-size:9px;font-weight:700}.ops-scope-toolbar button:first-child{color:#fff;border-color:var(--blue);background:var(--blue)}.ops-scope-toolbar button:hover{border-color:color-mix(in srgb, var(--blue) 50%, var(--line));color:var(--blue)}.ops-prefecture-groups{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.ops-prefecture-groups fieldset{border:1px solid var(--line);border-radius:13px;min-width:0;margin:0;padding:11px}.ops-prefecture-groups legend{color:var(--text-soft);padding:0 6px;font-size:9px;font-weight:800}.ops-prefecture-groups fieldset>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.ops-prefecture-groups label{min-height:34px;color:var(--text-soft);background:var(--surface-muted);cursor:pointer;border:1px solid #0000;border-radius:9px;align-items:center;gap:7px;padding:6px 8px;font-size:9px;font-weight:700;display:flex}.ops-prefecture-groups label:hover{border-color:color-mix(in srgb, var(--blue) 35%, var(--line))}.ops-prefecture-groups label.selected{color:var(--blue);border-color:color-mix(in srgb, var(--blue) 28%, var(--line));background:color-mix(in srgb, var(--blue) 9%, var(--surface))}.ops-prefecture-groups input{width:15px;height:15px;accent-color:var(--blue);margin:0}.ops-prefecture-groups input:disabled{opacity:.7}.ops-scope-footer{background:var(--surface-muted);border-radius:13px;justify-content:space-between;align-items:center;gap:18px;margin-top:16px;padding:13px 14px;display:flex}.ops-scope-footer>div{gap:3px;min-width:0;display:grid}.ops-scope-footer strong{font-size:9px}.ops-scope-footer span{text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:700;overflow:hidden}.ops-scope-footer small{color:var(--text-soft);font-size:8px;line-height:1.45}.ops-copy-command{color:#fff;cursor:pointer;background:#20252c;border:0;border-radius:10px;flex:none;align-items:center;gap:7px;min-height:38px;padding:0 12px;font-size:9px;font-weight:800;display:inline-flex}.dark .ops-copy-command{color:#20252c;background:#f2f4f5}.ops-metrics{grid-template-columns:repeat(4,1fr);gap:12px;max-width:1440px;margin:0 auto 18px;display:grid}.ops-metric-card{border:1px solid var(--line);background:var(--surface-strong);border-radius:17px;align-items:flex-start;gap:12px;min-width:0;padding:17px;display:flex}.ops-metric-icon{width:40px;height:40px;color:var(--blue);background:color-mix(in srgb, var(--blue) 10%, var(--surface));border-radius:12px;flex:0 0 40px;place-items:center;display:grid}.ops-metric-card>div{gap:2px;min-width:0;display:grid}.ops-metric-card span:not(.ops-metric-icon){color:var(--text-soft);font-size:9px;font-weight:700}.ops-metric-card strong{letter-spacing:-.7px;text-overflow:ellipsis;white-space:nowrap;font-size:22px;overflow:hidden}.ops-metric-card small{color:var(--text-soft);font-size:9px}.ops-publication-history-panel{max-width:1440px;margin:0 auto 18px;overflow:hidden}.ops-publication-history-heading>span{background:var(--surface-muted);border-radius:8px;padding:6px 9px}.ops-publication-history-body{gap:14px;padding:18px 20px 20px;display:grid}.ops-delivery-status{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.ops-delivery-status article{border:1px solid var(--line);background:var(--surface);border-radius:14px;align-items:flex-start;gap:11px;min-width:0;padding:14px;display:flex}.ops-delivery-status article.pending{border-color:color-mix(in srgb, #e49b18 30%, var(--line));background:color-mix(in srgb, #e49b18 5%, var(--surface))}.ops-delivery-status article.blocked{border-color:color-mix(in srgb, var(--red) 30%, var(--line));background:color-mix(in srgb, var(--red) 5%, var(--surface))}.ops-delivery-status article.ready{border-color:color-mix(in srgb, var(--green) 30%, var(--line));background:color-mix(in srgb, var(--green) 5%, var(--surface))}.ops-delivery-icon{width:38px;height:38px;color:var(--blue);background:color-mix(in srgb, var(--blue) 10%, var(--surface));border-radius:11px;flex:0 0 38px;place-items:center;display:grid}.ops-delivery-status article>div{gap:3px;min-width:0;display:grid}.ops-delivery-status small{color:var(--text-soft);font-size:8px;font-weight:800}.ops-delivery-status strong{font-size:12px;line-height:1.45}.ops-delivery-status p{overflow-wrap:anywhere;color:var(--text-soft);margin:0;font-size:8px;line-height:1.5}.ops-publication-log{border:1px solid var(--line);background:var(--surface);border-radius:14px;overflow:hidden}.ops-publication-log-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:40px;padding:9px 12px;display:flex}.ops-publication-log-heading strong{font-size:10px}.ops-publication-log-heading small{color:var(--text-soft);font-size:7px}.ops-publication-log ol{max-height:360px;margin:0;padding:0;list-style:none;overflow-y:auto}.ops-publication-log li{border-bottom:1px solid var(--line);grid-template-columns:125px minmax(170px,1fr) minmax(285px,1.2fr) minmax(200px,auto);align-items:center;gap:12px;padding:12px;display:grid}.ops-publication-log li:last-child{border:0}.ops-publication-log time{color:var(--text-soft);font-size:8px}.ops-publication-log-main{gap:3px;min-width:0;display:grid}.ops-publication-log-main>div{align-items:center;gap:7px;min-width:0;display:flex}.ops-publication-log-main strong{font-size:10px}.ops-publication-log-main code{color:var(--blue);background:color-mix(in srgb, var(--blue) 8%, transparent);text-overflow:ellipsis;white-space:nowrap;border-radius:4px;padding:2px 4px;font-size:6px;overflow:hidden}.ops-publication-log-main p{color:var(--text-soft);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:8px;overflow:hidden}.ops-publication-counts{flex-wrap:wrap;gap:5px;display:flex}.ops-publication-counts span{color:var(--text-soft);background:var(--surface-muted);border-radius:6px;padding:4px 6px;font-size:7px}.ops-publication-counts strong{color:var(--text);font-size:8px}.ops-publication-counts .added strong{color:var(--green)}.ops-publication-counts .removed strong{color:var(--red)}.ops-publication-targets{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.ops-publication-targets span{border-radius:6px;padding:4px 6px;font-size:7px;font-weight:800}.ops-publication-targets .local{color:#275cad;background:#2864dc1a}.ops-publication-targets .waiting{color:#875a00;background:#e49b181f}.ops-publication-targets .public{color:#176b52;background:#1f9d6a1a}.ops-publication-log-empty{color:var(--text-soft);margin:0;padding:18px 14px;font-size:9px;line-height:1.65}.ops-publication-separation{color:#176b52;background:#1f9d6a14;border-radius:11px;align-items:flex-start;gap:8px;margin:0;padding:11px 12px;font-size:8px;line-height:1.55;display:flex}.ops-publication-separation svg{flex:none}.ops-publication-separation span{display:inline}.ops-publication-history-error,.ops-publication-history-loading{color:var(--text-soft);align-items:center;gap:8px;margin:0;padding:18px 20px;font-size:9px;display:flex}.ops-publication-history-error{color:var(--red)}.ops-grid{grid-template-columns:minmax(0,1.6fr) minmax(300px,.8fr);gap:18px;max-width:1440px;margin:0 auto 18px;display:grid}.ops-panel{border:1px solid var(--line);background:var(--surface-strong);border-radius:20px;box-shadow:0 10px 30px #1f252c0d}.ops-panel-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;min-height:75px;padding:18px 20px;display:flex}.ops-panel-heading h2{letter-spacing:-.3px;margin:0;font-size:17px}.ops-panel-heading>span{color:var(--text-soft);font-size:10px;font-weight:700}.ops-run-id{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.ops-pipeline{grid-template-columns:repeat(7,auto);justify-content:space-between;align-items:center;gap:10px;padding:24px 20px;display:grid}.ops-pipeline>div{text-align:center;justify-items:center;gap:4px;min-width:112px;display:grid}.ops-pipeline>div>span{border:1px solid var(--line);width:32px;height:32px;color:var(--text-soft);background:var(--surface-muted);border-radius:50%;place-items:center;margin-bottom:4px;font-size:11px;font-weight:800;display:grid}.ops-pipeline>div.done>span{color:#fff;background:var(--green);border-color:#1f9d6a38}.ops-pipeline>div.blocked>span{color:#fff;background:var(--red);border-color:#e6543b38}.ops-pipeline strong{font-size:10px}.ops-pipeline small{color:var(--text-soft);font-size:8px}.ops-pipeline>svg{color:#b4bbc2}.ops-publication-note{color:#176b52;background:#1f9d6a14;border-radius:13px;align-items:flex-start;gap:10px;margin:0 20px 20px;padding:13px 14px;display:flex}.ops-publication-note>span{gap:2px;font-size:9px;line-height:1.5;display:grid}.ops-publication-note strong{font-size:10px}.ops-gates{padding:9px 18px 15px}.ops-gates>div{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:10px 2px;display:flex}.ops-gates>div:last-child{border:0}.ops-gates>div>span{width:28px;height:28px;color:var(--green);background:#1f9d6a17;border-radius:9px;flex:0 0 28px;place-items:center;display:grid}.ops-gates>div.fail>span{color:var(--red);background:#e6543b17}.ops-gates>div>div{gap:2px;display:grid}.ops-gates strong{font-size:10px}.ops-gates small{color:var(--text-soft);font-size:9px}.ops-sources-panel{max-width:1440px;margin:0 auto;overflow:hidden}.ops-collector-heading{min-height:88px}.ops-source-researched{color:var(--text-soft);margin-top:4px;font-size:8px;font-weight:700;display:block}.ops-collector-controls{align-items:center;gap:7px;display:flex}.ops-collector-controls button{cursor:pointer;border-radius:10px;align-items:center;gap:6px;min-height:36px;padding:0 12px;font-size:9px;font-weight:800;display:inline-flex}.ops-collector-controls button:disabled{cursor:not-allowed;opacity:.42}.collector-start{color:#fff;border:1px solid var(--green);background:var(--green)}.collector-stop{color:var(--red);border:1px solid color-mix(in srgb, var(--red) 38%, var(--line));background:color-mix(in srgb, var(--red) 7%, var(--surface))}.ops-collector-overall{color:var(--text-soft);background:var(--surface-muted);white-space:nowrap;border-radius:8px;align-items:center;gap:5px;margin-right:4px;padding:6px 8px;font-size:8px;font-weight:800;display:inline-flex}.ops-collector-overall.running{color:#176b52;background:#1f9d6a1a}.ops-collector-overall.running svg{animation:1.4s ease-in-out infinite collector-pulse}.ops-collector-note,.ops-collector-error{border-bottom:1px solid var(--line);min-height:38px;color:var(--text-soft);background:color-mix(in srgb, var(--surface-muted) 55%, transparent);align-items:center;margin:0;padding:8px 20px;font-size:9px;line-height:1.5;display:flex}.ops-collector-error{color:var(--red);background:color-mix(in srgb, var(--red) 7%, var(--surface));gap:7px}.ops-work-visibility{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--surface-muted) 35%, var(--surface));gap:12px;padding:18px 20px;display:grid}.ops-work-now{border:1px solid var(--line);background:var(--surface);border-radius:14px;align-items:flex-start;gap:12px;padding:15px;display:flex}.ops-work-now.running{border-color:color-mix(in srgb, var(--green) 28%, var(--line));background:color-mix(in srgb, var(--green) 5%, var(--surface))}.ops-work-now-icon{width:40px;height:40px;color:var(--text-soft);background:var(--surface-muted);border-radius:12px;flex:0 0 40px;place-items:center;display:grid}.ops-work-now.running .ops-work-now-icon{color:var(--green);background:#1f9d6a1c}.ops-work-now>div{gap:3px;min-width:0;display:grid}.ops-work-now small{color:var(--text-soft);font-size:8px;font-weight:800}.ops-work-now h3{margin:0;font-size:14px}.ops-work-now p{color:var(--text-soft);margin:0;font-size:9px;line-height:1.55}.ops-work-facts{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.ops-work-facts article{border:1px solid var(--line);background:var(--surface);border-radius:11px;gap:3px;min-width:0;padding:11px 12px;display:grid}.ops-work-facts span{color:var(--text-soft);font-size:7px;font-weight:800}.ops-work-facts strong{font-size:14px}.ops-work-facts small{color:var(--text-soft);text-overflow:ellipsis;white-space:nowrap;font-size:8px;line-height:1.4;overflow:hidden}.ops-work-explanation{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.ops-work-explanation p{color:var(--text-soft);background:var(--surface-muted);border-radius:10px;align-content:start;gap:4px;margin:0;padding:10px 11px;font-size:8px;line-height:1.5;display:grid}.ops-work-explanation strong{color:var(--text);font-size:8px}.ops-activity-panel{border:1px solid var(--line);background:var(--surface);border-radius:12px;overflow:hidden}.ops-activity-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.ops-activity-heading>div{align-items:center;gap:6px;display:flex}.ops-activity-heading strong{font-size:9px}.ops-activity-heading small{color:var(--text-soft);font-size:7px}.ops-activity-list{max-height:290px;margin:0;padding:0;list-style:none;overflow-y:auto}.ops-activity-list li{border-bottom:1px solid var(--line);grid-template-columns:112px 10px minmax(0,1fr);gap:8px;padding:9px 12px;display:grid}.ops-activity-list li:last-child{border:0}.ops-activity-list time{color:var(--text-soft);font-size:7px}.ops-activity-dot{background:var(--text-soft);border-radius:50%;width:7px;height:7px;margin-top:3px}.ops-activity-list li.running .ops-activity-dot{background:#e49b18}.ops-activity-list li.success .ops-activity-dot{background:var(--green)}.ops-activity-list li.waiting .ops-activity-dot{background:#9a6500}.ops-activity-list li.error .ops-activity-dot{background:var(--red)}.ops-activity-list li>div{gap:2px;min-width:0;display:grid}.ops-activity-list strong{font-size:8px}.ops-activity-list p{color:var(--text-soft);margin:0;font-size:8px;line-height:1.45}.ops-activity-list code{width:fit-content;color:var(--blue);background:color-mix(in srgb, var(--blue) 8%, transparent);border-radius:4px;margin-top:2px;padding:2px 4px;font-size:6px}.ops-activity-empty{color:var(--text-soft);margin:0;padding:16px 12px;font-size:8px;line-height:1.5}.ops-collection-proposal{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--blue) 3%, var(--surface));padding:18px 20px}.ops-collection-proposal-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.ops-collection-proposal-heading>div{align-items:center;gap:7px;display:flex}.ops-collection-proposal-heading svg{color:var(--green)}.ops-collection-proposal-heading strong{font-size:10px}.ops-collection-proposal-heading small{color:var(--text-soft);font-size:7px}.ops-collection-proposal>div:last-child{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.ops-collection-proposal article{border:1px solid var(--line);background:var(--surface);border-radius:11px;align-items:flex-start;gap:9px;min-width:0;padding:11px;display:flex}.ops-collection-proposal article>span{color:#fff;background:var(--blue);border-radius:8px;flex:0 0 25px;place-items:center;width:25px;height:25px;font-size:8px;font-weight:900;display:grid}.ops-collection-proposal article.contract>span{background:#b97700}.ops-collection-proposal article.fusion>span{background:var(--green)}.ops-collection-proposal article.blocked>span{background:var(--red)}.ops-collection-proposal article>div{gap:3px;min-width:0;display:grid}.ops-collection-proposal article small{color:var(--text-soft);font-size:7px;font-weight:700}.ops-collection-proposal article strong{font-size:9px}.ops-collection-proposal article p{color:var(--text-soft);margin:0;font-size:8px;line-height:1.5}.ops-source-legend{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--blue) 4%, var(--surface));flex-wrap:wrap;align-items:center;gap:7px;padding:12px 20px;display:flex}.ops-source-legend strong{margin-right:3px;font-size:9px}.ops-source-legend span{border:1px solid color-mix(in srgb, var(--blue) 14%, var(--line));color:var(--text-soft);background:var(--surface);border-radius:999px;padding:5px 8px;font-size:8px;font-weight:700}.ops-source-table{display:grid}.ops-source-row{border-bottom:1px solid var(--line);gap:12px;padding:20px;display:grid}.ops-source-row:last-child{border:0}.ops-source-row:hover{background:color-mix(in srgb, var(--surface-muted) 55%, transparent)}.ops-source-row-heading{grid-template-columns:44px minmax(150px,1fr) auto 190px;align-items:center;gap:12px;display:grid}.ops-source-icon{background:var(--surface-muted);border-radius:12px;place-items:center;width:38px;height:38px;font-size:19px;display:grid}.ops-source-name{gap:3px;min-width:0;display:grid}.ops-source-name strong{font-size:12px;line-height:1.45}.ops-source-name code{width:fit-content;color:var(--blue);background:color-mix(in srgb, var(--blue) 8%, transparent);border-radius:4px;padding:2px 5px;font-size:8px}.ops-source-strategy{grid-template-columns:1.5fr 1fr 1fr;gap:8px;display:grid}.ops-source-strategy>div{border:1px solid var(--line);background:var(--surface);border-radius:10px;align-content:start;gap:4px;padding:10px 11px;display:grid}.ops-source-strategy span{color:var(--text-soft);font-size:7px;font-weight:800}.ops-source-strategy strong{font-size:9px;line-height:1.55}.ops-source-caution{color:var(--text-soft);align-items:flex-start;gap:7px;margin:0;font-size:8px;line-height:1.55;display:flex}.ops-source-caution svg{color:var(--green);flex:none}.ops-collector-runtime{border:1px solid var(--line);background:var(--surface);border-radius:10px;justify-items:start;gap:3px;min-width:0;padding:9px 10px;display:grid}.ops-collector-runtime strong{font-size:9px}.ops-collector-runtime small{max-width:100%;color:var(--text-soft);text-overflow:ellipsis;white-space:nowrap;font-size:8px;line-height:1.4;overflow:hidden}.ops-collector-runtime time{color:var(--text-soft);font-size:7px}.ops-runtime-sources{flex-wrap:wrap;gap:3px;width:100%;margin-top:3px;display:flex}.ops-runtime-sources span{color:#176b52;text-overflow:ellipsis;white-space:nowrap;background:#1f9d6a1a;border-radius:5px;max-width:100%;padding:3px 5px;font-size:6px;font-weight:800;overflow:hidden}.ops-runtime-sources span.gated{color:#875a00;background:#e49b181f}.ops-runtime-sources span.unavailable{color:var(--red);background:#e6543b17}.ops-runtime-results{border-top:1px solid var(--line);gap:2px;width:100%;margin-top:3px;padding-top:5px;display:grid}.ops-runtime-results span{color:var(--text-soft);font-size:6px}.ops-runtime-results strong{color:var(--text);font-size:7px}.ops-runtime-results span.error,.ops-runtime-results span.error strong{color:var(--red)}.ops-runtime-state{color:var(--text-soft);background:var(--surface-muted);border-radius:6px;padding:3px 6px;font-size:7px;font-weight:900}.ops-runtime-state.running{color:#875a00;background:#e49b181f}.ops-runtime-state.success{color:#176b52;background:#1f9d6a1a}.ops-runtime-state.waiting{color:#8a5d14;background:#e49b181a}.ops-runtime-state.error{color:var(--red);background:#e6543b17}.ops-source-status{color:#176b52;background:#1f9d6a1a;border-radius:7px;padding:5px 7px;font-size:8px;font-weight:800}.ops-source-status.review{color:#9a6500;background:#e49b181f}.ops-source-status.policy{color:#8b477d;background:#9d4f8f1c}.ops-feed-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.ops-feed-card{border:1px solid var(--line);min-width:0;color:inherit;background:color-mix(in srgb, var(--surface-muted) 55%, var(--surface));border-radius:12px;align-content:start;gap:5px;padding:11px;text-decoration:none;display:grid;position:relative}.ops-feed-card:hover{border-color:color-mix(in srgb, var(--blue) 34%, var(--line));background:color-mix(in srgb, var(--blue) 5%, var(--surface))}.ops-feed-card.default{border-color:color-mix(in srgb, var(--blue) 24%, var(--line));background:color-mix(in srgb, var(--blue) 5%, var(--surface))}.ops-feed-heading{justify-content:space-between;align-items:flex-start;gap:7px;display:flex}.ops-feed-heading strong{font-size:9px;line-height:1.4}.ops-feed-card>small{color:var(--text-soft);font-size:7px;font-weight:700}.ops-feed-card>p{color:var(--text-soft);margin:2px 0;font-size:8px;line-height:1.5}.ops-feed-status{white-space:nowrap;border-radius:5px;flex:none;padding:3px 5px;font-size:6px;font-weight:900}.ops-feed-status.community{color:#275cad;background:#2864dc1a}.ops-feed-status.active{color:#176b52;background:#1f9d6a1a}.ops-feed-status.contract{color:#875a00;background:#e49b181f}.ops-feed-status.ready{color:#176b52;background:#1f9d6a1a}.ops-feed-status.review{color:#8b477d;background:#9d4f8f1c}.ops-feed-status.unavailable{color:var(--red);background:#e6543b17}.ops-feed-timing{flex-wrap:wrap;gap:5px;margin-top:auto;padding-top:3px;display:flex}.ops-feed-timing span{color:var(--text-soft);background:var(--surface);border-radius:5px;padding:3px 5px;font-size:7px;font-weight:700}.ops-feed-link-icon{color:var(--blue);position:absolute;bottom:9px;right:9px}@keyframes collector-pulse{0%,to{opacity:.45}50%{opacity:1}}@media (width<=1100px){.ops-metrics{grid-template-columns:repeat(2,1fr)}.ops-delivery-status{grid-template-columns:1fr}.ops-publication-log li{grid-template-columns:110px minmax(150px,1fr) minmax(240px,1fr)}.ops-publication-targets{grid-column:2/-1;justify-content:flex-start}.ops-grid{grid-template-columns:1fr}.ops-feed-list,.ops-work-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-work-explanation{grid-template-columns:1fr}.ops-collection-proposal>div:last-child{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-prefecture-groups{grid-template-columns:repeat(2,1fr)}}@media (width<=760px){.topbar-text-button{justify-content:center;width:40px;padding:0;font-size:0}.ops-dashboard{padding:24px 14px 40px}.ops-hero{grid-template-columns:1fr;gap:18px}.ops-hero h1{letter-spacing:-1.3px;font-size:33px}.ops-metrics{grid-template-columns:1fr 1fr;gap:8px}.ops-prefecture-groups{grid-template-columns:1fr}.ops-scope-footer{flex-direction:column;align-items:stretch}.ops-copy-command{justify-content:center}.ops-metric-card{padding:13px}.ops-metric-icon{flex-basis:34px;width:34px;height:34px}.ops-metric-card strong{font-size:17px}.ops-publication-history-body{padding:14px}.ops-publication-log li{grid-template-columns:1fr;gap:7px}.ops-publication-targets{grid-column:auto}.ops-publication-log-heading{flex-direction:column;align-items:flex-start;gap:2px}.ops-pipeline{grid-template-columns:36px 1fr;justify-content:stretch}.ops-pipeline>svg{transform:rotate(90deg)}.ops-pipeline>div{text-align:left;grid-column:1/-1;grid-template-columns:36px 1fr;justify-items:start;min-width:0}.ops-pipeline>div>span{grid-row:1/3}.ops-source-row{padding:16px 14px}.ops-work-visibility{padding:14px}.ops-work-facts{grid-template-columns:1fr 1fr}.ops-activity-list li{grid-template-columns:92px 9px minmax(0,1fr)}.ops-source-row-heading{grid-template-columns:42px minmax(0,1fr) auto;align-items:start}.ops-source-name{align-self:center}.ops-source-row-heading .ops-collector-runtime{grid-column:2/-1}.ops-source-strategy,.ops-feed-list{grid-template-columns:1fr}.ops-collection-proposal{padding:14px}.ops-collection-proposal-heading{flex-direction:column;align-items:flex-start}.ops-collection-proposal>div:last-child{grid-template-columns:1fr}.ops-source-legend{padding:10px 14px}.ops-collector-heading{flex-direction:column;align-items:stretch}.ops-collector-controls{flex-wrap:wrap}.ops-collector-controls button{flex:1;justify-content:center}.ops-collector-overall{justify-content:center;width:100%}}@media (width<=430px){.ops-metrics{grid-template-columns:1fr}.ops-panel-heading{align-items:flex-start}.ops-panel-heading>span{text-align:right;max-width:120px}}
