.app-shell{min-height:100dvh;background:var(--color-paper)}.app-bar{position:sticky;top:0;z-index:30;background:#070c0bf0;border-bottom:1px solid rgba(255,255,255,.08)}@supports (backdrop-filter: blur(16px)){.app-bar{background:#070c0bdb;-webkit-backdrop-filter:blur(16px) saturate(1.4);backdrop-filter:blur(16px) saturate(1.4)}}.app-bar-inner{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:4rem;margin-inline:auto;padding-inline:1rem}@media(min-width:48rem){.app-bar-inner{padding-inline:1.5rem}}.app-main{margin-inline:auto;padding:1.75rem 1rem 5rem}@media(min-width:48rem){.app-main{padding:2.5rem 1.5rem 6rem}}.segmented{display:inline-flex;padding:.25rem;border-radius:999px;background:#ffffff12;border:1px solid rgba(255,255,255,.08)}.segmented a{display:inline-flex;align-items:center;min-height:2.25rem;padding:0 1rem;border-radius:999px;color:#c9d3d0;font-size:.92rem;font-weight:600;text-decoration:none;transition:background-color .2s ease,color .2s ease}.segmented a[aria-current=page]{background:var(--color-lime);color:var(--color-ink)}.avatar-button{display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:999px;border:0;background:transparent;cursor:pointer}.avatar{display:grid;place-items:center;width:2.25rem;height:2.25rem;flex:none;border-radius:999px;background:var(--color-lime);color:var(--color-ink);font-family:var(--font-display);font-weight:700;font-size:.95rem}.avatar-teal{background:var(--color-teal);color:#fff}.menu-pop{position:absolute;right:0;top:calc(100% + .5rem);min-width:15rem;padding:.4rem;border-radius:1rem;background:#fff;box-shadow:0 24px 48px -16px #070c0b59;border:1px solid var(--color-line);animation:pop-in .18s ease-out}.menu-pop button{display:flex;align-items:center;gap:.6rem;width:100%;min-height:2.75rem;padding:0 .75rem;border:0;border-radius:.65rem;background:transparent;color:var(--color-ink);font:inherit;font-size:.95rem;text-align:left;cursor:pointer}.menu-pop button:hover{background:var(--color-paper)}@keyframes pop-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}}.back-link{display:inline-flex;align-items:center;gap:.35rem;min-height:2.5rem;margin-bottom:.25rem;color:var(--color-ink-soft);font-size:.95rem;font-weight:500;text-decoration:none}.back-link:hover{color:var(--color-ink)}.panel{background:#fff;border:1px solid var(--color-line);border-radius:1.5rem;padding:1.25rem}@media(min-width:48rem){.panel{padding:1.75rem}}a.panel{display:block;color:inherit;text-decoration:none;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}a.panel:hover{border-color:#cfccc1;transform:translateY(-2px);box-shadow:0 20px 40px -28px #0b111059}.stat{display:flex;align-items:center;gap:.85rem}.status{display:inline-flex;align-items:center;gap:.45rem;border-radius:999px;padding:.3rem .7rem;font-size:.8rem;font-weight:600;white-space:nowrap}.status-wait{background:#f6efd9;color:#6a4b06}.status-ok{background:var(--color-teal-soft);color:var(--color-teal)}.status-live{background:var(--color-lime-soft);color:#2f3d07}.status-done{background:var(--color-paper);color:var(--color-ink-soft)}.journey-map{position:relative;overflow:hidden;border-radius:1.75rem;background:radial-gradient(40rem 22rem at 90% -10%,rgba(13,75,69,.85),transparent 60%),radial-gradient(30rem 20rem at 0% 110%,rgba(212,243,107,.1),transparent 60%),linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px) 0 0 / 48px 48px,linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px) 0 0 / 48px 48px,var(--color-night);color:var(--color-mist)}.journey-map-compact{border-radius:1.25rem}.journey-progress{transition:stroke-dasharray 1s linear}.journey-stop,.journey-rider{offset-rotate:0deg}.journey-rider{transition:offset-distance 1s linear}.rider-pulse{transform-box:fill-box;transform-origin:center;animation:rider-pulse 2s ease-in-out infinite}@keyframes rider-pulse{50%{transform:scale(1.35);opacity:.6}}.journey-caption{display:flex;flex-wrap:wrap;gap:.5rem;padding:0 1.25rem 1.25rem}.timeline{position:relative;display:grid;gap:1.15rem;margin:0;padding:0;list-style:none}.timeline:before{content:"";position:absolute;left:.6875rem;top:.75rem;bottom:.75rem;width:2px;background:var(--color-line)}.timeline-item{position:relative;display:flex;align-items:center;gap:.9rem}.timeline-dot{position:relative;display:grid;place-items:center;width:1.375rem;height:1.375rem;flex:none;border-radius:999px;background:#fff;border:2px solid var(--color-line)}.is-done .timeline-dot{background:var(--color-teal);border-color:var(--color-teal);color:#fff}.is-current .timeline-dot{border-color:var(--color-teal);box-shadow:0 0 0 5px var(--color-teal-soft)}.is-current .timeline-dot:after{content:"";width:.5rem;height:.5rem;border-radius:999px;background:var(--color-teal)}.stepper{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem;margin:0 0 1.75rem;padding:0;list-style:none}.stepper li{display:grid;gap:.45rem;font-size:.8rem;font-weight:600;color:var(--color-ink-mute)}.stepper li:before{content:"";height:4px;border-radius:999px;background:var(--color-paper-deep)}.stepper li.is-done:before,.stepper li.is-current:before{background:var(--color-teal)}.stepper li.is-current{color:var(--color-ink)}@media(max-width:30rem){.stepper li span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}}.option{display:flex;align-items:center;gap:1rem;width:100%;padding:1rem 1.1rem;border-radius:1.1rem;border:1px solid var(--color-line);background:#fff;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease}.option:hover{border-color:#c4c1b6}.option[aria-pressed=true]{border-color:var(--color-teal);background:var(--color-teal-soft);box-shadow:0 0 0 1px var(--color-teal)}.count-bar{height:.35rem;border-radius:999px;background:var(--color-paper-deep);overflow:hidden}.count-bar span{display:block;height:100%;border-radius:inherit;background:var(--color-teal)}.camera{position:relative;display:grid;place-items:center;aspect-ratio:16 / 10;max-height:20rem;width:100%;border-radius:1.25rem;overflow:hidden;background:radial-gradient(18rem 14rem at 50% 60%,rgba(13,75,69,.55),transparent 70%),linear-gradient(rgba(212,243,107,.05) 1px,transparent 1px) 0 0 / 100% 14px,#0a1312;color:#e8eeec}.camera .scan-line{height:30%;animation-duration:1.6s}@keyframes scan-tall{0%{transform:translateY(-100%)}to{transform:translateY(340%)}}.camera .scan-line{animation-name:scan-tall}.camera-corners:before,.camera-corners:after{content:"";position:absolute;width:1.75rem;height:1.75rem;border:2.5px solid var(--color-lime)}.camera-corners:before{top:1rem;left:1rem;border-right:0;border-bottom:0;border-radius:.5rem 0 0}.camera-corners:after{bottom:1rem;right:1rem;border-left:0;border-top:0;border-radius:0 0 .5rem}.camera-feed{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.camera-cue{position:absolute;left:1rem;right:1rem;bottom:1rem;z-index:2;margin:0;border-radius:999px;background:#070c0bb8;padding:.55rem .9rem;text-align:center;font-size:.92rem}.frame-progress{height:.4rem;overflow:hidden;border-radius:999px;background:var(--color-paper)}.frame-progress>span{display:block;height:100%;background:var(--color-teal)}.frame-strip{display:flex;gap:.5rem;margin-top:1rem;overflow-x:auto}.frame-strip img{height:5.5rem;width:auto;border-radius:.75rem;background:#0a1312}.rec{position:absolute;top:1rem;right:1rem;display:inline-flex;align-items:center;gap:.4rem;border-radius:999px;background:#00000080;padding:.25rem .6rem;font-size:.75rem;font-weight:600;color:#fff}.rec:before{content:"";width:.5rem;height:.5rem;border-radius:999px;background:#ff5a4f;animation:blink 1.2s ease-in-out infinite}@keyframes blink{50%{opacity:.25}}.fade-in{animation:fade-in .35s ease-out both}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}}.login-stage{min-height:100dvh;display:grid}@media(min-width:64rem){.login-stage{grid-template-columns:1.05fr .95fr}}.code-inputs{display:grid;grid-template-columns:repeat(6,1fr);gap:.5rem}.code-inputs input{width:100%;min-height:3.5rem;border-radius:.85rem;border:1px solid #d6d4cb;background:#fbfbf8;text-align:center;font:inherit;font-family:var(--font-display);font-size:1.4rem;font-weight:600;color:var(--color-ink)}.code-inputs input:focus{outline:none;border-color:var(--color-teal);box-shadow:0 0 0 4px #0d4b4524}.toast{position:fixed;left:50%;bottom:1.5rem;z-index:60;transform:translate(-50%);display:inline-flex;align-items:center;gap:.5rem;border-radius:999px;background:var(--color-ink);color:#fff;padding:.7rem 1.1rem;font-size:.92rem;font-weight:500;box-shadow:0 18px 40px -16px #00000080;animation:fade-in .25s ease-out both}
