:root{--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px);--brand:linear-gradient(135deg,#3E8BFF 0%,#1E5FD6 55%,#0D3B8F 100%);--brand-solid:#2468E5;--cream:#F2E4C0;--accent:#FF6B4A;--success:#12C48C;--danger:#FF2D3F;--gold:#FFB020;--purple:#B197FF;--bg:#F5F8FC;--bg-glass:rgba(245,248,252,.82);--surface:#FFFFFF;--surface-2:#F1F4F9;--text:#0E1626;--muted:#5D6B84;--faint:#9AA6B6;--line:rgba(14,22,38,.1);--map-land:#E7ECF3;--map-road:#FFFFFF;--map-casing:#D7DEEA;--map-water:#C4E2F3;--map-park:#D5EAD0;--map-block:#E1E7F0;--pin:#FF6B4A;--route:#2E7CF6;--car:#16233b;--shadow:0 18px 44px rgba(11,17,32,.15);--sheet-shadow:0 -16px 48px rgba(11,17,32,.18);--glow:0 10px 34px -8px rgba(36,104,229,.55);--font:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--disp:"Space Grotesk","Inter",sans-serif;--tap:.14s cubic-bezier(.2,.8,.2,1)}:root[data-theme=dark]{--bg:#0B1220;--bg-glass:rgba(11,18,32,.74);--surface:#141D31;--surface-2:#1C2842;--text:#EAF1FB;--muted:#96A5C0;--faint:#5b6a86;--line:rgba(255,255,255,.09);--map-land:#151E30;--map-road:#28344e;--map-casing:#101828;--map-water:#14293e;--map-park:#18301f;--map-block:#1d2a42;--pin:#FF7A4D;--route:#4DA3FF;--car:#dbe6f5;--shadow:0 18px 44px rgba(0,0,0,.5);--sheet-shadow:0 -16px 48px rgba(0,0,0,.55);--glow:0 10px 34px -8px rgba(62,139,255,.4)}:root[data-theme=tactical]{--brand:linear-gradient(135deg,#9BE15D 0%,#4d9e00 55%,#274f00 100%);--brand-solid:#8BE04A;--accent:#FFB000;--success:#8BE04A;--danger:#FF3B30;--gold:#FFB000;--purple:#CFFF6A;--bg:#060907;--bg-glass:rgba(6,9,7,.78);--surface:#0D130D;--surface-2:#141C12;--text:#C9F7B2;--muted:#7fae74;--faint:#4d6b46;--line:rgba(139,224,74,.16);--map-land:#0b110a;--map-road:#1b2915;--map-casing:#080e07;--map-water:#0b1f14;--map-park:#10230e;--map-block:#121b10;--pin:#FFB000;--route:#8BE04A;--car:#8BE04A;--shadow:0 18px 44px rgba(0,0,0,.6);--sheet-shadow:0 -16px 48px rgba(0,0,0,.65);--glow:0 10px 34px -8px rgba(139,224,74,.4);--font:ui-monospace,"SF Mono",Menlo,monospace;--disp:ui-monospace,"SF Mono",Menlo,monospace}:root[data-theme=tactical] .h,:root[data-theme=tactical] .hero-title,:root[data-theme=tactical] .nm,:root[data-theme=tactical] .svc-t,:root[data-theme=tactical] .wordmark{letter-spacing:.05em;text-transform:uppercase}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{margin:0;font-family:var(--font);color:var(--text);background:var(--bg);transition:background .3s,color .3s;overflow:hidden;-webkit-font-smoothing:antialiased}button{font-family:inherit;color:inherit}input{font-family:inherit}.app{height:100vh;height:100dvh;display:flex;flex-direction:column;background:var(--bg);position:relative;overflow:hidden;max-width:540px;margin:0 auto}.stage{flex:1;position:relative;overflow:hidden}.view{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;visibility:hidden;transform:translateY(14px) scale(.995);transition:opacity .3s ease,transform .3s ease;overflow-y:auto;-webkit-overflow-scrolling:touch}.view.on{opacity:1;visibility:visible;transform:none}.pad{padding:calc(var(--sat) + 14px) 18px calc(var(--sab) + 24px)}.pad.subbar{padding-top:14px}.bar{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:calc(var(--sat) + 10px) 16px 10px;min-height:calc(var(--sat) + 56px);background:var(--bg-glass);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--line);z-index:30}.bar .t{display:flex;align-items:center;gap:9px;font-family:var(--disp);font-weight:700;font-size:17px}.bar .t img{width:30px;height:30px;border-radius:9px;box-shadow:var(--glow)}.bar .icons{display:flex;gap:8px;align-items:center}.iconbtn{width:38px;height:38px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);display:grid;place-items:center;cursor:pointer;transition:var(--tap)}.iconbtn:active{transform:scale(.88)}.iconbtn svg{width:19px;height:19px}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-weight:800;color:#fff;font-size:14px;background:var(--brand);box-shadow:var(--glow);cursor:pointer;border:0}.tabs{flex-shrink:0;display:flex;gap:6px;padding:10px 16px;background:var(--bg-glass);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);z-index:29}.tabs button{flex:1;border:0;border-radius:12px;padding:11px;background:transparent;color:var(--muted);font-weight:800;font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:7px;transition:var(--tap)}.tabs button svg{width:16px;height:16px}.tabs button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.rise{opacity:0;animation:riseIn .55s cubic-bezier(.18,.85,.25,1) forwards}@keyframes riseIn{0%{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}.map{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--map-land)}.map svg{width:100%;height:100%;display:block}.mapfade{position:absolute;left:0;right:0;bottom:0;height:44%;background:linear-gradient(to top,var(--bg),transparent);opacity:.9;pointer-events:none;z-index:2}.route-line{fill:none;stroke:var(--route);stroke-width:6;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 2px 6px rgba(46,124,246,.5))}.route-cas{fill:none;stroke:var(--surface);stroke-width:10;stroke-linecap:round;stroke-linejoin:round;opacity:.9}#car{offset-rotate:auto}.map.driving #car{animation:drive var(--eta,9s) cubic-bezier(.45,.05,.55,.95) forwards}@keyframes drive{0%{offset-distance:0%}to{offset-distance:100%}}.m-land{fill:var(--map-land)}.m-water{fill:var(--map-water)}.m-park{fill:var(--map-park)}.m-block{fill:var(--map-block)}.m-cas{stroke:var(--map-casing);fill:none;stroke-linecap:round}.m-road{stroke:var(--map-road);fill:none;stroke-linecap:round}.pin-fill{fill:var(--pin)}.car-circ{fill:var(--car)}.you-fill{fill:var(--route)}.sheet{position:absolute;left:0;right:0;bottom:0;background:var(--surface);border-radius:26px 26px 0 0;box-shadow:var(--sheet-shadow);padding:16px 18px calc(var(--sab) + 22px);z-index:10;animation:sheetup .45s cubic-bezier(.2,.85,.2,1)}.grab{width:42px;height:5px;border-radius:3px;background:var(--line);margin:0 auto 14px}@keyframes sheetup{0%{transform:translateY(102%)}to{transform:translateY(0)}}.hero-title{font-family:var(--disp);font-weight:700;font-size:22px;letter-spacing:-.3px;margin:2px 0 5px}.hero-sub{font-size:13.5px;color:var(--muted);line-height:1.5;margin-bottom:15px}.stats{display:flex;gap:10px;margin-top:14px}.stat{flex:1;background:var(--surface-2);border:1px solid var(--line);border-radius:14px;padding:11px 8px;text-align:center}.stat .n{font-family:var(--disp);font-weight:700;font-size:17px}.stat .l{font-size:9.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.6px;margin-top:3px;font-weight:700}.live{color:var(--success)}.btn{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:9px;width:100%;border:0;border-radius:16px;padding:17px;font-weight:800;font-size:16px;cursor:pointer;transition:var(--tap);color:#fff;background:var(--brand);box-shadow:var(--glow)}.btn:active{transform:scale(.97)}.btn.shimmer:after{content:"";position:absolute;top:0;left:-80%;width:60%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);animation:shimmer 3.2s ease-in-out infinite}@keyframes shimmer{0%,60%{left:-80%}to{left:130%}}.btn.ghost{background:var(--surface-2);color:var(--text);box-shadow:none;border:1.5px solid var(--line)}.btn.dark{background:var(--text);color:var(--bg)}.btn.green{background:linear-gradient(135deg,#19d68f,#0bb277);box-shadow:0 12px 26px -10px #12c48c8c}.btn.purple{background:linear-gradient(135deg,#b197ff,#7a5cff);box-shadow:0 12px 26px -10px #7a5cff8c}.btn.sm{padding:12px;font-size:14px;border-radius:13px}.btn.block{margin-top:10px}.btn:disabled{opacity:.45;pointer-events:none}.slab{display:flex;align-items:center;gap:8px;font-size:11.5px;font-weight:800;letter-spacing:1.4px;color:var(--muted);margin:22px 2px 10px;text-transform:uppercase}.slab:after{content:"";flex:1;height:1px;background:var(--line)}.badge{display:inline-flex;align-items:center;gap:4px;font-size:9.5px;font-weight:800;letter-spacing:.6px;padding:4px 8px;border-radius:20px;text-transform:uppercase}.badge.risk{background:#b197ff29;color:var(--purple);border:1px solid rgba(177,151,255,.35)}.badge.soon{background:var(--surface-2);color:var(--faint);border:1px solid var(--line)}.badge.ok{background:#12c48c24;color:var(--success);border:1px solid rgba(18,196,140,.3)}.badge.req{background:#ff6b4a24;color:var(--accent);border:1px solid rgba(255,107,74,.3)}.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.svc{background:var(--surface);border:1.5px solid var(--line);border-radius:19px;padding:15px 14px;cursor:pointer;transition:var(--tap);text-align:left;position:relative;overflow:hidden}.svc:active{transform:scale(.96)}.svc .ic{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;margin-bottom:12px}.svc .ic svg{width:24px;height:24px}.svc-t{font-weight:800;font-size:14px;font-family:var(--disp);line-height:1.2}.svc .pr{font-size:12.5px;font-weight:800;margin-top:4px}.svc .note{font-size:10px;color:var(--faint);margin-top:5px;line-height:1.3}.svc .eta{position:absolute;top:12px;right:12px;font-size:10px;font-weight:800;color:var(--muted);background:var(--surface-2);padding:4px 8px;border-radius:20px}.svc.off{opacity:.55;pointer-events:none;border-style:dashed}.svc.off .ic{background:var(--surface-2);color:var(--faint)}.ridecard{position:relative;border-radius:22px;padding:2px;background:linear-gradient(135deg,#b197ff,#7a5cff 45%,#2ed8c3);cursor:pointer;transition:var(--tap)}.ridecard:active{transform:scale(.97)}.ridecard .inner{border-radius:20px;background:var(--surface);padding:16px}.ridecard .top{display:flex;align-items:center;gap:12px}.ridecard .ric{width:50px;height:50px;border-radius:15px;background:#b197ff29;color:var(--purple);display:grid;place-items:center;flex:0 0 auto}.ridecard .ric svg{width:27px;height:27px}.ridecard h3{margin:0;font-family:var(--disp);font-size:17px}.ridecard .sub2{font-size:11.5px;color:var(--muted);margin-top:2px;line-height:1.4}.ridecard .price{margin-left:auto;text-align:right}.ridecard .price .n{font-family:var(--disp);font-weight:700;font-size:17px;color:var(--purple)}.ridecard .price .l{font-size:9.5px;color:var(--faint)}.card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:15px;margin-bottom:12px}.row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;font-size:13.5px}.row+.row{border-top:1px solid var(--line)}.row .k{color:var(--muted);display:flex;align-items:center;gap:9px;min-width:0}.row .v{font-weight:700;text-align:right}.total{font-family:var(--disp);font-weight:800;font-size:17px}.finep{font-size:11px;color:var(--muted);margin:-2px 2px 12px;line-height:1.4}.vhead{display:flex;align-items:center;gap:12px;margin-bottom:16px}.back{width:38px;height:38px;border-radius:12px;border:1.5px solid var(--line);background:var(--surface);display:grid;place-items:center;cursor:pointer;color:var(--text);font-size:19px;flex:0 0 auto}.h{font-family:var(--disp);font-size:21px;font-weight:700;margin:0}.sub{font-size:12.5px;color:var(--muted);margin-top:2px}.veh{display:flex;align-items:center;gap:12px;background:var(--surface);border:1.5px solid var(--line);border-radius:17px;padding:14px;margin-bottom:10px;cursor:pointer;transition:var(--tap)}.veh:active{transform:scale(.98)}.veh.sel{border-color:var(--brand-solid);box-shadow:var(--glow)}.veh .vic{width:44px;height:44px;border-radius:13px;background:var(--surface-2);display:grid;place-items:center;color:var(--brand-solid);flex:0 0 auto}.veh .vic svg{width:23px;height:23px}.veh h4{margin:0;font-size:14.5px;font-family:var(--disp)}.veh .plate{font-size:11.5px;color:var(--muted);margin-top:2px}.veh .badges{margin-left:auto;display:flex;flex-direction:column;gap:4px;align-items:flex-end}.searchwrap{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;z-index:9}.radar{position:relative;width:170px;height:170px;display:grid;place-items:center;margin-bottom:10px}.radar .rw{position:absolute;border-radius:50%;border:2px solid var(--brand-solid);opacity:0;animation:radar 2.6s ease-out infinite}@keyframes radar{0%{width:24px;height:24px;opacity:.65}to{width:170px;height:170px;opacity:0}}.radar img{width:76px;height:76px;border-radius:20px;animation:float 3s ease-in-out infinite;z-index:2;box-shadow:var(--glow)}@keyframes float{0%,to{transform:translateY(-7px)}50%{transform:translateY(7px)}}.dots span{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin:0 2px;animation:blink 1.2s infinite}.dots span:nth-child(2){animation-delay:.2s}.dots span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.25}40%{opacity:1}}.status-pill{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:12;background:var(--text);color:var(--bg);font-size:12.5px;font-weight:800;padding:10px 17px;border-radius:30px;box-shadow:var(--shadow);display:flex;align-items:center;gap:8px;white-space:nowrap}.beat{width:8px;height:8px;border-radius:50%;background:var(--success);animation:beat 1.5s infinite}@keyframes beat{0%{box-shadow:0 0 #12c48cb3}70%{box-shadow:0 0 0 8px #12c48c00}}.prov{display:flex;align-items:center;gap:13px;margin-bottom:14px}.pa{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;color:#fff;font-weight:800;font-size:18px;font-family:var(--disp);background:linear-gradient(135deg,#3a4d6e,#141d2f);flex:0 0 auto;position:relative}.pa .vf{position:absolute;bottom:-4px;right:-4px;width:20px;height:20px;border-radius:50%;background:var(--success);border:2.5px solid var(--surface);display:grid;place-items:center}.pa .vf svg{width:11px;height:11px}.nm{font-family:var(--disp);font-weight:700;font-size:16px}.rt{font-size:12px;color:var(--muted);margin-top:2px}.etabox{margin-left:auto;text-align:center;background:var(--surface-2);border-radius:14px;padding:9px 13px}.etabox .n{font-family:var(--disp);font-weight:700;font-size:20px;line-height:1;color:var(--accent)}.etabox .l{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-top:3px}.acts{display:flex;gap:9px;margin-bottom:11px}.acts .a{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;padding:12px 0;border-radius:14px;background:var(--surface-2);border:1px solid var(--line);cursor:pointer;font-size:11px;font-weight:700;transition:var(--tap)}.acts .a:active{transform:scale(.93)}.acts .a svg{width:19px;height:19px;color:var(--brand-solid)}.sos{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:13px;border-radius:14px;background:#ff2d3f1a;border:1.5px solid rgba(255,45,63,.3);color:var(--danger);font-weight:800;font-size:14px;cursor:pointer}.sos svg{width:18px;height:18px}.prog{height:6px;border-radius:4px;background:var(--surface-2);overflow:hidden;margin:8px 0 14px}.prog i{display:block;height:100%;background:var(--brand);border-radius:4px;animation:fillp 2.6s ease forwards}@keyframes fillp{0%{width:8%}to{width:92%}}.otp{display:flex;gap:8px;justify-content:center;margin:18px 0}.otp span{width:46px;height:56px;border-radius:14px;border:1.5px solid var(--line);background:var(--surface-2);display:grid;place-items:center;font-family:var(--disp);font-weight:700;font-size:22px;transition:var(--tap)}.otp span.f{border-color:var(--brand-solid);background:var(--surface);box-shadow:var(--glow);animation:popk .18s}@keyframes popk{0%{transform:scale(.8)}to{transform:scale(1)}}.hiddeninput{position:absolute;opacity:0;pointer-events:none}.notif{position:fixed;top:calc(var(--sat) + 8px);left:10px;right:10px;max-width:520px;margin:0 auto;background:var(--bg-glass);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border:1px solid var(--line);border-radius:20px;padding:13px 15px;display:flex;gap:11px;align-items:center;z-index:400;box-shadow:var(--shadow);animation:notifin .5s cubic-bezier(.2,.9,.25,1.05);cursor:pointer}@keyframes notifin{0%{transform:translateY(-120%);opacity:0}to{transform:none;opacity:1}}.notif .nic{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;color:#fff;flex:0 0 auto}.notif .nic svg{width:20px;height:20px}.notif h5{margin:0;font-size:13px}.notif p{margin:2px 0 0;font-size:12.5px;color:var(--muted)}.notif .tap{margin-left:auto;font-size:10px;color:var(--faint);font-weight:700;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.checkrow{display:flex;align-items:center;gap:11px;padding:13px 4px;border-top:1px solid var(--line);font-size:14px;font-weight:600}.checkrow:first-of-type{border-top:0}.checkrow .st{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:12px;font-weight:800}.checkrow .st.ok{color:var(--success)}.checkrow .st.run{color:var(--muted)}.spin{width:15px;height:15px;border-radius:50%;border:2.5px solid var(--line);border-top-color:var(--brand-solid);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#03070e8c;z-index:300;display:flex;align-items:flex-end;justify-content:center;animation:fadein .25s}@keyframes fadein{0%{opacity:0}to{opacity:1}}.modal{width:100%;max-width:540px;background:var(--surface);border-radius:28px 28px 0 0;padding:20px 20px calc(var(--sab) + 22px);box-shadow:var(--sheet-shadow);animation:sheetup .42s cubic-bezier(.2,.85,.2,1);max-height:92dvh;overflow-y:auto;-webkit-overflow-scrolling:touch}.modal h2{font-family:var(--disp);font-size:23px;margin:2px 0 4px}.modal .sub{margin-bottom:16px}.field{margin-bottom:12px}.field label{display:block;font-size:11.5px;font-weight:800;color:var(--muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.field input{width:100%;border:1.5px solid var(--line);border-radius:14px;padding:15px;font-size:16px;background:var(--surface-2);color:var(--text)}.field input:focus{outline:none;border-color:var(--brand-solid);box-shadow:var(--glow)}.two{display:flex;gap:10px}.two .field{flex:1}.linkish{background:none;border:0;color:var(--brand-solid);font-weight:800;font-size:13px;cursor:pointer;padding:6px}.apay{background:#0b0b0f;color:#fff;border-radius:28px 28px 0 0;padding:20px 20px calc(var(--sab) + 24px);width:100%;max-width:540px;animation:sheetup .4s cubic-bezier(.2,.85,.2,1)}.apay .aphead{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.apay .aplogo{font-weight:800;font-size:18px;letter-spacing:-.5px}.apay .apx{width:32px;height:32px;border-radius:50%;background:#ffffff1f;display:grid;place-items:center;border:0;color:#fff;font-size:15px;cursor:pointer}.apay .apcard{display:flex;align-items:center;gap:12px;background:#ffffff12;border-radius:16px;padding:14px;margin-bottom:10px}.apay .apcc{width:46px;height:32px;border-radius:6px;background:linear-gradient(135deg,#2ed8c3,#0a6e93);display:grid;place-items:center;font-size:9px;font-weight:800}.apay .aprow{display:flex;justify-content:space-between;padding:12px 4px;font-size:14px;color:#c8c8d0}.apay .aptotal{display:flex;justify-content:space-between;padding:14px 4px;font-size:16px;font-weight:800;border-top:1px solid rgba(255,255,255,.12)}.apay .apbtn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;border:0;border-radius:16px;padding:17px;background:#fff;color:#000;font-weight:800;font-size:16px;cursor:pointer;margin-top:12px}.apay .fid{display:flex;flex-direction:column;align-items:center;gap:12px;padding:22px 0 8px}.apay .fid svg{width:64px;height:64px;color:#3f9bff}.apay .fid.scan svg{animation:fidpulse 1.1s ease-in-out infinite}@keyframes fidpulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.93)}}.apay .fid .fmsg{font-size:14px;color:#c8c8d0;font-weight:600}.apay .fid.ok svg{color:#30d158;animation:popk .3s}.clrow{display:flex;align-items:flex-start;gap:12px;padding:13px 2px;border-top:1px solid var(--line);cursor:pointer}.clrow:first-of-type{border-top:0}.clbox{width:26px;height:26px;border-radius:9px;border:2px solid var(--line);flex:0 0 auto;display:grid;place-items:center;transition:var(--tap);margin-top:1px}.clbox svg{width:15px;height:15px;color:#fff;opacity:0;transform:scale(.4);transition:var(--tap)}.clrow.done .clbox{background:var(--success);border-color:var(--success)}.clrow.done .clbox svg{opacity:1;transform:scale(1)}.clrow p{margin:0;font-size:14px;line-height:1.45;font-weight:600}.clrow.done p{color:var(--muted);text-decoration:line-through}.course{display:flex;align-items:center;gap:13px;background:var(--surface);border:1.5px solid var(--line);border-radius:18px;padding:14px;margin-bottom:11px;cursor:pointer;transition:var(--tap)}.course:active{transform:scale(.98)}.course .cic{width:48px;height:48px;border-radius:14px;background:var(--surface-2);display:grid;place-items:center;color:var(--brand-solid);flex:0 0 auto}.course .cic svg{width:24px;height:24px}.course h4{margin:0;font-size:14.5px;font-family:var(--disp)}.course .cm{font-size:11.5px;color:var(--muted);margin-top:3px}.course .right{margin-left:auto;flex:0 0 auto;display:grid;place-items:center;position:relative}.course .pctxt{position:absolute;font-size:10px;font-weight:800}.unibanner{border-radius:22px;padding:2px;background:linear-gradient(135deg,#2ed8c3,#0a6e93 60%,#b197ff);margin-bottom:16px}.unibanner .inner{border-radius:20px;background:var(--surface);padding:18px;display:flex;gap:13px;align-items:center}.unibanner .uic{width:52px;height:52px;border-radius:16px;background:var(--brand);display:grid;place-items:center;color:#fff;flex:0 0 auto;box-shadow:var(--glow)}.unibanner .uic svg{width:28px;height:28px}.lesson{background:var(--surface);border:1.5px solid var(--line);border-radius:16px;padding:16px;margin-bottom:10px;display:flex;gap:12px;align-items:flex-start}.lesson .ln{width:26px;height:26px;border-radius:50%;background:var(--surface-2);display:grid;place-items:center;font-size:12px;font-weight:800;flex:0 0 auto;color:var(--muted)}.lesson.done .ln{background:var(--success);color:#fff}.lesson p{margin:0;font-size:14px;line-height:1.5;font-weight:600}.stars{display:flex;justify-content:center;gap:8px;margin:8px 0 16px}.stars svg{width:40px;height:40px;cursor:pointer;transition:transform var(--tap)}.stars svg:active{transform:scale(.82)}.tips{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:4px 0 16px}.tip{padding:11px 17px;border-radius:13px;border:1.5px solid var(--line);background:var(--surface);color:var(--text);font-weight:800;font-size:14px;cursor:pointer;font-family:var(--disp);transition:var(--tap)}.tip.on{background:var(--text);color:var(--bg);border-color:var(--text)}.done{text-align:center;padding:54px 8px 8px}.check{width:88px;height:88px;border-radius:50%;background:linear-gradient(135deg,#19d68f,#0bb277);display:grid;place-items:center;margin:0 auto 18px;box-shadow:0 16px 40px -8px #12c48c99;animation:pop .5s}.check svg{width:42px;height:42px}@keyframes pop{0%{transform:scale(.4);opacity:0}70%{transform:scale(1.08)}to{transform:scale(1);opacity:1}}.confetti{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:5}.confetti i{position:absolute;top:-12px;width:9px;height:14px;border-radius:2px;opacity:.9;animation:fall linear forwards}@keyframes fall{to{transform:translateY(120vh) rotate(540deg);opacity:0}}.center-card{position:absolute;left:16px;right:16px;bottom:calc(var(--sab) + 18px);background:var(--surface);border-radius:24px;box-shadow:var(--shadow);padding:20px 18px;z-index:10;text-align:center;animation:riseIn .5s cubic-bezier(.2,.85,.2,1)}.online-pill{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:12;background:var(--surface);border-radius:30px;padding:10px 18px;box-shadow:var(--shadow);font-weight:800;font-size:13px;display:flex;align-items:center;gap:9px;font-family:var(--disp)}.g{width:9px;height:9px;border-radius:50%;background:var(--success);animation:beat 1.5s infinite}.incoming{position:absolute;left:14px;right:14px;bottom:calc(var(--sab) + 14px);background:var(--surface);border-radius:26px;box-shadow:0 -8px 44px #00000059;padding:18px;z-index:20;animation:sheetup .45s cubic-bezier(.2,.9,.2,1)}.ring{position:relative;width:52px;height:52px;flex:0 0 auto}.ring svg{transform:rotate(-90deg)}.ring .num{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-family:var(--disp);font-weight:800;font-size:16px}.fare{display:flex;align-items:center;justify-content:space-between;background:var(--surface-2);border:1px solid var(--line);border-radius:15px;padding:13px 15px;margin-bottom:14px}.fare .v{font-family:var(--disp);font-weight:800;font-size:21px;color:var(--success)}.menu-item{display:flex;align-items:center;gap:12px;padding:15px 4px;font-size:15px;font-weight:700;cursor:pointer;border-top:1px solid var(--line)}.menu-item svg{width:20px;height:20px;color:var(--muted)}.menu-item .mchev{margin-left:auto;color:var(--faint)}.menu-item.danger{color:var(--danger)}.menu-item.danger svg{color:var(--danger)}.seg{display:flex;background:var(--surface-2);border-radius:13px;padding:4px;gap:4px}.seg button{flex:1;border:0;background:transparent;color:var(--muted);font-weight:800;font-size:13px;padding:11px;border-radius:10px;cursor:pointer;transition:var(--tap)}.seg button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.brandbg{height:100vh;height:100dvh;background:radial-gradient(1000px 600px at 50% -12%,rgba(90,160,255,.4),transparent 60%),var(--brand);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px;position:relative;overflow:hidden}.brandbg .logo{width:116px;height:116px;border-radius:30px;box-shadow:0 28px 60px -18px #0000008c;animation:float 3.2s ease-in-out infinite}.wordmark{font-family:var(--disp);font-size:36px;font-weight:700;margin:22px 0 2px;letter-spacing:-.5px}.wordmark span{opacity:.85}.tagline{opacity:.92;margin:0 0 32px;font-size:15px}.pick{display:flex;flex-direction:column;gap:12px;width:100%;max-width:330px}.pickbtn{padding:18px;border-radius:18px;border:0;background:#fff;color:#0a5f86;font-weight:800;font-size:17px;cursor:pointer;display:flex;flex-direction:column;gap:2px;transition:var(--tap)}.pickbtn:active{transform:scale(.96)}.pickbtn span{font-size:12px;font-weight:600;opacity:.7}.pickbtn.alt{background:#ffffff26;color:#fff;border:1.5px solid rgba(255,255,255,.4)}.bubbles{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.bubbles i{position:absolute;bottom:-60px;border-radius:50%;background:#ffffff1f;animation:riseb linear infinite}@keyframes riseb{to{transform:translateY(-115vh) scale(1.3);opacity:0}}.splash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;background:var(--brand);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;transition:opacity .5s,visibility .5s}.splash.gone{opacity:0;visibility:hidden}.obwrap{height:100vh;height:100dvh;display:flex;flex-direction:column;background:var(--bg);max-width:540px;margin:0 auto}.obhead{flex-shrink:0;padding:calc(var(--sat) + 12px) 20px 6px;display:flex;align-items:center;gap:12px}.obdots{display:flex;gap:6px;margin-left:auto}.obdots i{width:8px;height:8px;border-radius:4px;background:var(--line);transition:all .3s}.obdots i.on{width:22px;background:var(--brand-solid)}.obbody{flex:1;overflow-y:auto;padding:10px 20px calc(var(--sab) + 24px);-webkit-overflow-scrolling:touch}.obtitle{font-family:var(--disp);font-size:26px;font-weight:700;margin:8px 0 6px;letter-spacing:-.4px}.obsub{color:var(--muted);font-size:14px;line-height:1.5;margin:0 0 20px}.muted{color:var(--muted)}.tc{text-align:center}.obtitle{font-size:clamp(24px,6.6vw,30px)}.h{font-size:clamp(19px,5.4vw,23px)}.hero-title{font-size:clamp(20px,5.8vw,24px)}.selwrap{position:relative}.selwrap select{width:100%;-moz-appearance:none;appearance:none;-webkit-appearance:none;border:1.5px solid var(--line);border-radius:14px;padding:15px 42px 15px 15px;font-size:16px;background:var(--surface-2);color:var(--text);font-weight:600}.selwrap select:focus{outline:none;border-color:var(--brand-solid);box-shadow:var(--glow)}.selwrap select:invalid{color:var(--faint)}.selchev{position:absolute;right:13px;top:50%;transform:translateY(-50%) rotate(90deg);pointer-events:none;color:var(--faint)}.selchev svg{width:16px;height:16px}.swatch{display:inline-block;width:11px;height:11px;border-radius:4px;margin-left:6px;vertical-align:-1px;border:1px solid var(--line)}.ottohero{position:relative;filter:drop-shadow(0 24px 40px rgba(0,0,0,.35));animation:float 3.4s ease-in-out infinite}.ottohero .ohead{transform-origin:512px 520px;animation:headtilt 6.5s ease-in-out infinite}@keyframes headtilt{0%,to{transform:rotate(-1deg)}50%{transform:rotate(1deg)}}.oblink rect{transform-origin:center;animation:blink 4.2s infinite}.oblink rect:nth-child(2){animation-delay:.05s}@keyframes blink{0%,92%,to{height:0}95%{height:88px;y:436}}.brandbg.intro{justify-content:space-between;padding-top:calc(var(--sat) + 30px);padding-bottom:calc(var(--sab) + 26px)}.aurora{position:absolute;top:-30%;right:-30%;bottom:-30%;left:-30%;background:radial-gradient(38% 34% at 28% 30%,rgba(90,160,255,.5),transparent 70%),radial-gradient(40% 36% at 74% 26%,rgba(177,151,255,.35),transparent 70%),radial-gradient(42% 40% at 60% 78%,rgba(255,176,32,.22),transparent 70%);filter:blur(48px);animation:aur 16s ease-in-out infinite alternate;pointer-events:none}@keyframes aur{0%{transform:rotate(-6deg) scale(1)}to{transform:rotate(8deg) scale(1.12)}}.skip{position:absolute;top:calc(var(--sat) + 14px);right:18px;z-index:5;border:1px solid rgba(255,255,255,.35);background:#ffffff1f;color:#fff;font-weight:700;font-size:13px;padding:8px 14px;border-radius:20px;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.islide{display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 26px;animation:riseIn .55s cubic-bezier(.18,.85,.25,1);z-index:2}.ititle{font-family:var(--disp);font-size:clamp(26px,7.4vw,34px);font-weight:700;margin:18px 0 10px;letter-spacing:-.5px;color:#fff}.ibody{font-size:15.5px;line-height:1.6;color:#ffffffe0;max-width:330px;margin:0}.ifoot{display:flex;flex-direction:column;align-items:center;gap:16px;width:100%;z-index:2}.ifoot .obdots i{background:#ffffff4d}.ifoot .obdots i.on{background:#fff}.ibrand{font-family:var(--disp);font-size:13px;letter-spacing:.4px;color:#ffffffa6}.ibrand b{color:#fff}.themes{display:flex;gap:10px;margin-top:20px;width:100%;max-width:350px}.themecard{flex:1;border:2.5px solid transparent;border-radius:18px;padding:14px 8px 12px;font-weight:800;font-size:13px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:8px;transition:var(--tap);box-shadow:0 10px 26px -10px #00000073}.themecard.on{border-color:#fff;transform:scale(1.06)}.themecard .dotd{width:10px;height:10px;border-radius:50%}.themecard .mini{width:100%;height:34px;border-radius:10px;position:relative;overflow:hidden}.themecard .mini i{position:absolute;left:8px;top:8px;width:46%;height:8px;border-radius:4px}.apay{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Inter,sans-serif}.sidebtn{position:relative;display:flex;align-items:center;justify-content:center;gap:12px;padding:18px 0 6px}.sidebtn .hint{font-size:14px;color:#c8c8d0;font-weight:600}.sidebtn .pill{width:7px;height:56px;border-radius:4px;background:#3f9bff;animation:sidepulse 1.2s ease-in-out infinite}@keyframes sidepulse{0%,to{box-shadow:0 0 #3f9bff8c;opacity:1}50%{box-shadow:0 0 0 10px #3f9bff00;opacity:.7}}.ottocorner{position:absolute;right:-8px;bottom:-6px;opacity:.9;pointer-events:none;transform:rotate(-8deg)}:root{color-scheme:light}:root[data-theme=dark],:root[data-theme=tactical]{color-scheme:dark}.radar .rw{width:170px;height:170px;border:2.5px solid var(--brand-solid);border-radius:50%;position:absolute;opacity:0;transform:scale(.14);will-change:transform,opacity;animation:radar2 2.8s cubic-bezier(.25,.6,.35,1) infinite}@keyframes radar2{0%{transform:scale(.14);opacity:.65}65%{opacity:.22}to{transform:scale(1);opacity:0}}.radar .ottohero{filter:none;will-change:transform;animation:float 3.2s ease-in-out infinite}.radar .ohead{animation:none}.searchwrap:before{content:"";position:absolute;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,var(--bg) 30%,transparent 72%);z-index:-1}.searchwrap{background:transparent}.opaw{transform-origin:438px 760px;animation:pawbob 3.4s ease-in-out infinite}.opaw.r{transform-origin:586px 760px;animation-delay:.25s}@keyframes pawbob{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.ottohero.wave .opaw.r{animation:pawwave 1.6s ease-in-out infinite;transform-origin:586px 786px}@keyframes pawwave{0%,to{transform:rotate(0) translateY(0)}30%{transform:rotate(-16deg) translateY(-26px)}60%{transform:rotate(8deg) translateY(-18px)}}.sheetpeek{position:absolute;top:-58px;right:16px;z-index:-1;pointer-events:none}.chatmodal{display:flex;flex-direction:column;max-height:78dvh}.chatlog{flex:1;overflow-y:auto;padding:8px 2px;display:flex;flex-direction:column;gap:8px;min-height:180px}.bubble{max-width:78%;align-self:flex-start;background:var(--surface-2);border:1px solid var(--line);border-radius:16px 16px 16px 5px;padding:10px 13px;font-size:14.5px;line-height:1.4;animation:riseIn .25s}.bubble.mine{align-self:flex-end;background:var(--brand);color:#fff;border:0;border-radius:16px 16px 5px}.bubble .bt{display:block;font-size:9.5px;opacity:.6;margin-top:4px}.chatrow{display:flex;gap:8px;padding-top:10px}.chatrow input{flex:1;border:1.5px solid var(--line);border-radius:13px;padding:13px;font-size:15px;background:var(--surface-2);color:var(--text)}.chatrow input:focus{outline:none;border-color:var(--brand-solid)}.unread{position:absolute;top:6px;right:14px;width:10px;height:10px;border-radius:50%;background:var(--accent);animation:beat 1.5s infinite}.act{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:13px;margin-bottom:9px}.act .aic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--surface-2);flex:0 0 auto}.act .aic svg{width:20px;height:20px}.act h5{margin:0;font-size:13.5px;font-family:var(--disp)}.act .am{font-size:11px;color:var(--muted);margin-top:2px}.act .aright{margin-left:auto;text-align:right}.act .aright .amt{font-family:var(--disp);font-weight:700;font-size:15px}.act .aright .ast{font-size:10.5px;color:var(--muted)}.quotebar{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;gap:14px;padding:14px 18px calc(var(--sab) + 18px);background:var(--bg-glass);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-top:1px solid var(--line);z-index:12}.quotebar .ql{font-size:10px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.6px}.quotebar .qn{font-family:var(--disp);font-weight:700;font-size:24px;transition:all .2s}.ottoimg{width:auto;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 16px 26px rgba(4,10,24,.38));animation:ottofloat 3.6s ease-in-out infinite;will-change:transform}.ottoimg.still{animation:none}@keyframes ottofloat{0%,to{transform:translateY(-6px) rotate(-.5deg)}50%{transform:translateY(6px) rotate(.5deg)}}.radar .ottoimg{filter:drop-shadow(0 10px 18px rgba(4,10,24,.4))}.sheetpeek .ottoimg{animation-duration:4.2s}.otto-row{display:flex;justify-content:center}.capmini{height:34px;width:auto;border-radius:8px}.ottoplate{display:inline-flex;align-items:flex-end;justify-content:center;background:radial-gradient(130% 130% at 50% 18%,#fff,#f3f6fb 78%,#e9eef7);border-radius:30px;box-shadow:0 20px 44px -14px #08143259,inset 0 -10px 24px #0d3b8f0d;border:1px solid rgba(255,255,255,.85)}.ottoplate .ottoimg{filter:none;animation:ottofloat 3.8s ease-in-out infinite}.ottoplate .ottoimg.still{animation:none}:root[data-theme=dark] .ottoimg:not(.inplate),:root[data-theme=tactical] .ottoimg:not(.inplate){filter:drop-shadow(0 0 12px rgba(255,255,255,.38)) drop-shadow(0 14px 24px rgba(0,0,0,.45))}:root[data-theme=light] .ottoimg:not(.inplate){filter:drop-shadow(0 12px 20px rgba(13,30,70,.22))}:root{--flower:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140' viewBox='0 0 140 140'%3E%3Cg fill='%231E5FD6' fill-opacity='0.05'%3E%3Cpath d='M36 22c4-10 14-10 18 0 10-4 15 5 7 12 10 2 10 12 0 13 8 8 3 16-7 12-4 10-14 10-18 0-10 4-15-5-7-12-10-2-10-12 0-13-8-8-3-16 7-12z'/%3E%3Cpath d='M104 88c3-8 11-8 14 0 8-3 12 4 6 10 8 1 8 9 0 10 6 6 2 13-6 10-3 8-11 8-14 0-8 3-12-4-6-10-8-1-8-9 0-10-6-6-2-13 6-10z' fill-opacity='0.5'/%3E%3C/g%3E%3C/svg%3E");--wave:linear-gradient(105deg,#ffffff 0%,#ffffff 34%,#E3EEFF 48%,#5A9AFF 64%,#1E5FD6 82%,#0D3B8F 100%)}body,.app,.stage,.obwrap,.brandbg,.introlight{background-color:#f7fafe;background-image:var(--flower)}.bar{position:relative;background:var(--wave);background-size:240% 100%;animation:wavemove 9s ease-in-out infinite alternate;border-bottom:0;box-shadow:0 10px 28px -14px #0d3b8f59}@keyframes wavemove{0%{background-position:0% 0}to{background-position:100% 0}}.bar .t{color:#0e1626;font-size:18px;letter-spacing:-.3px}.bar .t span{color:#1e5fd6!important;opacity:1!important}.bar .iconbtn{background:#ffffff3d;border-color:#ffffff73;color:#fff}.bar .iconbtn svg{color:#fff}.tabs{background:#fff;border-bottom:1px solid #E4EBF5}.tabs button.on{background:#eaf2ff;color:#1e5fd6;box-shadow:none}.card{border-radius:22px;border-color:#e4ebf5;box-shadow:0 6px 22px -12px #0d3b8f1f}.sheet{border-radius:32px 32px 0 0;box-shadow:0 -18px 50px -18px #0d3b8f4d}.grab{background:#d6e2f2}.btn{border-radius:18px;box-shadow:0 14px 30px -10px #1e5fd680}.btn.ghost{background:#fff;border-color:#c9dbf5;color:#1e5fd6}.btn.dark{background:#0d3b8f;color:#fff}.tip{border-radius:14px;border-color:#c9dbf5;color:#1e5fd6;background:#fff}.stat{background:#fff;border-color:#e4ebf5;border-radius:18px}.stat .n{color:#1e5fd6}.svc{border-radius:22px;border-color:#e4ebf5;box-shadow:0 6px 18px -12px #0d3b8f1f}.svc .eta{background:#eaf2ff;color:#1e5fd6}.slab{color:#8aa0c2}.slab:after{background:#e4ebf5}.status-pill{background:linear-gradient(105deg,#1e5fd6,#0d3b8f);color:#fff}.safety{background:#fff;border-color:#e4ebf5;border-radius:18px;align-items:center;gap:12px;box-shadow:0 6px 18px -12px #0d3b8f1f}.safety p{font-size:12.5px}.radar .rw{border-color:#1e5fd6}.searchwrap:before{display:none}.acts .a{background:#fff;border-color:#e4ebf5}.etabox{background:#eaf2ff}.etabox .n{color:#1e5fd6}.fare{background:#eff7f2;border-color:#cbe9d8}.field input,.selwrap select,.otp span{background:#fff;border-color:#d9e4f2;border-radius:16px}.checkrow .st.ok{color:#0fa968}.finep{color:#7c90ae}.quotebar{background:#ffffffeb;border-top:1px solid #E4EBF5}.quotebar .qn{color:#1e5fd6}.unibanner{background:var(--wave);background-size:240% 100%;animation:wavemove 9s ease-in-out infinite alternate;padding:2px}.mapfade{background:linear-gradient(to top,#F7FAFE,transparent)}.waveband{position:absolute;left:-6%;right:-6%;bottom:-2px;height:30%;pointer-events:none;background:var(--wave);background-size:240% 100%;animation:wavemove 8s ease-in-out infinite alternate;clip-path:polygon(0 42%,100% 2%,100% 100%,0 100%)}.brandbg{color:var(--text)}.brandbg .bubbles i{background:#1e5fd61a}.brandbg .aurora{display:none}.brandbg:after{content:"";position:absolute;left:-6%;right:-6%;bottom:-2px;height:32%;background:var(--wave);background-size:240% 100%;animation:wavemove 8s ease-in-out infinite alternate;clip-path:polygon(0 42%,100% 2%,100% 100%,0 100%);z-index:0}.brandbg>*{position:relative;z-index:2}.wordmark{color:var(--text)}.wordmark span{color:#1e5fd6;opacity:1}.tagline{color:#5d6b84;opacity:1}.pickbtn{background:linear-gradient(105deg,#3e8bff,#1e5fd6);color:#fff;box-shadow:0 16px 34px -12px #1e5fd68c}.pickbtn span{opacity:.85}.pickbtn.alt{background:#fff;color:#1e5fd6;border:2px solid #C9DBF5}.splash{background:#f7fafe;background-image:var(--flower);color:var(--text)}.splash:after{content:"";position:absolute;left:-6%;right:-6%;bottom:-2px;height:34%;background:var(--wave);background-size:240% 100%;animation:wavemove 8s ease-in-out infinite alternate;clip-path:polygon(0 42%,100% 2%,100% 100%,0 100%)}.splash>*{position:relative;z-index:2}.introlight{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:calc(var(--sat) + 34px) 26px calc(var(--sab) + 30px);overflow:hidden}.introlight .skip{position:absolute;top:calc(var(--sat) + 14px);right:18px;z-index:5;border:1.5px solid #C9DBF5;background:#fff;color:#1e5fd6;font-weight:800;font-size:13px;padding:8px 16px;border-radius:20px;cursor:pointer}.introlight .islide{display:flex;flex-direction:column;align-items:center;text-align:center;animation:riseIn .5s cubic-bezier(.18,.85,.25,1);z-index:2}.introlight .ititle{font-family:var(--disp);font-size:clamp(27px,7.4vw,34px);font-weight:700;margin:20px 0 10px;letter-spacing:-.6px;color:var(--text)}.introlight .ibody{font-size:15.5px;line-height:1.6;color:#5d6b84;max-width:330px;margin:0}.introlight .ifoot{display:flex;flex-direction:column;align-items:center;gap:16px;width:100%;z-index:2}.introlight .obdots i{background:#d6e2f2}.introlight .obdots i.on{background:#1e5fd6}.introlight .ibrand{font-family:var(--disp);font-size:13px;color:#8aa0c2}.introlight .ibrand b{color:#1e5fd6}.ottoimg{filter:drop-shadow(0 14px 22px rgba(13,30,70,.24))!important}.apay .ottoimg{filter:drop-shadow(0 0 12px rgba(255,255,255,.4))!important}.intel{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.chipfact{font-size:11px;font-weight:700;color:#3d5a85;background:#eaf2ff;border:1px solid #D2E2FA;padding:5px 10px;border-radius:20px}.chipfact b{color:#1e5fd6}.chipfact.hot{background:#fff1ec;border-color:#ffd9cc;color:#b04a2e}.chipfact.hot b{color:#e1502b}body,.app,.stage,.obwrap,.brandbg,.introlight,.splash{background-image:none!important}.app,.obwrap,.brandbg,.introlight,.splash{background:linear-gradient(165deg,#fbfdff,#edf4fe 34%,#dfebfb 62%,#d3e4fa)}.app:before,.obwrap:before,.introlight:after,.splash:before,.brandbg:before{content:"";position:absolute;width:380px;height:380px;left:-140px;top:4%;border-radius:50%;background:radial-gradient(circle,#3e8bff6b,#3e8bff00 70%);filter:blur(60px);pointer-events:none;z-index:0;animation:orbA 16s ease-in-out infinite alternate}.app:after,.obwrap:after,.brandbg .bubbles{content:"";position:absolute;width:320px;height:320px;right:-120px;bottom:6%;border-radius:50%;background:radial-gradient(circle,#2ed8c34d,#2ed8c300 70%);filter:blur(60px);pointer-events:none;z-index:0;animation:orbB 19s ease-in-out infinite alternate}.brandbg .bubbles i{display:none}@keyframes orbA{to{transform:translate(50px,70px) scale(1.18)}}@keyframes orbB{to{transform:translate(-60px,-50px) scale(1.12)}}.stage,.view{z-index:1}.card,.svc,.stat,.safety,.veh,.act,.course,.lesson,.acts .a,.incoming,.center-card,.online-pill{background:#ffffff9e;backdrop-filter:blur(22px) saturate(1.5);-webkit-backdrop-filter:blur(22px) saturate(1.5);border:1px solid rgba(255,255,255,.9);box-shadow:0 10px 34px -16px #1e5fd647,inset 0 1px #fffffff2}.sheet{background:#ffffffbd;backdrop-filter:blur(28px) saturate(1.5);-webkit-backdrop-filter:blur(28px) saturate(1.5);border-top:1px solid rgba(255,255,255,.95);box-shadow:0 -20px 60px -20px #0d3b8f59}.modal{background:#fffc;backdrop-filter:blur(30px) saturate(1.5);-webkit-backdrop-filter:blur(30px) saturate(1.5);border:1px solid rgba(255,255,255,.95)}.scrim{background:#789bd740;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.tabs{background:#ffffff80;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.tabs button.on{background:#ffffffe6;box-shadow:0 4px 14px -6px #1e5fd64d}.field input,.selwrap select,.otp span,.chatrow input{background:#ffffffb3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.quotebar{background:#ffffffa6;backdrop-filter:blur(24px) saturate(1.5);-webkit-backdrop-filter:blur(24px) saturate(1.5)}.status-pill{background:#0d3b8fd1;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.25);color:#fff}.chipfact{background:#eaf2ffcc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn{box-shadow:0 16px 34px -12px #1e5fd68c,inset 0 1px #ffffff73}.btn:before{content:"";position:absolute;left:6%;right:6%;top:3px;height:42%;border-radius:14px;background:linear-gradient(180deg,#ffffff6b,#fff0);pointer-events:none}.btn.ghost{background:#ffffffa6;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.btn.ghost:before{display:none}.pickbtn{box-shadow:0 18px 40px -14px #1e5fd699,inset 0 1px #ffffff80}.pickbtn.alt{background:#ffffffb3;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.bar:after{content:"";position:absolute;left:0;right:0;top:0;height:46%;background:linear-gradient(180deg,#ffffff80,#fff0);pointer-events:none}.bar{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.matchsplash{position:absolute;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;flex-direction:column;gap:16px;align-items:center;justify-content:center;background:#eef5ff8c;backdrop-filter:blur(28px) saturate(1.4);-webkit-backdrop-filter:blur(28px) saturate(1.4);animation:fadein .3s}.matchsplash .mtxt{font-family:var(--disp);font-weight:700;font-size:23px;letter-spacing:-.4px}.matchsplash .msub{color:var(--muted);font-weight:600;margin-top:-8px}.ottoanim{width:auto;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 14px 22px rgba(13,30,70,.24))}.ottovid{width:auto;max-width:88vw;background:transparent;border:0;filter:drop-shadow(0 20px 30px rgba(13,30,70,.3))}.ottovid.scene{object-fit:cover;background:#fff;border:1px solid rgba(255,255,255,.85);filter:none;box-shadow:0 22px 50px -18px #0d3b8f73}.splash .ottovid.scene{box-shadow:0 30px 70px -22px #0d3b8f8c}.taphint{position:absolute;bottom:calc(var(--sab) + 18px);left:0;right:0;text-align:center;font-size:12px;font-weight:700;color:#8aa0c2}body{background:#f2f7fe}.stage:before{content:"";position:absolute;width:260px;height:260px;left:30%;top:-90px;border-radius:50%;background:radial-gradient(circle,rgba(122,92,255,.16),transparent 70%);filter:blur(50px);pointer-events:none;z-index:0;animation:orbA 21s ease-in-out infinite alternate-reverse}.hero-title,.h,.obtitle,.ititle{background:linear-gradient(105deg,#0e1626 30%,#1e5fd6 85%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.matchsplash .mtxt{background:linear-gradient(105deg,#0e1626 20%,#1e5fd6 80%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.splash .ottovid{filter:none!important;background:transparent;border:0;box-shadow:none}.rolechip{font-size:10px;font-weight:800;letter-spacing:1px;background:#1e5fd61f;color:#1e5fd6;border:1px solid rgba(30,95,214,.3);padding:3px 8px;border-radius:16px;margin-left:6px}.hero-title,.h,.obtitle,.ititle,.nm,.svc-t,.total,.stat .n,.etabox .n,.wordmark,.mtxt{background:none!important;-webkit-text-fill-color:currentColor!important;font-family:Inter,-apple-system,sans-serif!important;color:#0f1b33;letter-spacing:-.02em}.hero-title{font-weight:700;font-size:21px}.h,.obtitle{font-weight:700}.ititle{font-weight:700;color:#0f1b33}.hero-sub,.sub,.obsub,.ibody{color:#5e6e88;font-weight:400}.field label{font-size:10.5px;font-weight:600;letter-spacing:.07em;color:#7c8aa0}.slab{font-size:10.5px;font-weight:700;letter-spacing:1.1px;color:#8494ac}.btn{background:linear-gradient(180deg,#2f74f0,#1e5fd6);border-radius:14px;padding:15px;font-weight:600;font-size:15.5px;letter-spacing:.01em;box-shadow:0 1px 2px #10285a4d,0 10px 22px -10px #1e5fd680}.btn:before{display:none!important}.btn.shimmer:after{display:none!important}.btn:active{transform:translateY(1px);box-shadow:0 1px 2px #10285a4d}.btn:disabled{opacity:.45}.btn.ghost{background:#fff;border:1px solid #D8E1EF;color:#1c4fbf;font-weight:600;box-shadow:0 1px 2px #10285a0f}.btn.green{background:linear-gradient(180deg,#16c283,#0fa968);box-shadow:0 1px 2px #10285a4d,0 10px 22px -10px #0fa96873}.btn.dark{background:#101a2e;color:#fff}.pickbtn{background:linear-gradient(180deg,#2f74f0,#1e5fd6);border-radius:16px;font-weight:600;font-size:16px;box-shadow:0 1px 2px #10285a4d,0 12px 26px -12px #1e5fd68c}.pickbtn.alt{background:#fff;border:1px solid #D8E1EF;color:#1c4fbf;-webkit-backdrop-filter:none;backdrop-filter:none}.pickbtn span{font-weight:500;opacity:.75;font-size:12px}.linkish{font-weight:600;color:#1c4fbf}.field input,.selwrap select,.chatrow input,.otp span{background:#fff!important;border:1px solid #DCE4F0!important;border-radius:14px;color:#0f1b33;font-weight:500;box-shadow:inset 0 1px 2px #10285a08;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.field input::placeholder,.chatrow input::placeholder{color:#9aa8bf;font-weight:400}.field input:focus,.selwrap select:focus,.chatrow input:focus{border-color:#2e6fe6!important;box-shadow:0 0 0 3px #2e6fe621!important}.otp span.f{border-color:#2e6fe6!important;box-shadow:0 0 0 3px #2e6fe621}.card,.svc,.stat,.safety,.veh,.act,.course,.lesson,.acts .a,.center-card,.incoming,.online-pill{background:#fff;border:1px solid #E6ECF5;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:0 1px 2px #10285a0a,0 14px 30px -22px #10285a40}.sheet{background:#fffffff0;backdrop-filter:blur(20px) saturate(1.3);-webkit-backdrop-filter:blur(20px) saturate(1.3)}.modal{background:#fffffff5}.tabs{background:#ffffffd9}.tip{background:#fff;border:1px solid #D8E1EF;color:#1c4fbf;font-weight:600;border-radius:12px;font-family:Inter}.tip.on{background:#1e5fd6;color:#fff;border-color:#1e5fd6}.grab{background:#e3e9f2}.chipfact{background:#eff5ff;border-color:#d9e6fb;-webkit-backdrop-filter:none;backdrop-filter:none}.quotebar{background:#fffffff0}.quotebar .qn{font-family:Inter;font-weight:700}.back{width:34px;height:34px;border-radius:50%;background:transparent;border:1px solid rgba(15,27,51,.16);color:#33415c;font-size:17px;box-shadow:none}.obhead .back{background:#fff;border-color:#dce4f0}.bar .t{font-family:Inter;font-weight:700}.safety{display:flex;align-items:center;gap:13px;text-align:left}.safety img{flex:none}.safety p{margin:0}@media (min-width:760px){html,body{height:100%}body{background:radial-gradient(1100px 640px at 85% -12%,rgba(47,116,240,.14),transparent 62%),radial-gradient(900px 560px at -12% 112%,rgba(46,216,195,.12),transparent 60%),linear-gradient(180deg,#fbfdff,#eef4fd)!important;display:flex;align-items:center;justify-content:center;padding:30px 0 44px}#root{display:flex;align-items:center;justify-content:center;width:100%}.app{position:relative;max-width:430px;width:430px;height:min(910px,92vh);border-radius:52px;overflow:hidden;border:1px solid rgba(15,27,51,.12);box-shadow:0 80px 140px -50px #0d1e466b,0 30px 60px -30px #0d1e4647,0 0 0 10px #0e1626,0 0 0 11px #ffffff8c;background:#f2f7fe}.app .notif,.app .scrim,.app .splash,.app .introlight{position:absolute}body:after{content:"RoadsideOtto · this is the live product, not a mockup";position:fixed;bottom:14px;left:0;right:0;text-align:center;font:600 11.5px/1 Inter,sans-serif;letter-spacing:.06em;color:#8fa1bd}}.sw{flex:none;width:52px;height:30px;border-radius:100px;background:#e1e8f4;border:0;position:relative;cursor:pointer;transition:background .25s;padding:0}.sw:after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #10285a4d;transition:left .25s}.sw.on{background:var(--accent, #1E5FD6)}.sw.on:after{left:25px}.btn.pulse{animation:ctapulse 3.4s ease-in-out infinite}@keyframes ctapulse{0%,to{box-shadow:0 1px 2px #10285a4d,0 10px 22px -10px #1e5fd680}50%{box-shadow:0 1px 2px #10285a4d,0 16px 36px -8px #1e5fd6bf}}.ridecard{position:relative;overflow:hidden}.ridecard .rib{position:absolute;top:0;right:0;z-index:2;background:linear-gradient(90deg,#8e6bff,#b197ff);color:#fff;font:700 9.5px/1 Inter,sans-serif;letter-spacing:.11em;padding:6px 11px;border-radius:0 0 0 12px}.rushcard{border-color:#1e5fd659!important;background:linear-gradient(180deg,#f7faff,#eff5ff)!important}
