@font-face{font-family:Geist;src:url(/fonts/Geist-Variable.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/GeistMono-Variable.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root{--bg-primary: #0a0a0a;--bg-secondary: #141414;--bg-card: #1a1a1a;--text-primary: #ffffff;--text-secondary: #a0a0a0;--text-muted: #666666;--accent: #4ade80;--accent-hover: #22c55e;--accent-rgb: 74, 222, 128;--accent-hover-rgb: 34, 197, 94;--accent-text: #9ef6c3;--accent-text-soft: #c7f8dd;--accent-text-dim: #d5fbe5;--accent-text-on: #f0fdf4;--error: #ef4444;--border: #2a2a2a;--radius-xs: 6px;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--radius-pill: 999px;--transition-fast: .18s cubic-bezier(.22, .61, .36, 1);--transition-normal: .3s cubic-bezier(.22, .61, .36, 1);--transition-slow: .4s cubic-bezier(.22, .61, .36, 1);--ease-out: cubic-bezier(.22, .61, .36, 1);--scale-press: .97;--padding-input-y: 14px;--padding-input-x: 16px;--icon-btn-size: 36px;--card-padding: 16px;--glass-bg: rgba(255, 255, 255, .03);--glass-border: rgba(255, 255, 255, .08);--glass-blur: blur(20px) saturate(1.5);--glass-shadow: inset 0 .5px 0 rgba(255, 255, 255, .08), inset 0 -.5px 0 rgba(0, 0, 0, .04), 0 4px 16px rgba(0, 0, 0, .1);--hero-border: rgba(var(--accent-rgb), .18);--hero-label-color: rgba(var(--accent-rgb), .92);--hero-bg: radial-gradient(120% 120% at 0% 0%, rgba(var(--accent-rgb), .14), rgba(var(--accent-rgb), .04) 55%, rgba(var(--accent-rgb), .02) 100%), linear-gradient(180deg, rgba(255, 255, 255, .03), rgba(255, 255, 255, .01))}:root[data-theme=light]{--bg-primary: #eef2f7;--bg-secondary: #ffffff;--bg-card: #ffffff;--text-primary: #0f172a;--text-secondary: #4b5c73;--text-muted: #72839a;--accent: #16a34a;--accent-hover: #15803d;--accent-rgb: 22, 163, 74;--accent-hover-rgb: 21, 128, 61;--accent-text: #15803d;--accent-text-soft: #c3e6d0;--accent-text-dim: #d5e8dc;--accent-text-on: #0a1f12;--error: #dc2626;--border: #d7e0ec;--glass-bg: rgba(255, 255, 255, .5);--glass-border: rgba(160, 178, 200, .18);--glass-blur: blur(20px) saturate(1.4);--glass-shadow: inset 0 .5px 0 rgba(255, 255, 255, .6), inset 0 -.5px 0 rgba(0, 0, 0, .02), 0 2px 10px rgba(15, 23, 42, .05);--hero-border: rgba(var(--accent-rgb), .22);--hero-label-color: rgba(var(--accent-rgb), .96);--hero-bg: radial-gradient(120% 120% at 0% 0%, rgba(var(--accent-rgb), .18), rgba(var(--accent-rgb), .07) 56%, rgba(var(--accent-rgb), .03) 100%), linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(247, 251, 255, .98))}:root[data-theme=light] body{background-color:var(--bg-primary);color:var(--text-primary)}:root[data-theme=light] .logo{color:#111827;text-shadow:none}:root[data-theme=light] .sheet-modal{background:#fffc;border-color:var(--glass-border);box-shadow:inset 0 .5px #ffffffb3,0 12px 40px #0f172a1f}:root[data-theme=light] .account-sheet{background:#ffffffc7;-webkit-backdrop-filter:blur(44px) saturate(1.4);backdrop-filter:blur(44px) saturate(1.4);border-color:var(--glass-border);box-shadow:inset 0 .5px #ffffffb3,0 -12px 40px #0f172a14}:root[data-theme=light] .header-actions{background:linear-gradient(180deg,#fffffff0,#f5f9fff0)}:root[data-theme=light] .tabs{background:#ffffff8c;border-color:#a0b2c838;box-shadow:inset 0 .5px #ffffffb3,inset 0 -.5px #00000005,0 4px 16px #0f172a0f,0 1px 3px #0f172a0a}:root[data-theme=light] .menu-btn{color:#415067;background:linear-gradient(180deg,#fffffff5,#f4f8fff0);border-color:#7489a359}:root[data-theme=light] .menu-btn:hover{color:#0f172a;background:linear-gradient(180deg,#e2f4e9f2,#d6efe0e6);border-color:rgba(var(--accent-rgb),.38);box-shadow:inset 0 1px #fffc,0 10px 20px rgba(var(--accent-rgb),.14)}:root[data-theme=light] .tab{color:#4b5f78b8}:root[data-theme=light] .tab.active{color:#0a1f12}:root[data-theme=light] .tabs.is-dragging .tab.active{color:#4b5f78b8}:root[data-theme=light] .tabs.is-dragging .tab.drag-target{color:#0a1f12}:root[data-theme=light] .tab:not(.active):hover{color:#2d4158e0;background:#4a62810f}:root[data-theme=light] .tab-indicator{background:linear-gradient(180deg,rgba(var(--accent-rgb),.82),rgba(var(--accent-hover-rgb),.75));border-color:rgba(var(--accent-rgb),.25);box-shadow:0 4px 16px rgba(var(--accent-rgb),.15),0 1px 4px rgba(var(--accent-rgb),.1),inset 0 .5px #ffffff73,inset 0 -.5px #00000008}:root[data-theme=light] .dashboard-meta .meta-item{color:#3e4d63;border-color:#7489a347;background:#ffffffa8}:root[data-theme=light] .dashboard-meta .meta-item.muted{color:#607186;border-color:#7489a333;background:#ffffff73}:root[data-theme=light] .account-sheet{background:linear-gradient(180deg,#fafcfffe,#f3f7fcfe)}:root[data-theme=light] .sheet-modal.info-sheet{background:linear-gradient(180deg,#fafcfffe,#f3f7fcfe)}:root[data-theme=light] .account-sheet .account-title,:root[data-theme=light] .account-sheet .profile-name,:root[data-theme=light] .account-sheet .account-value,:root[data-theme=light] .account-sheet .profile-section-title,:root[data-theme=light] .account-sheet .profile-stats-title,:root[data-theme=light] .account-sheet .profile-history-time,:root[data-theme=light] .account-sheet .profile-history-message,:root[data-theme=light] .account-sheet .share-toggle span{color:#132136}:root[data-theme=light] .account-sheet .account-subtitle,:root[data-theme=light] .account-sheet .profile-id,:root[data-theme=light] .account-sheet .account-label,:root[data-theme=light] .account-sheet .profile-section-meta,:root[data-theme=light] .account-sheet .profile-history-meta,:root[data-theme=light] .account-sheet .profile-stats-foot{color:#5e7087}:root[data-theme=light] .account-sheet .account-row,:root[data-theme=light] .account-sheet .profile-section,:root[data-theme=light] .account-sheet .profile-stats,:root[data-theme=light] .account-sheet .stat-card,:root[data-theme=light] .account-sheet .profile-history-item,:root[data-theme=light] .account-sheet .share-toggle,:root[data-theme=light] .account-sheet .profile-kv-row,:root[data-theme=light] .sheet-modal.info-sheet .info-text{background:var(--glass-bg);border-color:var(--glass-border);box-shadow:var(--glass-shadow)}:root[data-theme=light] .account-sheet .account-close{color:#4b5d74;background:#ffffffe0;border-color:#768ba659}:root[data-theme=ocean]{--bg-primary: #0b1628;--bg-secondary: #0f1d35;--bg-card: #132345;--text-primary: #e4eaf4;--text-secondary: #8899b4;--text-muted: #566a88;--accent: #38bdf8;--accent-hover: #0ea5e9;--accent-rgb: 56, 189, 248;--accent-hover-rgb: 14, 165, 233;--accent-text: #7dd3fc;--accent-text-soft: #bae6fd;--accent-text-dim: #dbeafe;--accent-text-on: #f0f8ff;--error: #f87171;--border: #1e3355;--glass-bg: rgba(56, 130, 230, .05);--glass-border: rgba(56, 189, 248, .1);--glass-blur: blur(20px) saturate(1.5);--glass-shadow: inset 0 .5px 0 rgba(56, 189, 248, .08), inset 0 -.5px 0 rgba(0, 0, 0, .06), 0 4px 16px rgba(0, 10, 30, .15)}:root[data-theme=ocean] body{background-color:var(--bg-primary);color:var(--text-primary)}:root[data-theme=ocean] .logo{color:#c8daf0}:root[data-theme=ocean] .header-actions{border-color:#38bdf81a;background:linear-gradient(180deg,#3882e60a,#3882e605)}:root[data-theme=ocean] .menu-btn{color:#8899b4;background:linear-gradient(180deg,#3882e60f,#3882e608);border-color:#38bdf824}:root[data-theme=ocean] .menu-btn:hover{color:#b8e4ff;background:linear-gradient(180deg,#38bdf82b,#38bdf81a);border-color:#38bdf859;box-shadow:inset 0 1px #ffffff0d,0 10px 20px #0e50a033}:root[data-theme=ocean] .menu-btn:focus-visible{border-color:#38bdf880;box-shadow:inset 0 1px #ffffff0d,0 0 0 3px #38bdf833}:root[data-theme=ocean] .tabs{background:#3882e60a;border-color:#38bdf81a;box-shadow:inset 0 .5px #38bdf814,inset 0 -.5px #0000000d,0 4px 16px #000a1e1f,0 1px 3px #000a1e14}:root[data-theme=ocean] .tab-indicator{background:linear-gradient(180deg,#38bdf8e0,#0ea5e9d1);border-color:#38bdf859;box-shadow:0 4px 16px #0e78c840,0 1px 4px #0e78c826,inset 0 .5px #ffffff40,inset 0 -.5px #0000000a}:root[data-theme=ocean] .tabs.is-dragging .tab.drag-target{color:#f0f8ff}:root[data-theme=ocean] .status-pill{background:#38bdf833;color:#7dd3fc;border-color:#38bdf86b}:root[data-theme=ocean] .status-pill.is-off{background:#3882e614;color:#8899b4;border-color:#3882e62e}:root[data-theme=ocean] .dashboard-meta .meta-item{border-color:#38bdf824;background:#3882e60f;color:#a4b8d2}:root[data-theme=ocean] .dashboard-meta .meta-item.muted{color:#6b7f99;border-color:#3882e614;background:#3882e608}:root[data-theme=ocean] .dashboard-profile-btn:hover{border-color:#38bdf857;background:#38bdf81f;color:#b8e4ff}:root[data-theme=ocean] .dashboard-subtitle{color:#7a90ae}:root[data-theme=ocean] .friends-plus{background:var(--accent)}:root[data-theme=ocean] .friends-plus:before,:root[data-theme=ocean] .friends-plus:after{background:#00143ceb}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Geist,system-ui,-apple-system,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh;-webkit-font-smoothing:antialiased}.app{display:flex;flex-direction:column;min-height:100vh;padding:20px;max-width:100%}.header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding:0 4px;gap:12px}.header-actions{display:flex;align-items:center;gap:8px;padding:4px;border-radius:var(--radius-pill);border:1px solid rgba(255,255,255,.11);background:linear-gradient(180deg,#ffffff07,#ffffff03);box-shadow:inset 0 1px #ffffff0a,0 8px 18px #0003}.logo{font-size:22px;font-weight:600;letter-spacing:-.5px;color:#eef4fb;text-shadow:0 1px 0 rgba(0,0,0,.25)}.menu-btn{width:40px;height:40px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#ffffff08,#ffffff04);border:1px solid rgba(255,255,255,.14);color:#c0ccdc;cursor:pointer;border-radius:var(--radius-pill);transition:transform var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast);box-shadow:inset 0 1px #ffffff08}.menu-btn svg{width:20px;height:20px;flex-shrink:0}.friends-btn{position:relative}.friends-plus{position:absolute;top:5px;right:5px;width:14px;height:14px;border-radius:var(--radius-pill);background:var(--accent);font-size:0;display:flex;align-items:center;justify-content:center;transform:translate(40%,-40%);border:1px solid rgba(0,0,0,.35);box-shadow:0 8px 18px #00000073;pointer-events:none}.friends-plus.pending{background:var(--error);width:auto;min-width:16px;height:16px;padding:0 5px;font-size:11px;line-height:1;font-weight:700;letter-spacing:-.2px;font-variant-numeric:tabular-nums;color:#fffffffa}.friends-plus.pending:before,.friends-plus.pending:after{content:none}.friends-plus:before,.friends-plus:after{content:"";position:absolute;left:50%;top:50%;width:8px;height:2px;background:#000000eb;border-radius:var(--radius-pill);transform:translate(-50%,-50%)}.friends-plus:after{transform:translate(-50%,-50%) rotate(90deg)}.menu-btn:hover{color:var(--accent-text-soft);background:linear-gradient(180deg,rgba(var(--accent-rgb),.17),rgba(var(--accent-rgb),.1));border-color:rgba(var(--accent-rgb),.35);box-shadow:inset 0 1px #ffffff0d,0 10px 20px #1a794533}.menu-btn:focus-visible{outline:none;border-color:rgba(var(--accent-rgb),.5);box-shadow:inset 0 1px #ffffff0d,0 0 0 3px rgba(var(--accent-rgb),.2)}.menu-btn:active{transform:scale(var(--scale-press))}.main-content{flex:1;display:flex;flex-direction:column}.dashboard{display:flex;flex-direction:column;gap:14px;width:100%}.dashboard-hero,.dashboard-card{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:.5px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--card-padding);box-shadow:var(--glass-shadow)}.dashboard-hero{display:flex;flex-direction:column;gap:14px;border:.5px solid var(--hero-border);background:var(--hero-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.dashboard-hero-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.dashboard-label{font-size:11px;text-transform:uppercase;letter-spacing:1.05px;color:var(--hero-label-color);font-weight:600}.dashboard-name{font-size:19px;font-weight:650;margin-top:5px;line-height:1.2;letter-spacing:-.25px}.dashboard-subtitle{margin-top:5px;font-size:12px;color:#9aa6b6;line-height:1.45}.dashboard-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px;font-size:11px;color:var(--text-secondary)}.dashboard-meta .meta-item{display:inline-flex;align-items:center;gap:4px;border:1px solid rgba(255,255,255,.14);background:#ffffff0b;border-radius:var(--radius-pill);padding:4px 9px;color:#c6cfdb}.dashboard-meta .meta-item.muted{color:#7f8b9c;border-color:#ffffff14;background:#ffffff05}.status-pill{display:inline-flex;align-items:center;padding:4px 9px;font-size:10px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;border-radius:var(--radius-pill);background:rgba(var(--accent-rgb),.2);color:var(--accent-text);border:1px solid rgba(var(--accent-rgb),.42)}.status-pill.is-off{background:#ffffff14;color:#a8b4c4;border-color:#ffffff2e}.dashboard-profile-btn{background:#ffffff0a;color:var(--text-primary);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-pill);padding:10px 14px;font-size:12px;font-weight:600;min-height:40px;cursor:pointer;transition:transform var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.dashboard-profile-btn:hover{border-color:rgba(var(--accent-rgb),.34);background:rgba(var(--accent-rgb),.12);color:var(--accent-text-soft)}.dashboard-profile-btn:active{transform:scale(var(--scale-press))}.dashboard-toggles{display:flex;flex-direction:column;gap:8px}.dashboard-card{display:flex;flex-direction:column;gap:13px}.dashboard-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.dashboard-card-title{font-size:15px;font-weight:650;color:var(--text-primary);letter-spacing:-.1px}.dashboard-card-meta{font-size:11px;color:#9aa8ba;border:1px solid rgba(255,255,255,.15);background:#ffffff0b;border-radius:var(--radius-pill);padding:4px 9px}.dashboard-muted{font-size:12px;color:#8490a2;line-height:1.45}.dashboard-error{font-size:12px;color:var(--error);line-height:1.45}.today-next{display:flex;flex-direction:column;gap:6px;border:1px solid rgba(var(--accent-rgb),.28);background:rgba(var(--accent-rgb),.09);border-radius:var(--radius-md);padding:12px;box-shadow:inset 0 1px #ffffff08}.today-time{display:inline-flex;align-self:flex-start;font-size:12px;font-weight:700;color:var(--accent-text);border:1px solid rgba(var(--accent-rgb),.33);background:rgba(var(--accent-rgb),.13);border-radius:var(--radius-pill);padding:3px 8px;letter-spacing:.2px}.today-title{font-size:14px;font-weight:600;line-height:1.35}.today-location{font-size:12px;color:#a4afbe}.today-more{font-size:11px;color:#8693a6}.dashboard-card-actions{margin-top:0}.dashboard-acs{gap:12px}.acs-list{display:flex;flex-direction:column;gap:8px}.acs-item{border:1px solid var(--border);background:var(--bg-secondary);border-radius:var(--radius-md);padding:10px 12px}.acs-item-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.acs-time{font-size:14px;font-weight:600;color:var(--accent)}.acs-duration{font-size:12px;color:var(--text-secondary)}.acs-route{display:flex;align-items:center;gap:6px;min-width:0}.acs-zone{font-size:12px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.acs-arrow{flex:0 0 auto;color:var(--text-muted)}.btn-compact{width:auto;padding:10px 16px;font-size:13px;border-radius:var(--radius-pill)}.dashboard-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.quick-action{background:var(--glass-bg);border:.5px solid var(--glass-border);border-radius:var(--radius-sm);min-height:56px;padding:10px 12px;display:flex;align-items:center;gap:9px;font-size:12px;font-weight:600;color:var(--text-primary);transition:transform var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast),color var(--transition-fast);-webkit-tap-highlight-color:transparent}.quick-action svg{opacity:.92;width:18px;height:18px;flex-shrink:0;color:#b5c0cf}.quick-action:hover{border-color:rgba(var(--accent-rgb),.32);background:rgba(var(--accent-rgb),.12);color:var(--accent-text-soft)}.quick-action:active{transform:scale(var(--scale-press))}.dashboard-friends .friends-checkbox{margin-top:0;max-width:none;background:linear-gradient(180deg,#ffffff09,#ffffff04);border-color:#ffffff24;border-radius:var(--radius-md);padding:12px 13px;box-shadow:inset 0 1px #ffffff08}.dashboard-friends .friends-checkbox input[type=checkbox]{width:42px;height:24px}.dashboard-friends .friends-checkbox input[type=checkbox]:after{width:18px;height:18px}.dashboard-friends .friends-checkbox input[type=checkbox]:checked:after{transform:translate(17px,-50%)}.dashboard-friends .group-card{margin-top:0;max-width:none;background:linear-gradient(180deg,#ffffff06,#ffffff03);border-radius:var(--radius-md);border-color:#ffffff21;padding:12px}.dashboard-friends .friends-checkbox:hover{border-color:rgba(var(--accent-rgb),.37);background:linear-gradient(180deg,rgba(var(--accent-rgb),.15),rgba(var(--accent-rgb),.08))}.dashboard-friends .friends-checkbox span{color:var(--text-primary);font-size:13px;font-weight:600;letter-spacing:-.04px}.dashboard-friends .group-header{margin-bottom:10px}.dashboard-friends .group-title{font-size:11px;font-weight:650;letter-spacing:.75px;text-transform:uppercase;color:#aebbd0}.dashboard-friends .group-count{font-size:10px;font-weight:600;letter-spacing:.45px;text-transform:uppercase;padding:4px 8px;border-radius:var(--radius-pill);border:1px solid rgba(255,255,255,.15);background:#ffffff08;color:#c7d2e3}.dashboard-friends .group-members{margin:0;padding:0 2px 0 0;display:flex;flex-direction:column;gap:8px;max-height:250px;overflow-y:auto;-webkit-overflow-scrolling:touch}.dashboard-friends .friend-selectable{margin:0}.dashboard-friends .friend-select-label{position:relative;display:flex;align-items:center;gap:10px;background:linear-gradient(180deg,#ffffff08,#ffffff04);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-md);padding:10px 12px;box-shadow:inset 0 1px #ffffff08;transition:border-color var(--transition-fast),background var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.dashboard-friends .friend-select-label:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 1px #ffffff05}.dashboard-friends .friend-select-label:hover{transform:translateY(-1px);border-color:rgba(var(--accent-rgb),.4);background:linear-gradient(180deg,rgba(var(--accent-rgb),.16),rgba(var(--accent-rgb),.08))}.dashboard-friends .friend-select-label.is-selected{border-color:rgba(var(--accent-rgb),.52);background:linear-gradient(180deg,rgba(var(--accent-rgb),.2),rgba(var(--accent-rgb),.11));box-shadow:inset 0 1px #ffffff0b,0 0 0 1px rgba(var(--accent-rgb),.14)}.dashboard-friends .friend-checkbox{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:20px;height:20px;flex:0 0 20px;border-radius:6px;border:1px solid rgba(186,203,224,.52);background:#090c10db;display:inline-grid;place-items:center;cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.dashboard-friends .friend-checkbox:after{content:"";width:10px;height:6px;border-left:2px solid var(--accent-text-on);border-bottom:2px solid var(--accent-text-on);transform:rotate(-45deg) scale(.35);transform-origin:center;opacity:0;transition:transform var(--transition-fast),opacity var(--transition-fast)}.dashboard-friends .friend-checkbox:hover{border-color:rgba(var(--accent-rgb),.48)}.dashboard-friends .friend-checkbox:checked{border-color:rgba(var(--accent-rgb),.76);background:linear-gradient(180deg,rgba(var(--accent-rgb),.98),rgba(var(--accent-hover-rgb),.96));box-shadow:0 0 0 1px rgba(var(--accent-rgb),.24),0 8px 18px rgba(var(--accent-hover-rgb),.22)}.dashboard-friends .friend-checkbox:checked:after{opacity:1;transform:rotate(-45deg) scale(1)}.dashboard-friends .friend-select-label.is-selected .friend-checkbox{box-shadow:0 0 0 1px rgba(var(--accent-rgb),.28),0 8px 18px rgba(var(--accent-hover-rgb),.2)}.dashboard-friends .member-indicator{width:8px;height:8px;border-radius:var(--radius-pill);background:rgba(var(--accent-rgb),.94);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.14)}.dashboard-friends .member-indicator.inactive{background:var(--text-muted);box-shadow:0 0 0 2px #ffffff0f}.dashboard-friends .friend-select-name{flex:1;min-width:0;font-size:13.5px;font-weight:550;letter-spacing:-.02px;color:#e7edf7}.dashboard-friends .friend-select-label.is-selected .friend-select-name{color:var(--accent-text-dim)}.dashboard-friends .friend-noauth{font-size:10px;color:#a8b4c5}.dashboard-shortcuts{gap:12px}.scanner-section{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 0 10px;gap:10px;animation:tabFadeIn .35s cubic-bezier(.16,1,.3,1) forwards}.scanner-section.is-dashboard{align-items:stretch;justify-content:flex-start;padding-top:0;padding-bottom:10px;gap:14px}.scanner-section:not(.is-dashboard) .btn{max-width:340px}.scanner-section:not(.is-dashboard) .status-message,.scanner-section:not(.is-dashboard) .results-list{max-width:340px}.scanner-section .btn-primary{background:linear-gradient(180deg,rgba(var(--accent-rgb),.96),rgba(var(--accent-hover-rgb),.96));color:var(--accent-text-on);border:1px solid rgba(var(--accent-rgb),.44);box-shadow:0 8px 18px rgba(var(--accent-hover-rgb),.24)}.scanner-section .btn-primary:hover{background:linear-gradient(180deg,rgba(var(--accent-rgb),1),rgba(var(--accent-hover-rgb),1))}.scanner-section .btn-secondary{background:#ffffff08;border-color:#ffffff24}.scanner-section .btn-secondary:hover{background:rgba(var(--accent-rgb),.1);border-color:rgba(var(--accent-rgb),.3);color:var(--accent-text-soft)}.scanner-section .status-message{padding:14px 16px;margin:8px 0 2px;max-width:340px;box-shadow:inset 0 1px #ffffff05}.scanner-section .status-message.scanning{background:#ffffff05;color:#b6c0ce;border-color:#ffffff1f}.scanner-section .status-message.processing{background:rgba(var(--accent-rgb),.12);color:var(--accent-text);border-color:rgba(var(--accent-rgb),.36)}.scanner-section .status-message.success{background:rgba(var(--accent-rgb),.14);color:var(--accent-text);border-color:rgba(var(--accent-rgb),.38)}.scanner-section .status-message.error{background:#ef444424;color:#ff9e9e;border-color:#ef444466}@media (max-width: 420px){.dashboard-hero-top{flex-direction:column;align-items:flex-start}.dashboard-profile-btn{width:100%}.dashboard-actions{grid-template-columns:1fr 1fr}.quick-action{min-height:50px;padding:9px 11px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes tabFadeIn{0%{opacity:0;transform:scale(.98) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.scanner-icon{width:100px;height:100px;margin-bottom:24px;opacity:.5;transition:opacity var(--transition-normal)}.scanner-section:hover .scanner-icon{opacity:.7}.scanner-title{font-size:13px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:2px;margin-bottom:20px}#qr-reader{width:100%;max-width:340px;border-radius:var(--radius-lg);overflow:hidden;background:#ffffff04;border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 1px #ffffff08,0 10px 24px #0003}#qr-reader video{border-radius:calc(var(--radius-lg) - 2px)}#qr-reader__scan_region{background:transparent!important}#qr-reader__dashboard{display:none!important}.btn{width:100%;padding:16px 24px;border:none;border-radius:var(--radius-md);font-family:Geist,system-ui,-apple-system,sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:all var(--transition-fast);text-transform:none;letter-spacing:0;-webkit-tap-highlight-color:transparent}.btn:active{transform:scale(var(--scale-press))}.btn-primary{background:rgba(var(--accent-rgb),.88);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--accent-text-on);border:.5px solid rgba(var(--accent-rgb),.3);box-shadow:0 2px 12px rgba(var(--accent-hover-rgb),.18),inset 0 .5px #fff3}.btn-primary:hover{background:rgba(var(--accent-rgb),.95)}.btn-secondary{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);color:var(--text-primary);border:.5px solid var(--glass-border);box-shadow:var(--glass-shadow)}.btn-secondary:hover{background:#ffffff0f;border-color:#ffffff24}.btn-danger{background:#ef444424;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#ffd0d0;border:.5px solid rgba(239,68,68,.25);box-shadow:inset 0 .5px #ffffff0f}.btn-danger:hover{background:#ef444433;border-color:#ef444466}.btn-large{padding:18px 24px;font-size:15px}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.status-message{display:flex;align-items:center;justify-content:center;gap:12px;padding:14px 20px;border-radius:var(--radius-md);font-size:14px;margin:16px 0;width:100%;max-width:300px;animation:fadeIn var(--transition-fast)}.status-message.scanning{background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border)}.status-message.processing{background:rgba(var(--accent-rgb),.1);color:var(--accent);border:1px solid rgba(var(--accent-rgb),.3)}.status-message.notice{background:var(--bg-card);color:var(--text-secondary);border:1px dashed rgba(var(--accent-rgb),.45)}.status-message.success{background:rgba(var(--accent-rgb),.12);color:var(--accent);border:1px solid rgba(var(--accent-rgb),.35)}.status-message.error{background:#ef44441f;color:var(--error);border:1px solid rgba(239,68,68,.35)}.status-icon{font-size:18px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px;margin-top:16px;width:100%}.card-title{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:12px}.results-list{width:100%;max-width:340px}.result-item{display:flex;align-items:center;justify-content:space-between;padding:12px 13px;background:#ffffff04;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);margin-bottom:8px;animation:fadeIn var(--transition-fast);transition:border-color var(--transition-fast),background var(--transition-fast),transform var(--transition-fast)}.result-item:hover{border-color:rgba(var(--accent-rgb),.28);background:rgba(var(--accent-rgb),.08);transform:translateY(-1px)}.result-item .name{font-size:13px;font-weight:500}.result-item .status-badge{padding:4px 10px;border-radius:var(--radius-xs);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.result-item .status-badge.success{background:rgba(var(--accent-rgb),.2);color:var(--accent)}.result-item .status-badge.error{background:#ef444433;color:var(--error)}.result-item .status-badge.pending{background:#eab30833;color:#ca8a04}.results-friend-note{font-size:11px;color:var(--text-secondary);margin:6px 0 0;text-align:center}.group-card{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:.5px solid var(--glass-border);border-radius:var(--radius-lg);padding:16px;margin-top:24px;width:100%;max-width:300px;box-shadow:var(--glass-shadow)}.group-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.group-title{font-size:13px;color:var(--text-secondary);font-weight:500}.group-count{font-size:12px;color:var(--accent);background:rgba(var(--accent-rgb),.15);padding:4px 10px;border-radius:var(--radius-pill)}.group-members{list-style:none}.group-members li{padding:10px 0;border-bottom:1px solid var(--border);font-size:13px;display:flex;align-items:center;gap:10px}.group-members li:last-child{border-bottom:none}.member-indicator{width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0}.group-hint{font-size:11px;color:var(--text-muted);margin-top:12px}.bottom-spacer{height:20px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.scanning-indicator{animation:pulse 1.5s ease-in-out infinite}.auth-warning{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 20px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);margin-bottom:20px;text-align:center;width:100%;max-width:300px}.auth-warning .warning-icon{width:32px;height:32px;background:#ef444433;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--error)}.auth-warning span{color:var(--text-secondary);font-size:13px}.auth-link{background:none;border:1px solid var(--border);color:var(--accent);padding:8px 16px;border-radius:var(--radius-sm);font-family:Geist,system-ui,-apple-system,sans-serif;font-size:12px;cursor:pointer;margin-top:4px;transition:all var(--transition-fast)}.auth-link:hover{background:rgba(var(--accent-rgb),.1)}.login-form{width:100%;max-width:300px;animation:fadeIn var(--transition-normal)}.login-header{text-align:center;margin-bottom:28px}.login-icon{width:56px;height:56px;margin-bottom:16px;opacity:.5}.login-header h2{font-size:18px;font-weight:600;margin-bottom:6px}.login-header p{font-size:13px;color:var(--text-secondary)}.login-2fa-meta{margin-top:10px;font-size:12px;color:var(--text-muted)}.input-group{margin-bottom:12px}.input-group input{width:100%;padding:var(--padding-input-y) var(--padding-input-x);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-family:Geist,system-ui,-apple-system,sans-serif;font-size:16px;outline:none;transition:border-color var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none;touch-action:manipulation;-webkit-user-select:text;user-select:text;transform:translateZ(0)}.input-group input:focus{border-color:var(--accent)}.input-group input::placeholder{color:var(--text-muted)}.input-group input:disabled{opacity:.6}.login-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-sm);padding:12px;margin-bottom:16px;color:var(--error);font-size:13px;text-align:center;animation:fadeIn var(--transition-fast)}.login-form .btn{margin-top:8px}.auth-required{display:flex;flex-direction:column;align-items:center;text-align:center;width:100%;max-width:300px}.auth-icon{width:72px;height:72px;margin-bottom:20px;opacity:.5}.auth-required h2{font-size:18px;font-weight:600;margin-bottom:8px}.auth-required p{font-size:14px;color:var(--text-secondary);margin-bottom:20px}.auth-required .btn{width:100%}.tabs{display:flex;margin-bottom:16px;--tabs-pad: 4px;--tabs-gap: 2px;--tab-count: 4;--active-index: 0;padding:var(--tabs-pad);background:#ffffff08;-webkit-backdrop-filter:blur(24px) saturate(1.6);backdrop-filter:blur(24px) saturate(1.6);border-radius:18px;border:1px solid rgba(255,255,255,.1);gap:var(--tabs-gap);position:relative;overflow:hidden;box-shadow:inset 0 .5px #ffffff14,inset 0 -.5px #0000000d,0 4px 16px #0000001f,0 1px 3px #00000014;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none}.tab-indicator{position:absolute;top:var(--tabs-pad);bottom:var(--tabs-pad);left:var(--tabs-pad);width:calc((100% - (var(--tabs-pad) * 2) - (var(--tabs-gap) * (var(--tab-count) - 1))) / var(--tab-count));background:linear-gradient(180deg,rgba(var(--accent-rgb),.88),rgba(var(--accent-hover-rgb),.82));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:.5px solid rgba(var(--accent-rgb),.35);border-radius:14px;transform:translate(calc(var(--active-index) * (100% + var(--tabs-gap))));transition:transform .25s cubic-bezier(.22,.61,.36,1);will-change:transform;z-index:0;box-shadow:0 4px 16px rgba(var(--accent-hover-rgb),.2),0 1px 4px rgba(var(--accent-hover-rgb),.12),inset 0 .5px #ffffff40,inset 0 -.5px #0000000a}.tabs.is-dragging .tab-indicator{transition:none}.tabs.is-dragging .tab{pointer-events:none}.tabs.is-dragging .tab.active{color:#b4c3d6bf;font-weight:560}.tabs.is-dragging .tab.active svg{opacity:.85}.tabs.is-dragging .tab.drag-target{color:var(--accent-text-on);font-weight:640}.tabs.is-dragging .tab.drag-target svg{opacity:1}.tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:10px 4px;background:transparent;border:none;border-radius:14px;color:#b4c3d6bf;font-family:Geist,system-ui,-apple-system,sans-serif;font-size:11px;font-weight:560;letter-spacing:.01em;cursor:pointer;transition:color .3s cubic-bezier(.32,.72,0,1),transform .2s cubic-bezier(.32,.72,0,1),background .3s cubic-bezier(.32,.72,0,1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;position:relative;z-index:1;-webkit-tap-highlight-color:transparent}.tab.active{color:var(--accent-text-on);font-weight:640}.tab:not(.active):hover{background:#ffffff0a;color:#d7e1eee6}.tab:active{transform:scale(.96)}.tab svg{flex-shrink:0;width:20px;height:20px;opacity:.88;transition:opacity .3s cubic-bezier(.32,.72,0,1)}.tab.active svg{opacity:1}@media (max-width: 340px){.tab{padding:10px 4px;gap:0}.tab span{display:none}.tab svg{width:19px;height:19px}}@media (min-width: 341px) and (max-width: 400px){.tab{padding:10px 5px;font-size:10px;gap:4px}.tab svg{width:20px;height:20px}}@media (min-width: 401px){.tab{flex-direction:row;gap:7px;padding:11px 8px;font-size:12px}.tab svg{width:20px;height:20px}}.grades-section{flex:1;display:flex;flex-direction:column;width:100%;animation:tabFadeIn .35s cubic-bezier(.16,1,.3,1) forwards}.grades-list{display:flex;flex-direction:column;gap:10px;width:100%}.grade-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:14px 16px}.subject-name{display:block;font-size:13px;color:var(--text-primary);margin-bottom:10px;line-height:1.4}.score-container{display:flex;align-items:center;gap:12px}.score-bar{flex:1;height:6px;background:var(--bg-secondary);border-radius:3px;overflow:hidden}.score-fill{height:100%;background:var(--accent);border-radius:3px;transition:width var(--transition-slow)}.score-value{font-size:14px;font-weight:600;color:var(--accent);min-width:40px;text-align:right}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;animation:fadeIn var(--transition-normal)}.empty-state p{color:var(--text-secondary);font-size:13px;margin-bottom:16px}.pulse-redirect{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center}.pulse-text{color:var(--text-secondary);font-size:14px;margin-bottom:20px;line-height:1.5}.pulse-btn{min-width:160px;text-decoration:none}.schedule-section{flex:1;display:flex;flex-direction:column;width:100%;animation:tabFadeIn .35s cubic-bezier(.16,1,.3,1) forwards}.schedule-panel{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:.5px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--card-padding);margin-bottom:16px;box-shadow:var(--glass-shadow)}.schedule-panel-title{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:12px}.schedule-panel-head{display:flex;align-items:stretch;justify-content:flex-start;flex-direction:column;flex-wrap:wrap;gap:12px;margin-bottom:12px}.schedule-panel-head .schedule-panel-title{margin-bottom:0}.schedule-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:4px;border-radius:var(--radius-pill);border:1px solid var(--border);background:#ffffff05;flex-shrink:0;width:100%}.schedule-mode{border:none;background:transparent;color:var(--text-secondary);font-family:inherit;font-size:12px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;min-height:36px;padding:0 12px;border-radius:var(--radius-pill);cursor:pointer;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1;white-space:nowrap;transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.schedule-mode.active{background:var(--accent);color:#000;font-weight:700}.schedule-mode:active{transform:scale(.98)}.schedule-controls{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;margin-bottom:8px}.schedule-input-wrap{position:relative;width:100%}.schedule-input{width:100%;padding:var(--padding-input-y) 44px var(--padding-input-y) var(--padding-input-x);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-family:Geist,system-ui,-apple-system,sans-serif;font-size:14px;letter-spacing:.1px;outline:none;transition:border-color var(--transition-fast)}.schedule-input-clear{position:absolute;top:50%;right:10px;transform:translateY(-50%);width:28px;height:28px;border-radius:var(--radius-pill);border:1px solid var(--border);background:#ffffff0f;color:var(--text-secondary);font-family:inherit;font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.schedule-input-clear:hover{background:#ffffff1a;color:var(--text-primary)}.schedule-input-clear:active{transform:translateY(-50%) scale(.96)}.schedule-input.upper{letter-spacing:.3px;text-transform:uppercase}.schedule-input:focus{border-color:var(--accent)}.schedule-input::placeholder{text-transform:none;color:var(--text-muted)}.schedule-controls .btn{width:auto;padding:12px 18px;border-radius:var(--radius-md);font-size:13px;font-weight:600;margin-top:0}.schedule-hint{font-size:11px;color:var(--text-muted);margin:0}.schedule-advanced{margin-top:10px;padding-top:10px;border-top:1px dashed rgba(255,255,255,.08);display:flex;flex-direction:column;gap:8px}.schedule-advanced-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.schedule-advanced-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.9px}.schedule-select{background:#ffffff0a;border:1px solid var(--border);color:var(--text-primary);border-radius:var(--radius-pill);padding:8px 10px;font-family:inherit;font-size:12px;outline:none}.schedule-advanced-hint{font-size:11px;color:var(--text-secondary)}.schedule-suggestions{margin-top:10px;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;background:#ffffff05}.schedule-suggestion{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:none;background:transparent;color:var(--text-primary);cursor:pointer;text-align:left;transition:background var(--transition-fast)}.schedule-suggestion+.schedule-suggestion{border-top:1px solid rgba(255,255,255,.06)}.schedule-suggestion:hover{background:#ffffff08}.schedule-suggestion-meta{font-size:11px;color:var(--text-secondary);background:#ffffff0a;border:1px solid rgba(255,255,255,.08);padding:4px 8px;border-radius:var(--radius-pill)}.schedule-list{display:flex;flex-direction:column;gap:16px}.schedule-resolved{font-size:12px;color:var(--text-secondary);margin-bottom:4px;padding-left:2px}.schedule-day{display:flex;flex-direction:column;gap:10px;animation:fadeIn var(--transition-fast)}.schedule-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.schedule-toolbar-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.schedule-toolbar-right{display:flex;align-items:center;gap:10px}.schedule-view{display:flex;gap:6px}.schedule-pill{border:1px solid var(--border);background:#ffffff05;color:var(--text-secondary);font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;padding:8px 10px;border-radius:var(--radius-pill);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.schedule-pill.active{background:var(--accent);color:#000;font-weight:600}.schedule-pill:active{transform:scale(var(--scale-press))}.schedule-nav{display:flex;align-items:center;gap:8px}.schedule-icon-btn{width:var(--icon-btn-size);height:var(--icon-btn-size);border-radius:var(--radius-pill);border:1px solid var(--border);background:#ffffff05;color:var(--text-primary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:transform var(--transition-fast),background var(--transition-fast)}.schedule-icon-btn:active{transform:scale(var(--scale-press))}.schedule-range{font-size:12px;color:var(--text-secondary);font-weight:600;letter-spacing:.2px}.schedule-date{font-size:12px;color:var(--text-secondary);text-transform:capitalize;padding-left:2px;font-weight:500}.schedule-cards{display:flex;flex-direction:column;gap:8px}.schedule-card{background:var(--glass-bg);border:.5px solid var(--glass-border);border-left:3px solid var(--accent);border-radius:var(--radius-md);padding:12px 14px;display:flex;flex-direction:column;gap:4px;transition:transform var(--transition-fast),border-color var(--transition-fast)}.schedule-card:hover{border-left-color:var(--accent-hover)}.schedule-time{font-size:12px;color:var(--accent);font-weight:600;letter-spacing:.2px}.schedule-title{font-size:13px;color:var(--text-primary);line-height:1.4}.schedule-location{font-size:12px;color:var(--text-secondary)}.schedule-description{font-size:11px;color:var(--text-muted);white-space:pre-line;margin-top:2px}.schedule-empty-day{padding:10px 12px;border:1px dashed rgba(255,255,255,.12);border-radius:var(--radius-md);color:var(--text-muted);font-size:12px;background:#ffffff05}.schedule-raw{margin-top:12px;padding:12px;border:1px dashed var(--border);border-radius:var(--radius-md);background:#ffffff05;font-size:11px;color:var(--text-secondary)}.schedule-raw-title{font-size:12px;font-weight:600;margin-bottom:8px}.schedule-raw pre{white-space:pre-wrap;word-break:break-word;margin:0;color:var(--text-muted)}.schedule-section{gap:12px}.schedule-panel{margin-bottom:0;display:flex;flex-direction:column;gap:14px;background:linear-gradient(180deg,#ffffff05,#ffffff03);border-color:#ffffff1a;box-shadow:inset 0 1px #ffffff08,0 10px 26px #0003}.schedule-panel-secondary{gap:12px;padding:14px}.schedule-panel-secondary .schedule-panel-subtitle,.schedule-panel-secondary .schedule-hint{display:none}.schedule-panel-head{align-items:flex-start;justify-content:space-between;flex-direction:row;margin-bottom:0;gap:10px}.schedule-panel-title{font-size:16px;font-weight:650;letter-spacing:-.15px;margin-bottom:0}.schedule-panel-subtitle{margin-top:4px;font-size:12px;color:#98a3b3;line-height:1.45}.schedule-mode-badge{flex:0 0 auto;border:1px solid rgba(var(--accent-rgb),.3);background:linear-gradient(180deg,rgba(var(--accent-rgb),.2),rgba(var(--accent-rgb),.1));color:var(--accent-text);border-radius:var(--radius-pill);padding:5px 10px;font-size:10px;font-weight:700;letter-spacing:.45px;text-transform:uppercase}.schedule-modes-wrap{border:1px solid rgba(255,255,255,.09);border-radius:var(--radius-md);background:#03080b66;padding:7px;box-shadow:inset 0 1px #ffffff08}.schedule-modes{margin:0;gap:7px}.schedule-mode{min-height:38px;font-size:12px;font-weight:630;letter-spacing:.15px;text-transform:none;border:1px solid transparent}.schedule-mode:hover{color:#d4deea;background:#ffffff08}.schedule-mode.active{background:linear-gradient(180deg,rgba(var(--accent-rgb),.95),rgba(var(--accent-hover-rgb),.95));border-color:rgba(var(--accent-rgb),.45);color:var(--accent-text-on);box-shadow:0 6px 16px rgba(var(--accent-hover-rgb),.25)}.schedule-controls{margin-bottom:0;gap:10px;align-items:stretch}.schedule-controls .btn{border-radius:var(--radius-pill);padding:12px 18px;min-height:46px;border:1px solid rgba(var(--accent-rgb),.36);background:linear-gradient(180deg,rgba(var(--accent-rgb),.2),rgba(var(--accent-rgb),.12));color:var(--accent-text-soft);box-shadow:inset 0 1px #ffffff0f}.schedule-controls .btn:hover:not(:disabled){background:linear-gradient(180deg,rgba(var(--accent-rgb),.28),rgba(var(--accent-rgb),.18))}.schedule-controls .btn:disabled{opacity:.6}.schedule-panel .schedule-input{background:#070a0ea8;border-color:#ffffff1a;border-radius:13px;min-height:46px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.schedule-panel .schedule-input:focus{border-color:rgba(var(--accent-rgb),.5);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.14);background:#080c10e6}.schedule-panel .schedule-input::placeholder{color:#8190a3}.schedule-panel .schedule-input-clear{border-color:#ffffff1f;background:#ffffff0a;color:#9aa8ba}.schedule-panel .schedule-input-clear:hover{background:rgba(var(--accent-rgb),.15);color:var(--accent-text-soft);border-color:rgba(var(--accent-rgb),.32)}.schedule-hint{margin-top:0;padding-left:2px;color:#8190a3;line-height:1.45}.schedule-suggestions{margin-top:0;border:1px solid rgba(255,255,255,.09);border-radius:var(--radius-md);background:#05090d80;box-shadow:inset 0 1px #ffffff08}.schedule-suggestion{min-height:46px;padding:11px 13px;transition:background var(--transition-fast),border-color var(--transition-fast)}.schedule-suggestion:hover{background:rgba(var(--accent-rgb),.12)}.schedule-suggestion+.schedule-suggestion{border-top-color:#ffffff14}.schedule-suggestion-name{font-size:13px;font-weight:600}.schedule-suggestion-meta{background:rgba(var(--accent-rgb),.16);border-color:rgba(var(--accent-rgb),.28);color:var(--accent-text-soft)}.schedule-hero{border:1px solid var(--hero-border);background:var(--hero-bg);border-radius:var(--radius-md);padding:12px}.schedule-hero-label{font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--hero-label-color)}.schedule-hero-main{margin-top:10px;display:flex;align-items:center;justify-content:space-between;gap:12px}.schedule-hero-left{min-width:0}.schedule-hero-name{font-size:17px;font-weight:650;color:var(--text-primary);letter-spacing:-.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-hero-sub{margin-top:4px;font-size:12px;color:var(--text-secondary)}.schedule-hero-count{flex:0 0 auto;font-size:31px;font-weight:700;line-height:1;color:var(--accent-text);letter-spacing:-.75px;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.schedule-results-card{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:.5px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--card-padding);display:flex;flex-direction:column;gap:12px;box-shadow:var(--glass-shadow)}.schedule-toolbar{margin-bottom:0;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.08)}.schedule-list{gap:10px}.schedule-day{gap:9px;border:1px solid rgba(255,255,255,.08);background:#ffffff03;border-radius:var(--radius-md);padding:11px}.schedule-day-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.schedule-date{font-size:13px;font-weight:600;color:#d7dee9;text-transform:capitalize}.schedule-day-count{flex:0 0 auto;font-size:10px;font-weight:600;letter-spacing:.35px;text-transform:uppercase;color:#9aa8ba;border:1px solid rgba(255,255,255,.15);background:#ffffff0b;border-radius:var(--radius-pill);padding:4px 9px}.schedule-cards{gap:9px}.schedule-card{background:#ffffff04;border:1px solid rgba(255,255,255,.09);border-left:3px solid var(--accent);border-radius:12px;padding:12px 13px;gap:5px;transition:opacity var(--transition-fast),transform var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.schedule-card:hover{border-left-color:var(--accent);border-color:rgba(var(--accent-rgb),.32);background:rgba(var(--accent-rgb),.08);transform:translateY(-1px)}.schedule-time{display:inline-flex;align-items:center;align-self:flex-start;font-size:11px;font-weight:700;color:var(--accent-text);border:1px solid rgba(var(--accent-rgb),.3);background:rgba(var(--accent-rgb),.14);border-radius:var(--radius-pill);padding:3px 8px;letter-spacing:.2px}.schedule-title{font-size:15px;font-weight:600;color:var(--text-primary);line-height:1.35;letter-spacing:-.1px}.schedule-location{font-size:12px;color:#a9b4c2}.schedule-description{font-size:11px;color:#7f8b9c;line-height:1.42}.schedule-view{gap:4px;padding:3px;border:1px solid rgba(255,255,255,.1);background:#ffffff05;border-radius:var(--radius-pill)}.schedule-pill{min-height:34px;padding:7px 11px;border-color:transparent;font-size:11px;font-weight:650;letter-spacing:.25px;text-transform:none}.schedule-pill:not(.active):hover{color:#d4deea;background:#ffffff0f}.schedule-pill.active{background:rgba(var(--accent-rgb),.2);border-color:rgba(var(--accent-rgb),.42);color:var(--accent-text);box-shadow:inset 0 1px #ffffff17}.schedule-nav{gap:6px;padding:3px;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-pill);background:#ffffff04}.schedule-icon-btn{border-color:transparent;background:#ffffff08;width:34px;height:34px;color:#d0d9e4}.schedule-icon-btn:hover{background:#ffffff17;color:#fff}.schedule-range{padding:0 6px;font-size:12px;color:#b5c0cf}.schedule-empty-day{padding:10px 12px;border:1px dashed rgba(255,255,255,.14);border-radius:11px;color:#8d9aad;font-size:12px;background:#ffffff05}@media (max-width: 420px){.schedule-panel-head{flex-direction:column;align-items:flex-start}.schedule-controls{grid-template-columns:1fr}.schedule-controls .btn{width:100%}.schedule-toolbar{gap:10px}.schedule-toolbar-left,.schedule-nav{width:100%;justify-content:space-between}.schedule-range{flex:1 1 auto;text-align:center}.schedule-hero-main{flex-direction:row;align-items:center;justify-content:space-between;gap:10px}.schedule-hero-left{flex:1 1 auto;min-width:0}}.maps-section{flex:1;display:flex;flex-direction:column;width:100%;gap:14px;animation:tabFadeIn .35s cubic-bezier(.16,1,.3,1) forwards}.maps-shell{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:.5px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--card-padding);display:flex;flex-direction:column;gap:10px;box-shadow:var(--glass-shadow)}.maps-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.maps-title{font-size:16px;font-weight:650;color:var(--text-primary);letter-spacing:-.15px}.maps-subtitle{margin-top:5px;font-size:12px;color:#9aa6b6;line-height:1.45}.maps-hero{border:1px solid var(--hero-border);background:var(--hero-bg);border-radius:var(--radius-md);padding:13px}.maps-hero-label{font-size:11px;font-weight:600;letter-spacing:1.05px;text-transform:uppercase;color:var(--hero-label-color)}.maps-hero-main{margin-top:11px;display:flex;align-items:center;justify-content:space-between;gap:12px}.maps-hero-left{min-width:0}.maps-hero-name{font-size:18px;font-weight:650;color:var(--text-primary);letter-spacing:-.25px;line-height:1.2}.maps-hero-sub{margin-top:5px;font-size:12px;color:#9ba8ba;line-height:1.45}.maps-hero-right{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.maps-meta-chip{border:1px solid rgba(var(--accent-rgb),.36);background:rgba(var(--accent-rgb),.16);color:var(--accent-text);border-radius:var(--radius-pill);padding:5px 9px;font-size:10px;font-weight:650;letter-spacing:.45px;text-transform:uppercase;white-space:nowrap}.maps-controls{border:1px solid rgba(255,255,255,.1);background:#ffffff05;border-radius:var(--radius-md);box-shadow:inset 0 1px #ffffff05;overflow:hidden}.maps-control-row{display:flex;align-items:flex-start;gap:11px;padding:10px 11px}.maps-control-row+.maps-control-row{border-top:1px solid rgba(255,255,255,.08)}.maps-control-label{flex:0 0 54px;margin-top:2px;font-size:10px;font-weight:650;letter-spacing:.85px;text-transform:uppercase;color:#9eacbe}.maps-control-chips{display:flex;flex-wrap:wrap;gap:6px;min-width:0}.maps-chip{border:1px solid rgba(255,255,255,.14);background:#ffffff0a;color:#b9c5d4;font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.25px;padding:7px 11px;border-radius:var(--radius-pill);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast),border-color var(--transition-fast)}.maps-floor-chip{font-size:10px;text-transform:uppercase}.maps-chip:hover{border-color:rgba(var(--accent-rgb),.3);background:rgba(var(--accent-rgb),.11);color:var(--accent-text-dim)}.maps-chip.active{background:rgba(var(--accent-rgb),.2);color:var(--accent-text);border-color:rgba(var(--accent-rgb),.42);box-shadow:inset 0 1px #ffffff14}.maps-chip:active{transform:scale(var(--scale-press))}.maps-control-row-toolbar{align-items:center;justify-content:space-between}.maps-toolbar-inline{display:inline-flex;align-items:center;gap:6px}.maps-zoom-btn,.maps-reset-btn{border:1px solid rgba(255,255,255,.14);background:#ffffff0a;color:#d3dcea;font-family:inherit;border-radius:var(--radius-pill);cursor:pointer;transition:transform var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.maps-zoom-btn{width:35px;height:35px;font-size:20px;line-height:1}.maps-reset-btn{height:35px;padding:0 13px;font-size:12px;font-weight:650}.maps-zoom-btn:hover,.maps-reset-btn:hover{border-color:rgba(var(--accent-rgb),.32);background:rgba(var(--accent-rgb),.12);color:var(--accent-text-dim)}.maps-zoom-btn:disabled,.maps-reset-btn:disabled{opacity:.5;cursor:not-allowed}.maps-zoom-btn:active,.maps-reset-btn:active{transform:scale(var(--scale-press))}.maps-viewer{background:linear-gradient(180deg,#ffffff06,#ffffff03);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);min-height:56vh;max-height:72vh;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;touch-action:none;cursor:grab;box-shadow:inset 0 1px #ffffff05}.maps-viewer.is-dragging{cursor:grabbing}.maps-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;color:#a4afbe;font-size:13px;text-align:center}.maps-placeholder-error{color:#ff9a9a;gap:12px}.maps-retry-btn{border:1px solid rgba(239,68,68,.4);background:#ef44442e;color:#ffd5d5;border-radius:var(--radius-pill);padding:8px 12px;font-family:inherit;font-size:12px;font-weight:700;cursor:pointer;transition:transform var(--transition-fast),background var(--transition-fast)}.maps-retry-btn:active{transform:scale(var(--scale-press))}.maps-stage{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform}.maps-image{display:block;width:auto;height:auto;max-width:none;max-height:none;background:#fff}.maps-image.is-hidden,.maps-stage.is-hidden{display:none}.maps-gesture-hint{margin-top:3px;font-size:11px;color:#95a3b6;line-height:1.4;text-align:center}.maps-search{position:relative}.maps-search-field{display:flex;align-items:center;gap:8px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:0 12px;height:42px}.maps-search-icon{flex-shrink:0;color:#95a3b6}.maps-search-input{flex:1;background:none;border:none;outline:none;color:inherit;font-size:14px;font-family:inherit;padding:0}.maps-search-input::placeholder{color:#95a3b6}.maps-search-clear{flex-shrink:0;background:none;border:none;color:#95a3b6;padding:4px;cursor:pointer;display:flex;align-items:center}.maps-search-results{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--card-bg, #1a2233);border:1px solid rgba(255,255,255,.1);border-radius:12px;overflow:hidden;z-index:20;box-shadow:0 8px 24px #0000004d}.maps-search-empty{padding:12px 16px;font-size:13px;color:#95a3b6;text-align:center}.maps-search-result{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 16px;background:none;border:none;border-bottom:1px solid rgba(255,255,255,.05);color:inherit;font-size:14px;font-family:inherit;cursor:pointer;text-align:left}.maps-search-result:last-child{border-bottom:none}.maps-search-result:active{background:#ffffff0f}.maps-search-result-name{font-weight:500}.maps-search-result-meta{font-size:12px;color:#95a3b6;flex-shrink:0;margin-left:8px}.maps-search-found{margin-top:6px;font-size:13px;color:var(--accent-text, #5ba4f5);text-align:center}.maps-room-highlight{position:absolute;width:24px;height:24px;margin-left:-12px;margin-top:-12px;border-radius:50%;background:#5ba4f559;border:3px solid #5ba4f5;pointer-events:none;animation:room-pulse 1.5s ease-in-out infinite}@keyframes room-pulse{0%,to{transform:scale(1);box-shadow:0 0 #5ba4f566}50%{transform:scale(1.3);box-shadow:0 0 0 8px #5ba4f500}}@media (max-width: 420px){.maps-shell{gap:10px}.maps-hero-main{flex-direction:column;align-items:flex-start}.maps-hero-right{width:100%;justify-content:flex-start}.maps-control-row{flex-direction:column;gap:7px}.maps-control-label{flex:initial;margin-top:0}.maps-control-row-toolbar{flex-direction:row;align-items:center}.maps-toolbar-inline{width:auto}.maps-viewer{min-height:50vh;max-height:66vh}}.passes-section{flex:1;display:flex;flex-direction:column;width:100%;gap:14px;animation:tabFadeIn .35s cubic-bezier(.16,1,.3,1) forwards}.passes-card{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:.5px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--card-padding);display:flex;flex-direction:column;gap:16px;box-shadow:var(--glass-shadow)}.passes-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.passes-title{font-size:16px;font-weight:650;color:var(--text-primary);letter-spacing:-.15px}.passes-subtitle{margin-top:5px;font-size:12px;color:#9aa6b6;line-height:1.45}.passes-header .btn-compact{min-height:42px;padding:11px 16px;border-radius:var(--radius-pill);border:1px solid rgba(255,255,255,.14);background:#ffffff08;color:#d6dfea}.passes-header .btn-compact:hover:not(:disabled){border-color:rgba(var(--accent-rgb),.3);background:rgba(var(--accent-rgb),.1);color:var(--accent-text-soft)}.passes-wrap{display:flex;flex-direction:column;gap:13px}.passes-hero{border:1px solid var(--hero-border);background:var(--hero-bg);border-radius:var(--radius-md);padding:13px}.passes-hero-label{font-size:11px;font-weight:600;letter-spacing:1.05px;text-transform:uppercase;color:var(--hero-label-color)}.passes-hero-main{margin-top:11px;display:flex;align-items:center;justify-content:space-between;gap:13px}.passes-hero-left{min-width:0}.passes-hero-count{font-size:18px;font-weight:650;color:var(--text-primary);letter-spacing:-.25px;line-height:1.2}.passes-hero-sub{margin-top:5px;font-size:12px;color:#9ba8ba;line-height:1.45}.passes-hero-time{flex:0 0 auto;font-size:31px;font-weight:700;line-height:1;letter-spacing:-.75px;color:var(--accent-text);font-variant-numeric:tabular-nums}.passes-list{display:flex;flex-direction:column;gap:9px}.passes-item{border:1px solid rgba(255,255,255,.1);background:#ffffff04;border-radius:var(--radius-sm);padding:13px;transition:opacity var(--transition-fast),transform var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.passes-item:hover{border-color:rgba(var(--accent-rgb),.3);background:rgba(var(--accent-rgb),.09);transform:translateY(-1px)}.passes-item-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.passes-time-wrap{display:flex;align-items:center;gap:10px}.passes-dot{width:8px;height:8px;border-radius:var(--radius-pill);background:var(--accent-text);flex:0 0 auto;box-shadow:0 0 0 4px rgba(var(--accent-rgb),.2)}.passes-time{font-size:20px;font-weight:700;color:var(--accent-text);letter-spacing:-.35px;font-variant-numeric:tabular-nums}.passes-duration-badge{font-size:10px;font-weight:600;letter-spacing:.4px;color:#a6b2c2;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);padding:4px 8px;border-radius:var(--radius-pill);text-transform:uppercase}.passes-route{display:flex;align-items:center;gap:8px;min-width:0}.passes-zone{font-size:13px;color:#d8e0ea;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.passes-arrow{flex:0 0 auto;color:#8f9db0}@media (max-width: 520px){.passes-header{flex-direction:column;align-items:stretch}.passes-header .btn-compact{width:100%}.passes-hero-main{flex-direction:column;align-items:flex-start;gap:9px}.passes-item-top{flex-wrap:wrap;margin-bottom:9px}.passes-duration-badge{margin-left:auto}}.azan-section{flex:1;display:flex;flex-direction:column;width:100%;gap:14px;animation:tabFadeIn .35s cubic-bezier(.16,1,.3,1) forwards}.azan-card{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:.5px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--card-padding);display:flex;flex-direction:column;gap:16px;box-shadow:var(--glass-shadow)}.azan-header{display:flex;align-items:flex-start;justify-content:flex-start;gap:14px}.azan-header-actions{display:flex;align-items:center;justify-content:flex-end}.azan-title{font-size:16px;font-weight:650;color:var(--text-primary);letter-spacing:-.15px}.azan-location{font-size:12px;color:#a0adbe;margin-top:5px;line-height:1.45}.azan-date{font-size:12px;color:#95a3b6;text-transform:capitalize;margin-top:3px}.azan-header .btn-compact,.azan-header-actions .btn-compact{min-height:42px;padding:11px 16px;border-radius:var(--radius-pill);border:1px solid rgba(255,255,255,.14);background:#ffffff08;color:#d6dfea}.azan-header .btn-compact:hover:not(:disabled),.azan-header-actions .btn-compact:hover:not(:disabled){border-color:rgba(var(--accent-rgb),.3);background:rgba(var(--accent-rgb),.1);color:var(--accent-text-soft)}.azan-times{display:flex;flex-direction:column;gap:9px}.azan-times-wrap{display:flex;flex-direction:column;gap:13px}.azan-hero{border:1px solid var(--hero-border);background:var(--hero-bg);border-radius:var(--radius-md);padding:13px}.azan-hero-label{font-size:11px;font-weight:600;letter-spacing:1.05px;text-transform:uppercase;color:var(--hero-label-color)}.azan-hero-main{margin-top:11px;display:flex;align-items:center;justify-content:space-between;gap:13px}.azan-hero-left{min-width:0}.azan-hero-name{font-size:18px;font-weight:650;color:var(--text-primary);letter-spacing:-.25px;line-height:1.2}.azan-hero-sub{margin-top:5px;font-size:12px;color:#9ba8ba;line-height:1.45}.azan-hero-time{flex:0 0 auto;font-size:31px;font-weight:700;line-height:1;letter-spacing:-.75px;color:var(--accent-text);font-variant-numeric:tabular-nums}.azan-row{display:flex;align-items:center;justify-content:space-between;padding:13px;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);background:#ffffff04;transition:opacity var(--transition-fast),transform var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.azan-row:last-child{margin-bottom:0}.azan-row:first-child{margin-top:0}.azan-row.is-next{border-color:rgba(var(--accent-rgb),.4);background:rgba(var(--accent-rgb),.11);transform:translateY(-1px)}.azan-row.is-passed{opacity:.62}.azan-name{display:flex;align-items:center;gap:10px;min-width:0}.azan-dot{width:8px;height:8px;border-radius:var(--radius-pill);background:#8b99ab;flex:0 0 auto}.azan-row.is-next .azan-dot{background:var(--accent);box-shadow:0 0 0 4px rgba(var(--accent-rgb),.18)}.azan-name-stack{min-width:0;display:flex;align-items:baseline;gap:8px}.azan-label{font-size:15px;font-weight:580;color:#dbe4ee;letter-spacing:-.05px}.azan-row.is-next .azan-label{font-weight:600}.azan-right{display:flex;align-items:center;gap:8px;flex:0 0 auto}.azan-time{font-size:20px;font-weight:700;color:var(--accent-text);letter-spacing:-.4px;font-variant-numeric:tabular-nums}.azan-next-badge{font-size:10px;font-weight:600;letter-spacing:.4px;color:#a6b2c2;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);padding:4px 8px;border-radius:var(--radius-pill);text-transform:uppercase}.azan-next-badge.is-next{color:var(--accent-text);border-color:rgba(var(--accent-rgb),.4);background:rgba(var(--accent-rgb),.16)}@media (max-width: 520px){.azan-header{flex-direction:column;align-items:stretch}.azan-header-actions .btn-compact{width:100%}.azan-hero-main{flex-direction:row;align-items:center;justify-content:space-between;gap:10px}.azan-hero-left{flex:1 1 auto;min-width:0}.azan-hero-time{flex:0 0 auto;white-space:nowrap;text-align:right}.azan-right{gap:7px}.azan-time{font-size:18px}}.esports-section{flex:1;display:flex;flex-direction:column;width:100%;gap:14px;animation:tabFadeIn .35s cubic-bezier(.16,1,.3,1) forwards}.esports-shell{background:#ffffff0a;-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border:.5px solid rgba(255,255,255,.12);border-radius:20px;padding:var(--card-padding);display:flex;flex-direction:column;gap:16px;box-shadow:0 2px 12px #0000000f,inset 0 .5px #ffffff1a}.esports-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.esports-title{font-size:16px;font-weight:650;color:var(--text-primary);letter-spacing:-.15px}.esports-subtitle{margin-top:5px;font-size:12px;color:#9aa6b6;line-height:1.45}.esports-login{display:flex;flex-direction:column;align-items:center;gap:14px;padding:12px 0 4px}.esports-login-icon{color:var(--text-secondary);opacity:.6}.esports-login-title{font-size:17px;font-weight:650;color:var(--text-primary);letter-spacing:-.2px}.esports-login-subtitle{font-size:13px;color:var(--text-secondary);text-align:center;line-height:1.5;max-width:280px}.esports-login-form{display:flex;flex-direction:column;gap:10px;width:100%;margin-top:4px}.esports-input{width:100%;padding:13px 16px;border-radius:12px;border:.5px solid rgba(255,255,255,.14);background:#ffffff0d;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--text-primary);font-size:15px;outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);box-sizing:border-box;box-shadow:inset 0 .5px #ffffff0f}.esports-input:focus{border-color:rgba(var(--accent-rgb),.5);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.1),inset 0 .5px #ffffff0f}.esports-input::placeholder{color:var(--text-secondary);opacity:.6}:root[data-theme=light] .esports-input{background:#00000008;border-color:#788da84d}.esports-login-error{font-size:12px;color:var(--error);text-align:center}.esports-login-btn{margin-top:4px}.esports-flow{display:flex;flex-direction:column;gap:16px}.esports-field{display:flex;flex-direction:column;gap:8px}.esports-field-label{font-size:11px;font-weight:600;letter-spacing:1.05px;text-transform:uppercase;color:var(--text-secondary)}.esports-row{display:flex;gap:12px}.esports-field-flex{flex:1;min-width:0}.esports-chips{display:flex;flex-wrap:wrap;gap:7px}.esports-chips-scroll{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}.esports-chips-scroll::-webkit-scrollbar{display:none}.esports-chip{flex:0 0 auto;padding:8px 14px;border-radius:var(--radius-pill);border:.5px solid rgba(255,255,255,.14);background:#ffffff0d;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;box-shadow:inset 0 .5px #ffffff0f;transition:transform .3s cubic-bezier(.34,1.56,.64,1),background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast)}.esports-chip:hover{border-color:#ffffff38;background:#ffffff14}.esports-chip:active{transform:scale(.95)}.esports-chip.active{border-color:rgba(var(--accent-rgb),.4);background:rgba(var(--accent-rgb),.12);color:var(--accent-text);font-weight:600;box-shadow:0 1px 4px rgba(var(--accent-rgb),.08),inset 0 .5px rgba(var(--accent-rgb),.12)}:root[data-theme=light] .esports-chip{border-color:#ffffff80;background:#ffffff73;color:var(--text-secondary);box-shadow:0 1px 3px #0000000a,inset 0 .5px #ffffffb3}:root[data-theme=light] .esports-chip:hover{background:rgba(var(--accent-rgb),.08);border-color:rgba(var(--accent-rgb),.25)}:root[data-theme=light] .esports-chip.active{border-color:rgba(var(--accent-rgb),.4);background:rgba(var(--accent-rgb),.1);color:var(--accent-hover);box-shadow:0 1px 4px rgba(var(--accent-rgb),.08),inset 0 .5px #ffffff80}:root[data-theme=light] .esports-hero{border-color:#ffffff80;background:#ffffff73;box-shadow:0 2px 8px #0000000a,inset 0 .5px #fffc}:root[data-theme=light] .esports-hero-item{border-color:#0000000f;background:#fff6;box-shadow:inset 0 .5px #fff9}:root[data-theme=light] .esports-device-card,:root[data-theme=light] .esports-booking-card{border-color:#ffffff80;background:#fff6;box-shadow:0 1px 4px #0000000a,inset 0 .5px #ffffffb3}:root[data-theme=light] .esports-cancel-btn.esports-cancel-btn{border-color:#00000014;background:#ffffff80;box-shadow:0 1px 3px #0000000a,inset 0 .5px #fff9}:root[data-theme=light] .esports-cancel-btn.esports-cancel-btn:hover:not(:disabled){border-color:#dc26264d;background:#dc26260f;color:#dc2626}:root[data-theme=light] .esports-input{background:#ffffff80;border-color:#00000014;box-shadow:0 1px 3px #00000008,inset 0 .5px #fff9}:root[data-theme=light] .esports-input:focus{border-color:rgba(var(--accent-rgb),.45);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.08),inset 0 .5px #fff9}.esports-search-btn{margin-top:4px}.esports-actions{display:flex;gap:9px}.esports-action-btn{flex:1;min-height:42px;padding:11px 16px;border-radius:var(--radius-pill);border:.5px solid rgba(255,255,255,.14);background:#ffffff0d;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#d6dfea;font-size:13px;font-weight:500;box-shadow:inset 0 .5px #ffffff14;transition:transform .3s cubic-bezier(.34,1.56,.64,1),background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.esports-action-btn:hover:not(:disabled){border-color:rgba(var(--accent-rgb),.3);background:rgba(var(--accent-rgb),.1);color:var(--accent-text-soft)}.esports-action-btn:active:not(:disabled){transform:scale(.97)}.esports-logout-btn{border-color:#ef44444d!important;color:#f87171!important}.esports-logout-btn:hover{border-color:#ef444480!important;background:#ef444414!important;color:#f87171!important}:root[data-theme=light] .esports-action-btn{background:#0f172a08;border-color:#64748b47;color:#1f2d40}:root[data-theme=light] .esports-action-btn:hover:not(:disabled){background:rgba(var(--accent-rgb),.12);border-color:rgba(var(--accent-rgb),.34);color:#184a2d}:root[data-theme=light] .esports-logout-btn{border-color:#dc26264d!important;color:#dc2626!important}:root[data-theme=light] .esports-logout-btn:hover{border-color:#dc262680!important;background:#dc26260f!important;color:#dc2626!important}.esports-subscreen{display:flex;flex-direction:column;gap:14px}.esports-subscreen-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.esports-subscreen-top .btn-compact{min-height:40px;padding:10px 18px;border-radius:var(--radius-pill);border:.5px solid rgba(255,255,255,.16);background:#ffffff0f;-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);color:#d6dfea;box-shadow:0 1px 3px #00000014,inset 0 .5px #ffffff1a}.esports-subscreen-top .btn-compact:hover:not(:disabled){border-color:rgba(var(--accent-rgb),.35);background:rgba(var(--accent-rgb),.12);color:var(--accent-text-soft)}.esports-back-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 0;border:none;background:none;color:var(--accent);font-size:13px;font-weight:600;cursor:pointer;align-self:flex-start}.esports-hero{border:.5px solid rgba(255,255,255,.14);background:#ffffff0d;-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border-radius:16px;padding:14px;box-shadow:0 2px 8px #0000000f,inset 0 .5px #ffffff1f}.esports-hero-label{font-size:11px;font-weight:600;letter-spacing:1.05px;text-transform:uppercase;color:var(--hero-label-color)}.esports-hero-main{margin-top:10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.esports-hero-item{border:.5px solid rgba(255,255,255,.1);background:#ffffff0a;border-radius:12px;padding:12px;box-shadow:inset 0 .5px #ffffff0f}.esports-hero-value{font-size:22px;font-weight:700;letter-spacing:-.5px;color:var(--accent-text);font-variant-numeric:tabular-nums}.esports-hero-caption{margin-top:3px;font-size:11px;color:#9eabbd}.esports-results{display:flex;flex-direction:column;gap:14px}.esports-cat-group{display:flex;flex-direction:column;gap:8px}.esports-cat-label{font-size:11px;font-weight:600;letter-spacing:1.05px;text-transform:uppercase;color:var(--hero-label-color)}.esports-device-list{display:flex;flex-direction:column;gap:8px}.esports-device-card{border:.5px solid rgba(255,255,255,.12);border-radius:14px;padding:14px;background:#ffffff0a;-webkit-backdrop-filter:blur(16px) saturate(170%);backdrop-filter:blur(16px) saturate(170%);display:flex;flex-direction:column;gap:10px;box-shadow:0 1px 4px #0000000d,inset 0 .5px #ffffff14;transition:transform .3s cubic-bezier(.34,1.56,.64,1),border-color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast)}.esports-device-card:hover{border-color:rgba(var(--accent-rgb),.3);background:rgba(var(--accent-rgb),.07);box-shadow:0 2px 10px rgba(var(--accent-rgb),.08),inset 0 .5px #ffffff1a}.esports-device-card.is-clickable{cursor:pointer}.esports-device-card.is-clickable:active{transform:scale(.97)}.esports-device-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.esports-device-name{font-size:15px;font-weight:600;color:var(--text-primary);line-height:1.3}.esports-timeslots{display:flex;flex-wrap:wrap;gap:8px}.esports-time-btn{padding:8px 14px;border-radius:var(--radius-pill);border:.5px solid rgba(var(--accent-rgb),.3);background:rgba(var(--accent-rgb),.08);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--accent-text);font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;cursor:pointer;box-shadow:inset 0 .5px rgba(var(--accent-rgb),.1);transition:transform .3s cubic-bezier(.34,1.56,.64,1),background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.esports-time-btn:hover:not(:disabled){background:rgba(var(--accent-rgb),.16);border-color:rgba(var(--accent-rgb),.5);box-shadow:0 1px 6px rgba(var(--accent-rgb),.12),inset 0 .5px rgba(var(--accent-rgb),.15)}.esports-time-btn:active:not(:disabled){transform:scale(.95)}.esports-time-btn:disabled{opacity:.5;cursor:default}:root[data-theme=light] .esports-time-btn{border-color:rgba(var(--accent-rgb),.3);background:rgba(var(--accent-rgb),.07);color:var(--accent-hover);box-shadow:inset 0 .5px rgba(var(--accent-rgb),.08)}:root[data-theme=light] .esports-time-btn:hover:not(:disabled){background:rgba(var(--accent-rgb),.14);border-color:rgba(var(--accent-rgb),.45);box-shadow:0 1px 6px rgba(var(--accent-rgb),.1)}.esports-booking-list{display:flex;flex-direction:column;gap:8px}.esports-booking-card{border:.5px solid rgba(255,255,255,.12);border-radius:14px;padding:14px;background:#ffffff0a;-webkit-backdrop-filter:blur(16px) saturate(170%);backdrop-filter:blur(16px) saturate(170%);display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 1px 4px #0000000d,inset 0 .5px #ffffff14;transition:transform .3s cubic-bezier(.34,1.56,.64,1),border-color var(--transition-fast),background var(--transition-fast)}.esports-booking-card:hover{border-color:rgba(var(--accent-rgb),.25);background:rgba(var(--accent-rgb),.06)}.esports-booking-card.is-past{opacity:.5}.esports-booking-card.is-past:hover{transform:none;border-color:#ffffff1a;background:#ffffff05}.esports-booking-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 0}.esports-booking-device{font-size:15px;font-weight:600;color:var(--text-primary);line-height:1.3}.esports-booking-meta{font-size:12px;color:#9eabbd;line-height:1.6}.esports-booking-badge{display:inline-block;font-size:10px;font-weight:600;letter-spacing:.3px;color:#a6b2c2;background:#ffffff0f;border:.5px solid rgba(255,255,255,.12);padding:2px 7px;border-radius:var(--radius-pill);text-transform:uppercase;margin-right:5px;vertical-align:middle}.esports-booking-status{font-size:11px;color:var(--text-secondary);opacity:.7}.esports-cancel-btn.esports-cancel-btn{flex:0 0 auto;align-self:center;width:auto;min-width:0;font-size:12px;font-weight:600;padding:8px 16px;white-space:nowrap;border-radius:var(--radius-pill);border:.5px solid rgba(255,255,255,.14);background:#ffffff0f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:inset 0 .5px #ffffff14;transition:transform .3s cubic-bezier(.34,1.56,.64,1),background var(--transition-fast),border-color var(--transition-fast)}.esports-cancel-btn.esports-cancel-btn:hover:not(:disabled){border-color:#ef444459;background:#ef44441a;color:#ffc0c0}.esports-cancel-btn.esports-cancel-btn:active:not(:disabled){transform:scale(.95)}@media (max-width: 520px){.esports-header{flex-direction:column;align-items:stretch}.esports-row{flex-direction:column;gap:16px}.esports-actions{flex-direction:column}.esports-hero-main{grid-template-columns:repeat(2,minmax(0,1fr))}}.account-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;justify-content:center;z-index:50;background:#0000;opacity:0;pointer-events:none;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:opacity .28s var(--ease-out),background .28s var(--ease-out);will-change:opacity,background}.account-overlay.is-open{background:#00000080;opacity:1;pointer-events:auto}.account-sheet{width:100%;max-width:480px;height:calc(100vh - (var(--tg-chrome-top, 0px) + 18px));max-height:calc(100vh - (var(--tg-chrome-top, 0px) + 18px));background:var(--bg-card);border:1px solid var(--border);border-bottom:none;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:var(--card-padding);padding-bottom:calc(28px + var(--tg-chrome-bottom, 0px));transform:translate3d(0,110%,0) scale(.992);opacity:0;transition:transform .34s var(--ease-out),opacity .34s var(--ease-out);will-change:transform,opacity;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 -18px 44px #00000073;display:flex;flex-direction:column;overflow:hidden}.account-overlay.is-open .account-sheet{transform:translateZ(0) scale(1);opacity:1}.sheet-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;justify-content:center;padding:12px;background:#0000;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);opacity:0;pointer-events:none;transition:opacity .26s var(--ease-out),background .26s var(--ease-out);will-change:opacity,background;z-index:70;touch-action:none;overscroll-behavior:contain}.sheet-modal-overlay.is-open{background:#00000059;opacity:1;pointer-events:auto}.sheet-modal-overlay.confirm-overlay{z-index:90;align-items:center;backdrop-filter:none;-webkit-backdrop-filter:none}.sheet-modal-overlay.confirm-overlay.is-open{background:#00000073}.sheet-modal{width:100%;max-width:480px;background:#14181ed1;-webkit-backdrop-filter:blur(40px) saturate(1.6);backdrop-filter:blur(40px) saturate(1.6);border:.5px solid rgba(255,255,255,.1);border-radius:22px;padding:var(--card-padding);padding-bottom:calc(var(--card-padding) + var(--tg-chrome-bottom, 0px));transform:translate3d(0,22px,0) scale(.992);opacity:0;transition:transform .3s var(--ease-out),opacity .3s var(--ease-out);will-change:transform,opacity;box-shadow:inset 0 .5px #ffffff14,0 12px 40px #0006;max-height:calc(100% - 12px);overflow-y:auto;-webkit-overflow-scrolling:touch}.sheet-modal-overlay.is-open .sheet-modal{transform:translateZ(0) scale(1);opacity:1}.sheet-modal.confirm-sheet{max-width:440px;padding:16px}.confirm-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.confirm-title{font-size:15px;font-weight:650;color:var(--text-primary)}.confirm-message{font-size:13px;color:var(--text-secondary);line-height:1.35;margin-bottom:14px}.confirm-actions{display:flex;gap:10px}.confirm-actions .btn{width:auto;flex:1;padding:14px 16px}.confirm-actions .btn-secondary{margin-top:0}.sheet-modal.friends-modal{border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-bottom:none;padding-bottom:calc(18px + var(--tg-chrome-bottom, 0px));display:flex;flex-direction:column;overflow:hidden;height:78vh;max-height:calc(100% - (var(--tg-chrome-top, 0px) + 12px));border-top:1px solid rgba(255,255,255,.13);background:linear-gradient(180deg,#12151afc,#0d1014fc);box-shadow:inset 0 1px #ffffff0a,0 -18px 40px #00000073;transform-origin:var(--origin-x, 50%) var(--origin-y, 0%);transform:translate3d(0,34px,0) scale(.88);transition:transform .26s var(--ease-out),opacity .26s var(--ease-out);touch-action:auto}.friends-modal-body{position:relative;flex:1;min-height:0}.friends-modal-scroll{height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;padding-right:2px;padding-bottom:2px}.friends-loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#04080c61;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.friends-loading-pill{margin:0;border-color:rgba(var(--accent-rgb),.38);background:#0a120ee0}@media (prefers-reduced-transparency: reduce){.account-overlay{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.account-overlay.is-open{background:#000000a6}.sheet-modal-overlay{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.sheet-modal-overlay.is-open{background:#0000008c}}.account-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.sheet-titles{flex:1;min-width:0}.sheet-back.is-hidden{display:none}.sheet-body{position:relative;flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.sheet-loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-start;justify-content:center;padding-top:14px;pointer-events:none}.sheet-loading-pill{margin:0;max-width:320px}.sheet-screen{will-change:transform,opacity}.sheet-screen.screen-push{animation:sheetScreenEnterRight .26s var(--ease-out) both}.sheet-screen.screen-pop{animation:sheetScreenEnterLeft .26s var(--ease-out) both}@keyframes sheetScreenEnterRight{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:translate(0)}}@keyframes sheetScreenEnterLeft{0%{opacity:0;transform:translate(-14px)}to{opacity:1;transform:translate(0)}}.account-title{font-size:16px;font-weight:600;color:var(--text-primary)}.account-subtitle{font-size:12px;color:var(--text-secondary);margin-top:2px}.account-close{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-secondary);width:32px;height:32px;border-radius:var(--radius-sm);font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.account-close:hover{background:var(--bg-card);color:var(--text-primary)}.account-row{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-secondary);margin-bottom:8px}.account-label{font-size:12px;color:var(--text-secondary)}.account-value{font-size:13px;color:var(--text-primary);font-weight:500;text-align:right;max-width:60%;overflow:hidden;text-overflow:ellipsis}.account-logout{width:100%;margin-top:12px}.delete-account-btn{width:100%;margin-top:10px;background:transparent;color:#f44;border:1px solid rgba(255,68,68,.3)}.delete-account-btn:active{background:#ff44441a}.delete-account-hint{text-align:center;color:var(--text-secondary);font-size:11px;margin-top:6px;opacity:.6}.share-toggle{display:flex;align-items:center;gap:10px;padding:10px 12px;margin:8px 0 12px;background:#ffffff08;border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;-webkit-user-select:none;user-select:none}.share-toggle input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:44px;height:26px;border-radius:var(--radius-pill);background:#ffffff0f;border:1px solid var(--border);position:relative;flex-shrink:0;cursor:pointer;outline:none;transition:background .22s var(--ease-out),border-color .22s var(--ease-out),transform var(--transition-fast)}.share-toggle input[type=checkbox]:after{content:"";position:absolute;top:50%;left:3px;width:20px;height:20px;border-radius:var(--radius-pill);background:#ffffffeb;transform:translateY(-50%);transition:transform .22s var(--ease-out),background .22s var(--ease-out);box-shadow:0 8px 16px #00000059}.share-toggle input[type=checkbox]:checked{background:rgba(var(--accent-rgb),.22);border-color:rgba(var(--accent-rgb),.55)}.share-toggle input[type=checkbox]:checked:after{transform:translate(18px,-50%);background:#0a0a0a}.share-toggle input[type=checkbox]:focus-visible{box-shadow:0 0 0 3px rgba(var(--accent-rgb),.18)}.share-toggle input[type=checkbox]:disabled{cursor:not-allowed;opacity:.55}.share-toggle span{font-size:12px;color:var(--text-secondary)}.profile-top{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-md);background:linear-gradient(145deg,#1a1a1ae6,#121212e6);margin-bottom:12px}.profile-avatar{width:54px;height:54px;border-radius:14px;overflow:hidden;border:1px solid var(--border);flex-shrink:0;background:#ffffff0a;display:flex;align-items:center;justify-content:center}.profile-avatar img{width:100%;height:100%;object-fit:cover;display:block}.profile-initials{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-weight:700;letter-spacing:.6px;color:#000;background:var(--accent)}.profile-meta{flex:1;min-width:0}.profile-name{font-size:15px;font-weight:650;color:var(--text-primary);line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-id{margin-top:4px;font-size:12px;color:var(--text-secondary)}.profile-stats{margin-top:10px;padding-top:4px}.profile-stats-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.profile-stats-title{font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:0}.profile-stats-info{border:none;background:transparent;color:var(--accent);font-size:12px;font-weight:600;cursor:pointer;padding:6px 10px;border-radius:10px;transition:all var(--transition-fast)}.profile-stats-info:hover{background:rgba(var(--accent-rgb),.14)}.info-sheet .info-text{font-size:13px;color:var(--text-secondary);line-height:1.5}.info-sheet .info-text p{margin-bottom:10px}.info-sheet .info-text ul{padding-left:18px;display:flex;flex-direction:column;gap:8px}.info-sheet .info-text li code{background:#ffffff0f;border:1px solid var(--border);padding:2px 6px;border-radius:8px}.profile-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stat-card{background:var(--glass-bg);border:.5px solid var(--glass-border);border-radius:var(--radius-md);padding:12px;box-shadow:var(--glass-shadow)}.stat-label{font-size:11px;color:var(--text-secondary)}.stat-value{margin-top:6px;font-size:18px;font-weight:700;color:var(--text-primary)}.profile-stats-foot{margin-top:10px;font-size:11px;color:var(--text-muted);display:flex;flex-direction:column;gap:4px}.account-sheet{background:#0e1218cc;-webkit-backdrop-filter:blur(44px) saturate(1.6);backdrop-filter:blur(44px) saturate(1.6);border:.5px solid rgba(255,255,255,.09);box-shadow:inset 0 .5px #ffffff14,0 -12px 40px #00000059}.account-sheet .account-header{margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.1)}.account-sheet .sheet-body{padding-right:2px}.account-sheet .account-title{font-size:17px;font-weight:650;letter-spacing:-.14px}.account-sheet .account-subtitle{margin-top:4px;color:#9ba8ba;line-height:1.4}.account-sheet .account-close{background:#ffffff0a;border:1px solid rgba(255,255,255,.14);color:#b8c3d2}.account-sheet .account-close:hover{background:rgba(var(--accent-rgb),.12);border-color:rgba(var(--accent-rgb),.34);color:var(--accent-text-soft)}.account-sheet .profile-top{border:1px solid var(--hero-border);background:var(--hero-bg);border-radius:var(--radius-lg);padding:14px;margin-bottom:10px}.account-sheet .profile-avatar{border-color:rgba(var(--accent-rgb),.28);box-shadow:0 8px 20px #0000003d}.account-sheet .profile-initials{background:linear-gradient(180deg,rgba(var(--accent-rgb),.98),rgba(var(--accent-hover-rgb),.98));color:var(--accent-text-on)}.account-sheet .profile-name{font-size:16px;letter-spacing:-.12px}.account-sheet .profile-id{margin-top:5px;color:#a7b3c3}.account-sheet .profile-overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.account-sheet .account-row{padding:11px 12px;border:1px solid rgba(255,255,255,.13);border-radius:var(--radius-md);background:linear-gradient(180deg,#ffffff07,#ffffff03);box-shadow:inset 0 1px #ffffff08;margin-bottom:8px}.account-sheet .account-row.is-compact{margin:0;min-height:66px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:5px}.account-sheet .profile-overview-wide{grid-column:1 / -1}.account-sheet .account-label{font-size:11px;font-weight:550;letter-spacing:.02em;color:#9cabbe}.account-sheet .account-value{font-size:13px;font-weight:560;color:#e7edf5;max-width:100%;text-align:left;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-sheet .share-toggle{margin:0 0 8px;padding:11px 12px;border:.5px solid var(--glass-border);background:var(--glass-bg);box-shadow:var(--glass-shadow)}.account-sheet .share-toggle input[type=checkbox]{transition:background .16s cubic-bezier(.22,.61,.36,1),border-color .16s cubic-bezier(.22,.61,.36,1),transform .14s cubic-bezier(.22,.61,.36,1)}.account-sheet .share-toggle input[type=checkbox]:after{transition:transform .16s cubic-bezier(.22,.61,.36,1),background .16s cubic-bezier(.22,.61,.36,1)}.account-sheet .share-toggle:hover{border-color:rgba(var(--accent-rgb),.34);background:linear-gradient(180deg,rgba(var(--accent-rgb),.13),rgba(var(--accent-rgb),.08))}.account-sheet .share-toggle span{color:#dde6f1;font-size:12.5px;font-weight:520;letter-spacing:-.04px}.account-sheet .profile-stats{margin-top:8px;padding:12px;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);background:linear-gradient(180deg,#ffffff07,#ffffff03);box-shadow:inset 0 1px #ffffff08}.account-sheet .profile-stats-head{margin-bottom:12px}.account-sheet .profile-stats-title{font-size:12px;font-weight:620;letter-spacing:.01em;color:#d5deea}.account-sheet .profile-stats-info{color:var(--accent-text);background:rgba(var(--accent-rgb),.12);border:1px solid rgba(var(--accent-rgb),.28);border-radius:var(--radius-pill);padding:6px 10px;font-size:11px;letter-spacing:.02em}.account-sheet .profile-stats-info:hover{background:rgba(var(--accent-rgb),.17);border-color:rgba(var(--accent-rgb),.4)}.account-sheet .profile-stats-grid{gap:8px}.account-sheet .stat-card{border:1px solid rgba(255,255,255,.13);border-radius:var(--radius-md);background:linear-gradient(180deg,#ffffff07,#ffffff03);box-shadow:inset 0 1px #ffffff08;min-height:74px}.account-sheet .stat-label{font-size:11px;font-weight:520;letter-spacing:.01em;color:#9aa8ba}.account-sheet .stat-value{color:var(--accent-text-dim);letter-spacing:-.2px;font-size:20px}.account-sheet .profile-stats-lines{margin-top:10px;border-top:1px solid rgba(255,255,255,.08)}.account-sheet .profile-stats-line{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;font-size:12px;color:#a9b8c9}.account-sheet .profile-stats-line span:last-child{text-align:right;color:#d9e4f2}.account-sheet .profile-stats-line+.profile-stats-line{border-top:1px solid rgba(255,255,255,.06)}.account-sheet .profile-stats-foot{margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.09);color:#91a1b5;line-height:1.45;font-size:11px}.account-sheet .profile-section{margin-top:8px;padding:12px;border:.5px solid var(--glass-border);border-radius:var(--radius-md);background:var(--glass-bg);box-shadow:var(--glass-shadow)}.account-sheet .profile-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.account-sheet .profile-section-title{font-size:12px;font-weight:620;letter-spacing:.01em;color:#d5deea}.account-sheet .profile-section-meta{font-size:11px;color:#96a7bc;letter-spacing:.01em}.account-sheet .profile-section-body{display:flex;flex-direction:column;gap:8px}.account-sheet .profile-kv-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border:.5px solid var(--glass-border);border-radius:var(--radius-sm);background:var(--glass-bg)}.account-sheet .profile-kv-row .account-value{text-align:right;color:#dce6f3}.account-sheet .profile-version-value{font-family:Geist Mono,ui-monospace,monospace;font-size:11px;letter-spacing:.02em;word-break:break-all}.account-sheet .sync-badge{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:4px 10px;border-radius:var(--radius-pill);border:1px solid rgba(255,255,255,.16);font-size:11px;font-weight:650;letter-spacing:.4px;text-transform:none}.account-sheet .sync-badge.is-on{color:var(--accent-text-on);background:rgba(var(--accent-rgb),.95);border-color:rgba(var(--accent-rgb),.85)}.account-sheet .sync-badge.is-off{color:#f4f7fb;background:#8090a53d;border-color:#99a8bc66}.account-sheet .profile-action-link{border:1px solid rgba(var(--accent-rgb),.3);background:rgba(var(--accent-rgb),.12);color:var(--accent-text-soft);border-radius:var(--radius-pill);font-size:11px;font-weight:650;letter-spacing:.02em;padding:7px 10px;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.account-sheet .profile-action-link:hover:not(:disabled){background:rgba(var(--accent-rgb),.17);border-color:rgba(var(--accent-rgb),.45)}.account-sheet .profile-action-link:disabled{opacity:.65;cursor:default}.account-sheet .profile-inline-note{border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.14);padding:9px 10px;font-size:12px;line-height:1.35}.account-sheet .profile-inline-note.is-ok{border-color:rgba(var(--accent-rgb),.38);color:var(--accent-text-soft);background:rgba(var(--accent-rgb),.1)}.account-sheet .profile-inline-note.is-error{border-color:#ef444459;color:#ffcbcb;background:#ef44441a}.account-sheet .profile-history-list{list-style:none;display:flex;flex-direction:column;gap:8px;max-height:250px;overflow-y:auto;padding-right:4px}.account-sheet .profile-history-item{border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);padding:10px 11px;background:linear-gradient(180deg,#ffffff06,#ffffff03)}.account-sheet .profile-history-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.account-sheet .profile-history-time{font-size:12px;font-weight:600;color:#d9e2ef}.account-sheet .history-status{border-radius:var(--radius-pill);border:1px solid rgba(255,255,255,.16);padding:3px 9px;font-size:10px;font-weight:700;letter-spacing:.38px;text-transform:none}.account-sheet .history-status.is-success{color:var(--accent-text-on);background:rgba(var(--accent-rgb),.95);border-color:rgba(var(--accent-rgb),.82)}.account-sheet .history-status.is-error{color:#ffd4d4;background:#ef444433;border-color:#ef444473}.account-sheet .profile-history-message{margin-top:7px;font-size:12.5px;font-weight:550;color:#e5ecf6;line-height:1.36}.account-sheet .profile-history-meta{margin-top:5px;font-size:11px;color:#95a4b7}.account-sheet .profile-settings .share-toggle{margin:0 0 6px}.account-sheet .profile-settings .share-toggle:last-child{margin-bottom:0}.account-sheet .profile-diagnostic-btn{width:100%;min-height:42px}.account-sheet .profile-error,.account-sheet .profile-notice,.account-sheet .profile-loading{max-width:none;margin:0 0 12px}.account-sheet .profile-menu{margin-top:10px;margin-bottom:4px}.profile-donate-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin:12px 0;padding:12px 16px;min-height:44px;border-radius:var(--radius-md);border:1px solid rgba(var(--accent-rgb),.25);background:rgba(var(--accent-rgb),.08);color:var(--accent-text);font-size:14px;font-weight:600;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast)}.profile-donate-btn:active{transform:scale(var(--scale-press))}.profile-donate-btn:hover{background:rgba(var(--accent-rgb),.14);border-color:rgba(var(--accent-rgb),.4)}.profile-donate-btn svg{flex-shrink:0;color:var(--accent)}.account-sheet .profile-actions-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.account-sheet .account-friends-btn,.account-sheet .account-channel-btn,.account-sheet .account-logout,.account-sheet .delete-account-btn{min-height:44px;border-radius:var(--radius-md);margin-top:8px}.account-sheet .account-friends-btn,.account-sheet .account-channel-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:0;min-width:0}.account-sheet .account-channel-btn,.account-sheet .account-logout{background:#ffffff08;border:1px solid rgba(255,255,255,.14)}.account-sheet .account-channel-btn:hover,.account-sheet .account-logout:hover{border-color:rgba(var(--accent-rgb),.34);background:rgba(var(--accent-rgb),.12);color:var(--accent-text-soft)}.account-sheet .delete-account-btn{background:#ef444417;border:1px solid rgba(239,68,68,.36);color:#ffb3b3}.account-sheet .delete-account-btn:hover{background:#ef444429;border-color:#ef444485;color:#ffd1d1}.account-sheet .delete-account-hint{color:#8d9aac;opacity:1}.account-sheet .profile-section.profile-settings{margin-bottom:2px}@media (max-width: 420px){.account-sheet .profile-overview-grid{grid-template-columns:1fr}.account-sheet .profile-overview-wide{grid-column:auto}.account-sheet .profile-actions-grid{grid-template-columns:1fr}.account-sheet .profile-stats-line{flex-direction:column;align-items:flex-start;gap:4px}.account-sheet .profile-stats-line span:last-child{text-align:left}}.sheet-modal.info-sheet{border:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg,#12151afe,#0c0f14fe);box-shadow:inset 0 1px #ffffff0a,0 18px 44px #00000075}.sheet-modal.info-sheet .info-text{padding:12px;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);background:linear-gradient(180deg,#ffffff07,#ffffff03)}@supports (padding-bottom: env(safe-area-inset-bottom)){.account-sheet{padding-bottom:calc(28px + env(safe-area-inset-bottom))}.bottom-spacer{height:calc(20px + env(safe-area-inset-bottom))}}.friends-checkbox{display:flex;align-items:center;gap:10px;margin-top:16px;padding:12px 14px;background:linear-gradient(180deg,#ffffff08,#ffffff04);border:1px solid rgba(255,255,255,.13);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast);width:100%;max-width:320px;box-shadow:inset 0 1px #ffffff08}.friends-checkbox:hover{border-color:rgba(var(--accent-rgb),.34);background:linear-gradient(180deg,rgba(var(--accent-rgb),.12),rgba(var(--accent-rgb),.07))}.friends-checkbox input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:44px;height:26px;border-radius:var(--radius-pill);background:#ffffff0f;border:1px solid var(--border);position:relative;flex-shrink:0;cursor:pointer;outline:none;transition:background .22s cubic-bezier(.22,.61,.36,1),border-color .22s cubic-bezier(.22,.61,.36,1),transform .15s cubic-bezier(.22,.61,.36,1)}.friends-checkbox input[type=checkbox]:after{content:"";position:absolute;top:50%;left:3px;width:20px;height:20px;border-radius:var(--radius-pill);background:#ffffffeb;transform:translateY(-50%);transition:transform .22s cubic-bezier(.22,.61,.36,1),background .22s cubic-bezier(.22,.61,.36,1);box-shadow:0 8px 16px #00000059}.friends-checkbox input[type=checkbox]:checked{background:rgba(var(--accent-rgb),.22);border-color:rgba(var(--accent-rgb),.55)}.friends-checkbox input[type=checkbox]:checked:after{transform:translate(18px,-50%);background:#0a0a0a}.friends-checkbox input[type=checkbox]:focus-visible{box-shadow:0 0 0 3px rgba(var(--accent-rgb),.18)}.friends-checkbox span{font-size:13px;color:#e4ebf5;font-weight:550;letter-spacing:-.04px}.friends-card{margin-top:12px}.friends-card .group-members{max-height:300px;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-right:4px}.friends-card .member-indicator.inactive{background:var(--text-muted)}.friend-noauth{font-size:11px;color:#9ba6b5}.account-friends-btn{width:100%;margin-top:12px;margin-bottom:4px;display:flex;align-items:center;justify-content:center;gap:8px}.account-friends-btn svg{flex-shrink:0}.account-channel-btn{display:flex;align-items:center;justify-content:center;gap:8px}.account-channel-btn svg{flex-shrink:0}.friends-sheet{max-height:80vh;overflow-y:auto}.friends-add{display:grid;grid-template-columns:1fr auto;gap:10px;margin-bottom:14px;padding:12px;border-radius:var(--radius-md);border:1px solid var(--hero-border);background:var(--hero-bg)}.friends-input{width:100%;padding:var(--padding-input-y) var(--padding-input-x);background:#070c119e;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-md);color:var(--text-primary);font-family:Geist,system-ui,-apple-system,sans-serif;font-size:14px;outline:none;transition:border-color var(--transition-fast),background var(--transition-fast)}.friends-input:focus{border-color:rgba(var(--accent-rgb),.42);background:#0a1016b8}.friends-input::placeholder{color:#8c99ab}.friends-add .btn{width:auto;min-height:44px;padding:11px 18px;margin-top:0;border-radius:var(--radius-pill);font-size:13px;font-weight:600}.friend-error{background:#ef44441f;border:1px solid rgba(239,68,68,.34);border-radius:var(--radius-sm);padding:10px 12px;margin-bottom:12px;color:var(--error);font-size:12px}.friends-section{margin-top:16px}.friends-section-title{font-size:11px;color:#95a3b6;text-transform:uppercase;letter-spacing:.85px;margin-bottom:10px;font-weight:600}.friend-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;background:linear-gradient(180deg,#ffffff07,#ffffff03);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);margin-bottom:8px;animation:fadeIn var(--transition-fast);box-shadow:inset 0 1px #ffffff08}.friend-clickable{cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast),transform var(--transition-fast)}.friend-clickable:hover{border-color:rgba(var(--accent-rgb),.36);background:linear-gradient(180deg,rgba(var(--accent-rgb),.13),rgba(var(--accent-rgb),.07));transform:translateY(-1px)}.friend-item.pending{border-color:rgba(var(--accent-rgb),.45);border-style:dashed;background:linear-gradient(180deg,rgba(var(--accent-rgb),.13),rgba(var(--accent-rgb),.08))}.friend-info{display:flex;flex-direction:column;gap:2px;overflow:hidden}.friend-name{font-size:14px;font-weight:600;color:var(--text-primary);letter-spacing:-.08px}.friend-username{font-size:12px;color:#9ba8ba}.friend-noauth-badge{display:inline-block;font-size:10px;color:#ffb4b4;background:#ef444433;border:1px solid rgba(239,68,68,.3);padding:2px 7px;border-radius:var(--radius-pill);margin-top:4px}.friend-actions{display:flex;gap:7px}.btn-small{width:33px;height:33px;padding:0;display:flex;align-items:center;justify-content:center;font-size:15px;border-radius:var(--radius-sm);transition:transform var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast),color var(--transition-fast)}.btn-small:active{transform:scale(var(--scale-press))}.btn-accept{background:linear-gradient(180deg,rgba(var(--accent-rgb),.98),rgba(var(--accent-hover-rgb),.98));color:var(--accent-text-on);border:1px solid rgba(var(--accent-rgb),.45)}.btn-accept:hover{background:linear-gradient(180deg,rgba(var(--accent-rgb),1),rgba(var(--accent-hover-rgb),1))}.btn-reject,.btn-remove{background:#ffffff06;color:#a8b3c2;border:1px solid rgba(255,255,255,.14)}.btn-reject:hover,.btn-remove:hover{color:#ffc0c0;border-color:#ef44448f;background:#ef444424}.btn-favorite{background:#ffffff06;color:#9daabd;border:1px solid rgba(255,255,255,.16);box-shadow:inset 0 1px #ffffff08;transition:transform 90ms ease-out,border-color 90ms ease-out,background 90ms ease-out,color 90ms ease-out,box-shadow 90ms ease-out}.btn-favorite:hover{color:#d4deeb;border-color:#bacbe06b;background:#ffffff12}.btn-favorite.is-active{color:var(--accent-text-soft);border-color:rgba(var(--accent-rgb),.55);background:linear-gradient(180deg,rgba(var(--accent-hover-rgb),.28),rgba(var(--accent-hover-rgb),.2));box-shadow:inset 0 1px #ffffff0d,0 0 0 1px rgba(var(--accent-rgb),.14)}.friend-favorite-icon{display:block;transition:transform 90ms ease-out,opacity 90ms ease-out,filter 90ms ease-out;opacity:.92;filter:drop-shadow(0 0 0 rgba(0,0,0,0))}.btn-favorite:hover .friend-favorite-icon{transform:scale(1.04);opacity:1}.btn-favorite.is-active .friend-favorite-icon{transform:scale(1.03);opacity:1;filter:drop-shadow(0 0 8px rgba(var(--accent-rgb),.22))}.friend-selectable{padding:0;background:transparent;border:none;margin-bottom:8px}.friend-selectable:last-child{margin-bottom:0}.friend-select-label{display:flex;align-items:center;gap:10px;padding:10px 12px;background:linear-gradient(180deg,#ffffff07,#ffffff03);border:1px solid rgba(255,255,255,.13);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast),transform var(--transition-fast)}.friend-select-label:hover{background:linear-gradient(180deg,rgba(var(--accent-rgb),.14),rgba(var(--accent-rgb),.08));border-color:rgba(var(--accent-rgb),.34);transform:translateY(-1px)}.friend-checkbox{width:20px;height:20px;cursor:pointer;flex-shrink:0;accent-color:var(--accent)}.friend-select-name{flex:1;font-size:14px;font-weight:500;color:var(--text-primary)}.friends-loading,.friends-empty{text-align:center;padding:16px 14px;font-size:13px;color:#9ba8ba;border:1px dashed rgba(255,255,255,.18);border-radius:var(--radius-md);background:#ffffff05}.friends-hint{margin-top:16px;font-size:11px;color:#9ba8ba;text-align:center;line-height:1.45}.friend-profile-hint{font-size:11px;color:#9ba8ba;margin:-4px 2px 10px}.profile-status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px;vertical-align:middle;position:relative;top:-.5px}.profile-status-dot.is-on{background:var(--accent);box-shadow:0 0 6px rgba(var(--accent-rgb),.5)}.profile-status-dot.is-off{background:#6b7a8d}.profile-menu{margin-top:8px;border-radius:var(--radius-md);overflow:hidden;border:.5px solid var(--glass-border);background:var(--glass-bg);box-shadow:var(--glass-shadow)}.profile-menu-item{display:flex;align-items:center;gap:12px;width:100%;padding:14px;background:none;border:none;border-bottom:.5px solid var(--glass-border);color:var(--text-primary);font-size:13px;font-weight:500;cursor:pointer;transition:background var(--transition-fast);text-align:left}.profile-menu-item:last-child{border-bottom:none}.profile-menu-item:hover{background:#ffffff08}.profile-menu-item:active{background:#ffffff0f}.profile-menu-icon{color:var(--text-secondary);flex-shrink:0}.profile-menu-chevron{margin-left:auto;color:var(--text-muted);flex-shrink:0;opacity:.5}.profile-menu-badge{font-size:10px;font-weight:700;padding:2px 7px;border-radius:var(--radius-pill);letter-spacing:.3px}.profile-menu-badge.is-on{color:var(--accent-text-on);background:rgba(var(--accent-rgb),.85)}.profile-menu-badge.is-off{color:#fff;background:#ef4444b3}.privacy-policy{padding:0 2px}.privacy-updated{font-size:12px;color:#6b7a8d;margin-bottom:16px}.privacy-section{margin-bottom:18px}.privacy-section h3{font-size:14px;font-weight:600;color:#e2e8f0;margin:0 0 8px}.privacy-section h4{font-size:13px;font-weight:500;color:#c8d3e0;margin:10px 0 4px}.privacy-section p{font-size:13px;color:#9ba8ba;line-height:1.5;margin:0 0 6px}.privacy-section ul{margin:4px 0 6px;padding-left:18px}.privacy-section li{font-size:13px;color:#9ba8ba;line-height:1.5;margin-bottom:2px}.privacy-section strong{color:#c8d3e0;font-weight:500}@media (prefers-reduced-motion: reduce){.tab-indicator,.account-overlay,.account-sheet{transition:none}.sheet-modal-overlay,.sheet-modal{transition:none!important}.sheet-screen,.scanner-section,.passes-section,.grades-section,.schedule-section,.azan-section,.esports-section{animation:none!important}}.grades-section{flex:1;display:flex;flex-direction:column;width:100%;gap:14px;animation:tabFadeIn .35s cubic-bezier(.16,1,.3,1) forwards}.grades-shell{background:linear-gradient(180deg,#ffffff05,#ffffff03);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);padding:var(--card-padding);display:flex;flex-direction:column;gap:16px;box-shadow:inset 0 1px #ffffff08,0 10px 26px #0003}.grades-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.grades-title{font-size:16px;font-weight:650;color:var(--text-primary);letter-spacing:-.15px}.grades-subtitle{margin-top:5px;font-size:12px;color:#9aa6b6;line-height:1.45}.grades-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}.grades-refresh{width:auto;padding:11px 16px;min-height:42px;border-radius:var(--radius-pill);font-size:13px;margin-top:0;background:#ffffff08;border:1px solid rgba(255,255,255,.14);color:#d9e2ec}.grades-refresh:hover:not(:disabled){background:rgba(var(--accent-rgb),.1);border-color:rgba(var(--accent-rgb),.3);color:var(--accent-text-soft)}.grades-mode-toggle{width:auto;padding:11px 14px;min-height:42px;border-radius:var(--radius-pill);font-size:12px;margin-top:0;white-space:nowrap;background:#ffffff08;border:1px solid rgba(255,255,255,.14);color:#d2dce8}.grades-mode-toggle:hover:not(:disabled){background:#ffffff0f;color:#e8eef7}.grades-mode-toggle.is-active{background:rgba(var(--accent-rgb),.2);border-color:rgba(var(--accent-rgb),.42);color:var(--accent-text);box-shadow:inset 0 1px #ffffff14}.grades-hero{border:.5px solid var(--hero-border);background:var(--hero-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:var(--radius-md);padding:13px}.grades-hero-label{font-size:11px;font-weight:600;letter-spacing:1.05px;text-transform:uppercase;color:var(--hero-label-color)}.grades-hero-main{margin-top:11px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.grades-hero-item{border:1px solid rgba(255,255,255,.1);background:#ffffff0b;border-radius:var(--radius-sm);padding:11px}.grades-hero-value{font-size:21px;font-weight:700;letter-spacing:-.4px;color:var(--accent-text);font-variant-numeric:tabular-nums}.grades-hero-caption{margin-top:4px;font-size:11px;color:#9eabbd}.grades-projection-hint{margin-top:11px;padding:10px 11px;border:1px dashed rgba(var(--accent-rgb),.36);border-radius:var(--radius-sm);color:#a4b2c4;background:rgba(var(--accent-rgb),.1);font-size:11px;line-height:1.45}.grades-list{display:flex;flex-direction:column;gap:11px}.grade-card{background:var(--glass-bg);border:.5px solid var(--glass-border);border-radius:var(--radius-sm);padding:13px;position:relative;transition:opacity var(--transition-fast),transform var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.grade-card:hover{border-color:rgba(var(--accent-rgb),.3);background:rgba(var(--accent-rgb),.09);transform:translateY(-1px)}.grade-subject{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:12px;padding-right:96px;line-height:1.38;letter-spacing:-.1px}.grade-rows{display:flex;flex-direction:column;gap:7px}.grade-row{display:flex;justify-content:space-between;align-items:center;font-size:13px;gap:9px}.grade-label{color:#a6b2c2;line-height:1.35}.grade-value{color:#dbe4ee;font-family:Geist,system-ui,-apple-system,sans-serif;font-weight:650;font-size:13px;font-variant-numeric:tabular-nums}.grade-total{margin-top:11px;padding-top:11px;border-top:1px solid rgba(255,255,255,.09)}.grade-total .grade-label{font-weight:600;color:#bdc8d7}.grade-total .grade-value{font-size:16px;font-weight:700;color:var(--accent-text);letter-spacing:-.25px}.grade-total.grade-fail .grade-value{color:#ff9b9b}.grade-note{margin-top:8px;font-size:11px;color:#8f9cb0;line-height:1.4}.grade-badge{position:absolute;top:13px;right:13px;padding:5px 10px;border-radius:var(--radius-pill);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.35px;border:1px solid transparent}.grade-badge.grade-a,.grade-badge.grade-отлично{background:rgba(var(--accent-rgb),.2);color:var(--accent-text)}.grade-badge.grade-b,.grade-badge.grade-хорошо{background:#3b82f633;color:#3b82f6}.grade-badge.grade-c,.grade-badge.grade-удовлетворительно{background:#f59e0b33;color:#f59e0b}.grade-badge.grade-d,.grade-badge.grade-неудовлетворительно,.grade-badge.grade-f{background:#ef444433;color:#ef4444}.grade-badge.grade-зачтено{background:rgba(var(--accent-rgb),.2);color:var(--accent-text);border-color:rgba(var(--accent-rgb),.36)}.grade-badge.grade-незачтено{background:#ef444433;color:#ff9b9b;border-color:#ef44445c}.grades-summary{margin-top:16px;padding:12px;background:#ffffff05;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);display:flex;justify-content:space-around;text-align:center}@media (max-width: 520px){.grades-header{flex-direction:column;align-items:stretch}.grades-header-actions{justify-content:stretch}.grades-mode-toggle,.grades-refresh{width:100%}.grade-subject{padding-right:0;margin-bottom:14px}.grade-badge{position:static;display:inline-flex;margin-bottom:8px}}.summary-item{display:flex;flex-direction:column;gap:4px}.summary-value{font-size:18px;font-weight:700;color:var(--accent)}.summary-label{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.grade-card.tappable{cursor:pointer}.grade-card.expanded{border-color:rgba(var(--accent-rgb),.35)}.grade-expand-icon{display:inline-block;margin-left:6px;vertical-align:middle;opacity:.4;transition:transform .2s ease,opacity .2s ease}.grade-expand-icon.is-open{transform:rotate(180deg);opacity:.7}.attendance-detail{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}.attendance-detail-loading{padding:12px 0 4px;text-align:center;font-size:12px;color:var(--text-muted)}.attendance-detail-error{padding:8px 0;font-size:12px;color:#ef4444}.attendance-summary{display:flex;gap:6px;margin-bottom:10px;flex-wrap:wrap}.attendance-summary-item{font-size:11px;font-weight:600;padding:3px 8px;border-radius:100px;font-variant-numeric:tabular-nums}.attendance-summary-item.present{background:#34d39926;color:#34d399}.attendance-summary-item.excused{background:#fbbf2426;color:#fbbf24}.attendance-summary-item.absent{background:#ef444426;color:#ef4444}.attendance-summary-item.total{background:#94a3b81f;color:#94a3b8}.attendance-entries{display:flex;flex-direction:column;gap:3px;max-height:300px;overflow-y:auto;-webkit-overflow-scrolling:touch}.attendance-entry{display:flex;justify-content:space-between;align-items:center;padding:5px 8px;border-radius:6px;font-size:12px}.attendance-entry.present{background:#34d3990f}.attendance-entry.excused{background:#fbbf240f}.attendance-entry.absent{background:#ef44440f}.attendance-entry.unknown{background:#94a3b80f}.attendance-entry-date{color:var(--text-muted);font-variant-numeric:tabular-nums}.attendance-entry-badge{font-weight:600;font-size:11px}.attendance-entry-badge.present{color:#34d399}.attendance-entry-badge.excused{color:#fbbf24}.attendance-entry-badge.absent{color:#ef4444}.attendance-entry-badge.unknown{color:#94a3b8}.tab-pane{animation:tabEnter .32s var(--ease-out) both;will-change:transform,opacity}.tab-pane.tab-forward{animation-name:tabEnterRight}.tab-pane.tab-back{animation-name:tabEnterLeft}@keyframes tabEnter{0%{opacity:0;transform:translateY(10px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes tabEnterRight{0%{opacity:0;transform:translate(14px) scale(.99)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes tabEnterLeft{0%{opacity:0;transform:translate(-14px) scale(.99)}to{opacity:1;transform:translate(0) scale(1)}}:root[data-theme=light] .dashboard-subtitle,:root[data-theme=light] .dashboard-card-meta,:root[data-theme=light] .dashboard-muted,:root[data-theme=light] .today-location,:root[data-theme=light] .today-more,:root[data-theme=light] .maps-subtitle,:root[data-theme=light] .maps-hero-sub,:root[data-theme=light] .passes-subtitle,:root[data-theme=light] .passes-hero-sub,:root[data-theme=light] .azan-location,:root[data-theme=light] .azan-date,:root[data-theme=light] .azan-hero-sub,:root[data-theme=light] .grades-subtitle,:root[data-theme=light] .grades-hero-caption,:root[data-theme=light] .grades-projection-hint,:root[data-theme=light] .grade-label,:root[data-theme=light] .grade-note,:root[data-theme=light] .esports-subtitle,:root[data-theme=light] .esports-hero-caption,:root[data-theme=light] .esports-booking-meta,:root[data-theme=light] .esports-booking-status,:root[data-theme=light] .friend-username,:root[data-theme=light] .friend-noauth,:root[data-theme=light] .friends-hint,:root[data-theme=light] .friend-profile-hint,:root[data-theme=light] .friends-section-title{color:#5a6b82}:root[data-theme=light] .privacy-section h3{color:#1e293b}:root[data-theme=light] .privacy-section h4{color:#334155}:root[data-theme=light] .privacy-section p,:root[data-theme=light] .privacy-section li{color:#5a6b82}:root[data-theme=light] .privacy-section strong{color:#334155}:root[data-theme=light] .privacy-updated{color:#7a8a9e}:root[data-theme=light] .profile-menu-item:hover{background:#00000008}:root[data-theme=light] .profile-menu-item:active{background:#0000000f}:root[data-theme=light] .profile-status-dot.is-off{background:#9ba8ba}:root[data-theme=light] .dashboard-profile-btn,:root[data-theme=light] .quick-action,:root[data-theme=light] .scanner-section .btn-secondary,:root[data-theme=light] .result-item,:root[data-theme=light] .dashboard-friends .friends-checkbox,:root[data-theme=light] .dashboard-friends .group-card,:root[data-theme=light] .dashboard-friends .friend-select-label,:root[data-theme=light] .maps-search-field,:root[data-theme=light] .maps-controls,:root[data-theme=light] .maps-chip,:root[data-theme=light] .maps-zoom-btn,:root[data-theme=light] .maps-reset-btn,:root[data-theme=light] .maps-viewer,:root[data-theme=light] .passes-item,:root[data-theme=light] .passes-header .btn-compact,:root[data-theme=light] .azan-header-actions .btn-compact,:root[data-theme=light] .passes-duration-badge,:root[data-theme=light] .azan-row,:root[data-theme=light] .azan-header .btn-compact,:root[data-theme=light] .azan-next-badge,:root[data-theme=light] .grades-refresh,:root[data-theme=light] .grades-mode-toggle,:root[data-theme=light] .grades-hero-item,:root[data-theme=light] .grade-card,:root[data-theme=light] .esports-device-card,:root[data-theme=light] .esports-booking-card,:root[data-theme=light] .esports-hero-item,:root[data-theme=light] .esports-booking-badge,:root[data-theme=light] .esports-subscreen-top .btn-compact,:root[data-theme=light] .friends-checkbox,:root[data-theme=light] .friend-item,:root[data-theme=light] .friend-select-label,:root[data-theme=light] .btn-reject,:root[data-theme=light] .btn-remove,:root[data-theme=light] .btn-favorite,:root[data-theme=light] .friends-loading,:root[data-theme=light] .friends-empty,:root[data-theme=light] .friends-input,:root[data-theme=light] .schedule-modes-wrap,:root[data-theme=light] .schedule-panel .schedule-input,:root[data-theme=light] .schedule-panel .schedule-input-clear,:root[data-theme=light] .schedule-suggestions,:root[data-theme=light] .schedule-suggestion-meta,:root[data-theme=light] .schedule-mode-badge,:root[data-theme=light] .schedule-controls .btn,:root[data-theme=light] .schedule-empty-day,:root[data-theme=light] .schedule-raw,:root[data-theme=light] .schedule-pill,:root[data-theme=light] .schedule-icon-btn{background:var(--glass-bg);border-color:var(--glass-border);color:#1f2d40}:root[data-theme=light] .dashboard-profile-btn:hover,:root[data-theme=light] .quick-action:hover,:root[data-theme=light] .scanner-section .btn-secondary:hover,:root[data-theme=light] .result-item:hover,:root[data-theme=light] .dashboard-friends .friends-checkbox:hover,:root[data-theme=light] .dashboard-friends .friend-select-label:hover,:root[data-theme=light] .maps-chip:hover,:root[data-theme=light] .maps-zoom-btn:hover,:root[data-theme=light] .maps-reset-btn:hover,:root[data-theme=light] .passes-header .btn-compact:hover:not(:disabled),:root[data-theme=light] .azan-header-actions .btn-compact:hover:not(:disabled),:root[data-theme=light] .passes-item:hover,:root[data-theme=light] .azan-header .btn-compact:hover:not(:disabled),:root[data-theme=light] .grades-refresh:hover:not(:disabled),:root[data-theme=light] .grades-mode-toggle:hover:not(:disabled),:root[data-theme=light] .grade-card:hover,:root[data-theme=light] .esports-device-card:hover,:root[data-theme=light] .esports-booking-card:hover,:root[data-theme=light] .esports-subscreen-top .btn-compact:hover:not(:disabled),:root[data-theme=light] .friend-clickable:hover,:root[data-theme=light] .friend-select-label:hover,:root[data-theme=light] .schedule-mode:hover,:root[data-theme=light] .schedule-suggestion:hover{background:rgba(var(--accent-rgb),.12);border-color:rgba(var(--accent-rgb),.34);color:#184a2d}:root[data-theme=light] .status-pill,:root[data-theme=light] .today-time,:root[data-theme=light] .maps-meta-chip,:root[data-theme=light] .passes-hero-time,:root[data-theme=light] .passes-time,:root[data-theme=light] .azan-hero-time,:root[data-theme=light] .azan-time,:root[data-theme=light] .grades-hero-value,:root[data-theme=light] .grade-total .grade-value,:root[data-theme=light] .esports-hero-value,:root[data-theme=light] .schedule-hero-count,:root[data-theme=light] .summary-value{color:#12703a}:root[data-theme=light] .status-pill,:root[data-theme=light] .today-time,:root[data-theme=light] .maps-meta-chip,:root[data-theme=light] .schedule-mode-badge,:root[data-theme=light] .grades-mode-toggle.is-active{background:rgba(var(--accent-rgb),.16);border-color:rgba(var(--accent-rgb),.34)}:root[data-theme=light] .status-pill.is-off,:root[data-theme=light] .schedule-range,:root[data-theme=light] .schedule-date,:root[data-theme=light] .schedule-hint,:root[data-theme=light] .schedule-advanced-label,:root[data-theme=light] .schedule-advanced-hint,:root[data-theme=light] .maps-control-label,:root[data-theme=light] .passes-duration-badge,:root[data-theme=light] .passes-arrow,:root[data-theme=light] .azan-next-badge,:root[data-theme=light] .dashboard-friends .group-title,:root[data-theme=light] .dashboard-friends .group-count,:root[data-theme=light] .account-subtitle,:root[data-theme=light] .profile-id,:root[data-theme=light] .account-label,:root[data-theme=light] .stat-label,:root[data-theme=light] .profile-stats-foot{color:#63758d}:root[data-theme=light] .dashboard-friends .friend-select-name,:root[data-theme=light] .dashboard-friends .friends-checkbox span,:root[data-theme=light] .friend-name,:root[data-theme=light] .friend-select-name,:root[data-theme=light] .grade-value,:root[data-theme=light] .passes-zone,:root[data-theme=light] .azan-label,:root[data-theme=light] .esports-booking-device,:root[data-theme=light] .esports-device-name{color:#162437}:root[data-theme=light] .dashboard-friends .friend-checkbox,:root[data-theme=light] .friends-checkbox input[type=checkbox],:root[data-theme=light] .share-toggle input[type=checkbox]{background:#dbe5f2;border-color:#64748b73}:root[data-theme=light] .dashboard-friends .friend-checkbox:after,:root[data-theme=light] .friends-checkbox input[type=checkbox]:after,:root[data-theme=light] .share-toggle input[type=checkbox]:after{background:#fff;box-shadow:0 3px 8px #0f172a38}:root[data-theme=light] .friends-checkbox input[type=checkbox]:checked,:root[data-theme=light] .share-toggle input[type=checkbox]:checked{background:rgba(var(--accent-rgb),.28);border-color:rgba(var(--accent-rgb),.52)}:root[data-theme=light] .friends-checkbox input[type=checkbox]:checked:after,:root[data-theme=light] .share-toggle input[type=checkbox]:checked:after{background:#fff}:root[data-theme=light] .maps-control-row+.maps-control-row,:root[data-theme=light] .schedule-advanced,:root[data-theme=light] .schedule-suggestion+.schedule-suggestion,:root[data-theme=light] .grade-total{border-top-color:#64748b38}:root[data-theme=light] .maps-search-results{background:#fff;border-color:#0000001a;box-shadow:0 8px 24px #0000001a}:root[data-theme=light] .maps-search-result:active{background:#0000000a}:root[data-theme=light] .maps-search-result{border-bottom-color:#0000000f}:root[data-theme=light] .maps-placeholder,:root[data-theme=light] .maps-gesture-hint,:root[data-theme=light] .schedule-empty-day,:root[data-theme=light] .schedule-raw,:root[data-theme=light] .schedule-raw pre,:root[data-theme=light] .friends-loading,:root[data-theme=light] .friends-empty{color:#61748d}:root[data-theme=light] .schedule-panel,:root[data-theme=light] .grades-shell,:root[data-theme=light] .passes-card,:root[data-theme=light] .azan-card,:root[data-theme=light] .maps-shell,:root[data-theme=light] .esports-shell{background:#ffffffb3;-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border-color:#ffffff80;box-shadow:0 2px 12px #0000000d,inset 0 .5px #fffc}:root[data-theme=light] .profile-top{background:linear-gradient(180deg,#fffffff5,#f6fafff0);border-color:#788da847}:root[data-theme=light] .friends-input{background:#fff;border-color:#788da852;color:#132136}:root[data-theme=light] .friends-input::placeholder{color:#73849b}:root[data-theme=light] .sheet-modal.friends-modal{background:linear-gradient(180deg,#fcfefffe,#f4f8fdfe);border-top-color:#788da847;box-shadow:inset 0 1px #ffffffb8,0 -14px 30px #0f172a29}:root[data-theme=light] .friends-loading-overlay{background:#eef4fbb8}:root[data-theme=light] .friends-loading-pill{background:#fffffff2;border-color:rgba(var(--accent-rgb),.34);color:#184a2d}:root[data-theme=light] .info-sheet .info-text li code{background:#0f172a0a;border-color:#64748b47;color:#162437}:root[data-theme=light] .btn-reject:hover,:root[data-theme=light] .btn-remove:hover{color:#9f1d1d;border-color:#ef444473;background:#ef444421}:root[data-theme=light] .friend-noauth-badge{color:#991b1b;background:#ef44441f;border-color:#ef444452}:root[data-theme=light] .grade-total.grade-fail .grade-value,:root[data-theme=light] .maps-placeholder-error,:root[data-theme=light] .scanner-section .status-message.error{color:#b42323}:root[data-theme=light] .account-sheet,:root[data-theme=light] .sheet-modal.info-sheet,:root[data-theme=light] .sheet-modal.confirm-sheet,:root[data-theme=light] .sheet-modal.friends-modal{border-color:#788da84d}:root[data-theme=light] .sheet-modal.info-sheet{background:linear-gradient(180deg,#fcfefffe,#f4f8fdfe)}:root[data-theme=light] .sheet-modal.info-sheet .info-text,:root[data-theme=light] .account-sheet .profile-section,:root[data-theme=light] .account-sheet .profile-stats,:root[data-theme=light] .account-sheet .profile-history-item,:root[data-theme=light] .account-sheet .account-row,:root[data-theme=light] .account-sheet .profile-kv-row,:root[data-theme=light] .account-sheet .share-toggle,:root[data-theme=light] .account-sheet .stat-card,:root[data-theme=light] .account-sheet .profile-inline-note{background:var(--glass-bg);border-color:var(--glass-border);box-shadow:none}:root[data-theme=light] .account-sheet .account-title,:root[data-theme=light] .account-sheet .profile-name,:root[data-theme=light] .account-sheet .account-value,:root[data-theme=light] .account-sheet .profile-section-title,:root[data-theme=light] .account-sheet .profile-stats-title,:root[data-theme=light] .account-sheet .profile-history-time,:root[data-theme=light] .account-sheet .profile-history-message,:root[data-theme=light] .account-sheet .profile-stats-line span:last-child{color:#162437}:root[data-theme=light] .account-sheet .account-subtitle,:root[data-theme=light] .account-sheet .profile-id,:root[data-theme=light] .account-sheet .account-label,:root[data-theme=light] .account-sheet .stat-label,:root[data-theme=light] .account-sheet .profile-section-meta,:root[data-theme=light] .account-sheet .profile-history-meta,:root[data-theme=light] .account-sheet .profile-stats-line,:root[data-theme=light] .account-sheet .profile-stats-foot,:root[data-theme=light] .account-sheet .delete-account-hint{color:#5c6f86}:root[data-theme=light] .account-sheet .profile-stats-lines,:root[data-theme=light] .account-sheet .profile-stats-line+.profile-stats-line,:root[data-theme=light] .account-sheet .profile-stats-foot,:root[data-theme=light] .account-sheet .account-header{border-color:#64748b38}:root[data-theme=light] .account-sheet .account-close,:root[data-theme=light] .account-sheet .profile-stats-info,:root[data-theme=light] .account-sheet .profile-action-link,:root[data-theme=light] .account-sheet .account-channel-btn,:root[data-theme=light] .account-sheet .account-logout{background:#0f172a08;border-color:#64748b4d;color:#1f2d40}:root[data-theme=light] .account-sheet .account-close:hover,:root[data-theme=light] .account-sheet .profile-stats-info:hover,:root[data-theme=light] .account-sheet .profile-action-link:hover:not(:disabled),:root[data-theme=light] .account-sheet .account-channel-btn:hover,:root[data-theme=light] .account-sheet .account-logout:hover{background:rgba(var(--accent-rgb),.12);border-color:rgba(var(--accent-rgb),.34);color:#184a2d}:root[data-theme=light] .account-sheet .sync-badge{border-color:#64748b47;background:#0f172a08}:root[data-theme=light] .account-sheet .sync-badge.is-on{color:#14532d;background:rgba(var(--accent-rgb),.18);border-color:rgba(var(--accent-rgb),.38)}:root[data-theme=light] .account-sheet .sync-badge.is-off{color:#475a72;background:#64748b21;border-color:#64748b4d}:root[data-theme=light] .account-sheet .profile-inline-note.is-ok,:root[data-theme=light] .account-sheet .history-status.is-success{color:#14532d;background:rgba(var(--accent-rgb),.15);border-color:rgba(var(--accent-rgb),.34)}:root[data-theme=light] .account-sheet .profile-inline-note.is-error,:root[data-theme=light] .account-sheet .history-status.is-error{color:#9f1d1d;background:#ef44441f;border-color:#ef444452}:root[data-theme=light] .account-sheet .delete-account-btn{color:#9f1d1d;background:#ef44441a;border-color:#ef444459}:root[data-theme=light] .account-sheet .delete-account-btn:hover{color:#7f1d1d;background:#ef444426;border-color:#ef44446b}:root[data-theme=light] .friends-card .member-indicator.inactive,:root[data-theme=light] .dashboard-friends .member-indicator.inactive{background:#8ea0b8}:root[data-theme=light] .btn-favorite{color:#5c6f86;border-color:#64748b4d;background:#0f172a08}:root[data-theme=light] .btn-favorite:hover{color:#1f2d40;border-color:#64748b66;background:#0f172a0f}:root[data-theme=light] .btn-favorite.is-active{color:#184a2d;border-color:rgba(var(--accent-rgb),.38);background:rgba(var(--accent-rgb),.14);box-shadow:none}:root[data-theme=light] .passes-dot,:root[data-theme=light] .azan-dot{background:#8ea0b8}:root[data-theme=light] .passes-item:hover .passes-dot,:root[data-theme=light] .azan-row.is-next .azan-dot{background:var(--accent)}:root[data-theme=light] .grade-total .grade-label{color:#4f627b}:root[data-theme=light] .grades-summary{background:#0f172a08;border-color:#64748b47}:root[data-theme=light] .summary-label{color:#5f7188}:root[data-theme=light] .maps-retry-btn{color:#9f1d1d;background:#ef44441a;border-color:#ef444457}:root[data-theme=light] .scanner-section .status-message.scanning{color:#4f627b;background:#0f172a08;border-color:#64748b47}:root[data-theme=light] .scanner-section .status-message.success,:root[data-theme=light] .scanner-section .status-message.processing{color:#14532d;background:rgba(var(--accent-rgb),.12);border-color:rgba(var(--accent-rgb),.34)}:root[data-theme=light] .btn-danger,:root[data-theme=light] .delete-account-btn,:root[data-theme=light] .btn-reject,:root[data-theme=light] .btn-remove,:root[data-theme=light] .maps-retry-btn{color:#991b1b;background:#ef44441f;border-color:#ef444461}:root[data-theme=light] .btn-danger:hover,:root[data-theme=light] .delete-account-btn:hover,:root[data-theme=light] .btn-reject:hover,:root[data-theme=light] .btn-remove:hover,:root[data-theme=light] .maps-retry-btn:hover{color:#7f1d1d;background:#ef44442e;border-color:#ef444475}:root[data-theme=light] .btn-danger:disabled,:root[data-theme=light] .delete-account-btn:disabled{color:#a35a5a;background:#ef444414;border-color:#ef44443d}:root[data-theme=light] .score-value,:root[data-theme=light] .summary-value,:root[data-theme=light] .grades-hero-value,:root[data-theme=light] .grade-value,:root[data-theme=light] .grade-total .grade-value,:root[data-theme=light] .passes-hero-time,:root[data-theme=light] .passes-time,:root[data-theme=light] .azan-hero-time,:root[data-theme=light] .azan-time,:root[data-theme=light] .schedule-hero-count,:root[data-theme=light] .stat-value,:root[data-theme=light] .today-time,:root[data-theme=light] .acs-time{color:#0f6b37}:root[data-theme=light] .grade-total.grade-fail .grade-value{color:#b42323}:root[data-theme=light] .grade-badge.grade-a,:root[data-theme=light] .grade-badge.grade-отлично,:root[data-theme=light] .grade-badge.grade-зачтено{color:var(--accent-hover);background:rgba(var(--accent-rgb),.14);border-color:rgba(var(--accent-rgb),.32)}:root[data-theme=light] .grade-badge.grade-b,:root[data-theme=light] .grade-badge.grade-хорошо{color:#1d4ed8;background:#3b82f624;border-color:#3b82f652}:root[data-theme=light] .grade-badge.grade-c,:root[data-theme=light] .grade-badge.grade-удовлетворительно{color:#92400e;background:#f59e0b29;border-color:#f59e0b57}:root[data-theme=light] .grade-badge.grade-d,:root[data-theme=light] .grade-badge.grade-f,:root[data-theme=light] .grade-badge.grade-неудовлетворительно,:root[data-theme=light] .grade-badge.grade-незачтено{color:#9f1d1d;background:#ef44441f;border-color:#ef444452}:root[data-theme=ocean] .esports-input:focus{border-color:#38bdf880;box-shadow:0 0 0 3px #38bdf81a,inset 0 .5px #ffffff0f}:root[data-theme=ocean] .esports-chip.active{border-color:#38bdf880;background:#38bdf82e;color:#bae6fd}:root[data-theme=ocean] .share-toggle input[type=checkbox]:checked,:root[data-theme=ocean] .friends-checkbox input[type=checkbox]:checked{background:#38bdf847;border-color:#38bdf885}:root[data-theme=ocean] .scanner-section .status-message.success,:root[data-theme=ocean] .scanner-section .status-message.processing{color:#7dd3fc;background:#38bdf81f;border-color:#38bdf857}:root[data-theme=ocean] .scanner-section .status-message.scanning{color:#8899b4;background:#3882e60f;border-color:#3882e62e}:root[data-theme=ocean] .account-sheet .sync-badge.is-on{color:#7dd3fc;background:#38bdf82e;border-color:#38bdf861}:root[data-theme=ocean] .account-sheet .profile-inline-note.is-ok,:root[data-theme=ocean] .account-sheet .history-status.is-success{color:#7dd3fc;background:#38bdf826;border-color:#38bdf857}:root[data-theme=ocean] .friends-loading-pill{background:#0f1d35f2;border-color:#38bdf857;color:#7dd3fc}:root[data-theme=ocean] .btn-favorite.is-active{color:#7dd3fc;border-color:#38bdf861;background:#38bdf824}:root[data-theme=ocean] .passes-item:hover .passes-dot,:root[data-theme=ocean] .azan-row.is-next .azan-dot{background:#38bdf8}:root[data-theme=ocean] .grades-mode-toggle.is-active{background:#38bdf829;border-color:#38bdf857}:root[data-theme=ocean] .account-sheet .account-close:hover,:root[data-theme=ocean] .account-sheet .profile-stats-info:hover,:root[data-theme=ocean] .account-sheet .profile-action-link:hover:not(:disabled),:root[data-theme=ocean] .account-sheet .account-channel-btn:hover,:root[data-theme=ocean] .account-sheet .account-logout:hover{background:#38bdf81f;border-color:#38bdf857;color:#bae6fd}:root[data-theme=ocean] .profile-menu-item:hover{background:#38bdf814}:root[data-theme=ocean] .profile-menu-item:active{background:#38bdf824}.theme-picker{display:flex;gap:8px;padding:8px 0 4px}.theme-option{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 6px 8px;border-radius:var(--radius-md);border:1.5px solid var(--glass-border);background:var(--glass-bg);cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast),transform var(--transition-fast);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.theme-option:active{transform:scale(var(--scale-press))}.theme-option.is-active{border-color:var(--accent);background:rgba(var(--accent-rgb, 56, 189, 248),.08)}.theme-swatch{width:28px;height:28px;border-radius:50%;border:2px solid rgba(255,255,255,.12);box-shadow:inset 0 -4px 8px #00000026,0 2px 6px #0000001f;flex-shrink:0}.theme-swatch.swatch-dark{background:linear-gradient(135deg,#1a1a1a,#0a0a0a)}.theme-swatch.swatch-light{background:linear-gradient(135deg,#f0f4f9,#dde5ef);border-color:#00000014}.theme-swatch.swatch-ocean{background:linear-gradient(135deg,#1e3a6e,#0b1628);border-color:#38bdf840}.theme-swatch.swatch-custom{background:conic-gradient(from 0deg,#ef4444,#f59e0b,#22c55e,#3b82f6,#8b5cf6,#ef4444);border-color:#fff3}.theme-option-label{font-size:11px;font-weight:600;color:var(--text-secondary);letter-spacing:.2px}.theme-option.is-active .theme-option-label{color:var(--accent)}.theme-option.is-active .theme-swatch{border-color:var(--accent);box-shadow:inset 0 -4px 8px #00000026,0 0 0 3px rgba(var(--accent-rgb, 56, 189, 248),.18),0 2px 6px #0000001f}:root[data-theme=light] .theme-swatch{border-color:#00000014}:root[data-theme=light] .theme-swatch.swatch-dark{border-color:#0000001f}:root[data-theme=light] .theme-option.is-active{border-color:var(--accent);background:rgba(var(--accent-rgb),.08)}:root[data-theme=light] .theme-option.is-active .theme-swatch{border-color:var(--accent);box-shadow:inset 0 -4px 8px #0000001a,0 0 0 3px rgba(var(--accent-rgb),.15),0 2px 6px #00000014}:root[data-theme=ocean] .theme-option.is-active{border-color:var(--accent);background:#38bdf814}:root[data-theme=ocean] .theme-option.is-active .theme-swatch{border-color:var(--accent);box-shadow:inset 0 -4px 8px #00000026,0 0 0 3px #38bdf82e,0 2px 6px #0000001f}.custom-theme-editor{margin-top:10px;padding:12px;border-radius:var(--radius-md);background:var(--glass-bg);border:1px solid var(--glass-border)}.custom-theme-presets{display:flex;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:10px;margin-bottom:2px}.custom-theme-presets::-webkit-scrollbar{display:none}.custom-theme-preset{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 8px;border-radius:8px;border:1.5px solid var(--border);background:var(--bg-card);cursor:pointer;flex-shrink:0;min-width:54px;transition:all var(--transition-fast)}.custom-theme-preset.is-active{border-color:var(--accent);background:rgba(var(--accent-rgb),.08)}.custom-theme-preset:active{transform:scale(var(--scale-press))}.custom-theme-preset-dot{width:24px;height:24px;border-radius:50%;border:1.5px solid rgba(255,255,255,.12);flex-shrink:0}.custom-theme-preset.is-active .custom-theme-preset-dot{border-color:var(--accent)}.custom-theme-preset-name{font-size:10px;font-weight:600;color:var(--text-secondary);white-space:nowrap}.custom-theme-preset.is-active .custom-theme-preset-name{color:var(--accent)}.custom-theme-accent-row{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:8px}.custom-theme-accent-label{font-size:13px;font-weight:600;color:var(--text-primary)}.custom-theme-accent-picker{width:36px!important;height:36px!important}.custom-theme-toggle-advanced{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:7px;border:1px solid var(--border);border-radius:var(--radius-sm);background:none;color:var(--text-secondary);font-size:12px;font-weight:600;cursor:pointer;margin-bottom:8px}.custom-theme-toggle-advanced:active{transform:scale(var(--scale-press))}.custom-theme-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.custom-theme-field{display:flex;flex-direction:column;gap:4px}.custom-theme-label{font-size:11px;font-weight:600;color:var(--text-secondary);letter-spacing:.2px}.custom-theme-input-wrap{display:flex;align-items:center;gap:8px;padding:4px 8px 4px 4px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm)}.custom-theme-color{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:28px;height:28px;border:none;border-radius:6px;cursor:pointer;padding:0;background:none;flex-shrink:0}.custom-theme-color::-webkit-color-swatch-wrapper{padding:0}.custom-theme-color::-webkit-color-swatch{border:1.5px solid rgba(255,255,255,.15);border-radius:6px}.custom-theme-hex{font-size:12px;font-family:Geist Mono,monospace;color:var(--text-secondary);letter-spacing:.5px}
