.tabbar{position:absolute;left:var(--sp-4);right:var(--sp-4);bottom:calc(var(--sp-3) + var(--safe-bottom));height:56px;display:grid;grid-template-columns:repeat(5,1fr);align-items:center;background:var(--glass-bg);border:.5px solid var(--glass-border);border-radius:24px;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:0 12px 36px #0003,inset 0 .5px #ffffff1a;z-index:10}.tabbar__item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;height:100%;color:var(--text-muted);transition:color var(--dur-fast) var(--ease);position:relative;padding:6px 0}.tabbar__item--active{color:var(--text)}.tabbar__dot{position:absolute;bottom:4px;left:50%;transform:translate(-50%);width:3px;height:3px;border-radius:50%;background:var(--brand-500)}.tabbar__icon{position:relative;font-size:18px;line-height:1;display:inline-grid;place-items:center;width:22px;height:22px}.tabbar__label{font-size:9.5px;font-weight:var(--fw-semibold);letter-spacing:.005em}.tabbar__badge{position:absolute;top:-3px;right:-8px;min-width:14px;height:14px;padding:0 3px;background:var(--brand-500);color:var(--text-on-brand);border-radius:999px;font-size:9px;font-weight:var(--fw-bold);display:inline-flex;align-items:center;justify-content:center}.tabbar__item--emphasized .tabbar__icon{width:44px;height:44px;border-radius:999px;background:var(--bg-secondary);font-size:20px;transition:background var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.tabbar__item--emphasized.tabbar__item--active .tabbar__icon{background:var(--grad-brand);color:var(--text-on-brand);transform:translateY(-10px);box-shadow:0 0 24px var(--brand-glow),0 8px 20px #f5b63f4d,inset 0 1px #ffffff73}.tabbar__item--emphasized.tabbar__item--active .tabbar__label{color:var(--brand-ink);margin-top:-6px}@media (prefers-reduced-motion: reduce){.tabbar__item--emphasized.tabbar__item--active .tabbar__icon{transform:none}}.app-shell{display:flex;flex-direction:column;height:var(--tg-viewport-height, 100dvh);max-height:var(--tg-viewport-height, 100dvh);background:var(--bg);color:var(--text);overflow:hidden;position:relative}.app-shell__main{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-top:var(--safe-top);padding-bottom:calc(56px + var(--sp-3) + var(--sp-4) + var(--safe-bottom))}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);font-weight:var(--fw-semibold);border-radius:var(--r-pill);transition:transform var(--dur-fast) var(--ease),opacity var(--dur-fast) var(--ease);user-select:none;white-space:nowrap;font-family:var(--font-ui)}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--full{width:100%}.btn--sm{height:36px;padding:0 var(--sp-4);font-size:var(--fs-14);position:relative}.btn--sm:before{content:"";position:absolute;inset:-4px 0}.btn--md{height:44px;padding:0 var(--sp-5);font-size:var(--fs-15)}.btn--lg{height:52px;padding:0 var(--sp-6);font-size:var(--fs-16)}.btn--primary{background:var(--grad-brand);color:var(--btn-primary-fg);box-shadow:0 6px 20px var(--brand-glow),inset 0 1px #ffffff59}.btn--primary:active:not(:disabled){box-shadow:0 4px 14px var(--brand-glow),inset 0 1px #ffffff59}.btn--secondary{background:var(--bg-secondary);color:var(--text)}.btn--ghost{background:transparent;color:var(--text)}.btn--danger{background:var(--danger);color:#fff}.btn__label{line-height:1}.btn__icon{display:inline-flex;line-height:0}.btn__spinner{width:18px;height:18px;border:2px solid rgba(0,0,0,.18);border-top-color:currentColor;border-radius:50%;animation:btn-spin .6s linear infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}.tag{display:inline-flex;align-items:center;font-size:var(--fs-13);font-weight:var(--fw-medium);background:var(--brand-100);color:var(--text-on-brand);padding:3px var(--sp-2);border-radius:var(--r-pill);line-height:1.2}.avatar{display:inline-flex;align-items:center;justify-content:center;background:var(--bg-secondary);color:var(--text-muted);border-radius:50%;overflow:hidden;flex-shrink:0;font-weight:var(--fw-semibold)}.avatar__img{width:100%;height:100%;object-fit:cover}.avatar-stack{display:inline-flex}.avatar-stack__item{border:2px solid var(--bg);margin-left:-8px}.avatar-stack__item:first-child{margin-left:0}.avatar-stack__extra{display:inline-flex;align-items:center;justify-content:center;font-size:11px;background:var(--bg-secondary);color:var(--text-muted);border-radius:50%;border:2px solid var(--bg);margin-left:-8px;font-weight:var(--fw-semibold)}.spinner{display:inline-block;border:2px solid var(--divider);border-top-color:var(--brand-500);border-radius:50%;animation:sp .6s linear infinite}@keyframes sp{to{transform:rotate(360deg)}}.skeleton{display:block;background:linear-gradient(90deg,var(--bg-secondary) 0%,var(--surface-muted) 50%,var(--bg-secondary) 100%);background-size:200% 100%;animation:skel 1.3s linear infinite}@keyframes skel{0%{background-position:200% 0}to{background-position:-200% 0}}.switch{width:44px;height:26px;border-radius:999px;background:var(--divider);position:relative;transition:background var(--dur-fast) var(--ease)}.switch--on{background:var(--brand-500)}.switch__thumb{position:absolute;top:2px;left:2px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:var(--shadow-1);transition:left var(--dur-fast) var(--ease)}.switch--on .switch__thumb{left:20px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-3);padding:var(--sp-7) var(--sp-4);text-align:center}.empty-state__icon{font-size:48px;opacity:.5}.empty-state__title{font-weight:var(--fw-semibold);font-size:var(--fs-17)}.empty-state__desc{color:var(--text-muted);font-size:var(--fs-14);max-width:280px}.empty-state__action{margin-top:var(--sp-2)}.pill{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--r-pill);font-size:var(--fs-12);font-weight:var(--fw-semibold);line-height:1.2}.pill--neutral{background:var(--bg-secondary);color:var(--text-muted)}.pill--brand{background:var(--brand-500);color:var(--text-on-brand)}.pill--warning{background:#fff3cd;color:#856404}.pill--success{background:#d4edda;color:#155724}.pill--danger{background:#f8d7da;color:#721c24}.stars{display:inline-flex;gap:2px}.stars__btn{color:var(--divider);background:none;padding:0;line-height:1}.stars__btn--on{color:var(--brand-500)}.section-title{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-4) var(--sp-4) var(--sp-2)}.section-title__text{font-weight:var(--fw-semibold);font-size:var(--fs-17)}.section-title__right{color:var(--text-muted);font-size:var(--fs-13)}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html,body,#root{height:100%}body{line-height:1.4;-webkit-font-smoothing:antialiased;font-family:var(--font-ui);color:var(--text);background:var(--bg);overflow:hidden;overscroll-behavior:none;-webkit-tap-highlight-color:transparent}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit;background:transparent;border:0;outline:0}button{cursor:pointer;padding:0}ul,ol{list-style:none}a{color:inherit;text-decoration:none}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}#root{isolation:isolate}.scroll{overflow:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.scroll::-webkit-scrollbar{width:4px;height:4px}.scroll::-webkit-scrollbar-thumb{background:var(--divider);border-radius:4px}:root{--brand-500: #F5B63F;--brand-600: #E5A427;--brand-100: #FFEFC7;--brand-50: #FFF8E1;--bg: #FFFFFF;--bg-secondary: #F5F5F7;--bg-elevated: #FFFFFF;--surface-muted: #F8F8F8;--text: #111111;--text-muted: #5A5D63;--text-muted-weak: #8E8E93;--text-on-brand: #111111;--link: #2161A5;--danger: #D32F2F;--success: #1E7F3A;--divider: rgba(0,0,0,.12);--overlay: rgba(0,0,0,.45);--brand-ink: #8A5A00;--btn-primary-bg: var(--brand-500);--btn-primary-fg: var(--text-on-brand);--btn-secondary-bg: transparent;--btn-secondary-fg: var(--text);--btn-border: var(--divider);--font-ui: "Montserrat", -apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--fs-12: 12px;--fs-13: 13px;--fs-14: 14px;--fs-15: 15px;--fs-16: 16px;--fs-17: 17px;--fs-19: 19px;--fs-20: 20px;--fs-24: 24px;--fs-26: 26px;--fs-28: 28px;--fs-32: 32px;--fw-regular: 400;--fw-medium: 500;--fw-semibold:600;--fw-bold: 700;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-7: 32px;--sp-8: 40px;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-xl: 20px;--r-pill: 999px;--safe-top: env(safe-area-inset-top, 0);--safe-bottom: env(safe-area-inset-bottom, 0);--safe-left: env(safe-area-inset-left, 0);--safe-right: env(safe-area-inset-right, 0);--header-h: 52px;--tabbar-h: 64px;--tg-mainbutton-h: 0px;--focus-ring: 0 0 0 2px var(--bg), 0 0 0 4px var(--brand-500);--shadow-1: 0 1px 2px rgba(0,0,0,.06), 0 2px 6px rgba(0,0,0,.04);--shadow-2: 0 4px 12px rgba(0,0,0,.08), 0 8px 24px rgba(0,0,0,.06);--shadow-3: 0 10px 30px rgba(0,0,0,.15);--dur-fast: .12s;--dur-med: .2s;--ease: cubic-bezier(.4,0,.2,1);--grad-brand: linear-gradient(135deg, #F5B63F 0%, #FFD24A 100%);--grad-live: linear-gradient(135deg, #FF8A3D 0%, #FF3B6B 100%);--grad-online: linear-gradient(135deg, #4ADE80 0%, #22D3EE 100%);--brand-glow: rgba(245, 182, 63, .42);--glass-bg: rgba(255, 255, 255, .55);--glass-bg-elev: rgba(255, 255, 255, .7);--glass-border: rgba(0, 0, 0, .06);--glass-blur: blur(28px) saturate(180%)}[data-theme=dark]{--bg: #0E0F10;--bg-secondary: #1A1B1D;--bg-elevated: #1F2022;--surface-muted: #17181A;--text: #F5F6F7;--text-muted: #BFC2C7;--text-muted-weak: #8E9299;--text-on-brand: #111111;--link: #5AA7FF;--divider: rgba(255,255,255,.14);--overlay: rgba(0,0,0,.6);--brand-ink: #FFD179;--glass-bg: rgba(20, 20, 22, .55);--glass-bg-elev: rgba(28, 28, 30, .7);--glass-border: rgba(255, 255, 255, .08)}body{font-size:var(--fs-15);background:var(--bg);color:var(--text)}html,body,#root{height:100%;margin:0;padding:0;overscroll-behavior-y:none}.app{height:var(--tg-viewport-height, 100dvh);display:flex;flex-direction:column;background:var(--bg);padding-top:var(--safe-top);padding-bottom:0;padding-left:var(--safe-left);padding-right:var(--safe-right);overflow:hidden}.screen{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg)}.screen__body{flex:1;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}.container{padding:var(--sp-4)}.divider{height:1px;background:var(--divider)}.row{display:flex;align-items:center}.stack{display:flex;flex-direction:column;gap:var(--sp-3)}.stack--tight{gap:var(--sp-1)}.hstack{display:flex;flex-direction:row;align-items:center;gap:var(--sp-2)}.spacer{flex:1 1 auto}.chips{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.gap-1{gap:var(--sp-1)}.gap-2{gap:var(--sp-2)}.gap-3{gap:var(--sp-3)}.gap-4{gap:var(--sp-4)}.gap-6{gap:var(--sp-6)}.mt-1{margin-top:var(--sp-1)}.mt-2{margin-top:var(--sp-2)}.mt-3{margin-top:var(--sp-3)}.mt-4{margin-top:var(--sp-4)}.mt-6{margin-top:var(--sp-6)}.text-muted{color:var(--text-muted)}.text-bold{font-weight:var(--fw-semibold)}.text-small{font-size:var(--fs-13)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.skip-link{position:absolute;top:-40px;left:8px;z-index:100;padding:8px 14px;background:var(--brand-500);color:var(--text-on-brand);border-radius:var(--r-md);text-decoration:none;font-weight:var(--fw-semibold);transition:top var(--dur-fast) var(--ease)}.skip-link:focus{top:8px;outline:2px solid var(--text-on-brand);outline-offset:2px}a:focus-visible,button:focus-visible,[role=button]:focus-visible,[role=tab]:focus-visible,[role=switch]:focus-visible,.chip:focus-visible,.fcard:focus-visible,.evcard:focus-visible,.tabbar__item:focus-visible,.segmented__btn:focus-visible,.fab:focus-visible{outline:none;box-shadow:var(--focus-ring)}:focus-visible{outline-offset:2px}.v-gap-1{height:var(--sp-1)}.v-gap-2{height:var(--sp-2)}.v-gap-3{height:var(--sp-3)}.v-gap-4{height:var(--sp-4)}.v-gap-5{height:var(--sp-5)}.v-gap-6{height:var(--sp-6)}.v-gap-7{height:var(--sp-7)}.v-gap-8{height:var(--sp-8)}.scroll-to-tabbar{padding-bottom:calc(var(--tabbar-h) + var(--safe-bottom) + var(--sp-6))}.text-muted-strong{color:var(--text-muted)}.text-muted-weak{color:var(--text-muted-weak)}.hscroll-fade{position:relative}.hscroll-fade:before,.hscroll-fade:after{content:"";position:absolute;top:0;bottom:0;width:16px;pointer-events:none;z-index:1}.hscroll-fade:before{left:0;background:linear-gradient(90deg,var(--bg),rgba(0,0,0,0))}.hscroll-fade:after{right:0;background:linear-gradient(270deg,var(--bg),rgba(0,0,0,0))}
