.shell{display:flex;min-height:100%}.side{width:248px;flex-shrink:0;position:sticky;top:0;height:100vh;padding:24px 16px;display:flex;flex-direction:column;gap:24px;border-right:1px solid var(--border)}.side nav{display:flex;flex-direction:column;gap:4px}.side a.nav{display:flex;align-items:center;gap:12px;height:46px;padding:0 14px;border-radius:var(--radius-pill);color:var(--ink-muted);font-weight:600}.side a.nav:hover{background:var(--surface);color:var(--ink)}.side a.nav.active{background:var(--surface-raised);color:var(--ink)}.side a.nav.active svg{color:var(--brand-lime)}.side a.nav.orbi.active svg{color:var(--ai-violet-text)}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:12px;padding:14px 24px;background:color-mix(in srgb,var(--ground) 86%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.content{width:100%;max-width:1120px;margin:0 auto;padding:8px 24px 96px;display:flex;flex-direction:column;gap:32px}.wallet-chip{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 16px 0 6px;border-radius:var(--radius-pill);background:var(--surface-raised);font-weight:700}.wallet-chip .w{width:32px;height:32px;border-radius:50%;background:var(--brand-lime);color:var(--on-lime);display:flex;align-items:center;justify-content:center}.city-select{height:44px;border-radius:var(--radius-pill);background:var(--surface-raised);border:0;padding:0 14px;font-weight:600}.tabbar{display:none}@media (max-width: 1023px){.side{display:none}.topbar{padding:12px 16px}.content{padding:4px 16px 112px;gap:26px}.tabbar{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:40;height:66px;border-radius:24px;justify-content:space-around;align-items:center;padding:0 8px;box-shadow:var(--shadow-card);border:1px solid var(--border)}.tabbar a{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:11px;font-weight:600;color:var(--ink-subtle);min-width:56px}.tabbar a.active{color:var(--ink)}.tabbar a.active svg{color:var(--brand-lime)}.tabbar a.orbi-tab{margin-top:-28px}.tabbar a.orbi-tab .orb{width:62px;height:62px;border-radius:50%;background:var(--ai-violet-soft);border:1px solid var(--ai-violet);display:flex;align-items:center;justify-content:center;box-shadow:var(--glow-violet)}}.hero{display:grid;grid-template-columns:1.25fr 1fr;gap:16px}@media (max-width: 860px){.hero{grid-template-columns:1fr}}.hero-greet{padding:26px;border-radius:var(--radius-xl);background:var(--surface);position:relative;overflow:hidden;display:flex;flex-direction:column;gap:18px;min-height:230px;justify-content:flex-end}.hero-greet .orbit-deco{position:absolute;right:-60px;top:-80px;width:300px;height:300px;border-radius:50%;border:26px solid color-mix(in srgb,var(--brand-lime) 16%,transparent);pointer-events:none}.hero-greet .orbit-deco:after{content:"";position:absolute;width:46px;height:46px;border-radius:50%;background:var(--ai-violet);left:30px;bottom:30px;box-shadow:var(--glow-violet)}.assistant-bar{display:flex;align-items:center;gap:12px;min-height:56px;padding:0 8px 0 14px;border-radius:var(--radius-pill);background:var(--ai-violet-soft);border:1px solid var(--ai-violet);cursor:text;position:relative;z-index:1}.assistant-bar input{flex:1;min-width:0;background:transparent;border:0;outline:none;font-size:15px;color:var(--ink)}.assistant-bar input::placeholder{color:var(--ink-muted)}.mic-btn{width:44px;height:44px;border-radius:50%;border:0;background:var(--brand-lime);color:var(--on-lime);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.mic-btn.live{animation:pulse 1.4s infinite}.wallet-card{border-radius:var(--radius-xl);background:var(--brand-lime);color:var(--on-lime);padding:22px;box-shadow:var(--glow-lime);display:flex;flex-direction:column;gap:12px;position:relative;overflow:hidden}.wallet-card .ring{position:absolute;right:-40px;bottom:-70px;width:200px;height:200px;border-radius:50%;border:22px solid rgba(10,14,26,.08)}.wallet-card .cur{display:flex;gap:6px}.wallet-card .cur button{height:28px;padding:0 10px;border-radius:var(--radius-pill);border:1px solid var(--on-lime);background:transparent;font:700 11px/1 var(--font);color:var(--on-lime);cursor:pointer}.wallet-card .cur button.on{background:var(--on-lime);color:var(--brand-lime)}.wallet-card .bal{font-weight:800;font-size:36px;line-height:40px;letter-spacing:-.02em;font-variant-numeric:tabular-nums;position:relative}.wallet-card .acts{display:flex;gap:8px;flex-wrap:wrap;position:relative}.wallet-card .acts button{height:38px;padding:0 16px;border-radius:var(--radius-pill);border:1px solid var(--on-lime);background:transparent;color:var(--on-lime);font:700 13px/1 var(--font);cursor:pointer;display:inline-flex;align-items:center;gap:6px}.wallet-card .acts button.go{background:var(--on-lime);color:var(--brand-lime)}.cat-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px}@media (max-width: 860px){.cat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}}.cat-tile{background:var(--surface-raised);border-radius:var(--radius-lg);padding:14px 6px 12px;display:flex;flex-direction:column;align-items:center;gap:6px;font-weight:600;font-size:13px;cursor:pointer;transition:transform .2s ease,background .2s;text-align:center;border:0;color:var(--ink)}.cat-tile:hover{transform:translateY(-3px);background:var(--border)}.cat-tile img{width:58px;height:58px;object-fit:contain;transition:transform .25s ease}.cat-tile:hover img{transform:scale(1.08) rotate(-3deg)}@media (max-width: 860px){.cat-tile img{width:46px;height:46px}.cat-tile{font-size:12px;padding:10px 4px}}.m-card{background:var(--surface);border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;transition:transform .2s ease;display:flex;flex-direction:column;min-width:0}.m-card:hover{transform:translateY(-3px)}.m-art{height:132px;position:relative;overflow:hidden;background:var(--surface-raised)}.m-art img.cover{width:100%;height:100%;object-fit:cover}.m-art .ic{position:absolute;right:10px;bottom:-8px;width:104px;height:104px;object-fit:contain;filter:drop-shadow(0 10px 18px rgba(0,0,0,.35))}.m-art .ring{position:absolute;left:-30px;top:-40px;width:150px;height:150px;border-radius:50%;border:16px solid var(--tint, rgba(200,245,66,.12))}.m-art .mono{position:absolute;left:16px;bottom:14px;font-weight:800;font-size:34px;letter-spacing:-.04em;color:var(--ink);opacity:.9}.m-art .top{position:absolute;left:10px;top:10px;display:flex;gap:6px}.m-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px}.m-meta{display:flex;align-items:center;gap:10px;color:var(--ink-subtle);font-size:13px;font-weight:500;flex-wrap:wrap}.scroll-x .m-card{width:270px;flex-shrink:0}.banner{min-width:min(560px,86vw);height:168px;border-radius:var(--radius-xl);padding:22px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;cursor:pointer;flex-shrink:0}.banner .ic{position:absolute;right:12px;bottom:-14px;width:170px;height:170px;object-fit:contain;filter:drop-shadow(0 14px 24px rgba(0,0,0,.4))}.banner .t{font-weight:800;font-size:24px;line-height:28px;letter-spacing:-.02em;max-width:62%}.sugg{min-width:300px;max-width:340px;flex-shrink:0}.m-hero{border-radius:var(--radius-xl);overflow:hidden;position:relative;min-height:220px;background:var(--surface);display:flex;align-items:flex-end;padding:26px}.m-hero .ic{position:absolute;right:26px;top:50%;transform:translateY(-50%);width:190px;height:190px;object-fit:contain;filter:drop-shadow(0 18px 30px rgba(0,0,0,.45))}@media (max-width: 640px){.m-hero .ic{width:110px;height:110px;top:30%;right:12px}}.m-hero .ring{position:absolute;right:-80px;top:-120px;width:380px;height:380px;border-radius:50%;border:34px solid color-mix(in srgb,var(--brand-lime) 10%,transparent)}.offer{display:flex;align-items:center;gap:14px;padding:14px;border-radius:var(--radius-lg);background:var(--surface)}.offer .ph{width:64px;height:64px;border-radius:16px;background:var(--surface-raised);flex-shrink:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.offer .ph img{width:100%;height:100%;object-fit:cover}.qty{display:inline-flex;align-items:center;gap:8px;background:var(--surface-raised);border-radius:var(--radius-pill);padding:4px}.qty button{width:32px;height:32px;border-radius:50%;border:0;background:var(--surface);cursor:pointer;display:flex;align-items:center;justify-content:center}.qty b{min-width:18px;text-align:center}.cart-fab{position:fixed;right:24px;bottom:24px;z-index:35}@media (max-width: 1023px){.cart-fab{left:16px;right:16px;bottom:90px}.cart-fab .btn{width:100%}}.orbi-panel{position:fixed;top:0;right:0;bottom:0;width:min(440px,100%);z-index:70;display:flex;flex-direction:column;background:var(--ground);border-left:1px solid var(--border);box-shadow:var(--shadow-card);animation:slide .25s ease}.orbi-fab{position:fixed;right:24px;bottom:24px;z-index:36;width:64px;height:64px;border-radius:50%;border:1px solid var(--ai-violet);background:var(--ai-violet-soft);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--glow-violet)}.chat{flex:1;overflow-y:auto;padding:18px 16px;display:flex;flex-direction:column;gap:14px}.msg{max-width:88%;padding:12px 15px;border-radius:20px;line-height:1.45;white-space:pre-line}.msg.user{align-self:flex-end;background:var(--surface-raised);border-bottom-right-radius:6px}.msg.bot{align-self:flex-start;background:var(--ai-violet-soft);border:1px solid color-mix(in srgb,var(--ai-violet) 45%,transparent);border-bottom-left-radius:6px}.chat-cards{display:flex;flex-direction:column;gap:8px;align-self:stretch}.chat-card{background:var(--surface);border-radius:var(--radius-lg);padding:12px 14px;display:flex;gap:12px;align-items:center;cursor:pointer;border:1px solid var(--border)}.chat-card:hover{border-color:var(--border-strong)}.chat-card .ic{width:46px;height:46px;object-fit:contain;flex-shrink:0}.chat-chips{display:flex;flex-wrap:wrap;gap:8px}.composer{padding:12px 14px 16px;border-top:1px solid var(--border);display:flex;gap:10px;align-items:center}.composer .assistant-bar{flex:1}.page-chat{display:flex;flex-direction:column;height:calc(100vh - 160px);min-height:520px;background:var(--surface);border-radius:var(--radius-xl);overflow:hidden}@media (max-width: 1023px){.page-chat{height:calc(100vh - 210px)}}.order-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:16px;align-items:start}@media (max-width: 960px){.order-grid{grid-template-columns:1fr}}.timeline{display:flex;flex-direction:column}.tl{display:flex;gap:12px;padding-bottom:14px;position:relative;color:var(--ink-subtle);font-weight:500}.tl:before{content:"";width:14px;height:14px;border-radius:50%;border:2px solid var(--border-strong);flex-shrink:0;margin-top:4px}.tl:after{content:"";position:absolute;left:6px;top:20px;bottom:0;width:2px;background:var(--border)}.tl:last-child:after{display:none}.tl.done{color:var(--ink-muted)}.tl.done:before{background:var(--success);border-color:var(--success)}.tl.now{color:var(--ink);font-weight:700}.tl.now:before{background:var(--brand-lime);border-color:var(--brand-lime);box-shadow:0 0 0 5px #c8f54233}.eta-big{font-weight:800;font-size:40px;line-height:44px;letter-spacing:-.02em;color:var(--brand-lime)}[data-theme=light] .eta-big{color:var(--ink)}.login{min-height:100%;display:grid;grid-template-columns:1.1fr 1fr}@media (max-width: 900px){.login{grid-template-columns:1fr}.login .art{display:none}}.login .art{position:relative;overflow:hidden;background:var(--surface);display:flex;align-items:flex-end;padding:48px}.login .art .floats img{position:absolute;filter:drop-shadow(0 18px 30px rgba(0,0,0,.45))}.login .form{display:flex;flex-direction:column;justify-content:center;padding:40px;gap:22px;max-width:520px;width:100%;margin:0 auto}.demo-acc{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:var(--radius-lg);background:var(--surface);cursor:pointer;border:1px solid var(--border);text-align:left;width:100%;color:var(--ink)}.demo-acc:hover{border-color:var(--brand-lime)}.dep{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.dep:last-child{border-bottom:0}.line-badge{min-width:44px;height:32px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;padding:0 8px}.line-badge.metro{background:var(--ai-violet-action);color:#fff}.line-badge.tram{background:var(--brand-lime);color:var(--on-lime)}.line-badge.bus{background:var(--flare);color:var(--on-flare)}.tx{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}.tx:last-child{border-bottom:0}.tx .ico{width:40px;height:40px;border-radius:12px;background:var(--surface-raised);display:flex;align-items:center;justify-content:center;flex-shrink:0}.qr{width:168px;height:168px;background:#fff;border-radius:12px;padding:10px}.slot{height:40px;border-radius:12px;border:1px solid var(--border-strong);background:transparent;font-weight:600;cursor:pointer}.slot.on{background:var(--brand-lime);color:var(--on-lime);border-color:var(--brand-lime)}.slot:disabled{opacity:.3;cursor:default;text-decoration:line-through}.stage{display:flex;gap:12px;align-items:center;padding:12px;border-radius:var(--radius-md);background:var(--surface-raised)}.composer .assistant-bar{min-width:0}@media (max-width: 640px){.hero-greet .orbit-deco{right:-150px;top:-170px}}
