:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#eff4eb;font-synthesis:none;text-rendering:optimizelegibility;--muted:#aab9ad;--line:#e6f2e324;--lime:#c5f36c;background:#101919;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(at 80% 15%,#56824f30,#0000 37rem),linear-gradient(155deg,#172321,#101919 62%);min-width:320px;min-height:100svh;margin:0}.app{min-height:100svh;padding:max(1.25rem, env(safe-area-inset-top)) 1.25rem max(1.5rem, env(safe-area-inset-bottom))}.shell{flex-direction:column;justify-content:center;width:min(100%,58rem);min-height:calc(100svh - 2.75rem);margin:0 auto;display:flex}.eyebrow,.status-label{color:var(--lime);letter-spacing:.16em;margin:0;font-size:.72rem;font-weight:750}h1{letter-spacing:-.065em;margin:2.4rem 0 1rem;font-size:clamp(2.7rem,10vw,5.7rem);font-weight:760;line-height:.99}h1 span{color:#a5b3a8}.intro{max-width:34rem;color:var(--muted);margin:0;font-size:clamp(1rem,4vw,1.25rem);line-height:1.55}.status-card{border:1px solid var(--line);background:linear-gradient(135deg,#273931eb,#17221feb);border-radius:1.25rem;margin-top:clamp(3rem,12vh,7rem);padding:1.3rem;position:relative;box-shadow:0 1.5rem 4rem #0000003b}.status-card:before{background:var(--lime);content:"";width:3rem;height:2px;position:absolute;top:0;left:1.3rem}.status-label{color:#91a497;font-size:.66rem}#startup-status{min-height:6.5rem}.status-title{margin:1rem 0 .45rem;font-size:1.15rem;font-weight:680;line-height:1.35}.status-detail{max-width:38rem;color:var(--muted);margin:0;font-size:.94rem;line-height:1.5}.retry-button{min-height:2.8rem;color:var(--lime);font:inherit;cursor:pointer;background:#c5f36c17;border:1px solid #c5f36c80;border-radius:.7rem;margin-top:1.2rem;padding:.65rem 1rem;font-weight:650}.retry-button:focus-visible{outline-offset:3px;outline:3px solid #fff}@media (min-width:700px){.app{padding-inline:3rem}.status-card{max-width:42rem;padding:1.7rem}}@media (prefers-reduced-motion:no-preference){.shell{animation:.45s ease-out both arrive}@keyframes arrive{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}}.app-home,.app-tablet{min-height:100svh;padding:max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left))}.screen-shell{width:min(100%,72rem);margin:0 auto}.brand-row,.tablet-top,.section-heading,.tablet-actions{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.brand-row{margin-bottom:clamp(1.3rem,4vh,2.5rem)}.brand-row .eyebrow{color:#c5f36c;letter-spacing:.16em;margin:0;font-size:.73rem;font-weight:750}.pack-badge{color:#d9edb7;letter-spacing:.08em;border:1px solid #c5f36c4d;border-radius:999px;padding:.5rem .7rem;font-size:.72rem;font-weight:700}.screen-title{color:#eff4eb;letter-spacing:-.045em;margin:0;font-size:clamp(2rem,6vw,4rem);line-height:1.04}.screen-intro{color:#b9c6bb;max-width:42rem;margin:.75rem 0 1.5rem;font-size:1rem;line-height:1.55}.setup-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:1.6rem 0 2rem;display:grid}.field{color:#c9d4cb;gap:.45rem;font-size:.82rem;font-weight:700;display:grid}.field select{color:#f4f7f0;width:100%;min-height:3rem;font:inherit;background:#1d2c27;border:1px solid #e6f2e338;border-radius:.75rem;padding:.65rem .75rem;font-size:1rem}.field select:focus-visible,button:focus-visible,input:focus-visible{outline-offset:3px;outline:3px solid #f4f7f0}.section-heading{margin:0 0 .8rem}.section-heading h2{margin:0;font-size:1.1rem}.section-heading span{color:#abb9ae;font-size:.85rem}.call-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;display:grid}.home-actions{gap:.65rem;margin:.75rem 0;display:flex}.home-settings{margin:.75rem 0 1rem}.feedback-settings{color:#e9f0e8;border:1px solid #e6f2e32e;border-radius:.8rem;gap:.75rem;min-width:0;margin:.5rem 0;padding:.8rem;display:grid}.feedback-settings legend{color:#c5f36c;padding-inline:.3rem;font-weight:750}.feedback-settings>label:not(.field){align-items:center;gap:.65rem;min-height:2.8rem;display:flex}.feedback-settings input[type=checkbox]{accent-color:#c5f36c;width:1.2rem;height:1.2rem}.feedback-settings input[type=range]{accent-color:#c5f36c;width:min(100%,25rem)}.feedback-settings .quiet-button{justify-self:start}.camera-settings{border-color:#c5f36c47}.camera-control{gap:.35rem;display:grid}.camera-control output{color:#c5f36c;font-variant-numeric:tabular-nums}.camera-setting-actions{flex-wrap:wrap;gap:.5rem;display:flex}.camera-settings-copy{resize:vertical;color:#e9f0e8;background:#111a18;border:1px solid #e6f2e33d;border-radius:.5rem;width:100%;min-height:5.5rem;padding:.55rem;font:.8rem/1.4 ui-monospace,monospace}.camera-copy-status{color:#c5f36c;min-height:1.3em;margin:0}.recommendation-panel{background:linear-gradient(120deg,#26372fcc,#192521cc);border:1px solid #c5f36c4d;border-radius:1rem;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.55rem 1rem;margin:0 0 1.25rem;padding:1rem;display:grid}.recommendation-panel h2{grid-column:1;margin:0;font-size:1rem}.recommendation-status{color:#bdcabb;grid-column:1;margin:0;font-size:.9rem;line-height:1.45}.recommendation-actions{flex-wrap:wrap;grid-area:1/2/span 2;justify-content:end;gap:.55rem;display:flex}.recommendation-actions button{min-height:3rem}.recommendation-actions .primary-button{color:#18211a;background:#c5f36c;border:1px solid #c5f36c;padding:.55rem .8rem}.profile-rating{color:#d9f79d;font-variant-numeric:tabular-nums;margin:1rem 0 .2rem;font-size:clamp(2.5rem,10vw,4rem);font-weight:800}.call-card{background:linear-gradient(140deg,#26372ff0,#192521f0);border:1px solid #e6f2e324;border-radius:1rem;justify-content:space-between;align-items:center;gap:.75rem;min-width:0;padding:.9rem;display:flex}.call-card h3{overflow-wrap:anywhere;margin:.25rem 0 0;font-size:1rem}.call-category{color:#a9bdad;text-transform:capitalize;font-size:.72rem}.call-card button,.primary-button,.quiet-button,.map-controls button{min-height:3rem;font:inherit;cursor:pointer;border-radius:.75rem;font-weight:700}.call-card button{color:#d6f29c;background:#c5f36c17;border:1px solid #c5f36c8c;flex:none;padding:.55rem .8rem}.call-card button:disabled,.primary-button:disabled{opacity:.65;cursor:progress}.content-credit{color:#aab8ad;margin:1rem 0 0;font-size:.78rem;line-height:1.4}.tablet-screen{flex-direction:column;min-height:calc(100svh - 2rem);display:flex}.tablet-top{margin:.1rem 0 1.2rem}.quiet-button{color:#eff4eb;background:#1a2823;border:1px solid #e6f2e338;padding:.55rem .8rem}.tablet-screen .screen-intro{margin-bottom:1rem}.call-eligibility-note{color:#e5d9a8;margin:-.4rem 0 .7rem;font-size:.9rem;line-height:1.45}.preview-time-field{width:min(100%,18rem);margin:0 0 .75rem}.planning-map-frame{background:#13201e;border:1px solid #e6f2e338;border-radius:1rem;flex:auto;min-height:19rem;position:relative;overflow:hidden}.planning-map{position:absolute;inset:0}.planning-map svg{touch-action:none;cursor:grab;width:100%;height:100%;display:block}.planning-map svg:active{cursor:grabbing}.planning-roads{fill:none;stroke:#718c7b;stroke-width:2.1px;stroke-linecap:round;stroke-linejoin:round;opacity:.74}.planning-route{fill:none;stroke:#c5f36c;stroke-width:5px;stroke-linecap:round;stroke-linejoin:round}.planning-route[hidden]{display:none}.planning-marker circle{stroke:#0c1411;stroke-width:3px}.planning-origin circle{fill:#c5f36c}.planning-destination circle{fill:#ffcf70}.map-controls{gap:.4rem;display:flex;position:absolute;top:.65rem;right:.65rem}.map-controls button{color:#f5f7f3;background:#0d1815f0;border:1px solid #ebf3ea47;width:3rem;min-height:3rem;font-size:1.2rem}.map-legend{color:#e9f0e8;background:#0d1815f0;border:1px solid #e6f2e32e;border-radius:.6rem;max-width:calc(100% - 1.4rem);padding:.55rem .7rem;font-size:.78rem;position:absolute;bottom:.7rem;left:.7rem}.assistance-toggle{color:#d3ded4;align-items:center;gap:.65rem;min-height:3rem;margin-top:.75rem;font-size:.9rem;display:flex}.assistance-toggle input{accent-color:#c5f36c;width:1.2rem;height:1.2rem}.tablet-actions{justify-content:flex-end;margin-top:auto;padding-top:.9rem}.primary-button{color:#172018;background:#c5f36c;border:0;min-width:11rem;padding:.7rem 1rem}.map-stage{flex-direction:column;gap:.8rem;min-height:calc(100svh - 2rem);display:flex}.map-stage .screen-title{font-size:clamp(1.8rem,5vw,3rem)}.map-stage-frame{background:#17211d;border:1px solid #e6f2e333;border-radius:1rem;flex:auto;min-height:55svh;position:relative;overflow:hidden}.map-stage-frame[data-feedback-kind]:before{z-index:5;content:"";height:4px;opacity:var(--feedback-edge-opacity,.08);pointer-events:none;position:absolute;inset:0 0 auto}.map-stage-frame[data-feedback-kind=positive]:before{background:#c5f36c}.map-stage-frame[data-feedback-kind=negative]:before{background:#ff806d}.vehicle-marker{z-index:4;pointer-events:none;background:#121d1aeb;border:1px solid #e2f9b3bf;border-radius:1.1rem;place-items:center;width:2.4rem;height:3.25rem;display:grid;position:absolute;top:66%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 .25rem #121d1a66}.vehicle-marker svg{width:1.25rem;height:1.75rem;overflow:visible}.vehicle-marker svg path:first-child{fill:#c5f36c;stroke:#26372b;stroke-width:1.5px}.vehicle-marker svg path:last-child{fill:none;stroke:#26372b;stroke-linecap:round;stroke-width:2px}.map-stage-frame[data-feedback-kind] .vehicle-marker{outline:2px solid rgb(197 243 108/var(--feedback-edge-opacity,.08));animation:vehicle-yaw var(--feedback-duration,.35s) ease-out 1}.map-stage-frame[data-feedback-kind=negative] .vehicle-marker{outline-color:rgb(255 128 109/var(--feedback-edge-opacity,.08))}@keyframes vehicle-yaw{0%,to{rotate:0deg}25%{rotate:calc(var(--vehicle-yaw-wobble,0deg) * -1)}75%{rotate:var(--vehicle-yaw-wobble,0deg)}}.map-stage-frame [data-map-canvas]{position:absolute;inset:0 0 3.5rem}.map-stage-frame>gmp-map-3d{position:absolute;inset:0}.map-stage-credits,.map-stage-brand{z-index:1;color:#f3f6f0;background:#0a120fe0;border-radius:.35rem;padding:.35rem .5rem;font-size:.7rem;position:absolute;bottom:.7rem}.map-stage-credits{left:.7rem}.map-stage-brand{right:.7rem}.map-error{color:#ffe4d8;background:#351e18;border:1px solid #d99274;border-radius:.7rem;padding:.75rem}.drive-hud{z-index:2;pointer-events:none;flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:.75rem}.drive-header,.junction-card,.pause-panel{background:#0e1814f0;border:1px solid #e6f2e32e;border-radius:.95rem;box-shadow:0 .8rem 2.2rem #0000003d}.drive-header{z-index:3;justify-content:space-between;align-items:center;gap:.75rem;max-width:32rem;padding:.75rem .9rem;display:flex;position:relative}.drive-kicker{color:#c5f36c;letter-spacing:.1em;font-size:.68rem;font-weight:750}.drive-call-name{color:#f5f7f3;margin:.2rem 0 0;font-size:1rem}.drive-header button,.junction-card button,.pause-panel button{pointer-events:auto}.pause-button{min-width:4.5rem}.junction-card{pointer-events:auto;align-self:center;width:min(100%,44rem);margin-top:auto;padding:.75rem}.junction-card>p{color:#dbe5db;margin:.1rem .15rem .65rem;font-size:.9rem;font-weight:700}.easy-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;display:grid}.easy-choice{color:#f3f6ef;text-align:left;min-width:0;min-height:3.5rem;font:inherit;cursor:pointer;background:#23332b;border:1px solid #c5f36c61;border-radius:.75rem;flex-direction:column;justify-content:center;align-items:flex-start;gap:.25rem;padding:.65rem .7rem;display:flex}.easy-choice:disabled{color:#a0aaa2;cursor:not-allowed;background:#222a26;border-color:#e6f2e32e}.easy-choice-name{overflow-wrap:anywhere;font-size:1rem;font-weight:730}.easy-choice-direction{color:#c4d1c5;text-transform:capitalize;font-size:.8rem}.junction-card{overscroll-behavior:contain;max-height:min(52svh,25rem);overflow-y:auto}.medium-choices,.hard-suggestions{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}.medium-option,.medium-direction,.hard-suggestion,.hard-direction,.mode-back-button{color:#f3f6ef;overflow-wrap:anywhere;text-align:left;min-width:0;min-height:3rem;font:inherit;cursor:pointer;background:#23332b;border:1px solid #c5f36c61;border-radius:.7rem;padding:.55rem .65rem}.medium-option[data-connected=false]{color:#c8d4ca;border-style:dashed}.hard-street-input{color:#f5f7f3;width:100%;min-height:3rem;font:inherit;background:#101a16;border:1px solid #c5f36c8c;border-radius:.7rem;margin:.35rem 0 .55rem;padding:.55rem .7rem;font-size:1rem;display:block}.voice-input-panel{background:#0c1612c7;border:1px solid #c5f36c47;border-radius:.75rem;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.35rem .65rem;margin:.4rem 0 .65rem;padding:.65rem;display:grid}.voice-input-panel>p:first-child{color:#d3dfd4;grid-column:1/-1;margin:0;font-size:.78rem;line-height:1.4}.voice-start-button,.voice-choice{color:#f3f6ef;min-width:0;min-height:3rem;font:inherit;cursor:pointer;background:#2c4033;border:1px solid #c5f36c94;border-radius:.65rem;padding:.55rem .75rem;font-weight:700}.voice-start-button:disabled{opacity:.75;cursor:wait}.voice-status{grid-column:1/-1;min-height:auto;margin:.15rem 0}.voice-proposals{grid-column:1/-1;gap:.4rem;display:grid}.voice-proposals>p{color:#d3dfd4;margin:.1rem 0;font-size:.86rem}.voice-choice{text-align:left;overflow-wrap:anywhere;width:100%}.mode-input-status{color:#d3dfd4;min-height:1.35em;margin:.45rem .15rem .1rem;font-size:.88rem}.mode-back-button{grid-column:1/-1;width:-moz-fit-content;width:fit-content}.medium-directions,.hard-directions{grid-template-columns:repeat(2,minmax(0,1fr))}.hud-attribution{color:#f3f6ef;background:#0d1815eb;border-radius:.35rem;align-self:flex-end;margin:.45rem .1rem 0;padding:.25rem .4rem;font-size:.68rem}.feedback-indicator{width:-moz-fit-content;width:fit-content;max-width:100%;animation:feedback-enter var(--feedback-duration,.35s) ease-out 1;border:1px solid;border-radius:.65rem;margin:.6rem 0 0;padding:.45rem .7rem;font-size:.88rem;font-weight:700}.feedback-indicator.is-positive{color:#d7f994}.feedback-indicator.is-negative{color:#ffc1b6}@keyframes feedback-enter{0%{opacity:.55}to{opacity:1}}.pause-panel{pointer-events:auto;width:min(26rem,100% - 1rem);padding:1.25rem;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.pause-panel h2{margin:0;font-size:1.4rem}.pause-panel p{color:#c5d1c7;line-height:1.5}.result-screen,.review-screen{padding-block:1.25rem 2rem}.result-rating,.result-outcome{background:#1a2923;border:1px solid #e6f2e32e;border-radius:1rem;max-width:40rem;margin:1.2rem 0;padding:1rem}.result-rating h2,.result-outcome h2{margin:0 0 .55rem;font-size:1rem}.rating-summary{color:#d4dfd5;font-variant-numeric:tabular-nums;align-items:baseline;gap:.25rem;margin:0;font-size:clamp(1.7rem,7vw,2.7rem);display:flex}.rating-after{color:#d9f79d}.rating-delta{color:#d9f79d;font-size:.85em}.training-rank{color:#d3dfd3;margin:.5rem 0 0}.result-outcome p,.review-screen>p{color:#c5d1c7;line-height:1.55}.result-actions{flex-wrap:wrap;gap:.65rem;margin-top:1.2rem;display:flex}.result-actions .primary-button,.result-actions .quiet-button{min-width:8rem}.review-event-list{gap:.65rem;max-width:52rem;padding-left:1.5rem;display:grid}.review-event{background:#1a2923;border:1px solid #e6f2e326;border-radius:.8rem;padding:.7rem .8rem}.review-event h3{margin:0 0 .35rem}.review-event p{color:#c5d1c7;margin:.25rem 0 0;line-height:1.45}.review-event .review-impact{color:#e4efc8}.planning-street-label,.planning-endpoint-label{fill:#f0f6ef;stroke:#13201e;stroke-width:4px;paint-order:stroke;stroke-linejoin:round;pointer-events:none;font:600 12px system-ui}.planning-endpoint-label{fill:#ffdd92;letter-spacing:1px;font-size:13px;font-weight:800}.practice-progress{background:#182823;border:1px solid #c5f36c40;border-radius:1rem;max-width:44rem;margin:1.5rem 0;padding:1.25rem}.practice-progress h2{margin-top:0}.practice-progress p{color:#c5d1c7;line-height:1.55}.drive-mode{color:#aebeb4;letter-spacing:.08em;margin-top:.35rem;font-size:.65rem;font-weight:750;display:inline-block}.drive-telemetry{color:#eff4eb;font-variant-numeric:tabular-nums;background:#0e1814f0;border:1px solid #e6f2e32e;border-radius:.65rem;align-self:flex-start;max-width:100%;margin-top:.5rem;padding:.6rem .8rem;font-size:.82rem}.easy-choice-bearing{color:#ffdd92;font-size:.75rem;font-weight:800}.junction-card .practice-notice{color:#ffdf9c;border-left:3px solid #ffcf70;padding:.65rem;font-weight:500;line-height:1.45}.recovery-panel h2{margin:0 0 .5rem}.recovery-panel>p{font-weight:500;line-height:1.5}.recovery-panel button{margin:.25rem}.map-stage{gap:.4rem}.map-stage>.screen-title{letter-spacing:-.025em;font-size:clamp(1.25rem,3vw,1.7rem)}.map-stage>[role=status]{color:#b9c6bb;margin:0 0 .3rem;font-size:.85rem}.map-stage-frame{min-height:72svh}.drive-hud{gap:.35rem;bottom:4rem}.pause-panel{overscroll-behavior:contain;max-height:calc(100% - 1rem);overflow:auto}.pause-panel .feedback-settings{max-height:none;overflow:visible}@media (max-width:650px){.result-actions{grid-template-columns:1fr;display:grid}.home-actions{grid-template-columns:1fr 1fr;display:grid}.result-actions button{width:100%}.review-event-list{padding-left:1.2rem}}@media (max-height:620px){.map-stage{gap:.35rem;min-height:calc(100svh - .5rem)}.map-stage-frame{min-height:35svh}.drive-hud{inset:.35rem}.junction-card{max-height:46svh;padding:.55rem}.drive-header{padding:.45rem .6rem}}@media (max-width:650px){.setup-grid{grid-template-columns:1fr 1fr}.setup-grid .field:last-child{grid-column:1/-1}.call-grid{grid-template-columns:1fr}.call-card{padding:.8rem}.call-card button{min-width:5.5rem}.recommendation-panel{grid-template-columns:1fr}.recommendation-panel h2,.recommendation-status,.recommendation-actions{grid-area:auto/1;justify-content:start}.planning-map-frame{min-height:50svh}.tablet-actions .primary-button{width:100%}.tablet-actions{justify-content:stretch}.drive-hud{inset:.55rem}.drive-header{width:min(100%,25rem)}.pause-panel{max-height:calc(100% - .5rem);overflow:auto}.junction-card{padding:.6rem}.easy-choices{grid-template-columns:1fr;gap:.45rem;max-height:40svh;overflow:auto}.easy-choice{flex-direction:row;justify-content:space-between;align-items:center;gap:.5rem;min-height:3rem}.easy-choice-name{flex:1;font-size:.9rem}.easy-choice-direction{text-align:right;min-width:3.2rem}.easy-choice-bearing{text-align:center;min-width:1.5rem}.map-controls{flex-wrap:wrap;justify-content:end;max-width:calc(100% - 1.3rem)}.drive-hud{bottom:4rem}.drive-header{padding:.55rem .65rem}.drive-telemetry{padding:.45rem .6rem;font-size:.75rem}.hud-attribution{font-size:.62rem}}@media (min-width:700px){.app-home,.app-tablet{padding-inline:3rem}}@media (prefers-reduced-motion:reduce){.app-home *,.app-tablet *,.map-stage-frame[data-feedback-kind] *,.feedback-indicator{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
