/* Takeaway Pacific · front door styles (index.html): sign in / create account, then location; reduced motion. Linked in order; the cascade depends on it. */
/* =========================================================
   SIGN IN / CREATE ACCOUNT, then location (live mode)
   ========================================================= */
#auth{z-index:57;top:auto;max-height:92svh;border-radius:var(--r-lg) var(--r-lg) 0 0;box-shadow:0 -20px 60px -20px rgba(15,23,42,.5);background-image:var(--tonga);background-size:128px 128px}
.auth-in{padding:12px 22px calc(var(--sab) + 22px);overflow-y:auto;overscroll-behavior:contain}
.auth-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.auth-top h2{padding-top:8px;font:800 25px/1.1 var(--sans);letter-spacing:-.02em}
.auth-why{margin-top:6px;color:var(--ink-2);font-size:14.5px;line-height:1.45}
.auth-sw{margin-top:16px;--n:2}
.auth-sw[data-k="1"]{--k:1}
.auth-sw button{min-height:40px;font-size:13.5px}
#authForm .fld,#authPhForm .fld{display:block;margin-top:14px}
.auth-hint{display:block;margin-top:6px;color:var(--ink-3);font-size:12.5px;line-height:1.4}
.auth-msg{margin:14px 0 0;font-weight:700}
.auth-msg .linkbtn{display:inline;margin-left:4px;padding:0;color:var(--midnight);font:inherit;text-decoration:underline;text-underline-offset:2px}
.auth-go{width:100%;margin-top:18px}
.auth-loc .art{width:96px;height:96px;margin:14px 0 4px}
.auth-steps{margin:14px 0 0;padding:0 0 0 20px;display:grid;gap:8px;font-size:14px;line-height:1.45;color:var(--ink-2)}
.auth-steps b{color:var(--midnight)}
/* ride and delivery: an accurate fix before sending (live mode) */
.fixline{width:100%;text-align:left;display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:16px;background:#fff;border:1.5px solid var(--line);font-size:13.5px;font-weight:700;line-height:1.35;color:var(--ink-2)}
.fixline .ic{width:18px;height:18px;flex:none;color:var(--coral)}
.fixline.wait .ic{animation:spin 1.1s linear infinite}
.fixline.ok{border-color:var(--green);color:var(--green-press)}
.fixline.ok .ic{color:var(--green)}
.fixline.bad{border-color:#FCA5A5;color:#B91C1C}
.mfix{padding:10px 16px 0}
/* after the driver has found you: one choice, shown once */
.lockeep{margin-top:12px;padding:14px;border-radius:var(--r-sm);background:var(--ivory);border:1px solid var(--line)}
.lockeep p{font-size:14px;font-weight:700;line-height:1.4;color:var(--midnight)}
.lockeep .lk-btns{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin-top:10px}
.lockeep .btn{min-height:46px;padding:0 12px;font-size:14px}
.acct .btn{margin-top:12px}
.meterline{margin-top:12px;padding:10px 14px;border-radius:14px;background:var(--midnight);color:#fff;font:800 14.5px/1.3 var(--sans);font-variant-numeric:tabular-nums}
.fcard.spec{border:1.5px solid var(--midnight)}
.fcard.spec .input{border-color:var(--midnight)}
.acct .kv b{min-width:0;overflow-wrap:anywhere}
/* Me: edit my account, in place */
.acct .acts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin-top:12px}
.acct .acts .btn{margin:0;min-height:48px;padding:0 12px;font-size:14.5px}
.acctedit .fld{display:block;margin-top:16px}
.acctedit .fld:first-of-type{margin-top:4px}
.acctedit .input{width:100%}
.acctedit .fhint{display:block;margin-top:6px;color:var(--ink-3);font-size:12.5px;line-height:1.4}
.acctedit .err{margin-top:12px;padding:10px 12px;border-radius:14px;background:#FEF2F2;color:#B91C1C;font:700 13.5px/1.4 var(--sans)}
/* Orders, a ride: one page that fits the screen. Map on top, a ticket under it. */
.sbody.fit{display:flex;flex-direction:column;padding-bottom:0}
.sbody.fit>.spane{flex:1;min-height:0;display:flex;flex-direction:column}
.oswitch{flex:none;display:flex;gap:8px;overflow-x:auto;padding:12px 16px 0;scrollbar-width:none}
.oswitch::-webkit-scrollbar{display:none}
.oswitch button{flex:none;display:inline-flex;align-items:center;gap:7px;max-width:180px;height:38px;padding:0 13px;border-radius:99px;background:#fff;border:1.5px solid var(--line);font:800 13px/1 var(--sans);color:var(--midnight)}
.oswitch button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.oswitch button .ic{flex:none;width:17px;height:17px}
.oswitch button i{flex:none;width:7px;height:7px;border-radius:50%;background:var(--coral)}
.oswitch button[aria-pressed="true"]{background:var(--midnight);border-color:var(--midnight);color:#fff}
.ride{flex:1;min-height:0;display:flex;flex-direction:column;gap:10px;padding:12px 16px 14px}
.rmap{position:relative;flex:1 1 0;min-height:100px;border-radius:var(--r);overflow:hidden;background:#CFE6DF;border:1px solid var(--line);box-shadow:var(--sh)}
.rmap .lmap{position:absolute;inset:0;height:auto}
.rmap .demo{position:absolute;left:10px;top:10px;z-index:600;padding:5px 9px;border-radius:99px;background:var(--midnight);color:#fff;font:800 10.5px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase}
.rmap .tshare{position:absolute;right:10px;bottom:10px;z-index:600;width:auto;min-height:36px;gap:6px;padding:0 12px;border:0;font-size:12.5px;background:rgba(255,255,255,.95);box-shadow:var(--sh)}
.rmap .tshare .ic{width:15px;height:15px}
.rtix{position:relative;flex:none;padding:14px 16px 12px;border-radius:var(--r);background:var(--midnight);color:#fff;box-shadow:0 4px 0 #020617,var(--sh-lg);animation:panein 460ms var(--in) both}
.rtix::before{content:"";position:absolute;inset:0;border-radius:inherit;background-image:var(--tonga);background-size:128px 128px;filter:invert(1);opacity:.06;pointer-events:none}
.rtix>*{position:relative}
.rtop{display:flex;align-items:center;justify-content:space-between;gap:8px;font:700 11.5px/1.2 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:#94A3B8}
.rtop span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rhead{margin-top:6px;font:800 21px/1.15 var(--sans);letter-spacing:-.02em;color:#fff;overflow-wrap:anywhere}
.rhead:focus{outline:none}
.rsub{margin-top:3px;font:600 13.5px/1.35 var(--sans);color:#CBD5E1}
.rrail{position:relative;margin:12px 2px 0;--k:0}
.rrail ol{position:relative;list-style:none;margin:0;padding:0;display:flex;justify-content:space-between}
.rrail ol::before,.rrail ol::after{content:"";position:absolute;left:6px;top:6px;height:2px;border-radius:2px}
.rrail ol::before{right:6px;background:rgba(255,255,255,.18)}
.rrail ol::after{width:calc((100% - 12px) * var(--k) / 4);background:var(--coral);transition:width 800ms var(--spring)}
.rrail li{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:7px;width:14px;font:700 10.5px/1 var(--sans);color:#64748B}
.rrail li:first-child{align-items:flex-start}
.rrail li:last-child{align-items:flex-end}
.rrail li span{white-space:nowrap}
.rrail li i{width:14px;height:14px;border-radius:50%;background:var(--midnight);border:2px solid rgba(255,255,255,.3);box-sizing:border-box}
.rrail li.done i{background:var(--coral);border-color:var(--coral)}
.rrail li.now i{background:#fff;border-color:var(--coral)}
.rrail li.done span,.rrail li.now span{color:#fff}
.rcar{position:absolute;top:-7px;left:calc(6px + (100% - 12px) * var(--k) / 4 - 14px);z-index:2;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--coral);color:#fff;border:2.5px solid #fff;box-shadow:0 0 0 0 rgba(220,38,38,.5);animation:nowring 1.8s var(--sine) infinite;transition:left 800ms var(--spring)}
.rcar .ic{width:15px;height:15px}
.ride.completed .rcar{background:var(--green);animation:none}
.ride.cancelled .rrail{opacity:.4}
.ride.cancelled .rcar{display:none}
.rtix .meterline{margin-top:12px;padding:8px 12px;background:var(--coral);font-size:14px}
.rfare{margin-top:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:600 12px/1.35 var(--sans);color:#94A3B8}
.rab{display:grid;gap:8px;margin-top:10px}
.rab>div{display:flex;align-items:center;gap:10px;min-width:0}
.rab .tp-ab{flex:none;width:26px;height:26px;font-size:12px;border-width:2px;box-shadow:none}
.rab span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:700 14.5px/1.25 var(--sans)}
.rab small{display:block;overflow:hidden;text-overflow:ellipsis;font-weight:500;font-size:12px;color:#94A3B8}
.rcut{position:relative;height:0;margin:12px -16px 10px;border-top:2px dashed rgba(255,255,255,.2)}
.rcut::before,.rcut::after{content:"";position:absolute;top:-10px;width:18px;height:18px;border-radius:50%;background:var(--cream)}
.rcut::before{left:-9px}
.rcut::after{right:-9px}
.rdrv{display:flex;align-items:center;gap:12px;min-height:46px}
.rdrv .face{flex:none;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--midnight);font:800 18px/1 var(--sans)}
.rdrv .face.wait{background:transparent;border:2px dashed rgba(255,255,255,.35)}
.rdrv>div{flex:1;min-width:0}
.rdrv b{display:block;font:800 15.5px/1.2 var(--sans);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rdrv small{display:block;margin-top:2px;color:#94A3B8;font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rbtn{position:relative;flex:none;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;text-decoration:none;transition:transform 160ms var(--out),box-shadow 160ms var(--out)}
.rbtn .ic{width:20px;height:20px}
.rbtn.call{background:var(--green);color:#fff;box-shadow:0 3px 0 #14532D}
.rbtn.msg{background:#fff;color:var(--midnight);box-shadow:0 3px 0 #94A3B8}
.rbtn.tap:active{transform:translateY(2px);box-shadow:none}
.rbtn .badge-n{position:absolute;top:-4px;right:-4px}
.racts{flex:none;display:flex;gap:10px}
.racts .btn{flex:1;min-height:50px;padding:0 14px;font-size:15px}
.ride .owait{flex:none;margin:0;padding:0;border:0}
.ride .owait .slabel{margin:0 0 6px}
.ride .lockeep{flex:none;margin:0}
@media (max-height:700px){.rmap{min-height:72px}.oswitch{padding-top:10px}.oswitch button{height:34px}.ride{padding-top:10px;gap:8px}.rtix{padding:12px 14px 10px}.rcut{margin:10px -14px 8px}}
@media (max-height:600px){.rfare,.rab small,.rrail li span{display:none}.rrail li{gap:0}.rmap{min-height:56px}.rhead{font-size:19px}.rcut{margin:8px -14px 8px}.rdrv{min-height:40px}.rdrv .face{width:36px;height:36px;font-size:16px}.rbtn{width:42px;height:42px}.rab{gap:6px}.racts .btn{min-height:46px}}
/* =========================================================
   REDUCED MOTION: kill ambient loops, keep functional
   transitions (page changes, sheets) but shorten them.
   ========================================================= */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-iteration-count:1!important;scroll-behavior:auto!important}
    .scene *,.chartsvg *,.dot::after,.art *,.tp-route,.tp-drv i,.tp-pin i,.kp i,.lockup .logo,.shead .logo,.lockup .logo::after,.shead .logo::after{animation:none!important}
  .scene .steam{opacity:.5}.scene .good{opacity:1}.scene .plate{opacity:1}
  .scene .van{transform:translateX(205px)}
  .scene .heat{opacity:.5}.scene .pop{opacity:1}.scene .bub{opacity:.6}
  .shell-art .drive{animation:none!important;left:auto;right:18px}.shell-art .drive i,.schip.ongoing,.schip.ongoing::before,.doors.app .door,.omini,.mycard{animation:none!important}
  .rise{animation-duration:1ms!important;animation-delay:0s!important}
  .reveal{transition-duration:150ms;transform:none}
  .layer,.layer.closing,.step,.step.cur,.mapstage,.dock,.hero,.prog i::after{transition-duration:180ms!important;transition-delay:0s!important}
  .step,.step.past{transform:none}
  .ripple{display:none}
  .feed li.enter,.feed li.leave,.spane{animation-duration:1ms!important}
  .mpane,.mpane>*,.vpane,.vpane>*,.vrow,.ocard,.onway,.incoming,.seal,.seal .ic,.tl li.now i,.pcard{animation-duration:1ms!important;animation-delay:0s!important}
  .pcard,.pc-go{transition:none!important}.pc-off{transform:none}
  .locbtn.share::after,.tp-line,.tp-car i,.teta .dot,.tmini,.contact,.chat-log li,.tripsheet,.done-banner,.tl li.end i,.badge-n{animation:none!important}
  .veh,.veh .ic{transition:none!important}
  .rtix,.rcar{animation:none!important}.rcar,.rrail ol::after{transition:none!important}
  .brand.go .logo,.brand.go .wm-w,.fixline.wait .ic{animation:none!important}
  .mpane.out{display:none}
}
/* Tab banners: words on the left, the van parked on the right so it never covers them (360 px too) */
.shell-art.banner{justify-content:flex-start}
.shell-art.banner .bn-txt{max-width:62%;margin:0 auto 0 0!important;order:-1;text-align:left;align-self:flex-end}
.shell-art.banner .bn-txt p{white-space:normal}
.shell-art.banner .bn-txt{padding-bottom:40px}   /* room for the van driving along the bottom, as before */
/* Expanding soon (lib/elsewhere.js) and Order for someone else (lib/for-other.js) */
.elsewhere{display:grid;gap:12px}
.elsewhere .soft,.forother .p{color:var(--ink-3)}
.elsewhere .ok{color:#16A34A;font-weight:700}
.elsewhere a[data-fb],.foot a[data-fb]{color:inherit;font-weight:700;text-decoration:underline}
.forlink{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-weight:700;color:var(--ink);text-decoration:underline}
.forother select.input{appearance:auto}
