:root{--bg: #0b1a33;--bg-elevated: #122447;--bg-card: #163056;--text: #f4f7fb;--text-muted: #9db0c9;--accent: #c9a84c;--accent-2: #3b82f6;--danger: #ef4444;--success: #10b981;--border: rgba(255, 255, 255, .08);--radius: 16px;--tab-h: calc(64px + env(safe-area-inset-bottom, 0px)) ;--top-h: calc(56px + env(safe-area-inset-top, 0px)) ;font-family:Segoe UI,system-ui,-apple-system,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:radial-gradient(1200px 600px at 10% -10%,#1a3a6b 0%,transparent 55%),radial-gradient(900px 500px at 100% 0%,#2a1f0a 0%,transparent 40%),var(--bg);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--accent);text-decoration:none}.app-shell{min-height:100%;display:flex;flex-direction:column;padding-bottom:var(--tab-h)}.page{flex:1;padding:calc(12px + env(safe-area-inset-top,0px)) 16px 24px;max-width:640px;width:100%;margin:0 auto}.page-title{margin:0 0 4px;font-size:1.45rem;font-weight:800;letter-spacing:-.02em}.page-sub{margin:0 0 16px;color:var(--text-muted);font-size:.9rem}.card{background:linear-gradient(180deg,rgba(255,255,255,.04),transparent),var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:14px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 18px;border:0;border-radius:14px;font-weight:700;cursor:pointer;background:var(--bg-elevated)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,#c9a84c,#e2c97a);color:#1a1406}.btn-accent{background:var(--accent-2);color:#fff}.btn-telegram{background:#0ea5e9;color:#fff}.btn-danger{background:var(--danger);color:#fff}.btn-ghost{background:transparent;border:1px solid var(--border)}.btn-block{width:100%}.btn-compact{min-height:40px;padding:0 12px;font-size:.8rem}.presence-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.presence-dot.online{background:#10b981}.presence-dot.telegram{background:#38bdf8}.presence-dot.offline{background:#64748b}.voice-card .voice-participant{padding:8px 0;border-bottom:1px solid rgba(255,255,255,.06)}.voice-card .voice-participant:last-child{border-bottom:0}.voice-status-banner{margin-bottom:10px;padding:10px 12px;border-radius:12px;background:#f59e0b26;border:1px solid rgba(245,158,11,.35);color:#fbbf24;font-size:.85rem;font-weight:700}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.field label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.field input,.field select,.field textarea{min-height:48px;border-radius:12px;border:1px solid var(--border);background:#00000040;padding:12px 14px}.field textarea{min-height:96px;resize:vertical}.tab-bar{position:fixed;left:0;right:0;bottom:0;height:var(--tab-h);padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px));display:grid;grid-template-columns:repeat(var(--tab-cols, 4),1fr);gap:4px;background:#0b1a33eb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--border);z-index:40}.tab-item{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:0;background:transparent;color:var(--text-muted);font-size:.68rem;font-weight:700;text-decoration:none;border-radius:12px;min-height:48px}.tab-item.active{color:var(--accent);background:#c9a84c1f}.tab-badge{position:absolute;margin:-28px 0 0 28px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:#d64545;color:#fff;font-size:.62rem;line-height:17px;text-align:center}.fab{position:fixed;right:18px;bottom:calc(var(--tab-h) + 14px);width:56px;height:56px;border-radius:50%;border:0;background:linear-gradient(135deg,#c9a84c,#e2c97a);color:#1a1406;box-shadow:0 10px 30px #00000059;display:grid;place-items:center;z-index:35}.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-size:.75rem;font-weight:700;background:#ffffff0f;border:1px solid var(--border)}.chip.active{background:#c9a84c33;color:var(--accent)}.list{display:flex;flex-direction:column;gap:10px}.list-item{display:flex;gap:12px;align-items:flex-start;text-align:left;width:100%;cursor:pointer}.list-item .tab-badge{position:static;margin:0 0 0 auto;flex:0 0 auto}.list-item.past{opacity:.48;filter:grayscale(.75);background:#ffffff05;border-style:dashed}.list-item.past .chip{opacity:.9}.chip.past{background:#94a3b81f;color:#94a3b8;border-color:#94a3b840}.chip.live{background:#10b98126;color:#6ee7b7;border-color:#10b98159}.muted{color:var(--text-muted)}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.spacer{flex:1}.error{color:#fecaca;background:#ef444426;border:1px solid rgba(239,68,68,.35);padding:10px 12px;border-radius:12px;margin-bottom:12px}.success{color:#bbf7d0}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-dow{text-align:center;font-size:.7rem;color:var(--text-muted);font-weight:700;padding:4px 0}.cal-day{aspect-ratio:1;border-radius:12px;border:1px solid transparent;background:#ffffff08;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:.85rem;font-weight:700;cursor:pointer}.cal-day.muted{opacity:.35}.cal-day.today{border-color:var(--accent)}.cal-day.selected{background:#3b82f640;border-color:var(--accent-2)}.cal-dot{width:5px;height:5px;border-radius:50%;background:var(--accent)}.bubble-row{display:flex;margin:6px 0}.bubble-row.me{justify-content:flex-end}.bubble{max-width:80%;padding:10px 12px;border-radius:16px;background:var(--bg-elevated);border:1px solid var(--border)}.bubble.me{background:#3b82f640;border-color:#3b82f659}.bubble .meta{font-size:.7rem;color:var(--text-muted);margin-bottom:4px}.composer{display:flex;gap:8px;position:sticky;bottom:calc(var(--tab-h) + 8px);background:#0b1a33e6;padding:8px 0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.composer input{flex:1;min-height:48px;border-radius:14px;border:1px solid var(--border);background:#00000040;padding:0 14px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b8;display:grid;place-items:center;z-index:80;padding:20px}.overlay-card{width:min(420px,100%);background:var(--bg-card);border-radius:24px;border:1px solid var(--border);padding:24px;text-align:center}.login-wrap{min-height:100%;display:grid;place-items:center;padding:24px 16px}.login-card{width:min(420px,100%);padding:28px 20px}.brand{font-size:1.8rem;font-weight:900;letter-spacing:-.03em;margin:0 0 4px}.brand span{color:var(--accent)}.empty{text-align:center;color:var(--text-muted);padding:28px 12px}.stream-shell{box-sizing:border-box;height:100dvh;max-height:100dvh;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:10px;padding:calc(8px + env(safe-area-inset-top,0px)) calc(12px + env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) calc(12px + env(safe-area-inset-left,0px));overflow:hidden;background:#050b16}.stream-top{display:flex;align-items:center;gap:10px;flex-shrink:0;min-height:40px}.stream-top h1{margin:0;font-size:1.05rem;font-weight:800;letter-spacing:-.02em}.stream-top .meta{margin:0;color:var(--text-muted);font-size:.78rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stream-live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#ef4444;box-shadow:0 0 0 3px #ef444440;margin-right:6px;vertical-align:middle;animation:stream-pulse 1.4s ease-in-out infinite}.stream-live-dot.suspended{background:#f59e0b;box-shadow:0 0 0 3px #f59e0b40;animation:none}@keyframes stream-pulse{0%,to{opacity:1}50%{opacity:.45}}.stream-dove{flex-shrink:0;margin-bottom:0}.stream-dove input{color:var(--text);font-size:1rem;font-weight:600}.stream-stage{position:relative;flex:1;min-height:0;border-radius:18px;overflow:hidden;background:#000;border:1px solid var(--border)}.stream-stage video{width:100%;height:100%;object-fit:contain;background:#000;transform:none}.stream-stage-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:16px;text-align:center;color:var(--text-muted);font-size:.9rem;font-weight:600;pointer-events:none}.stream-error{flex-shrink:0;border-radius:12px;border:1px solid rgba(239,68,68,.4);background:#7f1d1d59;color:#fecaca;padding:8px 12px;font-size:.82rem;font-weight:600}.stream-rail{flex-shrink:0;display:flex;flex-direction:column;gap:8px}.stream-rail-row{display:flex;gap:8px}.stream-rail .btn{flex:1;min-height:48px;gap:6px}.stream-rail .btn-icon{flex:0 0 auto;width:52px;min-width:52px;padding:0}.stream-hint{flex-shrink:0;margin:0;color:var(--text-muted);font-size:.78rem;line-height:1.35}@media(orientation:landscape){.stream-shell{display:grid;grid-template-columns:minmax(0,1fr) min(152px,26vw);grid-template-rows:auto auto minmax(0,1fr);grid-template-areas:"top top" "dove dove" "stage rail";gap:8px;padding:calc(4px + env(safe-area-inset-top,0px)) calc(8px + env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) calc(8px + env(safe-area-inset-left,0px))}.stream-dove{grid-area:dove}.stream-dove .muted{display:none}.stream-top{grid-area:top;width:auto;min-height:32px;gap:8px}.stream-top h1{font-size:.95rem}.stream-stage{grid-area:stage;flex:none;width:auto;height:auto;min-height:0;border-radius:14px}.stream-rail{grid-area:rail;width:auto;min-height:0;max-height:100%;overflow-x:hidden;overflow-y:auto;justify-content:flex-start;gap:6px;-webkit-overflow-scrolling:touch}.stream-rail-row{flex-direction:column}.stream-rail .btn{flex:0 0 auto;min-height:42px;font-size:.78rem;padding:0 8px}.stream-rail .btn-icon{width:100%;min-width:0}.stream-hint{display:none}.stream-error{position:absolute;left:10px;bottom:10px;max-width:min(420px,70%);z-index:5;margin:0}}@media(orientation:landscape)and (max-height:420px){.stream-top .meta{font-size:.7rem}.stream-rail .btn{min-height:38px;font-size:.72rem}.stream-rail .btn .stream-btn-label{display:none}}
