@import "https://fonts.googleapis.com/css2?family=Roboto+Flex:opsz,wght@8..144,300..900&family=JetBrains+Mono:wght@400;500;600;700&display=swap";:root{--md-sys-color-background:#08080a;--md-sys-color-on-background:#e5e1e9;--md-sys-color-surface:#101014;--md-sys-color-surface-container-lowest:#040406;--md-sys-color-surface-container-low:#15151a;--md-sys-color-surface-container:#1c1b22;--md-sys-color-surface-container-high:#27262e;--md-sys-color-surface-container-highest:#32313b;--md-sys-color-on-surface:#e5e1e9;--md-sys-color-on-surface-variant:#c9c4d0;--md-sys-color-outline:#8e8a94;--md-sys-color-outline-variant:#35333c;--md-sys-color-primary:#d0bcff;--md-sys-color-on-primary:#381e72;--md-sys-color-primary-container:#4f378b;--md-sys-color-on-primary-container:#eaddff;--md-sys-color-secondary-container:#4a4458;--md-sys-color-on-secondary-container:#e8def8;--md-sys-color-tertiary:#7ddcb9;--md-sys-color-on-tertiary:#003828;--md-sys-color-lemon:#f0e083;--md-sys-color-on-lemon:#3b3000;--m3-spring-fast:cubic-bezier(.34, 1.56, .64, 1);--bg-app:var(--md-sys-color-background);--bg-surface:var(--md-sys-color-surface);--bg-surface-elevated:var(--md-sys-color-surface-container);--bg-surface-hover:var(--md-sys-color-surface-container-high);--border-subtle:var(--md-sys-color-outline-variant);--border-strong:#4f378b;--border-focus:var(--md-sys-color-primary);--border:var(--border-subtle);--text-primary:var(--md-sys-color-on-surface);--text-main:var(--text-primary);--text-h:#fff;--text-secondary:var(--md-sys-color-on-surface-variant);--text-muted:var(--md-sys-color-outline);--text-inverse:var(--md-sys-color-on-primary);--accent:var(--md-sys-color-primary);--accent-bg:#d0bcff1f;--accent-border:#d0bcff59;--status-active:var(--md-sys-color-tertiary);--status-active-bg:#7ddcb91f;--status-active-border:#7ddcb959;--status-error:#ffb4ab;--danger:var(--status-error);--social-bg:#d0bcff14;--text-xs:12px;--text-sm:13.5px;--text-base:15px;--text-lg:17.5px;--text-xl:22px;--text-2xl:28px;--space-sm:10px;--space-md:16px;--space-lg:24px;--space-xl:32px;--radius-xs:8px;--radius-sm:12px;--radius-md:18px;--radius-lg:28px;--radius-pill:9999px;--shadow:0 8px 32px #0000008c;--shadow-glow:0 0 24px #d0bcff26;--sidebar-width:248px;--now-bar-height:68px}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-app);color:var(--text-primary);min-height:100vh;font-family:Roboto Flex,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:var(--text-base);-webkit-font-smoothing:antialiased;line-height:1.5}#root{width:100%}.app-wrapper{flex-direction:column;align-items:center;min-height:100vh;padding:40px 20px 60px;display:flex}.content-container{flex-direction:column;gap:24px;width:100%;max-width:820px;display:flex}.top-header{flex-direction:column;align-items:center;gap:18px;margin-bottom:8px;display:flex}.brand-row{align-items:center;gap:12px;display:flex}.brand-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-primary);align-items:center;gap:8px;font-size:15px;font-weight:700;display:flex}.daemon-pill{font-size:var(--text-xs);color:var(--status-active);background:var(--status-active-bg);border:1px solid var(--status-active-border);border-radius:var(--radius-xs);align-items:center;gap:6px;padding:3px 8px;font-family:JetBrains Mono,monospace;font-weight:500;display:inline-flex}.status-dot{background:var(--status-active);border-radius:50%;width:5px;height:5px;box-shadow:0 0 5px #10b98199}.nav-pill-bar{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);align-items:center;gap:2px;padding:4px;display:inline-flex}.nav-pill-btn{border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:8px;padding:7px 14px;font-family:inherit;font-weight:500;transition:all .15s;display:inline-flex}.nav-pill-btn:hover{color:var(--text-primary);background:var(--bg-surface-elevated)}.nav-pill-btn.active{color:var(--text-primary);background:var(--bg-surface-elevated);border-color:var(--border-strong);font-weight:600}.card{background:var(--md-sys-color-surface-container-low);border:2px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-lg);gap:var(--space-md);flex-direction:column;transition:border-color .2s,box-shadow .2s;display:flex;box-shadow:0 6px 24px #00000059}.card-header{justify-content:space-between;align-items:center;display:flex}.card-title{font-size:var(--text-lg);color:var(--text-primary);align-items:center;gap:8px;font-weight:600;display:flex}.card-subtitle{font-size:var(--text-sm);color:var(--text-muted);margin-top:2px}.nodes-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}@media (width<=640px){.nodes-grid{grid-template-columns:1fr}}.node-card{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);flex-direction:column;justify-content:space-between;gap:12px;padding:14px 16px;display:flex}.node-header{justify-content:space-between;align-items:flex-start;display:flex}.node-name{font-size:var(--text-base);color:var(--text-primary);align-items:center;gap:7px;font-weight:600;display:flex}.node-type{font-size:var(--text-xs);color:var(--text-muted);margin-top:2px;font-family:JetBrains Mono,monospace}.node-footer{font-size:var(--text-xs);color:var(--text-muted);border-top:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding-top:8px;font-family:JetBrains Mono,monospace;display:flex}.rules-list{flex-direction:column;gap:8px;display:flex}.rule-row{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;transition:border-color .15s;display:flex}.rule-row:hover{border-color:var(--border-strong)}.rule-row.disabled{opacity:.55}.rule-info{flex-direction:column;gap:3px;display:flex}.rule-title{font-size:var(--text-base);color:var(--text-primary);align-items:center;gap:8px;font-weight:600;display:flex}.rule-desc{font-size:var(--text-sm);color:var(--text-muted);line-height:1.4}.rule-tag{font-size:var(--text-xs);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xs);color:var(--text-secondary);padding:1px 5px;font-family:JetBrains Mono,monospace}.switch{flex-shrink:0;width:34px;height:18px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0}.slider{cursor:pointer;background-color:var(--bg-surface);border:1px solid var(--border-strong);border-radius:20px;transition:all .15s;position:absolute;inset:0}.slider:before{content:"";background-color:var(--text-muted);border-radius:50%;width:12px;height:12px;transition:all .15s;position:absolute;bottom:2px;left:2px}input:checked+.slider{background-color:var(--text-primary);border-color:var(--text-primary)}input:checked+.slider:before{background-color:var(--text-inverse);transform:translate(16px)}.pairing-container{text-align:center;flex-direction:column;align-items:center;gap:20px;padding:10px 0;display:flex}.qr-box{border-radius:var(--radius-sm);background:#fff;padding:14px;display:inline-flex}.passphrase-display{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);width:100%;max-width:480px;color:var(--text-primary);justify-content:space-between;align-items:center;padding:10px 14px;font-family:JetBrains Mono,monospace;font-size:14px;font-weight:600;display:flex}.code-snippet{background:var(--bg-app);border:1px solid var(--border-subtle);border-radius:var(--radius-xs);width:100%;max-width:480px;font-family:JetBrains Mono,monospace;font-size:var(--text-xs);color:var(--text-secondary);text-align:left;padding:10px 14px;line-height:1.5}.terminal-card{background:var(--bg-app);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-family:JetBrains Mono,monospace;font-size:var(--text-xs);color:var(--text-secondary);flex-direction:column;gap:6px;max-height:320px;padding:14px 16px;display:flex;overflow-y:auto}.terminal-line{gap:8px;display:flex}.btn{border-radius:var(--radius-pill);font-size:var(--text-sm);white-space:nowrap;cursor:pointer;transition:transform .2s var(--m3-spring-fast), background-color .15s ease, border-color .15s ease;border:2px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-family:inherit;font-weight:800;line-height:1;display:inline-flex}.btn:hover:not(:disabled){transform:scale(1.04)translateY(-1px)}.btn:active:not(:disabled){transform:scale(.95)}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.btn-primary:hover:not(:disabled){background:#e2d4ff}.btn-secondary{background:var(--md-sys-color-surface-container-highest);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background:#44414f}.btn-danger{color:var(--status-error);background:#ffb4ab1f;border-color:#ffb4ab4d}.btn-danger:hover:not(:disabled){background:var(--status-error);color:#690005}@media (prefers-reduced-motion:reduce){.btn:hover:not(:disabled),.btn:active:not(:disabled){transform:none}}.user-dropdown-container{position:relative}.user-badge-btn{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);color:var(--text-primary);border-radius:var(--radius-xs);font-size:var(--text-sm);cursor:pointer;align-items:center;gap:6px;padding:4px 10px;font-family:JetBrains Mono,monospace;transition:all .15s;display:inline-flex}.user-badge-btn:hover{border-color:var(--border-strong);background:var(--bg-surface-hover)}.user-dropdown-menu{background:var(--bg-surface-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-sm);z-index:100;flex-direction:column;width:200px;padding:6px 0;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 10px 25px -5px #00000080}.user-dropdown-title{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:6px 12px 4px;font-weight:600}.user-item{color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;padding:6px 12px;font-family:JetBrains Mono,monospace;transition:background .1s;display:flex}.user-item.active{color:var(--status-active);font-weight:600}.data-table{border-collapse:collapse;width:100%;font-size:var(--text-sm);font-family:JetBrains Mono,monospace}.data-table th{text-align:left;color:var(--text-muted);font-weight:500;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border-subtle);white-space:nowrap;padding:8px 10px}.data-table td{border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);vertical-align:top;padding:10px}.data-table tr:last-child td{border-bottom:none}.data-table td.truncate{text-overflow:ellipsis;white-space:nowrap;max-width:260px;overflow:hidden}.row-sub{color:var(--text-muted);font-size:var(--text-xs);margin-top:2px}.icon-btn{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-surface-elevated);width:26px;height:26px;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;transition:background .1s,color .1s;display:inline-flex}.icon-btn:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.icon-btn.danger:hover{color:#f87171;border-color:#f87171}.empty-hint{text-align:center;color:var(--text-muted);font-size:var(--text-base);background:var(--bg-surface-elevated);border-radius:var(--radius-sm);padding:24px}.browse-controls{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.segmented{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);display:inline-flex;overflow:hidden}.segmented-btn{background:var(--bg-surface-elevated);color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;border:none;padding:6px 12px;font-family:JetBrains Mono,monospace}.browse-select,.browse-search{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--text-sm);align-items:center;gap:6px;padding:6px 10px;font-family:JetBrains Mono,monospace;display:inline-flex}.browse-search input{color:var(--text-primary);font:inherit;background:0 0;border:none;outline:none;min-width:200px}.cover-grid{grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:14px;display:grid}.cover-tile{min-width:0}.cover-tile.absent{opacity:.42;filter:grayscale()}.cover-art{aspect-ratio:1;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-surface-elevated);color:var(--text-muted);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.cover-art img{object-fit:cover;width:100%;height:100%;display:block}.cover-badge{color:#fff;font-size:var(--text-xs);letter-spacing:.02em;background:#000000a8;border-radius:100px;padding:2px 6px;position:absolute;bottom:6px;left:6px}.cover-title{font-size:var(--text-sm);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;margin-top:6px;overflow:hidden}.cover-sub{font-size:var(--text-xs);color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.browse-pager{font-size:var(--text-sm);color:var(--text-muted);justify-content:center;align-items:center;gap:12px;margin-top:16px;display:flex}.pill-btn{border:1px solid var(--border-subtle);background:var(--bg-surface-elevated);color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;border-radius:100px;align-items:center;gap:6px;padding:6px 12px;font-family:JetBrains Mono,monospace;display:inline-flex}.pill-btn:hover:not(:disabled){background:var(--bg-surface-hover);color:var(--text-primary)}.pill-btn:disabled{opacity:.4;cursor:default}.stat-tiles{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.stat-tile{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:14px}.stat-tile-head{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.stat-tile-value{color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:22px;font-weight:700}.stats-columns{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.top-list{flex-direction:column;gap:6px;display:flex}.top-row{font-size:var(--text-sm);color:var(--text-secondary);align-items:center;gap:8px;min-width:0;font-family:JetBrains Mono,monospace;display:flex}.top-rank{width:18px;color:var(--text-muted);text-align:right;flex-shrink:0}.top-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-primary);flex:1;overflow:hidden}.top-value{color:var(--text-muted);flex-shrink:0}.bar-row{align-items:flex-end;gap:3px;height:96px;display:flex}.bar-slot{background:var(--bg-surface-elevated);border-radius:3px;flex:1;align-items:flex-end;height:100%;transition:background .15s;display:flex;overflow:hidden}.bar-slot:hover{background:var(--bg-surface-hover)}.bar-slot:hover .bar-fill{filter:brightness(1.2)}.bar-fill{background:var(--status-active);border-radius:3px;width:100%;min-height:1px;transition:height .45s cubic-bezier(.16,1,.3,1),filter .15s}.chart-list{flex-direction:column;gap:4px;display:flex}.chart-row{background:var(--bg-surface-elevated);border-radius:8px;align-items:center;gap:12px;padding:8px 12px;display:flex;position:relative;overflow:hidden}.chart-row-fill{background:var(--status-active-bg);border-right:2px solid var(--status-active-border);width:0%;transition:width .45s cubic-bezier(.16,1,.3,1);position:absolute;inset:0}.chart-rank{z-index:1;text-align:right;width:22px;font-family:JetBrains Mono,monospace;font-size:var(--text-sm);color:var(--text-muted);flex-shrink:0;position:relative}.chart-row:nth-child(-n+3) .chart-rank{color:var(--status-active);font-weight:700}.chart-info{z-index:1;flex-direction:column;flex:1;gap:1px;min-width:0;display:flex;position:relative}.chart-title{color:var(--text-primary);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.chart-artist{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.chart-count{z-index:1;font-family:JetBrains Mono,monospace;font-size:var(--text-sm);color:var(--text-muted);flex-shrink:0;position:relative}.auth-page{background:radial-gradient(circle at 50% 30%,#4f378b29 0%,#08080a 75%);flex-direction:column;justify-content:center;align-items:center;gap:24px;min-height:100vh;padding:24px;display:flex}.auth-card{background:var(--md-sys-color-surface-container);border:1.5px solid var(--border-subtle);border-radius:var(--radius-lg);width:100%;max-width:420px;padding:40px 32px;box-shadow:0 16px 48px #0009,0 0 32px #d0bcff0d}.auth-brand{letter-spacing:-.02em;color:var(--text-h);flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:32px;font-weight:800;display:flex}.auth-subtitle{text-align:center;font-size:var(--text-base);color:var(--text-secondary);margin:8px 0 28px}.auth-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:6px;display:block}.auth-hint,.auth-lede{color:var(--text-muted);margin:-6px 0 18px;font-size:12px;line-height:1.5}.auth-lede{margin-top:0;font-size:13px}.auth-submit{background:var(--md-sys-color-primary);width:100%;color:var(--md-sys-color-on-primary);border-radius:var(--radius-pill);font-size:var(--text-base);cursor:pointer;transition:all .2s var(--m3-spring-fast);border:none;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-weight:800;display:flex;box-shadow:0 4px 16px #d0bcff40}.auth-submit:hover:not(:disabled){background:#eaddff;transform:translateY(-1px);box-shadow:0 6px 22px #d0bcff66}.auth-submit:disabled{opacity:.5;cursor:default}.auth-secondary{background:var(--md-sys-color-surface-container-high);width:100%;color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);font-size:var(--text-base);cursor:pointer;transition:all .2s var(--m3-spring-fast);justify-content:center;align-items:center;gap:6px;padding:11px 20px;font-weight:600;display:flex}.auth-secondary:hover{border-color:var(--md-sys-color-primary);background:var(--md-sys-color-surface-container-highest);color:var(--md-sys-color-primary)}.auth-divider{color:var(--text-muted);font-size:var(--text-xs);align-items:center;gap:10px;margin:18px 0;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border-subtle);flex:1;height:1px}.auth-error{border-radius:var(--radius-sm,6px);color:var(--status-error,#f7768e);font-size:var(--text-sm);background:#f7768e1f;margin:0 0 14px;padding:9px 11px}.auth-notice{border-radius:var(--radius-sm,6px);border:1px solid var(--border-subtle);background:var(--bg-surface);font-size:var(--text-sm);color:var(--text-muted);margin-bottom:18px;padding:11px 13px;line-height:1.55}.auth-notice-ok{border-color:var(--status-active,#9ece6a)}.auth-passphrase{background:var(--bg-surface);border:1px solid var(--accent,#7aa2f7);border-radius:var(--radius-sm,6px);align-items:center;gap:10px;margin-bottom:18px;padding:13px 14px;display:flex}.auth-passphrase code{letter-spacing:.02em;color:var(--text-main);word-break:break-all;flex:1;font-size:14px}.auth-copy{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px}.auth-copy:hover{color:var(--accent,#7aa2f7)}.auth-footnote{font-size:var(--text-xs);color:var(--text-muted);opacity:.7}.auth-spin{animation:1s linear infinite auth-spin}@keyframes auth-spin{to{transform:rotate(360deg)}}.app-shell{grid-template-columns:var(--sidebar-width) 1fr;grid-template-rows:1fr var(--now-bar-height);background:var(--bg-app);height:100vh;color:var(--text-primary);font-size:var(--text-base);grid-template-areas:"sidebar main""nowbar nowbar";display:grid}.sidebar{gap:var(--space-lg);background:var(--md-sys-color-surface);border-right:1px solid var(--border-subtle);flex-direction:column;grid-area:sidebar;padding:24px 16px;display:flex;overflow-y:auto}.sidebar-brand{letter-spacing:-.02em;color:var(--text-h);align-items:center;gap:12px;padding:6px 10px;font-size:20px;font-weight:800;display:flex}.sidebar-nav{flex-direction:column;flex:1;gap:4px;display:flex}.nav-item{border-radius:var(--radius-pill);width:100%;color:var(--md-sys-color-on-surface-variant);text-align:left;cursor:pointer;transition:all .2s var(--m3-spring-fast);background:0 0;border:1px solid #0000;align-items:center;gap:12px;padding:10px 14px;font-size:14px;font-weight:600;display:flex}.nav-item:hover{background:var(--md-sys-color-surface-container-high);color:var(--text-primary);transform:translate(2px)}.nav-item.active{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);border-color:#d0bcff33;font-weight:700;box-shadow:0 4px 14px #4f378b59}.sidebar-footer{border-top:1px solid var(--border-subtle);padding-top:12px;position:relative}.user-badge-btn{background:var(--md-sys-color-surface-container);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);width:100%;color:var(--text-primary);font-size:var(--text-sm);cursor:pointer;transition:all .2s var(--m3-spring-fast);align-items:center;gap:10px;padding:8px 14px;display:flex}.user-badge-btn:hover{border-color:var(--border-strong)}.user-badge-btn.active{border-color:var(--md-sys-color-primary);background:var(--md-sys-color-surface-container-high);box-shadow:0 0 16px #d0bcff26}.user-badge-name{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.user-badge-version{text-align:left;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:6px;padding:0 14px;font-family:JetBrains Mono,monospace;font-size:10.5px;overflow:hidden}.role-chip{background:var(--accent-bg);border:1px solid var(--accent-border);font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase;color:var(--text-secondary);border-radius:999px;padding:2px 7px}.user-dropdown-menu{z-index:40;background:var(--bg-surface-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:auto;box-shadow:var(--shadow);padding:6px;position:absolute;inset:auto 0 calc(100% + 8px)}.user-dropdown-action{border-radius:var(--radius-sm);width:100%;color:var(--text-primary);font-size:var(--text-sm);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:9px 12px;font-family:inherit;font-weight:500;transition:all .15s;display:flex}.user-dropdown-action:hover{background:var(--bg-surface-hover);color:var(--text-h)}.user-dropdown-action.active{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);font-weight:600}.user-dropdown-action.danger{color:var(--status-error)}.user-dropdown-action.danger:hover{color:var(--status-error);background:#ffb4ab1f}.user-dropdown-title{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:7px 9px}.user-item{border-radius:var(--radius-xs);width:100%;color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;padding:9px;display:flex}.user-item:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.user-item.active{color:var(--text-h)}.user-dropdown-divider{background:var(--border-subtle);height:1px;margin:6px 0}.user-dropdown-row{gap:6px;padding:6px;display:flex}.user-dropdown-row input{background:var(--bg-app);border:1px solid var(--border-strong);border-radius:var(--radius-xs);min-width:0;color:var(--text-primary);font-size:var(--text-sm);flex:1;padding:8px 10px}.btn-block{justify-content:center;width:100%}.btn-danger{color:var(--status-error)}.main-area{background:radial-gradient(750px circle at 50% -80px, #d0bcff12, transparent 70%), var(--bg-app);flex-direction:column;grid-area:main;display:flex;position:relative;overflow:hidden}.page-header{padding:var(--space-xl) var(--space-xl) var(--space-md);border-bottom:1px solid var(--border-subtle)}.page-header h1{font-size:var(--text-2xl);letter-spacing:-.02em;color:var(--text-h);margin:0;font-weight:700}.page-content{padding:var(--space-lg) var(--space-xl) calc(var(--now-bar-height) + 32px);gap:var(--space-md);flex-direction:column;flex:1;animation:.28s cubic-bezier(.16,1,.3,1) both tabContentEntrance;display:flex;overflow-y:auto}@keyframes tabContentEntrance{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.now-bar{justify-content:space-between;align-items:center;gap:var(--space-lg);padding:0 var(--space-xl);background:var(--bg-surface);border-top:1px solid var(--border-subtle);grid-area:nowbar;display:flex}.now-bar-title{font-size:var(--text-base);color:var(--text-h);font-weight:600}.now-bar-meta{font-size:var(--text-sm);color:var(--text-muted);margin-top:3px}.now-bar-status{font-size:var(--text-sm);color:var(--text-secondary);align-items:center;gap:12px;display:flex}.now-bar-time{font-variant-numeric:tabular-nums;color:var(--text-muted)}.now-bar-device{border:1px solid var(--border-subtle);font-size:var(--text-xs);color:var(--text-muted);border-radius:999px;padding:4px 10px}.status-dot{background:var(--text-muted);border-radius:50%;width:8px;height:8px}.status-dot.is-on{background:var(--status-active)}@media (width<=860px){.app-shell{grid-template-columns:64px 1fr}.sidebar-brand span,.nav-item span,.user-badge-name,.user-badge-version,.role-chip{display:none}.nav-item{justify-content:center}.page-header,.page-content,.now-bar{padding-left:var(--space-md);padding-right:var(--space-md)}}.pair-issue{align-items:center;gap:8px;display:flex}.pair-issue input{background:var(--bg-app);border:1px solid var(--border-strong);border-radius:var(--radius-xs);width:260px;color:var(--text-primary);font-size:var(--text-sm);padding:9px 12px}.pair-issue input:focus{border-color:var(--border-focus);outline:none}.pair-issue .btn:disabled{opacity:.45;cursor:default}.feed-list{flex-direction:column;gap:2px;display:flex}.feed-item,.drop-row{border-radius:var(--radius-sm);background:var(--social-bg);color:var(--text-secondary);align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.feed-item svg,.drop-row svg{color:var(--text-muted);flex-shrink:0;margin-top:2px}.feed-body{flex:1;min-width:0}.feed-summary{font-size:var(--text-sm);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.feed-meta{font-size:var(--text-xs);color:var(--text-muted);margin-top:2px}.drop-row.unread{box-shadow:inset 2px 0 0 var(--status-active)}.drop-note{font-size:var(--text-sm);color:var(--text-secondary);margin-top:4px;font-style:italic}.drop-actions{flex-shrink:0;gap:6px;display:flex}.recap-anthem{border-radius:var(--radius-md);background:var(--social-bg);border:1px solid var(--border-subtle);margin-top:12px;padding:14px 16px}.recap-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);align-items:center;gap:6px;display:flex}.recap-anthem-title{font-size:var(--text-lg);color:var(--text-primary);margin-top:6px;font-weight:600}.recap-anthem-artist{font-size:var(--text-sm);color:var(--text-secondary)}.nav-badge{min-width:18px;font-size:var(--text-xs);text-align:center;background:var(--status-active-bg);border:1px solid var(--status-active-border);color:var(--status-active);border-radius:9px;margin-left:auto;padding:0 6px;font-weight:600;line-height:18px}.modern-now-bar{height:var(--now-bar-height);-webkit-backdrop-filter:blur(20px);border-top:1.5px solid var(--border-subtle);z-index:100;background:#1c1b22e0;justify-content:space-between;align-items:center;padding:0 28px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -6px 28px #00000080}.now-bar-media{align-items:center;gap:14px;min-width:240px;display:flex}.audio-pulse-indicator{align-items:flex-end;gap:2.5px;width:18px;height:18px;display:flex}.wave-bar{background:var(--text-muted);border-radius:2px;width:3px;height:4px;transition:height .2s}.audio-pulse-indicator.is-playing .wave-bar{background:var(--md-sys-color-tertiary);animation:1.2s ease-in-out infinite alternate pulseEqualizer}.audio-pulse-indicator.is-paused .wave-bar{opacity:.4;animation:none;height:4px!important}.audio-pulse-indicator.is-playing .bar-1{animation-delay:.1s}.audio-pulse-indicator.is-playing .bar-2{animation-delay:.4s}.audio-pulse-indicator.is-playing .bar-3{animation-delay:.2s}.audio-pulse-indicator.is-playing .bar-4{animation-delay:.5s}@keyframes pulseEqualizer{0%{height:4px}50%{height:22px}to{height:9px}}.now-bar-art{border-radius:var(--radius-sm);object-fit:cover;border:1px solid var(--border-subtle);width:44px;height:44px;box-shadow:0 4px 12px #0006}.now-bar-art-placeholder{border-radius:var(--radius-sm);background:var(--md-sys-color-surface-container);border:1px solid var(--border-subtle);width:44px;height:44px;color:var(--text-muted);justify-content:center;align-items:center;display:flex}.now-bar-info{flex-direction:column;gap:2px;display:flex}.now-bar-track-title{color:var(--text-primary);font-size:14px;font-weight:700}.now-bar-subtext{color:var(--text-secondary);gap:6px;font-size:12px;display:flex}.now-bar-center{flex:1;justify-content:center;align-items:center;gap:14px;max-width:520px;display:flex}.now-bar-controls{align-items:center;gap:8px;display:flex}.now-bar-play-btn{background:var(--md-sys-color-primary);width:34px;height:34px;color:var(--md-sys-color-on-primary);cursor:pointer;transition:transform .15s var(--m3-spring-fast), background .15s ease;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;box-shadow:0 2px 10px #d0bcff59}.now-bar-play-btn:hover{background:#e8def8;transform:scale(1.08)}.now-bar-play-btn:active{transform:scale(.94)}.now-bar-progress-container{flex:1;align-items:center;gap:12px;display:flex}.time-display{color:var(--text-muted);text-align:center;width:38px;font-family:JetBrains Mono,monospace;font-size:12px}.now-bar-progress-track{background:var(--md-sys-color-surface-container-highest);border-radius:var(--radius-pill);flex:1;height:5px;transition:height .15s;position:relative;overflow:hidden}.now-bar-progress-track.interactive{cursor:pointer}.now-bar-progress-track.interactive:hover{height:7px}.now-bar-progress-fill{background:var(--md-sys-color-primary);border-radius:var(--radius-pill);height:100%;transition:width .1s linear;box-shadow:0 0 10px #d0bcff99}.device-indicator-pill.interactive{cursor:pointer;transition:border-color .15s,background .15s}.device-indicator-pill.interactive:hover{background:var(--md-sys-color-surface-container-high);border-color:#d0bcff66}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:var(--md-sys-color-background)}::-webkit-scrollbar-thumb{background:var(--md-sys-color-surface-container-highest);border-radius:var(--radius-pill)}::-webkit-scrollbar-thumb:hover{background:var(--md-sys-color-outline)}.now-bar-meta-right{justify-content:flex-end;align-items:center;gap:12px;min-width:200px;display:flex}.quality-pill{letter-spacing:.05em;border-radius:var(--radius-pill);background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);border:1px solid #d0bcff40;padding:3px 8px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700}.device-indicator-pill{color:var(--text-primary);background:var(--md-sys-color-surface-container);border-radius:var(--radius-pill);border:1px solid var(--border-subtle);align-items:center;gap:8px;padding:6px 14px;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:500;display:flex}.live-dot{background:var(--text-muted);border-radius:50%;width:7px;height:7px}.live-dot.active{background:var(--md-sys-color-tertiary);box-shadow:0 0 8px #7ddcb9cc}.thread-item{border-radius:var(--radius-sm);color:var(--text-main);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:8px 10px;transition:background .15s;display:flex}.thread-item:hover{background:var(--bg-surface-hover)}.thread-item.active{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle)}.thread-meta{flex:1;min-width:0}.thread-header{justify-content:space-between;align-items:center;display:flex}.thread-name{font-size:13px;font-weight:600}.unread-dot{background:var(--status-active);color:#000;border-radius:8px;padding:1px 5px;font-size:10px;font-weight:700}.thread-preview{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.convo-header{border-bottom:1px solid var(--border-subtle);margin-bottom:12px;padding-bottom:12px}.messages-stream{flex-direction:column;flex:1;gap:12px;max-height:380px;padding:8px 0;display:flex;overflow-y:auto}.message-row{width:100%;display:flex}.message-row.mine{justify-content:flex-end}.message-row.theirs{justify-content:flex-start}.message-bubble{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);max-width:75%;padding:10px 14px}.message-row.mine .message-bubble{border-color:var(--border-strong);background:#e4e4e714}.drop-card-header{align-items:center;gap:6px;font-size:13px;display:flex}.e2ee-tag{color:var(--status-active);background:#10b98126;border-radius:4px;align-items:center;gap:3px;padding:1px 5px;font-size:10px;display:inline-flex}.drop-note-text{color:var(--text-secondary);margin-top:6px;font-size:12px;font-style:italic}.drop-bubble-footer{color:var(--text-muted);justify-content:space-between;align-items:center;margin-top:8px;font-size:10px;display:flex}.mark-read-btn{color:var(--status-active);cursor:pointer;background:0 0;border:none;font-size:11px}.compose-drop-bar{border-top:1px solid var(--border-subtle);gap:8px;padding-top:12px;display:flex}.form-label{color:var(--text-muted);margin-bottom:4px;font-size:11px;font-weight:500;display:block}.form-input{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);width:100%;color:var(--text-main);padding:8px 12px;font-family:inherit;font-size:13px}.form-input:focus{border-color:var(--border-focus);outline:none}.checkbox-row{color:var(--text-secondary);cursor:pointer;align-items:center;gap:8px;font-size:12px;display:flex}.badge-chip{border-radius:var(--radius-sm);padding:6px 12px;font-size:12px;font-weight:600}.badge-chip.success{background:var(--status-active-bg);border:1px solid var(--status-active-border);color:var(--status-active)}.icon-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;padding:3px;display:flex}.icon-btn:hover{color:var(--text-primary);background:var(--bg-surface-hover)}.enrol-qr{border-radius:var(--radius-sm,8px);background:#fff;justify-content:center;margin:14px 0 10px;padding:14px;display:flex}.enrol-secret{letter-spacing:.06em;word-break:break-all;background:var(--bg-surface,#16161a);border-radius:6px;margin-bottom:16px;padding:8px 10px;font-size:13px;display:block}.enrol-codes{grid-template-columns:repeat(2,1fr);gap:6px;margin:14px 0;display:grid}.enrol-codes code{background:var(--bg-surface,#16161a);text-align:center;border-radius:6px;padding:7px 9px;font-size:13px}.auth-hint{color:var(--text-muted,#8b8b93);margin:0 0 6px;font-size:12px}.auth-sso{justify-content:center;align-items:center;gap:8px;text-decoration:none;display:flex}.settings-page{flex-direction:column;gap:20px;width:100%;display:flex}.settings-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-top:6px;display:grid}.settings-grid-wide{grid-column:1/-1}.settings-switches{flex-wrap:wrap;gap:18px;margin-top:16px;display:flex}.switch-row{font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer;align-items:center;gap:8px;display:flex}.form-hint{font-size:var(--text-xs);color:var(--text-muted);margin:6px 0 0}.sealed-note{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-surface-elevated);font-size:var(--text-sm);color:var(--text-muted);align-items:flex-start;gap:10px;margin-top:12px;padding:11px 13px;line-height:1.5;display:flex}.sealed-note strong{color:var(--text-secondary);font-weight:600}@keyframes menu-rise{0%{opacity:0;transform:translateY(8px)scale(.96)}}.user-dropdown-menu{transform-origin:bottom;animation:.12s cubic-bezier(.2,0,.2,1) menu-rise}.dropdown-menu,.context-menu,.popover{transform-origin:top;animation:.12s cubic-bezier(.2,0,.2,1) menu-rise}@media (prefers-reduced-motion:reduce){.user-dropdown-menu,.dropdown-menu,.context-menu,.popover{animation:none}}.cover-delete-btn{color:#fff;cursor:pointer;opacity:0;z-index:10;background:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;transition:opacity .2s,background .2s;display:flex;position:absolute;top:6px;right:6px}.cover-tile:hover .cover-delete-btn{opacity:1}.cover-delete-btn:hover{background:var(--danger)}.field{margin-bottom:16px}.field-label{font-size:var(--text-sm);color:var(--text-secondary);align-items:center;gap:6px;margin-bottom:6px;font-weight:500;display:flex}.field-optional{font-size:var(--text-xs);color:var(--text-muted);font-weight:400}.field-input{background:var(--md-sys-color-surface-container-low);border:1.5px solid var(--border-subtle);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);transition:all .2s var(--m3-spring-fast);padding:12px 16px;font-family:inherit;font-size:15px;line-height:1.4}.field-input::placeholder{color:var(--text-muted)}.field-input:hover:not(:focus):not(:disabled){border-color:var(--md-sys-color-outline);background:var(--md-sys-color-surface-container)}.field-input:focus{border-color:var(--md-sys-color-primary);background:var(--md-sys-color-surface-container);outline:none;box-shadow:0 0 0 3px #d0bcff33}.field-input-invalid,.field-input-invalid:hover:not(:focus){border-color:var(--status-error)}.field-input:disabled{color:var(--text-muted);cursor:not-allowed}.field-hint{font-size:var(--text-xs);color:var(--text-muted);margin:6px 0 0;line-height:1.5}.field-error{font-size:var(--text-xs);color:var(--status-error);margin:6px 0 0;line-height:1.5}.vault-explainer{color:var(--text-secondary,inherit);align-items:flex-start;gap:12px;font-size:13px;line-height:1.5;display:flex}.vault-card{flex-direction:column;gap:10px;display:flex}.vault-latest{border-color:var(--accent-border);background:linear-gradient(135deg, var(--accent-bg), transparent 60%)}.vault-head{align-items:center;gap:12px;display:flex}.vault-when{font-size:18px;font-weight:600}.vault-chips{flex-wrap:wrap;gap:6px;display:flex}.vault-chip{background:var(--md-sys-color-surface-container-high);border:1px solid var(--border-subtle);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;display:inline-flex}.vault-chip strong{font-variant-numeric:tabular-nums}.vault-chip-warn,.vault-warn{color:var(--status-warning,#f2b8b5)}.setup-steps{justify-content:space-between;gap:8px;margin:4px 0 22px;padding:0;list-style:none;display:flex}.setup-steps li{color:var(--text-muted);text-align:center;flex-direction:column;flex:1;align-items:center;gap:6px;font-size:11.5px;font-weight:700;display:flex;position:relative}.setup-steps li:not(:last-child):after{content:"";background:var(--border-subtle);border-radius:2px;height:2px;transition:background-color .3s;position:absolute;top:13px;left:calc(50% + 18px);right:calc(18px - 50%)}.setup-steps li.done:not(:last-child):after{background:var(--md-sys-color-primary)}.setup-dot{background:var(--md-sys-color-surface-container-high);border:2px solid var(--border-subtle);width:26px;height:26px;transition:transform .35s var(--m3-spring-fast), background-color .25s ease, border-color .25s ease;border-radius:50%;place-items:center;font-size:12px;font-weight:800;display:grid}.setup-steps li.current{color:var(--text-primary)}.setup-steps li.current .setup-dot{border-color:var(--md-sys-color-primary);color:var(--md-sys-color-primary);transform:scale(1.12)}.setup-steps li.done .setup-dot{background:var(--md-sys-color-primary);border-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.setup-body{animation:setup-in .4s var(--m3-spring-fast)}@keyframes setup-in{0%{opacity:0;transform:translateY(10px)}}.setup-linked{color:var(--status-active);align-items:center;gap:6px;margin:-4px 0 12px;font-size:12.5px;display:flex}.setup-confirm{color:var(--text-secondary);cursor:pointer;align-items:flex-start;gap:10px;margin:16px 0;font-size:13.5px;display:flex}.setup-confirm input{accent-color:var(--md-sys-color-primary);width:16px;height:16px;margin-top:3px}.setup-next{align-items:flex-start;gap:10px;margin-bottom:16px;display:flex}.setup-next svg{color:var(--md-sys-color-primary);flex-shrink:0;margin-top:2px}@media (prefers-reduced-motion:reduce){.setup-body{animation:none}}.nudge{border-radius:var(--radius-lg);border:2px solid var(--accent-border);background:linear-gradient(100deg,#d0bcff29,#7ddcb914);align-items:center;gap:14px;margin:0 0 20px;padding:14px 16px;display:flex}.nudge-icon{color:var(--md-sys-color-primary);flex-shrink:0}.nudge-text{color:var(--text-secondary);flex:1;font-size:13.5px;line-height:1.5}.nudge-text strong{color:var(--text-primary)}.nudge-text code{background:var(--md-sys-color-surface-container-high);border-radius:6px;padding:1px 6px;font-family:JetBrains Mono,monospace;font-size:12px}.nudge-action{flex-shrink:0}.nudge-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;padding:6px}.nudge-close:hover{color:var(--text-primary);background:var(--md-sys-color-surface-container-high)}.lib-section+.lib-section{margin-top:var(--space-xl)}.lib-section-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;display:flex}.lib-section-title{font-size:var(--text-xl);color:var(--text-h);font-weight:700}.lib-section-actions{flex-wrap:wrap;gap:8px;display:flex}.cover-tile.clickable{cursor:pointer}.cover-tile.clickable:hover .cover-art{border-color:var(--accent-border)}.cover-tile.clickable:focus-visible{outline:2px solid var(--border-focus);border-radius:var(--radius-sm)}.mosaic{grid-template-columns:1fr 1fr;width:100%;height:100%;display:grid}.mosaic img{object-fit:cover;width:100%;height:100%;display:block}.detail-hero{align-items:flex-end;gap:var(--space-lg);padding:var(--space-xl) var(--space-lg) var(--space-lg);border-radius:var(--radius-lg);background:linear-gradient(180deg, var(--md-sys-color-primary-container) 0%, var(--md-sys-color-surface-container-low) 100%);border:1.5px solid var(--border-subtle);display:flex}.detail-cover{aspect-ratio:1;border-radius:var(--radius-sm);background:var(--bg-surface-elevated);width:200px;color:var(--text-muted);flex:none;justify-content:center;align-items:center;display:flex;overflow:hidden;box-shadow:0 12px 40px #00000080}.detail-cover>img{object-fit:cover;width:100%;height:100%}.detail-meta{flex-direction:column;gap:8px;min-width:0;display:flex}.detail-kind{font-size:var(--text-sm);color:var(--md-sys-color-on-primary-container);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.detail-title{letter-spacing:-.02em;color:var(--text-h);overflow-wrap:anywhere;margin:0;font-size:clamp(32px,6vw,72px);font-weight:800;line-height:1.02}.detail-description{color:var(--text-secondary);font-size:var(--text-sm)}.detail-byline{font-size:var(--text-sm);color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.detail-byline strong{color:var(--text-h)}.detail-actions{padding:var(--space-md) 0;flex-wrap:wrap;align-items:center;gap:10px;display:flex}.detail-select{border:1px solid var(--border-subtle);background:var(--bg-surface-elevated);color:var(--text-secondary);font:inherit;font-size:var(--text-sm);border-radius:100px;padding:6px 10px}.pill-btn.primary{background:var(--accent);color:var(--text-inverse);border-color:#0000;font-weight:600}.pill-btn.danger:hover:not(:disabled){color:var(--danger);border-color:var(--danger)}.sync-chip{font-size:var(--text-xs);color:var(--text-secondary);background:#0000004d;border-radius:100px;align-items:center;gap:6px;padding:2px 10px;display:inline-flex}.sync-chip.synced{color:var(--status-active)}.sync-chip.stale,.sync-chip.error{color:var(--md-sys-color-lemon)}.sync-chip.revoked{color:var(--danger)}.detail-banner{border-radius:var(--radius-sm);background:var(--accent-bg);border:1px solid var(--accent-border);color:var(--text-primary);font-size:var(--text-sm);margin-bottom:var(--space-md);justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.detail-panel{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:var(--space-md);margin-bottom:var(--space-md);flex-direction:column;gap:10px;display:flex}.detail-panel input,.detail-panel textarea{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xs);color:var(--text-primary);font:inherit;padding:8px 10px}.track-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.track-table th{text-align:left;color:var(--text-muted);border-bottom:1px solid var(--border-subtle);padding:8px 10px;font-weight:500}.track-table td{color:var(--text-secondary);vertical-align:middle;padding:8px 10px}.track-table tbody tr{border-radius:var(--radius-xs)}.track-table tr.drop-target td{box-shadow:inset 0 2px 0 var(--accent)}.track-table tr[draggable=true]{cursor:grab}.track-num{text-align:right;width:36px;color:var(--text-muted);font-variant-numeric:tabular-nums}.track-duration{text-align:right;font-variant-numeric:tabular-nums;width:64px}.track-row-actions{white-space:nowrap;text-align:right;width:1%}.track-main{align-items:center;gap:10px;min-width:0;display:flex}.track-thumb{background:var(--bg-surface-elevated);width:40px;height:40px;color:var(--text-muted);border-radius:6px;flex:none;justify-content:center;align-items:center;display:flex;overflow:hidden}.track-thumb img{object-fit:cover;width:100%;height:100%}.track-title{color:var(--text-h);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.track-artist{font-size:var(--text-xs);color:var(--text-muted)}.icon-btn{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.icon-btn:disabled{opacity:.3;cursor:default}.search-results{flex-direction:column;gap:4px;max-height:320px;display:flex;overflow-y:auto}.search-result{border-radius:var(--radius-xs);justify-content:space-between;align-items:center;gap:10px;padding:6px 8px;display:flex}.search-result:hover{background:var(--bg-surface-hover)}@media (width<=720px){.detail-hero{padding:var(--space-lg) var(--space-md);flex-direction:column;align-items:flex-start}.detail-cover{width:160px}.track-table .col-album,.track-table .col-added,.track-table .col-by{display:none}}button.sync-chip{cursor:pointer;font:inherit;font-size:var(--text-xs);border:none}@font-face{font-family:Google Sans Flex;src:url(/fonts/google-sans-flex.ttf)format("truetype");font-weight:100 1000;font-style:normal;font-display:swap}:root{--font-ui:"Google Sans Flex", "Roboto Flex", system-ui, sans-serif;--round-title:"ROND" 65}body,button,input,select,textarea{font-family:var(--font-ui)}h1,h2,h3,.card-title,.sidebar-brand,.auth-brand,.stat-tile-value,.now-bar-track-title,.lib-section-head h2{font-variation-settings:var(--round-title)}.ambient{z-index:0;pointer-events:none;background:var(--md-sys-color-background);position:fixed;inset:0;overflow:hidden}.ambient-blob{filter:blur(90px);opacity:.2;will-change:transform;border-radius:50%;width:62vmax;height:62vmax;position:absolute}.ambient-blob.violet{background:radial-gradient(circle,#7c5ce0 0%,#7c5ce000 68%);animation:38s ease-in-out infinite alternate ambient-drift-a;top:-28vmax;left:-14vmax}.ambient-blob.mint{opacity:.12;background:radial-gradient(circle,#3fb58f 0%,#3fb58f00 66%);animation:46s ease-in-out infinite alternate ambient-drift-b;bottom:-34vmax;right:-18vmax}.ambient-blob.lemon{opacity:.06;background:radial-gradient(circle,#e6c95a 0%,#e6c95a00 66%);width:34vmax;height:34vmax;animation:54s ease-in-out infinite alternate ambient-drift-c;top:30%;left:46%}.ambient-art{background-image:var(--ambient-art);filter:blur(120px)saturate(1.4);opacity:0;background-position:50%;background-size:cover;height:70%;transition:opacity 1.6s;position:absolute;inset:-20% -10% auto;transform:scale(1.1)}.ambient-art.on{opacity:.12}.ambient-grid{background-image:radial-gradient(circle,#e5e1e912 1px,#0000 1.5px);background-size:24px 24px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(120% 100% at 50% 0,#000 30%,#0000 85%);mask-image:radial-gradient(120% 100% at 50% 0,#000 30%,#0000 85%)}.ambient:after{content:"";background:radial-gradient(120% 90% at 50% 40%,#0000 55%,#040406b3 100%);position:absolute;inset:0}@keyframes ambient-drift-a{0%{transform:translate(0,0)scale(1)}50%{transform:translate(14vmax,8vmax)scale(1.12)}to{transform:translate(28vmax,-2vmax)scale(.96)}}@keyframes ambient-drift-b{0%{transform:translate(0,0)scale(1.05)}to{transform:translate(-24vmax,-12vmax)scale(.9)}}@keyframes ambient-drift-c{0%{transform:translate(0,0)}to{transform:translate(-30vmax,18vmax)}}@media (prefers-reduced-motion:reduce){.ambient-blob{animation:none}}.has-custom-cursor,.has-custom-cursor *{cursor:none!important}.has-custom-cursor :is(input,textarea,select,[contenteditable=true]){cursor:text!important}.has-custom-cursor select{cursor:pointer!important}.cursor-ring,.cursor-dot{z-index:9999;pointer-events:none;will-change:transform;position:fixed;top:0;left:0}.cursor-ring{border:2px solid var(--md-sys-color-primary);background:#d0bcff14;transition:background-color .2s,border-color .2s,opacity .2s}.cursor-ring.on-target{background:#ffffff1f;border-color:#0000}.cursor-ring.on-target.pressed{background:#ffffff3d}.cursor-ring.away,.cursor-ring.typing{opacity:0}.cursor-dot{background:var(--md-sys-color-primary);border-radius:50%;width:8px;height:8px;margin:-4px 0 0 -4px;transition:opacity .15s}.cursor-dot.hidden,.cursor-dot.typing{opacity:0}:root{--shell-gap:14px;--now-bar-height:76px;--leaf-lg:28px 12px 28px 12px;--leaf-md:20px 8px 20px 8px;--spring-soft:cubic-bezier(.22, 1.35, .36, 1)}.app-shell{z-index:1;gap:var(--shell-gap);padding:var(--shell-gap) var(--shell-gap) 0;background:0 0;grid-template-rows:1fr;grid-template-areas:"sidebar main";position:relative}.sidebar{z-index:1;margin-bottom:calc(var(--now-bar-height) + var(--shell-gap) * 2);background:var(--md-sys-color-surface-container-low);border:2px solid var(--md-sys-color-outline-variant);border-radius:var(--leaf-lg);padding:22px 14px 16px;position:relative}.sidebar-brand{letter-spacing:-.02em;font-size:22px;font-weight:800}.sidebar-brand img{transition:transform .45s var(--m3-spring-fast)}.sidebar-brand:hover img{transform:rotate(-10deg)scale(1.1)}.sidebar-nav{gap:4px;position:relative}.nav-item{z-index:1;height:44px;transition:color .25s ease, background-color .2s ease, transform .25s var(--m3-spring-fast);border:none;padding:0 16px;font-size:14.5px;font-weight:600;position:relative}.nav-item:hover{background:var(--md-sys-color-surface-container-high);transform:translate(3px)}.nav-item.active,.nav-item.active:hover{box-shadow:none;color:var(--md-sys-color-on-primary-container);background:0 0;border:none;font-weight:700;transform:none}.nav-item svg{transition:transform .4s var(--m3-spring-fast)}.nav-item.active svg{transform:scale(1.12)}.nav-indicator{border-radius:var(--radius-pill);background:var(--md-sys-color-primary-container);height:44px;transform:translateY(calc(var(--nav-index) * 48px));transition:transform .5s var(--spring-soft);position:absolute;top:0;left:0;right:0}.nav-badge{border-radius:var(--radius-pill);background:var(--md-sys-color-lemon);min-width:20px;color:var(--md-sys-color-on-lemon);text-align:center;animation:badge-pop .5s var(--m3-spring-fast);margin-left:auto;padding:1px 7px;font-size:11px;font-weight:800}@keyframes badge-pop{0%{transform:scale(0)}}.sidebar-footer{border-top:2px dashed var(--md-sys-color-outline-variant);padding-top:14px}.user-badge-btn{background:var(--md-sys-color-surface-container);border:2px solid var(--md-sys-color-outline-variant);font-weight:700}.user-badge-btn:hover,.user-badge-btn.active{border-color:var(--md-sys-color-primary);box-shadow:none}.user-dropdown-menu{background:var(--md-sys-color-surface-container-high);border:2px solid var(--md-sys-color-outline-variant);border-radius:var(--leaf-lg);animation:menu-rise .3s var(--m3-spring-fast);transform-origin:bottom;padding:8px;box-shadow:0 16px 40px #00000080}.user-dropdown-action{border-radius:var(--leaf-md);font-weight:700}.main-area{background:0 0}.page-header{border-bottom:2px dashed var(--md-sys-color-outline-variant);flex-direction:column;align-items:flex-start;margin:0 40px;padding:28px 0 26px;display:flex}.page-header>*{animation:header-rise .6s var(--spring-soft) both}.page-header>:nth-child(2){animation-delay:50ms}.page-header>:nth-child(3){animation-delay:.1s}@keyframes header-rise{0%{opacity:0;transform:translateY(14px)}}.page-greeting{color:var(--md-sys-color-outline);font-size:14px;font-weight:600}.page-title-row{align-items:center;gap:18px;margin-top:10px;display:flex}.page-header .page-title{letter-spacing:-.025em;background:linear-gradient(100deg, #fff 0%, #f1eaff 45%, var(--md-sys-color-primary) 100%);color:#0000;-webkit-background-clip:text;background-clip:text;padding-bottom:2px;font-size:clamp(2.3rem,3.4vw,3.2rem);font-weight:800;line-height:1.05}.page-blurb{max-width:62ch;color:var(--md-sys-color-on-surface-variant);margin-top:12px;font-size:1.05rem}.page-content{padding:28px 40px calc(var(--now-bar-height) + 56px);gap:18px;animation:none}.page-content>*{animation:card-rise .6s var(--spring-soft) both}.page-content>:nth-child(2){animation-delay:50ms}.page-content>:nth-child(3){animation-delay:.1s}.page-content>:nth-child(4){animation-delay:.15s}.page-content>:nth-child(5){animation-delay:.2s}.page-content>:nth-child(n+6){animation-delay:.25s}@keyframes card-rise{0%{opacity:0;transform:translateY(18px)scale(.985)}}.main-area>.nudge{margin:22px 40px 0}@media (prefers-reduced-motion:reduce){.page-header>*,.page-content>*,.nav-badge,.user-dropdown-menu{animation:none}.nav-indicator{transition:none}}@media (width<=860px){:root{--shell-gap:8px}.sidebar{padding:16px 8px}.nav-item{padding:0}.page-header{margin:0 16px;padding-top:20px}.page-content{padding-left:16px;padding-right:16px}.main-area>.nudge{flex-wrap:wrap;margin:16px 16px 0}.main-area>.nudge .nudge-text{flex-basis:calc(100% - 80px)}.page-content .segmented{scrollbar-width:none;flex-wrap:nowrap;max-width:100%;overflow-x:auto}.page-content .segmented-btn{flex-shrink:0}}.card{background:var(--md-sys-color-surface-container-low);border:2px solid var(--md-sys-color-outline-variant);box-shadow:none;border-radius:28px;padding:26px;transition:border-color .25s}.card:hover{border-color:#d0bcff66}.card-title{letter-spacing:-.015em;color:var(--md-sys-color-on-surface);font-size:1.25rem;font-weight:800}.card-title svg{color:var(--md-sys-color-primary)}.card-subtitle{color:var(--md-sys-color-on-surface-variant);margin-top:4px;font-size:13.5px}.card:has(>.segmented:only-child){background:0 0;border:none;padding:0!important}.m3-shape{flex-shrink:0;place-items:center;display:inline-grid;position:relative}.m3-shape-bg{width:100%;height:100%;fill:var(--md-sys-color-primary-container);transition:scale .7s var(--spring-soft);position:absolute;inset:0}.m3-shape>:not(.m3-shape-bg){color:var(--md-sys-color-on-primary-container);position:relative}.page-shape .m3-shape-bg{animation:24s linear infinite shape-turn}.page-title-row:hover .page-shape .m3-shape-bg{scale:1.1}@keyframes shape-turn{to{rotate:360deg}}.subtabs-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.segmented{background:var(--md-sys-color-surface-container-low);border:2px solid var(--md-sys-color-outline-variant);border-radius:var(--radius-pill);flex-wrap:wrap;align-self:flex-start;gap:4px;padding:4px;display:inline-flex;overflow:visible}.segmented-btn,.pill-btn{border-radius:var(--radius-pill);color:var(--md-sys-color-on-surface-variant);transition:background-color .2s ease, color .2s ease, border-radius .3s var(--m3-spring-fast), transform .25s var(--m3-spring-fast);background:0 0;border:none;align-items:center;gap:7px;padding:9px 16px;font-family:inherit;font-size:14px;font-weight:600;display:inline-flex}.segmented-btn:hover{background:var(--md-sys-color-surface-container-highest);color:var(--md-sys-color-on-surface)}.segmented-btn:active{border-radius:12px;transform:scale(.94)}.segmented-btn.active{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);font-weight:700}.pill-btn{border:2px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container);padding:7px 14px}.pill-btn:hover:not(:disabled){border-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-surface)}.btn{transition:transform .25s var(--m3-spring-fast), border-radius .3s var(--m3-spring-fast), background-color .15s ease, border-color .15s ease}.btn:active:not(:disabled){border-radius:14px}.stat-tiles{gap:14px}.stat-tile{background:radial-gradient(120% 100% at 100% 0%, #d0bcff21 0%, transparent 55%), var(--md-sys-color-surface-container);border:2px solid var(--md-sys-color-outline-variant);border-radius:var(--leaf-lg);transition:transform .35s var(--m3-spring-fast), border-color .25s ease;padding:18px 20px}.stat-tile:nth-child(2){background-image:radial-gradient(120% 100% at 100% 0,#7ddcb91f 0%,#0000 55%)}.stat-tile:nth-child(3){background-image:radial-gradient(120% 100% at 100% 0,#f0e0831a 0%,#0000 55%)}.stat-tile:nth-child(4){background-image:radial-gradient(120% 100% at 100% 0,#e65fb41f 0%,#0000 55%)}.stat-tile:hover{border-color:var(--md-sys-color-primary);transform:translateY(-4px)}.stat-tile-head{letter-spacing:.06em;color:var(--md-sys-color-outline);font-weight:700}.stat-tile-head svg{color:var(--md-sys-color-primary)}.stat-tile-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--md-sys-color-on-surface);font-family:inherit;font-size:2.2rem;font-weight:800;line-height:1.05}.bar-slot{background:var(--md-sys-color-surface-container);border-radius:10px;overflow:hidden}.bar-fill{background:linear-gradient(180deg, var(--md-sys-color-primary) 0%, #8f72e8 100%);border-radius:10px 10px 4px 4px}.chart-row{background:var(--md-sys-color-surface-container);transition:border-color .2s ease, transform .3s var(--m3-spring-fast);border:2px solid #0000;border-radius:16px}.chart-row:hover{border-color:var(--md-sys-color-outline-variant);transform:translate(4px)}.chart-row-fill{background:linear-gradient(90deg,#d0bcff29,#7ddcb91a)}.chart-rank{font-variant-numeric:tabular-nums;font-weight:800}.form-input,.card input[type=text],.card input[type=password],.card input[type=number],.card textarea{background:var(--md-sys-color-surface-container-lowest);border:2px solid var(--md-sys-color-outline-variant);border-radius:16px;transition:border-color .2s}.form-input:focus,.card input:focus,.card textarea:focus,.card select:focus{border-color:var(--md-sys-color-primary);box-shadow:none;outline:none}.empty-hint{border:2px dashed var(--md-sys-color-outline-variant);color:var(--md-sys-color-on-surface-variant);background:0 0;border-radius:22px;padding:30px 24px}.nudge{isolation:isolate;border-radius:var(--leaf-lg);background:radial-gradient(120% 140% at 100% 0%, #d0bcff33 0%, transparent 60%), radial-gradient(90% 120% at 0% 100%, #7ddcb91a 0%, transparent 65%), var(--md-sys-color-surface-container);border:2px solid var(--md-sys-color-primary);position:relative;overflow:hidden}@media (prefers-reduced-motion:reduce){.page-shape .m3-shape-bg{animation:none}.stat-tile:hover,.chart-row:hover{transform:none}}.user-badge-btn,.user-item,.role-chip,.browse-search,.top-row,.chart-rank,.chart-count,.node-type,.rule-tag,.device-indicator-pill,.card select{font-family:inherit}.role-chip{letter-spacing:.08em;font-size:10.5px;font-weight:800}.card select{appearance:none;background:var(--md-sys-color-surface-container) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23D0BCFF' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center;border:2px solid var(--md-sys-color-outline-variant);border-radius:var(--radius-pill);color:var(--md-sys-color-on-surface);padding:9px 36px 9px 14px;font-size:13.5px;font-weight:700}.card select:hover{border-color:var(--md-sys-color-primary)}input[type=checkbox]:not(.switch input,.m3-switch input){appearance:none;border:2px solid var(--md-sys-color-outline);background:0 0;border-radius:7px;flex-shrink:0;place-content:center;width:20px;height:20px;margin:0;transition:background-color .2s,border-color .2s;display:inline-grid}input[type=checkbox]:not(.switch input,.m3-switch input):after{content:"";background:var(--md-sys-color-on-primary);clip-path:polygon(14% 52%,0 66%,38% 100%,100% 22%,86% 8%,38% 72%);width:12px;height:12px;transition:transform .3s var(--m3-spring-fast);transform:scale(0)}input[type=checkbox]:not(.switch input,.m3-switch input):checked{background:var(--md-sys-color-primary);border-color:var(--md-sys-color-primary)}input[type=checkbox]:not(.switch input,.m3-switch input):checked:after{transform:scale(1)}input[type=checkbox]:not(.switch input,.m3-switch input):hover{border-color:var(--md-sys-color-primary)}input[type=checkbox]:not(.switch input,.m3-switch input):focus-visible{outline:none;box-shadow:0 0 0 4px #d0bcff40}.switch-row{color:var(--md-sys-color-on-surface-variant);gap:12px;padding:4px 0;font-weight:600}.switch-row:hover{color:var(--md-sys-color-on-surface)}.icon-btn{background:var(--md-sys-color-surface-container-high);width:38px;height:38px;color:var(--md-sys-color-on-surface-variant);transition:background-color .2s ease, color .2s ease, border-radius .3s var(--m3-spring-fast), transform .25s var(--m3-spring-fast);border:none;border-radius:50%;place-items:center;padding:0;display:inline-grid}.icon-btn:hover:not(:disabled){background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.icon-btn:active:not(:disabled){border-radius:12px;transform:scale(.9)}.icon-btn.danger:hover:not(:disabled){color:var(--status-error);background:#ffb4ab29;border:none}.passphrase-display,.code-snippet{border:2px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container-lowest);border-radius:16px}.passphrase-display{align-items:center;gap:10px;padding:8px 8px 8px 16px;display:flex}.passphrase-display>span{word-break:break-all;flex:1}.code-snippet{white-space:pre-wrap;margin:0;padding:14px 16px;line-height:1.7}.inline-notice{background:var(--md-sys-color-surface-container-high);border-radius:14px;margin-bottom:12px;padding:10px 16px;font-size:13.5px}@media (prefers-reduced-motion:reduce){input[type=checkbox]:after{transition:none}}.modern-now-bar{left:var(--shell-gap);right:var(--shell-gap);bottom:var(--shell-gap);height:var(--now-bar-height);background:var(--md-sys-color-surface-container);-webkit-backdrop-filter:none;border:2px solid var(--md-sys-color-outline-variant);border-radius:var(--radius-pill);gap:24px;padding:0 22px 0 14px;box-shadow:0 16px 40px -12px #000000b3}.now-bar-media{flex:0 340px;gap:14px;min-width:0}.now-bar-disc{flex-shrink:0;width:52px;height:52px;position:relative}.now-bar-art,.now-bar-art-placeholder{border:2px solid var(--md-sys-color-outline-variant);border-radius:50%;width:52px;height:52px;position:relative}.now-bar-disc:has(.now-bar-art):after{content:"";background:var(--md-sys-color-surface-container);border-radius:50%;width:10px;height:10px;margin:-5px 0 0 -5px;position:absolute;top:50%;left:50%}.now-bar-art-glow{filter:blur(12px)saturate(1.3);opacity:.55;border-radius:50%;width:44px;height:44px;position:absolute;inset:4px;transform:scale(1.25)}.now-bar-disc.is-spinning .now-bar-art{animation:9s linear infinite disc-spin}@keyframes disc-spin{to{transform:rotate(360deg)}}.now-bar-art-placeholder{background:var(--md-sys-color-surface-container-high)}.now-bar-info{min-width:0}.now-bar-track-title{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:700;overflow:hidden}.now-bar-subtext{white-space:nowrap;color:var(--md-sys-color-on-surface-variant);overflow:hidden}.now-bar-album{color:var(--md-sys-color-outline)}.now-bar-album:before{content:"·";margin-right:6px}.audio-pulse-indicator{gap:3px;width:22px;height:22px}.wave-bar{border-radius:3px;width:3.5px}.audio-pulse-indicator.is-playing .wave-bar{background:var(--md-sys-color-tertiary)}.now-bar-center{max-width:620px}.time-display{font-variant-numeric:tabular-nums;color:var(--md-sys-color-on-surface-variant)}.now-bar-progress-track{background:0 0;height:12px;overflow:visible}.now-bar-progress-track:before{content:"";background:var(--md-sys-color-surface-container-highest);border-radius:4px;height:4px;margin-top:-2px;position:absolute;top:50%;left:0;right:0}.now-bar-progress-fill{background:linear-gradient(90deg, #8f72e8, var(--md-sys-color-primary) 70%, var(--md-sys-color-tertiary));border-radius:0;height:100%;position:relative;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='12'%3E%3Cpath d='M0 6h24' stroke='%23000' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E") 0/24px 12px repeat-x;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='12'%3E%3Cpath d='M0 6h24' stroke='%23000' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E") 0/24px 12px repeat-x}.modern-now-bar.is-playing .now-bar-progress-fill{animation:1.1s linear infinite wave-travel;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='12'%3E%3Cpath d='M0 6 Q6 1.5 12 6 T24 6' fill='none' stroke='%23000' stroke-width='3.5' stroke-linecap='round'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='12'%3E%3Cpath d='M0 6 Q6 1.5 12 6 T24 6' fill='none' stroke='%23000' stroke-width='3.5' stroke-linecap='round'/%3E%3C/svg%3E")}@keyframes wave-travel{0%{-webkit-mask-position:0;mask-position:0}to{-webkit-mask-position:24px;mask-position:24px}}.device-indicator-pill{border-radius:var(--radius-pill);background:var(--md-sys-color-surface-container-high);border:2px solid var(--md-sys-color-outline-variant);color:var(--md-sys-color-on-surface);align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:700;display:inline-flex}.live-dot.active{background:var(--md-sys-color-tertiary)}.quality-pill.e2ee{background:var(--md-sys-color-tertiary);color:var(--md-sys-color-on-tertiary);font-weight:800}@media (prefers-reduced-motion:reduce){.now-bar-disc.is-spinning .now-bar-art,.modern-now-bar.is-playing .now-bar-progress-fill{animation:none}}@media (width<=860px){.modern-now-bar{gap:12px;padding:0 12px 0 10px}.now-bar-center,.audio-pulse-indicator{display:none}}.stats-filters{gap:8px;display:flex}.pill-select{appearance:none;border:2px solid var(--md-sys-color-outline-variant);border-radius:var(--radius-pill);background:var(--md-sys-color-surface-container) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23E5E1E9' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 15px center;height:42px;color:var(--md-sys-color-on-surface);font:inherit;transition:border-color .2s ease, transform .25s var(--m3-spring-fast);padding:0 38px 0 18px;font-size:14px;font-weight:700}.pill-select:hover{border-color:var(--md-sys-color-primary)}.pill-select:active{transform:scale(.97)}.pill-select-primary{border-color:var(--md-sys-color-primary);background-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23381E72' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}.stats-summary{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:18px;display:grid}.stats-hero{gap:22px}.stats-big{flex-wrap:wrap;align-items:baseline;gap:14px;display:flex}.stats-big-number{font-variation-settings:var(--round-title);letter-spacing:-.03em;color:var(--md-sys-color-primary);font-variant-numeric:tabular-nums;font-size:clamp(3.6rem,6vw,5.4rem);font-weight:800;line-height:.95}.stats-big-label{color:var(--md-sys-color-on-surface-variant);font-size:1.15rem;font-weight:600}.stats-overline{letter-spacing:.08em;text-transform:uppercase;color:var(--md-sys-color-outline);font-size:12px;font-weight:700}.stats-top-song{background:var(--md-sys-color-surface-container);border-radius:24px;align-items:center;gap:16px;padding:12px 18px 12px 12px;display:flex}.stats-top-song .m3-shape-bg{animation:30s linear infinite shape-turn}.stats-top-song-text{flex-direction:column;flex:1;min-width:0;display:flex}.stats-top-title{font-variation-settings:var(--round-title);white-space:nowrap;text-overflow:ellipsis;font-size:1.3rem;font-weight:800;overflow:hidden}.stats-top-artist{color:var(--md-sys-color-on-surface-variant);font-weight:500}.stats-top-count{color:var(--md-sys-color-primary);font-size:1.1rem;font-weight:800}.stats-facts{flex-wrap:wrap;gap:8px;display:flex}.stats-fact{border-radius:var(--radius-pill);background:var(--md-sys-color-surface-container-high);align-items:center;gap:7px;padding:7px 14px 7px 11px;font-size:13.5px;font-weight:600;display:inline-flex}.stats-fact svg{color:var(--md-sys-color-primary)}.device-split-bar{gap:4px;height:14px;display:flex}.device-split-bar span{min-width:6px;transition:flex-grow .6s var(--spring-soft);border-radius:7px}.device-split-legend{color:var(--md-sys-color-on-surface-variant);flex-wrap:wrap;gap:6px 18px;margin-top:10px;font-size:13.5px;display:flex}.device-split-legend span{align-items:center;gap:7px;display:inline-flex}.device-split-legend i{border-radius:50%;width:10px;height:10px}.device-split-legend b{color:var(--md-sys-color-on-surface);font-weight:700}.tone-primary{background:var(--md-sys-color-primary)}.tone-tertiary{background:var(--md-sys-color-tertiary)}.tone-lemon{background:var(--md-sys-color-lemon)}.tone-pink{background:#ffafd7}.tone-outline{background:var(--md-sys-color-outline)}.stats-tiles-square{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-content:start;gap:14px;display:grid}.stats-square{aspect-ratio:1;border-radius:32px;flex-direction:column;justify-content:space-between;padding:22px;display:flex;position:relative}.stats-square-time{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.stats-square-value{font-variation-settings:var(--round-title);font-size:clamp(2rem,3vw,2.8rem);font-weight:800;line-height:1;display:block}.stats-square-label{opacity:.85;margin-top:6px;font-size:14px;font-weight:600;display:block}.stats-square-sunny{text-align:center;color:var(--md-sys-color-on-tertiary);justify-content:center;align-items:center;padding:0}.stats-sunny-shape{position:absolute;inset:0}.stats-sunny-shape .m3-shape-bg{fill:var(--md-sys-color-tertiary);animation:40s linear infinite reverse shape-turn}.stats-sunny-text{position:relative}.stats-charts{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:18px;display:grid}.heatmap{grid-template-rows:repeat(7,1fr);grid-auto-flow:column;grid-template-columns:repeat(var(--weeks), 1fr);gap:5px;max-width:360px;display:grid}.heat{aspect-ratio:1;background:var(--md-sys-color-surface-container-high);transition:transform .25s var(--m3-spring-fast);border-radius:6px}.heat:hover{transform:scale(1.25)}.heat-1{background:#d0bcff47}.heat-2{background:#d0bcff80}.heat-3{background:#d0bcffbf}.heat-4{background:var(--md-sys-color-primary)}.heat-today{outline:2px solid var(--md-sys-color-tertiary);outline-offset:1px;border-radius:50%}.hour-chart{flex-direction:column;gap:8px;height:100%;display:flex}.hour-bars{align-items:flex-end;gap:4px;height:150px;display:flex}.hour-bar{background:var(--md-sys-color-surface-container-highest);transition:height .6s var(--spring-soft), background-color .2s ease;border-radius:6px 6px 3px 3px;flex:1}.hour-bar:hover{background:var(--md-sys-color-primary)}.hour-bar.is-peak{background:var(--md-sys-color-tertiary)}.hour-axis{color:var(--md-sys-color-outline);justify-content:space-between;font-size:12px;font-weight:600;display:flex}.stats-top-lists{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.rank-list{flex-direction:column;gap:6px;list-style:none;display:flex}.rank-row{border-radius:14px;align-items:center;gap:12px;padding:8px 12px;display:flex;position:relative;overflow:hidden}.rank-fill{background:var(--md-sys-color-surface-container);border-radius:inherit;position:absolute;inset:0 auto 0 0}.rank-row:first-child .rank-fill{background:var(--md-sys-color-secondary-container)}.rank-row>:not(.rank-fill){position:relative}.rank-n{width:16px;color:var(--md-sys-color-primary);font-variant-numeric:tabular-nums;font-weight:800}.rank-text{flex-direction:column;flex:1;min-width:0;display:flex}.rank-name{white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.rank-sub{color:var(--md-sys-color-on-surface-variant);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.rank-value{color:var(--md-sys-color-on-surface-variant);font-variant-numeric:tabular-nums;font-weight:700}@media (prefers-reduced-motion:reduce){.stats-top-song .m3-shape-bg,.stats-sunny-shape .m3-shape-bg{animation:none}}@media (width<=1100px){.stats-summary,.stats-charts,.stats-top-lists{grid-template-columns:minmax(0,1fr)}}.podium{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr) minmax(0,1fr);align-items:end;gap:18px;display:grid}.podium-1{order:2}.podium-2{order:1}.podium-3{order:3}.podium-spot{text-align:center;background:var(--md-sys-color-surface-container-low);border:2px solid var(--md-sys-color-outline-variant);min-width:0;transition:transform .35s var(--m3-spring-fast), border-color .25s ease;border-radius:32px;flex-direction:column;align-items:center;padding:24px 18px 22px;display:flex}.podium-spot:hover{border-color:var(--md-sys-color-primary);transform:translateY(-6px)}.podium-1{background:radial-gradient(120% 80% at 50% 0%, #d0bcff2e 0%, transparent 70%), var(--md-sys-color-surface-container);border-color:#d0bcff80;padding-top:34px}.podium-art{width:72%;max-width:210px;margin-bottom:16px;position:relative}.podium-1 .podium-art{width:82%;max-width:250px}.podium-art .chart-cover{aspect-ratio:1;border-radius:0;width:100%;height:auto}.podium-spot:hover .chart-cover img{transform:scale(1.06)}.podium-rank{background:var(--md-sys-color-surface-container-highest);border:3px solid var(--md-sys-color-surface-container-low);width:44px;height:44px;color:var(--md-sys-color-on-surface);border-radius:50%;place-items:center;font-size:19px;font-weight:800;display:grid;position:absolute;bottom:-2px;right:-2px}.podium-1 .podium-rank{background:var(--md-sys-color-lemon);width:54px;height:54px;color:var(--md-sys-color-on-lemon);border-color:var(--md-sys-color-surface-container);font-size:24px}.podium-title{font-variation-settings:var(--round-title);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:1.15rem;font-weight:800;overflow:hidden}.podium-1 .podium-title{font-size:1.4rem}.podium-artist{color:var(--md-sys-color-on-surface-variant);font-weight:500}.podium-meta{align-items:center;gap:8px;margin-top:10px;display:flex}.podium-count{color:var(--md-sys-color-outline);font-size:13px;font-weight:700}.chart-cover{background:var(--md-sys-color-surface-container-highest);width:52px;height:52px;color:var(--md-sys-color-outline);border-radius:14px;flex-shrink:0;place-items:center;display:grid;overflow:hidden}.chart-cover img{object-fit:cover;width:100%;height:100%;transition:transform .5s var(--spring-soft)}.chart-rows{flex-direction:column;gap:4px;list-style:none;display:flex}.chart-line{transition:background-color .2s ease, transform .3s var(--m3-spring-fast);border-radius:20px;align-items:center;gap:16px;padding:8px 14px 8px 8px;display:flex}.chart-line:hover{background:var(--md-sys-color-surface-container);transform:translate(4px)}.chart-line-rank{text-align:center;width:30px;color:var(--md-sys-color-primary);font-variant-numeric:tabular-nums;font-size:1.05rem;font-weight:800}.chart-line-text{flex-direction:column;flex:1;min-width:0;display:flex}.chart-line-title{white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.chart-line-artist{color:var(--md-sys-color-on-surface-variant);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.chart-line-count{text-align:right;min-width:44px;color:var(--md-sys-color-outline);font-variant-numeric:tabular-nums;font-weight:700}.move{border-radius:var(--radius-pill);align-items:center;gap:2px;padding:3px 10px;font-size:12px;font-weight:800;display:inline-flex}.move-new{background:var(--md-sys-color-lemon);color:var(--md-sys-color-on-lemon);text-transform:uppercase;letter-spacing:.04em}.move-up{color:var(--md-sys-color-tertiary);background:#7ddcb929}.move-down{color:var(--status-error);background:#ffb4ab24}.move-same{color:var(--md-sys-color-outline)}@media (width<=860px){.podium{grid-template-columns:minmax(0,1fr)}.podium-1,.podium-2,.podium-3{order:0}.podium-spot{text-align:left;flex-direction:row;gap:16px;padding:14px}.podium-art,.podium-1 .podium-art{width:84px;margin:0}.podium-rank{width:30px;height:30px;font-size:14px}.podium-1 .podium-rank{width:34px;height:34px;font-size:16px}}.backup-top{grid-template-columns:minmax(0,1fr) 260px;gap:18px;display:grid}.backup-hero{gap:22px}.backup-hero-head{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.backup-hero-shape .m3-shape-bg{animation:30s linear infinite shape-turn}.backup-hero-text{flex-direction:column;flex:1;gap:2px;min-width:200px;display:flex}.backup-hero-when{font-variation-settings:var(--round-title);letter-spacing:-.02em;font-size:clamp(1.8rem,2.8vw,2.4rem);font-weight:800;line-height:1.1}.backup-hero-meta{color:var(--md-sys-color-on-surface-variant);flex-wrap:wrap;align-items:center;gap:6px;font-weight:500;display:inline-flex}.backup-actions{align-items:center;gap:8px;display:flex}.backup-sections{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:10px;display:grid}.backup-section{background:var(--md-sys-color-surface-container);transition:transform .3s var(--m3-spring-fast), background-color .2s ease;border-radius:22px 10px;flex-direction:column;gap:4px;padding:16px;display:flex}.backup-section:hover{background:var(--md-sys-color-surface-container-high);transform:translateY(-3px)}.backup-section svg{color:var(--md-sys-color-primary);margin-bottom:6px}.backup-section-count{font-variation-settings:var(--round-title);font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:800;line-height:1}.backup-section-label{color:var(--md-sys-color-on-surface-variant);font-size:13px;font-weight:600}.backup-section.is-sensitive{background:#f0e0831a}.backup-section.is-sensitive svg{color:var(--md-sys-color-lemon)}.backup-note{color:var(--md-sys-color-on-surface-variant);align-items:center;gap:8px;font-size:13px;display:flex}.backup-note svg{color:var(--md-sys-color-lemon);flex-shrink:0}.backup-slots{justify-content:center;align-items:flex-start;gap:10px}.backup-pips{gap:8px;display:flex}.backup-pips .pip-on .m3-shape-bg{fill:var(--md-sys-color-tertiary)}.backup-pips .pip-off .m3-shape-bg{fill:var(--md-sys-color-surface-container-highest)}.backup-pips .m3-shape{transition:transform .4s var(--m3-spring-fast)}.backup-pips .m3-shape:hover{transform:rotate(30deg)scale(1.15)}.backup-slots-label{font-variation-settings:var(--round-title);font-size:1.4rem;font-weight:800}.backup-slots-sub{color:var(--md-sys-color-on-surface-variant);font-size:13px;line-height:1.5}.backup-slots-sub svg{vertical-align:-2px;color:var(--md-sys-color-primary)}.backup-rows{flex-direction:column;gap:4px;list-style:none;display:flex}.backup-row{border-radius:20px;align-items:center;gap:14px;padding:10px 10px 10px 16px;transition:background-color .2s;display:flex}.backup-row:hover{background:var(--md-sys-color-surface-container)}.backup-row>svg{color:var(--md-sys-color-primary);flex-shrink:0}.backup-row-text{flex-direction:column;flex:1;min-width:0;display:flex}.backup-row-when{font-weight:700}.backup-row-sub{color:var(--md-sys-color-on-surface-variant);font-size:13px}.backup-row-icons{color:var(--md-sys-color-outline);gap:8px;display:flex}.backup-notice{justify-content:center;align-items:center;gap:8px;display:flex}@media (prefers-reduced-motion:reduce){.backup-hero-shape .m3-shape-bg{animation:none}}@media (width<=1000px){.backup-top{grid-template-columns:minmax(0,1fr)}.backup-row-icons{display:none}}.device-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;display:grid}.device-tile{background:var(--md-sys-color-surface-container-low);border:2px solid var(--md-sys-color-outline-variant);min-height:200px;transition:transform .35s var(--m3-spring-fast), border-color .25s ease;border-radius:28px 12px;flex-direction:column;gap:4px;padding:20px;display:flex}.device-tile:hover{border-color:var(--md-sys-color-primary);transform:translateY(-4px)}.device-tile-top{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.device-tile-actions{opacity:0;gap:6px;transition:opacity .2s;display:flex}.device-tile:hover .device-tile-actions,.device-tile:focus-within .device-tile-actions{opacity:1}.device-shape .m3-shape-bg{transition:rotate .8s var(--spring-soft), scale .6s var(--spring-soft)}.device-tile:hover .device-shape .m3-shape-bg{rotate:60deg;scale:1.08}.device-tile:not(.is-online) .device-shape .m3-shape-bg{fill:var(--md-sys-color-surface-container-highest)}.device-tile:not(.is-online) .device-shape>:not(.m3-shape-bg){color:var(--md-sys-color-on-surface-variant)}.device-name{font-variation-settings:var(--round-title);font-size:1.2rem;font-weight:800}.device-kind{color:var(--md-sys-color-on-surface-variant);align-items:center;gap:7px;font-size:13.5px;display:flex}.device-dot{background:var(--md-sys-color-outline);border-radius:50%;width:8px;height:8px}.is-online .device-dot{background:var(--md-sys-color-tertiary);animation:1.8s ease-out infinite live-ping}@keyframes live-ping{0%{box-shadow:0 0 #7ddcb999}to{box-shadow:0 0 0 7px #7ddcb900}}.device-track{background:var(--md-sys-color-surface-container);border-radius:14px;align-items:center;gap:8px;margin-top:auto;padding:8px 12px;font-size:13px;font-weight:600;display:flex}.device-track svg{color:var(--md-sys-color-tertiary);flex-shrink:0}.device-track span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.device-pair{background:0 0;border-style:dashed;justify-content:center}.device-pair-open{width:100%;height:100%;color:inherit;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.device-pair .device-shape .m3-shape-bg{fill:var(--md-sys-color-secondary-container)}.device-pair:hover .device-shape .m3-shape-bg{rotate:90deg}.device-pair-form{flex-direction:column;gap:12px;display:flex}.device-pair-form input{border:2px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container-lowest);color:inherit;font:inherit;border-radius:16px;padding:11px 14px}.device-pair-form input:focus{border-color:var(--md-sys-color-primary);outline:none}.device-pair-buttons{align-items:center;gap:8px;display:flex}.pairing-card{flex-flow:wrap;align-items:center;gap:28px;position:relative}.pairing-qr{background:#fff;border-radius:24px;padding:14px;line-height:0}.pairing-body{flex-direction:column;flex:1;gap:12px;min-width:260px;display:flex}.pairing-title{font-variation-settings:var(--round-title);font-size:1.6rem;font-weight:800}.pairing-close{position:absolute;top:16px;right:16px}.key-rows,.link-rows{flex-direction:column;gap:4px;list-style:none;display:flex}.key-row,.link-row{border-radius:20px;align-items:center;gap:16px;padding:10px 12px;transition:background-color .2s;display:flex}.key-row:hover,.link-row:hover{background:var(--md-sys-color-surface-container)}.key-icon{background:var(--md-sys-color-secondary-container);width:44px;height:44px;color:var(--md-sys-color-on-secondary-container);border-radius:14px;place-items:center;display:grid}.key-text,.link-text{flex-direction:column;flex:1;min-width:0;display:flex}.key-label,.link-label{font-weight:700}.key-sub,.link-target{color:var(--md-sys-color-on-surface-variant);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.link-shape .m3-shape-bg{fill:var(--md-sys-color-tertiary)}.link-shape>:not(.m3-shape-bg){color:var(--md-sys-color-on-tertiary)}.link-row:hover .link-shape .m3-shape-bg{transition:rotate .6s var(--spring-soft);rotate:45deg}.link-expiry{border-radius:var(--radius-pill);background:var(--md-sys-color-surface-container-high);white-space:nowrap;padding:5px 12px;font-size:12.5px;font-weight:600}.link-expiry.is-expired{color:var(--status-error);background:#ffb4ab24}.link-clicks{min-width:56px;color:var(--md-sys-color-outline);flex-direction:column;align-items:flex-end;font-size:12px;display:flex}.link-clicks b{font-variation-settings:var(--round-title);color:var(--md-sys-color-on-surface);font-size:1.35rem;font-weight:800;line-height:1.1}.link-actions{gap:6px;display:flex}@media (prefers-reduced-motion:reduce){.is-online .device-dot{animation:none}}@media (width<=860px){.device-tile-actions{opacity:1}.link-expiry{display:none}}.empty-state{border:2px dashed var(--md-sys-color-outline-variant);text-align:center;border-radius:32px;flex-direction:column;align-items:center;gap:10px;padding:48px 24px;display:flex}.empty-state .m3-shape-bg{animation:30s linear infinite shape-turn}.empty-state-title{font-variation-settings:var(--round-title);margin-top:6px;font-size:1.3rem;font-weight:800}.empty-state-sub{max-width:40ch;color:var(--md-sys-color-on-surface-variant)}.friend-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.friend-card{isolation:isolate;background:var(--md-sys-color-surface-container-low);border:2px solid var(--md-sys-color-outline-variant);transition:transform .35s var(--m3-spring-fast), border-color .25s ease;border-radius:28px;flex-direction:column;gap:12px;padding:22px;display:flex;position:relative;overflow:hidden}.friend-card:hover{border-color:var(--md-sys-color-primary);transform:translateY(-4px)}.friend-card.is-playing{border-color:#7ddcb973}.friend-art{z-index:-1;filter:blur(36px)saturate(1.4);opacity:.45;background-position:50%;background-size:cover;position:absolute;inset:0 0 45%;transform:scale(1.3)}.friend-head{align-items:center;gap:14px;display:flex}.friend-who{flex-direction:column;min-width:0;display:flex}.friend-name{font-variation-settings:var(--round-title);font-size:1.2rem;font-weight:800}.friend-handle{color:var(--md-sys-color-on-surface-variant);font-size:13px}.friend-bio{color:var(--md-sys-color-on-surface-variant);font-size:14px}.friend-now{background:var(--md-sys-color-surface-container-high);border-radius:18px;align-items:center;gap:12px;margin-top:auto;padding:12px 14px;display:flex}.friend-now .audio-pulse-indicator.is-playing .wave-bar{background:var(--md-sys-color-tertiary)}.friend-now-text{flex-direction:column;min-width:0;display:flex}.friend-now-title{white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.friend-now-artist{color:var(--md-sys-color-on-surface-variant);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.friend-idle{color:var(--md-sys-color-outline);align-items:center;gap:8px;margin-top:auto;font-size:13px;display:flex}.feed-timeline{flex-direction:column;gap:4px;list-style:none;display:flex}.feed-event{border-radius:20px;align-items:center;gap:16px;padding:10px 12px;transition:background-color .2s;display:flex}.feed-event:hover{background:var(--md-sys-color-surface-container)}.feed-avatar{flex-shrink:0;position:relative}.feed-badge{position:absolute;bottom:-6px;right:-6px}.feed-text{flex-direction:column;gap:2px;min-width:0;display:flex}.feed-text b{font-weight:800}.feed-when{color:var(--md-sys-color-outline);font-size:13px}.tone-shape-lemon .m3-shape-bg{fill:var(--md-sys-color-lemon)}.tone-shape-lemon>:not(.m3-shape-bg){color:var(--md-sys-color-on-lemon)}.tone-shape-tertiary .m3-shape-bg{fill:var(--md-sys-color-tertiary)}.tone-shape-tertiary>:not(.m3-shape-bg){color:var(--md-sys-color-on-tertiary)}.tone-shape-pink .m3-shape-bg{fill:#ffafd7}.tone-shape-pink>:not(.m3-shape-bg){color:#5c1140}.circle-top{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:18px;display:grid}.circle-anthem{gap:16px}.circle-members{align-items:center;display:flex}.circle-member{box-shadow:0 0 0 3px var(--md-sys-color-surface-container-low);border-radius:50%;margin-right:-8px;line-height:0}.circle-count{color:var(--md-sys-color-on-surface-variant);margin-left:20px;font-size:13.5px;font-weight:600}.circle-trend{text-align:center;justify-content:center;align-items:center;gap:6px}.trend-shape{margin-bottom:8px}.trend-shape .m3-shape-bg{fill:var(--md-sys-color-lemon);animation:26s linear infinite shape-turn}.trend-shape>:not(.m3-shape-bg){color:var(--md-sys-color-on-lemon)}.circle-trend-name{font-variation-settings:var(--round-title);font-size:1.5rem;font-weight:800}.circle-trend-sub{color:var(--md-sys-color-on-surface-variant);font-size:13.5px}.circle-lists{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.match-list{flex-direction:column;gap:10px;list-style:none;display:flex}.match-row{align-items:center;gap:12px;display:flex}.match-pair{display:flex}.match-pair>:last-child{margin-left:-10px}.match-bar{background:var(--md-sys-color-surface-container-highest);border-radius:5px;flex:1;height:10px;overflow:hidden}.match-bar span{border-radius:inherit;background:linear-gradient(90deg, var(--md-sys-color-primary), var(--md-sys-color-tertiary));height:100%;display:block}.match-score{text-align:right;min-width:44px;color:var(--md-sys-color-tertiary);font-weight:800}@media (prefers-reduced-motion:reduce){.empty-state .m3-shape-bg,.trend-shape .m3-shape-bg{animation:none}}@media (width<=1100px){.circle-top,.circle-lists{grid-template-columns:minmax(0,1fr)}}.settings-page{flex-direction:column;gap:18px;display:flex}.profile-card{gap:22px}.profile-row{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:24px;display:grid}.profile-preview{background:radial-gradient(120% 80% at 50% 0%, #d0bcff2e 0%, transparent 70%), var(--md-sys-color-surface-container);text-align:center;border-radius:28px 12px;flex-direction:column;align-items:center;gap:6px;padding:24px 16px;display:flex}.profile-preview>:first-child{margin-bottom:8px}.profile-preview-name{font-variation-settings:var(--round-title);font-size:1.25rem;font-weight:800}.profile-preview-bio{color:var(--md-sys-color-on-surface-variant);overflow-wrap:anywhere;font-size:13px}.profile-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;display:grid}.field{flex-direction:column;gap:6px;display:flex}.field-wide{grid-column:1/-1}.form-label{color:var(--md-sys-color-on-surface-variant);font-size:13px;font-weight:700}.form-actions{justify-content:flex-end;display:flex}.privacy-tiles{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:10px;display:grid}.privacy-tile{background:var(--md-sys-color-surface-container);cursor:pointer;border:2px solid #0000;border-radius:20px;align-items:center;gap:12px;padding:14px;transition:background-color .25s,border-color .25s;display:flex}.privacy-tile:hover{border-color:var(--md-sys-color-outline-variant)}.privacy-tile.is-on{background:var(--md-sys-color-secondary-container)}.privacy-icon{background:var(--md-sys-color-surface-container-highest);width:40px;height:40px;color:var(--md-sys-color-on-surface-variant);transition:border-radius .4s var(--m3-spring-fast), background-color .25s ease, color .25s ease;border-radius:14px;flex-shrink:0;place-items:center;display:grid}.privacy-tile.is-on .privacy-icon{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);border-radius:50%}.privacy-text{flex-direction:column;flex:1;min-width:0;display:flex}.privacy-title{font-weight:700}.privacy-line{color:var(--md-sys-color-on-surface-variant);font-size:12.5px}.m3-switch,.switch{flex-shrink:0;width:52px;height:32px;display:inline-block;position:relative}.m3-switch input,.switch input{opacity:0;cursor:pointer;z-index:1;width:100%;height:100%;margin:0;position:absolute}.m3-switch-track,.slider{background:var(--md-sys-color-surface-container-highest);border:2px solid var(--md-sys-color-outline);border-radius:16px;transition:background-color .25s,border-color .25s;position:absolute;inset:0}.m3-switch-thumb,.slider:before{content:"";background:var(--md-sys-color-outline);width:16px;height:16px;transition:transform .35s var(--m3-spring-fast), width .25s ease, height .25s ease, margin .25s ease, background-color .25s ease;border-radius:50%;margin-top:-8px;position:absolute;top:50%;left:6px}.m3-switch input:checked+.m3-switch-track,.switch input:checked+.slider{background:var(--md-sys-color-primary);border-color:var(--md-sys-color-primary)}.m3-switch input:checked+.m3-switch-track .m3-switch-thumb,.switch input:checked+.slider:before{background:var(--md-sys-color-on-primary);width:24px;height:24px;margin-top:-12px;transform:translate(16px)}.m3-switch input:focus-visible+.m3-switch-track,.switch input:focus-visible+.slider{outline-offset:2px;outline:3px solid #d0bcff66}@media (width<=900px){.profile-row,.profile-fields{grid-template-columns:minmax(0,1fr)}}.feature-count{border-radius:var(--radius-pill);background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface-variant);padding:4px 12px;font-size:13px;font-weight:700}.chip{border-radius:var(--radius-pill);background:var(--md-sys-color-surface-container-highest);padding:3px 10px;font-size:11.5px;font-weight:700}.chip-primary{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.chip-error{color:var(--status-error);background:#ffb4ab29}.chip-lemon{background:var(--md-sys-color-lemon);color:var(--md-sys-color-on-lemon)}.feature-group{flex-direction:column;gap:10px;margin-top:8px;display:flex}.feature-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.feature-tile{background:var(--md-sys-color-surface-container);transition:border-color .25s ease, opacity .25s ease, transform .3s var(--m3-spring-fast);border:2px solid #0000;border-radius:24px 10px;flex-direction:column;gap:6px;padding:18px;display:flex}.feature-tile:hover{border-color:var(--md-sys-color-outline-variant);transform:translateY(-3px)}.feature-tile.is-off{opacity:.6}.feature-top{justify-content:space-between;align-items:flex-start;margin-bottom:6px;display:flex}.feature-icon{background:var(--md-sys-color-surface-container-highest);width:46px;height:46px;color:var(--md-sys-color-on-surface-variant);transition:border-radius .45s var(--m3-spring-fast), background-color .25s ease, color .25s ease;border-radius:16px;place-items:center;display:grid}.feature-tile.is-on .feature-icon{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);border-radius:50%}.feature-name{font-variation-settings:var(--round-title);font-size:1.05rem;font-weight:800}.feature-desc{-webkit-line-clamp:2;color:var(--md-sys-color-on-surface-variant);-webkit-box-orient:vertical;font-size:13px;display:-webkit-box;overflow:hidden}.feature-cost{border-radius:var(--radius-pill);background:var(--md-sys-color-surface-container-highest);max-width:100%;color:var(--md-sys-color-on-surface-variant);white-space:nowrap;text-overflow:ellipsis;align-self:flex-start;margin-top:auto;padding:4px 10px;font-size:11.5px;font-weight:600;overflow:hidden}.connector-rows{flex-direction:column;gap:4px;list-style:none;display:flex}.connector-row{border-radius:20px;align-items:center;gap:14px;padding:10px 12px;display:flex}.connector-row:hover{background:var(--md-sys-color-surface-container)}.connector-icon{background:var(--md-sys-color-surface-container-highest);width:44px;height:44px;color:var(--md-sys-color-outline);border-radius:14px;place-items:center;display:grid}.connector-icon.is-on{background:var(--md-sys-color-tertiary);color:var(--md-sys-color-on-tertiary);border-radius:50%}.connector-text{flex-direction:column;flex:1;min-width:0;display:flex}.connector-name{font-weight:700}.connector-meta{color:var(--md-sys-color-outline);flex-wrap:wrap;gap:4px 14px;font-size:12.5px;display:flex}.connector-meta b{color:var(--md-sys-color-on-surface-variant);font-weight:600}.connector-state{color:var(--md-sys-color-outline);font-size:12.5px;font-weight:700}.connector-state.is-on{color:var(--md-sys-color-tertiary)}.queue-card{border-color:var(--md-sys-color-lemon)}.queue-card .card-title svg{color:var(--md-sys-color-lemon)}.invite-make{flex-wrap:wrap;gap:8px;display:flex}.ticket-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;display:grid}.ticket{background:var(--md-sys-color-surface-container);border:2px dashed var(--md-sys-color-outline-variant);border-radius:20px;flex-direction:column;gap:8px;padding:16px 18px;display:flex;position:relative}.ticket.is-spent{opacity:.45}.ticket-code{letter-spacing:.04em;color:var(--md-sys-color-primary);font-size:1.05rem;font-weight:700}.ticket-meter{background:var(--md-sys-color-surface-container-highest);border-radius:3px;height:6px;overflow:hidden}.ticket-meter span{background:var(--md-sys-color-tertiary);border-radius:inherit;height:100%;display:block}.ticket-sub{color:var(--md-sys-color-on-surface-variant);font-size:12.5px}.ticket-actions{gap:6px;display:flex}.person-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;display:grid}.person-card{background:var(--md-sys-color-surface-container);text-align:center;transition:transform .3s var(--m3-spring-fast);border-radius:28px 12px;flex-direction:column;align-items:center;gap:6px;padding:22px 14px 16px;display:flex}.person-card:hover{transform:translateY(-3px)}.person-card.is-suspended{opacity:.55}.person-card>:first-child{margin-bottom:6px}.person-name{font-variation-settings:var(--round-title);font-size:1.1rem;font-weight:800}.person-chips{flex-wrap:wrap;justify-content:center;gap:4px;min-height:20px;display:flex}.person-quota{color:var(--md-sys-color-on-surface-variant);align-items:center;gap:6px;font-size:12.5px;display:inline-flex}.person-actions{gap:6px;margin-top:8px;display:flex}.terminal-card{background:var(--md-sys-color-surface-container-lowest);border:2px solid var(--md-sys-color-outline-variant);border-radius:18px;padding:16px}.terminal-line{gap:12px;padding:4px 0;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12.5px;display:flex}.terminal-ts{color:var(--md-sys-color-tertiary)}.lib-section-title{font-variation-settings:var(--round-title);letter-spacing:-.015em;font-size:1.5rem;font-weight:800}.cover-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:20px}.cover-tile{transition:transform .35s var(--m3-spring-fast);gap:4px}.cover-tile.clickable:hover{transform:translateY(-5px)}.cover-art{background:radial-gradient(120% 100% at 100% 0%, #d0bcff38 0%, transparent 60%), var(--md-sys-color-surface-container-high);transition:border-radius .45s var(--m3-spring-fast), box-shadow .3s ease;border:none;border-radius:24px}.cover-tile.clickable:hover .cover-art{border-radius:40px 16px;box-shadow:0 18px 40px -16px #000c}.cover-art img{transition:transform .5s var(--spring-soft)}.cover-tile.clickable:hover .cover-art img{transform:scale(1.05)}.cover-badge{border-radius:var(--radius-pill);background:var(--md-sys-color-tertiary);color:var(--md-sys-color-on-tertiary);border:none;font-weight:800}.cover-title{margin-top:8px;font-size:15px;font-weight:700}.cover-sub{color:var(--md-sys-color-on-surface-variant);font-size:13px}.detail-hero{isolation:isolate;border:2px solid var(--md-sys-color-outline-variant);background:radial-gradient(90% 120% at 0% 0%, #d0bcff3d 0%, transparent 60%), var(--md-sys-color-surface-container-low);border-radius:32px;padding:32px;position:relative;overflow:hidden}.detail-cover{border-radius:32px 14px;width:220px;box-shadow:0 24px 50px -20px #000000e6}.detail-title{font-variation-settings:var(--round-title);letter-spacing:-.025em;font-weight:800}.detail-kind{letter-spacing:.08em;font-weight:700}.detail-back{margin-bottom:14px}.detail-kind,.sync-chip,.detail-select{font-family:inherit}.sync-chip{border-radius:var(--radius-pill);font-weight:700}.detail-select{appearance:none;border:2px solid var(--md-sys-color-outline-variant);border-radius:var(--radius-pill);background:var(--md-sys-color-surface-container) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23E5E1E9' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center;height:40px;color:var(--md-sys-color-on-surface);padding:0 36px 0 16px;font-weight:700}.detail-select:hover{border-color:var(--md-sys-color-primary)}.track-table{border-collapse:separate;border-spacing:0 4px}.track-table th{color:var(--md-sys-color-outline);font-weight:700}.track-table tbody tr{transition:background-color .2s}.track-table tbody tr:hover td{background:var(--md-sys-color-surface-container)}.track-table tbody td:first-child{border-radius:16px 0 0 16px}.track-table tbody td:last-child{border-radius:0 16px 16px 0}@media (width<=860px){.cover-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:14px}.detail-cover{width:140px}}.auth-stage{z-index:1;grid-template-rows:1fr auto;grid-template-columns:1.05fr 1fr;align-items:center;column-gap:56px;max-width:1240px;min-height:100vh;margin:0 auto;padding:48px 40px 24px;display:grid;position:relative}.auth-hero{z-index:2;position:relative}.auth-hero>*{animation:header-rise .7s var(--spring-soft) both}.auth-hero>:nth-child(2){animation-delay:80ms}.auth-hero-title{font-variation-settings:var(--round-title);letter-spacing:-.03em;color:var(--md-sys-color-on-surface);margin-bottom:24px;font-size:clamp(2.8rem,5vw,4.6rem);font-weight:800;line-height:1.04}.auth-hero-title span{background:linear-gradient(100deg, var(--md-sys-color-primary) 10%, #e2b6ee 55%, var(--md-sys-color-tertiary) 100%);color:#0000;-webkit-background-clip:text;background-clip:text}.auth-hero-sub{max-width:34rem;color:var(--md-sys-color-on-surface-variant);font-size:1.15rem;line-height:1.6}.auth-orbit-stage{place-items:center;display:grid;position:relative}.auth-orbit{z-index:0;pointer-events:none;position:absolute;top:50%;left:50%}.auth-orbit:before{content:"";filter:blur(20px);background:radial-gradient(circle,#7c5ce038 0%,#0000 62%);border-radius:50%;width:640px;height:640px;margin:-320px 0 0 -320px;position:absolute}.orbit-ring{width:var(--size);height:var(--size);margin:calc(var(--size) / -2) 0 0 calc(var(--size) / -2);animation:orbit-spin var(--spin) linear infinite;position:absolute}.orbit-ring.inner{--size:660px;--spin:46s}.orbit-ring.middle{--size:800px;--spin:70s;animation-direction:reverse}.orbit-ring.outer{--size:940px;--spin:96s}.orbit-wave{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.orbit-wave path{fill:none;stroke:var(--md-sys-color-outline-variant);stroke-width:.25px;vector-effect:non-scaling-stroke}.orbit-ring.inner .orbit-wave path{stroke:#d0bcff59;stroke-width:2px}.orbit-ring.middle .orbit-wave path,.orbit-ring.outer .orbit-wave path{stroke-width:2px}.orbit-node{left:calc(50% + 50% * cos(var(--at)));top:calc(50% + 50% * sin(var(--at)));animation:orbit-node-upright var(--spin) linear infinite;position:absolute}.orbit-ring.middle .orbit-node{animation-direction:reverse}.orbit-node .m3-shape-bg{animation:14s linear infinite shape-turn,5s ease-in-out infinite orbit-breathe}.orbit-node:nth-child(odd) .m3-shape-bg{animation-direction:reverse,normal;animation-delay:0s,-2.5s}@keyframes orbit-breathe{50%{scale:1.12}}.orbit-node.orbit-primary .m3-shape-bg{fill:var(--md-sys-color-primary-container)}.orbit-node.orbit-primary{color:var(--md-sys-color-on-primary-container)}.orbit-node.orbit-tertiary .m3-shape-bg{fill:var(--md-sys-color-tertiary)}.orbit-node.orbit-tertiary .m3-shape>:not(.m3-shape-bg){color:var(--md-sys-color-on-tertiary)}.orbit-node.orbit-lemon .m3-shape-bg{fill:var(--md-sys-color-lemon)}.orbit-node.orbit-lemon .m3-shape>:not(.m3-shape-bg){color:var(--md-sys-color-on-lemon)}.orbit-node.orbit-pink .m3-shape-bg{fill:#ffafd7}.orbit-node.orbit-pink .m3-shape>:not(.m3-shape-bg){color:#5c1140}.orbit-node.orbit-secondary .m3-shape-bg{fill:var(--md-sys-color-secondary-container)}.orbit-node.orbit-secondary .m3-shape>:not(.m3-shape-bg){color:var(--md-sys-color-on-secondary-container)}@keyframes orbit-spin{to{transform:rotate(360deg)}}@keyframes orbit-node-upright{0%{transform:translate(-50%,-50%)rotate(0)}to{transform:translate(-50%,-50%)rotate(-360deg)}}.auth-stage .auth-page{z-index:1;background:0 0;width:100%;min-height:0;padding:0;position:relative}.auth-card{background:var(--md-sys-color-surface-container);border:2px solid var(--md-sys-color-outline-variant);max-width:430px;animation:card-rise .8s var(--spring-soft) .1s both;border-radius:40px 16px;box-shadow:0 30px 70px -24px #000c}.auth-brand{letter-spacing:-.02em;font-weight:800}.auth-card input{background:var(--md-sys-color-surface-container-lowest);border-width:2px;border-radius:16px;transition:border-color .2s}.auth-card input:focus{border-color:var(--md-sys-color-primary);box-shadow:none;outline:none}.auth-submit{border-radius:var(--radius-pill);box-shadow:none;transition:transform .25s var(--m3-spring-fast), border-radius .3s var(--m3-spring-fast), background-color .15s ease;font-weight:700}.auth-submit:hover:not(:disabled){background:#e2d4ff;transform:scale(1.03)translateY(-1px)}.auth-submit:active:not(:disabled){border-radius:14px;transform:scale(.96)}.auth-stage-footer{z-index:2;grid-column:1/-1;justify-content:center;gap:8px;padding-top:24px;display:flex;position:relative}.auth-footer-link{border-radius:var(--radius-pill);color:var(--md-sys-color-outline);align-items:center;gap:7px;padding:7px 14px;font-size:13px;font-weight:600;text-decoration:none;transition:color .2s,background-color .2s;display:inline-flex}.auth-footer-link:hover{color:var(--md-sys-color-on-surface);background:var(--md-sys-color-surface-container-high)}@media (prefers-reduced-motion:reduce){.orbit-ring,.orbit-node,.orbit-node .m3-shape-bg,.auth-hero>*,.auth-card{animation:none}.orbit-node{transform:translate(-50%,-50%)}}@media (width<=1000px){.auth-stage{grid-template-rows:auto auto auto;grid-template-columns:minmax(0,1fr);row-gap:36px;padding:40px 16px 20px}.auth-hero{text-align:center}.auth-hero-sub{margin:0 auto}.orbit-ring.outer{display:none}}@media (width<=560px){.auth-hero-sub,.orbit-ring.middle{display:none}}@media (width<=600px){:root{--nav-bar-height:68px;--nav-bar-gap:calc(8px + env(safe-area-inset-bottom))}.app-shell{grid-template-columns:minmax(0,1fr);grid-template-areas:"main";gap:0;height:100dvh;padding:0}.sidebar{left:8px;right:8px;bottom:var(--nav-bar-gap);z-index:110;height:var(--nav-bar-height);border-radius:var(--radius-pill);flex-direction:row;align-items:center;gap:4px;margin:0;padding:6px;position:fixed;overflow:visible;box-shadow:0 12px 30px -10px #000c}.sidebar-brand,.nav-indicator,.user-badge-version,.user-badge-btn>svg{display:none}.sidebar-nav{flex-direction:row;flex:1;justify-content:space-around;gap:2px}.nav-item{height:52px;transition:background-color .25s ease, border-radius .35s var(--m3-spring-fast);border-radius:26px;flex:1;justify-content:center;padding:0}.nav-item:hover{transform:none}.nav-item.active,.nav-item.active:hover{background:var(--md-sys-color-primary-container)}.nav-item:active{border-radius:16px}.nav-badge{margin:0;position:absolute;top:4px;right:18%}.sidebar-footer{border:none;padding:0}.user-badge-btn{border-radius:50%;justify-content:center;width:52px;height:52px;padding:0}.role-chip{display:none}.user-dropdown-menu{width:210px;bottom:calc(100% + 14px);left:auto;right:0}.modern-now-bar{left:8px;right:8px;bottom:calc(var(--nav-bar-gap) + var(--nav-bar-height) + 8px);height:62px}.now-bar-disc,.now-bar-art,.now-bar-art-placeholder{width:44px;height:44px}.now-bar-art-glow{width:36px;height:36px}.page-header{padding-top:calc(18px + env(safe-area-inset-top));margin:0 16px}.page-header .page-title{font-size:2.1rem}.page-shape{width:48px!important;height:48px!important}.page-content{padding:20px 16px calc(var(--nav-bar-height) + 62px + 48px)}.main-area>.nudge{margin:16px 16px 0}.card{border-radius:24px;padding:20px}.card-header{flex-wrap:wrap;gap:10px}.stats-big-number{font-size:3.4rem}.stats-top-title{white-space:normal}.link-row{flex-wrap:wrap}.link-text{flex:calc(100% - 64px)}.link-clicks{flex-direction:row;align-items:baseline;gap:5px;margin-left:64px}.link-actions{margin-left:auto}.device-grid,.friend-grid,.ticket-grid,.feature-grid{grid-template-columns:minmax(0,1fr)}.person-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.privacy-tiles{grid-template-columns:minmax(0,1fr)}}
