.ca-sk{display:block;background:var(--color-surface-3);border-radius:var(--radius-sm);position:relative;overflow:hidden;flex-shrink:0}.ca-sk:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(var(--color-text-primary-rgb, 255, 255, 255),.07),transparent);animation:caSkShimmer 1.25s ease-in-out infinite}[data-theme=light] .ca-sk:after{background:linear-gradient(90deg,transparent,rgba(15,23,42,.06),transparent)}@keyframes caSkShimmer{to{transform:translate(100%)}}@media (prefers-reduced-motion: reduce){.ca-sk:after{animation:none}}.ca-sk-row{display:flex;align-items:center;gap:10px;padding:12px 0}.ca-sk-row+.ca-sk-row{border-top:1px solid var(--color-border-subtle)}.ca-sk-row .ca-sk-row__body{flex:1;min-width:0}.ca-sk-list{display:block}.ca-sk-page{background:var(--color-surface-canvas);display:flex;flex-direction:column}.ca-sk-page .ca-sk-page__header{flex:0 0 auto;background:var(--color-surface-1);border-bottom:1px solid var(--color-border-subtle);padding:calc(var(--safe-top) + 14px) 16px 14px;display:flex;align-items:center;min-height:56px}.ca-sk-page .ca-sk-page__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight);color:var(--color-text-primary)}.ca-sk-page .ca-sk-page__content{flex:1 1 auto;min-height:0;overflow:hidden;padding:16px}.pin-input-container{display:flex;justify-content:space-between;align-items:center;width:100%;gap:var(--space-2)}.pin-input{--background: var(--color-input-bg);--color: var(--color-text-primary);--placeholder-color: var(--color-input-placeholder);--padding-start: 0;--padding-end: 0;--padding-top: 0;--padding-bottom: 0;flex:1 1 0;min-width:0;text-align:center;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);background:var(--color-input-bg);border:1.5px solid var(--color-input-border);border-radius:var(--radius-md);height:52px;margin:0;caret-color:var(--color-brand-primary);transition:border-color var(--motion-duration-fast) var(--motion-ease-out),box-shadow var(--motion-duration-fast) var(--motion-ease-out),background var(--motion-duration-fast) var(--motion-ease-out)}.pin-input::part(native){background:var(--color-input-bg);color:var(--color-text-primary);text-align:center;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);border-radius:var(--radius-md);padding:0;caret-color:var(--color-brand-primary)}.pin-input:focus-within{border-color:var(--color-brand-primary);background:var(--color-input-bg-focus)}.pin-input:focus-within::part(native){background:var(--color-input-bg-focus)}ion-item:has(>.pin-input-container){--background: transparent;--padding-start: 0;--padding-end: 0;--inner-padding-end: 0;--inner-padding-start: 0;--min-height: 52px;--border-color: transparent}.resend-button-container{display:flex;justify-content:flex-end;margin-top:16px}.resend-button{font-size:.6rem}.resend-text{font-size:.8rem;margin-left:8px}.tutorial-modal{--width: 100%;--height: 100%;--border-radius: 0}.tutorial-modal::part(backdrop){background:var(--color-surface-overlay);backdrop-filter:blur(10px)}.tutorial-content{--background: var(--color-surface-1);--padding-top: 0;--padding-bottom: 0}.tutorial-close-button{position:absolute;top:16px;right:16px;z-index:1000}.tutorial-close-button ion-button{--color: var(--color-text-primary);--background: var(--color-surface-3);--border-radius: 50%;width:40px;height:40px}.tutorial-header{background:var(--color-surface-2);padding:40px 24px 32px;text-align:center;border-bottom:1px solid var(--color-border-subtle)}.tutorial-logo{margin-bottom:16px}.logo-text{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-tight)}.tutorial-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 12px;line-height:1.3}.tutorial-subtitle{font-size:.95rem;color:var(--color-text-secondary);line-height:1.5;max-width:400px;margin:0 auto}.tutorial-slides{height:calc(100vh - 450px);min-height:300px;padding:0}.tutorial-slides .swiper-wrapper{height:100%}.tutorial-slide{display:flex;align-items:flex-start;justify-content:flex-start;padding:24px;height:auto}.slide-content{width:100%;max-width:600px;margin:0 auto}.slide-step{display:flex;align-items:center;gap:20px;margin-bottom:24px}.step-number{background:var(--color-brand-primary);width:56px;height:56px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;box-shadow:none}.step-number span{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-on-brand)}.step-icon{width:60px;height:60px;background:var(--color-surface-3);border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid var(--color-border-subtle)}.icon-emoji{font-size:2rem}.slide-text{text-align:left}.slide-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 12px;line-height:1.3}.slide-description{font-size:.95rem;color:var(--color-text-secondary);line-height:1.6;margin:0 0 16px}.slide-tips{list-style:none;padding:0;margin:16px 0 0}.slide-tips li{font-size:.9rem;color:var(--color-text-secondary);padding:8px 0 8px 28px;position:relative;line-height:1.5}.slide-tips li:before{content:"✓";position:absolute;left:0;color:var(--color-text-secondary);font-weight:var(--font-weight-semibold);font-size:1.1rem}.slide-image{margin-top:20px;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-1)}.slide-image img{width:100%;height:auto;display:block}.tutorial-progress{display:flex;justify-content:center;align-items:center;gap:12px;padding:20px 24px;background:var(--color-surface-2)}.progress-dot{width:10px;height:10px;border-radius:50%;background:var(--color-border-strong);transition:background-color var(--motion-duration-fast),width var(--motion-duration-fast);cursor:pointer}.progress-dot.active{width:32px;border-radius:var(--radius-full);background:var(--color-brand-primary);box-shadow:none}.progress-dot.completed{background:var(--color-brand-primary-subtle)}.tutorial-footer{padding:16px 24px 20px;background:var(--color-surface-2);border-top:1px solid var(--color-border-subtle)}.dont-show-wrapper{display:flex;align-items:center;gap:12px;margin-bottom:16px;justify-content:center}.dont-show-wrapper ion-checkbox{--size: 20px;--background-checked: var(--color-brand-primary);--border-color-checked: var(--color-brand-primary);--checkmark-color: var(--color-on-brand);--border-radius: var(--radius-xs)}.dont-show-text{font-size:.9rem;color:var(--color-text-secondary);user-select:none}.tutorial-buttons{display:flex;justify-content:space-between;align-items:center;gap:12px}.btn-prev,.btn-skip{--color: var(--color-text-secondary);font-size:.9rem;font-weight:var(--font-weight-medium)}@media (hover: hover){.btn-prev:hover,.btn-skip:hover{--color: var(--color-text-primary)}}.btn-next{--background: var(--color-brand-primary);--background-hover: var(--color-brand-primary-hover);--background-activated: var(--color-brand-primary-pressed);--color: var(--color-on-brand);font-weight:var(--font-weight-semibold);font-size:15px;--border-radius: var(--radius-md);--box-shadow: none;--padding-start: 24px;--padding-end: 24px;height:48px;box-shadow:none;flex:1;max-width:200px;margin-left:auto}@media (hover: hover){.btn-next:hover{--background: var(--color-brand-primary-hover)}}.tutorial-branding{padding:20px 24px 24px;text-align:center;background:var(--color-surface-2);border-top:1px solid var(--color-border-subtle)}.branding-text{font-size:var(--font-size-base);color:var(--color-text-primary);margin:0 0 12px;font-weight:var(--font-weight-medium)}.branding-contact span{display:inline-flex;align-items:center;gap:6px}.branding-contact ion-icon{font-size:16px;color:var(--color-text-tertiary)}.branding-contact{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;font-size:.85rem;color:var(--color-text-tertiary)}@media (max-width: 576px){.tutorial-header{padding:32px 20px 24px}.tutorial-title{font-size:1.4rem}.tutorial-subtitle{font-size:.85rem}.tutorial-slides{height:calc(100vh - 420px)}.tutorial-slides .swiper-wrapper{height:100%}.tutorial-slide{padding:16px}.slide-step{gap:16px;margin-bottom:20px}.step-number{width:48px;height:48px}.step-number span{font-size:1.3rem}.step-icon{width:52px;height:52px}.icon-emoji{font-size:1.75rem}.slide-title{font-size:1.25rem}.slide-description{font-size:.9rem}.tutorial-buttons{flex-wrap:wrap}.btn-next{flex:1;max-width:100%;order:-1}.btn-prev,.btn-skip{flex:1}}@media (min-width: 768px){.tutorial-modal{--width: 90%;--height: 90%;--border-radius: var(--radius-xl)}.tutorial-slides{height:calc(90vh - 450px)}.tutorial-slides .swiper-wrapper{height:100%}.slide-content{max-width:700px}}@media (min-width: 1024px){.tutorial-modal{--width: 800px;--height: 85%}}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.slide-content{animation:slideInUp .5s ease-out}@media (prefers-reduced-motion: reduce){.tutorial-content,.slide-content,.progress-dot,.btn-next{animation:none!important;transition:none!important}}.tutorial-buttons ion-button:focus-visible{outline:2px solid var(--color-brand-primary);outline-offset:2px}.logo-image{height:60px;width:auto}.cb-tabdot{position:absolute;top:6px;left:50%;margin-left:6px;width:8px;height:8px;border-radius:50%;background:var(--color-brand-primary);box-shadow:0 0 0 2px var(--color-surface-1);pointer-events:none}.scanner-content{--background: transparent}html.scanner-active,html.scanner-active body,html.scanner-active ion-app,html.scanner-active ion-router-outlet,html.scanner-active ion-page,html.scanner-active ion-content,html.scanner-active ion-tabs,html.scanner-active ion-tab-bar{background:transparent!important;background-color:transparent!important;--background: transparent !important;--ion-background-color: transparent !important}.scan-frame{position:relative;width:280px;height:280px;margin:50% auto 0;transform:translateY(-50%);border-radius:var(--radius-lg);box-shadow:0 0 0 9999px #0000009e,0 0 24px rgba(var(--color-brand-primary-rgb),.35);animation:scanFrameBreathe 2.4s ease-in-out infinite;transition:transform .28s cubic-bezier(.34,1.56,.64,1)}@keyframes scanFrameBreathe{0%,to{box-shadow:0 0 0 9999px #0000009e,0 0 14px rgba(var(--color-brand-primary-rgb),.25)}50%{box-shadow:0 0 0 9999px #0000009e,0 0 28px rgba(var(--color-brand-primary-rgb),.55)}}.scan-corners{position:absolute;inset:0;pointer-events:none;z-index:2}.scan-corners .corner{position:absolute;width:32px;height:32px;border:3px solid var(--color-brand-primary);filter:drop-shadow(0 0 6px rgba(var(--color-brand-primary-rgb),.6));animation:cornerPulse 2s ease-in-out infinite}.scan-corners .corner.tl{top:-3px;left:-3px;border-right:none;border-bottom:none;border-top-left-radius:16px}.scan-corners .corner.tr{top:-3px;right:-3px;border-left:none;border-bottom:none;border-top-right-radius:16px}.scan-corners .corner.bl{bottom:-3px;left:-3px;border-right:none;border-top:none;border-bottom-left-radius:16px}.scan-corners .corner.br{bottom:-3px;right:-3px;border-left:none;border-top:none;border-bottom-right-radius:16px}@keyframes cornerPulse{0%,to{filter:drop-shadow(0 0 4px rgba(var(--color-brand-primary-rgb),.4))}50%{filter:drop-shadow(0 0 12px rgba(var(--color-brand-primary-rgb),.85))}}.scan-line{position:absolute;left:8%;right:8%;height:2px;top:0;background:linear-gradient(90deg,transparent 0%,rgba(var(--color-brand-primary-rgb),.4) 20%,var(--color-brand-primary) 50%,rgba(var(--color-brand-primary-rgb),.4) 80%,transparent 100%);filter:drop-shadow(0 0 8px rgba(var(--color-brand-primary-rgb),.85));animation:scanSweep 2.2s linear infinite;pointer-events:none;z-index:1}@keyframes scanSweep{0%{top:0%;opacity:0}10%{top:0%;opacity:1}90%{top:calc(100% - 2px);opacity:1}to{top:calc(100% - 2px);opacity:0}}.mobile-scanner-overlay{position:fixed;inset:0;z-index:var(--z-modal);pointer-events:none}.scan-instruction{position:absolute;bottom:100px;left:50%;transform:translate(-50%);color:#f8fafc;font-size:15px;font-weight:var(--font-weight-medium);letter-spacing:0;text-align:center;background:#0f172ad1;border:1px solid rgba(var(--color-brand-primary-rgb),.35);padding:12px 24px;border-radius:var(--radius-md);box-shadow:0 4px 16px #0006;animation:instructionBreathe 2.6s ease-in-out infinite;white-space:nowrap}@keyframes instructionBreathe{0%,to{border-color:rgba(var(--color-brand-primary-rgb),.35);box-shadow:0 4px 16px #0006}50%{border-color:rgba(var(--color-brand-primary-rgb),.7);box-shadow:0 4px 16px #0006,0 0 0 3px rgba(var(--color-brand-primary-rgb),.12)}}.scan-frame.found{animation:scanFrameBreathe 2.4s ease-in-out infinite,scanFrameFound .4s cubic-bezier(.34,1.56,.64,1)}@keyframes scanFrameFound{0%{transform:translateY(-50%) scale(1)}50%{transform:translateY(-50%) scale(1.06)}to{transform:translateY(-50%) scale(1)}}.scan-frame.found .corner{animation:cornerFound .4s ease-out forwards;border-color:#fff}@keyframes cornerFound{0%{filter:drop-shadow(0 0 4px rgba(var(--color-brand-primary-rgb),.4))}50%{filter:drop-shadow(0 0 28px rgba(var(--color-brand-primary-rgb),1))}to{filter:drop-shadow(0 0 12px rgba(var(--color-brand-primary-rgb),.85))}}.scan-frame.found .scan-line{animation:none;opacity:0}.scan-start-button{--background: var(--color-brand-primary);--background-hover: var(--color-brand-primary-hover);--background-activated: var(--color-brand-primary-pressed);--color: var(--color-on-brand);--border-radius: var(--radius-md);--padding-top: 16px;--padding-bottom: 16px;--box-shadow: none;font-weight:var(--font-weight-semibold);letter-spacing:0;margin:24px}.qr-scanner-web{width:100%;height:100%;border-radius:var(--radius-md);overflow:hidden;position:relative;z-index:0}.qr-scanner-web video{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-md)}@media (prefers-reduced-motion: reduce){.scan-frame,.scan-frame.found,.scan-corners .corner,.scan-line,.scan-instruction{animation:none!important}.scan-line{opacity:.7;top:50%}}.more-popover{--min-width: 180px;--height: 260px;--max-height: 800px;--offset-y: -10px;--border-radius: var(--radius-md);--background: var(--color-surface-2);--color: var(--color-text-primary);--box-shadow: var(--shadow-3);color:var(--color-text-primary)}.more-popover ion-content{--background: var(--color-surface-2);--color: var(--color-text-primary)}.more-popover ion-list{background:var(--color-surface-2);color:var(--color-text-primary);padding:var(--space-1)}.more-popover ion-item{--background: transparent;--color: var(--color-text-primary);--border-color: var(--color-border-subtle)}@media (hover: hover){.more-popover ion-item:hover{--background: var(--color-row-bg-hover)}}.more-popover ion-item ion-icon[slot=start]{color:var(--color-text-secondary)}.more-popover .menu-label{color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.offline-banner{position:fixed;top:0;left:0;right:0;z-index:var(--z-toast, 99999);display:flex;align-items:center;gap:10px;padding:calc(env(safe-area-inset-top,0px) + 10px) 16px 10px 16px;background:var(--color-surface-2);border-bottom:1px solid var(--color-border-default);color:var(--color-text-primary);font-size:.85rem;font-weight:var(--font-weight-medium);letter-spacing:0;box-shadow:var(--shadow-1);animation:offlineBannerSlideIn .24s cubic-bezier(.34,1.56,.64,1)}@keyframes offlineBannerSlideIn{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.offline-banner-icon{font-size:18px;color:var(--color-warning);flex-shrink:0}.offline-banner-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.offline-banner-retry{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-md);border:0;background:var(--color-surface-3);color:var(--color-text-primary);font-size:.8rem;font-weight:var(--font-weight-semibold);cursor:pointer;transition:background-color var(--motion-duration-fast) ease,transform var(--motion-duration-fast) ease;min-height:28px}@media (hover: hover){.offline-banner-retry:hover{background:var(--color-row-bg-hover)}}.offline-banner-retry:active{transform:scale(.97)}.offline-banner-retry:disabled{opacity:.6;cursor:not-allowed}.offline-banner-spinner{--color: var(--color-brand-primary);width:18px;height:18px}@media (prefers-reduced-motion: reduce){.offline-banner{animation:none}}.game-container{min-height:100%;height:100%;display:flex;flex-direction:column;font-family:inherit;color:var(--color-text-primary);background:radial-gradient(120% 70% at 50% -10%,rgba(var(--color-brand-primary-rgb),.12),transparent 60%),radial-gradient(90% 60% at 100% 110%,rgba(96,165,250,.08),transparent 55%),var(--color-surface-canvas, var(--color-surface-1));padding:max(var(--space-6),env(safe-area-inset-top)) max(var(--space-5),env(safe-area-inset-right)) max(var(--space-6),env(safe-area-inset-bottom)) max(var(--space-5),env(safe-area-inset-left));overflow-y:auto;-webkit-overflow-scrolling:touch;box-sizing:border-box}.game-card{background:var(--color-surface-2);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-2xl);padding:var(--space-7, 40px) var(--space-6, 32px);max-width:520px;width:100%;box-shadow:var(--shadow-2);text-align:center;position:relative;margin:auto;box-sizing:border-box}.connection-status{position:absolute;top:var(--space-4);right:var(--space-4);display:flex;align-items:center;gap:6px;padding:5px 11px;border-radius:var(--radius-full);font-size:var(--font-size-2xs, 11px);font-weight:var(--font-weight-bold);letter-spacing:.3px;background:#ffffff0d;color:var(--color-text-secondary)}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--color-danger)}.connection-status.online .status-dot{background:var(--color-success);box-shadow:0 0 8px rgba(var(--color-brand-primary-rgb),.7)}.connection-status.offline .status-dot{animation:pulse 1.8s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.game-title{font-size:var(--font-size-3xl, 30px);margin:0 0 var(--space-2) 0;color:var(--color-text-primary);font-weight:var(--font-weight-extrabold);line-height:1.15}.game-subtitle{color:var(--color-text-secondary);font-size:var(--font-size-base, 16px);line-height:1.5;margin:0 0 var(--space-2) 0}.offline-hint{color:var(--color-text-tertiary);font-size:var(--font-size-xs, 12px);font-style:italic;margin:0 0 var(--space-6) 0;line-height:1.4}.score-container{display:flex;justify-content:space-around;align-items:stretch;margin-bottom:var(--space-6);gap:var(--space-4)}.score-box{flex:1;padding:var(--space-5, 20px) var(--space-3);border-radius:var(--radius-xl)}.player-score{background:linear-gradient(135deg,var(--color-brand-primary-hover, #44EE9B) 0%,var(--color-brand-primary) 100%);color:var(--color-text-on-brand, #003319)}.computer-score{background:linear-gradient(135deg,#f87171 0%,var(--color-danger) 100%);color:#fff}.score-label{font-size:var(--font-size-xs, 12px);font-weight:var(--font-weight-bold);letter-spacing:.6px;opacity:.85;margin-bottom:4px}.score-value{font-size:44px;font-weight:var(--font-weight-extrabold);line-height:1;font-variant-numeric:tabular-nums}.vs-text{display:flex;align-items:center;font-size:var(--font-size-xl, 20px);color:var(--color-text-tertiary);font-weight:var(--font-weight-bold)}.game-over{padding:var(--space-7, 36px) var(--space-5);border-radius:var(--radius-xl);margin-bottom:var(--space-5)}.game-over.won{background:linear-gradient(135deg,var(--color-brand-primary-hover, #44EE9B) 0%,var(--color-brand-primary-pressed) 100%);color:var(--color-text-on-brand, #003319)}.game-over.lost{background:linear-gradient(135deg,#f87171 0%,var(--color-danger) 100%);color:#fff}.game-over-emoji{font-size:64px;margin-bottom:var(--space-2)}.game-over-title{font-size:var(--font-size-3xl, 30px);font-weight:var(--font-weight-extrabold);margin:0 0 var(--space-2) 0}.game-over-score{font-size:var(--font-size-md, 17px);opacity:.9;margin:0;font-variant-numeric:tabular-nums}.round-result{padding:var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-5);font-size:var(--font-size-xl, 20px);font-weight:var(--font-weight-bold);animation:shake .5s}.round-result.win{background:rgba(var(--color-brand-primary-rgb),.15);color:var(--color-brand-primary);border:1px solid rgba(var(--color-brand-primary-rgb),.35)}.round-result.lose{background:#ef444426;color:#fca5a5;border:1px solid rgba(239,68,68,.35)}.round-result.draw{background:#ffffff0f;color:var(--color-text-secondary);border:1px solid rgba(255,255,255,.12)}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.choices-display{display:flex;justify-content:space-around;margin-bottom:var(--space-6);gap:var(--space-4)}.choice-box{flex:1;padding:var(--space-4);background:var(--color-surface-3);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-md)}.choice-emoji{font-size:56px;margin-bottom:var(--space-2)}.choice-label{font-size:var(--font-size-sm, 14px);color:var(--color-text-tertiary);text-transform:capitalize}.action-buttons{display:flex;gap:var(--space-3);justify-content:center;flex-wrap:wrap}.choice-button{padding:var(--space-4) var(--space-5);font-size:44px;border:1px solid rgba(var(--color-brand-primary-rgb),.4);border-radius:var(--radius-lg);background:var(--color-surface-3);color:var(--color-text-primary);cursor:pointer;transition:transform var(--motion-duration-fast, .15s) var(--motion-ease-out, ease-out),box-shadow var(--motion-duration-fast, .15s) ease,border-color var(--motion-duration-fast, .15s) ease;min-width:96px;-webkit-tap-highlight-color:transparent}.choice-button:hover:not(.disabled){transform:scale(1.05);border-color:var(--color-brand-primary);box-shadow:0 6px 20px rgba(var(--color-brand-primary-rgb),.35)}.choice-button.disabled{opacity:.5;cursor:not-allowed;transform:scale(.96)}.choice-button:active:not(.disabled){transform:scale(.97)}.reset-button{padding:13px var(--space-7, 36px);font-size:var(--font-size-md, 17px);border:none;border-radius:var(--radius-md);background:var(--color-brand-primary);color:var(--color-text-on-brand, #003319);cursor:pointer;font-weight:var(--font-weight-bold);box-shadow:0 4px 14px rgba(var(--color-brand-primary-rgb),.4);transition:transform var(--motion-duration-fast, .15s) var(--motion-ease-out, ease-out)}.reset-button:hover{transform:scale(1.04)}.reset-button:active{transform:scale(.97)}.round-counter{margin-top:var(--space-6);color:var(--color-text-tertiary);font-size:var(--font-size-sm, 14px)}@media (max-width: 640px){.game-card{padding:var(--space-6) var(--space-5);padding-top:56px}.game-title{font-size:var(--font-size-2xl, 24px);margin-bottom:4px}.game-subtitle{margin-bottom:var(--space-4)}.score-container{margin-bottom:var(--space-5);gap:var(--space-3)}.score-box{padding:var(--space-4) var(--space-2)}.score-value{font-size:32px}.game-over{padding:var(--space-6) var(--space-4)}.game-over-emoji{font-size:52px}.game-over-title{font-size:var(--font-size-2xl, 24px)}.choice-button{font-size:34px;padding:var(--space-3) var(--space-4);min-width:76px}.round-counter{margin-top:var(--space-4)}.connection-status{top:var(--space-3);right:var(--space-3)}}.cbk-root{min-height:100%;height:100%;display:flex;flex-direction:column;justify-content:center;box-sizing:border-box;padding:max(var(--space-5),env(safe-area-inset-top)) max(var(--space-4),env(safe-area-inset-right)) max(var(--space-5),env(safe-area-inset-bottom)) max(var(--space-4),env(safe-area-inset-left));overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:manipulation;color:var(--color-text-primary);background:radial-gradient(120% 70% at 50% -10%,rgba(var(--color-brand-primary-rgb),.12),transparent 60%),radial-gradient(90% 60% at 100% 110%,rgba(251,191,36,.08),transparent 55%),var(--color-surface-canvas, var(--color-surface-1))}.cbk-card{position:relative;width:100%;max-width:460px;margin:auto;box-sizing:border-box;padding:var(--space-6) var(--space-5) var(--space-5);background:var(--color-surface-2);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-2xl);box-shadow:var(--shadow-2);overflow:hidden}.cbk-conn{position:absolute;top:var(--space-4);right:var(--space-4);display:inline-flex;align-items:center;gap:6px;font-size:var(--font-size-2xs, 11px);font-weight:var(--font-weight-bold);letter-spacing:.3px;padding:5px 10px;border-radius:var(--radius-full);background:#ffffff0d;color:var(--color-text-secondary)}.cbk-conn .cbk-dot{width:7px;height:7px;border-radius:50%;background:var(--color-danger)}.cbk-conn.online .cbk-dot{background:var(--color-success);box-shadow:0 0 8px rgba(var(--color-brand-primary-rgb),.7)}.cbk-conn.offline .cbk-dot{animation:cbk-pulse 1.8s ease-in-out infinite}@keyframes cbk-pulse{0%,to{opacity:1}50%{opacity:.35}}.cbk-head{text-align:center;margin-bottom:var(--space-4);padding-right:70px;padding-left:70px}.cbk-title{margin:0 0 4px;font-size:var(--font-size-2xl, 24px);font-weight:var(--font-weight-extrabold);line-height:1.15;color:var(--color-text-primary)}.cbk-sub{margin:0;font-size:var(--font-size-sm, 14px);line-height:1.45;color:var(--color-text-secondary)}.cbk-bar{display:flex;align-items:center;justify-content:space-between;margin:var(--space-4) 2px var(--space-3)}.cbk-round{font-size:var(--font-size-xs, 12px);font-weight:var(--font-weight-bold);letter-spacing:.6px;text-transform:uppercase;color:var(--color-text-tertiary)}.cbk-score{font-size:var(--font-size-lg, 18px);font-weight:var(--font-weight-extrabold);color:var(--color-brand-primary);font-variant-numeric:tabular-nums}.cbk-arena{display:flex;gap:var(--space-4);align-items:stretch}.cbk-meter{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);margin:0;padding:0;border:none;background:transparent;cursor:pointer;font-family:inherit;-webkit-tap-highlight-color:transparent;touch-action:none;user-select:none}.cbk-meter:disabled{cursor:default}.cbk-track{position:relative;width:100%;height:clamp(190px,40vh,290px);border-radius:var(--radius-xl);background:var(--color-surface-1);border:1px solid rgba(255,255,255,.07);box-shadow:inset 0 2px 10px #00000059;overflow:hidden}.cbk-meter:active .cbk-track{transform:scale(.98)}.cbk-track,.cbk-meter:active .cbk-track{transition:transform var(--motion-duration-fast, .15s) var(--motion-ease-out, ease-out)}.cbk-overflow{position:absolute;top:0;left:0;right:0;height:8%;background:repeating-linear-gradient(45deg,#ef44442e 0 7px,#ef44440d 7px 14px);border-bottom:1px solid rgba(239,68,68,.4);z-index:2}.cbk-fill{position:absolute;left:0;right:0;bottom:0;height:0%;z-index:1;background:linear-gradient(180deg,var(--color-brand-primary-hover, #44EE9B),var(--color-brand-primary));box-shadow:0 0 14px rgba(var(--color-brand-primary-rgb),.4);transition:background var(--motion-duration-base, .22s) ease,box-shadow var(--motion-duration-base, .22s) ease}.cbk-fill:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:#ffffff8c;filter:blur(2px);opacity:.7}.cbk-chai .cbk-fill{background:linear-gradient(180deg,#f6c56b,#c8862f);box-shadow:0 0 14px #fbbf2466}.cbk-fill.cbk-ready{box-shadow:0 0 22px rgba(var(--color-brand-primary-rgb),.85);animation:cbk-ready .5s ease-in-out infinite alternate}.cbk-chai .cbk-fill.cbk-ready{box-shadow:0 0 22px #fbbf24d9}@keyframes cbk-ready{0%{filter:brightness(1)}to{filter:brightness(1.25)}}.cbk-fill.cbk-overzone{background:linear-gradient(180deg,#fca5a5,var(--color-danger));box-shadow:0 0 18px #ef444499}.cbk-band{position:absolute;left:0;right:0;z-index:2;background:rgba(var(--color-brand-primary-rgb),.16);border-top:2px dashed rgba(var(--color-brand-primary-rgb),.9);border-bottom:2px dashed rgba(var(--color-brand-primary-rgb),.9);pointer-events:none}.cbk-mascot{position:absolute;top:10px;left:50%;transform:translate(-50%);z-index:3;font-size:30px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.4));pointer-events:none}.cbk-meter.cbk-perfect .cbk-track{border-color:rgba(var(--color-brand-primary-rgb),.8);box-shadow:inset 0 0 0 2px rgba(var(--color-brand-primary-rgb),.5),0 0 18px rgba(var(--color-brand-primary-rgb),.35)}.cbk-meter.cbk-perfect .cbk-fill{background:linear-gradient(180deg,var(--color-brand-primary-hover, #44EE9B),var(--color-brand-primary))}.cbk-meter.cbk-miss .cbk-track{border-color:#ef4444cc;animation:cbk-shake .4s}.cbk-meter.cbk-miss .cbk-fill{background:linear-gradient(180deg,#fca5a5,var(--color-danger))!important}@keyframes cbk-shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.cbk-meter-label{font-size:var(--font-size-sm, 14px);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.cbk-meter-action{font-size:var(--font-size-2xs, 11px);font-weight:var(--font-weight-bold);letter-spacing:.4px;text-transform:uppercase;color:var(--color-brand-primary);background:rgba(var(--color-brand-primary-rgb),.12);border:1px solid rgba(var(--color-brand-primary-rgb),.35);padding:4px 12px;border-radius:var(--radius-full)}.cbk-flash{min-height:26px;margin:var(--space-3) 0 var(--space-2);text-align:center;font-size:var(--font-size-sm, 14px);font-weight:var(--font-weight-bold);color:var(--color-brand-primary);opacity:0;transform:translateY(4px) scale(.96);transition:opacity var(--motion-duration-fast, .15s),transform var(--motion-duration-fast, .15s)}.cbk-flash.cbk-show{opacity:1;transform:translateY(0) scale(1);text-shadow:0 0 12px rgba(var(--color-brand-primary-rgb),.6)}.cbk-stats{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.cbk-stat{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 4px 8px;background:var(--color-surface-3);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-md)}.cbk-stat-v{font-size:var(--font-size-xl, 20px);font-weight:var(--font-weight-extrabold);color:var(--color-brand-primary);line-height:1;font-variant-numeric:tabular-nums}.cbk-stat-l{font-size:var(--font-size-2xs, 11px);font-weight:var(--font-weight-semibold);letter-spacing:.5px;text-transform:uppercase;color:var(--color-text-tertiary)}.cbk-hint{margin:var(--space-4) 0 0;text-align:center;font-size:var(--font-size-xs, 12px);font-style:italic;line-height:1.4;color:var(--color-text-tertiary)}.cbk-over{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-6);text-align:center;background:var(--color-surface-2);background:color-mix(in srgb,var(--color-surface-2) 90%,transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);cursor:pointer;animation:cbk-fade var(--motion-duration-base, .22s) ease-out}@keyframes cbk-fade{0%{opacity:0}to{opacity:1}}.cbk-over-emoji{font-size:60px;line-height:1}.cbk-over-msg{font-size:var(--font-size-md, 17px);font-weight:var(--font-weight-bold);color:var(--color-text-primary);max-width:280px}.cbk-over-score{font-size:var(--font-size-sm, 14px);color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.cbk-retry{margin-top:var(--space-2);padding:12px 28px;font-size:var(--font-size-base, 16px);font-weight:var(--font-weight-bold);font-family:inherit;color:var(--color-text-on-brand, var(--color-on-brand));background:var(--color-brand-primary);border:none;border-radius:var(--radius-md);cursor:pointer;touch-action:manipulation;box-shadow:0 4px 14px rgba(var(--color-brand-primary-rgb),.4);transition:transform var(--motion-duration-fast, .15s) var(--motion-ease-out, ease-out)}.cbk-retry:active{transform:scale(.96)}@media (max-width: 380px){.cbk-card{padding:var(--space-5) var(--space-4) var(--space-4)}.cbk-head{padding-left:var(--space-2);padding-right:var(--space-2);margin-top:var(--space-2)}.cbk-conn{top:var(--space-3);right:var(--space-3)}}ion-modal.offline-game-modal{--width: 100%;--height: 100%;--min-width: 100%;--min-height: 100%;--max-width: 100%;--max-height: 100%;--border-radius: 0;--box-shadow: none;--backdrop-opacity: 1;--background: var(--color-surface-canvas, var(--color-surface-1))}ion-modal.offline-game-modal::part(content){width:100%;height:100%;border-radius:0;background:var(--color-surface-canvas, var(--color-surface-1))}ion-modal.offline-game-modal::part(handle){display:none}.floating-chat-bubble{position:fixed;bottom:80px;right:16px;z-index:var(--z-toast);background:var(--color-surface-2);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);padding:12px 16px;box-shadow:0 4px 20px #19ef9a4d,0 2px 8px #00000080;max-width:280px;min-width:200px;animation:slideInUp .3s ease-out}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.bubble-dismiss{position:absolute;top:-8px;right:-8px;width:24px;height:24px;border-radius:var(--radius-full);background:var(--color-danger);border:2px solid var(--color-surface-1);color:var(--color-text-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;font-size:14px;z-index:1}.bubble-dismiss:active{transform:scale(.9)}.bubble-dismiss ion-icon{font-size:12px}.bubble-content{display:flex;align-items:flex-start;gap:12px;cursor:pointer}.bubble-icon{position:relative;width:44px;height:44px;background:var(--color-surface-3);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.bubble-icon ion-icon{font-size:22px;color:var(--color-text-primary)}.bubble-badge{position:absolute;top:-6px;right:-6px;background:var(--color-brand-primary);color:var(--color-surface-canvas);font-size:10px;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px;border:2px solid var(--color-surface-1)}.bubble-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.bubble-sender{font-size:12px;font-weight:600;color:var(--color-brand-primary)}.bubble-message{font-size:13px;color:var(--color-text-primary);line-height:1.3;word-break:break-word}.bubble-actions{display:flex;justify-content:flex-end;margin-top:10px;padding-top:10px;border-top:1px solid var(--color-border-subtle)}.bubble-action-btn{padding:6px 16px;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;border:none;transition:all .2s}.bubble-action-btn.view{background:var(--color-brand-primary);color:var(--color-surface-canvas)}.bubble-action-btn.view:active{transform:scale(.95);background:var(--color-brand-primary-pressed)}.spotlight-backdrop{position:absolute;inset:0;background:#000000d9;z-index:1}.spotlight-backdrop-light{position:absolute;inset:0;background:#000000b3;z-index:1}.spotlight-cutout{position:absolute;z-index:2;background:#ffffff26;border-radius:var(--radius-sm);box-shadow:0 0 0 9999px #000000d9,0 0 30px 10px rgba(var(--color-brand-primary-rgb),.5),inset 0 0 20px #ffffff1a;border:2px solid var(--color-brand-primary)}.spotlight-more-button{bottom:4px;right:4px;width:68px;height:52px;border-radius:8px}.spotlight-cutout:before{content:"More";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--color-brand-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:0;opacity:0}.spotlight-cutout:after{content:"";position:absolute;inset:-6px;border:2px solid rgba(var(--color-brand-primary-rgb),.6);border-radius:var(--radius-md);animation:pulse 1.5s 3}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.08)}}.spotlight-tooltip{position:absolute;z-index:3;background:var(--color-surface-2);color:var(--color-text-primary);border-radius:var(--radius-lg);padding:var(--space-5);max-width:320px;width:calc(100% - 32px);box-shadow:var(--shadow-3);border:1px solid rgba(var(--color-brand-primary-rgb),.4);animation:fadeInUp .3s var(--motion-ease-out)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.spotlight-tooltip-more{bottom:80px;left:50%;transform:translate(-50%)}.spotlight-tooltip-more:after{content:"";position:absolute;bottom:-10px;right:30px;width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-top:10px solid var(--color-surface-1)}.spotlight-tooltip-menu-info{top:50%;left:50%;transform:translate(-50%,-50%);max-width:340px}.spotlight-close{position:absolute;top:var(--space-2);right:var(--space-2);background:transparent;border:none;color:var(--color-text-tertiary);font-size:24px;cursor:pointer;padding:var(--space-1);display:flex;align-items:center;justify-content:center;transition:color var(--motion-duration-fast) var(--motion-ease-out)}.spotlight-close:active{color:var(--color-text-primary)}.spotlight-content h3{margin:0 0 var(--space-3) 0;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.spotlight-content p{margin:0 0 var(--space-2) 0;font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-normal)}.spotlight-features-list{margin:var(--space-3) 0 0 0;padding-left:0;list-style:none}.spotlight-features-list li{font-size:var(--font-size-xs);color:var(--color-text-secondary);padding:5px 0 5px 22px;position:relative}.spotlight-features-list li:before{content:"✓";position:absolute;left:0;color:var(--color-brand-primary);font-weight:var(--font-weight-semibold)}.menu-items-info{display:flex;flex-direction:column;gap:14px;margin-top:12px}.menu-item-info{display:flex;align-items:flex-start;gap:12px}.menu-item-icon{font-size:22px;color:var(--color-text-secondary);flex-shrink:0;width:28px;display:inline-flex;align-items:center;justify-content:center;text-align:center}.menu-item-info strong{display:block;font-size:var(--font-size-sm);color:var(--color-text-primary);margin-bottom:2px;font-weight:var(--font-weight-semibold)}.menu-item-info p{margin:0;font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:var(--line-height-snug)}.spotlight-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-border-subtle)}.spotlight-actions ion-button{--border-radius: 8px;font-size:14px;text-transform:none}@media (max-width: 360px){.spotlight-tooltip{padding:16px;max-width:290px}.spotlight-content h3{font-size:16px}.spotlight-content p{font-size:13px}.spotlight-features-list li{font-size:12px;padding:4px 0 4px 20px}.menu-item-info strong{font-size:13px}.menu-item-info p{font-size:11px}.menu-item-icon{font-size:18px}}.cashback-modal{--border-radius: var(--radius-xl) var(--radius-xl) 0 0;--box-shadow: var(--shadow-3);--background: var(--color-surface-2)}.cashback-modal::part(backdrop){background:var(--color-surface-overlay)}.cashback-modal::part(handle){background:var(--color-border-strong);width:40px;height:4px}.cashback-modal .cashback-content{--background: transparent;padding:20px;position:relative}.cashback-modal .cashback-close-button{position:absolute;top:10px;right:10px;z-index:10}.cashback-modal .cashback-close-button ion-button{--color: var(--color-text-primary);--background: var(--color-surface-3);--border-radius: 50%;width:36px;height:36px;font-size:20px}.cashback-modal .cashback-header{text-align:center;padding:30px 20px 20px}.cashback-modal .cashback-eyebrow{display:flex;justify-content:center;gap:6px;margin-bottom:8px;flex-wrap:wrap}.cashback-modal .cashback-chip{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 9px;border-radius:20px;background:var(--color-surface-3);color:var(--color-text-secondary)}.cashback-modal .cashback-chip--you{background:var(--color-brand-primary-subtle);color:var(--color-brand-primary)}.cashback-modal .cashback-hero{display:block;width:100%;max-height:160px;object-fit:cover;border-radius:12px;margin:0 auto 16px;background:var(--color-surface-3)}.cashback-modal .cashback-gift-icon{width:auto;height:auto;background:transparent;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.cashback-modal .cashback-gift-icon ion-icon{font-size:24px;color:var(--color-text-secondary)}.cashback-modal .cashback-title{color:var(--color-text-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);margin:0 0 8px}.cashback-modal .cashback-subtitle{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0}.cashback-modal .cashback-tiers{display:flex;flex-direction:column;gap:12px;padding:0 10px;margin-bottom:20px}.cashback-modal .cashback-tier{background:var(--color-surface-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:14px 16px;border-left:4px solid;transition:transform var(--motion-duration-fast)}.cashback-modal .cashback-tier:active{transform:scale(.98)}.cashback-modal .tier-1{border-left-color:var(--color-text-tertiary)}.cashback-modal .tier-2{border-left-color:var(--color-text-secondary)}.cashback-modal .tier-3{border-left-color:var(--color-warning)}.cashback-modal .tier-4{border-left-color:var(--color-brand-primary)}.cashback-modal .tier-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.cashback-modal .tier-name{color:var(--color-text-tertiary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:0}.cashback-modal .tier-cashback{color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums}.cashback-modal .tier-4 .tier-cashback{color:var(--color-text-primary)}.cashback-modal .tier-range{color:var(--color-text-primary);font-size:15px;font-weight:var(--font-weight-medium);font-variant-numeric:tabular-nums;margin-bottom:4px}.cashback-modal .tier-description{color:var(--color-text-tertiary);font-size:var(--font-size-xs)}.cashback-modal .cashback-info{background:var(--color-surface-3);border-radius:var(--radius-md);padding:16px;margin:0 10px 20px}.cashback-modal .cashback-info .info-item{display:flex;align-items:center;gap:10px;color:var(--color-text-primary);font-size:13px;padding:8px 0}.cashback-modal .cashback-info .info-item:not(:last-child){border-bottom:1px solid var(--color-border-subtle)}.cashback-modal .cashback-info .info-icon{color:var(--color-text-secondary);font-size:22px;flex-shrink:0}.cashback-modal .cashback-cta{padding:0 10px;margin-bottom:16px}.cashback-modal .topup-cta-button{--background: var(--color-brand-primary);--background-hover: var(--color-brand-primary-hover);--background-activated: var(--color-brand-primary-pressed);--color: var(--color-on-brand);--border-radius: var(--radius-md);--box-shadow: none;height:52px;font-size:15px;font-weight:var(--font-weight-semibold);text-transform:none;letter-spacing:0}.cashback-modal .cashback-footer{text-align:center;padding-bottom:20px}.cashback-modal .cashback-footer p{color:var(--color-text-tertiary);font-size:var(--font-size-2xs);margin:0}.cashback-modal .cashback-countdown{margin:0 20px 16px;padding:10px 14px;border-radius:10px;text-align:center;background:var(--color-surface-3);border:1px solid var(--color-border-subtle)}.cashback-modal .cashback-countdown--upcoming{border-color:var(--color-warning)}.cashback-modal .cashback-countdown__label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--color-text-tertiary)}.cashback-modal .cashback-countdown__value{font-size:18px;font-weight:700;color:var(--color-text-primary);font-variant-numeric:tabular-nums}.cashback-modal .cashback-gift-icon--private{color:var(--color-info)}.cashback-modal.cashback-modal--private .cashback-tier{border-left-color:var(--color-info)}.cashback-modal .info-item--personal{font-weight:600;color:var(--color-text-primary)}.cashback-modal .cashback-proof{margin:6px 0 0;text-align:center;font-size:12.5px;font-weight:600;color:var(--color-brand-primary)}.cashback-modal .cashback-proof--muted{font-weight:400;color:var(--color-text-secondary)}.cashback-modal .tier-max{margin-top:3px;font-size:var(--font-size-xs);font-weight:600;color:var(--color-brand-primary)}.cashback-modal .cashback-chip--left.is-low{background:var(--color-warning-bg);color:var(--color-warning)}.search-ux{display:contents}.search-ux .search-bar-wrap{position:absolute;width:85%;max-width:350px;top:10px;right:5px}.search-ux .search-bar-row{display:flex;align-items:center}.search-ux .search-dropdown{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:1001;display:flex;flex-direction:column;max-height:320px;background:var(--color-surface-2);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);overflow:hidden;animation:search-drop .16s ease}.search-ux .search-dropdown-head{padding:10px 14px 6px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-tertiary)}.search-ux .search-dropdown-list{overflow-y:auto;padding:0 6px 8px}.search-ux .search-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:transparent;border:0;padding:11px 10px;border-radius:var(--radius-md);cursor:pointer;color:var(--color-text-primary)}.search-ux .search-row:active{background:var(--color-row-bg-hover)}.search-ux .search-row-ic{width:28px;height:28px;flex:0 0 auto;display:grid;place-items:center;background:transparent;color:var(--color-text-secondary);font-size:22px}.search-ux .search-row-tx{display:flex;flex-direction:column;min-width:0}.search-ux .search-row-t{font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-ux .search-row-s{font-size:12px;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-ux .search-confirm{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:1002;background:var(--color-surface-2);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);padding:14px;animation:search-drop .18s ease}.search-ux .search-confirm-name{font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);color:var(--color-text-primary)}.search-ux .search-confirm-addr{font-size:12.5px;color:var(--color-text-secondary);margin:2px 0 10px}.search-ux .search-confirm-hint{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--color-text-secondary);margin-bottom:12px}.search-ux .search-confirm-hint ion-icon{color:var(--color-text-secondary)}.search-ux .search-confirm-cta{display:flex;gap:10px}.search-ux .search-btn-primary,.search-ux .search-btn-ghost{border:0;border-radius:var(--radius-md);font-weight:var(--font-weight-semibold);font-size:14.5px;transition:opacity var(--motion-duration-fast);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px}.search-ux .search-btn-primary{flex:1;background:var(--color-brand-primary);color:var(--color-on-brand)}.search-ux .search-btn-primary:active,.search-ux .search-btn-ghost:active{opacity:.85}.search-ux .search-btn-ghost{flex:0 0 46px;background:var(--color-surface-3, rgba(127, 127, 127, .12));color:var(--color-text-secondary);border:1px solid var(--color-border-default)}.search-ux .search-btn-primary ion-icon,.search-ux .search-btn-ghost ion-icon{font-size:18px}@keyframes search-drop{0%{transform:translateY(-6px);opacity:0}to{transform:translateY(0);opacity:1}}.notif-bell{position:relative;flex:0 0 auto;width:44px;height:44px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid transparent;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .18s ease,border-color .18s ease,transform .1s ease}.notif-bell:active{transform:scale(.92)}.notif-bell.notif-bell--idle{background:rgba(var(--color-surface-rgb),.4);border-color:var(--color-border-subtle);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.notif-bell.notif-bell--idle .notif-bell__icon{color:var(--color-text-secondary)}.notif-bell.notif-bell--unread{background:var(--color-surface-2);border-color:var(--color-border-default);box-shadow:0 4px 14px #0000002e}.notif-bell.notif-bell--unread .notif-bell__icon{color:var(--color-text-primary)}.notif-bell .notif-bell__icon{font-size:22px}.notif-bell .notif-bell__badge{position:absolute;top:-3px;right:-3px;min-width:18px;height:18px;padding:0 5px;box-sizing:border-box;border-radius:var(--radius-full);background:var(--color-danger);color:var(--ion-color-danger-contrast);font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);line-height:14px;text-align:center;border:2px solid var(--color-surface-1);display:inline-flex;align-items:center;justify-content:center}.cb-inline__hit{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;margin:12px 0;border:1px solid var(--color-border-subtle);border-radius:14px;background:var(--color-surface-2);text-align:left;cursor:pointer}.cb-inline--paused{opacity:.82}.cb-inline__art{width:56px;height:56px;flex:0 0 auto;border-radius:10px;object-fit:cover;background:var(--color-surface-3)}.cb-inline__icon{width:40px;height:40px;flex:0 0 auto;border-radius:10px;display:grid;place-items:center;background:var(--color-brand-primary-subtle);color:var(--color-brand-primary);font-size:20px}.cb-inline__body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 auto}.cb-inline__title{font-size:14.5px;font-weight:700;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cb-inline__line{font-size:12.5px;color:var(--color-text-secondary)}.cb-inline__proof{font-size:12px;font-weight:600;color:var(--color-brand-primary)}.cb-inline__go{flex:0 0 auto;font-size:18px;color:var(--color-text-secondary)}.cb-inline{display:flex;align-items:center;width:100%;margin:12px 0;border:1px solid var(--color-border-subtle);border-radius:14px;background:var(--color-surface-2)}.cb-inline__hit{border:0;background:none;margin:0;border-radius:14px}.cb-inline__x{flex:0 0 auto;display:grid;place-items:center;width:44px;height:44px;margin-right:2px;color:var(--color-text-tertiary);font-size:17px;cursor:pointer}.cb-inline--compact{margin:0}.cb-inline--compact .cb-inline__hit{padding:8px 10px;gap:9px}.cb-inline--compact .cb-inline__icon{width:26px;height:26px;font-size:14px;border-radius:8px}.cb-inline--compact .cb-inline__title{font-size:12.5px}.cb-inline--compact .cb-inline__x{width:38px;height:38px;font-size:16px}.cb-inline .cb-inline__art{object-position:85% 50%}.session-sheet-footer{background:var(--color-surface-1)}.session-sheet-footer:before{display:none}.session-sheet{background:var(--color-surface-1);border-top:1px solid var(--color-border-subtle);border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl);box-shadow:0 -10px 30px -14px #0000008c;padding:0 14px 12px;animation:sessionSheetIn var(--motion-duration-slow, .32s) var(--motion-ease-out, ease-out)}@keyframes sessionSheetIn{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.session-sheet{animation:none}}.session-sheet .session-sheet__summary{display:block;width:100%;padding:0;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}.session-sheet .session-sheet__grip{display:block;width:40px;height:4px;margin:8px auto 10px;border-radius:2px;background:var(--color-border-strong)}.session-sheet .session-sheet__line{display:flex;align-items:center;gap:10px;padding-bottom:4px}.session-sheet .session-sheet__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.session-sheet .session-sheet__dot.is-live{background:var(--color-brand-primary);animation:sessionSheetPulse 1.8s ease-in-out infinite}.session-sheet .session-sheet__dot.is-warn{background:var(--color-warning)}@keyframes sessionSheetPulse{0%,to{opacity:1}50%{opacity:.4}}@media (prefers-reduced-motion: reduce){.session-sheet .session-sheet__dot.is-live{animation:none}}.session-sheet .session-sheet__txt{flex:1;min-width:0;font-size:var(--font-size-sm);color:var(--color-text-primary);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-sheet .session-sheet__txt b{font-weight:var(--font-weight-bold)}.session-sheet.is-interrupted .session-sheet__txt b{color:var(--color-warning)}.session-sheet .session-sheet__caret{flex-shrink:0;font-size:16px;color:var(--color-text-tertiary);transition:transform var(--motion-duration-base, .22s) var(--motion-ease-out, ease-out)}.session-sheet.is-open .session-sheet__caret{transform:rotate(180deg)}.session-sheet .session-sheet__detail{padding-top:4px}.session-sheet .session-sheet__metrics{display:flex;margin-top:8px;padding-top:12px;border-top:1px solid var(--color-border-subtle)}.session-sheet .session-sheet__metric{flex:1;min-width:0;text-align:center;padding:0 6px}.session-sheet .session-sheet__metric+.session-sheet__metric{border-left:1px solid var(--color-border-subtle)}.session-sheet .session-sheet__metric .v{display:block;font-size:var(--font-size-lg);font-size:min(var(--font-size-lg),5.6vw);font-weight:var(--font-weight-bold);line-height:1.15;color:var(--color-text-primary);font-variant-numeric:tabular-nums;white-space:nowrap}.session-sheet .session-sheet__metric .l{display:block;margin-top:3px;font-size:var(--font-size-2xs);color:var(--color-text-tertiary)}.session-sheet .session-sheet__where{margin-top:10px;font-size:var(--font-size-xs);color:var(--color-text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-sheet .session-sheet__cta{display:block;width:100%;margin-top:11px;padding:11px;border:0;border-radius:var(--radius-md);background:var(--color-brand-primary);color:var(--color-on-brand);font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background-color var(--motion-duration-fast),opacity var(--motion-duration-fast)}@media (hover: hover){.session-sheet .session-sheet__cta:hover{background:var(--color-brand-primary-hover)}}.session-sheet .session-sheet__cta:active{background:var(--color-brand-primary-pressed);opacity:.85}.session-sheet .value-flash{animation:sessionSheetFlash var(--motion-duration-slower, .48s) var(--motion-ease-out, ease-out)}@keyframes sessionSheetFlash{0%{color:var(--color-brand-primary)}to{color:var(--color-text-primary)}}@media (prefers-reduced-motion: reduce){.session-sheet .value-flash{animation:none}}.session-sheet .session-sheet__summary:focus-visible,.session-sheet .session-sheet__cta:focus-visible{outline:2px solid var(--color-brand-primary);outline-offset:2px}.iday-banner{display:flex;align-items:flex-start;gap:.7rem;position:relative;background:var(--color-surface-2);border:1px solid var(--color-border-default);border-radius:var(--radius-lg, 1rem);padding:.85rem .75rem .85rem .9rem;margin:0 0 .9rem;overflow:hidden;animation:iday-banner-in .32s cubic-bezier(.22,1,.36,1) both}.iday-banner__tri{position:absolute;inset-inline-start:0;top:0;bottom:0;width:3px;flex:0 0 auto;background:linear-gradient(180deg,#f93 0 33.33%,#fff 33.33% 66.66%,#138808 66.66% 100%)}.iday-banner__body{flex:1;min-width:0;padding-inline-start:.35rem}.iday-banner__title{margin:0;color:var(--color-text-primary);font-size:.9rem;font-weight:700;letter-spacing:-.15px}.iday-banner__fact{margin:.2rem 0 0;color:var(--color-text-tertiary);font-size:.8rem;line-height:1.5}.iday-banner__close{flex:0 0 auto;width:32px;height:32px;margin:-.15rem -.1rem 0 0;display:grid;place-items:center;background:transparent;border:0;border-radius:50%;color:var(--color-text-tertiary);font-size:1.05rem;cursor:pointer;padding:0}@media (hover: hover){.iday-banner__close:hover{background:var(--color-surface-3);color:var(--color-text-primary)}}.iday-banner__close:focus-visible{outline:2px solid var(--color-brand-primary);outline-offset:2px}@keyframes iday-banner-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.iday-banner{animation:none}}.modal-vehicle-options{--height: 50vh;--width: 90vw;--border-radius: var(--radius-md);backdrop-filter:blur(2px)}.modal-wrapper{display:flex;flex-direction:column;justify-content:space-between;height:100%}.avatar-circle{border:none}.vehicle-option-item{--background: var(--color-surface-2);background:var(--color-surface-2);border:1.5px solid var(--color-border-default);border-radius:var(--radius-md);margin:15px;transition:background-color var(--motion-duration-fast),border-color var(--motion-duration-fast),opacity var(--motion-duration-fast)}.modal-vehicle-options .vehicle-option-item:has(.custom-radio-selected){border:2px solid var(--color-brand-primary);--background: var(--color-brand-primary-subtle);background:var(--color-brand-primary-subtle);box-shadow:none;transform:none}.modal-vehicle-options .vehicle-option-item:active{opacity:.85}.vehicle-option-footer{display:flex;justify-content:space-between;padding:10px;bottom:0;width:100%;margin-top:auto}.modal-vehicle-options .vehicle-option-done{--background: var(--color-surface-3);--background-hover: var(--color-surface-4);--background-activated: var(--color-surface-4);--color: var(--color-text-primary);--border-radius: var(--radius-md);--box-shadow: none;text-transform:none;letter-spacing:0}.modal-vehicle-options .vehicle-option-done::part(native){background:var(--color-surface-3);color:var(--color-text-primary);box-shadow:none}.textHeader{font-size:var(--font-size-xl);color:var(--color-text-primary);text-align:left;margin:20px}.custom-radio{--color-checked: var(--color-brand-primary);--color: var(--color-text-primary);--border-radius: 50%;--border-width: 1px;--border-style: solid;width:20px;height:20px;--background: var(--color-brand-primary)}.custom-radio::part(container){border-radius:50%;border:1px solid var(--color-border-default);width:25px;height:25px}.custom-radio-selected::part(container){background-color:var(--color-brand-primary)}.vehicle-avatar-wrapper{position:relative;display:inline-block}.vehicle-avatar-wrapper .avatar-circle{width:56px;height:56px}.vehicle-avatar-wrapper .avatar-circle img{object-fit:contain;padding:4px;background:var(--color-surface-3)}.vehicle-type-badge-small{position:absolute;bottom:-4px;right:-4px;padding:2px 6px;border-radius:var(--radius-md);font-size:var(--font-size-2xs);font-weight:var(--font-weight-medium);color:var(--color-text-primary);letter-spacing:0;box-shadow:var(--shadow-1);border:2px solid var(--color-surface-2)}.vehicle-type-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);margin-top:2px}.ca-async-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;padding:48px 24px;min-height:220px}.ca-async-state .ca-async-state__icon{font-size:34px;color:var(--color-text-tertiary);margin-bottom:2px}.ca-async-state.ca-async-state--error .ca-async-state__icon{color:var(--color-danger)}.ca-async-state .ca-async-state__title{margin:0;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.ca-async-state .ca-async-state__body{margin:0;font-size:var(--font-size-sm);line-height:1.5;color:var(--color-text-secondary);max-width:32ch}.ca-async-state .ca-async-state__retry{margin-top:8px;--border-color: var(--color-text-tertiary);--color: var(--color-text-primary);--border-radius: var(--radius-md);text-transform:none;letter-spacing:0}.ca-refresh-bar{height:2px;border-radius:2px;background:var(--color-brand-primary);position:relative;overflow:hidden;margin-bottom:8px}.ca-refresh-bar:after{content:"";position:absolute;inset:0;background:var(--color-surface-canvas);animation:caRefreshSlide 1.1s ease-in-out infinite}@keyframes caRefreshSlide{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media (prefers-reduced-motion: reduce){.ca-refresh-bar:after{animation-duration:3s}}.ca-stale-notice{display:flex;align-items:center;gap:10px;padding:9px 11px;margin:8px 0;border-radius:var(--radius-md);background:var(--color-warning-bg);border:1px solid var(--color-warning);font-size:var(--font-size-xs);line-height:1.45;color:var(--color-text-primary)}.ca-stale-notice .ca-stale-notice__txt{flex:1;min-width:0}.ca-stale-notice .ca-stale-notice__retry{flex:0 0 auto;background:transparent;border:0;padding:4px 2px;font:inherit;font-weight:var(--font-weight-semibold);color:var(--color-brand-primary);cursor:pointer}.ca-stale-notice .ca-stale-notice__retry:active{opacity:.85}.ca-loadmore-error{display:flex;align-items:center;gap:10px;padding:12px 11px;border-top:1px solid var(--color-border-subtle);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.ca-loadmore-error span{flex:1;min-width:0}.spotlight-overlay{position:fixed;inset:0;z-index:var(--z-spotlight);pointer-events:auto}.spotlight-svg{position:absolute;top:0;left:0;width:100%;height:100%}.spotlight-ring{position:absolute;border:3px solid var(--color-brand-primary);border-radius:var(--radius-md);box-shadow:0 0 0 4px rgba(var(--color-brand-primary-rgb),.3),0 0 20px rgba(var(--color-brand-primary-rgb),.4);animation:pulse-ring 2s ease-in-out 3;pointer-events:none}@keyframes pulse-ring{0%,to{box-shadow:0 0 0 4px rgba(var(--color-brand-primary-rgb),.3),0 0 20px rgba(var(--color-brand-primary-rgb),.4)}50%{box-shadow:0 0 0 8px rgba(var(--color-brand-primary-rgb),.2),0 0 30px rgba(var(--color-brand-primary-rgb),.5)}}.spotlight-tooltip{position:absolute;width:280px;background:var(--color-surface-2);color:var(--color-text-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-3);border:1px solid var(--color-border-default);animation:tooltip-appear .3s var(--motion-ease-out)}@keyframes tooltip-appear{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.spotlight-pointer{position:absolute;width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-bottom:10px solid var(--color-surface-2)}.spotlight-content{padding:16px}.spotlight-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.spotlight-title{margin:0;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);flex:1}.spotlight-close{background:none;border:none;color:var(--color-text-tertiary);font-size:20px;cursor:pointer;padding:0;margin:-4px -4px 0 8px;display:flex;align-items:center;justify-content:center;transition:color var(--motion-duration-fast) var(--motion-ease-out)}@media (hover: hover){.spotlight-close:hover{color:var(--color-text-primary)}}.spotlight-close:active{opacity:.85}.spotlight-description{margin:0 0 var(--space-4) 0;font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-normal)}.spotlight-footer{display:flex;justify-content:space-between;align-items:center;gap:12px}.spotlight-progress{display:flex;gap:6px}.spotlight-progress .progress-dot{width:8px;height:8px;border-radius:var(--radius-full);background:var(--color-border-strong);transition:background-color var(--motion-duration-base) var(--motion-ease-out)}.spotlight-progress .progress-dot.active,.spotlight-progress .progress-dot.completed{background:var(--color-brand-primary)}.spotlight-buttons{display:flex;gap:var(--space-2)}.spotlight-buttons .btn-skip{background:none;border:none;color:var(--color-text-secondary);font-size:var(--font-size-xs);cursor:pointer;padding:var(--space-2) var(--space-3);transition:color var(--motion-duration-fast) var(--motion-ease-out)}@media (hover: hover){.spotlight-buttons .btn-skip:hover{color:var(--color-text-primary)}}.spotlight-buttons .btn-skip:active{opacity:.85}.spotlight-buttons .btn-next{display:flex;align-items:center;gap:var(--space-1);background:var(--color-brand-primary);border:none;color:var(--color-on-brand);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--motion-duration-fast) var(--motion-ease-out),opacity var(--motion-duration-fast)}@media (hover: hover){.spotlight-buttons .btn-next:hover{background:var(--color-brand-primary-hover)}}.spotlight-buttons .btn-next:active{background:var(--color-brand-primary-pressed);opacity:.85}.spotlight-buttons .btn-next ion-icon{font-size:16px}@media (max-width: 360px){.spotlight-tooltip{width:260px}.spotlight-title{font-size:var(--font-size-sm)}.spotlight-description{font-size:13px}}.reservation-warning-alert .alert-wrapper{background:var(--color-surface-2)!important;border-radius:var(--radius-xl);border:1px solid var(--color-border-default)}.reservation-warning-alert .alert-head{background:var(--color-surface-2)!important;padding:24px 24px 12px}.reservation-warning-alert .alert-title{color:var(--color-text-primary)!important;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold)}.reservation-warning-alert .alert-sub-title{color:var(--color-text-secondary)!important;font-size:var(--font-size-sm);margin-top:4px}.reservation-warning-alert .alert-message{color:var(--color-text-primary)!important;font-size:15px;line-height:1.6;padding:0 24px 24px;white-space:pre-line}.reservation-warning-alert .alert-button-group{padding:0 16px 16px}.reservation-warning-alert .alert-button{background:var(--color-brand-primary)!important;color:var(--color-on-brand)!important;box-shadow:none;border-radius:var(--radius-md);font-weight:var(--font-weight-semibold);min-height:48px}.reservation-warning-banner{display:flex;align-items:flex-start;gap:14px;background:var(--color-warning-bg);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:16px;margin:12px 16px}.reservation-warning-banner.compact{padding:12px;margin:8px 12px}.warning-icon-container{width:28px;height:28px;background:transparent;border:none;box-shadow:none;display:flex;align-items:center;justify-content:center;flex-shrink:0}.reservation-warning-banner.compact .warning-icon-container{width:28px;height:28px}.warning-icon{font-size:22px;color:var(--color-warning)}.reservation-warning-banner.compact .warning-icon{font-size:20px}.warning-content{flex:1;min-width:0}.warning-title{margin:0 0 4px;font-size:15px;font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.reservation-warning-banner.compact .warning-title{font-size:var(--font-size-sm)}.warning-text{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-normal)}.reservation-warning-banner.compact .warning-text{font-size:var(--font-size-xs);line-height:1.4}.warning-dismiss{background:var(--color-row-bg-hover);border:none;width:32px;height:32px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background var(--motion-duration-fast) var(--motion-ease-out)}@media (hover: hover){.warning-dismiss:hover{background:var(--color-row-bg-press)}}.warning-dismiss:active{opacity:.85}.warning-dismiss ion-icon{font-size:18px;color:var(--color-text-secondary)}.session-stopped-alert .alert-wrapper{background:var(--color-surface-2)!important;border-radius:var(--radius-xl);border:1px solid var(--color-border-default)}.session-stopped-alert .alert-head{background:var(--color-surface-2)!important;padding:24px 24px 12px}.session-stopped-alert .alert-title{color:var(--color-danger)!important;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold)}.session-stopped-alert .alert-sub-title{color:var(--color-text-secondary)!important;font-size:var(--font-size-sm);margin-top:4px}.session-stopped-alert .alert-message{color:var(--color-text-primary)!important;font-size:15px;line-height:1.6;padding:0 24px 24px}.session-stopped-alert .alert-button{color:var(--color-danger)!important;font-weight:var(--font-weight-semibold)}.other-session-stopped-banner{display:flex;align-items:center;gap:12px;background:var(--color-surface-2);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:14px 16px;margin:12px 16px}.stopped-icon-container{width:28px;height:28px;background:transparent;border:none;box-shadow:none;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stopped-icon{font-size:22px;color:var(--color-text-secondary)}.stopped-content{flex:1}.stopped-text{margin:0;font-size:var(--font-size-xs);color:var(--color-text-primary);line-height:var(--line-height-snug)}.reservation-warning-inline{display:flex;align-items:center;gap:6px;background:var(--color-warning-bg);border-radius:var(--radius-sm);padding:6px 10px;margin-top:8px}.reservation-warning-inline ion-icon{font-size:16px;color:var(--color-warning)}.reservation-warning-inline span{font-size:var(--font-size-2xs);color:var(--color-warning);font-weight:var(--font-weight-medium)}.search-charger-page{height:100%;display:flex;flex-direction:column;overflow:hidden;background:var(--color-surface-canvas);color:var(--color-text-primary);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}.search-charger-page .sc-topbar{flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:calc(env(safe-area-inset-top) + 10px) 12px 10px}.search-charger-page .sc-back,.search-charger-page .sc-filter{flex:0 0 auto;width:38px;height:38px;display:grid;place-items:center;border-radius:var(--radius-md, 12px);background:var(--color-surface-2);border:1px solid var(--color-border-default);color:var(--color-text-primary);font-size:19px;cursor:pointer}.search-charger-page .sc-back{border-radius:50%}.search-charger-page .sc-searchsum{flex:1;min-width:0;display:flex;align-items:center;gap:8px;height:38px;padding:0 12px;background:var(--color-surface-3);border:1px solid var(--color-border-default);border-radius:var(--radius-md, 12px);color:var(--color-text-primary);cursor:pointer}.search-charger-page .sc-searchsum-pin{flex:0 0 auto;font-size:16px;color:var(--color-text-secondary)}.search-charger-page .sc-searchsum-q{flex:1;min-width:0;font-size:14.5px;font-weight:var(--font-weight-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.search-charger-page .sc-searchsum-x{flex:0 0 auto;font-size:14px;color:var(--color-text-secondary)}.search-charger-page .sc-map{flex:0 0 auto;position:relative;overflow:hidden}.search-charger-page .sc-map-canvas{position:absolute;inset:0}.search-charger-page .sc-expand{position:absolute;left:12px;bottom:12px;z-index:4;padding:8px 12px;border-radius:var(--radius-md);border:1px solid var(--color-border-default);background:rgba(var(--color-surface-rgb),.85);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--color-text-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer}.search-charger-page .sc-recenter{position:absolute;right:12px;bottom:12px;z-index:4;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--color-border-default);background:rgba(var(--color-surface-rgb),.85);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--color-text-primary);font-size:18px;cursor:pointer}.search-charger-page .sc-mk{cursor:pointer}.search-charger-page .sc-mk-body{display:grid;place-items:center;width:30px;height:30px;border-radius:50% 50% 50% 2px;transform:rotate(45deg);box-shadow:0 3px 8px #00000080;transition:transform .15s ease,box-shadow .15s ease}.search-charger-page .sc-mk-body em{transform:rotate(-45deg);font-style:normal;font-weight:var(--font-weight-semibold);font-size:var(--font-size-xs)}.search-charger-page .sc-mk-ok .sc-mk-body{background:var(--color-brand-primary);color:var(--color-on-brand)}.search-charger-page .sc-mk-busy .sc-mk-body{background:var(--color-warning);color:var(--color-on-brand)}.search-charger-page .sc-mk.sc-active{z-index:6}.search-charger-page .sc-mk.sc-active .sc-mk-body{transform:rotate(45deg);box-shadow:0 0 0 2px var(--color-text-primary),0 6px 14px #0009}.search-charger-page .sc-puck{position:relative;width:16px;height:16px}.search-charger-page .sc-puck-dot{position:absolute;inset:0;border-radius:50%;background:var(--color-brand-primary);border:3px solid var(--color-surface-1)}.search-charger-page .sc-puck-ring{position:absolute;left:50%;top:50%;width:16px;height:16px;transform:translate(-50%,-50%);border-radius:50%;background:rgba(var(--color-brand-primary-rgb),.4)}.search-charger-page .sc-divider{flex:0 0 auto;height:22px;display:grid;place-items:center;background:var(--color-surface-canvas);cursor:ns-resize;touch-action:none;z-index:7}.search-charger-page .sc-grip{width:42px;height:5px;border-radius:3px;background:var(--color-border-default);transition:background .15s ease}.search-charger-page .sc-divider:active .sc-grip{background:var(--color-brand-primary)}.search-charger-page .sc-results{flex:1 1 auto;min-height:0;overflow-y:auto;padding:0 12px 18px}.search-charger-page .sc-rhead{position:sticky;top:0;z-index:2;display:flex;align-items:center;padding:8px 2px 10px;background:var(--color-surface-canvas);font-size:12.5px;color:var(--color-text-secondary)}.search-charger-page .sc-rhead strong{color:var(--color-text-primary);font-size:13px}.search-charger-page .sc-sort{margin-left:auto;display:inline-flex;align-items:center;gap:3px;background:transparent;border:0;color:var(--color-brand-primary);font-weight:var(--font-weight-medium);font-size:12.5px;cursor:pointer}.search-charger-page .sc-empty{padding:28px 12px;text-align:center;color:var(--color-text-secondary);font-size:13.5px}.search-charger-page .sc-card{margin-bottom:12px;padding:13px 14px;background:var(--color-surface-2);border:1px solid var(--color-border-default);border-radius:var(--radius-lg, 16px);box-shadow:none;cursor:pointer;transition:border-color var(--motion-duration-fast),background-color var(--motion-duration-fast),opacity var(--motion-duration-fast)}.search-charger-page .sc-card:active{opacity:.85}.search-charger-page .sc-card-active{border-color:var(--color-brand-primary);background:var(--color-brand-primary-subtle);transform:none;box-shadow:inset 0 0 0 1px var(--color-brand-primary)}.search-charger-page .sc-top{display:flex;align-items:flex-start;gap:10px}.search-charger-page .sc-top-tx{flex:1;min-width:0;display:flex;flex-direction:column}.search-charger-page .sc-name{font-weight:var(--font-weight-semibold);font-size:15px;letter-spacing:-.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-charger-page .sc-addr{margin-top:2px;font-size:12px;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-charger-page .sc-rate{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-primary);background:var(--color-surface-3);padding:4px 9px;border-radius:var(--radius-full);font-variant-numeric:tabular-nums}.search-charger-page .sc-rate ion-icon{color:var(--color-warning);font-size:11px}.search-charger-page .sc-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:11px}.search-charger-page .sc-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:var(--radius-full);font-size:var(--font-size-2xs);font-weight:var(--font-weight-medium)}.search-charger-page .sc-dot{width:8px;height:8px;border-radius:50%;background:currentColor}.search-charger-page .sc-pok{background:var(--color-success-bg);color:var(--color-success)}.search-charger-page .sc-pbusy{background:var(--color-warning-bg);color:var(--color-warning)}.search-charger-page .sc-free{font-size:11.5px;font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.search-charger-page .sc-free.sc-z{color:var(--color-text-secondary)}.search-charger-page .sc-de{margin-left:auto;font-size:11.5px;color:var(--color-text-secondary);white-space:nowrap}.search-charger-page .sc-de b{color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.search-charger-page .sc-bottom{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:11px}.search-charger-page .sc-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border-radius:var(--radius-sm);font-size:var(--font-size-2xs);font-weight:var(--font-weight-medium);color:var(--color-text-primary);background:var(--color-surface-3);border:1px solid var(--color-border-default)}.search-charger-page .sc-chip b{color:var(--color-text-secondary);font-size:var(--font-size-2xs)}.search-charger-page .sc-tag{display:inline-flex;align-items:center;gap:3px;padding:4px 8px;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:0}.search-charger-page .sc-tag ion-icon{font-size:11px}.search-charger-page .sc-fast{color:var(--color-text-primary);background:var(--color-surface-3);border:1px solid var(--color-border-default)}.search-charger-page .sc-slow{color:var(--color-text-secondary);background:var(--color-surface-3);border:1px solid var(--color-border-default)}.search-charger-page .sc-pricechip{margin-left:auto;display:inline-flex;align-items:baseline;gap:1px;padding:0;font-size:15px;font-weight:var(--font-weight-medium);color:var(--color-text-primary);font-variant-numeric:tabular-nums}.search-charger-page .sc-pricechip span{font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);color:var(--color-text-secondary)}.search-charger-page .sc-actions{display:flex;justify-content:flex-end;margin-top:12px}.search-charger-page .sc-view{display:inline-flex;align-items:center;gap:4px;padding:8px 16px;border:0;border-radius:var(--radius-md, 12px);background:var(--color-brand-primary);color:var(--color-on-brand);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer}.search-charger-page .sc-view ion-icon{font-size:15px}.search-charger-page .sc-view:active{filter:brightness(.93)}.ca-card{display:block;color:var(--color-text-primary);transition:transform var(--motion-duration-base) var(--motion-ease-out),box-shadow var(--motion-duration-base) var(--motion-ease-out)}.ca-card--surface-1{background:var(--color-surface-1)}.ca-card--surface-2{background:var(--color-surface-2)}.ca-card--surface-3{background:var(--color-surface-3)}.ca-card--surface-4{background:var(--color-surface-4)}.ca-card--padding-none{padding:0}.ca-card--padding-sm{padding:var(--space-3)}.ca-card--padding-md{padding:var(--space-4)}.ca-card--padding-lg{padding:var(--space-6)}.ca-card--radius-sm{border-radius:var(--radius-sm)}.ca-card--radius-md{border-radius:var(--radius-md)}.ca-card--radius-lg{border-radius:var(--radius-lg)}.ca-card--radius-xl{border-radius:var(--radius-xl)}.ca-card--bordered{border:1px solid var(--color-border-subtle)}.ca-card--elevated{box-shadow:var(--shadow-2)}@media (hover: hover){.ca-card--elevated.ca-card--clickable:hover{transform:translateY(-2px);box-shadow:var(--shadow-3)}}.ca-card--clickable{cursor:pointer}.ca-card--clickable:active{transform:scale(.99)}.ca-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-8) var(--space-5);color:var(--color-text-secondary);gap:var(--space-3)}.ca-empty--sm{padding:var(--space-5) var(--space-4)}.ca-empty--lg{padding:var(--space-12) var(--space-6)}.ca-empty__icon-wrap{width:72px;height:72px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;background:var(--color-brand-primary-subtle);border:1px solid rgba(var(--color-brand-primary-rgb),.18);margin-bottom:var(--space-2)}.ca-empty--sm .ca-empty__icon-wrap{width:56px;height:56px}.ca-empty--lg .ca-empty__icon-wrap{width:96px;height:96px}.ca-empty__icon{font-size:32px;color:var(--color-brand-primary)}.ca-empty--sm .ca-empty__icon{font-size:24px}.ca-empty--lg .ca-empty__icon{font-size:44px}.ca-empty__headline{margin:0;color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}.ca-empty--sm .ca-empty__headline{font-size:var(--font-size-base)}.ca-empty--lg .ca-empty__headline{font-size:var(--font-size-2xl)}.ca-empty__body{margin:0;max-width:320px;color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.ca-empty__cta{margin-top:var(--space-3)}.ca-skeleton{display:inline-block;background:linear-gradient(90deg,var(--color-surface-2) 0%,var(--color-surface-3) 50%,var(--color-surface-2) 100%);background-size:200% 100%;border-radius:var(--radius-sm);animation:ca-skeleton-shimmer 1.6s ease-in-out infinite}@keyframes ca-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.ca-skeleton--text{height:.875rem;width:100%;border-radius:var(--radius-xs)}.ca-skeleton--title{height:1.25rem;width:60%;border-radius:var(--radius-sm)}.ca-skeleton--circle{width:44px;height:44px;border-radius:var(--radius-full);flex-shrink:0}.ca-skeleton-list{display:flex;flex-direction:column;gap:var(--space-3)}.ca-skeleton-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--color-surface-2);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg)}.ca-skeleton-row__lines{display:flex;flex-direction:column;gap:var(--space-2);flex:1}.ca-skeleton-card-stack{display:flex;flex-direction:column;gap:var(--space-4)}.ca-skeleton-card{background:var(--color-surface-2);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.session-limits-modal::part(backdrop){background:#0009}.session-limits-modal::part(content){display:flex;align-items:center;justify-content:center;--width: auto;--height: auto;--min-width: 320px;--max-width: 94%;--border-radius: var(--radius-xl);--box-shadow: none;background:transparent}.session-limits-modal .modal-box{background:var(--color-surface-2);border:1px solid var(--color-border-default);border-radius:var(--radius-xl);padding:18px 16px;width:100%;max-width:400px;max-height:86vh;overflow-y:auto;-webkit-overflow-scrolling:touch;box-shadow:var(--shadow-3)}.session-limits-modal .ls-titlebar{display:flex;align-items:center;justify-content:space-between;gap:12px}.session-limits-modal .ls-title{margin:0;font-size:1.1rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.session-limits-modal .ls-close{flex:0 0 auto;width:30px;height:30px;border:1px solid var(--color-border-subtle);background:var(--color-surface-3);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-text-secondary);font-size:16px;-webkit-tap-highlight-color:transparent}.session-limits-modal .ls-subtitle{margin:6px 0 14px;font-size:.78rem;line-height:1.45;color:var(--color-text-tertiary)}.session-limits-modal .ls-error{background:var(--color-danger-bg);border:1px solid var(--color-danger);color:var(--color-danger);padding:10px 12px;border-radius:var(--radius-md);font-size:.8rem;margin-bottom:12px;text-align:center}.session-limits-modal .ls-section{background:var(--color-surface-1);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:12px;margin-bottom:10px}.session-limits-modal .ls-head{display:flex;align-items:center;gap:8px;margin-bottom:10px}.session-limits-modal .ls-icon{font-size:22px;color:var(--color-text-secondary);flex:0 0 auto}.session-limits-modal .ls-label{font-size:.9rem;font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.session-limits-modal .ls-balance{margin-left:auto;font-size:.7rem;color:var(--color-text-tertiary);white-space:nowrap}.session-limits-modal .ls-input-row{display:flex;align-items:center;gap:10px}.session-limits-modal .ls-prefix{font-size:1rem;font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.session-limits-modal .ls-suffix{font-size:.78rem;color:var(--color-text-tertiary);white-space:nowrap}.session-limits-modal .ls-input{flex:1;min-width:0;min-height:44px;border:1px solid var(--color-input-border);border-radius:var(--radius-md);--padding-start: 12px;--padding-end: 12px;--background: var(--color-input-bg);--color: var(--color-text-primary);--placeholder-color: var(--color-text-disabled);font-size:.95rem;transition:border-color .15s ease}.session-limits-modal .ls-input:focus-within{border-color:var(--color-brand-primary)}.session-limits-modal .ls-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.session-limits-modal .ls-chip{border:1px solid var(--color-border-default);background:var(--color-surface-3);color:var(--color-text-secondary);border-radius:var(--radius-md);padding:5px 12px;font-size:.76rem;font-weight:var(--font-weight-medium);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--motion-duration-fast),border-color var(--motion-duration-fast),color var(--motion-duration-fast),transform var(--motion-duration-fast)}.session-limits-modal .ls-chip:active{transform:scale(.95)}.session-limits-modal .ls-chip.ls-chip--on{background:var(--color-brand-primary-subtle);border-color:var(--color-brand-primary);box-shadow:inset 0 0 0 1px var(--color-brand-primary);color:var(--color-text-primary)}.session-limits-modal .ls-warn-row{display:flex;align-items:center;gap:7px;margin-top:10px;padding-top:10px;border-top:1px dashed var(--color-border-subtle)}.session-limits-modal .ls-warn-icon{font-size:15px;color:var(--color-text-secondary);flex:0 0 auto}.session-limits-modal .ls-warn-label{font-size:.78rem;color:var(--color-text-secondary)}.session-limits-modal .ls-warn-input{width:64px;min-height:34px;flex:0 0 auto;border:1px solid var(--color-input-border);border-radius:var(--radius-sm);--padding-start: 8px;--padding-end: 8px;--background: var(--color-input-bg);--color: var(--color-text-primary);--placeholder-color: var(--color-text-disabled);font-size:.85rem;text-align:center}.session-limits-modal .ls-warn-input:focus-within{border-color:var(--color-brand-primary)}.session-limits-modal .ls-dontask{display:flex;align-items:center;gap:10px;margin:4px 2px 12px;font-size:.8rem;color:var(--color-text-tertiary);cursor:pointer}.session-limits-modal .ls-dontask ion-checkbox{--size: 18px;flex:0 0 auto;--checkbox-background: var(--color-surface-3);--checkbox-background-checked: var(--color-brand-primary);--border-color: var(--color-border-strong);--border-color-checked: var(--color-brand-primary);--checkmark-color: var(--color-on-brand)}.session-limits-modal .ls-save{--background: var(--color-brand-primary);--background-activated: var(--color-brand-primary-pressed, var(--color-brand-primary));--background-hover: var(--color-brand-primary-pressed, var(--color-brand-primary));--border-radius: var(--radius-md);--box-shadow: none;--color: var(--color-on-brand);height:48px;margin:0;font-weight:var(--font-weight-semibold);font-size:.95rem;text-transform:none}.session-limits-modal .ls-save:disabled{--background: var(--color-surface-3);--color: var(--color-text-disabled);--box-shadow: none}.session-limits-modal .ls-skip{display:block;width:100%;background:none;border:none;color:var(--color-text-tertiary);font-size:.82rem;padding:12px 0 4px;cursor:pointer}.session-limits-modal .modal-box::-webkit-scrollbar{width:4px}.session-limits-modal .modal-box::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:2px}.session-limits-card{margin:12px 0;border-radius:var(--radius-lg);--background: var(--color-surface-2);border:1px solid var(--color-border-subtle);transition:border-color var(--motion-duration-fast)}.session-limits-card.status-warning{border-color:var(--color-warning)}.session-limits-card.status-hit{border-color:var(--color-danger)}.session-limits-card ion-card-content{padding:16px}.session-limits-card .limits-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.session-limits-card .limits-title-section{display:flex;flex-direction:column;gap:6px}.session-limits-card .limits-title{font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);color:var(--color-text-primary)}.session-limits-card .overall-status-badge{display:inline-flex;align-items:center;gap:4px;font-size:var(--font-size-2xs);font-weight:var(--font-weight-medium);padding:4px 8px;border-radius:var(--radius-sm);width:fit-content}.session-limits-card .overall-status-badge ion-icon{font-size:12px}.session-limits-card .overall-status-badge.status-active{background:var(--color-success-bg);color:var(--color-success)}.session-limits-card .overall-status-badge.status-warning{background:var(--color-warning-bg);color:var(--color-warning)}.session-limits-card .overall-status-badge.status-hit{background:var(--color-danger-bg);color:var(--color-danger)}.session-limits-card .limits-actions{display:flex;gap:0}.session-limits-card .limits-actions ion-button{--padding-start: 6px;--padding-end: 6px;height:32px}.session-limits-card .limits-actions ion-icon{font-size:18px}.session-limits-card .limits-summary{margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--color-border-subtle)}.session-limits-card .summary-text{font-size:12px;color:var(--color-text-tertiary)}.session-limits-card .limits-content{display:flex;flex-direction:column;gap:14px}.session-limits-card .limit-row{background:var(--color-surface-3);border-radius:var(--radius-md);padding:14px;border:1px solid var(--color-border-subtle);transition:border-color var(--motion-duration-fast),background-color var(--motion-duration-fast)}.session-limits-card .limit-row.status-warning{border-color:var(--color-warning);background:var(--color-warning-bg)}.session-limits-card .limit-row.status-hit{border-color:var(--color-danger);background:var(--color-danger-bg)}.session-limits-card .limit-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.session-limits-card .limit-info{display:flex;align-items:center;gap:8px}.session-limits-card .limit-icon{font-size:22px;color:var(--color-text-secondary)}.session-limits-card .limit-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.session-limits-card .status-indicator{font-size:13px;font-weight:var(--font-weight-medium);font-variant-numeric:tabular-nums;padding:3px 8px;border-radius:var(--radius-sm)}.session-limits-card .status-indicator.status-active{background:var(--color-success-bg);color:var(--color-success)}.session-limits-card .status-indicator.status-warning{background:var(--color-warning-bg);color:var(--color-warning)}.session-limits-card .status-indicator.status-hit{background:var(--color-danger-bg);color:var(--color-danger)}.session-limits-card .limit-values{display:flex;align-items:baseline;gap:6px;margin-bottom:10px}.session-limits-card .current-value,.session-limits-card .limit-value{display:flex;align-items:baseline;gap:4px}.session-limits-card .current-value .value{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;color:var(--color-text-primary)}.session-limits-card .current-value .unit{font-size:11px;color:var(--color-text-tertiary)}.session-limits-card .separator{font-size:16px;color:var(--color-text-disabled);margin:0 2px}.session-limits-card .limit-value .value{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);font-variant-numeric:tabular-nums;color:var(--color-text-secondary)}.session-limits-card .limit-value .unit{font-size:10px;color:var(--color-text-disabled)}.session-limits-card .progress-bar-container{height:8px;background:var(--color-surface-4);border-radius:var(--radius-sm);overflow:visible;position:relative;margin-bottom:10px}.session-limits-card .progress-bar{height:100%;border-radius:var(--radius-sm);transition:width .5s ease-out,background-color var(--motion-duration-fast);box-shadow:none}.session-limits-card .warning-marker{position:absolute;top:-2px;width:2px;height:12px;background:var(--color-warning);border-radius:1px;transform:translate(-50%)}.session-limits-card .warning-marker:after{content:"";position:absolute;top:-4px;left:50%;transform:translate(-50%);width:6px;height:6px;background:var(--color-warning);border-radius:50%}.session-limits-card .limit-footer-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px}.session-limits-card .remaining-text{font-size:12px;color:var(--color-text-tertiary)}.session-limits-card .limit-row.status-hit .remaining-text{color:var(--color-danger);font-weight:var(--font-weight-medium)}.session-limits-card .warning-badge{display:inline-flex;align-items:center;gap:4px;font-size:var(--font-size-2xs);font-weight:var(--font-weight-medium);color:var(--color-warning);background:var(--color-warning-bg);padding:3px 8px;border-radius:var(--radius-sm)}.session-limits-card .warning-badge ion-icon{font-size:11px}.session-limits-card .limits-footer{display:flex;align-items:flex-start;gap:8px;border-top:1px solid var(--color-border-subtle);background:var(--color-surface-3);margin:16px -16px -16px;padding:12px 16px;border-radius:0 0 var(--radius-lg) var(--radius-lg)}.session-limits-card .limits-footer .info-icon{font-size:16px;color:var(--color-text-secondary);flex-shrink:0;margin-top:1px}.session-limits-card .limits-footer span{font-size:12px;color:var(--color-text-tertiary);line-height:1.4}.ca-moment{position:fixed;inset:0;z-index:10000;pointer-events:none;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 55%,#080e1cc7,#050912e0);animation:ca-moment-fade var(--ca-moment-dur, 1.8s) ease forwards}@keyframes ca-moment-fade{0%{opacity:0}8%{opacity:1}82%{opacity:1}to{opacity:0}}.ca-moment .ca-moment__boltwrap{position:relative;width:110px;height:110px}.ca-moment .ca-moment__circ{position:absolute;inset:0;border-radius:50%;border:3px solid var(--color-brand-primary);background:rgba(var(--color-brand-primary-rgb),.08);display:flex;align-items:center;justify-content:center}.ca-moment .ca-moment__bolt{width:46px;height:46px;fill:var(--color-brand-primary)}.ca-moment.ca-moment--start .ca-moment__circ{box-shadow:0 0 48px 8px rgba(var(--color-brand-primary-rgb),.55);animation:ca-moment-popin .5s cubic-bezier(.2,1.5,.4,1)}.ca-moment .ca-moment__ring{position:absolute;inset:0;border-radius:50%;border:2px solid var(--color-brand-primary);opacity:0;animation:ca-moment-ring 1.1s ease-out forwards}.ca-moment .ca-moment__ring:nth-child(2){animation-delay:.18s}.ca-moment .ca-moment__ring:nth-child(3){animation-delay:.36s}@keyframes ca-moment-ring{0%{transform:scale(.6);opacity:.8}to{transform:scale(2.6);opacity:0}}@keyframes ca-moment-popin{0%{transform:scale(.7)}to{transform:scale(1)}}.ca-moment.ca-moment--stopped .ca-moment__circ,.ca-moment.ca-moment--stopped-forced .ca-moment__circ{border-color:var(--color-text-tertiary);background:#5b6b851a;transition:all .7s ease}.ca-moment.ca-moment--stopped .ca-moment__bolt{fill:var(--color-text-tertiary);opacity:.45;transition:all .7s ease}.ca-moment.ca-moment--stopped-forced .ca-moment__circ{border-color:var(--color-warning)}.ca-moment.ca-moment--stopped-forced .ca-moment__bolt{fill:var(--color-warning);opacity:.6}.ca-moment .ca-moment__ringin{position:absolute;inset:0;border-radius:50%;border:2px solid var(--color-text-secondary);opacity:0;animation:ca-moment-ringin .8s ease-in forwards}@keyframes ca-moment-ringin{0%{transform:scale(2.2);opacity:.5}to{transform:scale(.8);opacity:0}}.ca-moment .ca-moment__battery{position:relative;width:170px}.ca-moment .ca-moment__batbody{height:70px;border:3px solid var(--color-border-strong);border-radius:14px;overflow:hidden;position:relative}.ca-moment .ca-moment__batcap{position:absolute;right:-10px;top:50%;transform:translateY(-50%);width:7px;height:28px;background:var(--color-border-strong);border-radius:0 3px 3px 0}.ca-moment .ca-moment__batfill{position:absolute;left:0;top:0;bottom:0;width:28%;background:linear-gradient(90deg,var(--color-brand-primary-pressed),var(--color-brand-primary));animation:ca-moment-fill 1s cubic-bezier(.2,.7,.3,1) .1s forwards}@keyframes ca-moment-fill{to{width:100%}}.ca-moment .ca-moment__check{position:absolute;left:50%;top:50%;width:56px;height:56px;transform:translate(-50%,-50%) scale(0);animation:ca-moment-checkpop .35s cubic-bezier(.2,1.6,.4,1) .85s forwards}.ca-moment .ca-moment__check circle{fill:var(--color-brand-primary)}.ca-moment .ca-moment__check path{stroke:var(--color-on-brand);stroke-width:5;fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:48;stroke-dashoffset:48;animation:ca-moment-checkdraw .3s ease 1.1s forwards}@keyframes ca-moment-checkpop{to{transform:translate(-50%,-50%) scale(1)}}@keyframes ca-moment-checkdraw{to{stroke-dashoffset:0}}.ca-limit-banner{position:fixed;left:14px;right:14px;top:calc(env(safe-area-inset-top) + 64px);z-index:9500;background:var(--color-warning-bg);border:1px solid var(--color-warning);color:var(--color-warning);border-radius:12px;padding:10px 14px;font-size:.82rem;font-weight:600;text-align:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:ca-limit-slidein .45s cubic-bezier(.2,.9,.3,1.2)}@keyframes ca-limit-slidein{0%{transform:translateY(-24px);opacity:0}to{transform:translateY(0);opacity:1}}@media (prefers-reduced-motion: reduce){.ca-moment,.ca-moment *{animation-duration:.01ms!important;animation-delay:0s!important}.ca-limit-banner{animation:none}}.rating-modal{--border-radius: var(--radius-xl);--box-shadow: 0 -10px 40px rgba(0, 0, 0, .3);--background: var(--color-surface-2);--height: auto;--max-height: 90%;--width: 92%;--max-width: 400px}.rating-modal::part(backdrop){background:#0009}.rating-content{--background: transparent;padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));position:relative}.rating-close-button{position:absolute;top:10px;right:10px;z-index:10}.rating-close-button ion-button{--color: var(--color-text-primary);--background: rgba(255, 255, 255, .1);--border-radius: 50%;width:36px;height:36px;font-size:20px}.rating-header{text-align:center;padding:20px 20px 12px}.rating-heart-icon{width:60px;height:60px;background:transparent;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 12px}.rating-heart-icon ion-icon{font-size:24px;color:var(--color-text-secondary)}.rating-title{color:var(--color-text-primary);font-size:22px;font-weight:700;margin:0 0 8px;text-shadow:0 2px 4px rgba(0,0,0,.3)}.rating-subtitle{color:var(--color-text-secondary);font-size:14px;margin:0;line-height:1.4}.rating-stars{display:flex;justify-content:center;gap:12px;padding:12px 0 16px}.rating-star{font-size:36px;color:var(--color-text-disabled);cursor:pointer;transition:all .2s ease}.rating-star.filled{color:var(--color-warning);transform:scale(1.1)}.rating-star:active{transform:scale(.95)}.rating-actions{padding:0 10px 20px;display:flex;flex-direction:column;gap:12px}.rate-now-button{--background: var(--color-brand-primary);--background-activated: var(--color-brand-primary-pressed);--color: var(--color-on-brand);--border-radius: var(--radius-md);--box-shadow: none;height:50px;font-size:16px;font-weight:600;text-transform:none}.remind-later-button{--border-color: var(--color-text-disabled);--color: var(--color-text-secondary);--border-radius: 12px;height:46px;font-size:14px;font-weight:500;text-transform:none}@media (hover: hover){.remind-later-button:hover{--border-color: var(--color-text-tertiary)}}.ca-plate{display:inline-flex;align-items:stretch;height:34px;border-radius:5px;overflow:hidden;background:#0b7a3e;box-shadow:inset 0 0 0 1px #00000059,0 1px 2px #00000059;font-family:"Arial Narrow","Helvetica Neue",Arial,var(--font-family-sans);vertical-align:middle}.ca-plate .ca-plate__ind{width:23px;flex:none;background:#12408f;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:7.5px;font-weight:var(--font-weight-bold);letter-spacing:.04em}.ca-plate .ca-plate__chakra{width:8px;height:8px;border-radius:50%;border:1.1px solid #FFFFFF;opacity:.9}.ca-plate .ca-plate__num{display:flex;align-items:center;padding:0 10px;color:#fff;font-size:17px;font-weight:var(--font-weight-bold);letter-spacing:.05em;font-variant-numeric:tabular-nums;white-space:nowrap}.ca-plate.ca-plate--commercial .ca-plate__num{color:#ffd400}.ca-plate.ca-plate--raw .ca-plate__num{font-size:15px;letter-spacing:.02em}.ca-theme-toggle{--background: var(--color-surface-2);border-radius:var(--radius-md);padding:3px;gap:var(--space-1);min-height:42px}.ca-theme-toggle .ca-theme-toggle__btn{--background: transparent;--background-checked: var(--color-brand-primary);--background-hover: var(--color-row-bg-hover);--color: var(--color-text-secondary);--color-checked: var(--color-on-brand);--color-hover: var(--color-text-primary);--indicator-color: transparent;--indicator-height: 0;--indicator-box-shadow: none;--border-radius: var(--radius-sm);--padding-start: var(--space-2);--padding-end: var(--space-2);--padding-top: var(--space-1);--padding-bottom: var(--space-1);min-height:36px;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-transform:none;letter-spacing:0;transition:color var(--motion-duration-fast) var(--motion-ease-out)}.ca-theme-toggle .ca-theme-toggle__btn.segment-button-checked .ca-theme-toggle__inner,.ca-theme-toggle .ca-theme-toggle__btn.segment-button-checked ion-label{font-weight:var(--font-weight-semibold)}.ca-theme-toggle__inner{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.ca-theme-toggle__inner ion-icon{font-size:18px}.ca-theme-toggle__inner ion-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin:0}.ca-palette-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border-subtle)}.ca-palette-row__label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.ca-palette-row__select{--padding-start: var(--space-3);--padding-end: var(--space-3);--padding-top: 8px;--padding-bottom: 8px;--placeholder-color: var(--color-text-secondary);min-height:36px;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);background:var(--color-surface-3);border:1px solid var(--color-border-default);border-radius:var(--radius-md)}.ca-palette-row__select::part(text){color:var(--color-text-primary)}.ca-palette-row__select::part(icon){color:var(--color-text-secondary);opacity:1}.language-toggle-select{--color: var(--color-text-primary);--placeholder-color: var(--color-text-tertiary);font-weight:var(--font-weight-medium);min-width:auto;max-width:140px;padding-inline-start:12px;padding-inline-end:0}.language-toggle-select::part(text){color:var(--color-text-primary)}.language-toggle-select::part(icon){color:var(--color-text-tertiary);opacity:1}ion-popover.language-popover{--background: var(--color-surface-2);--color: var(--color-text-primary);--backdrop-opacity: .4}ion-popover.language-popover::part(content){background:var(--color-surface-2);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-3)}ion-popover.language-popover ion-list{background:transparent;padding:4px}ion-popover.language-popover ion-radio-group{background:transparent}ion-popover.language-popover ion-item{--background: transparent;--background-hover: var(--color-row-bg-hover);--background-activated: var(--color-row-bg-press);--background-focused: var(--color-row-bg-hover);--color: var(--color-text-primary);--color-hover: var(--color-text-primary);--color-activated: var(--color-text-primary);--border-color: transparent;--inner-border-width: 0;--min-height: 44px;--padding-start: 14px;--inner-padding-end: 14px;border-radius:var(--radius-md);font-weight:var(--font-weight-medium);letter-spacing:0;margin:2px 0}ion-popover.language-popover ion-item.item-radio-checked,ion-popover.language-popover ion-item.ion-activated.item-radio-checked,ion-popover.language-popover ion-item.item-radio-checked.ion-focused{--background: var(--color-brand-primary-subtle);--color: var(--color-text-primary);font-weight:var(--font-weight-medium)}ion-popover.language-popover ion-radio{--color: var(--color-text-tertiary);--color-checked: var(--color-brand-primary)}.transactions-wrapper .tx-list{padding:0 4px}.transactions-wrapper .tx-day{color:var(--color-text-tertiary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:0;padding:18px 4px 6px}.transactions-wrapper .tx-group:first-of-type .tx-day{padding-top:8px}.transactions-wrapper .tx-rows{display:flex;flex-direction:column}.transactions-wrapper .tx-row{display:grid;grid-template-columns:22px 1fr auto 14px;gap:10px;align-items:center;padding:12px 4px;background:transparent;border:0;border-top:1px solid var(--color-border-subtle);width:100%;text-align:left;font-family:inherit;color:inherit;cursor:default;transition:background-color var(--motion-duration-fast)}.transactions-wrapper .tx-rows>.tx-row:first-child{border-top:0}.transactions-wrapper .tx-row.is-clickable{cursor:pointer}.transactions-wrapper .tx-row.is-clickable:active{background:var(--color-row-bg-press, rgba(255,255,255,.03))}.transactions-wrapper .tx-row__glyph{font-size:20px;color:var(--color-text-secondary);justify-self:center}.transactions-wrapper .tx-row__body{min-width:0;display:flex;flex-direction:column;gap:2px}.transactions-wrapper .tx-row__title-line{display:flex;align-items:center;gap:6px;min-width:0}.transactions-wrapper .tx-row__title{color:var(--color-text-primary);font-size:15px;font-weight:var(--font-weight-medium);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transactions-wrapper .tx-row__sub{color:var(--color-text-secondary);font-size:var(--font-size-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transactions-wrapper .tx-row__amount{font-size:15px;font-weight:var(--font-weight-medium);color:var(--color-text-primary);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.transactions-wrapper .tx-row__chev{color:var(--color-text-tertiary);font-size:14px;display:flex;justify-content:flex-end;align-items:center;min-width:14px}.transactions-wrapper .tx-row__chev ion-icon{font-size:14px}.transactions-wrapper .tx-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;min-height:240px;gap:8px}.transactions-wrapper .tx-state--inline{min-height:0;padding:16px 24px}.transactions-wrapper .tx-state__icon{font-size:64px;color:var(--color-text-secondary);opacity:.3;margin-bottom:8px}.transactions-wrapper .tx-state h3{color:var(--color-text-primary);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin:0}.transactions-wrapper .tx-state p{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0;max-width:280px}.transactions-wrapper .tx-state ion-spinner{width:36px;height:36px;color:var(--color-text-secondary)}@media (max-width: 360px){.transactions-wrapper .tx-row{grid-template-columns:20px 1fr auto 12px;gap:8px}.transactions-wrapper .tx-row__title{font-size:13.5px}.transactions-wrapper .tx-row__sub{font-size:11.5px}}.transactions-wrapper .tx-row.is-clickable:focus-visible{outline:2px solid var(--color-brand-primary);outline-offset:2px;border-radius:var(--radius-sm)}@media (prefers-reduced-motion: reduce){.transactions-wrapper .tx-row{transition:none}}.transactions-wrapper .tx-srow{display:grid;grid-template-columns:34px 1fr auto;gap:12px;align-items:center;width:100%;padding:12px 0;background:transparent;border:0;text-align:left;font:inherit;color:inherit}.transactions-wrapper .tx-srow+.tx-srow,.transactions-wrapper .tx-group+.tx-group .tx-srow:first-child{border-top:1px solid var(--color-border-subtle)}.transactions-wrapper .tx-srow.is-clickable{cursor:pointer}.transactions-wrapper .tx-srow.is-clickable:active{background:var(--color-row-bg-press, rgba(255, 255, 255, .03))}.transactions-wrapper .tx-srow__date{display:flex;flex-direction:column;align-items:center;line-height:1.05;color:var(--color-text-tertiary)}.transactions-wrapper .tx-srow__date b{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.transactions-wrapper .tx-srow__date i{font-style:normal;font-size:var(--font-size-2xs);text-transform:uppercase;letter-spacing:.04em}.transactions-wrapper .tx-srow__body{min-width:0;display:flex;flex-direction:column;gap:2px}.transactions-wrapper .tx-srow__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transactions-wrapper .tx-srow__sub{font-size:var(--font-size-xs);color:var(--color-text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transactions-wrapper .tx-srow__amount{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.transactions-wrapper .tx-list--statement .tx-group+.tx-group{margin-top:0}.reservation-card{background:var(--color-surface-2);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);margin:0 0 12px;transition:background-color var(--motion-duration-fast),border-color var(--motion-duration-fast),opacity var(--motion-duration-fast);cursor:pointer;box-shadow:none}@media (hover: hover){.reservation-card:hover{border-color:var(--color-border-default)}}.reservation-card:active{opacity:.85}.reservation-card.status-active{border-left:4px solid var(--color-success)}.reservation-card.status-booked{border-left:4px solid var(--color-info)}.reservation-card.status-cancelled{opacity:.7;border-left:4px solid var(--color-danger)}.reservation-card.status-finished{opacity:.8;border-left:4px solid var(--color-text-tertiary)}.reservation-card-content{padding:16px}.reservation-card .reservation-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;background:transparent;border:none}.reservation-title-row{display:flex;align-items:center;gap:10px;flex:1}.reservation-icon{font-size:22px;color:var(--color-text-secondary)}.reservation-name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0;line-height:1.3}.reservation-card .status-badge{font-size:var(--font-size-2xs);font-weight:var(--font-weight-medium);padding:5px 10px;border-radius:var(--radius-sm);letter-spacing:0}.reservation-details{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}.detail-row{display:flex;align-items:center;gap:10px}.detail-icon{font-size:18px;color:var(--color-text-tertiary);flex-shrink:0}.detail-text{font-size:var(--font-size-sm);color:var(--color-text-primary);line-height:1.4}.reservation-footer{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid var(--color-border-subtle)}.recurring-badge{display:flex;align-items:center;gap:6px;background:var(--color-info-bg);padding:5px 12px;border-radius:var(--radius-sm);font-size:var(--font-size-2xs);font-weight:var(--font-weight-medium);color:var(--color-info)}.recurring-badge ion-icon{font-size:14px}.arrow-icon{font-size:22px;color:var(--color-text-disabled)}@media (max-width: 360px){.reservation-card-content{padding:14px}.reservation-name{font-size:15px}.detail-text{font-size:13px}}.reservation-calendar{padding:16px;background:transparent}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.calendar-header ion-button{--color: var(--color-text-primary);--background: var(--color-surface-3);--border-radius: var(--radius-md);--box-shadow: none;margin:0;width:40px;height:40px}.calendar-title{display:flex;align-items:center;gap:8px}.calendar-title h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.today-btn{--color: var(--color-brand-primary);font-size:13px;font-weight:var(--font-weight-medium);text-transform:none}.weekday-headers{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:8px}.weekday-header{text-align:center;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-tertiary);text-transform:uppercase;padding:8px 0}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:16px}.calendar-day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:var(--radius-md);background:var(--color-surface-2);border:1px solid var(--color-border-subtle);cursor:pointer;transition:background-color var(--motion-duration-fast),border-color var(--motion-duration-fast),color var(--motion-duration-fast);position:relative;min-height:44px}@media (hover: hover){.calendar-day:hover{background:var(--color-surface-3);border-color:var(--color-border-default)}}.calendar-day:active{opacity:.85}.calendar-day.other-month{opacity:.4}.calendar-day.today{background:var(--color-brand-primary-subtle);border:2px solid var(--color-brand-primary)}.calendar-day.selected{background:var(--color-brand-primary);border:2px solid var(--color-brand-primary);box-shadow:none;transform:none}.calendar-day.selected .day-number{color:var(--color-on-brand)}.calendar-day.has-events{background:var(--color-surface-3);border-color:var(--color-border-default)}.calendar-day.has-events.selected{background:var(--color-brand-primary)}.day-number{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.calendar-day.today:not(.selected) .day-number{color:var(--color-brand-primary)}.event-dots{display:flex;gap:3px;justify-content:center;flex-wrap:wrap;max-width:100%}.event-dots .dot,.calendar-legend .dot{width:6px;height:6px;border-radius:50%}.dot.scheduled{background:var(--color-info)}.dot.ready{background:var(--color-success)}.dot.charging{background:var(--color-warning)}.dot.completed{background:var(--color-text-tertiary)}.dot.cancelled{background:var(--color-danger)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.calendar-legend{display:flex;justify-content:center;flex-wrap:wrap;gap:16px;padding:12px;background:var(--color-surface-2);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);margin-bottom:20px}.calendar-legend .legend-item{display:flex;align-items:center;gap:6px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.calendar-legend .dot{width:10px;height:10px}.selected-date-section{background:var(--color-surface-2);border-radius:var(--radius-lg);padding:16px;border:1px solid var(--color-border-subtle)}.selected-date-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--color-border-default)}.selected-date-header h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.selected-date-header ion-badge{font-size:10px}.events-list{display:flex;flex-direction:column;gap:12px;max-height:300px;overflow-y:auto}.events-list::-webkit-scrollbar{width:4px}.events-list::-webkit-scrollbar-track{background:var(--color-border-subtle)}.events-list::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:2px}.no-events{text-align:center;padding:32px 16px;color:var(--color-text-tertiary)}.no-events p{margin:0;font-size:var(--font-size-sm)}.event-card{background:var(--color-surface-3);border-radius:var(--radius-md);padding:14px;border-left:4px solid var(--color-info);border-top:1px solid var(--color-border-subtle);border-right:1px solid var(--color-border-subtle);border-bottom:1px solid var(--color-border-subtle);cursor:pointer;transition:background-color var(--motion-duration-fast),border-color var(--motion-duration-fast)}@media (hover: hover){.event-card:hover{background:var(--color-surface-4)}}.event-card:active{opacity:.85}.event-card.status-primary{border-left-color:var(--color-info)}.event-card.status-success{border-left-color:var(--color-success)}.event-card.status-warning{border-left-color:var(--color-warning)}.event-card.status-medium{border-left-color:var(--color-text-tertiary);opacity:.8}.event-card.status-danger{border-left-color:var(--color-danger);opacity:.6}.event-time-strip{display:flex;align-items:center;gap:10px;margin-bottom:10px}.event-status-icon{font-size:18px}.event-card.status-primary .event-status-icon{color:var(--color-info)}.event-card.status-success .event-status-icon{color:var(--color-success)}.event-card.status-medium .event-status-icon{color:var(--color-text-tertiary)}.event-card.status-danger .event-status-icon{color:var(--color-danger)}.event-time{font-size:15px;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);font-variant-numeric:tabular-nums;flex:1}.event-status-badge{font-size:var(--font-size-2xs);padding:4px 8px;letter-spacing:0;font-weight:var(--font-weight-medium)}.event-details{display:flex;flex-direction:column;gap:6px}.event-title,.event-location{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--color-text-primary)}.event-title ion-icon,.event-location ion-icon{font-size:16px;color:var(--color-text-tertiary)}.event-title span{font-weight:var(--font-weight-medium)}.event-location span{color:var(--color-text-secondary)}.event-session-info{display:flex;align-items:center;gap:8px;margin-top:10px;padding:10px 12px;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.event-session-info.active{background:var(--color-warning-bg);color:var(--color-warning)}.event-session-info.completed{background:var(--color-surface-2);color:var(--color-text-secondary)}.event-session-info .view-icon{margin-left:auto;font-size:16px;opacity:.6}.event-session-info .live-dot{width:8px;height:8px;background:var(--color-warning);border-radius:50%;animation:pulse 1s infinite}.event-live-indicator{display:flex;align-items:center;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--color-border-default);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-warning)}.live-dot{width:8px;height:8px;background:var(--color-warning);border-radius:50%;animation:pulse 1s infinite}@media (max-width: 360px){.reservation-calendar{padding:12px}.calendar-title h2{font-size:var(--font-size-lg)}.calendar-day{min-height:38px;border-radius:var(--radius-sm)}.day-number{font-size:var(--font-size-xs)}.event-dots .dot{width:5px;height:5px}.calendar-legend{gap:10px;padding:10px}.calendar-legend .legend-item{font-size:var(--font-size-2xs)}.selected-date-section,.event-card{padding:12px}.event-time{font-size:var(--font-size-sm)}}.occurrence-calendar{padding:16px;background:var(--color-surface-2);border-radius:var(--radius-lg);border:1px solid var(--color-border-subtle)}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--color-border-default)}.calendar-header ion-button{--color: var(--color-text-primary);--background: var(--color-surface-3);--border-radius: var(--radius-sm);--box-shadow: none;margin:0}.calendar-header ion-button[disabled]{opacity:.3}.month-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.calendar-legend{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;padding:14px;background:var(--color-surface-3);border-radius:var(--radius-md);margin-bottom:16px;border:1px solid var(--color-border-subtle)}.legend-item{display:flex;align-items:center;gap:8px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.legend-dot{width:12px;height:12px;border-radius:50%;box-shadow:none}.legend-dot.scheduled{background:var(--color-info)}.legend-dot.ready{background:var(--color-success)}.legend-dot.completed{background:var(--color-text-tertiary)}.legend-dot.cancelled{background:var(--color-danger)}.legend-dot.charging{background:var(--color-warning)}.occurrences-container{max-height:400px;overflow-y:auto;padding-right:4px}.occurrences-container::-webkit-scrollbar{width:4px}.occurrences-container::-webkit-scrollbar-track{background:var(--color-border-subtle);border-radius:2px}.occurrences-container::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:2px}.no-occurrences{text-align:center;padding:32px 16px;color:var(--color-text-tertiary)}.no-occurrences p{margin:0 0 12px;font-size:var(--font-size-sm)}.no-occurrences ion-button{--color: var(--color-brand-primary)}.date-group{display:flex;gap:12px;margin-bottom:12px}.date-header{display:flex;flex-direction:column;align-items:center;min-width:54px;padding:10px 8px;background:var(--color-surface-3);border-radius:var(--radius-md);border:1px solid var(--color-border-default)}.date-day{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-tertiary);letter-spacing:0}.date-number{font-size:22px;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);font-variant-numeric:tabular-nums;line-height:1.2}.today-badge{font-size:9px;padding:2px 6px;margin-top:4px;--background: var(--color-surface-2);--color: var(--color-text-secondary)}.date-occurrences{flex:1;display:flex;flex-direction:column;gap:8px}.occurrence-calendar .occurrence-item{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--color-surface-3);border-radius:var(--radius-md);border-left:4px solid var(--color-info);cursor:pointer;transition:background-color var(--motion-duration-fast),border-color var(--motion-duration-fast),opacity var(--motion-duration-fast);border:1px solid var(--color-border-subtle);border-left-width:4px}@media (hover: hover){.occurrence-calendar .occurrence-item:hover{background:var(--color-surface-4)}}.occurrence-calendar .occurrence-item:active{background:var(--color-surface-4);opacity:.85}.occurrence-calendar .occurrence-item.status-primary{border-left-color:var(--color-info)}.occurrence-calendar .occurrence-item.status-success{border-left-color:var(--color-success)}.occurrence-calendar .occurrence-item.status-medium{border-left-color:var(--color-text-tertiary);opacity:.7}.occurrence-calendar .occurrence-item.status-danger{border-left-color:var(--color-danger);opacity:.6}.occurrence-calendar .occurrence-item.status-warning{border-left-color:var(--color-warning);background:var(--color-warning-bg)}.occurrence-calendar .occurrence-time{display:flex;align-items:center;gap:10px}.occurrence-calendar .occurrence-time .status-icon{font-size:20px}.occurrence-calendar .occurrence-item.status-primary .status-icon{color:var(--color-info)}.occurrence-calendar .occurrence-item.status-success .status-icon{color:var(--color-success)}.occurrence-calendar .occurrence-item.status-medium .status-icon{color:var(--color-text-tertiary)}.occurrence-calendar .occurrence-item.status-danger .status-icon{color:var(--color-danger)}.occurrence-calendar .occurrence-item.status-warning .status-icon{color:var(--color-warning)}.occurrence-calendar .occurrence-time span{font-size:15px;font-weight:var(--font-weight-medium);color:var(--color-text-primary);font-variant-numeric:tabular-nums}.occurrence-actions{display:flex;align-items:center;gap:10px}.occurrence-actions .status-badge{font-size:var(--font-size-2xs);padding:5px 10px;letter-spacing:0;font-weight:var(--font-weight-medium);border-radius:var(--radius-sm)}.occurrence-actions .more-icon{font-size:22px;color:var(--color-text-tertiary)}.session-summary{display:flex;align-items:center;gap:6px;padding:6px 10px;margin:8px 0;background:var(--color-surface-2);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.session-summary ion-icon{font-size:14px;color:var(--color-text-tertiary)}.session-live{display:flex;align-items:center;gap:8px;padding:6px 10px;margin:8px 0;background:var(--color-warning-bg);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-warning)}.session-live .pulse-dot{width:8px;height:8px;background:var(--color-warning);border-radius:50%;animation:session-pulse 1.2s infinite}@keyframes session-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.calendar-summary{display:flex;justify-content:space-around;padding:18px;margin-top:16px;background:var(--color-surface-3);border-radius:var(--radius-md);border:1px solid var(--color-border-subtle)}.summary-item{display:flex;flex-direction:column;align-items:center;gap:6px}.summary-value{font-size:26px;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);font-variant-numeric:tabular-nums;letter-spacing:var(--letter-spacing-tight)}.summary-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-tertiary);letter-spacing:0}ion-action-sheet.occurrence-action-sheet{--background: var(--color-surface-1);--button-background: var(--color-surface-3);--button-color: var(--color-text-primary);--color: var(--color-text-primary)}ion-action-sheet.occurrence-action-sheet .action-sheet-title{color:var(--color-text-secondary)}@media (max-width: 360px){.occurrence-calendar{padding:12px}.calendar-legend{gap:10px;padding:12px}.legend-item{font-size:var(--font-size-2xs)}.date-header{min-width:48px;padding:8px 6px}.date-number{font-size:var(--font-size-lg)}.occurrence-calendar .occurrence-item{padding:12px 14px}.occurrence-calendar .occurrence-time span{font-size:var(--font-size-sm)}.summary-value{font-size:22px}.summary-label{font-size:var(--font-size-2xs)}}.time-slot-picker{padding:16px}.date-navigation{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding:12px;background:var(--color-surface-2);border-radius:var(--radius-md);border:1px solid var(--color-border-subtle)}.date-navigation ion-button{--color: var(--color-text-primary);--background: var(--color-surface-3);--border-radius: var(--radius-sm);--box-shadow: none;margin:0}.date-navigation ion-button[disabled]{opacity:.3}.date-display{display:flex;flex-direction:column;align-items:center;gap:6px}.date-label{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.time-slot-picker .today-badge{font-size:var(--font-size-2xs);background:var(--color-surface-3);color:var(--color-text-secondary);padding:3px 10px;border-radius:var(--radius-full);font-weight:var(--font-weight-medium)}.duration-selector{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding:14px;background:var(--color-surface-2);border-radius:var(--radius-md);border:1px solid var(--color-border-subtle)}.duration-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.duration-options{display:flex;gap:8px;flex:1}.duration-btn{flex:1;padding:10px 14px;border:2px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-surface-3);color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background-color var(--motion-duration-fast),border-color var(--motion-duration-fast),color var(--motion-duration-fast)}@media (hover: hover){.duration-btn:hover{border-color:var(--color-border-strong)}}.duration-btn:active{opacity:.85}.duration-btn.active{background:var(--color-brand-primary);border-color:var(--color-brand-primary);color:var(--color-on-brand);box-shadow:none}.time-slots-container{max-height:320px;overflow-y:auto;margin-bottom:16px;padding:4px}.time-slots-container::-webkit-scrollbar{width:4px}.time-slots-container::-webkit-scrollbar-track{background:var(--color-border-subtle);border-radius:2px}.time-slots-container::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:2px}.time-slots-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.time-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px 8px;border-radius:var(--radius-md);background:var(--color-surface-3);border:2px solid var(--color-border-default);color:var(--color-text-primary);cursor:pointer;transition:background-color var(--motion-duration-fast),border-color var(--motion-duration-fast),color var(--motion-duration-fast);position:relative;min-height:50px}@media (hover: hover){.time-slot:hover:not(.booked):not(.past){background:var(--color-surface-4);border-color:var(--color-border-strong)}}.time-slot:active:not(.booked):not(.past){opacity:.85}.time-slot.booked{background:var(--color-surface-2);border-color:var(--color-border-subtle);cursor:not-allowed;opacity:.7}.time-slot.past{background:var(--color-surface-1);border-color:var(--color-border-subtle);cursor:not-allowed;opacity:.5}.time-slot.selected{background:var(--color-brand-primary);border-color:var(--color-brand-primary);color:var(--color-on-brand);box-shadow:none;transform:none}.time-slot.conflict{border-color:var(--color-warning);background:var(--color-warning-bg)}.slot-time{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-primary);font-variant-numeric:tabular-nums}.time-slot.booked .slot-time,.time-slot.past .slot-time{color:var(--color-text-disabled)}.time-slot.selected .slot-time{color:var(--color-on-brand);font-weight:var(--font-weight-semibold)}.slot-status-icon{position:absolute;top:4px;right:4px;font-size:14px}.slot-status-icon.booked{color:var(--color-danger)}.slot-status-icon.selected{color:var(--color-on-brand)}.slots-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:var(--color-text-secondary)}.slots-loading p{margin-top:12px;font-size:var(--font-size-sm)}.slots-legend{display:flex;justify-content:center;gap:20px;margin-bottom:16px;padding:14px;background:var(--color-surface-2);border-radius:var(--radius-md);border:1px solid var(--color-border-subtle)}.slots-legend .legend-item{display:flex;align-items:center;gap:8px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.legend-color{width:18px;height:18px;border-radius:var(--radius-sm)}.legend-color.available{background:var(--color-surface-3);border:2px solid var(--color-border-default)}.legend-color.booked{background:var(--color-surface-2);border:2px solid var(--color-border-subtle);opacity:.7}.legend-color.selected{background:var(--color-brand-primary);border:2px solid var(--color-brand-primary)}.selected-time-display{display:flex;align-items:center;justify-content:center;gap:10px;padding:16px;background:var(--color-surface-2);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md)}.selected-time-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.selected-time-value{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);font-variant-numeric:tabular-nums}@media (max-width: 360px){.time-slots-grid{grid-template-columns:repeat(3,1fr)}.duration-btn{padding:8px 10px;font-size:var(--font-size-xs)}.duration-selector{flex-direction:column;align-items:flex-start;gap:10px}.duration-options{width:100%}.slots-legend{gap:12px;flex-wrap:wrap}.slots-legend .legend-item{font-size:var(--font-size-2xs)}}.recurring-options{padding:20px;background:var(--color-surface-2);border-radius:var(--radius-lg);border:1px solid var(--color-border-subtle)}.recurring-toggle{display:flex;align-items:center;justify-content:space-between;padding-bottom:16px}.toggle-label{display:flex;align-items:center;gap:12px;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.toggle-label ion-icon{font-size:22px;color:var(--color-text-secondary)}.recurring-settings{padding-top:20px;border-top:1px solid var(--color-border-default);display:flex;flex-direction:column;gap:24px}.setting-row{display:flex;flex-direction:column;gap:10px}.setting-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-tertiary);letter-spacing:0}.frequency-select{--background: var(--color-input-bg);--border-radius: var(--radius-md);--padding-start: 16px;--padding-end: 16px;--color: var(--color-text-primary);font-size:15px;font-weight:var(--font-weight-medium);border:1px solid var(--color-input-border);border-radius:var(--radius-md);min-height:48px;width:100%;max-width:100%}.frequency-select::part(container){display:flex;justify-content:space-between;align-items:center;width:100%}.frequency-select::part(icon){color:var(--color-text-tertiary);margin-left:auto;position:absolute;right:12px}.frequency-select::part(text){color:var(--color-text-primary);flex:1}.interval-input{display:flex;align-items:center;gap:12px}.interval-number{width:90px;--background: var(--color-input-bg);--border-radius: var(--radius-md);--padding-start: 16px;--padding-end: 16px;--color: var(--color-text-primary);text-align:center;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);font-variant-numeric:tabular-nums;border:1px solid var(--color-input-border);border-radius:var(--radius-md);min-height:48px}.interval-unit{font-size:15px;font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.days-selector{display:flex;flex-wrap:wrap;gap:8px}.day-btn{padding:12px 16px;border:2px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-surface-3);color:var(--color-text-primary);font-size:13px;font-weight:var(--font-weight-semibold);cursor:pointer;transition:background-color var(--motion-duration-fast),border-color var(--motion-duration-fast),color var(--motion-duration-fast)}@media (hover: hover){.day-btn:hover{border-color:var(--color-border-strong)}}.day-btn:active{opacity:.85}.day-btn.active{background:var(--color-brand-primary);border-color:var(--color-brand-primary);color:var(--color-on-brand);box-shadow:none}.day-select{width:140px;--background: var(--color-input-bg);--border-radius: var(--radius-md);--padding-start: 16px;--padding-end: 40px;--color: var(--color-text-primary);font-size:15px;font-weight:var(--font-weight-medium);border:1px solid var(--color-input-border);border-radius:var(--radius-md);min-height:48px;position:relative}.day-select::part(container){display:flex;justify-content:space-between;align-items:center}.day-select::part(icon){color:var(--color-text-tertiary);position:absolute;right:12px}.day-select::part(text){color:var(--color-text-primary)}.end-type-selector{display:flex;gap:10px}.end-type-btn{flex:1;padding:14px 16px;border:2px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-surface-3);color:var(--color-text-primary);font-size:13px;font-weight:var(--font-weight-semibold);cursor:pointer;transition:background-color var(--motion-duration-fast),border-color var(--motion-duration-fast),color var(--motion-duration-fast)}@media (hover: hover){.end-type-btn:hover{border-color:var(--color-border-strong)}}.end-type-btn:active{opacity:.85}.end-type-btn.active{background:var(--color-brand-primary);border-color:var(--color-brand-primary);color:var(--color-on-brand);box-shadow:none}.count-input{display:flex;align-items:center;gap:12px}.count-number{width:90px;--background: var(--color-input-bg);--border-radius: var(--radius-md);--padding-start: 16px;--padding-end: 16px;--color: var(--color-text-primary);text-align:center;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);font-variant-numeric:tabular-nums;border:1px solid var(--color-input-border);border-radius:var(--radius-md);min-height:48px}.count-label{font-size:15px;font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.date-picker{--background: var(--color-surface-3);--border-radius: var(--radius-lg);margin:0;padding:12px;border:1px solid var(--color-border-default);border-radius:var(--radius-lg)}.date-picker::part(calendar-day){color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.date-picker::part(calendar-day today){color:var(--color-brand-primary);font-weight:var(--font-weight-semibold)}.date-picker::part(calendar-day active){background:var(--color-brand-primary);color:var(--color-on-brand)}.date-picker::part(calendar-day disabled){color:var(--color-text-disabled)}.date-picker::part(month-year-button){color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.date-picker::part(wheel-item){color:var(--color-text-primary)}.date-picker::part(wheel-item active){color:var(--color-brand-primary)}.recurring-select-popover ion-select-popover{--background: var(--color-surface-1)}.recurring-select-popover ion-select-popover ion-item{--background: var(--color-surface-1);--color: var(--color-text-primary)}.recurring-select-popover ion-select-popover ion-radio{--color: var(--color-text-tertiary);--color-checked: var(--color-brand-primary)}@media (max-width: 360px){.recurring-options{padding:16px}.day-btn{padding:10px 12px;font-size:var(--font-size-xs)}.end-type-btn{padding:12px 10px;font-size:var(--font-size-xs)}.interval-number,.count-number{width:80px}}
