/* Warehouse Live: full-screen control room */
body.whl-open{overflow:hidden}
.whl{position:fixed;inset:0;z-index:200000;background:#070b16;color:#e5e7eb;font:600 12px system-ui,sans-serif;display:flex;flex-direction:column}
.whl-top{display:flex;align-items:center;gap:14px;padding:10px 16px;background:#0d1426;border-bottom:1px solid #1e2a4a;flex-wrap:wrap}
.whl-title{display:flex;align-items:center;gap:10px;font:900 15px system-ui,sans-serif;letter-spacing:.14em}
.whl-title svg{color:#a78bfa}
.whl-live{display:inline-flex;align-items:center;gap:6px;font:900 11px system-ui,sans-serif;color:#4ade80;letter-spacing:.1em}
.whl-live i{width:9px;height:9px;border-radius:50%;background:#22c55e;box-shadow:0 0 10px #22c55e;animation:whlpulse 1.4s infinite}
@keyframes whlpulse{50%{opacity:.35}}
.whl-regions{display:flex;gap:4px;flex-wrap:wrap}
.whl-regions button,.whl-meta button{border:1px solid #2a3556;background:#111a33;color:#cbd5e1;border-radius:999px;padding:5px 12px;font:800 11px system-ui,sans-serif;cursor:pointer}
.whl-regions button.on{background:#6d28d9;border-color:#6d28d9;color:#fff}
.whl-meta{margin-left:auto;display:flex;align-items:center;gap:10px;color:#94a3b8}
.whl-meta [data-close]{font-size:18px;line-height:1;padding:3px 11px}
.whl-meta [data-refresh].is-on{opacity:.65;cursor:progress}
.whl-awake{padding:3px 9px;border-radius:999px;border:1px solid #2a3556;font-size:10px}.whl-awake.ok{color:#4ade80;border-color:#14532d}.whl-awake.bad{color:#fbbf24;border-color:#78350f}
.whl-ring{width:20px;height:20px;display:inline-block}.whl-ring svg{width:20px;height:20px;transform:rotate(-90deg)}
.whl-ring circle{fill:none;stroke:#a78bfa;stroke-width:3;stroke-dasharray:56.5;stroke-dashoffset:56.5}
.whl-ring.go circle{animation:whlring 4s linear forwards}
@keyframes whlring{from{stroke-dashoffset:56.5}to{stroke-dashoffset:0}}
.whl-grid{flex:1;overflow:auto;padding:12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;align-content:start;grid-auto-rows:min-content}
.whl-tile{background:#0b1226;border:1px solid #1e2a4a;border-radius:12px;overflow:hidden;position:relative;display:flex;flex-direction:column;min-height:180px}
.whl-tile.wide{grid-column:1/-1}
@media(min-width:1100px){.whl-tile.wide{grid-column:span 2}}
.whl-tile::after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 3px)}
.whl-tile header{display:flex;align-items:center;gap:8px;padding:7px 10px;background:#101a35;border-bottom:1px solid #1e2a4a}
.whl-tile header .cam{font:900 10px ui-monospace,monospace;color:#a78bfa;letter-spacing:.1em}
.whl-tile header b{font:800 12px system-ui,sans-serif;flex:1}
.whl-tile header .rec{width:8px;height:8px;border-radius:50%;background:#ef4444;animation:whlpulse 1.2s infinite}
.whl-tile header time{font:600 10px ui-monospace,monospace;color:#64748b}
.whl-tile .body{padding:10px;flex:1;min-width:0}
.whl-tile h6{margin:8px 0 4px;font:900 10px system-ui,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8}
.whl-kv{display:flex;flex-wrap:wrap;gap:6px 14px;margin-bottom:8px}
.whl-kv div{min-width:70px}.whl-kv b{display:block;font:900 20px system-ui,sans-serif}.whl-kv small{color:#94a3b8;font-weight:600;font-size:10px}
.whl-kv .warn b{color:#fbbf24}.whl-kv .bad b{color:#f87171}.whl-kv .ok b{color:#4ade80}
.whl-list{list-style:none;margin:0;padding:0}
.whl-list li{display:flex;justify-content:space-between;gap:8px;padding:5px 0;border-bottom:1px solid #16213f;align-items:center}
.whl-list li div{min-width:0}.whl-list li b{display:flex;align-items:center;gap:6px;font-weight:700}.whl-list li small{display:block;color:#94a3b8;font-weight:500;font-size:10px}
.whl-list li span{color:#94a3b8;font-size:10px;white-space:nowrap}
.whl-list img{width:22px;height:22px;border-radius:4px;object-fit:cover}
.whl-empty{color:#64748b;margin:6px 0;font-weight:600}
.whl-who{color:#a5b4fc;margin:2px 0 6px}
.whl-note{display:block;color:#94a3b8;font-weight:500;margin-top:6px}
.whl-carts{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:8px}
.whl-carts div{border:1px solid #1e2a4a;border-radius:8px;padding:6px;text-align:center;background:#0d1530}
.whl-carts div.on{border-color:#16a34a;background:#052e1a}.whl-carts div.stuck{border-color:#f59e0b;background:#3a2a08}.whl-carts div.bad{border-color:#ef4444;background:#3a1218}.whl-carts div.stuck small,.whl-carts div.bad small{color:#fde68a}.whl-carts b{display:block;font-size:11px}.whl-carts span{display:block;font-size:10px;color:#94a3b8}.whl-carts small{color:#64748b;font-size:9px}
.whl-force{flex:none;border:1px solid #b45309;background:#3a2414;color:#fdba74;border-radius:8px;padding:3px 8px;font:800 10px system-ui,sans-serif;cursor:pointer}
.whl-job{display:inline-flex;gap:4px;align-items:center}
.whl-job select{height:24px;max-width:120px;border-radius:8px;border:1px solid #2a3556;background:#0b1226;color:#e5e7eb;font:600 10px system-ui,sans-serif}
.whl-find{display:flex;align-items:center;gap:6px;color:#94a3b8;font:800 11px system-ui,sans-serif}
.whl-find input{height:28px;border:1px solid #2a3556;background:#0b1226;color:#e5e7eb;border-radius:999px;padding:0 12px;width:180px;font:600 12px system-ui,sans-serif}
.whl-findbox{display:flex;gap:6px;flex-wrap:wrap;padding:8px 16px;background:#0d1426;border-bottom:1px solid #1e2a4a}
.whl-findbox[hidden]{display:none}
.whl-findbox button{text-align:left;border:1px solid #2a3556;background:#111a33;color:#e5e7eb;border-radius:10px;padding:6px 10px;cursor:pointer;max-width:280px}
.whl-findbox button b{display:block;font-weight:800}.whl-findbox button small{color:#94a3b8;font-weight:600}
.whl-findbox p{margin:0;color:#94a3b8;font-weight:600}
.whl-tile.is-find{outline:2px solid #facc15;outline-offset:-2px}
.whl-qc b{font:900 16px system-ui,sans-serif}.whl-qc span{display:block;color:#94a3b8;margin:2px 0 6px}
.whl-qc .bar{height:8px;background:#16213f;border-radius:99px;overflow:hidden}.whl-qc .bar i{display:block;height:100%;background:#22c55e;transition:width .6s}
.whl-qc small{color:#94a3b8}
.whl-btn{margin-top:8px;border:1px solid #2a3556;background:#111a33;color:#e5e7eb;border-radius:8px;padding:6px 12px;font:800 11px system-ui,sans-serif;cursor:pointer}
.whl-btn.pri{background:#6d28d9;border-color:#6d28d9;color:#fff}.whl-btn:disabled{opacity:.6}
.whl-ai{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
/* yard camera */
.whl-yard{width:100%;height:auto;max-height:340px;display:block;border-radius:8px}
.whl-yard text{font-family:system-ui,sans-serif}
.whl-tl{font-size:10px;font-weight:900;fill:#fff;paint-order:stroke;stroke:rgba(0,0,0,.55);stroke-width:2px}
.whl-ts{font-size:9px;font-weight:700;fill:#fff;paint-order:stroke;stroke:rgba(0,0,0,.55);stroke-width:2px}
.whl-bt{font-size:9px;font-weight:900;fill:#cbd5e1;letter-spacing:.3em}.whl-dn{font-size:9px;font-weight:900;fill:#fbbf24}.whl-ht{font-size:10px;font-weight:900;fill:#4ade80}
.whl-vehicle{transition:transform 1s}
.whl-vehicle.drive{animation:whldrive 7s ease-in forwards}
@keyframes whldrive{from{transform:translate(210px,150px)}to{transform:translate(1000px,205px)}}
.whl-vehicle.whl-road1{animation:whlroad1 16s linear infinite}
.whl-vehicle.whl-road2{animation:whlroad2 11s linear infinite}
@keyframes whlroad1{from{transform:translate(400px,200px)}to{transform:translate(1010px,200px)}}
@keyframes whlroad2{from{transform:translate(1010px,236px) scaleX(1)}to{transform:translate(400px,236px) scaleX(1)}}
.whl-road{animation:whlline 2s linear infinite}@keyframes whlline{to{stroke-dashoffset:-48}}
.whl-ylegend{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:8px}
.whl-ychips{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.whl-ychips span{font:900 10px system-ui,sans-serif;color:#a78bfa;letter-spacing:.06em}
.whl-ychips em{font-style:normal;display:inline-flex;align-items:center;gap:4px;color:#cbd5e1;font-weight:600}
.whl-ychips i{width:12px;height:12px;border:2px solid;border-radius:3px;display:inline-block}
.whl-top svg{flex:none}
@media(prefers-reduced-motion:reduce){.whl-vehicle.whl-road1,.whl-vehicle.whl-road2,.whl-vehicle.drive,.whl-road,.whl-live i,.whl-tile header .rec{animation:none}.whl-vehicle.whl-road1{transform:translate(500px,200px)}.whl-vehicle.whl-road2{transform:translate(520px,236px)}}
@media(max-width:700px){.whl-grid{grid-template-columns:1fr}.whl-tile.wide{grid-column:auto}.whl-meta{margin-left:0}}
#inventory-warehouse-btn{color:#7c3aed}

/* 3D mode */
.whl-views{display:flex;gap:4px}
.whl-views button{border:1px solid #2a3556;background:#111a33;color:#cbd5e1;border-radius:999px;padding:5px 12px;font:800 11px system-ui,sans-serif;cursor:pointer}
.whl-views button.on{background:#0e7490;border-color:#0e7490;color:#fff}
.whl-3d{display:none;position:relative;flex:1;min-height:0;background:radial-gradient(120% 90% at 50% 0%,#162144 0%,#0a0f20 60%,#05070d 100%)}
.whl.mode-3d .whl-3d{display:block}.whl.mode-3d .whl-grid{display:none}
.w3-stage{position:absolute;inset:0;perspective:2200px;perspective-origin:50% 36%;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;overflow:hidden}
.w3-stage.is-drag{cursor:grabbing}
.w3-world{position:absolute;left:50%;top:50%;transform-style:preserve-3d;will-change:transform}
.w3-world.w3-ease{transition:transform .8s ease}
.w3-world *{box-sizing:border-box}
.w3-bar{position:absolute;left:50%;transform:translateX(-50%);bottom:14px;display:flex;gap:6px;z-index:5;background:rgba(10,14,25,.7);padding:6px;border-radius:999px;border:1px solid #1e2a4a}
.w3-bar button{border:0;background:#111a33;color:#e2e8f0;border-radius:999px;padding:6px 12px;font:800 11px system-ui,sans-serif;cursor:pointer}.w3-bar button:hover{background:#6d28d9}
.w3-hint{position:absolute;left:12px;bottom:14px;font-size:11px;color:#94a3b8;background:rgba(10,14,25,.6);padding:5px 9px;border-radius:8px;pointer-events:none;z-index:5}
.w3-card{position:absolute;right:12px;top:12px;bottom:70px;width:min(380px,92vw);background:#0b1226f2;border:1px solid #1e2a4a;border-radius:12px;z-index:6;overflow:auto;box-shadow:0 12px 40px rgba(0,0,0,.5)}
.w3-card[hidden]{display:none}
.w3-card header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid #1e2a4a;position:sticky;top:0;background:#101a35}
.w3-card header button{border:0;background:#1e2a4a;color:#fff;border-radius:6px;font-size:16px;width:26px;height:26px;cursor:pointer}
.w3-card .whl-cardbody{padding:10px 12px}
/* surfaces */
.w3-ground{background:#0b1020}
.w3-yard{background:linear-gradient(#1b2b22,#20352a)}
.w3-road{background:#2b303b}.w3-roadline{background:repeating-linear-gradient(90deg,#facc15 0 40px,transparent 40px 80px)}
.w3-floor{background:linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px) 0 0/60px 60px,linear-gradient(0deg,rgba(255,255,255,.05) 1px,transparent 1px) 0 0/60px 60px,linear-gradient(135deg,#7d879f,#939cb2 50%,#79849d);border-radius:8px}
.w3-zonefloor{background:rgba(99,102,241,.16);border:2px dashed rgba(167,139,250,.5);border-radius:10px}.w3-zonefloor.ai{background:rgba(139,92,246,.2)}
.w3-dropfloor{background:rgba(245,158,11,.12);border:2px dashed rgba(245,158,11,.45);border-radius:10px}
.w3-wall{background:linear-gradient(#4b5675,#313a54);border-bottom:2px solid #1f2638}
.w3-door{background:repeating-linear-gradient(#94a3b8 0 9px,#7b8aa3 9px 11px);border:3px solid #263149}
.w3-sign{display:flex;align-items:center;justify-content:center;text-align:center;background:linear-gradient(90deg,#17171d,#2b2f45);color:#fff;border-radius:8px;border-left:6px solid #a78bfa;font:900 17px/1.1 system-ui,sans-serif;padding:0 10px;cursor:pointer}
.w3-sign small{display:block;font:700 12px/1.2 system-ui,sans-serif;color:#c7ccdf;margin-top:2px}
.w3-sign.ok{border-left-color:#22c55e}.w3-sign.warn{border-left-color:#f59e0b}.w3-sign.bad{border-left-color:#ef4444}.w3-sign.found{box-shadow:0 0 0 3px #facc15}
.w3-foundtag{background:#facc15;color:#111;border-radius:4px;font:900 10px system-ui,sans-serif;text-align:center}.w3-sign.role{border-left-color:#64748b;font-size:15px}.w3-sign.title{border-left-color:#06b6d4;font-size:22px;justify-content:flex-start}.w3-sign.bank{border-left-color:#3b82f6;font-size:16px;justify-content:flex-start}
.w3-tag{background:rgba(10,14,25,.85);color:#fff;border-radius:5px;font:800 11px/15px system-ui,sans-serif;text-align:center;white-space:nowrap;border:1px solid #334155}
.w3-tag.pick{border-color:#f59e0b}.w3-tag.qc{border-color:#22c55e}
.w3-check{display:flex;align-items:center;justify-content:center;background:#16a34a;color:#fff;border-radius:50%;font:900 14px system-ui,sans-serif}
/* objects */
.w3-shelf .f{background:#475569;border:1px solid #1e293b}.w3-shelf.full .f{background:#2563eb}.w3-shelf.low .f{background:#d97706}.w3-shelf .f.top{background:#64748b}
.w3-pbox .f{background:#d6a65f;border:1px solid #7c5a2b}.w3-pbox.low .f{background:#f59e0b}.w3-pbox.full .f{background:#d6a65f}
.w3-pbox .f.front{display:flex;align-items:center;justify-content:center;font:900 9px system-ui,sans-serif;color:#3b2a10}
.w3-house .f{background:#475569}.w3-house.on .f{background:#64748b}.w3-roof .f{background:#7f1d1d}
.w3-wire{background:repeating-linear-gradient(0deg,rgba(203,213,225,.5) 0 1px,transparent 1px 8px),repeating-linear-gradient(90deg,rgba(203,213,225,.5) 0 1px,transparent 1px 8px);border:1px solid rgba(203,213,225,.6)}
.w3-cartdeck .f{background:#475569}.w3-wheel .f{background:#0f172a}
.w3-trailer .f,.w3-cab .f{background:var(--c,#6d28d9);border:1px solid rgba(0,0,0,.35)}.w3-stripe .f{background:var(--c,#facc15)}
.w3-twall{background:repeating-linear-gradient(90deg,var(--c,#6d28d9) 0 22px,rgba(0,0,0,.2) 22px 24px);filter:brightness(.85)}.w3-twall.r{filter:brightness(.7)}
.w3-tfloor{background:repeating-linear-gradient(90deg,#4b3a28 0 18px,#5a4630 18px 20px)}
.w3-tback{background:linear-gradient(#0b0f19,#1b2438);display:flex;align-items:center;justify-content:center;font:900 16px system-ui,sans-serif;letter-spacing:.12em}
.w3-cargo .f{background:#d6a65f;border:1px solid #7c5a2b}.w3-cargo .f.front{display:flex;align-items:center;justify-content:center;font:900 10px system-ui,sans-serif;color:#3b2a10}
.w3-tl{background:rgba(10,14,25,.8);color:#fff;font:900 11px/1.2 system-ui,sans-serif;text-align:center;border-radius:4px;display:flex;flex-direction:column;justify-content:center}.w3-tl small{font-weight:700;font-size:9px}
.w3-belt .f{background:#1f2937}.w3-belt .f.top{background:repeating-linear-gradient(0deg,#374151 0 10px,#4b5563 10px 12px)}.w3-belt.run .f.top{animation:w3belt .9s linear infinite}
@keyframes w3belt{from{background-position:0 0}to{background-position:0 -12px}}
.w3-rail .f{background:#f59e0b}
.w3-bar-x{display:none}
.w3-bar .f,.w3-world .w3-bar-chart{}
.w3-desk .f{background:#92400e}.w3-screen .f{background:#0f172a;border:1px solid #38bdf8}.w3-screen.ai .f{background:#312e81;border-color:#a78bfa}
.w3-platform .f{background:#334155}.w3-robot .f{background:#6366f1}.w3-robothead .f{background:#a5b4fc}
.w3-leg .f{background:#1e293b}.w3-body .f{background:var(--c,#8b5cf6)}.w3-head .f{background:#f5c9a6}
.w3-halo{background:radial-gradient(closest-side,rgba(34,197,94,.7),rgba(34,197,94,0));border-radius:50%;animation:whlpulse 1.4s infinite}
.w3-ppl{position:absolute;left:0;top:0;transform-style:preserve-3d;animation:w3bob 2.8s ease-in-out infinite;animation-delay:var(--d,0s)}
@keyframes w3bob{50%{transform:translate3d(0,0,1.4px)}}
.p3-cube.w3-bar-col .f{background:var(--c)}
.w3-world .p3-cube[style*="--c"].w3-barc .f{background:var(--c)}
.w3-run1{position:absolute;left:0;top:0;transform-style:preserve-3d;animation:w3run1 20s linear infinite}
.w3-run2{position:absolute;left:0;top:0;transform-style:preserve-3d;animation:w3run2 14s linear infinite}
@keyframes w3run1{from{transform:translate3d(-160px,0,0)}to{transform:translate3d(1560px,0,0)}}
@keyframes w3run2{from{transform:translate3d(1560px,0,0)}to{transform:translate3d(-160px,0,0)}}
.w3-truckwrap{position:absolute;left:0;top:0;transform-style:preserve-3d}
.w3-truckwrap.arrive{animation:w3in 2.6s ease-out}.w3-truckwrap.leave{animation:w3out 3s ease-in forwards}
@keyframes w3in{from{transform:translate3d(0,-260px,0)}to{transform:translate3d(0,0,0)}}
@keyframes w3out{from{transform:translate3d(0,0,0)}to{transform:translate3d(0,-330px,0)}}
.w3-beltgo{position:absolute;left:0;top:0;transform-style:preserve-3d;animation:w3go 9.6s linear infinite}
@keyframes w3go{0%{transform:translate3d(0,0,0);visibility:visible}88%{transform:translate3d(0,var(--p3d),0);visibility:visible}89%,100%{transform:translate3d(0,var(--p3d),0);visibility:hidden}}
[data-zone]{cursor:pointer}
@media(prefers-reduced-motion:reduce){.w3-run1,.w3-run2,.w3-ppl,.w3-beltgo,.w3-halo{animation:none}.w3-run1{transform:translate3d(500px,0,0)}.w3-run2{transform:translate3d(700px,0,0)}}

/* orders highway */
.w3-hwpost{--c:#475569}.w3-hwpost .f{background:#475569}
.w3-hwdeck .f{background:#1e293b}.w3-hwdeck .f.top{background:#273449}
.w3-hwlane{background:#0f172a;border-top:1px solid #334155}.w3-hwdash{background:repeating-linear-gradient(90deg,#facc15 0 12px,transparent 12px 24px)}
.w3-hwtag{background:var(--c,#334155);color:#0b1020;font:900 7px system-ui,sans-serif;text-align:center;border-radius:3px;white-space:nowrap;display:flex;align-items:center;justify-content:center}
.w3-van .f,.w3-vcab .f{background:var(--c,#64748b)}.w3-van .f.top,.w3-vcab .f.top{background-image:linear-gradient(rgba(255,255,255,.14),rgba(255,255,255,.14))}.w3-vstripe .f{background:var(--c,#e2e8f0)}
.w3-vtag{background:#fff;color:#0b1020;font:900 7px system-ui,sans-serif;text-align:center;border-radius:2px;display:flex;align-items:center;justify-content:center;white-space:nowrap}
.w3-hwv{position:absolute;left:0;top:0;transform-style:preserve-3d}
.w3-hwv.go{animation:w3hw 6s linear infinite;animation-delay:var(--dl,0s)}
.w3-hwv.bad .f{filter:grayscale(.8) brightness(.8)}
@keyframes w3hw{from{transform:translate3d(-40px,0,0)}to{transform:translate3d(60px,0,0)}}
.w3-van:hover .f,.w3-vcab:hover .f{filter:brightness(1.5)}
.w3-tip{position:absolute;z-index:6;width:216px;background:#0b1020ee;border:1px solid #6d28d9;border-radius:10px;padding:9px 11px;color:#e2e8f0;font:600 11px/1.45 system-ui,sans-serif;pointer-events:none;box-shadow:0 8px 24px #0009}
.w3-tip b{font-size:13px;margin-right:6px}.w3-st{display:inline-block;padding:1px 7px;border-radius:999px;background:#334155;font-weight:800;text-transform:uppercase;font-size:9px}
.w3-st.new{background:#f59e0b;color:#111}.w3-st.ready{background:#06b6d4;color:#111}.w3-st.ship{background:#8b5cf6}.w3-st.ofd{background:#f97316;color:#111}.w3-st.done{background:#22c55e;color:#111}.w3-st.bad{background:#ef4444}
@media(prefers-reduced-motion:reduce){.w3-hwv.go{animation:none}}

/* back-office wing: vendors, meetings, airport, product editors */
.w3-payfloor{background:repeating-linear-gradient(45deg,#2a2410 0 14px,#332b12 14px 28px);border:1px dashed #facc15}
.w3-vault .f{background:#334155}.w3-vault .f.front{background:linear-gradient(135deg,#475569,#1e293b);box-shadow:inset 0 0 0 5px #facc15}
.w3-cash .f{background:#16a34a}.w3-cash .f.top{background:#22c55e}.w3-cashtop .f{background:#fde047}
.w3-rug{background:#1e3a5f}.w3-table .f{background:#8a5a2b}.w3-table .f.top{background:#a56d34}.w3-chair .f{background:#334155}
.w3-glass{background:rgba(147,197,253,.18);border:1px solid #93c5fd}
.w3-board{background:#0b1226;border:2px solid #475569;border-radius:6px;color:#e2e8f0;padding:6px 10px;font:700 11px/1.2 system-ui,sans-serif;overflow:hidden;cursor:pointer}
.w3-board h5{margin:0 0 4px;font:900 12px system-ui,sans-serif;color:#a78bfa;letter-spacing:.06em}
.w3-board ol{margin:0;padding:0;list-style:none}.w3-board li{display:flex;gap:6px;align-items:baseline;white-space:nowrap;padding:1px 0;border-bottom:1px solid #1e293b}.w3-board li b{color:#facc15;min-width:48px}.w3-board li i{margin-left:auto;font-style:normal;color:#94a3b8;font-size:10px}
.w3-board.arr{padding:3px 8px;font-size:10px;background:#04130b;border-color:#22c55e}.w3-board.arr li b{color:#4ade80}
.w3-mk .f{background:var(--c,#8b5cf6)}.w3-mk.now .f{box-shadow:0 0 12px #f59e0b}.w3-nowline .f{background:#ef4444}
.w3-runway{background:#1f2937;border-top:2px solid #94a3b8;border-bottom:2px solid #94a3b8}
.w3-curb{background:#334155;border:1px dashed #94a3b8}
.w3-term .f{background:#cbd5e1}.w3-term .f.top{background:#e2e8f0}
.w3-plane .f{background:#f1f5f9}.w3-pwing .f{background:#38bdf8}
.w3-fly{position:absolute;left:0;top:0;transform-style:preserve-3d;animation:w3fly 18s linear infinite;animation-delay:var(--dl,0s)}
@keyframes w3fly{from{transform:translate3d(-60px,0,0)}to{transform:translate3d(360px,0,0)}}
.w3-gsign{background:#fff;color:#0b1020;border:2px solid var(--c,#94a3b8);border-radius:4px;font:900 9px system-ui,sans-serif;display:flex;align-items:center;justify-content:center;white-space:nowrap}
.w3-log{background:#06101f;border:1px solid #f59e0b;border-radius:6px;display:flex;flex-direction:column;justify-content:center;padding:2px 8px;font:700 10px/1.25 ui-monospace,monospace;color:#fbbf24;overflow:hidden;cursor:pointer}.w3-log span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(prefers-reduced-motion:reduce){.w3-fly{animation:none}}

/* ===== realism pass: lighting, people, props, smoother edges ===== */
.w3-stage{background:radial-gradient(1400px 800px at 50% 28%,#1d2d58 0%,#0e1631 55%,#070b17 100%)}
.w3-stage::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 45%,transparent 55%,rgba(0,0,0,.45))}
.w3-world .p3-cube>.f{outline:1px solid transparent}
.w3-world .p3-cube>.f::after{content:"";position:absolute;inset:0;pointer-events:none}
.w3-world .p3-cube>.f.top::after{background:linear-gradient(135deg,rgba(255,255,255,.2),rgba(255,255,255,.02) 65%)}
.w3-world .p3-cube>.f.front::after{background:linear-gradient(rgba(255,255,255,.07),rgba(0,0,0,.16))}
.w3-world .p3-cube>.f.left::after{background:linear-gradient(90deg,rgba(0,0,0,.22),rgba(0,0,0,.34))}
.w3-world .p3-cube>.f.right::after{background:linear-gradient(90deg,rgba(0,0,0,.3),rgba(0,0,0,.4))}
.w3-world .p3-cube>.f.back::after{background:rgba(0,0,0,.35)}
.w3-floor{background:radial-gradient(ellipse at 50% 38%,rgba(255,244,214,.18),transparent 62%),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px) 0 0/60px 60px,linear-gradient(0deg,rgba(255,255,255,.05) 1px,transparent 1px) 0 0/60px 60px,linear-gradient(135deg,#7d879f,#939cb2 50%,#79849d)}
.w3-shadow{background:radial-gradient(closest-side,rgba(0,0,0,.42),rgba(0,0,0,0));pointer-events:none}
.w3-pool{background:radial-gradient(closest-side,rgba(255,244,214,.3),rgba(255,244,214,0));pointer-events:none}
.w3-safety{background:repeating-linear-gradient(90deg,#facc15 0 18px,transparent 18px 30px);opacity:.75}
.w3-safety.v{background:repeating-linear-gradient(0deg,#facc15 0 18px,transparent 18px 30px)}
.w3-hatch{background:repeating-linear-gradient(135deg,#facc15 0 10px,#1f2937 10px 20px);opacity:.8}
/* people */
.w3-ppl .w3-limb{position:absolute;left:0;top:0;transform-style:preserve-3d}
.w3-skin .f{background:var(--c,#e7b58d)}.w3-hand .f{background:var(--c,#e7b58d)}.w3-hair .f{background:var(--c,#2b1d12)}
.w3-pants .f{background:var(--c,#334155)}.w3-shoe .f{background:#111827}.w3-badge .f{background:#fff}
.w3-vest .f{background:#f97316}.w3-refl .f{background:#e5e7eb}.w3-hat .f{background:#facc15}
.w3-face{background:radial-gradient(circle at 30% 42%,#111 0 1.3px,transparent 1.7px),radial-gradient(circle at 70% 42%,#111 0 1.3px,transparent 1.7px),linear-gradient(#b4483c,#b4483c) 50% 80%/3.6px 1px no-repeat,linear-gradient(rgba(0,0,0,.35),rgba(0,0,0,.35)) 28% 26%/2.6px .8px no-repeat,linear-gradient(rgba(0,0,0,.35),rgba(0,0,0,.35)) 72% 26%/2.6px .8px no-repeat;pointer-events:none}
.w3-ppl .w3-limb.arm{animation:w3sway 2.8s ease-in-out infinite alternate}.w3-ppl .w3-limb.arm.r{animation-direction:alternate-reverse}
.w3-ppl.walk{--g:3.6s;animation:w3pace 6s linear infinite alternate;animation-delay:var(--d,0s)}
.w3-ppl.walk .w3-limb.leg,.w3-ppl.walk .w3-limb.arm{animation:w3step .9s ease-in-out infinite alternate}
.w3-ppl.walk .w3-limb.r{animation-direction:alternate-reverse}
@keyframes w3sway{from{transform:rotateX(5deg)}to{transform:rotateX(-6deg)}}
@keyframes w3step{from{transform:rotateX(26deg)}to{transform:rotateX(-26deg)}}
@keyframes w3pace{from{transform:translate3d(0,-20px,0)}to{transform:translate3d(0,60px,0)}}
/* props */
.w3-trunk .f{background:#6b4423}.w3-leaf .f{background:#2f7d3a}.w3-leaf2 .f{background:#3f9a49}.w3-pot .f{background:#9a3412}
.w3-pole .f{background:#94a3b8}.w3-lamphead .f{background:#fef3c7;box-shadow:0 0 18px #fde68a}
.w3-fk .f{background:#dc2626}.w3-mast .f{background:#475569}.w3-fork .f{background:#94a3b8}.w3-pallet .f{background:#a16207;border:1px solid #713f12}
.w3-wrap .f{background:rgba(226,232,240,.55)}
.w3-rack .f{background:#1e293b}.w3-rackled{background:repeating-linear-gradient(0deg,#0b1020 0 4px,#22c55e 4px 5px,#0b1020 5px 9px,#38bdf8 9px 10px,#0b1020 10px 14px);animation:w3blink 1.3s steps(2) infinite}
@keyframes w3blink{50%{opacity:.45}}
.w3-kbd .f{background:#e2e8f0}.w3-printer .f{background:#f1f5f9}.w3-basket .f{background:#dc2626}.w3-couch .f{background:#7c3aed}.w3-cooler .f{background:#e2e8f0}.w3-bottle .f{background:rgba(56,189,248,.7)}
.w3-lightbox .f{background:#f8fafc;box-shadow:0 0 22px #fff}.w3-camera .f{background:#0f172a}.w3-suit .f{background:var(--c,#2563eb)}
.w3-fkgo{position:absolute;left:0;top:0;transform-style:preserve-3d;animation:w3fk 16s ease-in-out infinite alternate}
@keyframes w3fk{from{transform:translate3d(-40px,0,0)}to{transform:translate3d(120px,0,0)}}
@media(prefers-reduced-motion:reduce){.w3-ppl.walk,.w3-ppl .w3-limb,.w3-fkgo,.w3-rackled{animation:none}}
.w3-tag.ed{border-color:#f59e0b}.w3-tag.need{border-color:#ef4444;color:#fecaca}

/* side highway and neighbourhood */
.w3-walk{background:#4b5563}.w3-hwline{background:repeating-linear-gradient(0deg,#facc15 0 36px,transparent 36px 72px)}.w3-edge{background:#e5e7eb}
.w3-roads,.w3-roadn{position:absolute;left:0;top:0;transform-style:preserve-3d}
.w3-roads{animation:w3rs 22s linear infinite}.w3-roadn{animation:w3rn 18s linear infinite}
@keyframes w3rs{from{transform:translate3d(0,-120px,0)}to{transform:translate3d(0,1540px,0)}}
@keyframes w3rn{from{transform:translate3d(0,1540px,0)}to{transform:translate3d(0,-120px,0)}}
.w3-wind{background:linear-gradient(135deg,#0ea5e9,#0c4a6e)}
.w3-ttag{background:var(--c,#6d28d9);color:#fff;border:1px solid rgba(255,255,255,.8);border-radius:6px;font:800 12px/22px system-ui,sans-serif;text-align:center;white-space:nowrap;text-shadow:0 1px 1px #0008;cursor:pointer}
.w3-ttag b{font-weight:900}
.w3-hs.a .f{background:#e7d3b0}.w3-hs.b .f{background:#c9d7e8}.w3-hs.c .f{background:#e8c4c4}
.w3-eave .f{background:#7f1d1d}.w3-hdoor{background:#7c2d12;border:2px solid #451a03}.w3-hwin{background:linear-gradient(135deg,#bae6fd,#38bdf8);border:2px solid #f8fafc}
.w3-mbox .f{background:#2563eb}.w3-drive .f{background:#9ca3af}
@media(prefers-reduced-motion:reduce){.w3-roads,.w3-roadn{animation:none}.w3-roads{transform:translate3d(0,300px,0)}.w3-roadn{transform:translate3d(0,700px,0)}}

/* ===== control center, heat map, routes, day/night, TV mode, phone ===== */
.w3-tools{position:absolute;left:12px;top:12px;z-index:7;display:flex;flex-direction:column;flex-wrap:wrap;gap:6px;align-items:flex-start;align-content:flex-start;max-height:calc(100% - 270px)}
.w3-tools button{border:1px solid #1e2a4a;background:rgba(10,14,25,.82);color:#e2e8f0;border-radius:10px;padding:7px 12px;font:800 11px system-ui,sans-serif;cursor:pointer;backdrop-filter:blur(4px)}
.w3-tools button:hover,.w3-tools button.on{background:#6d28d9;border-color:#a78bfa}
.w3-tools b{display:inline-block;min-width:18px;padding:1px 6px;margin-left:4px;border-radius:999px;background:#334155;font-size:10px;text-align:center}.w3-tools b.bad{background:#ef4444;animation:whlpulse 1.2s infinite}
.w3-cc{position:absolute;left:150px;top:12px;bottom:70px;width:min(340px,calc(100vw - 160px));z-index:8;background:#0b1226f5;border:1px solid #1e2a4a;border-radius:12px;display:flex;flex-direction:column;box-shadow:0 12px 40px rgba(0,0,0,.55);overflow:hidden}
.w3-cc[hidden]{display:none}.w3-cc header{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid #1e2a4a;background:#101a35;color:#fff}
.w3-cc header button{border:0;background:#1e2a4a;color:#fff;border-radius:6px;width:26px;height:26px;font-size:16px;cursor:pointer}
.w3-cc nav{display:flex;gap:4px;padding:8px 8px 0}.w3-cc nav button{flex:1;border:0;background:#111a33;color:#cbd5e1;border-radius:8px 8px 0 0;padding:7px 4px;font:800 11px system-ui,sans-serif;cursor:pointer}.w3-cc nav button.on{background:#6d28d9;color:#fff}
.w3-ccbody{flex:1;overflow:auto;padding:8px;color:#e2e8f0;font:600 12px/1.35 system-ui,sans-serif}
.w3-ccl{list-style:none;margin:0;padding:0;display:grid;gap:6px}.w3-ccl li{background:#101a35;border-radius:10px;padding:8px 10px;border-left:4px solid #334155}
.w3-ccl li.bad{border-left-color:#ef4444}.w3-ccl li.warn{border-left-color:#f59e0b}
.w3-ccl li div{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;align-items:center}
.w3-ccl button{border:0;background:#1e2a4a;color:#e2e8f0;border-radius:7px;padding:5px 9px;font:800 10px system-ui,sans-serif;cursor:pointer}.w3-ccl button:hover{background:#6d28d9}
.w3-ccl select{background:#0b1226;color:#e2e8f0;border:1px solid #334155;border-radius:7px;padding:4px;font:700 11px system-ui,sans-serif;max-width:120px}
.w3-ccl small{color:#94a3b8;font-weight:600}
.w3-ccrow{display:flex!important;flex-direction:column;width:100%;text-align:left;background:transparent!important;padding:0!important;gap:2px}.w3-ccrow b{font-size:12px;color:#fff}.w3-ccrow small{font-size:11px}
.w3-ccl.lead li{display:grid;grid-template-columns:30px 1fr auto;gap:8px;align-items:center;border-left-color:#facc15}.w3-ccl.lead .m{font-size:20px;text-align:center}.w3-ccl.lead i{display:block;height:5px;border-radius:3px;background:linear-gradient(90deg,#a78bfa,#facc15);margin-top:4px}.w3-ccl.lead li>span:last-child{font:900 16px system-ui,sans-serif;color:#facc15}
.w3-ccok{color:#86efac;text-align:center;padding:24px 8px;font-weight:800}.w3-ccnote{color:#94a3b8;font-size:11px;margin-top:10px}
.dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#22c55e;margin-right:6px;box-shadow:0 0 8px currentColor}.dot.warn{background:#f59e0b}.dot.bad{background:#ef4444}
.w3-ccrow b{display:flex;align-items:center}
.w3-toast{position:absolute;left:50%;top:14px;transform:translateX(-50%);z-index:9;background:#0b1226f5;border:1px solid #a78bfa;border-left:5px solid #a78bfa;color:#fff;border-radius:12px;padding:10px 16px;font:700 13px system-ui,sans-serif;box-shadow:0 10px 30px rgba(0,0,0,.5);animation:w3tin .35s ease-out;max-width:80vw}
.w3-toast.bad{border-color:#ef4444}.w3-toast small{display:block;color:#94a3b8;font-size:11px}.w3-toast[hidden]{display:none}
@keyframes w3tin{from{transform:translate(-50%,-20px);opacity:0}to{transform:translate(-50%,0);opacity:1}}
/* heat map + routes */
.w3-world:not(.heat-on) .w3-heat{display:none}
.w3-heat{pointer-events:none}.w3-heat.h1{background:rgba(250,204,21,.55)}.w3-heat.h2{background:rgba(251,146,60,.65)}.w3-heat.h3{background:rgba(249,115,22,.75)}.w3-heat.h4{background:rgba(239,68,68,.85)}.w3-heat.h5{background:rgba(220,38,38,.95);box-shadow:0 0 14px #ef4444}
.w3-routes{position:absolute;left:0;top:0;transform-style:preserve-3d;display:none;pointer-events:none}.w3-world.routes-on .w3-routes{display:block}
.w3-route.h{background:repeating-linear-gradient(90deg,#38bdf8 0 12px,transparent 12px 22px);animation:w3dash 1s linear infinite}.w3-route.v{background:repeating-linear-gradient(0deg,#38bdf8 0 12px,transparent 12px 22px);animation:w3dashv 1s linear infinite}
.w3-route.long.h{background:repeating-linear-gradient(90deg,#ef4444 0 12px,transparent 12px 22px)}.w3-route.long.v{background:repeating-linear-gradient(0deg,#ef4444 0 12px,transparent 12px 22px)}
.w3-routeend{border-radius:50%;background:radial-gradient(closest-side,rgba(56,189,248,.9),rgba(56,189,248,0))}.w3-routeend.long{background:radial-gradient(closest-side,rgba(239,68,68,.95),rgba(239,68,68,0))}
@keyframes w3dash{to{background-position:22px 0}}@keyframes w3dashv{to{background-position:0 22px}}
.w3-crown .f{background:#facc15;box-shadow:0 0 8px #fde047}
/* day and night */
.w3-tint{position:absolute;inset:0;pointer-events:none;transition:background 3s;mix-blend-mode:multiply;z-index:1}
.w3-stage[data-tod=day]{background:radial-gradient(1400px 800px at 50% 24%,#6fa8e6 0%,#3d6fae 52%,#1d3558 100%)}
.w3-stage[data-tod=day] .w3-tint{background:rgba(255,255,255,0)}.w3-stage[data-tod=day] .w3-pool{opacity:.25}.w3-stage[data-tod=day] .w3-lamphead{box-shadow:none}
.w3-stage[data-tod=dusk]{background:radial-gradient(1400px 800px at 50% 24%,#f59e6c 0%,#7b4a8f 50%,#1b1840 100%)}
.w3-stage[data-tod=dusk] .w3-tint{background:rgba(255,196,150,.82)}
.w3-stage[data-tod=night] .w3-tint{background:rgba(130,150,215,.62)}
.w3-stage[data-tod=night] .w3-pool{background:radial-gradient(closest-side,rgba(255,236,170,.8),rgba(255,236,170,0))}.w3-stage[data-tod=dusk] .w3-pool{background:radial-gradient(closest-side,rgba(255,236,170,.5),rgba(255,236,170,0))}
/* TV mode */
.whl.tv-mode .whl-top{display:none}.whl-3d.tv .w3-tools,.whl-3d.tv .w3-bar,.whl-3d.tv .w3-hint,.whl-3d.tv .w3-card,.whl-3d.tv .w3-cc{display:none!important}.whl-3d.tv{cursor:none}
/* phone */
@media(max-width:700px){.w3-bar{max-width:96vw;overflow-x:auto;justify-content:flex-start;scrollbar-width:none}.w3-bar button{flex:none;padding:9px 12px}.w3-hint{display:none}.w3-tools{flex-direction:row;flex-wrap:wrap;max-width:94vw}.w3-tools button{padding:9px 10px}.w3-card{top:auto;left:8px;right:8px;width:auto;bottom:64px;max-height:46vh}.w3-cc{top:auto;bottom:64px;left:8px;right:8px;width:auto;max-height:55vh}.w3-toast{width:90vw}}

.w3-shelf.ghost .f{background:#2c3a4d;border-color:#223044}.w3-shelf.ghost .f.top{background:#3a4a60}
.w3-fkgo.y{animation-name:w3fky}@keyframes w3fky{from{transform:translate3d(0,-200px,0)}to{transform:translate3d(0,150px,0)}}
.w3-shelf .f.top s{display:block;position:absolute;inset:3px 4px 4px;background:#d6a65f;border:1px solid #7c5a2b;border-radius:1px}.w3-shelf.low .f.top s{background:#f59e0b}

/* ---- order journey ---- */
.w3-jpath.done{background:linear-gradient(90deg,#22d3ee,#a78bfa);box-shadow:0 0 14px #22d3ee}
.w3-jpath.todo{background:repeating-linear-gradient(90deg,rgba(226,232,240,.85) 0 10px,transparent 10px 20px);opacity:.8}
.w3-jlab{background:var(--c,#334155);color:#fff;font:900 8px/12px system-ui,sans-serif;text-align:center;border-radius:3px;letter-spacing:.06em;border:1px solid #fff9}
.w3-jm .f{background:#fbbf24;border:1px solid #fff;box-shadow:0 0 16px #fbbf24}.w3-jm .f.top{background:#fde68a}
.w3-jm{animation:w3jb 2.6s ease-in-out infinite alternate}@keyframes w3jb{from{filter:brightness(1)}to{filter:brightness(1.5)}}
.w3-jbeam .f{background:linear-gradient(#fbbf24,rgba(251,191,36,.05));opacity:.8}
.w3-jtag{outline:2px solid #fbbf24}
.w3-plane.cargo .f{background:#ddd6fe}.w3-pwing.cargo .f{background:#7c3aed}
.w3-jplane{background:#6d28d9!important;color:#fff;font:800 9px/12px system-ui,sans-serif;text-align:center}
.w3-trk{display:flex;gap:4px}.w3-trk input{width:116px;border:1px solid #1e2a4a;background:rgba(10,14,25,.82);color:#e2e8f0;border-radius:10px;padding:7px 10px;font:700 11px system-ui,sans-serif}.w3-trk.bad input{border-color:#ef4444}
.w3-jrow{gap:4px!important}.w3-jbar{display:block;height:5px;background:#1e293b;border-radius:3px;overflow:hidden}.w3-jbar i{display:block;height:100%}.w3-jbar.big{height:8px;margin:6px 0}
.w3-jhead{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px}.w3-jhead span{text-transform:capitalize;font-weight:800;padding:2px 8px;border-radius:999px;background:#334155;color:#fff;font-size:11px}
.w3-jmeta{font-size:12px;opacity:.85;margin:4px 0}.w3-jroute{font-size:11px;background:rgba(124,58,237,.18);border:1px solid #7c3aed;border-radius:8px;padding:6px 8px;margin:6px 0}
.w3-jsteps{list-style:none;margin:8px 0 0;padding:0;position:relative}
.w3-jsteps li{display:flex;gap:10px;padding:0 0 12px;position:relative}.w3-jsteps li:not(:last-child):before{content:"";position:absolute;left:6px;top:14px;bottom:0;width:2px;background:#334155}
.w3-jsteps li i{flex:none;width:14px;height:14px;border-radius:50%;border:2px solid #475569;background:#0f172a;margin-top:1px;position:relative;z-index:1}
.w3-jsteps li.done i{background:#22c55e;border-color:#22c55e}.w3-jsteps li.done:not(:last-child):before{background:#22c55e}
.w3-jsteps li.now i{background:#fbbf24;border-color:#fde68a;box-shadow:0 0 10px #fbbf24;animation:whlpulse 1.2s infinite}
.w3-jsteps li.todo b{opacity:.55}.w3-jsteps b{font-size:12px;display:block}.w3-jsteps small{display:block;font-size:11px;opacity:.75}.w3-jsteps small.w{font-style:italic}.w3-jsteps em{display:block;font-size:11px;opacity:.9;margin-top:2px}

/* ---- people face their work and walk the way they face ---- */
.w3-turn{position:absolute;left:0;top:0;transform-style:preserve-3d}
.w3-ppl .w3-limb.head{animation:w3look 8s ease-in-out infinite;animation-delay:var(--d,0s)}
@keyframes w3look{0%,100%{transform:rotateZ(0)}20%{transform:rotateZ(-20deg)}45%{transform:rotateZ(0)}70%{transform:rotateZ(16deg)}}
.w3-ppl.work .w3-limb.arm{animation:w3type .38s ease-in-out infinite alternate;animation-delay:var(--d,0s)}
.w3-ppl.work .w3-limb.arm.r{animation-direction:alternate-reverse}
@keyframes w3type{from{transform:rotateX(52deg)}to{transform:rotateX(64deg)}}
.w3-ppl.chat .w3-limb.arm.r{animation:w3gest 3.2s ease-in-out infinite;animation-delay:var(--d,0s)}
@keyframes w3gest{0%,55%,100%{transform:rotateX(4deg)}65%,85%{transform:rotateX(70deg) rotateY(-10deg)}}
.w3-ppl.walk .w3-turn{animation:w3turn 18s linear infinite;animation-delay:var(--d,0s)}
@keyframes w3turn{0%,48%{transform:rotateZ(0deg)}52%,98%{transform:rotateZ(180deg)}100%{transform:rotateZ(360deg)}}
@media(prefers-reduced-motion:reduce){.w3-ppl .w3-limb.head,.w3-ppl.walk .w3-turn{animation:none}}

/* ---- homes, address boards, landing and takeoff, couriers ---- */
.w3-lawn{background:linear-gradient(#2f6b3a,#265a31)}.w3-sidewalk{background:#cbd5e1}.w3-yardgrass{background:#3f8a4a}
.w3-chim .f{background:#7c2d12}.w3-smk .f{background:#e5e7eb;opacity:.7}.w3-smoke{position:absolute;left:0;top:0;transform-style:preserve-3d;animation:w3smoke 6s linear infinite alternate}
@keyframes w3smoke{from{transform:translate3d(0,0,0)}to{transform:translate3d(8px,0,40px)}}
.w3-hwin.lit{background:linear-gradient(135deg,#fde68a,#f59e0b);box-shadow:0 0 14px #fbbf24aa}.w3-stage[data-tod=day] .w3-hwin.lit{background:linear-gradient(135deg,#bae6fd,#38bdf8);box-shadow:none}
.w3-mbpost .f{background:#78350f}.w3-porch .f{background:#a8a29e}.w3-fence .f{background:#f8fafc}
.w3-addr{background:#fff;border:2px solid var(--c,#22c55e);border-left-width:8px;border-radius:5px;color:#0b1020;font:700 7px/9px system-ui,sans-serif;padding:3px 5px;display:flex;flex-direction:column;justify-content:center;overflow:hidden;cursor:pointer}
.w3-addr b{font:900 8.5px/10px system-ui,sans-serif;white-space:nowrap}.w3-addr i{font-style:normal;white-space:normal;max-height:18px;overflow:hidden}.w3-addr u{text-decoration:none;font-weight:900;color:#0f766e;white-space:nowrap}
.w3-hstate{font-size:9px!important;line-height:14px!important}
.w3-hbeacon{position:absolute;left:0;top:0;transform-style:preserve-3d;animation:w3bk 3.2s ease-in-out infinite alternate}@keyframes w3bk{from{transform:translate3d(0,0,0)}to{transform:translate3d(0,0,5px)}}
.w3-beacon .f{background:var(--c,#22c55e);box-shadow:0 0 14px var(--c,#22c55e)}
.w3-engine .f{background:#475569}
.w3-fly.cargo{animation:w3land 16s linear infinite;animation-delay:var(--dl,0s)}
@keyframes w3land{0%{transform:translate3d(-380px,0,210px);visibility:hidden}1%{visibility:visible}16%{transform:translate3d(-230px,0,120px)}30%{transform:translate3d(-60px,0,28px)}34%{transform:translate3d(0,0,0)}50%{transform:translate3d(120px,0,0)}64%{transform:translate3d(130px,0,0)}78%{transform:translate3d(260px,0,0)}90%{transform:translate3d(400px,0,70px)}99%{transform:translate3d(520px,0,200px);visibility:visible}100%{transform:translate3d(520px,0,200px);visibility:hidden}}
.w3-fly.cargo .w3-limb.pitch{animation:w3pitch 16s linear infinite;animation-delay:var(--dl,0s)}
@keyframes w3pitch{0%,28%{transform:rotateY(7deg)}34%,70%{transform:rotateY(0)}80%{transform:rotateY(0)}90%,100%{transform:rotateY(-15deg)}}
@media(prefers-reduced-motion:reduce){.w3-fly.cargo,.w3-fly.cargo .w3-limb.pitch,.w3-smoke,.w3-hbeacon{animation:none}}
.w3-fly .w3-limb{position:absolute;left:0;top:0;transform-style:preserve-3d}.w3-jaddr{font-size:12px;background:rgba(34,197,94,.12);border:1px solid #22c55e;border-radius:8px;padding:6px 8px;margin:6px 0}

/* ---- rich entrance, security, lights, sky traffic ---- */
.w3-marble{background:linear-gradient(135deg,#f1f5f9,#cbd5e1 40%,#e2e8f0 60%,#94a3b8),repeating-linear-gradient(90deg,transparent 0 24px,rgba(0,0,0,.08) 24px 25px);background-blend-mode:multiply;border-radius:6px;box-shadow:0 0 0 3px #c9a227 inset;pointer-events:none}
.w3-carpet{background:linear-gradient(90deg,#7f1d1d,#b91c1c 50%,#7f1d1d);border-left:3px solid #c9a227;border-right:3px solid #c9a227;pointer-events:none}
.w3-pillar .f{background:linear-gradient(90deg,#e2e8f0,#f8fafc 50%,#cbd5e1);border:1px solid #94a3b8}.w3-gold .f{background:linear-gradient(135deg,#fde68a,#c9a227 60%,#92710c);box-shadow:0 0 8px #f5c84288}
.w3-goldsign{background:linear-gradient(90deg,#0b0b12,#1c1a10);border:2px solid #c9a227;color:#fde68a;font:900 11px/1 system-ui,sans-serif;letter-spacing:.14em;text-shadow:0 0 8px #f5c842;display:flex;align-items:center;justify-content:center;border-radius:3px;box-shadow:0 0 14px #c9a22799;white-space:nowrap}
.w3-rope{background:linear-gradient(90deg,#7f1d1d,#ef4444);pointer-events:none}.w3-hedge .f{background:#166534}.w3-hedge .f.top{background:#22c55e}
.w3-booth .f{background:#e2e8f0}.w3-barrier{background:repeating-linear-gradient(90deg,#ef4444 0 8px,#fff 8px 16px);transform-origin:left center;animation:w3barr 9s ease-in-out infinite;pointer-events:none}
@keyframes w3barr{0%,55%{transform:rotateY(0)}65%,90%{transform:rotateY(-70deg)}100%{transform:rotateY(0)}}
.w3-flagw{position:absolute;left:0;top:0;transform-style:preserve-3d;animation:w3flag 3.8s ease-in-out infinite alternate;animation-delay:var(--dl,0s)}@keyframes w3flag{from{transform:rotateZ(-5deg)}to{transform:rotateZ(8deg)}}
.w3-flag{background:var(--c,#6d28d9);border:1px solid #fff9}
.w3-cone{background:linear-gradient(to top,rgba(255,236,170,.0),rgba(255,236,170,.0) 5%,rgba(255,236,170,.34));clip-path:polygon(40% 0,60% 0,100% 100%,0 100%);transform:scaleY(-1);pointer-events:none;filter:blur(1px)}
.w3-stage[data-tod=day] .w3-cone{opacity:.25}
.w3-sheen{background:linear-gradient(115deg,transparent 20%,rgba(255,255,255,.1) 36%,transparent 48%,rgba(255,255,255,.07) 70%,transparent 82%);pointer-events:none}
.w3-goldtrim{background:linear-gradient(90deg,#92710c,#fde68a 30%,#c9a227 60%,#fde68a 90%);box-shadow:0 0 10px #f5c84288;pointer-events:none}
.w3-pend .f{background:#fff7d6;box-shadow:0 0 22px 6px #fde68a}.w3-chain .f{background:#94a3b8}
.w3-rlight{position:absolute;left:0;top:0;transform-style:preserve-3d;animation:w3rl 3s ease-in-out infinite alternate;animation-delay:var(--d,0s)}@keyframes w3rl{50%{opacity:.25}}.w3-rl .f{background:#fef08a;box-shadow:0 0 10px #facc15}
.w3-fly.sky{animation:w3sky var(--sd,160s) linear infinite;animation-delay:var(--dl,0s)}@keyframes w3sky{from{transform:translate3d(-520px,0,0)}to{transform:translate3d(2750px,0,0)}}
.w3-trail .f{background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.75));opacity:.8}
.w3-belt .f{background:#0b1020}.w3-gbadge .f{background:#fde047;box-shadow:0 0 6px #fde047}.w3-radio .f{background:#111827}.w3-cap .f{background:#111c3a}
.w3-tag.guard{background:#0b1020;color:#fde68a;border:1px solid #c9a227}
.w3-patrolg{position:absolute;left:0;top:0;transform-style:preserve-3d;animation:w3patx 44s linear infinite alternate}@keyframes w3patx{from{transform:translate3d(0,0,0)}to{transform:translate3d(640px,0,0)}}
.w3-ppl.patrol .w3-turn{animation:w3pturn 88s linear infinite}@keyframes w3pturn{0%,48%{transform:rotateZ(-90deg)}52%,98%{transform:rotateZ(90deg)}100%{transform:rotateZ(270deg)}}
.w3-ppl.patrol .w3-limb.leg,.w3-ppl.patrol .w3-limb.arm{animation:w3step .9s ease-in-out infinite alternate}.w3-ppl.patrol .w3-limb.r{animation-direction:alternate-reverse}
.w3-sign{box-shadow:0 0 16px rgba(167,139,250,.35)}
@media(prefers-reduced-motion:reduce){.w3-fly.sky,.w3-patrolg,.w3-barrier,.w3-flagw,.w3-rlight,.w3-ppl.patrol .w3-turn{animation:none}}
.w3-plaza{background:linear-gradient(#1b2236,#10151f);border-radius:8px;pointer-events:none}.w3-goldsign.sm{font-size:8px;letter-spacing:.08em}
.w3-fbase .f{background:#cbd5e1;border:1px solid #94a3b8}.w3-water .f{background:#38bdf8;box-shadow:0 0 12px #38bdf8;animation:w3wat 3.6s ease-in-out infinite alternate}@keyframes w3wat{to{filter:brightness(1.35)}}
.w3-lux .f{background:var(--c,#0b0b12);border:1px solid #c9a227}.w3-luxglass .f{background:linear-gradient(135deg,#bae6fd,#334155)}.w3-hl .f{background:#fef9c3;box-shadow:0 0 14px #fde047}
.w3-patrolg{animation-duration:60s}
@keyframes w3patx{from{transform:translate3d(0,0,0)}to{transform:translate3d(1000px,0,0)}}
.w3-ppl.patrol .w3-turn{animation-duration:120s}

/* ---- airliner parts and country liveries ---- */
.w3-fus .f{background:var(--c,#f1f5f9);border:1px solid rgba(15,23,42,.25)}.w3-fus .f.top{filter:brightness(1.04)}
.w3-nosec .f{background:#334155}.w3-wing .f{background:#cbd5e1;border:1px solid rgba(15,23,42,.3)}.w3-fin .f{background:var(--c,#6d28d9);border:1px solid rgba(0,0,0,.25)}
.w3-eng .f{background:#94a3b8;border:1px solid #475569}.w3-engin .f{background:#0f172a}
.w3-cock{background:linear-gradient(#0b1020,#1e3a8a)}.w3-pwin{background:repeating-linear-gradient(90deg,#1e293b 0 2.4px,transparent 2.4px 4.6px)}
.w3-pstripe{background:var(--c,#7c3aed)}.w3-pname{color:var(--c,#7c3aed);font:900 3.6px/4px system-ui,sans-serif;letter-spacing:.2em;text-align:center;white-space:nowrap}
.w3-pdoor{background:linear-gradient(#e2e8f0,#94a3b8);border:1px solid #334155;border-radius:2px}.w3-pdoorh{background:#fbbf24;border-radius:2px}
.w3-ycam{border-radius:50%;background:radial-gradient(circle at 32% 30%,#fff7d6,#f59e0b 46%,#b45309 78%,#7c2d12);border:3px solid #fff7ed;box-shadow:0 0 0 5px rgba(15,23,42,.45),0 8px 16px rgba(0,0,0,.35);cursor:pointer}
.w3-ycam.main{box-shadow:0 0 0 7px rgba(250,204,21,.55),0 10px 18px rgba(0,0,0,.4)}
.w3-ycap{background:rgba(15,23,42,.9);color:#fde68a;border:1px solid #f59e0b;border-radius:8px;font:800 9px/13px system-ui,sans-serif;text-align:center;cursor:pointer;letter-spacing:.04em}
.w3-tailflag{border:.5px solid rgba(0,0,0,.4)}
.w3-tailflag.US{background:linear-gradient(90deg,#1e3a8a 0 38%,transparent 38%),repeating-linear-gradient(#dc2626 0 2px,#fff 2px 4px)}
.w3-tailflag.TZ{background:linear-gradient(to bottom right,#1eb53a 0 40%,#fcd116 40% 44%,#000 44% 56%,#fcd116 56% 60%,#00a3dd 60%)}
.w3-tailflag.KE{background:linear-gradient(#000 0 27%,#fff 27% 31%,#dc2626 31% 65%,#fff 65% 69%,#15803d 69%)}
.w3-tailflag.UG{background:repeating-linear-gradient(#000 0 3.5px,#fcd116 3.5px 7px,#dc2626 7px 10.5px)}
.w3-tailflag.CD{background:linear-gradient(to bottom right,#0ea5e9 0 38%,#fcd116 38% 42%,#dc2626 42% 58%,#fcd116 58% 62%,#0ea5e9 62%)}
.w3-tailflag.XX{background:linear-gradient(135deg,#7c3aed,#f59e0b)}
.w3-limb.ps{transform:scale3d(.72,.72,.72)}

/* ---- route arc, late warnings, replay ---- */
.w3-jgrp,.w3-jmg{position:absolute;left:0;top:0;transform-style:preserve-3d}
.w3-arcdot .f{background:rgba(226,232,240,.55)}.w3-arcdot.done .f{background:#22d3ee;box-shadow:0 0 10px #22d3ee}.w3-arcdot.late .f{background:#fca5a5}.w3-arcdot.done.late .f{background:#ef4444;box-shadow:0 0 10px #ef4444}
.w3-jplane.late{background:#b91c1c!important}
.w3-hbeacon.late{animation-duration:.45s}
.w3-jlate{font-size:12px;background:rgba(239,68,68,.16);border:1px solid #ef4444;border-radius:8px;padding:6px 8px;margin:6px 0;color:#fecaca}
.w3-jeta{font-size:12px;background:rgba(14,165,233,.14);border:1px solid #0ea5e9;border-radius:8px;padding:6px 8px;margin:6px 0}
.w3-jwarn{margin-left:6px;font-size:10px;padding:1px 6px;border-radius:999px;background:#ef4444;color:#fff}
.w3-rpbtn{width:100%;border:1px solid #a78bfa;background:#6d28d9;color:#fff;border-radius:10px;padding:8px;font:800 12px system-ui,sans-serif;cursor:pointer;margin:6px 0}.w3-rpbtn:hover{background:#7c3aed}
.w3-rphud{position:absolute;left:50%;top:56px;transform:translateX(-50%);z-index:8;background:rgba(10,14,25,.92);border:1px solid #a78bfa;color:#fff;border-radius:999px;padding:8px 16px;font:700 12px system-ui,sans-serif;max-width:92%;box-shadow:0 0 18px #7c3aed88}

.w3-ch{position:absolute;left:0;top:0;transform-style:preserve-3d}

/* ---- smooth loops: trucks and planes travel, disappear far away, then start again ---- */
.w3-trip{position:absolute;left:0;top:0;transform-style:preserve-3d;animation:w3tS var(--du,30s) linear infinite;animation-delay:var(--dl,0s)}
.w3-trip.n{animation-name:w3tN}.w3-trip.s.t{animation-name:w3tSt}.w3-trip.n.t{animation-name:w3tNt}
.w3-rot{position:absolute;left:0;top:0;transform-style:preserve-3d;animation:w3rS var(--du,30s) linear infinite;animation-delay:var(--dl,0s)}
.w3-rot.n{animation-name:w3rN}.w3-rot.s.t{animation-name:none;transform:rotateZ(0deg)}.w3-rot.n.t{animation-name:none;transform:rotateZ(180deg)}
@keyframes w3tS{0%{transform:translate3d(var(--lx),-240px,0);visibility:visible}30%{transform:translate3d(var(--lx),calc(var(--ty) - 26px),0);animation-timing-function:ease-in-out}38%{transform:translate3d(calc(var(--cx) - 70px),var(--ty),0)}44%{transform:translate3d(var(--cx),var(--ty),0)}62%{transform:translate3d(var(--cx),var(--ty),0);animation-timing-function:ease-in-out}68%{transform:translate3d(calc(var(--cx) - 70px),var(--ty),0)}74%{transform:translate3d(var(--lx),calc(var(--ty) + 30px),0)}99%{transform:translate3d(var(--lx),1760px,0);visibility:visible}100%{transform:translate3d(var(--lx),1760px,0);visibility:hidden}}
@keyframes w3tN{0%{transform:translate3d(var(--lx),1760px,0);visibility:visible}30%{transform:translate3d(var(--lx),calc(var(--ty) + 26px),0);animation-timing-function:ease-in-out}38%{transform:translate3d(calc(var(--cx) - 70px),var(--ty),0)}44%{transform:translate3d(var(--cx),var(--ty),0)}62%{transform:translate3d(var(--cx),var(--ty),0);animation-timing-function:ease-in-out}68%{transform:translate3d(calc(var(--cx) - 70px),var(--ty),0)}74%{transform:translate3d(var(--lx),calc(var(--ty) - 30px),0)}99%{transform:translate3d(var(--lx),-240px,0);visibility:visible}100%{transform:translate3d(var(--lx),-240px,0);visibility:hidden}}
@keyframes w3tSt{0%{transform:translate3d(var(--lx),-240px,0);visibility:visible}99%{transform:translate3d(var(--lx),1760px,0);visibility:visible}100%{transform:translate3d(var(--lx),1760px,0);visibility:hidden}}
@keyframes w3tNt{0%{transform:translate3d(var(--lx),1760px,0);visibility:visible}99%{transform:translate3d(var(--lx),-240px,0);visibility:visible}100%{transform:translate3d(var(--lx),-240px,0);visibility:hidden}}
@keyframes w3rS{0%,30%{transform:rotateZ(0deg)}38%,68%{transform:rotateZ(-90deg)}74%,100%{transform:rotateZ(0deg)}}
@keyframes w3rN{0%,30%{transform:rotateZ(180deg)}38%,68%{transform:rotateZ(270deg)}74%,100%{transform:rotateZ(180deg)}}
.w3-fly.cargo{animation:w3land 96s linear infinite;animation-delay:var(--dl,0s)}
@keyframes w3land{0%{transform:translate3d(-900px,0,520px) scale3d(.12,.12,.12);visibility:hidden}2%{visibility:visible}26%{transform:translate3d(-130px,0,70px) scale3d(.85,.85,.85)}32%{transform:translate3d(0,0,0) scale3d(1,1,1)}46%{transform:translate3d(120px,0,0)}60%{transform:translate3d(130px,0,0)}72%{transform:translate3d(270px,0,0)}84%{transform:translate3d(430px,0,70px)}98%{transform:translate3d(1100px,0,560px) scale3d(.12,.12,.12);visibility:visible}100%{transform:translate3d(1100px,0,560px) scale3d(.12,.12,.12);visibility:hidden}}
.w3-fly.cargo .w3-limb.pitch{animation:w3pitch 96s linear infinite;animation-delay:var(--dl,0s)}
@keyframes w3pitch{0%,26%{transform:rotateY(7deg)}32%,72%{transform:rotateY(0)}80%{transform:rotateY(0)}90%,100%{transform:rotateY(-15deg)}}
.w3-hwv.go{animation:w3hw 32s linear infinite alternate;animation-delay:var(--dl,0s)}
.w3-cloud .f{background:rgba(255,255,255,.55);border:0}.w3-cloudg{position:absolute;left:0;top:0;transform-style:preserve-3d;animation:w3cl 420s linear infinite;animation-delay:var(--dl,0s)}@keyframes w3cl{0%{transform:translate3d(-1500px,0,0);opacity:0}6%{opacity:1}94%{opacity:1}100%{transform:translate3d(4700px,0,0);opacity:0}}
/* animations are never paused while you move the camera: they run on the compositor and stay on the wall clock */
@media(prefers-reduced-motion:reduce){.w3-trip,.w3-rot,.w3-cloudg{animation:none}}

/* ===== city, route vehicles, forklift cycle (v17) ===== */
.w3-rv,.w3-rr{position:absolute;left:0;top:0;transform-style:preserve-3d;animation-timing-function:linear;animation-iteration-count:infinite;animation-fill-mode:both}
.w3-ped .w3-tag,.w3-cityveh *,.w3-ped *{pointer-events:none}.w3-ped .w3-tag{display:none}
.w3-ch[data-ch=city] *{pointer-events:none}
.w3-ppl.stroll .w3-limb.leg,.w3-ppl.stroll .w3-limb.arm{animation:w3step .85s ease-in-out infinite alternate}.w3-ppl.stroll .w3-limb.r{animation-direction:alternate-reverse}
.w3-ppl.stroll{animation:none}
.w3-fkgo.b{animation:w3fkb 90s linear infinite}.w3-fkgo.i{animation:w3fki 960s linear infinite}
@keyframes w3fkb{0%{transform:translate3d(0,-200px,0)}42%{transform:translate3d(0,150px,0)}50%{transform:translate3d(0,150px,0)}92%{transform:translate3d(0,-200px,0)}100%{transform:translate3d(0,-200px,0)}}
@keyframes w3fki{0%,93.75%{transform:translate3d(0,150px,0)}96.9%{transform:translate3d(0,-120px,0)}100%{transform:translate3d(0,150px,0)}}
.w3-fkbay{background:repeating-linear-gradient(0deg,rgba(250,204,21,.0) 0 0,rgba(250,204,21,0) 0);border:2px dashed #facc15;border-radius:4px;background-color:rgba(250,204,21,.07);pointer-events:none}
.w3-cground{background:#0e1626}.w3-cblock{background:#222c42;pointer-events:none}.w3-cpark{background:linear-gradient(#2f6b3a,#265a31);pointer-events:none}.w3-pond{background:radial-gradient(#38bdf8,#0369a1);border-radius:40%;pointer-events:none}
.w3-apron{background:#3b4252;border:2px dashed #facc15;pointer-events:none}
.w3-tun .f{background:#3f4a3a}.w3-tun .f.top{background:#4d6b3f}.w3-tun .f.front{background:#475046}
.w3-portal{background:linear-gradient(#020617,#0b1226);border:3px solid #94a3b8;border-radius:14px 14px 0 0;pointer-events:none}
.w3-bld .f{background:linear-gradient(90deg,var(--c) 0 5px,transparent 5px) 0 0/13px 100% repeat-x,linear-gradient(0deg,var(--c) 0 4px,transparent 4px) 0 0/100% 14px repeat-y,var(--wc,#9cc3e6);border:0}
.w3-bld .f.top{background:linear-gradient(rgba(255,255,255,.22),rgba(255,255,255,.22)),var(--c)}
.w3-bld.l1{--wc:#9cc3e6}.w3-bld.l2{--wc:#86aed4}.w3-bld.l3{--wc:#b9d4ea}
.w3-stage[data-tod=dusk] .w3-bld.l1{--wc:#fcd9a0}.w3-stage[data-tod=dusk] .w3-bld.l2{--wc:#d9a86c}.w3-stage[data-tod=dusk] .w3-bld.l3{--wc:#7c94b8}
.w3-stage[data-tod=night] .w3-bld.l1{--wc:#fde68a}.w3-stage[data-tod=night] .w3-bld.l2{--wc:#f59e0b}.w3-stage[data-tod=night] .w3-bld.l3{--wc:#334155}
.w3-cbeacon .f{background:#ef4444;box-shadow:0 0 16px #ef4444}.w3-bkn{position:absolute;left:0;top:0;transform-style:preserve-3d;animation:w3bkn 3.4s ease-in-out infinite alternate;animation-delay:var(--d,0s)}@keyframes w3bkn{from{opacity:.25}to{opacity:1}}
.w3-fwh .f{background:#e2e8f0;border:0}.w3-fgond .f{background:var(--c,#ef4444)}
.w3-fwr,.w3-fw,.w3-fwg{position:absolute;left:0;top:0;transform-style:preserve-3d}
.w3-fwr{animation:w3fwr 180s linear infinite}.w3-fwg{animation:w3fwg 180s linear infinite}
@keyframes w3fwr{to{transform:rotateY(360deg)}}@keyframes w3fwg{to{transform:rotateY(-360deg)}}
@media(prefers-reduced-motion:reduce){.w3-rv{display:none}.w3-fkgo.b,.w3-fkgo.i,.w3-fwr,.w3-fwg,.w3-bkn,.w3-ppl.stroll .w3-limb{animation:none}}

.w3-stage.is-lite .w3-ped{display:none}
.w3-rv,.w3-rr,.w3-fkgo,.w3-cloudg,.w3-hwv.go,.w3-fly,.w3-patrolg{will-change:transform}

/* ===== setup and permissions panel ===== */
.whl [data-setup]{position:relative}.whl [data-setup].need{border-color:#f59e0b;color:#fbbf24}.whl [data-setup-n]{background:#f59e0b;color:#111;border-radius:999px;padding:0 6px;margin-left:4px;font-size:10px}
.whl-setup{position:absolute;z-index:30;top:58px;right:14px;width:min(380px,calc(100vw - 28px));max-height:calc(100% - 80px);overflow:auto;background:#0b1226f5;border:1px solid #334266;border-radius:14px;padding:12px 14px;box-shadow:0 18px 50px #000a;color:#e5e7f5;font:13px system-ui,sans-serif}
.whl-setup[hidden]{display:none}.whl-sh{display:flex;justify-content:space-between;align-items:center;font-size:15px}.whl-sh button{background:none;border:0;color:#cbd5e1;font-size:20px;cursor:pointer}.whl-sp{margin:4px 0 10px;color:#94a3b8;font-size:12px}
.whl-sr{display:flex;gap:10px;padding:9px 0;border-top:1px solid #1e2a48}.whl-sr>i{flex:0 0 10px;height:10px;border-radius:50%;margin-top:5px;background:#f59e0b}.whl-sr.ok>i{background:#22c55e}.whl-sr.info>i{background:#38bdf8}.whl-sr.wait>i{background:#64748b}
.whl-sr b{display:block}.whl-sr span{display:block;color:#aab4cf;font-size:12px;margin:2px 0 6px}.whl-sr button{background:#6d28d9;border:0;color:#fff;border-radius:8px;padding:5px 10px;font-size:12px;margin:0 6px 4px 0;cursor:pointer}.whl-sr button:disabled{opacity:.5}.whl-sr small{display:block;color:#86efac;font-size:11px}

.w3-rv.w3-once,.w3-rv.w3-once .w3-rr{animation-iteration-count:1;animation-fill-mode:forwards}
.w3-truckwrap.arrive{animation:w3in 9s linear}
.w3-report{background:linear-gradient(#0f172a,#111c36);border:2px solid #38bdf8;border-radius:10px;color:#e2e8f0;font:700 12px system-ui,sans-serif;padding:6px 10px;box-sizing:border-box;box-shadow:0 0 18px #38bdf855}
.w3-report b{display:block;color:#7dd3fc;font-size:12px;letter-spacing:.06em}.w3-report span{display:block;font-weight:600;font-size:11px;color:#cbd5e1}.w3-report .bar{height:6px;background:#1e293b;border-radius:4px;margin-top:4px;overflow:hidden}.w3-report .bar i{display:block;height:100%;background:linear-gradient(90deg,#22c55e,#facc15)}
.w3-charger .f{background:#0ea5e9;border:1px solid #075985}.w3-chled .f{background:#22c55e;box-shadow:0 0 12px #22c55e}.w3-chg{position:absolute;left:0;top:0;transform-style:preserve-3d;animation:w3chg 3.4s ease-in-out infinite alternate}@keyframes w3chg{from{opacity:.35}to{opacity:1}}

/* ===== My view (walk-through) ===== */
.w3-fppad{position:absolute;left:14px;bottom:62px;z-index:12;display:grid;grid-template-columns:repeat(3,44px);gap:6px}.w3-fppad[hidden]{display:none}
.w3-fppad button{height:40px;border-radius:10px;border:1px solid #334266;background:#0b1226ee;color:#e5e7eb;font-size:16px;cursor:pointer;touch-action:none}.w3-fppad button.w{grid-column:1/4;font-size:12px;font-weight:700}
.w3-stage.is-fp .w3-ped .w3-tag{display:none}

/* session lock always on top of Warehouse Live (also in full screen) and light to draw */
.session-lock-screen,#session-lock-reset-modal,.session-lock-reset-modal,.session-key-modal{z-index:2147483000!important}
body.session-is-locked .whl>*:not(.session-lock-screen):not(#session-lock-reset-modal){visibility:hidden}
.whl>.session-lock-screen{backdrop-filter:none!important;background:rgba(13,11,21,.96)!important}

/* FPS meter */
.w3-fps{position:absolute;left:12px;top:12px;z-index:8;font:700 11px/1.3 ui-monospace,Menlo,monospace;color:#e2e8f0;background:rgba(10,14,25,.78);border:1px solid #1e2a4a;border-left:4px solid #22c55e;border-radius:8px;padding:6px 10px;pointer-events:none;max-width:70vw}
.w3-fps.mid{border-left-color:#f59e0b}.w3-fps.bad{border-left-color:#ef4444;color:#fecaca}

/* lighter to draw: glow only on the top face, no filters on faces */
.w3-lamphead .f:not(.top),.w3-hl .f:not(.top){box-shadow:none!important}
.w3-stage.is-lite .w3-lamphead .f,.w3-stage.is-lite .w3-hl .f{box-shadow:none!important}
.w3-stage.is-lite .w3-rl,.w3-stage.is-lite .w3-water .f,.w3-stage.is-lite .w3-flagw,.w3-stage.is-lite .w3-hbeacon,.w3-stage.is-lite .w3-bkn{animation:none!important}
.w3-stage.is-ultra .w3-ppl .w3-limb,.w3-stage.is-ultra .w3-ppl{animation:none!important}
.w3-stage.is-still .w3-bld>.f.back,.w3-stage.is-still .w3-shelf>.f.back,.w3-stage.is-still .w3-pbox>.f.back,.w3-stage.is-still .w3-house>.f.back{display:none}
/* simplified scene: no day/night tint, no light pools or glow, no clouds, no blinking beacons */
.w3-rlight,.w3-bkn,.w3-pend,.w3-chain{display:none!important}
.w3-lamphead .f,.w3-hl .f{box-shadow:none!important}.w3-hbeacon{animation:none!important}

/* zoomed-out views (whole site / overview): static scenery is drawn with its roof and front only, people and small details are skipped,
   and scenery does not take part in hover so the browser has far less to draw and test */
.w3-stage.is-far .w3-ch[data-ch=shelves] .p3-cube>.f:not(.top):not(.front),
.w3-stage.is-far .w3-ch[data-ch=props] .p3-cube>.f:not(.top):not(.front),
.w3-stage.is-far .w3-ch[data-ch=houses] .p3-cube>.f:not(.top):not(.front),
.w3-stage.is-far .w3-ch[data-ch=plaza] .p3-cube>.f:not(.top):not(.front),
.w3-stage.is-far .w3-ch[data-ch=guards] .p3-cube>.f:not(.top):not(.front),
.w3-stage.is-far .w3-ch[data-ch=sidehwy] .p3-cube>.f:not(.top):not(.front){display:none}
.w3-stage.is-far .w3-ped,.w3-stage.is-far .w3-ch[data-ch=guards] .w3-ppl{display:none}
.w3-stage.is-far .w3-ch[data-ch^=city],.w3-stage.is-far .w3-ch[data-ch=plaza]{pointer-events:none}

/* scroll bars: left/right and up/down over the whole site */
.w3-sb{position:absolute;z-index:7;display:flex;align-items:stretch;background:rgba(10,14,25,.72);border:1px solid #1e2a4a;border-radius:10px;user-select:none;touch-action:none}
.w3-sb.h{left:50%;transform:translateX(-50%);bottom:64px;width:min(520px,60vw);height:22px;flex-direction:row}
.w3-sb.v{right:6px;top:50%;transform:translateY(-50%);height:min(420px,50vh);width:22px;flex-direction:column}
.w3-sb button{flex:none;width:22px;height:22px;border:0;background:transparent;color:#cbd5e1;font-size:10px;cursor:pointer;padding:0}.w3-sb button:hover{color:#fff;background:#6d28d9}
.w3-sbt{position:relative;flex:1;cursor:pointer}.w3-sbt i{position:absolute;background:#7c3aed;border-radius:8px;opacity:.9}
.w3-sb.h .w3-sbt i{top:4px;bottom:4px;min-width:24px}.w3-sb.v .w3-sbt i{left:4px;right:4px;min-height:24px}
.w3-sb[hidden]{display:none}
@media(max-width:700px){.w3-sb.h{bottom:112px}}

/* WebGL engine */
.w3-gl{position:absolute;left:0;top:0;display:block;pointer-events:none}
.w3-stage.is-gl .w3-world{display:none}

/* rack look (like the Pickup modal) */
.w3-rk .f{background:#334155;border:1px solid #1e293b}.w3-rk.deck .f{background:#94a3b8;border-color:#64748b}.w3-rk.beam .f{background:#f97316;border-color:#c2410c}.w3-rk.beam.low .f{background:#fbbf24}.w3-rk.beam.empty .f{background:#64748b;border-color:#475569}
.w3-rk.ghost .f{background:#2c3a4d;border-color:#223044}.w3-rk.beam.ghost .f{background:#3a4a60}
.w3-shhead{margin:0 0 8px;font:700 12px/1.4 system-ui,sans-serif}
.w3-shitems{list-style:none;margin:0;padding:0;display:grid;gap:8px;max-height:48vh;overflow:auto}
.w3-shitems li{display:flex;gap:10px;align-items:center;padding:6px;border-radius:8px;background:rgba(148,163,184,.12)}
.w3-shitems img,.w3-shitems li>i{width:46px;height:46px;border-radius:6px;object-fit:cover;background:#d6a65f;flex:none}
.w3-shitems b{font:800 12px/1.3 system-ui,sans-serif;display:block}.w3-shitems small{display:block;font:600 11px/1.3 system-ui,sans-serif;opacity:.8}
.w3-shitems small b{display:inline;font-size:11px}

/* airport life */
.w3-rwl{background:#fde68a;border-radius:50%;box-shadow:0 0 6px #fbbf24;animation:w3rwl 1.9s linear infinite;animation-delay:var(--d,0s)}
@keyframes w3rwl{0%,100%{opacity:.25}12%,28%{opacity:1}45%{opacity:.25}}
.w3-tug *,.w3-crew *{pointer-events:none}
@media(prefers-reduced-motion:reduce){.w3-rwl{animation:none}}
.w3-stage.is-far .w3-rwl{display:none}

/* forklift: works 45 min, charges 15 min */
.w3-fkgo.c{animation:w3fkc 900s linear 1 both}
@keyframes w3fkc{0%{transform:translate3d(0,-200px,0)}5%{transform:translate3d(0,150px,0)}100%{transform:translate3d(0,150px,0)}}
.w3-fx{animation-timing-function:linear;animation-iteration-count:infinite}
.w3-fkgo.c ~ .w3-chg .f,.w3-chg .f{box-shadow:none}

/* sky, lights and weather are back (cheap in WebGL: one tint layer, flat light pools, a 2D rain canvas) */
.w3-tint{position:absolute;inset:0;pointer-events:none;z-index:2}
.w3-wx{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3}
.w3-stage[data-wx=rain] .w3-tint,.w3-stage[data-wx=storm] .w3-tint{background:rgba(120,135,160,.38)!important}.w3-stage[data-wx=fog]::after{content:"";position:absolute;inset:0;background:rgba(220,228,240,.28);pointer-events:none;z-index:3}
.w3-stage.w3-flash::before{content:"";position:absolute;inset:0;background:rgba(255,255,255,.55);pointer-events:none;z-index:4}
.w3-stage[data-tod=night]{background:radial-gradient(1400px 800px at 50% 24%,#1f2a52 0%,#0e1530 55%,#05070f 100%)}
.w3-wxchip{position:absolute;left:12px;bottom:76px;z-index:6;background:rgba(10,14,25,.82);color:#fff;border:1px solid #334155;border-radius:999px;padding:5px 11px;font:800 12px system-ui,sans-serif;pointer-events:none;text-transform:capitalize}
.w3-world .w3-pool{background:rgba(255,236,170,.26);border-radius:50%;display:none}
.w3-world.night-on .w3-pool{display:block}.w3-world.dusk-on .w3-pool{display:block;background:rgba(255,236,170,.14)}
.w3-world.night-on .w3-lamphead .f,.w3-world.dusk-on .w3-lamphead .f{background:#fde68a}
.w3-stage[data-tod=night] .w3-pool,.w3-stage[data-tod=dusk] .w3-pool{display:block}

.w3-slbl{background:#0f172a;color:#e2e8f0;font:900 6px/7px system-ui,sans-serif;display:flex;align-items:center;justify-content:center;border-radius:1px;white-space:nowrap;border-bottom:1px solid #64748b}
.w3-slbl.full{border-bottom-color:#22c55e}.w3-slbl.low{border-bottom-color:#f59e0b}.w3-slbl.empty{color:#94a3b8}

/* find a product, walk tour, plane cam */
.w3-fnd input{min-width:150px}
.w3-findr{max-height:46vh;overflow:auto;background:rgba(10,14,25,.94);border:1px solid #334155;border-radius:10px;padding:6px;display:grid;gap:6px;max-width:260px;pointer-events:auto}
.w3-fi{display:flex;flex-wrap:wrap;gap:4px;align-items:center;color:#e2e8f0}.w3-fi b{flex:1 0 100%;font:800 12px/1.3 system-ui,sans-serif}.w3-fi small{font:600 11px system-ui,sans-serif;opacity:.8}
.w3-fi button{background:#7c3aed;color:#fff;border:0;border-radius:6px;padding:3px 8px;font:800 11px system-ui,sans-serif;cursor:pointer}
.w3-findbeam .f{background:rgba(250,204,21,.7)}.w3-findring .f{background:rgba(250,204,21,.5)}.w3-findtag{background:#facc15!important;color:#111!important}
.w3-fpcap{position:absolute;left:50%;top:210px;transform:translateX(-50%);z-index:7;background:rgba(10,14,25,.88);color:#fff;border:1px solid #475569;border-radius:999px;padding:8px 18px;font:800 15px system-ui,sans-serif;pointer-events:none;max-width:90vw;text-align:center}
.w3-tools [data-w3t=walk].on,.w3-tools [data-w3t=plane].on{background:#7c3aed}

.w3-sign.bank{font-size:12px}

/* faces and clothes */
.w3-eye{background:var(--c,#f8fafc)}.w3-pupil{background:#111827}.w3-brow{background:var(--c,#2b1d12)}.w3-mouth{background:#a8403a}
.w3-collar .f{background:#f8fafc}.w3-shirtfront .f{background:#f1f5f9}.w3-tie .f{background:var(--c,#b91c1c)}
/* rich corporate palette: lighter ground so the scene reads like a daylit campus */
.w3-ground{background:#4a5873}.w3-cground{background:#56677d}
.w3-stage.is-gl .w3-tint{display:none}
.w3-cblock{background:#7a8aa3}.w3-road{background:#3b414e}
/* glassmorphism overlay */
.w3-tools .w3-tb,.w3-tools button,.w3-bar,.w3-card,.w3-cc,.w3-toast,.w3-fps,.w3-wxchip,.w3-findr,.whl-top{-webkit-backdrop-filter:blur(14px) saturate(1.5);backdrop-filter:blur(14px) saturate(1.5)}
.w3-tools button,.w3-wxchip,.w3-bar,.w3-findr{background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.22);box-shadow:0 8px 24px rgba(5,10,30,.35),inset 0 1px 0 rgba(255,255,255,.25)}
.w3-card,.w3-cc,.w3-toast{background:linear-gradient(180deg,rgba(24,34,66,.62),rgba(14,22,48,.55));border:1px solid rgba(255,255,255,.2);box-shadow:0 18px 50px rgba(3,8,24,.5),inset 0 1px 0 rgba(255,255,255,.2)}
/* showcase: KPI strip, ticker, captions, presentation mode */
.w3-kpi{position:absolute;left:50%;top:12px;transform:translateX(-50%);z-index:7;display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none;max-width:calc(100% - 24px)}
.w3-kpis{display:flex;gap:2px;padding:6px;border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.24);box-shadow:0 12px 34px rgba(3,8,24,.45),inset 0 1px 0 rgba(255,255,255,.3);-webkit-backdrop-filter:blur(16px) saturate(1.6);backdrop-filter:blur(16px) saturate(1.6);overflow:hidden}
.w3-kp{padding:4px 14px;text-align:center;border-right:1px solid rgba(255,255,255,.12);min-width:84px}.w3-kp:last-child{border:0}
.w3-kp b{display:block;font:800 20px/1.1 system-ui,sans-serif;color:#fff;letter-spacing:-.01em;font-variant-numeric:tabular-nums;text-shadow:0 0 14px rgba(167,139,250,.7)}
.w3-kp span{display:block;font:700 9.5px system-ui,sans-serif;letter-spacing:.09em;text-transform:uppercase;color:#c7d2fe;opacity:.85;margin-top:2px}
.w3-tick{display:flex;align-items:center;gap:7px;padding:4px 12px;border-radius:999px;background:rgba(10,16,38,.55);border:1px solid rgba(255,255,255,.16);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font:700 11.5px system-ui,sans-serif;color:#e0e7ff}
.w3-tick i{width:7px;height:7px;border-radius:50%;background:#34d399;box-shadow:0 0 10px #34d399;animation:w3tp 1.6s ease-in-out infinite}
.w3-tick span.in{animation:w3ti .6s cubic-bezier(.2,.8,.2,1)}
@keyframes w3tp{50%{opacity:.35}}@keyframes w3ti{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.w3-showcap{position:absolute;left:50%;bottom:54px;transform:translateX(-50%);z-index:8;padding:12px 26px;border-radius:999px;font:800 17px system-ui,sans-serif;letter-spacing:.02em;color:#fff;background:linear-gradient(180deg,rgba(255,255,255,.2),rgba(255,255,255,.06));border:1px solid rgba(255,255,255,.3);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 14px 40px rgba(3,8,24,.5);pointer-events:none;white-space:nowrap}
.w3-showcap.in{animation:w3ti .8s cubic-bezier(.2,.8,.2,1)}
.is-show .w3-tools button:not([data-w3t=show]),.is-show .w3-bar,.is-show .w3-card,.is-show .w3-fps,.is-show .w3-findr,.is-show .w3-wxchip,.is-show .w3-fppad{opacity:0!important;pointer-events:none!important;transition:opacity .5s}
.is-show .w3-tools{pointer-events:none}.is-show .w3-tools [data-w3t=show]{pointer-events:auto}
.w3-stage.is-intro,.w3-stage.is-intro *{cursor:progress}
@media (max-width:760px){.w3-kp{min-width:62px;padding:4px 8px}.w3-kp:nth-child(n+5){display:none}.w3-showcap{font-size:13px;padding:9px 16px}}
.is-show .w3-tools input,.is-show .w3-hint,.is-show [class*=scroll],.is-show .w3-zoomrail{opacity:0!important;pointer-events:none!important}
.is-show .w3-showcap{bottom:34px}
/* night: warm, readable window lights on towers; stronger street pools */
.w3-stage[data-tod=night] .w3-bld.l1{--wc:#f2b640}.w3-stage[data-tod=night] .w3-bld.l2{--wc:#e0832c}.w3-stage[data-tod=night] .w3-bld.l3{--wc:#3b4e78}
.w3-world.night-on .w3-pool{background:rgba(255,226,150,.42)}
.w3-kp[data-k=cash] b{color:#86efac;text-shadow:0 0 14px rgba(52,211,153,.7)}.w3-kp.neg[data-k=cash] b{color:#fca5a5;text-shadow:0 0 14px rgba(248,113,113,.7)}
.w3-kp{min-width:78px;padding:4px 11px}
/* real street lamps */
.w3-lbase .f{background:#475569}.w3-lampcase .f{background:#1f2937}.w3-lampcase .f.top{background:#374151}
.w3-lamphead .f{background:#fff6d6}
.w3-beam{display:none;pointer-events:none;background:linear-gradient(rgba(255,238,170,.5),rgba(255,238,170,0));clip-path:polygon(38% 0,62% 0,100% 100%,0 100%)}
.w3-world.night-on .w3-beam,.w3-world.dusk-on .w3-beam,.w3-stage[data-tod=night] .w3-beam,.w3-stage[data-tod=dusk] .w3-beam{display:block}
.w3-world.night-on .w3-hot{background:rgba(255,246,210,.7)}.w3-stage[data-tod=night] .w3-hot,.w3-stage[data-tod=dusk] .w3-hot{background:rgba(255,246,210,.6);border-radius:50%}
.w3-world .w3-hot{background:rgba(255,246,210,.5);border-radius:50%;display:none}
.w3-world.night-on .w3-hot,.w3-world.dusk-on .w3-hot{display:block}
/* neutral, mixed floors: polished concrete, charcoal asphalt, pale pavement (no more blue wash) */
.w3-ground{background:#3a3c41}.w3-cground{background:#34363b}.w3-cblock{background:#9b9892}.w3-road{background:#2a2c30}.w3-sidewalk{background:#d8d4cc}.w3-walk{background:#7b7e84}
.w3-plaza{background:#2c2e33;border-radius:8px}.w3-apron{background:#55585f;border:2px dashed #facc15}.w3-runway{background:#2b2d32;border-top:2px solid #d6d3cd;border-bottom:2px solid #d6d3cd}
/* warehouse floor and zones back to the original look */
.w3-bld .f.top{background:linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)),var(--c)}
/* airport lights */
.w3-ind .f{background:#fff;box-shadow:0 0 10px #fff}.w3-ind.g .f{background:#22ff88;box-shadow:0 0 10px #22ff88}.w3-ind.r .f{background:#ff3b3b;box-shadow:0 0 10px #ff3b3b}.w3-ind.b .f{background:#4d8dff;box-shadow:0 0 10px #4d8dff}.w3-ind.a .f{background:#ffb020;box-shadow:0 0 10px #ffb020}
.w3-world.night-on .w3-pool.g,.w3-world.dusk-on .w3-pool.g,.w3-stage[data-tod=night] .w3-pool.g{background:rgba(60,255,140,.45)}
.w3-world.night-on .w3-pool.r,.w3-world.dusk-on .w3-pool.r,.w3-stage[data-tod=night] .w3-pool.r{background:rgba(255,70,70,.45)}
.w3-world.night-on .w3-pool.b,.w3-world.dusk-on .w3-pool.b,.w3-stage[data-tod=night] .w3-pool.b{background:rgba(80,140,255,.5)}
.w3-world.night-on .w3-pool.a,.w3-world.dusk-on .w3-pool.a,.w3-stage[data-tod=night] .w3-pool.a{background:rgba(255,176,32,.45)}
.w3-world.night-on .w3-pool.w,.w3-world.dusk-on .w3-pool.w,.w3-stage[data-tod=night] .w3-pool.w{background:rgba(255,255,255,.4)}
.w3-abeacon .f{background:#34d399;box-shadow:0 0 18px #34d399}.w3-tcab .f{background:rgba(125,211,252,.6)}
/* human floor palette: warm polished concrete, painted zones, carpet, apron asphalt */
.w3-floor{background-color:#a9a69f;background-image:linear-gradient(90deg,rgba(0,0,0,.06) 1px,transparent 1px),linear-gradient(0deg,rgba(0,0,0,.06) 1px,transparent 1px);background-size:90px 90px;border-radius:8px}
.w3-zonefloor{background:rgba(255,255,255,.05);border:2px dashed rgba(242,194,0,.75);border-radius:10px}
.w3-zonefloor.zb{background:rgba(47,95,158,.3)}.w3-zonefloor.ai{background:rgba(63,125,78,.34)}
.w3-zonefloor.zc{background:#4a4d55;border:2px solid #c9b79c}.w3-zonefloor.zt{background:#4b4e53;border:2px dashed #f2c200}
.w3-dropfloor{background:rgba(242,194,0,.12);border:2px dashed rgba(242,194,0,.7)}
.w3-rug{background:#d8cfbd}.w3-ground{background:#3a3935}.w3-cground{background:#343330}.w3-road{background:#2f3135}.w3-sidewalk{background:#cfcbc3}.w3-yardgrass,.w3-lawn{background:#4f8a4a}
.w3-plaza{background:#6b6a66}.w3-marble{background:#d9d5cc;box-shadow:0 0 0 3px #c9a227 inset}
/* people gear, restroom, speech bubbles */
.w3-shoe .f{background:var(--c,#3b2f2a)}.w3-wcdoor{background:#1f2937;border:2px solid #94a3b8}
.w3-tag.w3-sbub{background:#fff;color:#0f172a;border:1px solid #cbd5e1;font-weight:800;border-radius:10px;box-shadow:0 4px 12px rgba(0,0,0,.35)}
/* rounded people */
.w3-lip .f{background:var(--c,#b5524f)}.w3-lapel{background:rgba(0,0,0,.34)}.w3-pocketsq{background:#f8fafc}.w3-glass2{background:rgba(15,23,42,.5)}
.w3-vest .f{background:var(--c,#f97316)}.p3-ell>.f{border-radius:45%}
/* front garden + rounded aircraft */
.w3-gc .f,.w3-gcg .f{background:var(--c,#4a8f4a)}.w3-gc .f{border:0}.w3-lawn2{background:radial-gradient(circle at 30% 20%,#7dba6a,#4f8d48 55%,#3d7338)}.w3-gpave{background:linear-gradient(90deg,rgba(255,255,255,.22) 0 10px,transparent 10px),repeating-linear-gradient(90deg,rgba(90,74,48,.16) 0 1px,transparent 1px 32px),repeating-linear-gradient(0deg,rgba(90,74,48,.12) 0 1px,transparent 1px 32px),linear-gradient(160deg,#efe6d4,#d4c7aa)}
.w3-yard{background:radial-gradient(circle at 18% 40%,rgba(255,255,255,.1),transparent 26%),repeating-linear-gradient(90deg,rgba(0,0,0,.1) 0 2px,transparent 2px 48px),repeating-linear-gradient(0deg,rgba(255,255,255,.06) 0 1px,transparent 1px 24px),linear-gradient(#2a4634,#1a2e24)}
.w3-glant .f{background:#ffd9a0;box-shadow:0 0 14px #ffc46b}
/* human gait: one foot at a time. Opposite leg swings forward as the knee bends on the swing phase; arms swing against the legs */
@keyframes w3hip{0%{transform:rotateX(24deg)}50%{transform:rotateX(-20deg)}100%{transform:rotateX(24deg)}}
@keyframes w3knee{0%{transform:rotateX(-4deg)}25%{transform:rotateX(-3deg)}50%{transform:rotateX(-12deg)}76%{transform:rotateX(-56deg)}100%{transform:rotateX(-4deg)}}
@keyframes w3armw{0%{transform:rotateX(-20deg)}50%{transform:rotateX(20deg)}100%{transform:rotateX(-20deg)}}
.w3-ppl.walk .w3-limb.leg,.w3-ppl.patrol .w3-limb.leg,.w3-ppl.stroll .w3-limb.leg{animation:w3hip var(--g,1.05s) ease-in-out infinite;animation-delay:0s;animation-direction:normal}
.w3-ppl.walk .w3-limb.shin,.w3-ppl.patrol .w3-limb.shin,.w3-ppl.stroll .w3-limb.shin{animation:w3knee var(--g,1.05s) ease-in-out infinite;animation-delay:0s;animation-direction:normal}
.w3-ppl.walk .w3-limb.arm,.w3-ppl.patrol .w3-limb.arm,.w3-ppl.stroll .w3-limb.arm{animation:w3armw var(--g,1.05s) ease-in-out infinite;animation-delay:0s;animation-direction:normal}
.w3-ppl.walk .w3-limb.leg.r,.w3-ppl.patrol .w3-limb.leg.r,.w3-ppl.stroll .w3-limb.leg.r,.w3-ppl.walk .w3-limb.shin.r,.w3-ppl.patrol .w3-limb.shin.r,.w3-ppl.stroll .w3-limb.shin.r,.w3-ppl.walk .w3-limb.arm.r,.w3-ppl.patrol .w3-limb.arm.r,.w3-ppl.stroll .w3-limb.arm.r{animation-delay:calc(var(--g,1.05s) / -2);animation-direction:normal}
.w3-ppl.stand .w3-limb.leg,.w3-ppl.stand .w3-limb.shin,.w3-ppl.stand .w3-limb.arm,.w3-ppl.walk.stand .w3-limb.leg,.w3-ppl.walk.stand .w3-limb.shin,.w3-ppl.walk.stand .w3-limb.arm{animation:none}
.w3-rv .w3-ppl.walk .w3-turn{animation:none}
/* department lighting, stand spots and counter screens */
.w3-ipool{background:radial-gradient(closest-side,rgba(255,236,190,.42),rgba(255,236,190,0));pointer-events:none}.w3-ipool.hi{background:radial-gradient(closest-side,rgba(255,246,214,.62),rgba(255,246,214,0))}
.w3-stage[data-tod=night] .w3-ipool{background:radial-gradient(closest-side,rgba(255,226,150,.85),rgba(255,226,150,0))}
.w3-spot{background:rgba(245,158,11,.26)}.w3-spot.on{background:rgba(250,204,21,.5)}.w3-spotl{background:#f59e0b}.w3-spotl.on{background:#fff7b0}
.w3-tag.w3-spottag{background:rgba(120,53,15,.92);border-color:#f59e0b;color:#fde68a;font-size:10px}.w3-tag.w3-spottag.on{background:rgba(20,83,45,.95);border-color:#4ade80;color:#dcfce7}
.w3-spanel{background:linear-gradient(160deg,#0f172a,#1e293b);border:2px solid #475569;border-radius:6px;color:#e2e8f0;padding:2px 3px;font:700 2.6px/1.25 system-ui,sans-serif;overflow:hidden;cursor:pointer}
.w3-spanel.on{border-color:#4ade80;box-shadow:0 0 10px #4ade80}.w3-spanel h6{margin:0 0 1.5px;font:900 3.2px system-ui,sans-serif;color:#facc15;letter-spacing:.06em}.w3-spanel p{margin:0;padding:1px 0;border-bottom:1px solid #334155;white-space:nowrap}.w3-spanel p.dim{color:#94a3b8;white-space:normal}
.w3-spanel p{font:700 2.8px/1.3 system-ui,sans-serif!important}.w3-spanel h6{font:900 3.4px/1.2 system-ui,sans-serif!important}

.w3-menuoff .w3-tools{display:none!important}
.w3-menutab{position:absolute;left:12px;top:150px;z-index:9;background:#1e293b;color:#fff;border:1px solid #475569;border-radius:10px;padding:8px 12px;font:800 13px system-ui,sans-serif;cursor:pointer}
.w3-tools [data-w3t="login"]{background:#4c1d95;color:#fff}.w3-tools [data-w3t="closewh"]{background:#7f1d1d;color:#fff}

@keyframes w3gait{0%,50%,100%{transform:translate3d(0,0,0)}25%,75%{transform:translate3d(0,0,1.7px)}}
.w3-rv .w3-ppl.walk,.w3-rv .w3-ppl.stroll{animation:w3gait var(--g,1.05s) ease-in-out infinite;animation-delay:0s;animation-direction:normal}
/* west yard desk cards (pickup, office, wakala) */
.w3-dksum{margin:0 0 8px;font:700 13px system-ui,sans-serif;color:#e2e8f0}.w3-dksum b{font-size:18px;color:#fbbf24}
.w3-dkact{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.w3-dkact input{flex:1 1 150px;min-width:0;padding:8px 10px;border-radius:8px;border:1px solid #475569;background:#0f172a;color:#fff;font:600 13px system-ui,sans-serif}
.w3-dkact button,.w3-dklist button{background:#1e293b;color:#e2e8f0;border:1px solid #475569;border-radius:8px;padding:7px 10px;font:800 12px system-ui,sans-serif;cursor:pointer}.w3-dkact button.pri{background:#16a34a;border-color:#22c55e;color:#fff;flex:1 1 100%;padding:11px;font-size:14px}
.w3-dklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.w3-dklist li{display:flex;align-items:center;gap:8px;background:#0f172a;border:1px solid #334155;border-radius:10px;padding:6px 8px}.w3-dklist li[hidden]{display:none}
.w3-dklist li>div{flex:1;min-width:0}.w3-dklist li b{display:block;font:800 12px system-ui,sans-serif;color:#fff;overflow:hidden;text-overflow:ellipsis}.w3-dklist small{display:block;font:600 11px system-ui,sans-serif;color:#94a3b8}
.w3-dklist img,.w3-dklist li>i:not(.fi){width:38px;height:38px;border-radius:8px;object-fit:cover;background:#1e293b;flex:none}.w3-dklist .fi{width:38px;height:38px;border-radius:8px;background:#312e81;color:#c7d2fe;display:flex;align-items:center;justify-content:center;font:900 11px system-ui,sans-serif;font-style:normal;text-transform:uppercase;flex:none}
.w3-dklist li.dn{opacity:.6}.w3-dkok{font:800 11px system-ui,sans-serif;color:#4ade80;white-space:nowrap}
.w3-dkfold{border:1px solid #334155;border-radius:10px;margin-bottom:8px;background:#111827;padding:2px 8px}.w3-dkfold summary{cursor:pointer;display:flex;justify-content:space-between;gap:8px;align-items:center;padding:8px 2px;font:800 13px system-ui,sans-serif;color:#fff}.w3-dkfold summary small{color:#94a3b8;font:600 11px system-ui,sans-serif}.w3-dkfold .w3-dklist{padding:4px 0 8px}
/* ===== registers: computer off/on, the admin's computer screen, department directory ===== */
.w3-spanel.off{background:linear-gradient(160deg,#0b0f19,#111827);border-color:#334155;color:#64748b}.w3-spanel.off h6{color:#a1873a}.w3-spanel.off p{color:#64748b;border-color:#1f2937}
.w3-spanel p.cat{color:#7dd3fc;border:0;font-size:2.4px!important;text-transform:uppercase;letter-spacing:.08em}.w3-spanel p.who{color:#4ade80;border:0}
.w3-regbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 10px;padding:9px 10px;border-radius:12px;border:1px solid #475569;background:#111827}.w3-regbar.on{border-color:#22c55e;background:#052e16}
.w3-regbar>div{flex:1 1 140px;min-width:0}.w3-regbar small{display:block;font:700 10px system-ui,sans-serif;color:#94a3b8;text-transform:uppercase;letter-spacing:.06em}.w3-regbar b{font:800 13px system-ui,sans-serif;color:#fff}
.w3-regbar button{background:#1e293b;color:#e2e8f0;border:1px solid #475569;border-radius:8px;padding:8px 12px;font:800 12px system-ui,sans-serif;cursor:pointer}.w3-regbar button.pri,.w3-dklist button.pri{background:#16a34a;border-color:#22c55e;color:#fff}
.w3-dkcat{margin:12px 0 6px;font:900 11px system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#7dd3fc}
.w3-pc{position:absolute;left:150px;right:20px;top:62px;bottom:78px;z-index:9;display:flex;flex-direction:column;background:#0b1020;border:9px solid #1f2937;border-radius:18px;box-shadow:0 20px 70px rgba(0,0,0,.6),0 0 0 2px #475569;overflow:hidden}
.w3-pchead{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#111827;color:#fff;flex:none;flex-wrap:wrap}.w3-pchead b{font:900 15px system-ui,sans-serif}.w3-pccat{background:#312e81;color:#c7d2fe;border-radius:999px;padding:3px 10px;font:800 11px system-ui,sans-serif}.w3-pcwho{color:#4ade80;font:700 12px system-ui,sans-serif}.w3-pcsp{flex:1}
.w3-pchead button{background:#1e293b;color:#e2e8f0;border:1px solid #475569;border-radius:8px;padding:7px 11px;font:800 12px system-ui,sans-serif;cursor:pointer}.w3-pchead button[data-pc=out]{background:#7f1d1d;border-color:#b91c1c}
.w3-pcbody{flex:1;overflow:auto;background:#f6f5f8;color:#17171d;position:relative;padding:0}.w3-pcerr{padding:30px}.w3-pcerr h3{margin:0 0 8px}
@media(max-width:900px){.w3-pc{left:8px;right:8px;top:56px;bottom:70px}}
/* pages that open dialogs while a computer is on must sit above the warehouse screen */
body.whl-open :is(#dz-ship-print-overlay,#pwyw-installments-modal,#pwyw-modal,#pwyw-payment-modal,#pwyw-policies-modal,.cartdata-v62-modal-backdrop,.cu-modal-backdrop,.cust-modal-backdrop,.datareq-overlay,.dz-brand-modal,.dz-category-modal,.dz-finder-modal,.dz-inv-modal-backdrop,.dz-modal,.dz-mtm-modal-bg,.dz-pf-picker,.dz-product-modal,.dz-products-filter-panel,.dz-pt-modal,.dz-sbd-modal,.dz-ship-modal,.dz-stockops-modal,.dz-tailor-modal-bg,.dz-vd-overlay,.fin-modal-backdrop,.fm-modal-backdrop,.foodorders-v64-modal-backdrop,.foodorders-v65-modal-backdrop,.jobs-overlay,.loyal-modal-backdrop,.ls-modal-bg,.mg-modal,.modal-overlay,.mp-library-bg,.mp-modal-bg,.office-modal,.orders-modal,.plat-modal,.pos-modal,.rental-modal,.rr-modal-root,.rv-modal-bg,.si-modal-overlay,.staff-support-overlay,.support-modal-overlay,.wk-modal-overlay){z-index:260000!important}
body.whl-pc .w3-tools{display:none!important}.w3-pc{left:20px!important}
.w3-pc[hidden],.w3-tools [hidden]{display:none!important}

/* computer window: nearly the whole warehouse screen so a page feels like the real page */
.w3-pc{top:8px!important;bottom:62px!important;right:10px!important;left:10px!important}

body.whl-pc .w3-fppad,body.whl-pc .w3-fpcap{display:none!important}

/* ===== staff on duty ===== */
.w3-duty{margin:8px 0 0;padding:8px 10px;border-radius:10px;background:#0f2a1c;border:1px solid #166534;color:#bbf7d0;font:700 12px system-ui,sans-serif;display:flex;flex-wrap:wrap;gap:4px 12px}.w3-duty b{width:100%;color:#4ade80}.w3-duty span i{opacity:.7;font-style:normal;font-weight:600}.w3-duty.none{background:#111827;border-color:#273244;color:#94a3b8;font-weight:600}
.w3-spanel .who.duty{color:#7dd3fc}

/* ===== dark mode: the warehouse screen, its computers and every dialog they open ===== */
body.whl-dark .w3-pcbody{background:#11111a;color:#eee;color-scheme:dark}
body.whl-dark .w3-pcbody a{color:#a5b4fc}
body.whl-dark :is(.w3-pcbody,body>:not(.whl):not(.app):not(script):not(link):not(style)) :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not([type=button]):not([type=submit]){background:#0f172a!important;color:#e5e7eb!important;border-color:#334155!important;color-scheme:dark}
body.whl-dark :is(.w3-pcbody,body>:not(.whl):not(.app):not(script):not(link):not(style)) :is(input,textarea)::placeholder{color:#64748b!important}
body.whl-dark :is(.w3-pcbody,body>:not(.whl):not(.app):not(script):not(link):not(style)) :is(option,optgroup){background:#0f172a;color:#e5e7eb}
body.whl-dark :is(.w3-pcbody,body>:not(.whl):not(.app):not(script):not(link):not(style)) :is(input,select,textarea):focus{outline:2px solid #6366f1!important;outline-offset:1px}
body.whl-dark :is(.w3-pcbody,body>:not(.whl):not(.app):not(script):not(link):not(style)) :is(input[type=checkbox],input[type=radio],input[type=range]){accent-color:#6366f1;color-scheme:dark}
body.whl-dark :is(.w3-pcbody,body>:not(.whl):not(.app):not(script):not(link):not(style)) *{scrollbar-color:#475569 #0f172a}
body.whl-dark .w3-pcbody table{color:#e5e7eb}

/* ===== shifts, idle and needs-staff alerts, activity trail ===== */
.w3-duty span.away{opacity:.6}
.w3-dkcat.warn{color:#fbbf24}
.w3-spottag.warn{--c:#b45309;background:#78350f!important;color:#fde68a!important}
.w3-spanel .who.warn{color:#fbbf24}
.w3-trail{margin:10px 0 0;padding:8px 10px;border-radius:10px;background:#0f172a;border:1px solid #273244;color:#cbd5e1;font:600 12px system-ui,sans-serif}
.w3-trail h5{margin:0 0 6px;font:800 11px system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#94a3b8}
.w3-trail ul{list-style:none;margin:0;padding:0;max-height:190px;overflow:auto}.w3-trail li{padding:5px 0;border-top:1px solid #1e293b;display:flex;flex-wrap:wrap;gap:2px 6px}.w3-trail li:first-child{border-top:0}.w3-trail li b{color:#e2e8f0}.w3-trail li small{width:100%;color:#64748b;font-weight:600}
.w3-trail .dim{margin:0;color:#64748b}

/* ===== tablets and touch screens ===== */
@media (pointer:coarse),(max-width:1100px){
  .w3-tools button,.w3-bar button,.w3-regbar button,.w3-dklist button,.w3-pchead button,.w3-card header button{min-height:44px;min-width:44px}
  .w3-tools{gap:5px;max-height:calc(100% - 300px)}
  .w3-tools button{padding:8px 11px;font-size:13px;min-height:40px}
  .w3-bar button{padding:12px 16px;font-size:14px}
  .w3-card{width:min(440px,46vw);max-height:calc(100% - 150px)}
  .w3-pc{top:4px!important;bottom:60px!important;left:4px!important;right:4px!important;border-width:5px;border-radius:12px}
  .w3-pchead{padding:6px 8px}
  .w3-pcbody input,.w3-pcbody select,.w3-pcbody textarea{font-size:16px}
  .w3-fppad button{width:56px;height:56px}
}
@media (max-width:760px){
  .w3-card{left:6px;right:6px;width:auto;top:auto;bottom:62px;max-height:52vh;border-radius:16px 16px 12px 12px}
  .w3-tools{max-height:calc(100% - 130px)}
  .w3-pchead .w3-pcwho{display:none}
}

/* ===== department chat, tasks, staff heat ===== */
.w3-comms{margin:10px 0 0;padding:8px 10px;border-radius:10px;background:#0f172a;border:1px solid #273244;color:#cbd5e1;font:600 12px system-ui,sans-serif}
.w3-comms h5{margin:8px 0 6px;font:800 11px system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#94a3b8}.w3-comms h5:first-child{margin-top:0}
.w3-comms ul{list-style:none;margin:0 0 6px;padding:0}.w3-chat{max-height:150px;overflow:auto}
.w3-comms li{padding:5px 0;border-top:1px solid #1e293b;display:flex;flex-wrap:wrap;gap:2px 6px;align-items:center}.w3-comms li:first-child{border-top:0}.w3-comms li b{color:#e2e8f0}.w3-comms li small{color:#64748b;font-weight:600;width:100%}.w3-comms li.dim{color:#64748b}
.w3-tasks li{justify-content:space-between;flex-wrap:nowrap}.w3-tasks li div{flex:1;min-width:0}
.w3-cin{display:flex;gap:6px;margin:4px 0}.w3-cin input,.w3-cin select{flex:1;min-width:0;background:#111827;color:#e5e7eb;border:1px solid #334155;border-radius:8px;padding:8px 10px;font:600 13px system-ui,sans-serif;color-scheme:dark}
.w3-cin button,.w3-tasks button{background:#4f46e5;color:#fff;border:0;border-radius:8px;padding:8px 12px;font:800 12px system-ui,sans-serif;cursor:pointer}
.w3-heatpad{pointer-events:none}.w3-heatpad.h0{background:rgba(100,116,139,.35)}.w3-heatpad.h1{background:rgba(250,204,21,.5)}.w3-heatpad.h2{background:rgba(249,115,22,.55)}.w3-heatpad.h3{background:rgba(239,68,68,.6)}.w3-heatpad.h4{background:rgba(217,70,239,.65)}

.w3-lockbadge{display:inline-block;background:#1f2937;color:#fbbf24;border:1px solid #92400e;border-radius:8px;padding:7px 10px;font:800 12px system-ui,sans-serif;white-space:nowrap}

/* ===== order flow, audit trail, staff card, confirm step, task banner, TV board ===== */
.w3-flow{display:flex;align-items:center;gap:4px;margin:6px 0 10px;flex-wrap:wrap}.w3-flow .st{flex:1;min-width:64px;background:#111827;color:#e5e7eb;border:1px solid #273244;border-radius:10px;padding:8px 6px;text-align:center;cursor:pointer}.w3-flow .st:disabled{cursor:default;opacity:.85}.w3-flow .st b{display:block;font:900 20px system-ui,sans-serif;color:#a5b4fc}.w3-flow .st small{font:700 10px system-ui,sans-serif;color:#94a3b8}.w3-flow .ar{color:#475569;font-style:normal;font-weight:900}
.w3-dirtop{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 8px}.w3-dirtop button{background:#1e293b;color:#e2e8f0;border:1px solid #475569;border-radius:8px;padding:9px 12px;font:800 12px system-ui,sans-serif;cursor:pointer}.w3-dirtop button.pri{background:#4f46e5;border-color:#4f46e5;color:#fff}
.w3-audbar{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 8px}.w3-audbar select{flex:1;min-width:110px;background:#111827;color:#e5e7eb;border:1px solid #334155;border-radius:8px;padding:8px;font:700 12px system-ui,sans-serif;color-scheme:dark}.w3-audbar button{background:#4f46e5;color:#fff;border:0;border-radius:8px;padding:8px 12px;font:800 12px system-ui,sans-serif;cursor:pointer}
.w3-audn{color:#94a3b8;font:700 12px system-ui,sans-serif;margin:4px 0}
.w3-aud{list-style:none;margin:0;padding:0}.w3-aud li{padding:6px 0;border-top:1px solid #1e293b;color:#cbd5e1;font:600 12px system-ui,sans-serif}.w3-aud li b{color:#e2e8f0}.w3-aud li small{display:block;color:#64748b;font-weight:600}.w3-aud li.dim{color:#64748b}
.w3-scard h3{margin:0;color:#f1f5f9;font:900 18px system-ui,sans-serif}.w3-scard>p{margin:2px 0 8px;color:#94a3b8;font:700 12px system-ui,sans-serif;text-transform:capitalize}.w3-scard h5{margin:10px 0 4px;color:#94a3b8;font:800 11px system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase}
.w3-kv{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font:600 12px system-ui,sans-serif;color:#94a3b8}.w3-kv b{color:#e2e8f0}
.w3-nm{background:none;border:0;padding:0;color:#bbf7d0;font:800 12px system-ui,sans-serif;text-decoration:underline;cursor:pointer}
.w3-cfm{position:fixed;inset:0;z-index:270000;background:rgba(2,6,23,.72);display:flex;align-items:center;justify-content:center;padding:16px}.w3-cfm .box{width:min(420px,100%);background:#0f172a;border:1px solid #b91c1c;border-radius:14px;padding:18px;color:#e5e7eb;font:600 14px system-ui,sans-serif;box-shadow:0 20px 60px rgba(0,0,0,.6)}.w3-cfm h4{margin:0 0 8px;font:900 17px system-ui,sans-serif;color:#fca5a5;text-transform:capitalize}.w3-cfm p{margin:6px 0}.w3-cfm code{background:#1e293b;border-radius:6px;padding:2px 8px;color:#fecaca;font-weight:900}.w3-cfm input{width:100%;box-sizing:border-box;margin:8px 0;background:#111827;color:#fff;border:1px solid #475569;border-radius:8px;padding:11px;font:800 16px system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase}.w3-cfm .row{display:flex;gap:8px;justify-content:flex-end}.w3-cfm button{background:#1e293b;color:#e2e8f0;border:1px solid #475569;border-radius:8px;padding:10px 16px;font:800 13px system-ui,sans-serif;cursor:pointer}.w3-cfm button.danger{background:#b91c1c;border-color:#b91c1c;color:#fff}.w3-cfm button:disabled{opacity:.4;cursor:not-allowed}
.w3-tasknote{position:fixed;right:16px;bottom:16px;z-index:270000;display:flex;gap:12px;align-items:center;background:#312e81;color:#fff;border-radius:12px;padding:12px 14px;box-shadow:0 10px 40px rgba(0,0,0,.5);font:700 13px system-ui,sans-serif;max-width:min(440px,90vw)}.w3-tasknote button{background:#fff;color:#312e81;border:0;border-radius:8px;padding:8px 12px;font:900 12px system-ui,sans-serif;cursor:pointer;white-space:nowrap}
.w3-tvb{position:absolute;left:16px;right:16px;bottom:78px;z-index:6;display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:12px;pointer-events:none}.w3-tvb[hidden]{display:none}.w3-tvb .col{background:rgba(15,23,42,.86);border:1px solid #273244;border-radius:14px;padding:12px 14px;color:#e5e7eb;backdrop-filter:blur(6px)}.w3-tvb h4{margin:0 0 6px;font:900 13px system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#a5b4fc}.w3-tvb ul{list-style:none;margin:0 0 8px;padding:0}.w3-tvb li{padding:3px 0;font:700 14px system-ui,sans-serif;display:flex;justify-content:space-between;gap:8px}.w3-tvb li small{color:#94a3b8;font-weight:600}.w3-tvb .w3-dkcat{margin:0 0 6px;color:#fbbf24}.w3-tvb .w3-dklist li{padding:3px 0}.w3-tvb .w3-dklist .fi{display:none}.w3-tvb .w3-flow .st b{font-size:26px}
@media(max-width:900px){.w3-tvb{grid-template-columns:1fr}}

/* due times */
.w3-tasks li.late{border-left:3px solid #ef4444;padding-left:8px}.w3-tasks li.late small{color:#dc2626;font-weight:800}
.w3-cin select[data-task-due]{max-width:150px}
body.whl-dark .w3-tasks li.late small{color:#fca5a5}
.w3-menutab{min-height:40px}
@media (pointer:coarse){.w3-menutab{min-height:46px;min-width:96px}}
/* 3D control center: End of day, Arrivals today, Hold tabs */
.w3-cc nav{flex-wrap:wrap!important;overflow:visible!important}.w3-cc nav button{flex:1 1 auto}
.w3-cctile{color:#e5e7eb;font:600 13px/1.4 system-ui,sans-serif}.w3-cctile .whl-kv b{color:#fff}.w3-cctile .whl-empty,.w3-cctile .whl-note{color:#cbd5e1}
.w3-cctile .whl-list{list-style:none;margin:8px 0;padding:0}.w3-cctile .whl-list li{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid rgba(148,163,184,.25)}
.w3-cctile .whl-list li>div{flex:1 1 140px;min-width:0}.w3-cctile .whl-list small{display:block;color:#cbd5e1}
.w3-cctile .whl-force{background:#4f46e5;color:#fff;border:0;border-radius:8px;padding:7px 10px;font:800 12px system-ui,sans-serif;cursor:pointer}
.w3-cctile .whl-job{display:inline-flex;gap:6px}.w3-cctile .whl-job select{background:#0f172a;color:#fff;border:1px solid #475569;border-radius:8px;padding:6px;max-width:130px}
/* ===== DROP off carts, dock door and trailer ===== */
.w3-qplate{background:#f8fafc;border:1px solid #0f172a;border-radius:2px}.w3-qm{background:#0b0f19}.w3-qw{background:#f8fafc}.w3-bm{background:#0b0f19}
.w3-post .f{background:#475569}.w3-postbase .f{background:#1f2937}
.w3-qhead{display:flex;align-items:center;justify-content:center;border-radius:4px;font:900 9px/1 system-ui,sans-serif;letter-spacing:.06em;color:#fff;background:#334155;border:1px solid #0f172a;white-space:nowrap}
.w3-qhead.ok{background:#15803d}.w3-qhead.warn{background:#b45309}.w3-qhead.qc{background:#c2410c}.w3-qhead.bad{background:#b91c1c}.w3-qhead.idle{background:#475569}
.w3-lamp3 .f{background:#334155}.w3-lamp3.ok .f{background:#22c55e;box-shadow:0 0 12px #22c55e}.w3-lamp3.warn .f{background:#f59e0b;box-shadow:0 0 12px #f59e0b}.w3-lamp3.qc .f{background:#fb923c;box-shadow:0 0 12px #fb923c}.w3-lamp3.bad .f{background:#ef4444;box-shadow:0 0 12px #ef4444}.w3-lamp3.off .f{background:#64748b}
.w3-bayglow{background:radial-gradient(closest-side,rgba(148,163,184,.22),rgba(148,163,184,0));pointer-events:none}
.w3-bayglow.ok{background:radial-gradient(closest-side,rgba(34,197,94,.34),rgba(34,197,94,0))}.w3-bayglow.warn{background:radial-gradient(closest-side,rgba(245,158,11,.38),rgba(245,158,11,0))}.w3-bayglow.qc{background:radial-gradient(closest-side,rgba(251,146,60,.42),rgba(251,146,60,0))}.w3-bayglow.bad{background:radial-gradient(closest-side,rgba(239,68,68,.4),rgba(239,68,68,0))}
.w3-bay{border:2px solid rgba(148,163,184,.55);background:rgba(148,163,184,.1);border-radius:6px;pointer-events:auto}.w3-bay.ok{border-color:#22c55e;background:rgba(34,197,94,.13)}.w3-bay.warn{border-color:#f59e0b;background:rgba(245,158,11,.15)}.w3-bay.qc{border-color:#fb923c;background:rgba(251,146,60,.2)}.w3-bay.bad{border-color:#ef4444;background:rgba(239,68,68,.16)}
.w3-baylbl{display:flex;align-items:center;justify-content:center;font:900 15px system-ui,sans-serif;color:rgba(255,255,255,.85);background:rgba(15,23,42,.55);border-radius:4px}
.w3-hazard{background:repeating-linear-gradient(135deg,#facc15 0 9px,#111827 9px 18px)}.w3-hazard.thin{opacity:.8}
.w3-pbox.qc .f{background:#f59e0b;border:1px solid #92400e}.w3-pbox.qc .f.top{background:repeating-linear-gradient(45deg,#f59e0b 0 7px,#1f2937 7px 14px)}
.w3-qcpad{background:rgba(148,163,184,.12);border:2px dashed #94a3b8;border-radius:6px}.w3-qcpad.on{background:rgba(251,146,60,.22);border-color:#fb923c}
.w3-belt.h .f.top{background:repeating-linear-gradient(90deg,#374151 0 10px,#4b5563 10px 12px)}
.w3-dframe .f{background:#f59e0b}.w3-bumper .f{background:#111827}.w3-leveler{background:repeating-linear-gradient(0deg,#64748b 0 5px,#475569 5px 7px);border:1px solid #1f2937}.w3-leveler.down{background:repeating-linear-gradient(0deg,#94a3b8 0 5px,#64748b 5px 7px)}
.w3-doorstate{display:flex;align-items:center;justify-content:center;border-radius:4px;font:900 8px/1 system-ui,sans-serif;letter-spacing:.08em;color:#fff;white-space:nowrap}.w3-doorstate.ok{background:#15803d}.w3-doorstate.bad{background:#7f1d1d}
.w3-axle .f{background:#111827}.w3-icc .f{background:#cbd5e1}.w3-tail .f{background:#ef4444;box-shadow:0 0 8px #ef4444}.w3-leg .f{background:#94a3b8}.w3-chock .f{background:#facc15}
body.whl-dark .w3-qhead{border-color:#e2e8f0}
@media (prefers-reduced-motion:no-preference){.w3-lamp3.qc .f,.w3-lamp3.bad .f{animation:w3blink 1.2s ease-in-out infinite}}
@keyframes w3blink{50%{opacity:.35}}
.w3-qcpad{display:flex;justify-content:center;align-items:flex-start;padding-top:3px;font:900 9px/1 system-ui,sans-serif;letter-spacing:.05em;color:#cbd5e1;white-space:nowrap}.w3-qcpad.on{color:#fff}
/* ===== people who stand, stand still: no pacing, no turning, no bobbing, no head swinging ===== */
.w3-ppl.stand,.w3-ppl.walk.stand,.w3-ppl.stand.patrol{animation:none!important}
.w3-ppl.stand .w3-turn,.w3-ppl.walk.stand .w3-turn,.w3-ppl.patrol.stand .w3-turn{animation:none!important}
.w3-ppl.stand .w3-limb,.w3-ppl.walk.stand .w3-limb,.w3-ppl.stand .w3-limb.head{animation:none!important}
/* ===== rounded cars and motorcycles (ellipsoid bodies, glass, tyres, lamps) ===== */
.w3-cbody .f{background:var(--c,#3b82f6)}.w3-cglass .f{background:#1b2a41}.w3-tire .f{background:#0d0f14}.w3-hub .f{background:#cfd5de}.w3-eng .f{background:#3b4150}.w3-seat .f{background:#17181d}
.w3-hlamp .f{background:#fef9c3}.w3-tlamp .f{background:#dc2626}.w3-chrome .f{background:#e5e7eb}.w3-skin .f.mc{background:#d9a07a}
.w3-lot{background:#2a2d33;border-radius:6px}.w3-lotline{background:#e5e7eb}.w3-lotline.y{background:#facc15}.w3-lotev{background:rgba(34,197,94,.45);border:1px solid #22c55e}.w3-lotacc{background:rgba(59,130,246,.55);border:1px solid #93c5fd}.w3-lotmoto{background:#30343b}
.w3-curb{background:#9ca3af}.w3-wstop .f{background:#6b7280}.w3-psign{background:#1d4ed8;color:#fff;border-radius:4px;display:flex;align-items:center;justify-content:center;font:900 15px system-ui,sans-serif}.w3-evpost .f{background:#16a34a;box-shadow:0 0 8px #22c55e}
.w3-crosswalk{background:repeating-linear-gradient(90deg,#e5e7eb 0 6px,transparent 6px 13px);opacity:.85}

/* ===== designed cars: door seams, handles, plates, Dopetzcom livery ===== */
.w3-seam,.w3-seam .f{background:#0b0f19}.w3-handle{background:#e5e7eb}.w3-plate .f{background:#f8fafc}.w3-roofbox .f{background:#f8fafc;box-shadow:0 0 5px #fff8}
.w3-livery.gold{background:#facc15}.w3-livery.txt{background:transparent;color:#facc15;font:800 2.1px/2.6px system-ui,sans-serif;letter-spacing:.35px;text-align:center;white-space:nowrap;display:flex;align-items:center;justify-content:center}.w3-livery.txt.roof{color:#6d28d9;font-size:3px;line-height:4px}

/* ===== glass offices, sliding doors, walkways ===== */
.p3-cube.w3-gwall,.p3-cube.w3-gwall *{pointer-events:none}
.w3-gwall .f{background:rgba(59,130,246,.2)}.w3-gwall .f.top{background:rgba(96,165,250,.38)}
.w3-gbase .f{background:#cbd5e1}.w3-grail .f{background:#f1f5f9}.w3-gpost .f{background:#64748b}.w3-ghead .f{background:#1e293b}
.w3-gdoor .f{background:rgba(59,130,246,.3)}.w3-gstile .f{background:#334155}
.w3-gdr{position:absolute;left:0;top:0;transform-style:preserve-3d;pointer-events:none;animation:w3gdl 16s ease-in-out infinite}.w3-gdr.r{animation-name:w3gdr}
@keyframes w3gdl{0%,50%{transform:translate3d(0,0,0)}58%,80%{transform:translate3d(-29px,0,0)}88%,100%{transform:translate3d(0,0,0)}}
@keyframes w3gdr{0%,50%{transform:translate3d(0,0,0)}58%,80%{transform:translate3d(29px,0,0)}88%,100%{transform:translate3d(0,0,0)}}
.w3-dsign{background:#0f172a;color:#e2e8f0;font:700 4.4px/7px system-ui,sans-serif;letter-spacing:.8px;text-align:center}
.w3-mat{background:#1f2937;border:1px solid #475569}
.w3-wbase{background:rgba(22,163,74,.5)}.w3-wedge{background:#f8fafc;opacity:.9}
.w3-wtxt{color:#f0fdf4;font:700 14px/14px system-ui,sans-serif;white-space:nowrap;overflow:hidden;opacity:.75;letter-spacing:6px}
.w3-wlab{color:#fff;background:rgba(21,128,61,.85);font:800 8px/12px system-ui,sans-serif;letter-spacing:1.2px;text-align:center;border-radius:3px}
.w3-gate{pointer-events:none}.w3-walkp .w3-ppl{pointer-events:auto}
.w3-lanyard{background:var(--c,#6d28d9)}.w3-idcard{background:#f8fafc;border:.4px solid #94a3b8}.w3-idhead{background:var(--c,#6d28d9)}

/* a human gait: the leg swings further forward than back, the body rises and falls twice per stride, and the arms swing against the legs */
@keyframes w3hip{0%{transform:rotateX(27deg)}50%{transform:rotateX(-23deg)}100%{transform:rotateX(27deg)}}
@keyframes w3armw{0%{transform:rotateX(-23deg)}50%{transform:rotateX(23deg)}100%{transform:rotateX(-23deg)}}
@keyframes w3gait{0%,50%,100%{transform:translate3d(0,0,0)}25%,75%{transform:translate3d(0,0,2.1px)}}
.w3-pshade .f{background:#f8fafc}
.w3-stopmk{background:#facc15;color:#1f2937;font:800 8px/16px system-ui,sans-serif;letter-spacing:1.4px;text-align:center;border:1.5px solid #1f2937;border-radius:4px}
.w3-roofin{background:rgba(51,65,85,.96)}.w3-truss .f,.w3-truss{background:#1e293b}.w3-skylight{background:rgba(224,242,254,.85)}

/* floor measurement */
.w3-mgrid{background-color:rgba(34,211,238,.9);background-image:linear-gradient(90deg,rgba(255,255,255,.55) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.55) 1px,transparent 1px);background-size:32px 32px;pointer-events:none}
.w3-mcon{background:rgba(34,197,94,.34);pointer-events:none}.w3-mfloat{background:rgba(239,68,68,.6);pointer-events:none}
.w3-mlab{background:rgba(2,6,23,.82);color:#67e8f9;font:700 8px/12px ui-monospace,Menlo,monospace;text-align:center;white-space:nowrap;border-radius:3px;pointer-events:none}.w3-mlab.sm{background:rgba(127,29,29,.88);color:#fecaca;font-size:6.5px;line-height:10px}
.w3-ruler .f{background:#e2e8f0}.w3-rtick .f{background:#ef4444}
.w3-measbadge{position:absolute;left:50%;bottom:76px;transform:translateX(-50%);z-index:9;max-width:92%;padding:7px 14px;border-radius:12px;background:rgba(2,6,23,.88);border:1px solid #155e75;color:#cffafe;font:600 12px/1.4 system-ui,sans-serif;text-align:center;pointer-events:none}.w3-measbadge span{color:#fca5a5}.w3-measbadge small{color:#94a3b8}
/* part names */
.w3-nmlab{background:#fff;color:#0f172a;border:1px solid #7c3aed;font:800 7.2px/10px system-ui,sans-serif;text-align:center;white-space:nowrap;border-radius:3px;pointer-events:none;letter-spacing:.02em}
.w3-nmstem .f{background:#7c3aed}
.w3-namesbadge{bottom:120px;border-color:#6d28d9;color:#ede9fe}.w3-namesbadge small{color:#c4b5fd}
.w3-tools [data-w3t=names].on{background:#6d28d9}
/* footer: every view button on one slim flexible strip along the bottom, with a hide button */
.whl-3d .w3-bar{left:0;right:0;bottom:0;transform:none;width:100%;max-width:none;box-sizing:border-box;border-radius:0;border-width:1px 0 0;padding:4px 62px 4px 8px;gap:4px;justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
.whl-3d .w3-bar::-webkit-scrollbar{display:none}
.whl-3d .w3-bar button{flex:1 1 auto;min-height:0;min-width:0;padding:5px 8px;font-size:11px;line-height:1.1;white-space:nowrap;border-radius:999px}
.whl-3d .w3-bartog{position:absolute;right:8px;bottom:4px;z-index:6;border:1px solid rgba(255,255,255,.28);background:#4c1d95;color:#fff;border-radius:999px;padding:5px 11px;font:800 11px/1.1 system-ui,sans-serif;cursor:pointer;white-space:nowrap}
.whl-3d .w3-bartog:hover{background:#6d28d9}
.w3-barhid .w3-bar{display:none}
.whl-3d .w3-wxchip{bottom:44px;max-width:calc(100% - 24px);white-space:nowrap;text-transform:none}
.whl-3d .w3-wxchip .w3-wxclk{color:#fde68a}.w3-wxchip .w3-wxclk b{font-variant-numeric:tabular-nums}
.whl-3d .w3-hint{bottom:44px}
.whl-3d .w3-measbadge{bottom:80px}.whl-3d .w3-namesbadge{bottom:124px}
.whl-3d.tv .w3-bartog,.is-show .w3-bartog{display:none!important}
@media(max-width:700px){.whl-3d .w3-bar{max-width:none;padding-right:70px}.whl-3d .w3-bar button{padding:8px 10px}.whl-3d .w3-wxchip{font-size:11px;white-space:normal}}
/* fly-in tour: two-line caption, skip/stop buttons, visitor seats */
.w3-fpcap{border-radius:18px;white-space:normal}.w3-fpcap b{display:block}.w3-fpcap small{display:block;margin-top:3px;font:600 12px/1.35 system-ui,sans-serif;color:#cbd5e1;max-width:560px;margin-left:auto;margin-right:auto}
.w3-flybar{position:absolute;right:14px;top:210px;z-index:8;display:flex;gap:6px}.w3-flybar[hidden]{display:none}
.w3-flybar button{border:1px solid rgba(255,255,255,.3);background:#4c1d95;color:#fff;border-radius:999px;padding:8px 14px;font:800 12px system-ui,sans-serif;cursor:pointer}.w3-flybar button:last-child{background:#7f1d1d}
.w3-vchair .f{background:#6d28d9}.w3-vback .f{background:#4c1d95}
/* first-person: the big overhead department boards would fill the screen, so they are hidden; the street, the walls, the doors and the rooms stay */
.w3-world.fp-on .w3-hi{display:none!important}
/* first-person: the big overhead department boards would fill the screen, so they are hidden; the street, walls, doors and rooms stay */
.w3-world.fp-on .w3-hi{display:none!important}
/* the closed building seen from inside */
.w3-hallwall .f{background:#d5dae3}.w3-hallwin{background:linear-gradient(#a8d4ff,#e6f4ff);border:2px solid #94a3b8;box-sizing:border-box}
/* sliding doors that open when you come near (first person) */
@keyframes w3gol{from{transform:translate3d(0,0,0)}to{transform:translate3d(-29px,0,0)}}
@keyframes w3gcl{from{transform:translate3d(-29px,0,0)}to{transform:translate3d(0,0,0)}}
@keyframes w3gor{from{transform:translate3d(0,0,0)}to{transform:translate3d(29px,0,0)}}
@keyframes w3gcr{from{transform:translate3d(29px,0,0)}to{transform:translate3d(0,0,0)}}
.w3-gdr.po.l{animation:w3gol .4s ease-out both}.w3-gdr.pc.l{animation:w3gcl .5s ease-in both}
.w3-gdr.po.r{animation:w3gor .4s ease-out both}.w3-gdr.pc.r{animation:w3gcr .5s ease-in both}
/* height scale in every room */
.w3-rman .f{background:#facc15}.w3-rman2{background:rgba(113,63,18,.92);color:#fef08a}.w3-rlab{white-space:nowrap}
/* feet: two shoes projected onto the floor under you (placed by script every frame) */
.w3-feet{display:none;position:absolute;inset:0;z-index:3;pointer-events:none;overflow:hidden}
.is-fp .w3-feet{display:block}
.w3-feet i{position:absolute;display:none;border-radius:42% 42% 48% 48%/30% 30% 55% 55%;background:radial-gradient(ellipse at 50% 28%,#6b4a32 0,#2b1d14 55%,#140e0a 100%);box-shadow:0 0 0 2px #e8edf3,0 5px 7px rgba(0,0,0,.55)}
.w3-feet i::after{content:"";position:absolute;left:18%;right:18%;top:14%;height:22%;border-radius:50%;background:rgba(255,255,255,.12)}
body.whl-pc .w3-feet{display:none!important}
/* real 3D shoes (CSS engine) */
.w3-shsole .f{background:#07070a}.w3-shup .f{background:#1a1b21}
.w3-feet{display:none!important}

/* ===== v95: restroom room + door, road map, visitor doors ===== */
.w3-wcdr{position:absolute;left:0;top:0;transform-style:preserve-3d;pointer-events:none;animation:w3gdl 16s ease-in-out infinite}
.w3-wcleaf .f{background:#475569}
.w3-wcfloor{background:#334155}
.w3-wcfix .f{background:#e2e8f0}
.w3-rdmap{background:#0891b2}
.w3-rdnode .f,.w3-rdnode{background:rgba(250,204,21,.95)}
.w3-rdar{background:rgba(34,211,238,.95);color:#0f172a;font:700 9px/1 system-ui,sans-serif;text-align:center}
.w3-tools button.on[data-w3t="roads"]{background:#0e7490;color:#fff}

/* staff radio: the all-staff chat shown like live stream chat */
.w3-chat{position:absolute;right:12px;left:auto;bottom:58px;z-index:8;width:min(360px,calc(100% - 24px));height:min(340px,42%);min-height:190px;display:flex;flex-direction:column;border:1px solid #164e63;border-radius:12px;background:linear-gradient(180deg,rgba(6,11,22,.55),rgba(6,11,22,.86));backdrop-filter:blur(5px);box-shadow:0 10px 30px rgba(0,0,0,.45);font:12px/1.35 system-ui,sans-serif;color:#e2e8f0;overflow:hidden}
.w3-chat[hidden]{display:none}
.w3c-head{display:flex;align-items:center;gap:7px;padding:6px 8px;background:repeating-linear-gradient(135deg,#0c1a2c 0 10px,#0f2236 10px 20px);border-bottom:2px solid #f59e0b;font:900 10px system-ui,sans-serif;letter-spacing:.12em;color:#fde68a}
.w3c-head small{font-weight:700;letter-spacing:.04em;color:#94a3b8;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.w3c-head button{border:0;background:#1e293b;color:#e2e8f0;border-radius:6px;width:22px;height:20px;cursor:pointer;font-weight:900}
.w3c-live{width:8px;height:8px;border-radius:50%;background:#ef4444;box-shadow:0 0 0 0 rgba(239,68,68,.7);animation:w3cpulse 1.6s infinite}
@keyframes w3cpulse{70%{box-shadow:0 0 0 7px rgba(239,68,68,0)}100%{box-shadow:0 0 0 0 rgba(239,68,68,0)}}
.w3c-feed{flex:1;min-height:0;overflow-y:auto;padding:6px 8px;scrollbar-width:thin;scrollbar-color:#334155 transparent;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 22px);mask-image:linear-gradient(180deg,transparent 0,#000 22px)}
.w3c-m{position:relative;padding:2px 22px 2px 4px;margin:1px 0;border-radius:6px;word-break:break-word;opacity:.78}
.w3c-m:hover,.w3c-m.fresh{opacity:1}
.w3c-m.fresh{animation:w3cin .35s ease-out;background:rgba(14,116,144,.18)}
@keyframes w3cin{from{transform:translateY(10px);opacity:0}to{transform:none;opacity:1}}
.w3c-m.dm{background:rgba(109,40,217,.22);border-left:3px solid #a78bfa}
.w3c-m.hot{background:rgba(245,158,11,.2);border-left:3px solid #f59e0b}
.w3c-t{color:#64748b;font-size:10px;margin-right:5px}
.w3c-b{font-style:normal;font:900 8.5px system-ui,sans-serif;letter-spacing:.06em;padding:1px 5px;border-radius:4px;margin-right:5px;vertical-align:1px;color:#0b1220;background:#94a3b8}
.w3c-b.own{background:linear-gradient(180deg,#fde047,#f59e0b);color:#422006}
.w3c-b.adm{background:#ef4444;color:#fff}
.w3c-b.mgr{background:#22d3ee}
.w3c-b.dmb{background:#a78bfa;color:#1e1b4b}
.w3c-n{border:0;background:none;padding:0;font:800 12px system-ui,sans-serif;cursor:pointer}
.w3c-n:hover{text-decoration:underline}
.w3c-body em{color:#fbbf24;font-style:normal;font-weight:800}
.w3c-r{position:absolute;right:2px;top:1px;border:0;background:#1e293b;color:#cbd5e1;border-radius:5px;width:18px;height:18px;font-size:11px;cursor:pointer;opacity:0}
.w3c-m:hover .w3c-r{opacity:1}
.w3c-q{font-size:10px;color:#94a3b8;border-left:2px solid #475569;padding-left:6px;margin:0 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.w3c-note{padding:10px;text-align:center;color:#94a3b8;font-size:11px}
.w3c-note.bad{color:#fca5a5}
.w3c-chips{display:flex;align-items:center;gap:6px;padding:3px 8px;background:#0f172a;border-top:1px solid #1e293b;font-size:10.5px;color:#cbd5e1}
.w3c-chips span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.w3c-chips button{border:0;background:none;color:#94a3b8;cursor:pointer}
.w3c-form{display:flex;gap:5px;padding:6px;border-top:1px solid #164e63;background:rgba(2,6,23,.7)}
.w3c-form select{max-width:104px;border:1px solid #1e293b;border-radius:7px;background:#0b1220;color:#e2e8f0;font:700 10.5px system-ui,sans-serif;padding:0 4px}
.w3c-form input{flex:1;min-width:0;border:1px solid #1e293b;border-radius:7px;background:#0b1220;color:#f8fafc;padding:6px 8px;font:12px system-ui,sans-serif}
.w3c-form input:focus{outline:2px solid #0891b2;border-color:#0891b2}
.w3c-form button{border:0;border-radius:7px;background:#0891b2;color:#fff;font:800 11px system-ui,sans-serif;padding:0 11px;cursor:pointer}
.w3c-form button:disabled{opacity:.5}
.w3-tools button[data-w3t="chat"] b{background:#ef4444;color:#fff;border-radius:9px;padding:0 6px;margin-left:4px;font-size:10px}
.w3-tools button[data-w3t="chat"] b[hidden]{display:none}
@media (max-width:640px){.w3-chat{height:min(260px,38%);bottom:54px}}
.w3-sitdrop{position:absolute;left:0;top:0;transform-style:preserve-3d}
.w3-wlane{background:repeating-linear-gradient(90deg,#fde047 0 10px,transparent 10px 20px)}
.w3-waitmk{background:rgba(250,204,21,.28);border:1.5px dashed #facc15;color:#fde68a;font:800 5px/9px system-ui,sans-serif;text-align:center;letter-spacing:.4px}
.w3-lamp{background:#052e16;color:#86efac;font:900 5px/9px system-ui,sans-serif;text-align:center;letter-spacing:.5px}
.w3-lamp.out{background:#431407;color:#fdba74}
.w3-lamp.w3-lit{background:#16a34a;color:#fff;box-shadow:0 0 8px #4ade80}
.w3-lamp.out.w3-lit{background:#ea580c;color:#fff;box-shadow:0 0 8px #fb923c}
.w3-touring .w3-chat{display:none}
.w3c-m.sys{background:rgba(239,68,68,.18);border-left:3px solid #ef4444;color:#fecaca;font-weight:700}

.w3-cel{position:absolute;inset:0;z-index:12;pointer-events:none;overflow:hidden}.w3-cel[hidden]{display:none}
.w3-celb{position:absolute;left:50%;top:22%;transform:translateX(-50%);background:linear-gradient(135deg,#7c3aed,#ec4899);color:#fff;border-radius:18px;padding:16px 28px;text-align:center;font:800 24px system-ui,sans-serif;box-shadow:0 20px 60px rgba(0,0,0,.5);animation:w3celin .6s cubic-bezier(.2,1.6,.4,1)}.w3-celb small{display:block;font:600 14px system-ui,sans-serif;opacity:.9;margin-top:4px}
.w3-cf{position:absolute;top:-14px;width:9px;height:14px;border-radius:2px;animation:w3cfall 3s linear infinite}
.w3-bl{position:absolute;bottom:-60px;font-size:42px;animation:w3blup 5s ease-in infinite}
@keyframes w3celin{from{transform:translateX(-50%) scale(.2);opacity:0}}
@keyframes w3cfall{to{transform:translate(var(--dx),110vh) rotate(720deg)}}
@keyframes w3blup{to{transform:translateY(-115vh) rotate(12deg)}}
.w3-dksearch{position:sticky;top:0;z-index:2;padding:0 0 8px;background:inherit}.w3-dksearch input{width:100%;box-sizing:border-box;padding:10px 12px;border-radius:10px;border:1px solid rgba(167,139,250,.6);background:rgba(8,12,30,.7);color:#fff;font:600 14px system-ui,sans-serif}.w3-dksearch input:focus{outline:2px solid #a78bfa}
@media(min-width:701px){.w3-cardon .w3-chat{right:calc(min(380px,92vw) + 24px)}}@media(max-width:700px){.w3-cardon .w3-chat{display:none}}
.w3-celb.ord{background:linear-gradient(160deg,#fffbeb,#ffedd5 60%,#fed7aa);border:2px solid #ea580c;color:#9a3412;min-width:300px;box-shadow:0 20px 60px rgba(124,45,18,.45),0 0 0 6px rgba(251,146,60,.25)}.w3-celb.ord b{color:#9a3412;font:900 24px system-ui,sans-serif;display:block}.w3-celb.ord .no{display:block;margin-top:6px;color:#9a3412;font:700 15px system-ui,sans-serif}.w3-celb.ord .amt{display:block;margin-top:6px;color:#1d4ed8;font:900 38px system-ui,sans-serif;letter-spacing:.5px}
.w3-fps{padding-right:30px}.w3-fps .w3-fpsx{position:absolute;right:4px;top:4px;width:20px;height:20px;border-radius:50%;border:0;background:rgba(255,255,255,.14);color:#e2e8f0;font:700 14px/20px system-ui,sans-serif;cursor:pointer;pointer-events:auto;padding:0}.w3-fps .w3-fpsx:hover{background:#ef4444;color:#fff}
.w3-fps{pointer-events:auto}

/* self-driving traffic */
.w3-tlbody .f{background:#0b1220}.w3-tld.r .f{background:#3b0d0d}.w3-tld.y .f{background:#3b2e0a}.w3-tld.g .f{background:#0a2e17}
.w3-tll.r .f{background:#ff3b30;box-shadow:0 0 10px #ff3b30}.w3-tll.y .f{background:#ffd60a;box-shadow:0 0 10px #ffd60a}.w3-tll.g .f{background:#30d158;box-shadow:0 0 10px #30d158}
.w3-stopline{background:#f8fafc;opacity:.9}.w3-lidar .f{background:#0f172a}.w3-lidar .f.top{background:#38bdf8}
.w3-ctag{background:var(--c,#334155);color:#fff;border:1px solid rgba(255,255,255,.7);border-radius:3px;font:800 6px/10px system-ui,sans-serif;text-align:center;white-space:nowrap;pointer-events:none}

/* real 3D models: the wrapper and its fallback boxes take no space of their own */
.w3-glb,.w3-glbfb{position:absolute;left:0;top:0;transform-style:preserve-3d}
.whl-avatars{position:absolute;top:104px;right:12px;z-index:60;width:min(440px,calc(100vw - 24px));max-height:calc(100% - 120px);overflow:auto;background:rgba(13,20,38,.96);border:1px solid #2a3a66;border-radius:14px;color:#e5ecff;padding:12px;box-shadow:0 18px 50px rgba(0,0,0,.5)}
.whl-avatars[hidden]{display:none}
.whl-avh{display:flex;align-items:baseline;gap:8px;margin-bottom:10px}.whl-avh span{font-size:11px;opacity:.6;flex:1}.whl-avh button{background:none;border:0;color:#e5ecff;font-size:22px;cursor:pointer}
.whl-avcards{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:12px}
.whl-avc{background:#121c36;border:1px solid #22305a;border-radius:10px;padding:6px;text-align:center;font-size:11px;display:flex;flex-direction:column;gap:5px}
.whl-avimg{height:96px;background:center/contain no-repeat;display:flex;align-items:center;justify-content:center;font-size:30px;opacity:.95}
.whl-avc button{font-size:10px;padding:4px 2px;border-radius:7px;border:1px solid #2f4280;background:#18264a;color:#cfe0ff;cursor:pointer}.whl-avc button.on{background:#2563eb;border-color:#60a5fa;color:#fff}
.whl-avr{display:flex;align-items:center;gap:8px;padding:6px 4px;border-top:1px solid #1b2749}
.whl-avn{flex:1;min-width:0;display:flex;flex-direction:column}.whl-avn b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.whl-avn small{font-size:10px;opacity:.6;text-transform:capitalize}
.whl-avs{display:flex;gap:4px}.whl-avs button{width:38px;height:46px;padding:0;border-radius:8px;border:1px solid #26366a;background:#101a33;cursor:pointer}.whl-avs button.on{border-color:#60a5fa;box-shadow:0 0 0 2px #2563eb88}
.whl-avs i{display:flex;width:100%;height:100%;background:center/contain no-repeat;align-items:center;justify-content:center;font-style:normal;font-size:16px}
.whl-avempty{opacity:.65;font-size:12px;padding:8px}
.whl-avbtn{display:inline-flex;align-items:center;justify-content:center}.whl-avbtn[hidden]{display:none}
.w3-tools [data-w3t="engine"]{display:none!important}
/* rain: two layers of falling streaks over the 3D view */
.w3-rain{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;opacity:0;transition:opacity 1.2s;z-index:2;
background-image:linear-gradient(100deg,transparent 0,transparent 47%,rgba(200,220,245,.55) 49%,transparent 51%,transparent 100%),linear-gradient(100deg,transparent 0,transparent 47%,rgba(170,195,230,.4) 49%,transparent 51%,transparent 100%);
background-size:46px 150px,71px 230px;animation:w3rain 0.55s linear infinite}
@keyframes w3rain{from{background-position:0 0,0 0}to{background-position:0 150px,0 230px}}
.w3-rfl{background:rgba(255,236,190,.012)}
/* houses: real buildings with doors */
.w3-hgrp{position:absolute;left:0;top:0;transform-style:preserve-3d}
.w3-hplinth .f{background:#6b7280}.w3-htrim .f{background:#f3efe6}.w3-hframe .f,.w3-hframe{background:#f8fafc}.w3-hsill .f{background:#d6d3d1}.w3-hshut .f{background:#2f5d8a}
.w3-hroof.a .f{background:#8b2f2f}.w3-hroof.b .f{background:#3f4a5a}.w3-hroof.c .f{background:#7a4a2a}.w3-hroof2 .f{background:#5b3a2a}.w3-hridge .f{background:#3b2a22}
.w3-hdoor{background:#7c2d12;border:2px solid #451a03}.w3-hdoor.new{background:#16a34a;border-color:#bbf7d0}.w3-hpanel{background:rgba(0,0,0,.2)}.w3-hknob .f{background:#fbbf24}
.w3-hnum{background:#111827;color:#fde68a;font:900 5px/5px system-ui,sans-serif;display:flex;align-items:center;justify-content:center;border-radius:2px;border:1px solid #fbbf24}.w3-hnum.new{background:#166534;color:#fff;border-color:#bbf7d0}
.w3-hmat .f{background:#6b7f3a}.w3-hpath .f{background:#b6b0a4}.w3-bush .f{background:#2f7d3a}.w3-flower .f{background:var(--c,#f43f5e)}
.w3-hgar{background:repeating-linear-gradient(180deg,#e7e5e4 0 3px,#a8a29e 3px 4px);border:1px solid #78716c}.w3-tape .f{background:#fef3c7}
.w3-hnew{animation:w3bk 1s ease-in-out infinite alternate}
/* city buildings: entrances, shop windows, awnings, cornice and roof gear */
.w3-bplinth .f{background:#475569}.w3-bdoor{background:linear-gradient(135deg,#7dd3fc,#0369a1);border:2px solid #1e293b}.w3-bshop{background:linear-gradient(135deg,#bae6fd,#38bdf8 60%,#0ea5e9);border:2px solid #e2e8f0}
.w3-bawn .f{background:var(--c,#dc2626)}.w3-bcorn .f{background:#e5e7eb}.w3-hvac .f{background:#94a3b8}.w3-btank .f{background:#78716c}
.w3-stage[data-tod=night] .w3-bshop,.w3-stage[data-tod=night] .w3-bdoor{background:linear-gradient(135deg,#fde68a,#f59e0b)}
.w3-awb{background:#15803d!important;opacity:.9}
.w3-seat .f{background:#1f2937}.w3-fkmir .f{background:#bfdbfe}
.w3-gps{background:var(--c,rgba(0,0,0,.9))}

/* Staff radio + customer chat inside an iPhone Duo style device: two glass screens that open and close, titanium body, camera island, hinge, side keys */
.w3-chat{width:min(300px,calc(100% - 24px));height:min(480px,64%);min-height:340px;padding:10px 8px 8px;border:0;border-radius:44px;background:linear-gradient(145deg,#d9dde3,#8b93a0 38%,#4b5260 62%,#c4c9d2);box-shadow:0 0 0 1.5px #1a1d23 inset,0 18px 44px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.25);backdrop-filter:none;overflow:visible;transition:width .35s ease}
.w3-chat.two{width:min(620px,calc(100% - 24px))}
.w3-chat::after{content:"";position:absolute;right:-3px;top:92px;width:3px;height:48px;border-radius:2px;background:linear-gradient(#aab1bd,#5b6372);box-shadow:0 -42px 0 0 #7d8592}
.w3-chat.callin::after{background:#ef4444;box-shadow:0 0 12px 3px rgba(239,68,68,.8),0 -42px 0 0 #7d8592}
.w3d-body{flex:1;min-height:0;display:flex;gap:0;border-radius:36px;background:#05070c;box-shadow:0 0 0 2px #0b0d12;padding:12px 6px 4px;overflow:hidden}
.w3d-s{flex:1 1 0;min-width:0;display:flex;flex-direction:column;position:relative;background:linear-gradient(180deg,#07101d,#0a1424);border-radius:14px;overflow:hidden}
.w3d-s[hidden]{display:none}
.w3-chat.two .w3d-a{border-radius:14px 3px 3px 14px;margin-right:0;border-right:2px solid #000;box-shadow:inset -10px 0 14px -10px rgba(255,255,255,.12)}
.w3-chat.two .w3d-b{border-radius:3px 14px 14px 3px;box-shadow:inset 10px 0 14px -10px rgba(255,255,255,.12)}
.w3-chat.two .w3d-body::before{content:"";position:absolute;left:50%;top:14px;bottom:14px;width:6px;margin-left:-3px;z-index:3;background:linear-gradient(90deg,#000,#333 50%,#000);pointer-events:none;border-radius:3px}
.w3d-s::before{content:"";align-self:center;width:62px;height:14px;margin:4px 0 2px;border-radius:9px;background:#000;box-shadow:inset 0 0 0 1px #1c2029;flex:none}
.w3d-bar{display:flex;gap:6px;justify-content:center;padding:6px 10px 2px}
.w3d-bar button{flex:1;max-width:150px;border:0;border-radius:999px;padding:5px 8px;font:800 10px system-ui,sans-serif;letter-spacing:.04em;color:#cbd5e1;background:rgba(15,23,42,.85);cursor:pointer;box-shadow:0 0 0 1px rgba(255,255,255,.12) inset}
.w3d-bar button.on{background:#0e7490;color:#fff}
.w3d-bar b{display:inline-block;min-width:15px;margin-left:3px;padding:0 4px;border-radius:9px;background:#ef4444;color:#fff;font-size:9px}
.w3-chat.callin .w3d-bar [data-tab=b]{animation:w3cpulse 1.2s infinite}
.w3s-list{flex:1;min-height:0;overflow-y:auto;padding:6px;scrollbar-width:thin}
.w3s-room{display:flex;align-items:center;gap:8px;width:100%;margin:0 0 5px;padding:7px 8px;border:0;border-radius:10px;background:rgba(30,41,59,.7);color:#e2e8f0;text-align:left;cursor:pointer;font:12px system-ui,sans-serif}
.w3s-room.hot{background:rgba(127,29,29,.55);box-shadow:0 0 0 1px #ef4444 inset}
.w3s-av{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:#06101c;font-weight:900}
.w3s-tx{flex:1;min-width:0;display:flex;flex-direction:column}.w3s-tx b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.w3s-tx small{color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.w3s-n{flex:none;font-style:normal;font-weight:900;font-size:10px;padding:2px 6px;border-radius:9px;background:#ef4444;color:#fff}.w3s-n.w{background:#f59e0b;color:#111}
.w3s-b{max-width:88%;margin:0 0 6px;padding:6px 9px;border-radius:12px;font-size:12px;line-height:1.35;word-break:break-word}
.w3s-b small{display:block;font-size:9px;opacity:.7;margin-bottom:2px}
.w3s-b.cu{background:#1e293b;color:#e2e8f0;border-bottom-left-radius:3px}
.w3s-b.ad{margin-left:auto;background:#0e7490;color:#fff;border-bottom-right-radius:3px}
.w3s-head button[data-s=back]{font-size:14px}
.w3s-form input{flex:1;min-width:0}
@media (max-width:640px){.w3-chat{width:min(290px,calc(100% - 20px));height:min(430px,58%);min-height:300px}.w3-chat.two{width:calc(100% - 16px)}}
.w3d-bar b[hidden]{display:none}
.w3-kpit{pointer-events:auto;border:0;border-radius:999px;padding:3px 11px;font:800 10px system-ui,sans-serif;letter-spacing:.05em;color:#e2e8f0;background:rgba(15,23,42,.72);box-shadow:0 0 0 1px rgba(255,255,255,.22) inset;cursor:pointer;backdrop-filter:blur(4px)}
.w3-kpit:hover{background:rgba(14,116,144,.85)}
.w3-kpi.shut .w3-kpis,.w3-kpi.shut .w3-tick{display:none}
.w3-ocean{background:#1f7fb8;pointer-events:none}
.is-photo .w3-tools,.is-photo .w3-bar,.is-photo .w3-card,.is-photo .w3-fps,.is-photo .w3-findr,.is-photo .w3-wxchip,.is-photo .w3-fppad,.is-photo .w3-kpi,.is-photo .w3-chat,.is-photo .w3-hint,.is-photo .w3-zoomrail,.is-photo .w3-bartog,.is-photo [class*=scroll]{opacity:0!important;pointer-events:none!important}
.w3-photobar{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);z-index:9;display:flex;gap:6px;align-items:center;padding:6px 10px;border-radius:999px;background:rgba(10,16,28,.62);backdrop-filter:blur(6px);box-shadow:0 0 0 1px rgba(255,255,255,.2) inset;font:800 11px system-ui,sans-serif;color:#e2e8f0;opacity:.35;transition:opacity .3s}
.w3-photobar:hover{opacity:1}.w3-photobar[hidden]{display:none}
.w3-photobar button{border:0;border-radius:999px;padding:4px 10px;background:rgba(255,255,255,.14);color:#fff;font:inherit;cursor:pointer}.w3-photobar button:hover{background:#0e7490}
.w3s-filters{display:flex;gap:4px;padding:5px 6px 2px;flex-wrap:wrap}.w3s-filters[hidden],.w3s-search[hidden],.w3s-acts[hidden],.w3s-ctx[hidden]{display:none}
.w3s-filters button,.w3s-acts button{border:0;border-radius:999px;padding:3px 8px;background:rgba(30,41,59,.9);color:#cbd5e1;font:800 10px system-ui,sans-serif;cursor:pointer}
.w3s-filters button.on{background:#0e7490;color:#fff}.w3s-filters [data-s=jv]{margin-left:auto}.w3s-filters [data-s=jv].on{background:#7c3aed}
.w3s-search{margin:3px 6px;padding:5px 9px;border:0;border-radius:9px;background:rgba(15,23,42,.9);color:#e2e8f0;font:12px system-ui,sans-serif;outline:1px solid #1e3a5f}
.w3s-acts{display:flex;gap:4px;padding:4px 6px;flex-wrap:wrap;border-bottom:1px solid #1e3a5f}.w3s-acts button:hover{background:#0e7490;color:#fff}
.w3s-ctx{display:flex;flex-direction:column;gap:2px;padding:4px 8px;font:11px system-ui,sans-serif;color:#fde68a;background:rgba(120,53,15,.35)}
.w3s-clip{flex:none;align-self:center;cursor:pointer;padding:0 5px;font-size:14px}
.w3-bdeck{background:#8d99ae;pointer-events:none}.w3-bglass{background:rgba(125,190,235,.6);pointer-events:none}.w3-barch{background:#e2e8f0;pointer-events:none}.w3-xwalk{background:#f1f5f9;opacity:.9;pointer-events:none}
.w3-bdeck .f{background:#8d99ae}.w3-bglass .f{background:rgba(125,190,235,.6)}.w3-barch .f{background:#e2e8f0}
.w3-belt{pointer-events:none}
/* Jarvis opens on top of the full-screen warehouse so you can use it while the 3D view keeps running behind */
body:has(.whl) .jsq-root.is-open,body:has(.whl) #aiModal.open,body:has(.whl) #aiModal{z-index:300000}

.w3-opdoor .f{background:#0b1220}.w3-opgl .f{background:#22c55e;box-shadow:0 0 6px #22c55e}
.w3-bdeck2 .f{background:#0b0f14}.w3-bglass2 .f{background:rgba(34,197,94,.4)}.w3-barch2 .f{background:var(--c,#0b0f14)}.w3-bdeck2,.w3-bglass2,.w3-barch2{pointer-events:none}

.w3-sandy{background:#d9c58f;pointer-events:none}
.w3-dopen{background:linear-gradient(#050a14 60%,#92400e);border:3px solid #263149;box-shadow:inset 0 0 18px #000}
/* view extras: follow chip, panel, mini-map, toast, confetti */
.w3-fchip{position:absolute;left:50%;top:132px;transform:translateX(-50%);z-index:9;display:flex;gap:8px;align-items:center;max-width:92vw;padding:8px 8px 8px 14px;border-radius:999px;background:rgba(10,14,25,.9);border:1px solid #38bdf8;color:#e2e8f0;font:700 12px system-ui,sans-serif;backdrop-filter:blur(6px)}
.w3-fchip b{color:#fff}.w3-fchip span{color:#93c5fd;font-weight:600;max-width:42vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.w3-fchip button{border:0;background:#1e293b;color:#e2e8f0;border-radius:50%;width:24px;height:24px;cursor:pointer;font-weight:900}
.w3-xpanel{position:absolute;left:12px;top:56px;z-index:9;width:min(300px,86vw);max-height:calc(100% - 150px);overflow:auto;padding:10px;border-radius:14px;background:rgba(10,14,25,.94);border:1px solid #334155;color:#e2e8f0;font:600 12px system-ui,sans-serif;backdrop-filter:blur(8px);box-shadow:0 12px 36px rgba(0,0,0,.5)}
.w3-xpanel[hidden],.w3-fchip[hidden],.w3-mm[hidden],.w3-toast[hidden]{display:none}
.w3-xh{display:grid;grid-template-columns:1fr auto;gap:2px 8px;margin-bottom:6px}.w3-xh b{font-size:14px;color:#fff}.w3-xh span{grid-column:1;color:#94a3b8;font-weight:600}.w3-xh button{grid-row:1;grid-column:2;border:0;background:#1e293b;color:#e2e8f0;border-radius:8px;width:26px;height:24px;cursor:pointer}
.w3-xa{margin:10px 0 4px;padding-left:8px;border-left:3px solid var(--c,#38bdf8);font:800 10px system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#cbd5e1}
.w3-xr{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;margin:3px 0;padding:8px 10px;border-radius:10px;border:1px solid #1e2a4a;background:#111a30;color:#e2e8f0;cursor:pointer;font:600 12px system-ui,sans-serif}
.w3-xr:hover{border-color:#38bdf8;background:#17224a}.w3-xr small{color:#94a3b8;font-weight:600}.w3-xr.al,.w3-xr.sv{flex-direction:row;align-items:center;justify-content:space-between;cursor:default}.w3-xr.al.bad{border-color:#ef4444}.w3-xr span{display:flex;gap:4px}
.w3-xr button,.w3-xq button,.w3-xs button,.w3-xj{border:1px solid #334155;background:#1e293b;color:#e2e8f0;border-radius:8px;padding:5px 9px;font:800 11px system-ui,sans-serif;cursor:pointer}
.w3-xq{display:flex;flex-wrap:wrap;gap:5px}.w3-xq button:hover,.w3-xs button:hover,.w3-xj:hover,.w3-xr button:hover{background:#6d28d9;border-color:#a78bfa}
.w3-xj{display:flex;flex-direction:column;align-items:flex-start;gap:3px;width:100%;padding:10px;border-color:#f59e0b;background:#2a1f08}.w3-xj small{color:#fcd34d;font-weight:600}
.w3-xs{display:flex;gap:6px;margin:4px 0}.w3-xs input{flex:1;min-width:0;padding:6px 8px;border-radius:8px;border:1px solid #334155;background:#0b1220;color:#e2e8f0;font:600 12px system-ui,sans-serif}.w3-xn{color:#94a3b8;padding:6px 2px}
.w3-mm{position:absolute;left:12px;bottom:78px;z-index:7;width:240px;border-radius:12px;overflow:hidden;background:rgba(10,14,25,.88);border:1px solid #334155;backdrop-filter:blur(4px)}
.w3-mm canvas{display:block;width:100%;height:auto;cursor:crosshair}.w3-mmt{padding:3px 8px;color:#94a3b8;font:600 10px system-ui,sans-serif;min-height:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:700px){.w3-mm{width:170px;bottom:96px}.w3-fchip{top:120px}}
.w3-toast{position:absolute;left:50%;bottom:96px;transform:translateX(-50%);z-index:10;padding:11px 22px;border-radius:999px;background:linear-gradient(90deg,#16a34a,#0ea5e9);color:#fff;font:800 15px system-ui,sans-serif;box-shadow:0 10px 30px rgba(0,0,0,.45);animation:w3ti .6s cubic-bezier(.2,.8,.2,1)}
.w3-conf{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:9}
.is-photo .w3-mm,.is-photo .w3-xpanel,.is-photo .w3-fchip,.is-show .w3-mm,.is-show .w3-xpanel{display:none}
.w3c-head .w3c-ph{position:relative;width:44px;height:30px;border-radius:15px;background:linear-gradient(180deg,#38bdf8,#0284c7);color:#fff;box-shadow:0 0 0 2px rgba(56,189,248,.35),0 4px 10px rgba(0,0,0,.4);display:inline-flex;align-items:center;justify-content:center;margin-left:6px;font-size:17px}
.w3c-head .w3c-ph .w3-ico{width:18px;height:18px}
.w3c-head .w3c-ph:hover{background:linear-gradient(180deg,#7dd3fc,#0ea5e9)}
.w3c-head .w3c-ph em{position:absolute;right:-5px;top:-7px;min-width:17px;height:17px;border-radius:9px;background:#ef4444;color:#fff;font:800 10px/17px system-ui,sans-serif;text-align:center;font-style:normal}
.w3c-head .w3c-ph em[hidden]{display:none}
.w3c-head .w3c-cl{width:auto;padding:0 12px;background:linear-gradient(180deg,#ef4444,#b91c1c);box-shadow:0 0 0 2px rgba(239,68,68,.35);font:800 11px system-ui,sans-serif}
.w3c-head .w3c-cl:hover{background:linear-gradient(180deg,#f87171,#dc2626)}
/* landing toast: text only, no green/blue pill (the old top+bottom pair stretched it into a big oval) */
.w3-toast{top:auto!important;height:auto!important;background:none!important;border:0!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;padding:4px 8px!important;border-radius:0!important;color:#fff;text-shadow:0 2px 8px #000,0 0 3px #000}

.w3-xgrid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:6px 0}.w3-xgrid div{background:#0f1a33;border:1px solid #263149;border-radius:10px;padding:8px 10px}.w3-xgrid b{display:block;font:900 20px system-ui,sans-serif;color:#fff}.w3-xgrid span{font:700 10px system-ui,sans-serif;color:#94a3b8;text-transform:uppercase;letter-spacing:.04em}
.w3-er{display:grid;grid-template-columns:1fr auto;gap:2px 8px;align-items:center;padding:4px 2px;font:700 12px system-ui,sans-serif;color:#cbd5e1}.w3-er b{color:#fff;text-align:right}.w3-er .w3-eb{grid-column:1/3}
.w3-eb{display:block;height:6px;border-radius:99px;background:#1e293b;overflow:hidden}.w3-eb u{display:block;height:100%;border-radius:99px;text-decoration:none}
.w3-rp{display:flex;align-items:center;gap:10px;margin:6px 0}.w3-rp b{font:900 18px system-ui,sans-serif;color:#fff}
.w3-xpanel input[type=range]{accent-color:#a78bfa;margin:6px 0 8px}
.w3-er small{color:#94a3b8;font-weight:600;margin-left:4px}
