:root{--color-primary: #7c3aed;--color-primary-strong: #5f2ed9;--color-primary-soft: #f8f7fe;--color-accent-blue: #0127af;--gradient-brand: linear-gradient(135deg, #7c3aed 0%, #5f2ed9 100%);--gradient-btn: linear-gradient(135deg, #7c3aed 0%, #5f2ed9 100%);--color-action: #000000;--color-action-hover: #111111;--color-system-blue: #007aff;--color-system-blue-hover: #006ee6;--color-action-soft: #f5f5f5;--color-action-border: #e5e5ea;--color-action-muted: #6e6e73;--color-action-stop: #f0922b;--shadow-action: 0 10px 22px rgba(15, 15, 15, .1);--shadow-action-hover: 0 14px 28px rgba(15, 15, 15, .14);--shadow-stop: 0 12px 26px rgba(240, 146, 43, .18);--color-bg: #f7f7f7;--color-bg-grad: #f7f7f7;--color-surface: #ffffff;--color-surface-soft: #f8f7fe;--color-border: #eceaf6;--color-text: #1f2433;--color-text-secondary: #6b7280;--color-text-muted: #9aa1ad;--color-text-on-brand: #ffffff;--chip-key-bg: #e0ecff;--chip-key-fg: #2563eb;--chip-simple-bg: #d7f5e3;--chip-simple-fg: #0f9d58;--chip-origin-bg: #ffe9d3;--chip-origin-fg: #ea7317;--color-like: #ec4899;--color-play: #8b5cf6;--badge-intro-bg: #e0e9ff;--badge-intro-fg: #4f6ef0;--badge-verse-bg: #d8f3e3;--badge-verse-fg: #16a06a;--badge-chorus-bg: #efe2ff;--badge-chorus-fg: #8b46e0;--chord-color: #2563eb;--rank-1: #f59e0b;--rank-2: #9ca3af;--rank-3: #f0922b;--rank-other: #cdd2db;--font-sans: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--fs-xs: 12px;--fs-sm: 13px;--fs-base: 15px;--fs-md: 16px;--fs-lg: 18px;--fs-xl: 20px;--fs-2xl: 24px;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-pill: 999px;--shadow-sm: 0 1px 3px rgba(28, 27, 51, .06);--shadow-md: 0 6px 20px rgba(58, 46, 120, .08);--shadow-lg: 0 12px 32px rgba(58, 46, 120, .12);--container-max: 1320px;--nav-h: 72px;--sidenav-w: 208px;--ease: cubic-bezier(.4, 0, .2, 1);--dur: .18s}*,*:before,*:after{box-sizing:border-box}*{margin:0}html,body{height:100%}body{font-family:var(--font-sans);font-size:var(--fs-base);color:var(--color-text);background:var(--color-bg-grad);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}input,select{font-family:inherit}ul{list-style:none;padding:0}img{display:block;max-width:100%}#root{padding-left:var(--sidenav-w)}body.layout-no-sidenav #root{padding-left:0}@media (max-width: 1100px){:root{--sidenav-w: 64px}}.container{width:100%;max-width:var(--container-max);margin:0 auto;padding-inline:clamp(16px,4vw,32px)}.chip{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--radius-pill);font-size:var(--fs-xs);font-weight:var(--fw-medium);line-height:1.4;white-space:nowrap}.chip--key{background:var(--chip-key-bg);color:var(--chip-key-fg)}.chip--simple{background:var(--chip-simple-bg);color:var(--chip-simple-fg)}.chip--origin{background:var(--chip-origin-bg);color:var(--chip-origin-fg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:var(--radius-md);font-weight:var(--fw-semibold);font-size:var(--fs-sm);padding:10px 18px;transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),background var(--dur) var(--ease)}.btn--brand{background:var(--gradient-btn);color:#fff;box-shadow:0 4px 12px #7c3aed4d}.btn--brand:hover{transform:translateY(-1px);box-shadow:0 6px 16px #7c3aed66}.btn--ghost{background:#fff;color:var(--color-text-secondary);border:1px solid var(--color-border)}.btn--ghost:hover{color:var(--color-primary);border-color:#d9d4f0}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:var(--radius-md);background:#fff;border:1px solid var(--color-border);color:var(--color-text-secondary);transition:all var(--dur) var(--ease)}.icon-btn:hover{color:var(--color-like);border-color:#f3d3e6}.icon-btn.is-active{color:var(--color-like);border-color:#f3d3e6;background:#fff5fa}.sk{position:relative;overflow:hidden;background:#e9ebf2;border-radius:8px}.sk:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent);animation:sk-shimmer 1.4s ease-in-out infinite}@keyframes sk-shimmer{to{transform:translate(100%)}}.app-toast{position:fixed;top:50%;left:50%;z-index:9000;max-width:min(520px,calc(100vw - 32px));padding:11px 18px;border:1px solid rgba(15,23,42,.08);border-radius:var(--radius-pill);background:#1f2433eb;color:#fff;font-size:var(--fs-sm);font-weight:var(--fw-semibold);line-height:1.45;text-align:center;box-shadow:0 14px 34px #0f172a2e;pointer-events:none;transform:translate(-50%,-50%);animation:app-toast-enter var(--dur) var(--ease)}@keyframes app-toast-enter{0%{opacity:0;transform:translate(-50%,calc(-50% + 6px))}to{opacity:1;transform:translate(-50%,-50%)}}@media (prefers-reduced-motion: reduce){.app-toast{animation:none}}.bi-debug{position:fixed;right:18px;bottom:18px;z-index:9999;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#172033}.bi-debug__fab{min-width:54px;height:42px;border:1px solid rgba(20,30,48,.18);border-radius:8px;background:#fff;color:#172033;box-shadow:0 8px 24px #0d16242e;cursor:pointer;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:6px}.bi-debug__fab b{min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#1f6feb;color:#fff;font-size:11px;line-height:18px}.bi-debug__panel{width:min(520px,calc(100vw - 24px));max-height:min(680px,calc(100vh - 32px));border:1px solid rgba(20,30,48,.14);border-radius:8px;background:#fff;box-shadow:0 18px 60px #0d16243d;overflow:hidden;display:flex;flex-direction:column}.bi-debug__header{height:48px;padding:0 12px 0 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e8ebf0}.bi-debug__header div{display:flex;align-items:center;gap:10px}.bi-debug__header strong{font-size:15px}.bi-debug__header span{color:#667085;font-size:12px}.bi-debug button{border:1px solid #d6dce6;border-radius:6px;background:#fff;color:#172033;font:inherit;cursor:pointer}.bi-debug button:hover{background:#f5f7fb}.bi-debug__header button{width:30px;height:30px;font-size:16px}.bi-debug__meta{padding:10px 14px;display:grid;gap:6px;border-bottom:1px solid #eef1f5;color:#46566f;font-size:12px;word-break:break-all}.bi-debug__search{padding:10px 14px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;border-bottom:1px solid #eef1f5}.bi-debug__search input{min-width:0;height:32px;padding:0 10px;border:1px solid #d6dce6;border-radius:6px;background:#fff;color:#172033;font:inherit;font-size:12px;outline:none}.bi-debug__search input:focus{border-color:#1f6feb;box-shadow:0 0 0 3px #1f6feb24}.bi-debug__search button{height:32px;padding:0 10px;font-size:12px;white-space:nowrap}.bi-debug__actions{padding:10px 14px;display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid #eef1f5}.bi-debug__actions button{height:30px;padding:0 10px;font-size:12px}.bi-debug__toast{margin:8px 14px 0;padding:6px 8px;border-radius:6px;background:#edf7ed;color:#206a28;font-size:12px}.bi-debug__list{min-height:0;flex:1 1 auto;overflow:auto;overscroll-behavior:contain;padding:10px;display:flex;flex-direction:column;gap:8px}.bi-debug__empty{min-height:84px;display:grid;place-items:center;color:#8a94a6;font-size:13px}.bi-debug__item{flex:0 0 auto;border:1px solid #e1e6ee;border-radius:8px;background:#fbfcfe;overflow:hidden}.bi-debug__item summary{min-height:38px;padding:8px 10px;display:grid;grid-template-columns:auto minmax(88px,1fr) minmax(72px,1fr) auto auto;gap:8px;align-items:center;cursor:pointer;font-size:12px}.bi-debug__item summary b,.bi-debug__item summary em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-style:normal}.bi-debug__item summary time{color:#667085}.bi-debug__item summary button{height:26px;padding:0 8px;font-size:11px;line-height:1}.bi-debug__ok,.bi-debug__fail{min-width:30px;height:20px;border-radius:999px;display:inline-grid;place-items:center;font-size:11px;font-weight:700}.bi-debug__ok{background:#e7f6ec;color:#1e6f37}.bi-debug__fail{background:#ffebe9;color:#b42318}.bi-debug__item dl{margin:0;padding:8px 10px;display:grid;gap:5px;border-top:1px solid #edf0f5;font-size:12px}.bi-debug__item dl div{display:grid;grid-template-columns:72px 1fr;gap:8px}.bi-debug__item dt{color:#7b8494}.bi-debug__item dd{margin:0;min-width:0;word-break:break-all}.bi-debug__item pre{margin:0;padding:10px;max-height:220px;overflow:auto;border-top:1px solid #edf0f5;background:#111827;color:#dbeafe;font-size:11px;line-height:1.5}@media (max-width: 640px){.bi-debug{right:12px;bottom:12px}.bi-debug__item summary{grid-template-columns:auto minmax(80px,1fr) auto}.bi-debug__item summary em,.bi-debug__item summary time{display:none}}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--overlay-z-index, 10000);background:#16181d6b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:20px;animation:modal-fade var(--dur) var(--ease)}.modal--topmost{z-index:var(--overlay-z-index, 11000)}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}.modal__card{position:relative;width:100%;max-width:400px;background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:32px 28px 28px;animation:modal-pop var(--dur) var(--ease)}@keyframes modal-pop{0%{transform:translateY(12px) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.modal__close{position:absolute;top:16px;right:16px;width:30px;height:30px;border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:16px}.modal__close:hover{background:#f5f5f7}.modal__close:disabled{opacity:.45;cursor:wait}.modal__tabs{display:flex;gap:8px;margin-bottom:24px}.modal__tab{flex:1;padding:10px;border-radius:var(--radius-md);font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--color-text-secondary);background:var(--color-surface-soft);transition:all var(--dur) var(--ease)}.modal__tab.is-active{background:var(--color-action);color:#fff;box-shadow:var(--shadow-action)}.modal__tab:disabled{cursor:wait;opacity:.72}.modal__form{display:flex;flex-direction:column;gap:16px}.modal__form--qr-confirmation{gap:12px}.modal__form--qr-confirmation .modal__qr{padding-block:0}.modal__form--qr-confirmation .modal__tabs{margin-bottom:8px}.field{display:flex;flex-direction:column;gap:6px}.field span{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--color-text-secondary)}.field input{padding:12px 14px;border-radius:var(--radius-md);border:1px solid var(--color-border);font-size:var(--fs-base);color:var(--color-text);outline:none;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.field input:focus{border-color:#1f243361;box-shadow:0 0 0 3px #1f243314}.modal__error{color:#b42318;font-size:var(--fs-sm);background:#fff1f0;padding:8px 12px;border-radius:var(--radius-sm)}.modal__submit{margin-top:4px;width:100%;min-height:54px;padding:13px 18px;border-radius:14px;background:var(--color-action);color:#fff;font-size:var(--fs-md);font-weight:var(--fw-bold);box-shadow:var(--shadow-action)}.modal__submit:hover:not(:disabled){background:var(--color-action-hover);box-shadow:var(--shadow-action-hover);transform:translateY(-1px)}.modal__submit:focus-visible{outline:none;box-shadow:0 0 0 4px #1f24331f,var(--shadow-action-hover)}.modal__submit:disabled{opacity:.7;cursor:wait;transform:none;box-shadow:var(--shadow-action)}.modal__dev-login,.modal__sms-login{display:grid;gap:12px}.modal__sms-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.modal__sms-row:focus-within{border-color:#1f243361;box-shadow:0 0 0 3px #1f243314}.modal__sms-row input{border:0;border-radius:0}.modal__sms-send{min-width:104px;padding:0 14px;color:#007aff;font-size:var(--fs-sm);font-weight:var(--fw-semibold);white-space:nowrap}.modal__sms-send:hover{background:#007aff0f}.modal__sms-hint{padding:8px 10px;border-radius:var(--radius-sm);background:#f5f5f7;color:#1f2433;font-size:var(--fs-sm)}.modal__qr{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:6px 0 10px}.modal__qr-icon{width:72px;height:72px;border-radius:var(--radius-lg);background:#f5f5f7;color:#1f2433;display:flex;align-items:center;justify-content:center;font-size:42px;font-weight:var(--fw-bold)}.modal__qr-image{width:min(260px,68vw);height:min(260px,68vw);object-fit:contain;image-rendering:pixelated;border-radius:var(--radius-md);background:#fff}.modal__qr-login{display:grid;justify-items:center;gap:12px}.modal__qr-login.is-confirmation{gap:8px}.modal__qr-shell{position:relative;width:min(220px,62vw);height:min(220px,62vw);overflow:hidden;border:1px solid rgba(31,36,51,.1);border-radius:18px;background:#fff;box-shadow:0 10px 28px #1f24331a}.modal__qr-shell.is-scanned,.modal__qr-shell.is-logging-in{border-color:transparent;box-shadow:none}.modal__qr-shell.is-confirmation{width:min(196px,58vw);height:min(196px,58vw);border-radius:var(--radius-lg)}.modal__qr-target,.modal__qr-target img{width:100%;height:100%}.modal__qr-target{display:grid;place-items:center;padding:8px;background:#fff}.modal__qr-target img{display:block;object-fit:contain;image-rendering:pixelated}.modal__qr-loading{position:absolute;top:8px;right:8px;bottom:8px;left:8px;border-radius:12px;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.72) 50%,transparent 70%),repeating-linear-gradient(45deg,#f0f1f3 0,#f0f1f3 12px,#f7f7f8 12px,#f7f7f8 24px);background-size:200% 100%,auto;animation:modal-qr-loading 1.2s linear infinite}@keyframes modal-qr-loading{0%{background-position:180% 0,0 0}to{background-position:-20% 0,0 0}}.modal__qr-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#fff;animation:modal-qr-confirm .18s var(--ease)}@keyframes modal-qr-confirm{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.modal__qr-result-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:50%;background:#1f2433;color:#fff;font-size:28px;font-weight:var(--fw-bold);box-shadow:0 8px 22px #1f243338}.modal__qr-account{display:grid;justify-items:center;gap:10px}.modal__qr-avatar-wrap{position:relative;width:84px;height:84px}.modal__qr-avatar,.modal__qr-avatar-fallback{width:84px;height:84px;display:grid;place-items:center;border:3px solid #fff;border-radius:50%;box-shadow:0 6px 16px #1f24331f}.modal__qr-avatar{object-fit:cover;background:#f2f3f5}.modal__qr-avatar-fallback{background:#1f2433;color:#fff;font-size:28px;font-weight:var(--fw-bold)}.modal__qr-avatar-badge{position:absolute;right:-2px;bottom:-2px;width:23px;height:23px;display:grid;place-items:center;border:2px solid #fff;border-radius:50%;background:#1f2433;color:#fff;font-size:13px;font-weight:var(--fw-bold);box-shadow:0 3px 8px #1f24332e}.modal__qr-user-name{width:min(190px,54vw);overflow:hidden;color:var(--color-text);font-size:var(--fs-base);font-weight:var(--fw-semibold);line-height:1.45;text-align:center;text-overflow:ellipsis;white-space:nowrap}.modal__qr-status{min-height:24px;display:grid;justify-items:center;gap:2px;color:var(--color-text-secondary);font-size:var(--fs-sm);line-height:1.6;text-align:center}.modal__qr-status.is-scanned,.modal__qr-status.is-logging-in{min-height:46px;color:var(--color-text)}.modal__qr-status.is-confirmation{min-height:0;gap:0;line-height:1.5}.modal__qr-status-primary{font-weight:var(--fw-semibold)}.modal__qr-status-detail{color:var(--color-text-secondary);font-size:13px;font-weight:400}.modal__qr-status.is-expired,.modal__qr-status.is-error{color:#b42318}.modal__qr-refresh{min-height:38px;padding:8px 18px;border-radius:999px;background:var(--color-action);color:#fff;font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.modal__qr-refresh:hover{background:var(--color-action-hover)}.modal__qr h2{font-size:var(--fs-xl);font-weight:var(--fw-bold)}.modal__qr p{color:var(--color-text-secondary);font-size:var(--fs-sm);line-height:1.7}.modal__hint{margin-top:18px;text-align:center;font-size:var(--fs-sm);color:var(--color-text-secondary)}.modal__link{color:#000;font-weight:var(--fw-bold)}.modal__link:hover{color:#000;text-decoration:underline}.modal__link-button{display:inline;padding:0;border:0;background:transparent;font-family:inherit;font-size:inherit;line-height:inherit;cursor:pointer}.modal__link-button:disabled{opacity:.5;cursor:wait;text-decoration:none}.modal__qr-restart{margin:12px 0 0;min-height:36px;display:flex;align-items:center;justify-content:center;gap:4px}.modal__qr-restart-label{cursor:default;-webkit-user-select:none;user-select:none}.modal__qr-restart-button{min-height:36px;padding:6px 4px;border-radius:6px;cursor:pointer;font-weight:var(--fw-semibold)}.modal__qr-restart-button:hover{background:var(--color-surface-soft);text-decoration:none}.modal__qr-restart-button:focus-visible{outline:2px solid rgba(31,36,51,.32);outline-offset:2px}.modal__card--download{max-width:408px;padding:18px 18px 20px;overflow:hidden;background:#fff}.modal__download{display:grid;justify-items:center;gap:14px;text-align:center}.modal__card--download .modal__close{top:12px;right:12px;background:#ffffffe6}.modal__download-head{padding:16px 40px 0}.modal__download-head h2,.modal__download-caption{font-size:17px;font-weight:400;line-height:1.45;color:var(--color-text)}.modal__download-head h2{letter-spacing:0}.modal__download-body{width:100%;display:flex;justify-content:center}.modal__download-qr-shell{width:min(320px,76vw);padding:20px 20px 18px;border-radius:28px;background:#fff;border:1px solid rgba(31,36,51,.08);box-shadow:inset 0 1px #ffffffe6,0 10px 26px #1f243314}.modal__download-qr{width:min(224px,56vw);height:min(224px,56vw);margin:0 auto;padding:10px;object-fit:contain;image-rendering:pixelated;border-radius:18px;background:#fff;box-shadow:0 8px 20px #1f243314}.modal__download-foot{width:100%;padding:2px 18px 4px;display:grid;gap:6px}@media (max-width: 640px){.modal__card--download{max-width:360px;padding-inline:16px}.modal__download-head{padding-inline:32px}.modal__download-head h2,.modal__download-caption{font-size:16px}.modal__download-qr-shell{width:min(100%,300px);padding-inline:18px}}.modal__done{display:flex;flex-direction:column;align-items:center;gap:16px;padding:24px 0;font-size:var(--fs-md);color:var(--color-text)}.modal__done-icon{width:56px;height:56px;border-radius:50%;background:var(--chip-simple-bg);color:var(--chip-simple-fg);display:flex;align-items:center;justify-content:center;font-size:30px}.modal--upload{padding:clamp(16px,2.4vw,28px)}.modal__card--upload{max-width:min(1180px,100%);height:min(860px,calc(100vh - 48px));padding:18px;display:grid;grid-template-rows:auto minmax(0,1fr);gap:16px}.modal__upload-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:4px 6px 0}.modal__upload-head strong{display:block;font-size:var(--fs-xl);color:var(--color-text)}.modal__upload-head span{font-size:var(--fs-sm);color:var(--color-text-secondary)}.modal__upload-actions{display:flex;align-items:center;gap:10px}.modal__card--upload .modal__close{position:static;flex:none}.modal__upload-link{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border-radius:999px;background:var(--color-surface-soft);color:var(--color-primary);font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.modal__upload-link:hover{background:#eeebff}.modal__upload-frame{min-height:0;border-radius:18px;overflow:hidden;border:1px solid var(--color-border);background:#fff;box-shadow:inset 0 1px #fff6}.modal__upload-iframe{width:100%;height:100%;border:0;background:#fff}@media (max-width: 900px){.modal__card--upload{height:calc(100vh - 32px);padding:14px}}.sidenav{position:fixed;left:0;top:0;bottom:0;width:var(--sidenav-w);z-index:60;display:flex;flex-direction:column;background:var(--color-surface);border-right:1px solid var(--color-border);padding:14px 12px;overflow-y:auto}.sidenav__logo{display:flex;align-items:center;padding:12px 14px 24px}.sidenav__logo-img{width:60px;height:20px;display:block}.sidenav__nav{display:flex;flex-direction:column;gap:4px;flex:0 0 auto}.sidenav__item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border-radius:var(--radius-md);font-size:var(--fs-base);font-weight:var(--fw-medium);color:var(--color-text);text-align:left;background:transparent;border:none;cursor:pointer;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.sidenav__item:hover{background:var(--color-surface-soft)}.sidenav__item.is-active{background:#f5f5f5;color:#000;font-weight:var(--fw-bold)}.sidenav__ico{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;text-align:center;flex-shrink:0}.sidenav__ico svg{width:20px;height:20px;display:block}.sidenav__ico--figma:before{content:"";width:20px;height:20px;display:block;background:currentColor;mask:var(--figma-side-icon) center / contain no-repeat;-webkit-mask:var(--figma-side-icon) center / contain no-repeat}.sidenav__group{padding:8px 4px 4px}.sidenav__group-title{font-size:14px;color:#9aa1ad;padding:0 8px 6px}.sidenav__inst{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;background:#f5f5f5;border-radius:14px;padding:4px}.sidenav__instbtn{min-width:0;padding:9px 4px;border-radius:10px;font-size:14px;font-weight:var(--fw-semibold);color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:all var(--dur) var(--ease)}.sidenav__instbtn.is-active{background:#fff;color:#000;font-weight:var(--fw-bold);box-shadow:0 8px 22px #1f24330f}.sidenav__short{display:none}.sidenav__divider{height:1px;margin:10px 8px;background:var(--color-border)}.sidenav__foot{margin-top:8px;margin-bottom:0;padding:18px 8px 0;border-top:1px solid rgba(31,36,51,.08);display:flex;flex-direction:column;gap:10px;flex-shrink:0}.sidenav__login{display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:14px 16px;border-radius:18px;background:#000;color:#fff;font-weight:var(--fw-bold);font-size:16px;box-shadow:0 12px 26px #0f0f0f1a;transition:transform var(--dur) var(--ease),filter var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.sidenav__login:hover{filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 16px 32px #0f0f0f24}.sidenav__user{display:flex;align-items:center;gap:8px;padding:6px 8px}.sidenav__avatar{width:32px;height:32px;border-radius:50%;background:var(--gradient-btn);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:var(--fw-bold);flex-shrink:0}.sidenav__user-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:var(--fw-semibold);font-size:var(--fs-sm)}.sidenav__logout{flex-shrink:0;font-size:var(--fs-xs, 12px);color:var(--color-text-muted);background:none;border:none;cursor:pointer}.sidenav__logout:hover{color:var(--color-primary)}.sidenav__app{display:flex;align-items:center;gap:10px;justify-content:center;min-height:50px;padding:13px 14px;border-radius:18px;border:1px solid #e5e5ea;color:#6e6e73;font-size:15px;font-weight:var(--fw-semibold);background:#ffffffeb;box-shadow:inset 0 1px #ffffffbf;transition:background var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease),transform var(--dur) var(--ease)}.sidenav__app:hover{color:#1f2433;border-color:#d6d6dc;background:#fff;transform:translateY(-1px)}.sidenav__legal{margin-top:auto;padding:14px 8px 0;flex-shrink:0;font-size:11px}.sidenav__legal-links{display:flex;flex-direction:column;gap:4px;padding-top:12px;border-top:1px solid rgba(31,36,51,.08);color:var(--color-text-muted);line-height:1.55}.sidenav__legal-row{display:flex;align-items:center;white-space:nowrap}.sidenav__legal-item{display:inline-flex;align-items:center}.sidenav__legal-separator{margin:0 6px;color:#1f243347}.sidenav__legal-links a,.sidenav__beian a{color:inherit;transition:color var(--dur) var(--ease)}.sidenav__legal-links a:hover,.sidenav__beian a:hover{color:var(--color-text-secondary);text-decoration:underline;text-underline-offset:2px}.sidenav__legal-links a:focus-visible,.sidenav__beian a:focus-visible{border-radius:2px;outline:2px solid var(--color-primary);outline-offset:2px}.sidenav__beian{display:flex;flex-direction:column;gap:4px;margin-top:8px;color:var(--color-text-muted);line-height:1.35;word-break:keep-all}@media (max-width: 1100px){.sidenav{padding:12px 8px}.sidenav__label{display:none}.sidenav__logo{justify-content:center;padding:6px 0 14px}.sidenav__logo-img{width:42px;height:14px;object-fit:contain}.sidenav__item,.sidenav__login,.sidenav__app{justify-content:center;padding:10px 0}.sidenav__ico{width:22px}.sidenav__group{padding:6px 0 2px}.sidenav__inst{grid-template-columns:1fr}.sidenav__short{display:inline}.sidenav__user{justify-content:center;padding:4px 0}.sidenav__foot{margin-top:8px}.sidenav__legal{display:none}}@media print{.sidenav{display:none}#root{padding-left:0!important}}
