.canvas-header{position:absolute;left:14px;right:14px;top:16px;height:48px;display:flex;justify-content:space-between;align-items:center;pointer-events:none;z-index:60;animation:hb-enter .26s cubic-bezier(.22,1,.36,1) both}@keyframes hb-enter{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.canvas-header>*{pointer-events:auto}.hb-left{display:inline-flex;align-items:center;gap:0;height:44px;padding:0 14px;background:#fff;border-radius:14px;border:1px solid rgba(0,0,0,.08);box-shadow:0 1px 4px #00000012,0 4px 16px #0000000d}.hb-app-btn{display:inline-flex;align-items:center;gap:3px;padding:0 8px 0 2px;background:transparent;border:none;cursor:pointer;border-radius:5px;height:36px;transition:background 80ms ease;flex-shrink:0}.hb-app-btn:hover{background:#0000000d}.hb-vdivider{width:1px;height:16px;background:#00000014;margin:0 10px;flex-shrink:0}.hb-name-btn{background:transparent;border:none;cursor:pointer;font-size:14px;font-weight:600;color:#0f172a;letter-spacing:-.015em;padding:0 8px;border-radius:7px;height:32px;display:inline-flex;align-items:center;white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis;font-family:var(--font-ui, "Inter", system-ui, -apple-system, sans-serif);transition:background 80ms ease;flex-shrink:0}.hb-name-btn:hover{background:#0000000a}.hb-icon-btn{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:5px;cursor:pointer;flex-shrink:0;transition:background 80ms ease}.hb-icon-btn:hover{background:#0000000f}.hb-icon-btn.is-active{background:#00bcd41a;color:#00bcd4}.hb-icon-btn:disabled{opacity:.38;cursor:not-allowed}.hb-upgrade-btn{height:30px;padding:0 13px;margin-left:4px;background:linear-gradient(135deg,#00bcd41f,#9b6ff71f);border:1px solid rgba(0,188,212,.22);border-radius:999px;font-size:12px;font-weight:600;color:#0097a7;cursor:pointer;white-space:nowrap;flex-shrink:0;font-family:var(--font-ui, system-ui, sans-serif);transition:background 80ms ease,border-color 80ms ease,box-shadow 80ms ease;letter-spacing:-.01em}.hb-upgrade-btn:hover{background:linear-gradient(135deg,#00bcd42e,#9b6ff72e);border-color:#00bcd461;box-shadow:0 2px 10px #00bcd42e}.hb-chevron{flex-shrink:0}.hb-right{display:inline-flex;align-items:center;gap:4px;height:44px;padding:0 12px;background:#fff;border-radius:14px;border:1px solid rgba(0,0,0,.07);box-shadow:0 1px 4px #00000012,0 4px 16px #0000000d}.hb-avatar-btn{display:inline-flex;align-items:center;gap:4px;background:transparent;border:none;cursor:pointer;padding:0 4px;border-radius:6px;height:36px;transition:background 80ms ease;flex-shrink:0}.hb-avatar-btn:hover{background:#0000000d}.hb-avatar-circle{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#00bcd4,#9b6ff7);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;flex-shrink:0;line-height:1;font-family:var(--font-ui, system-ui, sans-serif);border:1.5px solid rgba(255,255,255,.6);box-shadow:0 0 0 2px #00bcd42e}.hb-present-btn{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 14px;background:#0000000a;border:1px solid rgba(0,0,0,.08);border-radius:999px;font-size:13px;font-weight:500;color:#475569;cursor:pointer;white-space:nowrap;flex-shrink:0;font-family:var(--font-ui, system-ui, sans-serif);transition:background 80ms ease,border-color 80ms ease,color 80ms ease}.hb-present-btn:hover{background:#00000012;border-color:#00000021;color:#0f172a}.hb-share-btn{display:inline-flex;align-items:center;justify-content:center;height:34px;padding:0 20px;background:linear-gradient(135deg,#00bcd4,#9b6ff7);border:none;border-radius:999px;font-size:13px;font-weight:600;color:#fff;cursor:pointer;white-space:nowrap;flex-shrink:0;font-family:var(--font-ui, system-ui, sans-serif);transition:filter 80ms ease,box-shadow 80ms ease,transform 80ms ease;letter-spacing:-.01em;box-shadow:0 2px 10px #00bcd447}.hb-share-btn:hover{filter:brightness(1.07);box-shadow:0 4px 18px #00bcd461}.hb-share-btn:active{transform:scale(.97)}.header-more-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:300;min-width:210px;background:#fff;border:1px solid rgba(0,0,0,.09);border-radius:8px;box-shadow:0 4px 16px #0000001f,0 1px 4px #00000012;padding:4px;display:flex;flex-direction:column;gap:1px;animation:hb-menu-in .11s cubic-bezier(.22,1,.36,1) both}@keyframes hb-menu-in{0%{opacity:0;transform:translateY(-3px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.header-more-item{display:flex;align-items:center;gap:9px;padding:7px 10px;font-size:13px;font-weight:500;color:#374151;border-radius:6px;border:none;background:transparent;cursor:pointer;text-align:left;white-space:nowrap;font-family:var(--font-ui, system-ui, sans-serif);letter-spacing:-.005em;transition:background 70ms ease}.header-more-item:hover{background:#0000000d;color:#111827}.header-more-item:disabled{opacity:.38;cursor:not-allowed}.header-more-item>svg{color:#6b7280;flex-shrink:0}.header-more-item:hover>svg{color:#374151}.header-more-divider{height:1px;background:#f3f4f6;margin:3px 4px}.zoom-hud{position:absolute;bottom:16px;right:16px;z-index:60;display:inline-flex;align-items:center;height:38px;padding:0 2px;border-radius:14px;border:1px solid rgba(0,0,0,.07);background:#fff;box-shadow:0 1px 4px #00000012,0 4px 16px #0000000d}.zoom-hud-btn{width:34px;height:34px;border-radius:6px;border:none;background:transparent;color:#6b7280;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;font-weight:500;transition:background 80ms ease,color 80ms ease}.zoom-hud-btn:hover{background:#0000000d;color:#111827}.zoom-hud-value{height:34px;min-width:48px;padding:0 6px;border-radius:6px;border:none;background:#00000008;color:#374151;font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center;cursor:pointer;font-family:var(--font-ui, system-ui, sans-serif);letter-spacing:-.01em;transition:background 80ms ease,color 80ms ease}.zoom-hud-value:hover{background:#0000000f;color:#111827}.header-left,.header-right{display:none}.header-btn{height:34px;min-width:34px;display:inline-flex;align-items:center;gap:5px;padding:0 8px;border-radius:6px;border:1px solid transparent;background:transparent;color:#374151;font-size:13px;font-weight:500;white-space:nowrap;cursor:pointer;transition:background 80ms ease,color 80ms ease;font-family:var(--font-ui, system-ui, sans-serif);flex-shrink:0}.header-btn:hover{background:#0000000e;color:#111827}.header-btn:active{transform:scale(.97)}.header-btn:disabled{opacity:.38;cursor:not-allowed}.header-btn--active{background:#00bcd417;color:#0097a7}.header-btn>svg{flex-shrink:0;color:#94a3b8}.header-btn:hover>svg{color:#475569}.header-btn--icon{padding:0;width:34px;justify-content:center}.header-divider{display:inline-block;width:1px;height:16px;background:#00000014;margin:0 4px;flex-shrink:0}.settings-backdrop{position:fixed;inset:0;z-index:110;display:grid;place-items:center;padding:12px;overflow:auto;background:#00000073;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);animation:hb-fade .16s ease both}@keyframes hb-fade{0%{opacity:0}to{opacity:1}}.modal-backdrop{position:fixed;inset:0;background:#00000059;backdrop-filter:blur(8px);display:grid;place-items:center;z-index:200}.upgrade-modal{width:min(460px,calc(100vw - 2rem));border-radius:16px;border:1px solid rgba(0,0,0,.08);background:#fff;box-shadow:0 24px 64px #00000029;padding:24px 22px 20px;display:grid;gap:14px}.upgrade-modal h2{font-size:18px;font-weight:700;color:#111827}.upgrade-modal p{font-size:13px;color:#6b7280;line-height:1.6}.upgrade-modal-icon{width:48px;height:48px;border-radius:12px;background:#f5c8421a;border:1px solid rgba(245,200,66,.25);display:flex;align-items:center;justify-content:center}.upgrade-feature-list{display:grid;gap:7px}.upgrade-feature-item{display:flex;align-items:center;gap:9px;font-size:13px;color:#6b7280}.upgrade-feature-item svg{color:#22c55e;flex-shrink:0}.upgrade-modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.upgrade-cta-btn{height:38px;border-radius:8px;background:linear-gradient(135deg,#f5c842,#f59e0b);border:none;color:#78350f;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;transition:filter .12s ease,transform .12s ease}.upgrade-cta-btn:hover{filter:brightness(1.05);transform:translateY(-1px)}.upgrade-cancel-btn{height:38px;border-radius:8px;border:1px solid rgba(0,0,0,.09);background:#00000008;color:#6b7280;font-size:13px;cursor:pointer;transition:background .1s ease}.upgrade-cancel-btn:hover{background:#0000000f;color:#374151}.auth-backdrop{position:fixed;inset:0;background:#00000059;backdrop-filter:blur(8px);display:grid;place-items:center;z-index:500}.auth-card{width:min(380px,calc(100vw - 2rem));border-radius:16px;border:1px solid rgba(0,0,0,.08);background:#fff;box-shadow:0 24px 56px #00000029;overflow:hidden}.auth-card-head{padding:18px 18px 13px;border-bottom:1px solid rgba(0,0,0,.07);display:flex;align-items:center;justify-content:space-between}.auth-card-head h3{font-size:15px;font-weight:700;color:#111827}.auth-card-body{padding:14px 18px;display:grid;gap:9px}.auth-input{width:100%;height:36px;border-radius:7px;border:1px solid rgba(0,0,0,.12);background:#f9fafb;color:#111827;padding:0 12px;font-size:13px;transition:border-color .12s ease}.auth-input:focus{border-color:#00bcd473;outline:none;background:#00bcd408}.auth-primary-btn{height:36px;border-radius:999px;border:none;background:linear-gradient(135deg,#00bcd4,#9b6ff7);color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:filter .12s ease}.auth-primary-btn:hover{filter:brightness(1.07)}.auth-primary-btn:disabled{opacity:.44;cursor:not-allowed}.auth-card-footer{padding:9px 18px 14px;border-top:1px solid rgba(0,0,0,.06);display:flex;justify-content:center}.launch-overlay{position:fixed;inset:0;background:#ffffffe0;backdrop-filter:blur(14px);display:grid;place-items:center;z-index:400}.launch-card{width:290px;border-radius:14px;border:1px solid rgba(0,0,0,.08);background:#fff;box-shadow:0 6px 28px #00000017;padding:22px 18px;display:grid;gap:12px;text-align:center}.launch-card h3{font-size:14px;font-weight:600;color:#111827}.launch-card p{font-size:12px;color:#9ca3af}.launch-card span{font-size:12px;color:#6b7280}.launch-progress-track{width:100%;height:3px;border-radius:99px;background:#00000012;overflow:hidden}.launch-progress-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,#00bcd4,#9b6ff7);transition:width .28s ease;position:relative;overflow:hidden}.launch-progress-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.35) 50%,transparent 100%);animation:hb-shimmer 1.4s ease-in-out infinite}@keyframes hb-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.notice-bar{margin-bottom:12px;padding:8px 12px;border-radius:7px;border:1px solid rgba(0,0,0,.07);background:#00000006;font-size:12px;color:#6b7280;line-height:1.4}.chat-header-badge{position:absolute;top:2px;right:2px;min-width:14px;height:14px;border-radius:999px;background:#ef4444;color:#fff;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 3px;border:1.5px solid #fff;pointer-events:none}.header-live-chip{display:inline-flex;align-items:center;gap:5px;height:18px;padding:0 7px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.04em;background:#0000000f;border:1px solid rgba(0,0,0,.09);color:#6b7280}.header-live-chip--active{background:#22c55e17;border-color:#22c55e47;color:#16a34a}.header-live-dot{width:5px;height:5px;border-radius:50%;background:currentColor;animation:hb-blink 1.2s ease-in-out infinite}@keyframes hb-blink{0%,to{opacity:1}50%{opacity:.38}}.header-video-wrap{position:relative;display:inline-flex;align-items:center;gap:4px}.header-btn-spinner{width:12px;height:12px;border:2px solid rgba(0,0,0,.12);border-top-color:#00bcd4;border-radius:50%;animation:hb-spin .8s linear infinite}@keyframes hb-spin{to{transform:rotate(360deg)}}@media(max-width:768px){.canvas-header{left:8px;right:8px;top:8px}.hb-upgrade-btn{display:none}}@media(max-width:520px){.hb-present-btn span,.hb-name-btn{max-width:100px}}.settings-section-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin:18px 0 8px}.settings-section-title:first-child{margin-top:0}.settings-group{display:grid;gap:6px;margin-bottom:6px}body[data-ui-density=compact] .settings-row{min-height:52px}body[data-ui-density=compact] .left-tool-btn{height:32px}body[data-ui-density=compact] .left-tool-btn-label{font-size:10px}body[data-ui-contrast=high]{--border-ui: rgba(0,0,0,.25);--text-secondary: #334155}body[data-ui-motion=reduced] *,body[data-ui-motion=reduced] *:before,body[data-ui-motion=reduced] *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.settings-card,.tool-panel,.left-tool-dock,.topbar,.statusbar{backdrop-filter:blur(var(--user-panel-blur, 16px));-webkit-backdrop-filter:blur(var(--user-panel-blur, 16px))}.settings-card{background:#fff}.shortcut-settings{display:grid;gap:10px}.shortcut-settings-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.shortcut-settings-header h4{margin:0;font-size:13px;color:var(--text-primary)}.shortcut-settings-header button{height:30px;padding:0 10px;border-radius:8px;border:1px solid var(--border-ui);background:#0000000a;color:var(--text-secondary);cursor:pointer}.shortcut-capture-hint{padding:8px 10px;border-radius:8px;border:1px solid rgba(0,188,212,.22);background:#00bcd414;color:var(--text-secondary);font-size:12px}.shortcut-row{display:grid;grid-template-columns:minmax(160px,1fr) auto auto auto;align-items:center;gap:8px;padding:8px;border-radius:10px;border:1px solid rgba(0,0,0,.07);background:#00000005}.shortcut-name{color:var(--text-primary);font-size:12px}.shortcut-keycap{min-width:170px;height:32px;border-radius:8px;border:1px solid rgba(0,0,0,.12);background:#f8fafc;color:var(--text-primary);padding:0 10px;text-align:left;cursor:pointer}.shortcut-keycap.is-capture{border-color:var(--accent-primary);box-shadow:0 0 0 2px #00bcd426}.shortcut-record,.shortcut-clear{height:32px;border-radius:8px;border:1px solid rgba(0,0,0,.1);background:#00000008;color:var(--text-secondary);cursor:pointer;padding:0 10px}.shortcut-record.is-active{color:#dc2626;border-color:#dc262659;background:#dc262612}.shortcut-category{border:1px solid rgba(0,0,0,.07);border-radius:10px;overflow:hidden}.shortcut-category-head{width:100%;height:34px;display:flex;align-items:center;gap:7px;padding:0 10px;border:0;border-bottom:1px solid rgba(0,0,0,.06);background:#00000006;color:var(--text-secondary);cursor:pointer;font-size:12px}.shortcut-list{display:grid;gap:6px;padding:8px}.shortcut-conflict{padding:10px;border-radius:10px;border:1px solid rgba(245,158,11,.35);background:#f59e0b12;color:var(--text-primary);display:grid;gap:8px}.shortcut-conflict div{display:flex;gap:8px}.shortcut-conflict button{height:30px;padding:0 10px;border-radius:8px;border:1px solid var(--border-ui);background:#0000000a;color:var(--text-primary);cursor:pointer}.theme-preset-row{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.theme-preset-btn{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border-radius:8px;border:1px solid rgba(0,0,0,.1);background:#00000008;color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:background .1s ease,border-color .1s ease,color .1s ease}.theme-preset-btn:hover{background:#0000000f;color:var(--text-primary)}.theme-preset-btn.active{border-color:var(--accent);background:#00bcd417;color:var(--accent-primary)}.theme-reset-btn{margin-left:auto;height:28px;padding:0 10px;border-radius:7px;border:1px solid rgba(0,0,0,.09);background:transparent;color:var(--text-muted);font-size:11px;cursor:pointer;transition:background .1s ease,color .1s ease}.theme-reset-btn:hover{background:#0000000d;color:var(--text-secondary)}.color-row{display:flex;align-items:center;justify-content:space-between;padding:7px 0;border-bottom:1px solid rgba(0,0,0,.06);gap:12px}.color-row:last-child{border-bottom:none}.color-row-label{font-size:12px;color:var(--text-secondary);flex:1}.color-row-inputs{display:flex;align-items:center;gap:6px}.color-row-inputs input[type=color]{width:28px;height:24px;border-radius:5px;border:1px solid rgba(0,0,0,.12);background:transparent;cursor:pointer;padding:2px}.color-row-inputs input[type=text]{width:108px;height:28px;border-radius:6px;border:1px solid rgba(0,0,0,.1);background:#f8fafc;color:var(--text-primary);font-size:11px;font-family:var(--font-ui);padding:0 8px;outline:none}.color-row-inputs input[type=text]:focus{border-color:var(--accent);background:#00bcd40a}.settings-profile-hero{display:flex;align-items:center;gap:16px;padding:16px;background:#00000006;border-radius:12px;border:1px solid rgba(0,0,0,.07);margin-bottom:4px}.settings-profile-avatar{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font-size:20px;font-weight:700;color:#fff;flex-shrink:0;letter-spacing:.02em}.settings-profile-hero-info{display:flex;flex-direction:column;gap:4px}.settings-profile-hero-name{font-size:17px;font-weight:700;color:var(--text-primary)}.settings-profile-hero-role{font-size:12px;color:var(--text-muted);text-transform:capitalize}.settings-text-input{height:32px;border-radius:8px;border:1px solid rgba(0,0,0,.12);background:#f8fafc;color:var(--text-primary);font-size:13px;font-family:var(--font-ui);padding:0 10px;outline:none;width:180px;transition:border-color .1s ease}.settings-text-input:focus{border-color:var(--accent-primary);background:#00bcd408}.settings-profile-role-badge{font-size:12px;font-weight:600;color:var(--accent-primary);background:#00bcd417;border:1px solid rgba(0,188,212,.2);border-radius:20px;padding:3px 10px;text-transform:capitalize}.sdp-root{display:flex;flex-direction:column;gap:0}.sdp-banner{height:84px;border-radius:12px 12px 0 0;background:linear-gradient(135deg,#26c6da,#00bcd4 45%,#4dd0e1);flex-shrink:0;position:relative}.sdp-card{background:#f8fafc;border:1px solid rgba(0,0,0,.07);border-top:none;border-radius:0 0 12px 12px;padding:52px 20px 20px;display:flex;align-items:flex-start;gap:16px;margin-bottom:4px;position:relative}.sdp-avatar-ring{position:absolute;top:-44px;left:20px;border-radius:50%;border:4px solid #f8fafc;overflow:hidden;width:88px;height:88px;flex-shrink:0;background:#fff;box-shadow:0 2px 12px #0000001f}.sdp-card-info{padding-left:104px;min-height:52px;display:flex;flex-direction:column;gap:3px;width:100%}.sdp-name{font-size:18px;font-weight:700;color:var(--text-primary);line-height:1.2}.sdp-job{font-size:12px;color:var(--text-secondary);line-height:1.4}.sdp-tag-row{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.sdp-tag-preview{display:inline-flex;align-items:center;font-size:11px;font-weight:500;color:#0097a7;background:#00bcd417;border:1px solid rgba(0,188,212,.22);border-radius:20px;padding:2px 8px}.sdp-char-picker{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:4px}.sdp-char-opt{border-radius:50%;border:2.5px solid transparent;background:none;padding:0;cursor:pointer;transition:border-color .12s ease,transform .12s ease,box-shadow .12s ease;overflow:hidden;width:58px;height:58px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sdp-char-opt:hover{border-color:#00bcd459;transform:scale(1.07)}.sdp-char-opt.active{border-color:#00bcd4;box-shadow:0 0 0 3px #00bcd42e}.sdp-tag{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:500;color:#0097a7;background:#00bcd417;border:1px solid rgba(0,188,212,.22);border-radius:20px;padding:3px 8px 3px 10px}.sdp-tag button{border:0;background:none;padding:0;cursor:pointer;color:#26c6da;font-size:14px;line-height:1;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .1s ease}.sdp-tag button:hover{background:#00bcd438}.sdp-tag-input{height:24px;padding:0 10px;border-radius:20px;border:1.5px solid rgba(0,188,212,.4);background:#00bcd40d;color:var(--text-primary);font-size:11px;font-family:var(--font-ui);outline:none;width:110px}.sdp-tag-input:focus{border-color:#00bcd4;background:#00bcd417}.sdp-tag-add{font-size:11px;font-weight:500;color:var(--text-secondary);background:#00000008;border:1.5px dashed rgba(0,0,0,.18);border-radius:20px;padding:3px 10px;cursor:pointer;transition:background .1s ease,color .1s ease,border-color .1s ease}.sdp-tag-add:hover{background:#0000000f;color:var(--text-primary);border-color:#00000047}.sdp-skill-preview-row{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.sdp-skill-preview-chip{display:inline-flex;align-items:center;font-size:10px;font-weight:500;color:#374151;background:#37415112;border:1px solid rgba(55,65,81,.16);border-radius:4px;padding:2px 7px;letter-spacing:.01em}.sdp-skill-preview-more{display:inline-flex;align-items:center;font-size:10px;font-weight:500;color:var(--text-muted);background:#0000000a;border:1px solid rgba(0,0,0,.1);border-radius:4px;padding:2px 7px}.sdp-skills-list{display:flex;flex-wrap:wrap;gap:6px;align-items:center;width:100%}.sdp-skill-chip{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:500;color:#1e293b;background:#1e293b0f;border:1px solid rgba(30,41,59,.14);border-radius:6px;padding:4px 8px 4px 10px;transition:background 80ms ease}.sdp-skill-chip:hover{background:#1e293b1a}.sdp-skill-chip button{border:0;background:none;padding:0;cursor:pointer;color:#94a3b8;font-size:15px;line-height:1;width:16px;height:16px;border-radius:3px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background 80ms ease,color 80ms ease}.sdp-skill-chip button:hover{background:#ef44441a;color:#ef4444}.sdp-skill-input-wrap{position:relative}.sdp-skill-input{height:28px;padding:0 10px;border-radius:6px;border:1.5px solid rgba(0,0,0,.14);background:#00000008;color:var(--text-primary);font-size:12px;font-family:var(--font-ui);outline:none;width:130px;transition:border-color .1s ease}.sdp-skill-input:focus{border-color:#00bcd4;background:#00bcd40a}.sdp-skill-input::placeholder{color:var(--text-muted)}.sdp-skill-dropdown{position:absolute;top:calc(100% + 4px);left:0;min-width:180px;background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:8px;box-shadow:0 4px 16px #0000001f,0 1px 4px #0000000f;overflow:hidden;z-index:200}.sdp-skill-dropdown-item{display:block;width:100%;text-align:left;padding:8px 12px;font-size:12px;font-family:var(--font-ui);color:var(--text-primary);background:none;border:0;cursor:pointer;transition:background 80ms ease;border-bottom:1px solid rgba(0,0,0,.04)}.sdp-skill-dropdown-item:last-child{border-bottom:0}.sdp-skill-dropdown-item:hover{background:#00bcd412;color:#0097a7}.sdp-skill-popular{display:flex;flex-wrap:wrap;gap:5px;align-items:center;margin-top:2px}.sdp-skill-popular-label{font-size:11px;color:var(--text-muted);font-weight:500;flex-shrink:0}.sdp-skill-popular-pill{font-size:11px;font-weight:500;color:var(--text-secondary);background:#00000008;border:1px dashed rgba(0,0,0,.15);border-radius:5px;padding:3px 9px;cursor:pointer;transition:background 80ms ease,color 80ms ease,border-color 80ms ease;font-family:var(--font-ui)}.sdp-skill-popular-pill:hover{background:#00bcd414;color:#0097a7;border-color:#00bcd44d}:root{--p-surface-0: #f8fafc;--p-surface-1: #f1f5f9;--p-surface-2: #ffffff;--p-surface-3: #ffffff;--p-surface-4: #f8fafc;--p-surface-5: #f1f5f9;--p-border-0: rgba(0,0,0,.05);--p-border-1: rgba(0,0,0,.09);--p-border-2: rgba(0,0,0,.13);--p-border-3: rgba(0,0,0,.2);--p-tracking-tight: -.022em;--p-tracking-normal: -.011em;--p-tracking-wide: .02em;--p-tracking-wider: .06em;--p-lh-tight: 1.15;--p-lh-snug: 1.3;--p-lh-normal: 1.5;--p-lh-relaxed:1.7;--p-text-2xs: 10px;--p-text-xs: 11px;--p-text-sm: 12px;--p-text-base: 13px;--p-text-md: 14px;--p-text-lg: 15px;--p-text-xl: 17px;--p-text-2xl: 20px;--p-text-3xl: 24px;--p-text-4xl: 30px;--p-text-5xl: 38px;--p-weight-normal: 400;--p-weight-medium: 500;--p-weight-semibold:600;--p-weight-bold: 700;--p-dur-instant: 60ms;--p-dur-fast: .1s;--p-dur-normal: .16s;--p-dur-slow: .26s;--p-dur-lazy: .4s;--p-ease-out: cubic-bezier(0, 0, .2, 1);--p-ease-in: cubic-bezier(.4, 0, 1, 1);--p-ease-inout: cubic-bezier(.4, 0, .2, 1);--p-ease-spring: cubic-bezier(.34, 1.56, .64, 1);--p-ease-smooth: cubic-bezier(.25, .46, .45, .94);--p-shadow-xs: 0 1px 2px rgba(0,0,0,.06), 0 1px 3px rgba(0,0,0,.04);--p-shadow-sm: 0 1px 3px rgba(0,0,0,.08), 0 2px 8px rgba(0,0,0,.06);--p-shadow-md: 0 2px 6px rgba(0,0,0,.08), 0 6px 20px rgba(0,0,0,.07);--p-shadow-lg: 0 4px 12px rgba(0,0,0,.1), 0 16px 40px rgba(0,0,0,.08);--p-shadow-xl: 0 8px 24px rgba(0,0,0,.12), 0 32px 72px rgba(0,0,0,.1);--p-accent-50: rgba(0,188,212,.05);--p-accent-100: rgba(0,188,212,.1);--p-accent-200: rgba(0,188,212,.2);--p-accent-300: rgba(0,188,212,.35);--p-accent-400: rgba(0,188,212,.55);--p-accent-500: #00bcd4;--p-accent-600: #5865f2;--p-accent-700: #4252e8;--p-green: #3ddc84;--p-yellow: #f5c842;--p-red: #ff5c5c;--p-blue: #4aa3f5;--z-canvas: 0;--z-ui: 10;--z-floating: 20;--z-overlay: 30;--z-modal: 40;--z-toast: 50;--z-cursor: 60}.p-label{font-size:var(--p-text-xs);font-weight:var(--p-weight-semibold);letter-spacing:var(--p-tracking-wider);text-transform:uppercase;color:var(--text-muted)}.p-caption{font-size:var(--p-text-sm);font-weight:var(--p-weight-normal);line-height:var(--p-lh-normal);color:var(--text-secondary)}.p-body{font-size:var(--p-text-base);font-weight:var(--p-weight-normal);line-height:var(--p-lh-normal);letter-spacing:var(--p-tracking-normal);color:var(--text-primary)}.p-heading{font-size:var(--p-text-xl);font-weight:var(--p-weight-semibold);line-height:var(--p-lh-tight);letter-spacing:var(--p-tracking-tight);color:var(--text-primary)}.p-display{font-size:var(--p-text-4xl);font-weight:var(--p-weight-bold);line-height:var(--p-lh-tight);letter-spacing:var(--p-tracking-tight);color:var(--text-primary)}.p-card{background:var(--p-surface-3);border:1px solid var(--p-border-1);border-radius:var(--r-xl);box-shadow:var(--p-shadow-md)}.p-card--elevated{background:var(--p-surface-3);border:1px solid var(--p-border-2);box-shadow:var(--p-shadow-lg),inset 0 1px #fff0}.p-card--glass{background:#fffffff0;backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);border:1px solid var(--p-border-1);box-shadow:var(--p-shadow-md)}.p-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 12px;border-radius:var(--r-md);font-size:var(--p-text-sm);font-weight:var(--p-weight-semibold);letter-spacing:var(--p-tracking-normal);line-height:1;border:none;cursor:pointer;white-space:nowrap;transition:background var(--p-dur-fast) var(--p-ease-out),box-shadow var(--p-dur-fast) var(--p-ease-out),transform var(--p-dur-instant) var(--p-ease-out),color var(--p-dur-fast) var(--p-ease-out);user-select:none;-webkit-user-select:none}.p-btn:active{transform:translateY(1px) scale(.985)}.p-btn:disabled{opacity:.4;pointer-events:none}.p-btn--primary{background:var(--accent-primary);color:#fff;box-shadow:0 1px 2px #0000004d,0 0 0 0 var(--p-accent-300)}.p-btn--primary:hover{background:var(--accent-hover);box-shadow:0 2px 6px #0000004d,0 0 0 3px var(--p-accent-100)}.p-btn--primary:focus-visible{box-shadow:0 0 0 2px var(--accent-primary),0 0 0 4px var(--p-accent-200);outline:none}.p-btn--secondary{background:var(--ui-control-bg);color:var(--text-secondary);border:1px solid var(--p-border-1)}.p-btn--secondary:hover{background:var(--ui-control-bg-hover);color:var(--text-primary);border-color:var(--p-border-2)}.p-btn--ghost{background:transparent;color:var(--text-secondary);border:none}.p-btn--ghost:hover{background:var(--ui-control-bg-hover);color:var(--text-primary)}.p-btn--danger{background:#ff5c5c1f;color:var(--p-red);border:1px solid rgba(255,92,92,.22)}.p-btn--danger:hover{background:#ff5c5c33;border-color:#ff5c5c59}.p-btn--sm{height:26px;padding:0 8px;font-size:var(--p-text-xs);border-radius:var(--r-sm);gap:4px}.p-input{height:32px;padding:0 10px;border-radius:var(--r-md);background:#f8fafc;border:1px solid var(--p-border-1);color:var(--text-primary);font-size:var(--p-text-sm);font-family:var(--font-ui);transition:border-color var(--p-dur-fast) var(--p-ease-out),background var(--p-dur-fast) var(--p-ease-out),box-shadow var(--p-dur-fast) var(--p-ease-out)}.p-input::placeholder{color:var(--text-muted)}.p-input:hover{border-color:var(--p-border-2)}.p-input:focus{border-color:var(--accent-primary);background:#00bcd40a;box-shadow:0 0 0 3px var(--p-accent-100);outline:none}.p-badge{display:inline-flex;align-items:center;gap:4px;height:18px;padding:0 6px;border-radius:99px;font-size:var(--p-text-2xs);font-weight:var(--p-weight-semibold);letter-spacing:var(--p-tracking-wide);white-space:nowrap}.p-badge--accent{background:var(--p-accent-100);color:var(--accent-primary);border:1px solid var(--p-accent-200)}.p-badge--green{background:#3ddc841a;color:var(--p-green);border:1px solid rgba(61,220,132,.2)}.p-badge--yellow{background:#f5c8421a;color:var(--p-yellow);border:1px solid rgba(245,200,66,.2)}.p-badge--red{background:#ff5c5c1a;color:var(--p-red);border:1px solid rgba(255,92,92,.2)}.p-badge--pro{background:linear-gradient(135deg,#f5c84224,#ff9d0024);color:var(--pro-gold);border:1px solid rgba(245,200,66,.22)}.p-divider{height:1px;background:var(--p-border-0);border:none;margin:0}.p-divider--v{width:1px;height:auto;align-self:stretch;background:var(--p-border-0)}.s-command-backdrop{position:fixed;inset:0;z-index:var(--z-modal);background:#040610b8;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:grid;place-items:start center;padding-top:clamp(80px,12vh,160px)}.s-command-panel{width:min(640px,calc(100vw - 32px));border-radius:var(--r-xl);background:var(--p-surface-2);border:1px solid var(--p-border-2);box-shadow:var(--p-shadow-xl),inset 0 1px #fff0;overflow:hidden;display:flex;flex-direction:column;max-height:clamp(300px,60vh,480px)}.s-command-search{display:flex;align-items:center;gap:10px;padding:0 16px;height:52px;border-bottom:1px solid var(--p-border-0);flex-shrink:0}.s-command-search-icon{color:var(--text-muted);flex-shrink:0}.s-command-input{flex:1;height:100%;background:transparent;border:none;color:var(--text-primary);font-size:var(--p-text-md);font-family:var(--font-ui);letter-spacing:var(--p-tracking-normal)}.s-command-input::placeholder{color:var(--text-muted)}.s-command-input:focus{outline:none}.s-command-clear{width:22px;height:22px;border-radius:var(--r-xs);background:var(--ui-control-bg);border:1px solid var(--p-border-1);color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:all var(--p-dur-fast) var(--p-ease-out)}.s-command-clear:hover{background:var(--ui-control-bg-hover);color:var(--text-primary)}.s-command-list{overflow-y:auto;flex:1;padding:6px 8px 8px;scrollbar-width:thin}.s-command-group-label{padding:6px 8px 3px;font-size:var(--p-text-2xs);font-weight:var(--p-weight-semibold);letter-spacing:var(--p-tracking-wider);text-transform:uppercase;color:var(--text-muted)}.s-command-item{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:var(--r-sm);cursor:pointer;transition:background var(--p-dur-instant) var(--p-ease-out)}.s-command-item:hover,.s-command-item--active{background:var(--ui-control-bg-hover)}.s-command-item--active{background:var(--p-accent-100)}.s-command-item-icon{width:28px;height:28px;border-radius:var(--r-sm);background:var(--ui-control-bg);border:1px solid var(--p-border-0);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);flex-shrink:0}.s-command-item--active .s-command-item-icon{background:var(--p-accent-100);border-color:var(--p-accent-200);color:var(--accent-primary)}.s-command-item-label{flex:1;font-size:var(--p-text-base);color:var(--text-primary);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-command-item-sub{font-size:var(--p-text-xs);color:var(--text-muted);white-space:nowrap}.s-command-kbd{display:inline-flex;align-items:center;gap:2px;flex-shrink:0}.s-command-key{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;border-radius:4px;background:var(--ui-control-bg);border:1px solid var(--p-border-1);font-size:var(--p-text-2xs);font-weight:var(--p-weight-semibold);color:var(--text-muted);font-family:var(--font-ui);letter-spacing:0}.s-command-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:36px 20px;gap:8px;color:var(--text-muted)}.s-command-empty-icon{opacity:.4}.s-command-empty-label{font-size:var(--p-text-sm)}.s-command-footer{display:flex;align-items:center;gap:12px;padding:7px 16px;border-top:1px solid var(--p-border-0);flex-shrink:0}.s-command-footer-hint{display:inline-flex;align-items:center;gap:5px;font-size:var(--p-text-2xs);color:var(--text-muted)}.home-topbar{height:52px!important;background:var(--p-surface-2)!important;border-bottom:1px solid var(--p-border-0)!important}.home-board-card{background:var(--p-surface-3)!important;border:1px solid var(--p-border-0)!important;border-radius:var(--r-lg)!important;transition:border-color var(--p-dur-normal) var(--p-ease-out),box-shadow var(--p-dur-normal) var(--p-ease-out),transform var(--p-dur-normal) var(--p-ease-out)!important;box-shadow:none!important}.home-board-card:hover{border-color:var(--p-border-2)!important;box-shadow:var(--p-shadow-md)!important;transform:translateY(-1px)!important}.home-project-preview-shell{aspect-ratio:16 / 9!important;border-radius:var(--r-sm) var(--r-sm) 0 0!important;overflow:hidden!important}.home-nav-item.active{background:var(--p-accent-50)!important;color:var(--accent-primary)!important;border-left:2px solid var(--accent-primary)!important}.home-create-btn{background:var(--accent-primary)!important;color:#fff!important;border:none!important;box-shadow:0 1px 3px #0000004d!important;font-weight:var(--p-weight-semibold)!important;letter-spacing:var(--p-tracking-normal)!important}.home-create-btn:hover{background:var(--accent-hover)!important;box-shadow:0 2px 6px #0000004d,0 0 0 3px var(--p-accent-100)!important}.p-toast{display:flex;align-items:center;gap:10px;min-width:240px;max-width:380px;padding:10px 14px;border-radius:var(--r-md);box-shadow:var(--p-shadow-lg);font-size:var(--p-text-sm);color:var(--text-primary);border:1px solid var(--p-border-1)}.p-toast--dark{background:var(--p-surface-3)}.p-toast--success{background:#f0fdf4;border-color:#22c55e40}.p-toast--success .p-toast-icon{color:#16a34a}.p-toast--error{background:#fff1f2;border-color:#ef444440}.p-toast--error .p-toast-icon{color:#dc2626}.p-toast--warning{background:#fffbeb;border-color:#f59e0b40}.p-toast--warning .p-toast-icon{color:#d97706}.p-toast-icon{flex-shrink:0}.p-toast-body{flex:1;line-height:var(--p-lh-snug)}.p-toast-title{font-weight:var(--p-weight-semibold)}.p-toast-sub{font-size:var(--p-text-xs);color:var(--text-muted);margin-top:1px}.p-toast-dismiss{width:20px;height:20px;border-radius:var(--r-xs);background:transparent;border:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--p-dur-fast)}.p-toast-dismiss:hover{background:var(--ui-control-bg-hover);color:var(--text-primary)}.p-scroll::-webkit-scrollbar{width:3px;height:3px}.p-scroll::-webkit-scrollbar-track{background:transparent}.p-scroll::-webkit-scrollbar-thumb{background:var(--p-border-1);border-radius:99px}.p-scroll::-webkit-scrollbar-thumb:hover{background:var(--p-border-2)}@keyframes p-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.p-skeleton{background:linear-gradient(90deg,var(--p-surface-3) 0%,var(--p-surface-4) 40%,var(--p-surface-3) 100%);background-size:200% 100%;animation:p-shimmer 1.6s ease-in-out infinite;border-radius:var(--r-sm)}.p-separator{display:flex;align-items:center;gap:10px;color:var(--text-muted);font-size:var(--p-text-xs);font-weight:var(--p-weight-medium)}.p-separator:before,.p-separator:after{content:"";flex:1;height:1px;background:var(--p-border-0)}.p-shortcut{display:inline-flex;align-items:center;gap:2px}.p-shortcut kbd{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:5px;background:var(--ui-control-bg);border:1px solid var(--p-border-1);border-bottom-width:2px;font-size:10px;font-weight:var(--p-weight-semibold);font-family:var(--font-ui);color:var(--text-secondary);letter-spacing:0;line-height:1}.p-status-dot{width:6px;height:6px;border-radius:50%;display:inline-block;flex-shrink:0}.p-status-dot--live{background:var(--p-green);box-shadow:0 0 0 2px #3ddc8440;animation:p-pulse-live 2s ease-in-out infinite}.p-status-dot--offline{background:var(--text-muted)}.p-status-dot--warning{background:var(--p-yellow)}.p-status-dot--error{background:var(--p-red)}@keyframes p-pulse-live{0%,to{box-shadow:0 0 0 2px #3ddc8440}50%{box-shadow:0 0 0 4px #3ddc841a}}.p-btn:focus-visible,.p-input:focus-visible,.s-command-item:focus-visible{outline:none;box-shadow:0 0 0 2px var(--accent-primary),0 0 0 4px var(--p-accent-100)}@keyframes sync-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.75)}}*:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px;border-radius:var(--r-sm)}button:focus-visible,[role=button]:focus-visible,a:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.header-btn:active:not([disabled]),.ctx-btn:active:not([disabled]),.zoom-hud-btn:active:not([disabled]),.left-tool-btn:active:not([disabled]),.icon-btn:active:not([disabled]){transform:scale(.93);transition:transform 60ms ease}.wb-drag-handle{cursor:grab;opacity:.35;transition:opacity .1s ease;display:flex;align-items:center;justify-content:center;width:16px;height:16px}.wb-drag-handle:before{content:"";display:block;width:10px;height:10px;background-image:radial-gradient(circle,rgba(255,255,255,.6) 1.2px,transparent 1.2px);background-size:4px 4px}.wb-drag-handle:hover{opacity:.75}.wb-drag-handle:active{cursor:grabbing;opacity:1}.wb-card-lift{transition:transform .12s ease,box-shadow .12s ease}.wb-card-lift:hover{transform:translateY(-1px);box-shadow:0 6px 20px #0000002e}.wb-resize-handle{position:absolute;background:transparent;transition:background .1s ease}.wb-resize-handle:after{content:"";position:absolute;background:var(--accent-primary);border-radius:2px;opacity:0;transition:opacity .1s ease}.wb-resize-handle:hover:after{opacity:.7}.wb-resize-handle:active:after{opacity:1}button[disabled],[aria-disabled=true]{opacity:.4;cursor:not-allowed!important;pointer-events:none}.wb-confirm-overlay{position:fixed;inset:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:9999;animation:wb-fade-in .1s ease}@keyframes wb-fade-in{0%{opacity:0}to{opacity:1}}.wb-confirm-dialog{background:#fff;border:1px solid rgba(0,0,0,.09);border-radius:14px;padding:24px;width:340px;max-width:calc(100vw - 32px);box-shadow:0 8px 32px #00000024;animation:wb-dialog-in .14s cubic-bezier(.34,1.56,.64,1)}@keyframes wb-dialog-in{0%{opacity:0;transform:scale(.94) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}.wb-confirm-title{font-size:15px;font-weight:700;color:#111827;margin:0 0 6px;font-family:var(--font-ui, "DM Sans", system-ui, sans-serif)}.wb-confirm-body{font-size:13px;color:#6b7280;margin:0 0 20px;line-height:1.5;font-family:var(--font-ui, "DM Sans", system-ui, sans-serif)}.wb-confirm-actions{display:flex;gap:8px;justify-content:flex-end}.wb-confirm-cancel{padding:7px 16px;font-size:13px;font-weight:500;color:#374151;background:#00000008;border:1px solid rgba(0,0,0,.1);border-radius:8px;cursor:pointer;font-family:var(--font-ui, "DM Sans", system-ui, sans-serif);transition:background 80ms}.wb-confirm-cancel:hover{background:#0000000f}.wb-confirm-delete{padding:7px 16px;font-size:13px;font-weight:600;color:#fff;background:#ef4444;border:1px solid transparent;border-radius:8px;cursor:pointer;font-family:var(--font-ui, "DM Sans", system-ui, sans-serif);transition:background 80ms,box-shadow 80ms}.wb-confirm-delete:hover{background:#dc2626;box-shadow:0 2px 12px #ef444466}.wb-field-error{font-size:11px;color:#f87171;margin-top:4px;display:flex;align-items:center;gap:4px;font-family:var(--font-ui, "DM Sans", system-ui, sans-serif)}.wb-input-error{border-color:#ef4444!important;box-shadow:0 0 0 3px #ef444426!important}.wb-input-ok{border-color:#22c55e!important;box-shadow:0 0 0 3px #22c55e1f!important}.home-dashboard-quick-card:after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(ellipse at 50% 0%,var(--accent-soft),transparent 70%);opacity:0;transition:opacity .18s ease;pointer-events:none}.home-dashboard-quick-card:hover:after{opacity:1}.home-board-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent);opacity:0;transition:opacity .16s ease;pointer-events:none}.home-board-card:hover:before{opacity:1}@media(max-width:1280px){.home-dashboard-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-board-skeleton-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1024px){.home-dashboard-quick-grid,.home-board-skeleton-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.home-dashboard-shell{flex-direction:column}.home-dashboard-sidebar{width:100%;border-right:none;border-bottom:1px solid rgba(255,255,255,.06);gap:10px;padding:12px 16px;flex-direction:row;flex-wrap:wrap;align-items:center}.home-dashboard-logo-row{flex-shrink:0}.home-dashboard-create-btn,.home-dashboard-import-btn{width:auto;min-height:34px;margin-top:0;padding:0 14px}.home-dashboard-nav{flex-direction:row;gap:4px;margin-top:0;flex-wrap:wrap}.home-dashboard-nav-item{min-height:32px}.home-dashboard-storage-card{display:none}.home-dashboard-search{min-height:32px}}@media(max-width:760px){.home-dashboard-topbar,.home-dashboard-quick-access,.home-dashboard-boards{padding-left:14px;padding-right:14px}.home-dashboard-topbar{height:auto;min-height:52px;padding-top:10px;padding-bottom:10px;flex-direction:column;align-items:stretch;gap:8px}.home-dashboard-quick-grid{grid-template-columns:1fr 1fr}.home-dashboard-board-toolbar{flex-direction:column;align-items:stretch}.home-dashboard-toolbar-right{justify-content:space-between}.home-board-skeleton-grid{grid-template-columns:1fr}.home-board-card-list{grid-template-columns:1fr;grid-template-rows:120px auto}.home-project-preview-shell.compact{min-height:120px;border-right:none;border-bottom:1px solid rgba(255,255,255,.06)}}@media(max-width:480px){.home-dashboard-quick-grid{grid-template-columns:1fr}}.image-floating-toolbar{position:absolute;z-index:52;height:44px;display:flex;align-items:center;gap:0;padding:0 6px;border-radius:12px;border:1px solid var(--ui-surface-border);background-color:var(--ui-surface-bg);background-image:var(--sprite-panel-bg);background-size:100% 100%;background-repeat:no-repeat;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:var(--ui-surface-shadow);pointer-events:auto}.image-floating-toolbar.place-top:after,.image-floating-toolbar.place-bottom:after{content:"";position:absolute;left:20px;width:8px;height:8px;border-left:1px solid var(--ui-surface-border);border-top:1px solid var(--ui-surface-border);background:var(--ui-surface-bg)}.image-floating-toolbar.place-top:after{bottom:-5px;transform:rotate(225deg)}.image-floating-toolbar.place-bottom:after{top:-5px;transform:rotate(45deg)}.image-toolbar-divider{width:1px;height:22px;background:var(--ui-surface-border);margin:0 4px;flex-shrink:0}.image-toolbar-name{min-width:100px;max-width:200px;padding:0 4px}.image-toolbar-name-btn,.image-toolbar-name-input{width:100%;height:32px;border-radius:7px;border:1px solid var(--ui-control-border);background:var(--ui-control-bg);color:var(--ui-control-fg-strong);padding:0 8px;font-size:12px;font-weight:500;text-align:left;transition:background var(--ui-motion-normal) var(--ui-ease-standard),border-color var(--ui-motion-normal) var(--ui-ease-standard),transform var(--ui-motion-fast) var(--ui-ease-standard)}.image-toolbar-name-btn:hover{background:var(--ui-control-bg-hover);border-color:var(--ui-control-border-active);cursor:pointer;transform:scale(var(--ui-hover-scale))}.image-toolbar-name-btn{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.image-toolbar-name-input{outline:none;background:var(--ui-control-bg-active);border-color:var(--ui-control-border-active)}.image-toolbar-btn{position:relative;width:34px;height:34px;display:grid;place-items:center;border-radius:8px;border:1px solid var(--ui-control-border);background-color:var(--ui-control-bg);background-image:var(--sprite-btn-secondary);background-size:100% 100%;background-repeat:no-repeat;color:var(--ui-control-fg);cursor:pointer;flex-shrink:0;transition:background var(--ui-motion-normal) var(--ui-ease-standard),color var(--ui-motion-normal) var(--ui-ease-standard),border-color var(--ui-motion-normal) var(--ui-ease-standard),transform var(--ui-motion-fast) var(--ui-ease-standard)}.image-toolbar-btn:hover{background:var(--ui-control-bg-hover);color:var(--ui-control-fg-strong);border-color:var(--ui-control-border-active);box-shadow:var(--btn-shadow-hover, none);transform:scale(var(--ui-hover-scale))}.image-toolbar-btn.is-active{background-color:var(--ui-control-bg-active);background-image:var(--sprite-btn-primary);border-color:var(--ui-control-border-active);color:var(--accent-primary)}.image-toolbar-btn:active{transform:scale(var(--ui-press-scale))}.image-toolbar-btn>svg{filter:var(--ui-icon-filter);transition:filter var(--ui-motion-fast) var(--ui-ease-standard)}.image-toolbar-btn.is-active>svg,.image-toolbar-btn:hover>svg{filter:var(--ui-icon-filter-active)}.image-toolbar-badge{position:absolute;top:-4px;right:-4px;min-width:15px;height:15px;border-radius:999px;display:grid;place-items:center;padding:0 3px;font-size:11px;line-height:1;color:var(--btn-primary-text, #fff);background:var(--accent-primary);border:1.5px solid var(--ui-surface-bg);font-weight:600}.image-toolbar-popover-wrap{position:relative}.image-toolbar-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:165px;display:grid;gap:2px;padding:5px;border-radius:10px;border:1px solid var(--ui-surface-border);background:var(--ui-surface-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:var(--ui-surface-shadow);z-index:53}.image-toolbar-menu.align-right{left:auto;right:0}.image-toolbar-menu button{height:32px;border-radius:7px;border:1px solid var(--ui-control-border);background:var(--ui-control-bg);color:var(--ui-control-fg-strong);cursor:pointer;text-align:left;padding:0 9px;font-size:12px;display:flex;align-items:center;gap:7px;transition:background .1s ease}.image-toolbar-menu button:hover{background:var(--ui-control-bg-hover);color:var(--ui-control-fg-strong)}.image-toolbar-menu button.danger{color:#ff8ca0d9}.image-toolbar-menu button.danger:hover{background:#ff50641f;color:#ffb3bc}.image-comment-panel{position:absolute;z-index:53;width:320px;max-height:min(320px,calc(100vh - 150px));display:grid;grid-template-rows:auto 1fr auto;border-radius:12px;border:1px solid var(--ui-surface-border);background:var(--ui-surface-bg);background-image:var(--sprite-panel-bg);background-size:100% 100%;box-shadow:var(--ui-surface-shadow)}.image-comment-panel>header{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid var(--ui-surface-border);color:var(--ui-control-fg-strong);font-size:12px}.image-comment-list{overflow:auto;padding:8px 10px;display:grid;gap:8px}.image-comment-list .empty{border:1px dashed var(--ui-control-border);border-radius:8px;padding:10px;color:var(--ui-control-fg);font-size:12px}.image-comment-list article{border:1px solid var(--ui-control-border);border-radius:8px;background:var(--ui-control-bg);padding:8px;color:var(--ui-control-fg-strong)}.image-comment-list article .meta{display:flex;align-items:center;gap:7px;margin-bottom:5px;font-size:11px}.image-comment-list article .avatar{width:20px;height:20px;border-radius:999px;background:var(--accent-soft);display:grid;place-items:center;font-size:11px;font-weight:700}.image-comment-list article p{margin:0;font-size:12px;line-height:1.4}.image-comment-input{padding:8px;border-top:1px solid var(--ui-surface-border);display:grid;grid-template-columns:1fr auto;gap:6px}.image-comment-input input{height:32px;border-radius:8px;border:1px solid var(--ui-control-border);background:var(--ui-control-bg);color:var(--ui-control-fg-strong);padding:0 8px;outline:none;font-size:12px}.image-comment-input button{height:32px;border-radius:8px;border:1px solid var(--ui-control-border-active);background:var(--ui-control-bg-active);color:var(--ui-control-fg-strong);padding:0 12px;cursor:pointer;font-size:12px}.image-tag-editor{padding:8px;border-bottom:1px solid var(--ui-surface-border);display:grid;gap:8px}.image-tag-list{display:flex;flex-wrap:wrap;gap:6px}.image-tag-list .empty{color:var(--ui-control-fg);font-size:11px}.image-tag-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border-radius:999px;border:1px solid var(--ui-control-border-active);background:var(--ui-control-bg-active);color:var(--ui-control-fg-strong);font-size:11px}.image-tag-chip .chip-remove{width:16px;height:16px;border-radius:999px;border:1px solid var(--ui-control-border);background:var(--ui-control-bg-hover);color:var(--ui-control-fg-strong);display:grid;place-items:center;cursor:pointer;padding:0}.image-tag-input-row{display:grid;grid-template-columns:1fr auto;gap:6px}.image-tag-input-row input{height:30px;border-radius:8px;border:1px solid var(--ui-control-border);background:var(--ui-control-bg);color:var(--ui-control-fg-strong);padding:0 8px;outline:none;font-size:12px}.image-tag-input-row button{width:34px;height:30px;border-radius:8px;border:1px solid var(--ui-control-border-active);background:var(--ui-control-bg-active);color:var(--ui-control-fg-strong);cursor:pointer;display:grid;place-items:center;padding:0}media-player,.media-player{--media-brand: #00bcd4;--media-focus-ring-color: rgba(0,188,212, .4);--media-controls-color: #f0f0f0;--media-menu-bg: rgba(22, 22, 30, .98);--media-menu-border: 1px solid rgba(255, 255, 255, .1);--media-slider-track-bg: rgba(255, 255, 255, .1);--media-slider-track-fill-bg: #00bcd4;--media-slider-preview-bg: rgba(22, 22, 30, .95);--media-font-family: var(--font-ui)}.model3d-viewer-overlay{position:fixed;inset:0;z-index:900;display:flex;align-items:center;justify-content:center;padding:18px;background:radial-gradient(circle at top left,var(--accent-soft),transparent 32%),radial-gradient(circle at bottom right,rgba(72,220,197,.08),transparent 28%),var(--bg-overlay);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);pointer-events:auto}.model3d-viewer-panel{position:relative;width:min(980px,94vw);height:min(720px,88vh);min-height:320px;background:var(--bg-inspector);border-radius:24px;border:1px solid var(--border-ui);box-shadow:0 28px 90px #0009,0 0 0 1px #ffffff0a inset;display:flex;flex-direction:column;overflow:hidden;transition:width .18s ease,height .18s ease,border-radius .18s ease}.model3d-viewer-panel--compact{width:min(520px,92vw);height:74px;min-height:74px}.model3d-viewer-panel--maximized{width:calc(100vw - 24px);height:calc(100vh - 24px);border-radius:18px}.model3d-viewer-topbar{display:flex;align-items:center;justify-content:space-between;padding:0 18px;height:64px;min-height:64px;border-bottom:1px solid var(--border-ui);background:var(--bg-sidebar);gap:16px;flex-shrink:0}.model3d-viewer-title-wrap{display:flex;align-items:center;gap:12px;overflow:hidden}.model3d-viewer-badge{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#7688ff52,#4fd0ba33);color:#f2f6ff;border:1px solid rgba(167,185,255,.24);font-size:12px;font-weight:700;flex-shrink:0}.model3d-viewer-title-copy{display:grid;gap:2px;min-width:0}.model3d-viewer-title-wrap strong{color:#eef3ff;font-size:14px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.model3d-viewer-title-copy span{color:#8ea0c9;font-size:11px;letter-spacing:.02em}.model3d-viewer-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.model3d-viewer-actions button{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:#bfd0f8;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s,color .15s,border-color .15s,transform .15s ease;white-space:nowrap}.model3d-viewer-actions button:hover{background:#00bcd42e;border-color:#8897ff57;color:#eef3ff;transform:translateY(-1px)}.model3d-viewer-actions button.active{background:linear-gradient(135deg,#00bcd442,#4ac8bd2e);border-color:#80a1ff7a;color:#f1f5ff}.model3d-viewer-actions button.close-btn{padding:0 10px;border-color:#ff6a7842}.model3d-viewer-actions button.close-btn:hover{background:#ff506229;border-color:#ff6e7c75;color:#ffb1bd}.model3d-viewer-hint{display:flex;gap:14px;padding:9px 18px;font-size:11px;color:#7f90b8;background:#090d18a8;border-bottom:1px solid rgba(255,255,255,.04);flex-shrink:0;flex-wrap:wrap}.model3d-viewer-stage{position:relative;flex:1;overflow:hidden;background:radial-gradient(circle at 50% 18%,var(--accent-glow),transparent 28%),radial-gradient(circle at 78% 82%,rgba(82,218,192,.06),transparent 24%),var(--bg-canvas)}.model3d-viewport{position:relative;flex:1;overflow:hidden;cursor:grab;user-select:none}.model3d-viewport.is-interactive{cursor:grab}.model3d-viewport:active{cursor:grabbing}.model3d-canvas-host{position:absolute;inset:0;width:100%;height:100%}.model3d-canvas-host canvas{width:100%!important;height:100%!important;display:block}.model3d-viewer-floating-hud{position:absolute;right:16px;bottom:16px;z-index:3;display:grid;gap:8px}.model3d-viewer-floating-hud>div{min-width:130px;padding:10px 12px;border-radius:14px;background:#070b16bd;border:1px solid rgba(154,180,255,.16);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 10px 28px #00000042}.model3d-viewer-floating-hud label{display:block;margin-bottom:4px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#6f84b4}.model3d-viewer-floating-hud strong{color:#ecf2ff;font-size:13px;font-weight:650}.model3d-overlay-state{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:#dce7ff;background:#060a14b8;z-index:6;pointer-events:none}.model3d-overlay-state.is-error{color:#ffb5bf;background:#240a10d1}@media(max-width:860px){.model3d-viewer-overlay{padding:10px}.model3d-viewer-panel{width:100%;height:min(82vh,640px);border-radius:18px}.model3d-viewer-topbar{height:auto;min-height:56px;padding:10px 12px;align-items:flex-start;flex-direction:column}.model3d-viewer-actions{width:100%;flex-wrap:wrap}.model3d-viewer-actions button{flex:1 1 auto;justify-content:center}.model3d-viewer-floating-hud{right:10px;bottom:10px;left:10px;grid-template-columns:1fr 1fr}}.mobile-tool-bar{display:none;position:fixed;bottom:0;left:0;right:0;height:64px;z-index:30;background:#fffffff7;border-top:1px solid rgba(0,0,0,.08);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:6px 8px;align-items:center;justify-content:space-around;gap:4px}.mobile-tool-bar-btn{flex:1;min-height:48px;border-radius:10px;border:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11px;font-weight:500;transition:background .11s ease,color .11s ease}.draw-panel input[type=range]{-webkit-appearance:none;appearance:none;height:4px;border-radius:4px;background:#0000001f;outline:none;cursor:pointer}.draw-panel input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent-primary, #00bcd4);box-shadow:0 0 6px #00bcd48c;cursor:pointer;border:none;transition:transform 80ms ease}.draw-panel input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2)}.draw-panel input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--accent-primary, #00bcd4);box-shadow:0 0 6px #00bcd48c;cursor:pointer;border:none}.annotation-overlay{position:absolute;inset:0;z-index:35;pointer-events:auto;touch-action:none}.annotation-dim{position:absolute;inset:0;background:#00000059;cursor:crosshair}.annotation-focus{position:absolute;overflow:hidden}.annotation-svg{display:block;cursor:none;touch-action:none}.annotation-cursor{fill:none;stroke:#ffffffbf;stroke-width:1.5;pointer-events:none}.annotation-cursor.is-adjust{stroke:#00bcd4;stroke-dasharray:4 2}@media(max-width:768px)and (hover:none)and (pointer:coarse){.canvas-header{top:8px;left:8px;right:8px}.header-left,.header-right{gap:2px;padding:2px 4px}.header-center,.header-board-name{display:none}.zoom-hud{bottom:76px;right:12px}.left-tool-dock{display:none!important}.mobile-tool-bar{display:flex!important}.draw-panel{inset:auto 8px 72px!important;width:auto!important;border-radius:20px 20px 0 0}.draw-panel:before,.image-comment-panel:before,.model3d-viewer-panel:before{content:"";position:absolute;left:50%;top:10px;transform:translate(-50%);width:40px;height:4px;border-radius:999px;background:#ffffff3d;pointer-events:none}.image-comment-panel{position:fixed!important;inset:auto 0 0!important;width:100vw!important;max-width:100vw!important;max-height:min(72vh,640px);border-radius:20px 20px 0 0;padding-top:26px;z-index:160;box-shadow:0 -18px 44px #0000006b}.image-comment-panel>header{padding-top:4px}.model3d-viewer-overlay{align-items:flex-end;justify-content:stretch;padding:0;background:var(--bg-overlay);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.model3d-viewer-panel,.model3d-viewer-panel--compact,.model3d-viewer-panel--maximized{width:100vw!important;max-width:100vw!important;height:min(84vh,760px)!important;min-height:320px;border-radius:20px 20px 0 0;margin:0}.model3d-viewer-panel--compact{height:116px!important;min-height:116px}.model3d-viewer-topbar{padding-top:18px}.model3d-viewer-actions{gap:4px;flex-wrap:wrap;justify-content:flex-end}.model3d-viewer-actions button{min-width:40px;min-height:40px}.model3d-viewer-floating-hud{left:12px;right:12px;bottom:12px;width:auto}}@media(max-width:1024px)and (min-width:769px){.header-btn--upgrade{display:none}.header-board-name{max-width:140px}}@media(min-width:1280px){.header-left,.header-right{gap:2px}.header-board-name{max-width:300px}}[data-tiptap-editor] .ProseMirror{font-family:var(--tiptap-font-family, var(--font-ui));font-size:var(--tiptap-font-size, 14px);font-weight:var(--tiptap-font-weight, normal);font-style:var(--tiptap-font-style, normal);text-decoration:var(--tiptap-text-decoration, none);line-height:var(--tiptap-line-height, 1.4);letter-spacing:var(--tiptap-letter-spacing, 0px);text-align:var(--tiptap-text-align, left);color:var(--tiptap-color, var(--text-primary, #f0f0f0));caret-color:var(--accent-primary, #00bcd4);outline:none;width:100%;height:100%;min-height:100%;padding:0;box-sizing:border-box;white-space:pre-wrap;word-break:break-word;overflow:hidden}[data-tiptap-editor] .ProseMirror p{margin:0;padding:0}[data-tiptap-editor] .ProseMirror p+p{margin-top:.25em}[data-tiptap-editor] .ProseMirror h1,[data-tiptap-editor] .ProseMirror h2,[data-tiptap-editor] .ProseMirror h3{margin:0 0 .3em;line-height:1.2}[data-tiptap-editor] .ProseMirror ::selection{background:#00bcd459}[data-tiptap-editor] .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:#ffffff38;pointer-events:none;height:0}[data-tiptap-editor] .ProseMirror mark{border-radius:3px;padding:0 2px}[data-tiptap-editor] .ProseMirror code{font-family:JetBrains Mono,Fira Code,Courier New,monospace;font-size:.9em;background:#ffffff14;border-radius:4px;padding:1px 4px}[data-tiptap-editor] .ProseMirror strong{font-weight:700}[data-tiptap-editor] .ProseMirror em{font-style:italic}[data-tiptap-editor] .ProseMirror u{text-decoration:underline}[data-tiptap-editor] .ProseMirror s{text-decoration:line-through}[data-tiptap-editor] .ProseMirror ul[data-type=taskList]{list-style:none;margin:0;padding:0}[data-tiptap-editor] .ProseMirror ul[data-type=taskList] li{display:flex;align-items:flex-start;gap:7px;margin:2px 0}[data-tiptap-editor] .ProseMirror ul[data-type=taskList] li>label{flex-shrink:0;margin-top:2px;cursor:pointer}[data-tiptap-editor] .ProseMirror ul[data-type=taskList] li>label input[type=checkbox]{appearance:none;-webkit-appearance:none;width:14px;height:14px;border:1.5px solid rgba(255,255,255,.3);border-radius:4px;background:transparent;cursor:pointer;display:grid;place-items:center;transition:background .1s ease,border-color .1s ease;vertical-align:middle}[data-tiptap-editor] .ProseMirror ul[data-type=taskList] li>label input[type=checkbox]:checked{background:var(--accent-primary, #00bcd4);border-color:var(--accent-primary, #00bcd4)}[data-tiptap-editor] .ProseMirror ul[data-type=taskList] li>label input[type=checkbox]:checked:after{content:"";display:block;width:8px;height:8px;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 8 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolyline points='1,4 3,6 7,2' stroke='white' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-size:contain}[data-tiptap-editor] .ProseMirror ul[data-type=taskList] li>div{flex:1;min-width:0}[data-tiptap-editor] .ProseMirror ul[data-type=taskList] li[data-checked=true]>div{text-decoration:line-through;opacity:.55}[data-richtext-display] p{margin:0}[data-richtext-display] p+p{margin-top:.25em}[data-richtext-display] h1,[data-richtext-display] h2,[data-richtext-display] h3{margin:0 0 .3em;line-height:1.2}[data-richtext-display] h1{font-size:1.3em}[data-richtext-display] h2{font-size:1.15em}[data-richtext-display] h3{font-size:1.05em}[data-richtext-display] strong{font-weight:700}[data-richtext-display] em{font-style:italic}[data-richtext-display] u{text-decoration:underline}[data-richtext-display] s{text-decoration:line-through}[data-richtext-display] ul,[data-richtext-display] ol{margin:0;padding-left:1.2em}[data-richtext-display] ul[data-type=taskList]{padding-left:0;list-style:none}[data-richtext-display] ul[data-type=taskList] li{display:flex;align-items:flex-start;gap:.45em;margin:0}[data-richtext-display] ul[data-type=taskList] li>label{display:inline-flex;align-items:center;justify-content:center;margin-top:.15em}[data-richtext-display] ul[data-type=taskList] li>label input[type=checkbox]{width:1.15em;height:1.15em;accent-color:var(--accent-primary, #00bcd4);pointer-events:none;flex:0 0 auto}[data-richtext-display] ul[data-type=taskList] li>div{flex:1;min-width:0}[data-richtext-display] ul[data-type=taskList] li[data-checked=true]>div{text-decoration:line-through;opacity:.55}[data-tiptap-editor] .ProseMirror table{border-collapse:collapse;width:100%;margin:6px 0;font-size:inherit;table-layout:fixed;overflow:hidden}[data-tiptap-editor] .ProseMirror table td,[data-tiptap-editor] .ProseMirror table th{border:1px solid rgba(255,255,255,.12);padding:5px 8px;min-width:60px;vertical-align:top;position:relative}[data-tiptap-editor] .ProseMirror table th{background:#ffffff0f;font-weight:600}[data-tiptap-editor] .ProseMirror table .selectedCell:after{background:#00bcd42e;content:"";inset:0;pointer-events:none;position:absolute;z-index:2}[data-tiptap-editor] .ProseMirror table .column-resize-handle{background-color:var(--accent-primary, #00bcd4);bottom:-2px;pointer-events:none;position:absolute;right:-2px;top:0;width:4px}@media(max-width:480px){.header-btn .btn-label{display:none}.canvas-header .header-left,.canvas-header .header-right{gap:2px}}.tool-panel{scrollbar-width:thin;scrollbar-color:rgba(0,188,212,.2) transparent}.tool-panel::-webkit-scrollbar{width:4px}.tool-panel::-webkit-scrollbar-track{background:transparent}.tool-panel::-webkit-scrollbar-thumb{background:#00bcd438;border-radius:999px}.tool-panel-close-btn:hover{color:var(--text-primary, #f0f0f0)!important;background:#ffffff0f!important}.tool-panel-close-btn:focus-visible{outline:2px solid rgba(0,188,212,.75);outline-offset:2px}.tool-panel input[type=range]{-webkit-appearance:none;appearance:none;height:4px;border-radius:999px;background:#ffffff1a;outline:none;cursor:pointer}.tool-panel input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent-primary, #00bcd4);box-shadow:0 0 4px #00bcd480;cursor:pointer;transition:transform .1s ease}.tool-panel input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2)}.tool-panel input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--accent-primary, #00bcd4);border:none;cursor:pointer}@media(max-width:768px){.tool-sheet-backdrop{position:fixed;inset:0;background:#0000006b;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:49}.tool-panel{position:fixed!important;inset:auto 0 0!important;width:100vw!important;max-width:100vw!important;max-height:min(62vh,calc(100vh - 104px));border-radius:20px 20px 0 0;padding-top:12px;box-shadow:0 -18px 48px #0000006b}.tool-panel:before{content:"";display:block;width:42px;height:5px;border-radius:999px;background:#ffffff38;margin:0 auto 8px}.connector-quick-toolbar{position:fixed!important;left:12px!important;right:12px!important;top:auto!important;bottom:calc(62vh + 12px)!important;grid-template-columns:1fr!important;width:auto!important;padding:8px!important;max-height:30vh;overflow:auto;z-index:53!important}.connector-quick-toolbar button{min-width:0!important;padding:0 6px!important}}.logic-socket{opacity:0;transition:opacity .15s ease,transform .12s ease}.canvas-host:hover~* .logic-socket,.canvas-host:focus-within~* .logic-socket{opacity:1}.logic-socket:hover,.logic-socket:active{opacity:1!important}.tool-panel input[type=number]{-moz-appearance:textfield}.tool-panel input[type=number]::-webkit-inner-spin-button,.tool-panel input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}.tool-panel select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2020/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;padding-right:26px!important;cursor:pointer}.ncb-root{position:absolute;display:inline-flex;align-items:center;gap:2px;padding:4px 6px;border-radius:10px;border:1px solid var(--ui-surface-border);background:var(--ui-surface-bg);background-image:var(--sprite-panel-bg);background-size:100% 100%;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:var(--ui-surface-shadow);z-index:52;pointer-events:auto;user-select:none;white-space:nowrap}.ncb-root.ncb-top{transform:translateY(-100%) translateY(-8px)}.ncb-root.ncb-bottom{transform:translateY(8px)}.ncb-root.ncb-type-image{border-left:2px solid rgba(0,188,212,.65)}.ncb-root.ncb-type-video{border-left:2px solid rgba(72,199,116,.65)}.ncb-root.ncb-type-pdf{border-left:2px solid rgba(233,30,140,.55)}.ncb-root.ncb-type-model3d{border-left:2px solid rgba(155,111,247,.65)}.ncb-type-chip,.ncb-label{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:var(--ui-control-fg);letter-spacing:.03em;padding:0 4px 0 2px;user-select:none;pointer-events:none}.ncb-divider{width:1px;height:18px;background:var(--ui-surface-border);margin:0 2px;flex-shrink:0;border-radius:1px}.ncb-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:7px;border:1px solid transparent;background:transparent;color:var(--ui-control-fg);cursor:pointer;padding:0;flex-shrink:0;transition:background var(--ui-motion-fast) var(--ui-ease-standard),color var(--ui-motion-fast) var(--ui-ease-standard),border-color var(--ui-motion-fast) var(--ui-ease-standard),transform var(--ui-motion-fast) var(--ui-ease-standard)}.ncb-btn:hover{background:var(--ui-control-bg-hover);color:var(--ui-control-fg-strong);transform:scale(var(--ui-hover-scale))}.ncb-btn:active{background:var(--ui-control-bg-hover);transform:scale(var(--ui-press-scale))}.ncb-btn.is-active{background:var(--ui-control-bg-active);background-image:var(--sprite-btn-primary);background-size:100% 100%;border-color:var(--ui-control-border-active);color:var(--accent-primary)}.ncb-btn>svg{filter:var(--ui-icon-filter);transition:filter var(--ui-motion-fast) var(--ui-ease-standard)}.ncb-btn:hover>svg,.ncb-btn.is-active>svg{filter:var(--ui-icon-filter-active)}.ncb-btn.is-danger{color:#ff6e78d1}.ncb-btn.is-danger:hover{background:#ff3c501f;color:#ff8090}.ncb-btn:disabled{opacity:.3;cursor:not-allowed}.ncb-btn:focus-visible{outline:2px solid var(--accent-primary, #00bcd4);outline-offset:1px}.ncb-btn--font{width:auto;min-width:96px;justify-content:flex-start;padding:0 10px;font-size:12px;font-weight:500}.ncb-btn--font-size{width:auto;min-width:52px;justify-content:center;padding:0 8px;font-size:12px;font-weight:600}.ncb-badge,.ncb-timecode{font-size:11px;font-variant-numeric:tabular-nums;color:var(--ui-control-fg);padding:0 4px;pointer-events:none;user-select:none;min-width:36px;text-align:center}.ncb-badge--tight{min-width:28px;padding:0 2px}.ncb-inline-text{display:inline-block;min-width:34px;text-align:center;font-size:11px;font-variant-numeric:tabular-nums}.ncb-pdf-reader{display:inline-flex;align-items:center;gap:4px;padding:2px 4px;border-radius:9px;border:1px solid var(--ui-control-border);background:var(--ui-control-bg)}.ncb-pdf-page-pill{min-width:26px;height:24px;padding:0 7px;border-radius:7px;border:1px solid transparent;background:transparent;color:var(--ui-control-fg);font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;cursor:pointer;transition:background var(--ui-motion-fast) var(--ui-ease-standard),color var(--ui-motion-fast) var(--ui-ease-standard),border-color var(--ui-motion-fast) var(--ui-ease-standard)}.ncb-pdf-page-pill:hover{background:var(--ui-control-bg-hover);color:var(--ui-control-fg-strong)}.ncb-pdf-page-pill.is-active{background:var(--ui-control-bg-active);background-image:var(--sprite-btn-primary);background-size:100% 100%;border-color:var(--ui-control-border-active);color:var(--accent-primary)}.ncb-btn--voice-main{width:34px;height:34px;border-radius:10px;background:var(--ui-control-bg-active);background-image:var(--sprite-btn-primary);background-size:100% 100%;border-color:var(--ui-control-border-active);color:var(--accent-primary)}.ncb-voice-wave{display:inline-flex;align-items:flex-end;gap:2px;width:92px;height:22px;padding:1px 3px;border-radius:7px;background:var(--ui-control-bg);border:1px solid var(--ui-control-border)}.ncb-voice-wave-bar{width:2px;border-radius:3px;background:linear-gradient(180deg,#b0befff2,#7186ffb8)}.ncb-more-wrap{position:relative}.ncb-menu{position:absolute;bottom:calc(100% + 6px);right:0;min-width:140px;padding:4px;border-radius:10px;border:1px solid var(--ui-surface-border);background:var(--ui-surface-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:var(--ui-surface-shadow);display:flex;flex-direction:column;gap:1px;z-index:10;transform-origin:bottom right}.ncb-menu--arrange{min-width:280px;max-height:min(46vh,320px);overflow-y:auto;right:auto;left:0;transform-origin:bottom left}.ncb-menu button{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 10px;border-radius:7px;border:none;background:transparent;color:var(--ui-control-fg-strong);font-size:12px;font-family:var(--font-ui);cursor:pointer;width:100%;text-align:left;transition:background var(--ui-motion-fast) var(--ui-ease-standard),color var(--ui-motion-fast) var(--ui-ease-standard),transform var(--ui-motion-fast) var(--ui-ease-standard)}.ncb-menu button:hover{background:var(--ui-control-bg-hover);color:var(--ui-control-fg-strong);transform:scale(var(--ui-hover-scale))}.ncb-menu button.danger{color:#ff6e78d9}.ncb-menu button.danger:hover{background:#ff3c501f;color:#ff8090}.ncb-menu-divider{height:1px;margin:2px 6px;background:#ffffff1f}@media(max-width:768px){.ncb-root{padding:3px 5px;gap:1px;border-radius:8px}.ncb-btn{width:34px;height:34px}.ncb-type-chip,.ncb-label{display:none}}.comment-pin-overlay{position:absolute;pointer-events:auto;z-index:45}.comment-pin-btn{position:relative;width:32px;height:32px;border-radius:50% 50% 50% 4px;border:none;cursor:pointer;display:grid;place-items:center;outline:none}.comment-pin-badge{position:absolute;top:-3px;right:-3px;width:9px;height:9px;border-radius:50%;background:#fff;border:1.5px solid rgba(0,0,0,.25)}.comment-pin-bubble{position:absolute;bottom:calc(100% + 8px);left:0;background:var(--canvas-panel-bg);border:1px solid var(--canvas-panel-border);border-radius:12px;width:260px;box-shadow:var(--shadow-float);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);overflow:hidden}.cpb-header{display:flex;align-items:center;gap:8px;padding:10px 10px 8px;border-bottom:1px solid rgba(255,255,255,.07)}.cpb-avatar{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;color:#fff;flex-shrink:0;letter-spacing:.02em}.cpb-meta{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.cpb-author{font-size:12px;font-weight:600;color:#f0f0f0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cpb-time{font-size:10px;color:#666}.cpb-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.cpb-icon-btn{width:24px;height:24px;border-radius:6px;border:none;background:transparent;color:#ffffff59;cursor:pointer;display:grid;place-items:center;transition:background 80ms ease,color 80ms ease}.cpb-icon-btn:hover{background:#ffffff14;color:#ffffffbf}.cpb-textarea{width:100%;box-sizing:border-box;resize:none;background:transparent;border:none;outline:none;color:#e8ecff;font-size:13px;font-family:var(--font-ui);line-height:1.5;padding:10px;min-height:80px}.cpb-textarea::placeholder{color:#ffffff38}.cpb-typing{display:flex;align-items:center;gap:6px;padding:4px 10px 6px}.cpb-typing-dots{display:flex;align-items:center;gap:3px}.cpb-typing-dots span{width:5px;height:5px;border-radius:50%;background:#fff6;animation:cpb-bounce 1.1s infinite ease-in-out}.cpb-typing-dots span:nth-child(2){animation-delay:.18s}.cpb-typing-dots span:nth-child(3){animation-delay:.36s}@keyframes cpb-bounce{0%,80%,to{transform:scale(.75);opacity:.4}40%{transform:scale(1);opacity:1}}.cpb-typing-text{font-size:11px;color:#ffffff61}.cpb-footer{display:flex;align-items:center;justify-content:space-between;padding:6px 10px 10px;border-top:1px solid rgba(255,255,255,.06)}.cpb-char-count{font-size:10px;color:#ffffff47}.cpb-send-btn{display:flex;align-items:center;gap:5px;padding:5px 12px;border-radius:8px;border:none;color:#fff;font-size:12px;font-weight:600;cursor:pointer;transition:opacity 80ms ease,transform 80ms ease;font-family:var(--font-ui)}.cpb-send-btn:hover:not(:disabled){opacity:.85}.cpb-send-btn:active:not(:disabled){transform:scale(.95)}.cpb-send-btn:disabled{opacity:.35;cursor:not-allowed}.ctx-color-strip{display:flex;align-items:center;gap:4px;padding:0 2px}.ctx-color-dot{width:17px;height:17px;border-radius:50%;border:1.5px solid rgba(255,255,255,.18);cursor:pointer;transition:transform 80ms ease,border-color 80ms ease;outline:none;flex-shrink:0}.ctx-color-dot:hover{transform:scale(1.18)}.ctx-color-dot--active{border-color:#ffffffd9;box-shadow:0 0 0 2px #ffffff40;transform:scale(1.12)}.peer-cursor{position:absolute;pointer-events:none;z-index:52;will-change:transform;transform-origin:top left;transition:opacity .2s ease}.peer-cursor-label{position:absolute;top:18px;left:12px;border-radius:8px 8px 8px 2px;padding:2px 7px;font-size:10px;font-weight:700;color:#fff;white-space:nowrap;max-width:100px;overflow:hidden;text-overflow:ellipsis;box-shadow:0 2px 8px #00000073;font-family:var(--font-ui);letter-spacing:.01em}.canvas-wrap.present-mode .canvas-header,.canvas-wrap.present-mode .zoom-hud,.canvas-wrap.present-mode .draw-panel,.canvas-wrap.present-mode .mobile-tool-bar,.canvas-wrap.present-mode [class*=tool-panel]{display:none!important;pointer-events:none!important}.canvas-wrap.present-mode.present-draw-open .tool-panel{display:block!important;pointer-events:auto!important}.header-btn--present{height:36px;gap:6px;padding:0 14px;border-radius:10px;border:1px solid rgba(15,23,42,.14);background:#1118270f;color:#111827;font-size:14px;font-weight:600}.header-btn--present:hover{background:#ffffff1c;border-color:#ffffff38;transform:none}.header-btn--share{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 16px;border-radius:10px;border:none;background-color:var(--accent-primary);background-image:var(--sprite-btn-primary);background-size:100% 100%;background-repeat:no-repeat;color:#fff;font-size:14px;font-weight:600;cursor:pointer;letter-spacing:.01em;transition:filter var(--ui-motion-fast) var(--ui-ease-standard),transform var(--ui-motion-fast) var(--ui-ease-standard),box-shadow var(--ui-motion-fast) var(--ui-ease-standard);box-shadow:0 2px 10px #00bcd466}.header-btn--share:hover{filter:brightness(1.1);box-shadow:var(--btn-shadow-hover, 0 2px 8px rgba(0,188,212,.45))}.header-btn--share:active{transform:scale(var(--ui-press-scale))}.header-btn--upgrade{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 10px;border-radius:7px;background:var(--ui-control-bg);color:var(--text-secondary);border:1px solid var(--ui-control-border);font-size:11px;font-weight:700;cursor:pointer;letter-spacing:.04em;text-transform:uppercase;transition:background var(--ui-motion-fast) var(--ui-ease-standard),border-color var(--ui-motion-fast) var(--ui-ease-standard),box-shadow var(--ui-motion-fast) var(--ui-ease-standard),transform var(--ui-motion-fast) var(--ui-ease-standard);font-family:var(--font-ui)}.header-btn--upgrade:hover{background:var(--ui-control-bg-hover);border-color:var(--ui-control-border-active);box-shadow:var(--btn-shadow-hover, 0 0 14px rgba(245,200,66,.14));transform:scale(var(--ui-hover-scale))}.export-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:226px;background:#16161cfc;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:6px;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 12px 40px #000000a6,0 2px 8px #0000004d;z-index:120}.export-menu-section-label{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted, #666);padding:6px 10px 4px}.export-menu-item{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:8px;border:none;background:transparent;color:var(--text-primary, #f0f0f0);font-size:13px;font-family:var(--font-ui);cursor:pointer;width:100%;text-align:left;transition:background .1s ease}.export-menu-item:hover{background:#ffffff12}.export-menu-item:disabled{opacity:.45;cursor:default}.export-menu-item:disabled:hover{background:transparent}.export-menu-item .export-item-icon{flex-shrink:0;color:var(--text-secondary, #a0a0a0)}.export-menu-badge{margin-left:auto;font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;background:#00bcd42e;color:#67e8f9}.export-menu-divider{height:1px;background:#ffffff12;margin:4px 6px}.smc-backdrop{position:fixed;inset:0;background:#0000008c;z-index:130;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:grid;place-items:center;padding:16px}.smc-card{width:min(480px,100%);background:#121216fc;border:1px solid rgba(255,255,255,.09);border-radius:20px;overflow:hidden;box-shadow:0 0 0 1px #ffffff0a inset,0 40px 100px #000c,0 8px 32px #0006;display:flex;flex-direction:column}.smc-header{padding:18px 18px 0;display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.smc-header-meta{display:flex;align-items:center;gap:10px;min-width:0}.smc-board-icon{width:32px;height:32px;border-radius:9px;background:#00bcd426;border:1px solid rgba(0,188,212,.28);color:#67e8f9;display:grid;place-items:center;flex-shrink:0}.smc-header-text{display:flex;flex-direction:column;gap:1px;min-width:0}.smc-title{font-size:15px;font-weight:700;color:var(--text-primary, #f0f0f0);letter-spacing:-.015em;line-height:1.2}.smc-board-name{font-size:11.5px;color:var(--text-muted, #666);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.smc-header-badges{display:flex;align-items:center;gap:5px;flex-shrink:0}.smc-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.03em;white-space:nowrap}.smc-badge--green{background:#34d3991f;border:1px solid rgba(52,211,153,.26);color:#34d399}.smc-badge--red{background:#f871711a;border:1px solid rgba(248,113,113,.22);color:#f87171}.smc-badge--indigo{background:#00bcd41f;border:1px solid rgba(0,188,212,.24);color:#67e8f9}.smc-badge--yellow{background:#eab3081f;border:1px solid rgba(234,179,8,.26);color:#eab308}.smc-online-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#34d399;box-shadow:0 0 0 2px #34d3994d;animation:smc-pulse 2s ease-in-out infinite}@keyframes smc-pulse{0%,to{opacity:1}50%{opacity:.55}}.smc-close-btn{width:28px;height:28px;border-radius:8px;border:none;background:transparent;color:var(--text-muted, #666);cursor:pointer;display:grid;place-items:center;transition:background .1s ease,color .1s ease;flex-shrink:0}.smc-close-btn:hover{background:#ffffff14;color:var(--text-primary, #f0f0f0)}.smc-tabs{position:relative;display:flex;padding:0 18px;margin-top:16px;border-bottom:1px solid rgba(255,255,255,.07);gap:2px}.smc-tab{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;font-size:12.5px;font-weight:500;border:none;background:transparent;color:var(--text-secondary, #a0a0a0);cursor:pointer;font-family:var(--font-ui);transition:color .12s ease;border-radius:8px 8px 0 0;position:relative;z-index:1;margin-bottom:-1px}.smc-tab:hover{color:var(--text-primary, #f0f0f0);background:#ffffff0a}.smc-tab--active{color:var(--text-primary, #f0f0f0)}.smc-tab-indicator-track{position:absolute;bottom:0;left:18px;right:18px;height:2px;pointer-events:none}.smc-tab-indicator{position:absolute;height:2px;border-radius:2px 2px 0 0;background:var(--accent-primary, #00bcd4);box-shadow:0 0 8px #00bcd499}.smc-body{padding:18px;min-height:180px}.smc-tab-content{display:flex;flex-direction:column;gap:12px}.smc-collab-banner{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;background:linear-gradient(135deg,#00bcd41a,#00bcd40d);border:1px solid rgba(0,188,212,.24)}.smc-collab-icon{width:34px;height:34px;border-radius:10px;background:#00bcd433;border:1px solid rgba(0,188,212,.3);color:#67e8f9;display:grid;place-items:center;flex-shrink:0}.smc-collab-text{flex:1;display:flex;flex-direction:column;gap:2px}.smc-collab-title{font-size:13px;font-weight:600;color:var(--text-primary, #f0f0f0)}.smc-collab-desc{font-size:11.5px;color:var(--text-secondary, #a0a0a0)}.smc-collab-btn{height:30px;padding:0 14px;border-radius:8px;background:var(--accent-primary, #00bcd4);color:#fff;border:none;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;flex-shrink:0;font-family:var(--font-ui);box-shadow:0 2px 10px #00bcd459;transition:filter .1s ease,transform .1s ease}.smc-collab-btn:hover{filter:brightness(1.12)}.smc-collab-btn:active{transform:scale(.95)}.smc-link-section{border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#ffffff06;overflow:hidden}.smc-link-section-header{display:flex;align-items:center;gap:6px;padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.06)}.smc-section-label{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#a0a0a0bf;flex:1}.smc-expiry{font-size:10px;font-weight:600;padding:2px 7px;border-radius:999px;background:#fb923c21;border:1px solid rgba(251,146,60,.24);color:#fb923c}.smc-expiry--expired{background:#f8717121;border-color:#f871713d;color:#f87171}.smc-link-pill{display:flex;align-items:center;gap:0;padding:5px 10px 5px 12px;margin:8px;border-radius:999px;background:#ffffff0a;border:1px solid rgba(255,255,255,.07)}.smc-link-globe{color:var(--text-muted, #666);flex-shrink:0;margin-right:6px}.smc-link-url{flex:1;font-size:11.5px;color:var(--text-secondary, #a0a0a0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--font-mono, monospace)}.smc-link-sep{width:1px;height:16px;background:#ffffff1a;margin:0 6px;flex-shrink:0}.smc-role-wrap{position:relative;flex-shrink:0}.smc-role-trigger{height:28px;border-radius:7px;border:none;background:transparent;color:var(--text-primary, #f0f0f0);font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:5px;padding:0 8px;cursor:pointer;font-family:var(--font-ui);transition:background .1s ease}.smc-role-trigger:hover{background:#ffffff14}.smc-role-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:148px;border-radius:11px;border:1px solid rgba(255,255,255,.12);background:#14141afc;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 12px 32px #0009;padding:5px;z-index:200}.smc-role-item{width:100%;height:32px;border:none;border-radius:8px;background:transparent;color:var(--text-secondary, #a0a0a0);font-size:12.5px;font-weight:500;text-align:left;padding:0 10px;cursor:pointer;display:flex;align-items:center;font-family:var(--font-ui);transition:background 80ms ease,color 80ms ease}.smc-role-item:hover{background:#ffffff14;color:var(--text-primary, #f0f0f0)}.smc-role-item--active{color:var(--text-primary, #f0f0f0)}.smc-role-check{margin-left:auto;color:var(--accent-primary, #00bcd4);display:flex}.smc-copy-pill-btn{display:inline-flex;align-items:center;height:28px;padding:0 11px;border-radius:7px;background:#ffffff12;border:1px solid rgba(255,255,255,.11);color:var(--text-primary, #f0f0f0);font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;flex-shrink:0;font-family:var(--font-ui);transition:background .1s ease,border-color .1s ease,box-shadow .1s ease}.smc-copy-pill-btn:hover{background:#ffffff1c;border-color:#ffffff2e}.smc-copy-pill-btn--done{background:#34d39924;border-color:#34d39947;color:#34d399}.smc-copy-inner{display:inline-flex;align-items:center;gap:5px}.smc-info-row{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-muted, #555);padding:0 2px}.smc-person-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid rgba(255,255,255,.05)}.smc-person-row:first-of-type{border-top:none}.smc-avatar{position:relative;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:700;color:#fff;flex-shrink:0;letter-spacing:-.02em}.smc-avatar--self{box-shadow:0 0 0 2px #00bcd480}.smc-avatar-crown{position:absolute;top:-8px;right:-6px;font-size:12px;line-height:1;pointer-events:none}.smc-avatar-online{position:absolute;bottom:0;right:0;width:9px;height:9px;border-radius:50%;background:#34d399;border:2px solid rgba(18,18,22,1)}.smc-person-info{flex:1;min-width:0}.smc-person-name{font-size:13px;font-weight:500;color:var(--text-primary, #f0f0f0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.smc-person-role{font-size:11px;color:var(--text-muted, #666);margin-top:1px}.smc-person-badge{font-size:10px;font-weight:700;padding:2px 8px;border-radius:999px;letter-spacing:.04em;flex-shrink:0}.smc-person-badge--owner{background:#00bcd424;border:1px solid rgba(0,188,212,.26);color:#67e8f9}.smc-kick-btn{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 10px;border-radius:8px;border:1px solid rgba(248,113,113,.28);background:#f8717114;color:#fca5a5;font-size:11.5px;font-weight:600;cursor:pointer;font-family:var(--font-ui);flex-shrink:0;transition:background .1s ease,border-color .1s ease}.smc-kick-btn:hover{background:#f8717129;border-color:#f8717173}.smc-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:28px 0 20px;text-align:center}.smc-empty-icon{color:#ffffff26}.smc-empty-label{font-size:13px;font-weight:500;color:var(--text-secondary, #a0a0a0)}.smc-empty-sub{font-size:11.5px;color:var(--text-muted, #555);max-width:240px;line-height:1.5}.smc-embed-wrapper{position:relative;border-radius:12px;background:#00000059;border:1px solid rgba(255,255,255,.08);overflow:hidden}.smc-embed-code{margin:0;padding:14px;font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:11px;line-height:1.65;color:#67e8f9;white-space:pre;overflow-x:auto}.smc-embed-copy-btn{position:absolute;top:8px;right:8px;display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:7px;border:1px solid rgba(255,255,255,.12);background:#121216e6;backdrop-filter:blur(8px);color:var(--text-secondary, #a0a0a0);font-size:11.5px;font-weight:600;cursor:pointer;font-family:var(--font-ui);transition:background .1s ease,color .1s ease}.smc-embed-copy-btn:hover{background:#282832f2;color:var(--text-primary, #f0f0f0)}.smc-embed-copy-btn--done{color:#34d399;border-color:#34d3994d}.smc-embed-desc{font-size:11.5px;color:var(--text-muted, #555);line-height:1.55;margin:0}.smc-footer{display:flex;align-items:center;gap:6px;padding:10px 18px;border-top:1px solid rgba(255,255,255,.05);font-size:10.5px;color:#a0a0a073;background:#0000001f}.share-modal-backdrop{position:fixed;inset:0;background:#0009;z-index:130;backdrop-filter:blur(8px);display:grid;place-items:center;padding:16px}.share-modal-card{width:min(480px,100%);background:#121216fc;border:1px solid rgba(255,255,255,.09);border-radius:20px;overflow:hidden;display:flex;flex-direction:column}.share-modal-tabs{display:flex;border-bottom:1px solid rgba(255,255,255,.07);padding:0 18px}.share-modal-tab{padding:9px 14px;font-size:12.5px;font-weight:500;border:none;background:transparent;color:var(--text-secondary,#a0a0a0);cursor:pointer;border-bottom:2px solid transparent;font-family:var(--font-ui);margin-bottom:-1px;transition:color .12s ease,border-color .12s ease}.share-modal-tab:hover{color:var(--text-primary,#f0f0f0)}.share-modal-tab.active{color:var(--text-primary,#f0f0f0);border-bottom-color:var(--accent-primary,#00bcd4)}.share-toggle-label{font-size:13px;color:var(--text-primary,#f0f0f0)}.share-toggle-desc{font-size:12px;color:var(--text-secondary,#a0a0a0);margin-top:2px}.share-copy-btn{height:30px;padding:0 12px;border-radius:7px;background:var(--accent-primary,#00bcd4);color:#fff;border:none;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;flex-shrink:0;font-family:var(--font-ui);transition:filter .12s ease}.share-copy-btn:hover{filter:brightness(1.15)}.chat-panel-anchor{position:absolute;bottom:20px;right:20px;z-index:160;pointer-events:auto}.chat-panel{width:340px;height:480px;display:flex;flex-direction:column;border-radius:20px;border:1px solid rgba(255,255,255,.1);background:#0d0e14f7;box-shadow:0 28px 70px #000c,0 0 0 1px #ffffff0f inset,0 1px #ffffff17 inset;backdrop-filter:blur(40px) saturate(1.8);-webkit-backdrop-filter:blur(40px) saturate(1.8);overflow:hidden;transform-origin:bottom right}.chat-panel-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 13px;border-bottom:1px solid rgba(255,255,255,.07);flex-shrink:0}.chat-panel-header-left{display:flex;align-items:center;gap:8px}.chat-panel-icon{color:#00bcd4;flex-shrink:0}.chat-panel-title{font-size:13px;font-weight:700;color:#f0f0f5;letter-spacing:-.01em}.chat-panel-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:99px;background:#00bcd42e;border:1px solid rgba(0,188,212,.3);color:#67e8f9;font-size:10px;font-weight:700;font-variant-numeric:tabular-nums}.chat-panel-close{width:26px;height:26px;border-radius:7px;border:none;background:#ffffff0d;color:#ffffff59;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background 80ms ease,color 80ms ease}.chat-panel-close:hover{background:#ffffff1a;color:#ffffffb3}.chat-panel-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:12px 14px;scroll-behavior:smooth}.chat-panel-body::-webkit-scrollbar{width:4px}.chat-panel-body::-webkit-scrollbar-track{background:transparent}.chat-panel-body::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:99px}.chat-panel-body::-webkit-scrollbar-thumb:hover{background:#fff3}.chat-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#ffffff38;font-size:12px;font-weight:500;text-align:center;padding:20px}.chat-empty-icon{width:44px;height:44px;border-radius:14px;background:#00bcd41a;border:1px solid rgba(0,188,212,.18);display:flex;align-items:center;justify-content:center;color:#00bcd499;margin-bottom:4px}.chat-empty-hint{font-size:11px;color:#ffffff24;max-width:200px;line-height:1.4}.chat-messages{display:flex;flex-direction:column;gap:14px}.chat-group{display:flex;align-items:flex-end;gap:8px}.chat-group--self{flex-direction:row-reverse}.chat-group-content{display:flex;flex-direction:column;gap:3px;max-width:82%}.chat-group--self .chat-group-content{align-items:flex-end}.chat-avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;color:#fff;flex-shrink:0;letter-spacing:-.02em;margin-bottom:2px}.chat-avatar--self{box-shadow:0 0 0 2px #00bcd473}.chat-group-meta{display:flex;align-items:baseline;gap:6px;padding-left:2px;margin-bottom:1px}.chat-group-name{font-size:11px;font-weight:700;letter-spacing:-.01em}.chat-group-time{font-size:10px;color:#ffffff38;font-variant-numeric:tabular-nums}.chat-bubble{display:inline-block;position:relative;padding:8px 12px;border-radius:14px 14px 14px 4px;background:#ffffff12;border:1px solid rgba(255,255,255,.08);color:#e8eaf5;font-size:13px;line-height:1.45;word-break:break-word;max-width:100%;transition:background 80ms ease}.chat-bubble:hover{background:#ffffff1a}.chat-bubble--self{background:#00bcd438;border-color:#00bcd452;border-radius:14px 14px 4px;color:#e0e4ff}.chat-bubble--self:hover{background:#00bcd447}.chat-bubble-time{display:block;font-size:9px;color:#ffffff38;font-variant-numeric:tabular-nums;margin-top:3px;text-align:right}.chat-bubble--self .chat-bubble-time{text-align:right}.chat-panel-footer{padding:10px 12px 12px;border-top:1px solid rgba(255,255,255,.07);flex-shrink:0}.chat-input-row{display:flex;align-items:center;gap:8px;background:#ffffff0d;border:1px solid rgba(255,255,255,.09);border-radius:12px;padding:4px 4px 4px 12px;transition:border-color 80ms ease,box-shadow 80ms ease}.chat-input-row:focus-within{border-color:#00bcd473;box-shadow:0 0 0 3px #00bcd41a}.chat-input{flex:1;background:none;border:none;outline:none;color:#f0f0f5;font-size:13px;font-family:var(--font-ui, "DM Sans", system-ui, sans-serif);padding:6px 0;min-width:0}.chat-input::placeholder{color:#ffffff38}.chat-send-btn{width:34px;height:34px;border-radius:9px;border:none;background:#ffffff0f;color:#ffffff4d;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background 80ms ease,color 80ms ease,box-shadow 80ms ease}.chat-send-btn--active{background:linear-gradient(135deg,#00bcd4,#9b6ff7);color:#fff;box-shadow:0 3px 12px #00bcd473}.chat-send-btn--active:hover{box-shadow:0 4px 18px #00bcd499}.chat-send-btn:disabled{opacity:.35;cursor:not-allowed}.chat-header-badge{position:absolute;top:-3px;right:-3px;min-width:16px;height:16px;padding:0 3px;border-radius:99px;background:#f87171;color:#fff;font-size:9px;font-weight:800;display:flex;align-items:center;justify-content:center;border:2px solid rgba(13,14,20,.9);font-variant-numeric:tabular-nums;pointer-events:none;box-shadow:0 2px 6px #f8717180}.vcall-overlay{position:fixed;z-index:140;pointer-events:auto}.vcall-minimized-overlay{position:fixed;z-index:145;pointer-events:auto}.vcall-panel{background:linear-gradient(180deg,#0d0e16,#0a0b12);border:1px solid rgba(255,255,255,.1);border-radius:18px;overflow:hidden;box-shadow:0 32px 80px #000c,0 0 0 1px #00bcd41a,inset 0 1px #ffffff0d;display:flex;flex-direction:column;contain:layout style}.vcall-titlebar{display:flex;align-items:center;justify-content:space-between;gap:8px;height:44px;padding:0 10px 0 14px;background:#080910d9;border-bottom:1px solid rgba(255,255,255,.07);backdrop-filter:blur(12px);cursor:grab;user-select:none;flex-shrink:0}.vcall-titlebar:active{cursor:grabbing}.vcall-titlebar-left{display:flex;align-items:center;gap:9px}.vcall-titlebar-right{display:flex;align-items:center;gap:3px}.vcall-logo-dot{width:8px;height:8px;border-radius:50%;background:var(--accent-primary,#00bcd4);box-shadow:0 0 10px #00bcd4b3}.vcall-titlebar-title{font-size:12.5px;font-weight:600;color:#c8d2e6d9;font-family:var(--font-ui);letter-spacing:-.01em}.vcall-state-badge{font-size:10px;font-weight:700;padding:2px 7px;border-radius:999px;font-family:var(--font-ui);letter-spacing:.04em}.vcall-state-badge--live{background:#3ddc8426;color:#3ddc84;border:1px solid rgba(61,220,132,.32)}.vcall-state-badge--degraded{background:#fbbf2426;color:#fbbf24;border:1px solid rgba(251,191,36,.3)}.vcall-state-badge--reconnecting{background:#00bcd426;color:#67e8f9;border:1px solid rgba(0,188,212,.3)}.vcall-tb-btn{width:30px;height:30px;border-radius:8px;border:none;background:transparent;color:#c8d2e659;display:grid;place-items:center;cursor:pointer;transition:background 80ms ease,color 80ms ease}.vcall-tb-btn:hover{background:#ffffff17;color:#ffffffe6}.vcall-tb-btn--close:hover{background:#ef444438;color:#fca5a5}.vcall-error-banner{display:flex;align-items:center;gap:8px;padding:8px 14px;background:#7f1d1d8c;color:#fecaca;font-size:12px;border-bottom:1px solid rgba(248,113,113,.2)}.vcall-error-dismiss{margin-left:auto;background:transparent;border:none;color:#fca5a5;cursor:pointer;padding:0;display:grid;place-items:center}.vcall-body,.vcall-body-inner{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.vcall-precall{flex:1;display:grid;grid-template-columns:1fr 1fr;min-height:0;overflow:hidden}.vcall-precall-left{display:flex;flex-direction:column;gap:14px;padding:22px;border-right:1px solid rgba(255,255,255,.07);background:#06070ea6;overflow-y:auto}.vcall-preview-tile{position:relative;width:100%;aspect-ratio:16/9;background:linear-gradient(145deg,#0a0c18,#06070e);border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.09);box-shadow:0 8px 24px #00000080}.vcall-preview-video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.vcall-preview-name{position:absolute;bottom:10px;left:10px;font-size:11px;font-weight:600;color:#fff;background:#0009;padding:3px 9px;border-radius:7px;font-family:var(--font-ui);backdrop-filter:blur(6px)}.vcall-preview-mic-indicator{position:absolute;bottom:10px;right:10px;display:flex;align-items:center;gap:4px;background:#000000a6;padding:3px 8px;border-radius:7px;color:#3ddc84;transition:opacity .12s ease;backdrop-filter:blur(6px)}.vcall-audio-bars{display:flex;align-items:flex-end;gap:2px;height:14px}.vcall-audio-bar{width:3px;border-radius:2px;transition:height 60ms ease}.vcall-avatar-bg{width:100%;height:100%;display:grid;place-items:center}.vcall-avatar-circle{width:60px;height:60px;border-radius:50%;display:grid;place-items:center;font-size:22px;font-weight:700;color:#fff;font-family:var(--font-ui);box-shadow:0 4px 20px #0006}.vcall-precall-controls{display:flex;gap:8px}.vcall-quick-btn{flex:1;height:46px;border-radius:12px;border:1px solid rgba(255,255,255,.09);background:#ffffff0a;color:#c8d2e6a6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;font-family:var(--font-ui);font-size:10px;font-weight:500;transition:background 80ms ease,color 80ms ease,border-color 80ms ease,transform 80ms ease}.vcall-quick-btn:hover{background:#ffffff17;color:#fff;transform:translateY(-1px)}.vcall-quick-btn--off{background:#dc262624;color:#f87171;border-color:#dc262647}.vcall-quick-btn--active{background:#00bcd429;color:#67e8f9;border-color:#00bcd452}.vcall-device-picker{display:flex;flex-direction:column;gap:8px;overflow:hidden}.vcall-device-row{display:flex;flex-direction:column;gap:5px}.vcall-device-row-label{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:#96a0b9b3;font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.06em}.vcall-device-row-select-wrap{position:relative;display:flex;align-items:center}.vcall-device-select{width:100%;height:36px;padding:0 30px 0 12px;border-radius:9px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:var(--text-primary,#f0f0f0);font-size:12px;font-family:var(--font-ui);outline:none;appearance:none;cursor:pointer;transition:border-color 80ms ease,background 80ms ease}.vcall-device-select:focus{border-color:#00bcd48c;background:#00bcd412}.vcall-device-select:disabled{opacity:.4;cursor:not-allowed}.vcall-device-chevron{position:absolute;right:9px;pointer-events:none;color:#b4bed766}.vcall-precall-right{display:flex;flex-direction:column;padding:28px 24px;gap:16px;overflow-y:auto}.vcall-precall-logo{display:flex;align-items:center}.vcall-logo-icon{width:44px;height:44px;border-radius:13px;background:linear-gradient(135deg,#00bcd4,#9b6ff7);display:grid;place-items:center;color:#fff;box-shadow:0 6px 20px #00bcd473}.vcall-precall-title{font-size:19px;font-weight:700;color:var(--text-primary,#f0f0f0);font-family:var(--font-ui);margin:0;letter-spacing:-.02em}.vcall-precall-subtitle{font-size:13px;color:var(--text-secondary,#a0a0a0);line-height:1.55;margin:0}.vcall-name-field{display:grid;gap:7px;font-size:12px;color:#a0aac3cc}.vcall-name-field input{height:38px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#ffffff0e;color:var(--text-primary,#f0f0f0);padding:0 12px;outline:none;font-family:var(--font-ui);font-size:13px;transition:border-color 80ms ease,background 80ms ease,box-shadow 80ms ease}.vcall-name-field input:focus{border-color:#00bcd4b3;background:#00bcd40f;box-shadow:0 0 0 3px #00bcd42e}.vcall-room-badge{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.09);background:#ffffff0a;font-size:11.5px;color:var(--text-secondary,#a0a0a0);font-family:var(--font-ui);max-width:100%}.vcall-room-badge-label{font-weight:600;color:#828ca5cc}.vcall-room-badge-id{color:var(--text-primary,#f0f0f0);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vcall-status-row{display:flex;gap:7px;flex-wrap:wrap}.vcall-status-pill{display:flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;font-size:11px;font-weight:500;font-family:var(--font-ui);border:1px solid rgba(255,255,255,.09)}.vcall-status-pill--ok{color:#3ddc84;border-color:#3ddc8447;background:#3ddc8414}.vcall-status-pill--warn{color:#f87171;border-color:#f8717147;background:#f8717114}.vcall-precall-actions{display:flex;flex-direction:column;gap:8px}.vcall-join-btn{height:46px;border-radius:12px;border:none;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-ui);transition:transform 80ms ease,box-shadow 80ms ease,filter 80ms ease,opacity 80ms ease}.vcall-join-btn:disabled{opacity:.45;cursor:not-allowed;transform:none!important}.vcall-join-btn--primary{background:linear-gradient(135deg,#00bcd4,#0097a7);color:#fff;box-shadow:0 4px 18px #00bcd473,0 1px #ffffff1a inset}.vcall-join-btn--primary:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 8px 24px #00bcd48c}.vcall-join-btn--secondary{background:#fff1;color:var(--text-primary,#f0f0f0);border:1px solid rgba(255,255,255,.11)}.vcall-join-btn--secondary:not(:disabled):hover{background:#ffffff1c}.vcall-precall-hint{font-size:11px;color:var(--text-muted,#555);line-height:1.5;margin:0}.vcall-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.22);border-top-color:#fff;border-radius:50%;animation:vcall-spin .65s linear infinite}@keyframes vcall-spin{to{transform:rotate(360deg)}}.vcall-tile{position:relative;width:100%;height:100%;background:linear-gradient(145deg,#0c0e1a,#090a12);border-radius:14px;overflow:hidden;border:2px solid transparent;transition:border-color .12s ease,box-shadow .12s ease}.vcall-tile--speaking{border-color:#3ddc8499;box-shadow:0 0 0 1px #3ddc8433}.vcall-tile-video{width:100%;height:100%;object-fit:cover}.vcall-tile-footer{position:absolute;bottom:0;left:0;right:0;padding:24px 10px 9px;background:linear-gradient(to top,rgba(0,0,0,.8) 0%,transparent 100%);display:flex;align-items:flex-end;justify-content:space-between}.vcall-tile-name-row{display:flex;align-items:center;gap:5px}.vcall-tile-name{font-size:11.5px;font-weight:600;color:#fff;font-family:var(--font-ui);text-shadow:0 1px 4px rgba(0,0,0,.9);max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vcall-tile-muted-icon{width:18px;height:18px;border-radius:50%;background:#dc2626e0;display:grid;place-items:center;flex-shrink:0}.vcall-tile-speaking-dot{width:8px;height:8px;border-radius:50%;background:#3ddc84;animation:vcall-pulse .9s ease infinite;flex-shrink:0}@keyframes vcall-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.82)}}.vcall-tile-speaking-ring{position:absolute;inset:0;border-radius:14px;border:2.5px solid;pointer-events:none;animation:vcall-ring-pulse 1.4s ease infinite}@keyframes vcall-ring-pulse{0%,to{opacity:.5}50%{opacity:.95}}.vcall-tile-avatar-bg{width:100%;height:100%;display:grid;place-items:center}.vcall-tile-avatar-ring{width:76px;height:76px;border-radius:50%;border:2px solid;display:grid;place-items:center}.vcall-tile-avatar-circle{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-size:24px;font-weight:700;color:#fff;font-family:var(--font-ui)}.vcall-live-layout{flex:1;min-height:0;display:flex;overflow:hidden}.vcall-sidebar{flex-shrink:0;border-right:1px solid rgba(255,255,255,.07);display:flex;flex-direction:column;overflow:hidden;background:#0a0b12e6;backdrop-filter:blur(4px)}.vcall-main-area{flex:1;min-width:0;position:relative;display:flex;flex-direction:column;background:linear-gradient(180deg,#080910,#060708)}.vcall-grid{flex:1;min-height:0;display:grid;gap:7px;padding:10px;align-content:center}.vcall-grid[data-count="1"]{grid-template-columns:1fr}.vcall-grid[data-count="2"]{grid-template-columns:1fr 1fr}.vcall-grid[data-count="3"]{grid-template-columns:1fr 1fr 1fr}.vcall-grid[data-count="4"]{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.vcall-grid[data-count="5"],.vcall-grid[data-count="6"],.vcall-grid[data-count="7"],.vcall-grid[data-count="8"],.vcall-grid[data-count="9"]{grid-template-columns:repeat(3,1fr)}.vcall-grid-slot{position:relative;min-height:0;aspect-ratio:16/9;cursor:pointer}.vcall-spotlight-layout{flex:1;min-height:0;display:grid;grid-template-columns:1fr 160px;gap:6px;padding:8px}.vcall-spotlight-main{min-height:0;border-radius:14px;overflow:hidden}.vcall-spotlight-strip{display:flex;flex-direction:column;gap:6px;overflow-y:auto}.vcall-strip-slot{aspect-ratio:16/9;border-radius:10px;overflow:hidden;cursor:pointer;flex-shrink:0}.vcall-live-topbar{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:linear-gradient(to bottom,rgba(0,0,0,.55) 0%,transparent 100%);pointer-events:none;z-index:2}.vcall-live-topbar>*{pointer-events:auto}.vcall-live-topbar-left,.vcall-live-topbar-right{display:flex;align-items:center;gap:6px}.vcall-net-pill{height:22px;border-radius:999px;display:inline-flex;align-items:center;gap:5px;padding:0 8px;font-size:11px;font-weight:600;font-family:var(--font-ui);border:1px solid rgba(255,255,255,.12)}.vcall-net-pill--good{color:#3ddc84;border-color:#3ddc844d;background:#3ddc841f}.vcall-net-pill--warn{color:#fbbf24;border-color:#fbbf244d;background:#fbbf241f}.vcall-net-pill--poor,.vcall-net-pill--offline{color:#f87171;border-color:#f871714d;background:#f871711f}.vcall-duration-badge{height:22px;padding:0 8px;border-radius:999px;background:#00000080;border:1px solid rgba(255,255,255,.12);color:#ffffffd9;font-size:11px;font-weight:600;font-family:var(--font-ui,monospace);display:inline-flex;align-items:center}.vcall-room-pill{height:22px;padding:0 8px;border-radius:999px;background:#00000080;border:1px solid rgba(255,255,255,.1);display:inline-flex;align-items:center;gap:5px;font-size:11px}.vcall-room-pill-id{color:#ffffffb3;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vcall-topbar-btn{width:30px;height:30px;border-radius:9px;border:1px solid rgba(255,255,255,.11);background:#0000008c;color:#c8d2e6a6;display:grid;place-items:center;cursor:pointer;transition:background 80ms ease,color 80ms ease,transform 80ms ease;backdrop-filter:blur(8px)}.vcall-topbar-btn:hover{background:#ffffff21;color:#fff;transform:scale(1.05)}.vcall-topbar-btn--active{background:#00bcd447;color:#67e8f9;border-color:#00bcd459}.vcall-control-bar{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:flex-end;justify-content:space-between;padding:18px 18px 16px;background:linear-gradient(to top,rgba(0,0,0,.82) 0%,transparent 100%);z-index:2}.vcall-ctrl-left,.vcall-ctrl-right{display:flex;align-items:center;min-width:90px}.vcall-ctrl-right{justify-content:flex-end}.vcall-ctrl-center{display:flex;align-items:center;gap:7px}.vcall-participant-count-badge{display:flex;align-items:center;gap:5px;padding:5px 11px;border-radius:999px;background:#0009;border:1px solid rgba(255,255,255,.12);color:#ffffffbf;font-size:12px;font-family:var(--font-ui);font-weight:500}.vcall-ctrl-group{display:flex;align-items:stretch}.vcall-ctrl-btn{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:70px;padding:9px 10px;border-radius:14px;border:1px solid rgba(255,255,255,.09);background:#141620f0;color:#c8d2e6a6;cursor:pointer;font-family:var(--font-ui);font-size:10px;font-weight:500;transition:background 80ms ease,color 80ms ease,transform 80ms ease,border-color 80ms ease;backdrop-filter:blur(12px)}.vcall-ctrl-group .vcall-ctrl-btn{border-radius:14px 0 0 14px;border-right:none}.vcall-ctrl-btn:hover{background:#ffffff1c;color:#fff;transform:translateY(-1px)}.vcall-ctrl-btn--muted{background:#dc262629;color:#f87171;border-color:#dc262647}.vcall-ctrl-btn--active{background:#00bcd42e;color:#67e8f9;border-color:#00bcd452}.vcall-ctrl-btn--hand{background:#fbbf2429;color:#fbbf24;border-color:#fbbf2447}.vcall-ctrl-btn--disabled,.vcall-ctrl-btn:disabled{opacity:.38;cursor:not-allowed;transform:none}.vcall-ctrl-icon-wrap{position:relative;width:34px;height:34px;border-radius:10px;background:#ffffff12;display:grid;place-items:center;transition:background 80ms ease}.vcall-ctrl-btn:hover .vcall-ctrl-icon-wrap{background:#ffffff1f}.vcall-ctrl-btn--muted .vcall-ctrl-icon-wrap{background:#dc26262e}.vcall-ctrl-btn--active .vcall-ctrl-icon-wrap{background:#00bcd433}.vcall-ctrl-btn--hand .vcall-ctrl-icon-wrap{background:#fbbf242e}.vcall-notif-dot{position:absolute;top:-2px;right:-2px;width:8px;height:8px;border-radius:50%;background:#ef4444;border:1.5px solid #0e0f14}.vcall-ctrl-chevron{width:20px;border-radius:0 14px 14px 0;border:1px solid rgba(255,255,255,.09);border-left:1px solid rgba(255,255,255,.05);background:#141620f0;color:#c8d2e659;display:grid;place-items:center;cursor:pointer;transition:background 80ms ease,color 80ms ease;backdrop-filter:blur(12px)}.vcall-ctrl-chevron:hover{background:#ffffff1a;color:#ffffffd9}.vcall-leave-btn{display:flex;align-items:center;gap:7px;padding:9px 16px;border-radius:14px;border:1px solid rgba(248,113,113,.32);background:#7f1d1dc7;color:#fecaca;cursor:pointer;font-family:var(--font-ui);font-size:12px;font-weight:600;transition:background 80ms ease,transform 80ms ease;backdrop-filter:blur(12px)}.vcall-leave-btn:hover{background:#b91c1cd9;transform:translateY(-1px)}.vcall-panel-header{display:flex;align-items:center;gap:6px;padding:11px 12px;border-bottom:1px solid rgba(255,255,255,.07);font-size:12px;font-weight:600;color:#b4bed7cc;font-family:var(--font-ui);flex-shrink:0}.vcall-panel-badge{margin-left:2px;min-width:18px;height:18px;border-radius:9px;background:#00bcd438;color:#67e8f9;font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;padding:0 5px}.vcall-panel-close{margin-left:auto;width:24px;height:24px;border-radius:6px;border:none;background:transparent;color:#c8d2e659;cursor:pointer;display:grid;place-items:center;transition:background 80ms ease,color 80ms ease}.vcall-panel-close:hover{background:#ffffff14;color:#fff}.vcall-chat-panel{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.vcall-chat-messages{flex:1;min-height:0;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:10px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.08) transparent}.vcall-chat-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#ffffff2e;text-align:center;padding:20px}.vcall-chat-empty p{font-size:11px;color:#8c96afa6;line-height:1.5;margin:0}.vcall-chat-msg{display:flex;gap:9px;align-items:flex-start}.vcall-chat-msg-avatar{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:700;color:#fff;flex-shrink:0;font-family:var(--font-ui)}.vcall-chat-msg-body{flex:1;min-width:0}.vcall-chat-msg-name{font-size:11px;font-weight:600;display:flex;align-items:center;gap:6px;font-family:var(--font-ui)}.vcall-chat-msg-time{font-size:10px;color:#828ca5a6;font-weight:400}.vcall-chat-msg-text{font-size:12.5px;color:var(--text-primary,#f0f0f0);line-height:1.5;word-break:break-word}.vcall-chat-compose{display:grid;grid-template-columns:1fr auto;gap:6px;padding:9px;border-top:1px solid rgba(255,255,255,.07);flex-shrink:0}.vcall-chat-input{height:36px;border-radius:9px;border:1px solid rgba(255,255,255,.09);background:#ffffff0d;color:var(--text-primary,#f0f0f0);padding:0 11px;font-size:12.5px;font-family:var(--font-ui);outline:none;transition:border-color 80ms ease,background 80ms ease}.vcall-chat-input:focus{border-color:#00bcd48c;background:#00bcd40f}.vcall-chat-send{width:36px;height:36px;border-radius:9px;border:none;background:#00bcd433;color:#67e8f9;cursor:pointer;display:grid;place-items:center;transition:background 80ms ease,transform 80ms ease}.vcall-chat-send:not(:disabled):hover{background:#00bcd461;transform:scale(1.05)}.vcall-chat-send:disabled{opacity:.38;cursor:not-allowed}.vcall-participants-panel{flex:1;display:flex;flex-direction:column;overflow:hidden}.vcall-participants-list{flex:1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:2px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.08) transparent}.vcall-participant-row{display:flex;align-items:center;gap:10px;padding:7px 9px;border-radius:9px;transition:background 80ms ease}.vcall-participant-row:hover{background:#ffffff0d}.vcall-participant-avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;color:#fff;flex-shrink:0;font-family:var(--font-ui)}.vcall-participant-info{flex:1;min-width:0}.vcall-participant-name{font-size:12.5px;font-weight:500;color:var(--text-primary,#f0f0f0);font-family:var(--font-ui);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vcall-participant-icons{display:flex;gap:4px}.vcall-device-settings-panel{flex:1;display:flex;flex-direction:column;overflow:hidden}.vcall-device-settings-body{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:6px}.vcall-device-section-label{font-size:10.5px;font-weight:700;color:#828ca5a6;font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.08em;padding:0 2px;margin-top:4px}.vcall-minimized-pill{display:flex;align-items:center;gap:9px;padding:7px 9px 7px 12px;border-radius:999px;background:#0e101af7;border:1px solid rgba(255,255,255,.13);box-shadow:0 8px 28px #000000a6,0 2px 8px #0000004d;cursor:grab;user-select:none;font-family:var(--font-ui);font-size:12px;color:#b4bed7bf;backdrop-filter:blur(16px)}.vcall-minimized-pill:active{cursor:grabbing}.vcall-mini-net{width:8px;height:8px;border-radius:50%;flex-shrink:0}.vcall-mini-net--good{background:#3ddc84;box-shadow:0 0 7px #3ddc84bf}.vcall-mini-net--warn{background:#fbbf24}.vcall-mini-net--poor,.vcall-mini-net--offline{background:#f87171}.vcall-mini-name{font-weight:600;color:#fff;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vcall-mini-duration{font-size:11px;color:#96a0b9a6;font-variant-numeric:tabular-nums}.vcall-mini-actions{display:flex;align-items:center;gap:3px;margin-left:2px}.vcall-mini-btn{width:28px;height:28px;border-radius:50%;border:none;background:#ffffff12;color:#c8d2e680;display:grid;place-items:center;cursor:pointer;transition:background 80ms ease,color 80ms ease,transform 80ms ease}.vcall-mini-btn:hover{background:#ffffff24;color:#fff;transform:scale(1.06)}.vcall-mini-btn--muted{color:#f87171;background:#dc262624}.vcall-mini-btn--leave{color:#fecaca;background:#7f1d1d8c}.vcall-mini-btn--leave:hover{background:#b91c1cbf}@media(max-width:680px){.vcall-precall{grid-template-columns:1fr}.vcall-precall-left{border-right:none;border-bottom:1px solid rgba(255,255,255,.07)}.vcall-spotlight-layout{grid-template-columns:1fr;grid-template-rows:1fr auto}.vcall-spotlight-strip{flex-direction:row;overflow-x:auto;overflow-y:hidden}.vcall-strip-slot{width:120px;flex-shrink:0}.vcall-ctrl-center{gap:4px}.vcall-ctrl-btn{min-width:52px}}@media(prefers-reduced-motion:reduce){.vcall-spinner,.vcall-tile-speaking-dot,.vcall-tile-speaking-ring{animation:none!important}.vcall-ctrl-btn,.vcall-join-btn,.vcall-quick-btn{transition:none!important}}@keyframes emoji-float{0%{opacity:1;transform:translateY(0) scale(.5)}15%{opacity:1;transform:translateY(-16px) scale(1.35)}to{opacity:0;transform:translateY(-90px) scale(1.1)}}.emoji-float{position:absolute;pointer-events:none;font-size:34px;animation:emoji-float 3s ease-out forwards;z-index:300;filter:drop-shadow(0 2px 8px rgba(0,0,0,.45));line-height:1;user-select:none;will-change:transform,opacity}.emoji-float--3d{text-shadow:0 1px 0 rgba(255,255,255,.35),0 7px 16px rgba(0,0,0,.5);filter:drop-shadow(0 10px 18px rgba(0,0,0,.42));transform-style:preserve-3d}.emoji-picker-popover{position:absolute;top:calc(100% + 8px);right:0;background:#16161cfc;border:1px solid rgba(255,255,255,.1);border-radius:13px;padding:10px;display:grid;grid-template-columns:repeat(6,1fr);gap:4px;z-index:130;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 12px 40px #000000a6}.emoji-picker-popover--cursor{position:fixed;top:auto;right:auto;z-index:220;animation:settings-fade-in .12s ease both}.emoji-picker-popover--cursor .emoji-react-btn{font-size:24px;width:36px;height:36px}.emoji-picker-popover--cursor .emoji-react-btn:hover{transform:translateY(-2px) scale(1.16)}.emoji-react-btn{font-size:22px;padding:5px;border:none;background:transparent;cursor:pointer;border-radius:7px;transition:background 80ms ease,transform 80ms ease;line-height:1;display:grid;place-items:center}.emoji-react-btn:hover{background:#ffffff1a;transform:scale(1.15)}.recording-indicator{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:999px;background:#dc26262e;border:1px solid rgba(220,38,38,.35);font-size:11px;font-weight:600;color:#f87171;animation:rec-pulse 1.4s ease-in-out infinite}@keyframes rec-pulse{0%,to{opacity:1}50%{opacity:.6}}.recording-dot{width:7px;height:7px;border-radius:50%;background:#ef4444;flex-shrink:0}.video-conf-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:272px;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:#0e0f16fa;box-shadow:0 20px 50px #000000a6,inset 0 1px #ffffff0f;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:10px 8px 9px;display:grid;gap:2px;z-index:160}.video-conf-dropdown-section{font-size:11px;font-weight:700;color:#98a2b9;padding:3px 8px 5px}.video-conf-dropdown-section--with-help{display:flex;align-items:center;justify-content:space-between}.video-conf-dropdown-help{width:16px;height:16px;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:700;color:#98a2b9;border:1px solid rgba(152,162,185,.4)}.video-conf-dropdown-item{min-height:36px;border:none;border-radius:9px;padding:0 10px;background:transparent;color:#bec8dccc;display:flex;align-items:center;gap:10px;font-size:13px;text-align:left;cursor:pointer;font-family:var(--font-ui);transition:background 80ms ease,color 80ms ease,transform 80ms ease}.video-conf-dropdown-item:hover{background:#ffffff17;color:#fff;transform:translate(1px)}.video-conf-dropdown-item:disabled{opacity:.55;cursor:not-allowed;transform:none}.video-conf-dropdown-item--primary{margin-top:2px}.video-conf-dropdown-divider{height:1px;background:#ffffff1a;margin:5px 8px}.video-conf-placeholder{border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#ffffff0d;padding:10px 12px;margin:0 4px 4px}.video-conf-placeholder p{margin:0;font-size:13px;color:var(--text-primary,#f0f0f0);line-height:1.45}.video-conf-provider-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 1px #ffffff38 inset}.video-conf-provider-dot--zoom{background:linear-gradient(135deg,#2d8cff,#1a63f4)}.video-conf-provider-dot--teams{background:linear-gradient(135deg,#9b6ff7,#00bcd4)}.video-conf-provider-dot--discord{background:linear-gradient(135deg,#8ca0ff,#5865f2)}.header-btn-spinner{width:12px;height:12px;border-radius:50%;border:1.6px solid rgba(255,255,255,.3);border-top-color:#fffffff2;animation:header-btn-spin .9s linear infinite}@keyframes header-btn-spin{to{transform:rotate(360deg)}}.external-call-pill{position:absolute;left:50%;top:68px;transform:translate(-50%);z-index:178;display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:14px;border:1px solid rgba(95,154,255,.35);background:#161e2ad1;box-shadow:0 16px 36px #00000073;backdrop-filter:blur(18px) saturate(1.25);-webkit-backdrop-filter:blur(18px) saturate(1.25)}.external-call-pill-dot{width:8px;height:8px;border-radius:999px;background:#5fff9c;box-shadow:0 0 10px #5fff9ccc;animation:external-call-dot 1.6s ease-in-out infinite}.external-call-pill-text{color:#f4f9fff0;font-size:12px;font-weight:600;letter-spacing:.01em;white-space:nowrap}.external-call-pill-join{height:28px;border:1px solid rgba(112,147,255,.52);background:linear-gradient(180deg,#00bcd4e6,#00bcd4c7);color:#f6f7ff;border-radius:8px;padding:0 10px;font-size:12px;font-weight:700;cursor:pointer}.external-call-pill-close{width:26px;height:26px;border-radius:7px;border:1px solid rgba(255,255,255,.14);background:#ffffff0d;color:#fffc;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}@keyframes external-call-dot{0%,to{transform:scale(1);opacity:1}50%{transform:scale(.78);opacity:.65}}.header-feature-wrap{position:relative;display:inline-flex;align-items:center;gap:6px}.header-status-chip{display:inline-flex;align-items:center;justify-content:center;min-width:58px;height:24px;padding:0 9px;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:linear-gradient(180deg,#fff3,#ffffff12);color:#dde7fa;font-size:11px;font-weight:700;letter-spacing:.01em;box-shadow:inset 0 1px #ffffff3d}.header-status-chip.active{border-color:#62dba8b8;background:linear-gradient(180deg,#62dba85c,#3da57933);color:#d0ffe8}.timer-popover{position:absolute;top:calc(100% + 12px);right:0;width:300px;border-radius:20px;border:1px solid rgba(255,255,255,.1);background:#0e0f16f7;box-shadow:0 32px 80px #000000d9,0 0 0 1px #ffffff0f inset,0 1px #ffffff1a inset;backdrop-filter:blur(40px) saturate(1.8);-webkit-backdrop-filter:blur(40px) saturate(1.8);padding:20px;display:flex;flex-direction:column;gap:16px;z-index:170;transform-origin:top right}.timer-popover-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.timer-popover-head strong{font-size:13px;font-weight:700;color:#f0f0f5;letter-spacing:-.01em;display:flex;align-items:center;gap:7px}.timer-popover-head strong:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#00bcd4;box-shadow:0 0 8px #00bcd4b3;flex-shrink:0}.timer-status-pill,.poll-status-pill{font-size:10px;font-weight:700;padding:3px 10px;border-radius:99px;background:#ffffff0f;color:#ffffff61;border:1px solid rgba(255,255,255,.08);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.timer-status-pill--live,.poll-status-pill--live{background:#34d39921;border-color:#34d39947;color:#5ee8b0;animation:live-pill-pulse 2.2s ease-in-out infinite}.timer-status-pill--paused{background:#fbbf241f;border-color:#fbbf2447;color:#fcd34d}.poll-status-pill--closed{background:#00bcd421;border-color:#00bcd44d;color:#67e8f9}@keyframes live-pill-pulse{0%,to{opacity:1;box-shadow:0 0 #34d39966}50%{opacity:.75;box-shadow:0 0 0 4px #34d39900}}.timer-ring-wrap{position:relative;width:148px;height:148px;align-self:center;flex-shrink:0;filter:drop-shadow(0 0 18px rgba(0,188,212,.18))}.timer-ring-svg{display:block}.timer-ring-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;pointer-events:none}.timer-big-clock{font-family:JetBrains Mono,SF Mono,Consolas,monospace;font-size:30px;font-weight:700;letter-spacing:-.04em;color:#f0f0f5;line-height:1;transition:color .6s ease;font-variant-numeric:tabular-nums}.timer-big-clock--urgent{color:#f87171;animation:urgent-tick .9s ease-in-out infinite}@keyframes urgent-tick{0%,to{transform:scale(1)}50%{transform:scale(1.06);opacity:.85}}.timer-ring-label{font-size:10px;font-weight:600;color:#ffffff47;letter-spacing:.06em;text-transform:uppercase}.timer-popover-presets{display:flex;align-items:center;gap:5px;overflow:hidden}.timer-dial-slider{width:100%;-webkit-appearance:none;appearance:none;height:5px;border-radius:99px;background:#ffffff17;outline:none;cursor:pointer;accent-color:#00bcd4}.timer-dial-slider::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid #00bcd4;box-shadow:0 2px 10px #0000008c,0 0 0 3px #00bcd42e;cursor:grab;transition:transform .12s ease,box-shadow .12s ease}.timer-dial-slider::-webkit-slider-thumb:active{cursor:grabbing;transform:scale(1.2);box-shadow:0 2px 14px #0009,0 0 0 5px #00bcd440}.timer-dial-slider:disabled{opacity:.25;cursor:not-allowed}.timer-popover-controls{display:flex;align-items:center;gap:6px;overflow:hidden}.timer-mini-btn{flex:1;height:32px;border:1px solid rgba(255,255,255,.09);background:#ffffff0d;color:#ffffff73;border-radius:9px;padding:0 10px;font-size:12px;font-weight:600;cursor:pointer;font-family:var(--font-ui, "DM Sans", system-ui, sans-serif);display:inline-flex;align-items:center;justify-content:center;gap:4px;transition:background 80ms ease,color 80ms ease,border-color 80ms ease,transform 80ms ease;white-space:nowrap}.timer-mini-btn:hover{background:#ffffff1a;color:#f0f0f5;border-color:#ffffff29;transform:translateY(-1px)}.timer-mini-btn:active{transform:translateY(0) scale(.97)}.timer-mini-btn.active{background:#00bcd42e;border-color:#00bcd46b;color:#c7d0ff;box-shadow:0 0 0 2px #00bcd41f inset}.timer-mini-btn:disabled{opacity:.25;cursor:not-allowed;transform:none}.timer-main-btn,.poll-main-btn,.poll-vote-btn,.poll-remove-btn{flex:1;height:38px;border-radius:11px;padding:0 16px;font-size:13px;font-weight:700;cursor:pointer;font-family:var(--font-ui, "DM Sans", system-ui, sans-serif);display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:background 80ms ease,box-shadow 80ms ease,transform 80ms ease;border:none;background:linear-gradient(135deg,#00bcd4,#9b6ff7);color:#fff;box-shadow:0 3px 14px #00bcd473,0 1px #ffffff26 inset;letter-spacing:-.01em}.timer-main-btn:hover,.poll-main-btn:hover,.poll-vote-btn:hover{background:linear-gradient(135deg,#7c88ff,#8e9bfa);box-shadow:0 5px 22px #00bcd49e,0 1px #ffffff2e inset;transform:translateY(-1px)}.timer-main-btn:active,.poll-main-btn:active{transform:scale(.97)}.timer-main-btn:disabled,.poll-main-btn:disabled{opacity:.35;cursor:not-allowed;box-shadow:none;transform:none}.timer-main-btn--ghost,.poll-main-btn--ghost{background:#ffffff0d;border:1px solid rgba(255,255,255,.09);color:#ffffff6b;box-shadow:none}.timer-main-btn--ghost:hover,.poll-main-btn--ghost:hover{background:#ffffff17;color:#ffffffb8;box-shadow:none;transform:translateY(-1px)}.poll-remove-btn{flex:0 0 30px;width:30px;height:30px;border-radius:8px;padding:0;background:#ffffff0a;border:1px solid rgba(255,255,255,.07);color:#ffffff47;font-size:16px;box-shadow:none}.poll-remove-btn:hover{background:#f8717126;border-color:#f8717159;color:#fca5a5;box-shadow:none;transform:scale(1.06)}.poll-main-btn--danger{background:#f8717124;border:1px solid rgba(248,113,113,.32);color:#fca5a5;box-shadow:none}.poll-main-btn--danger:hover{background:#f871713d;box-shadow:none;transform:translateY(-1px)}.poll-vote-btn.active{background:#34d3992e;border:1px solid rgba(52,211,153,.42);color:#6ee7b7;box-shadow:none}.timer-lock-hint{display:flex;align-items:center;justify-content:center;gap:5px;font-size:11px;color:#ffffff40;text-align:center;padding:6px 10px;border-radius:8px;background:#ffffff08;border:1px solid rgba(255,255,255,.06)}.timer-dial-shell{display:flex;flex-direction:column;align-items:center;gap:12px}.timer-dial-ring,.timer-dial-core,.timer-dial-value,.timer-popover-clock,.timer-popover-clock--hero{display:none!important}.poll-popover{position:absolute;top:calc(100% + 12px);right:0;width:460px;border-radius:20px;border:1px solid rgba(255,255,255,.1);background:#0e0f16f7;box-shadow:0 32px 80px #000000d9,0 0 0 1px #ffffff0f inset,0 1px #ffffff1a inset;backdrop-filter:blur(40px) saturate(1.8);-webkit-backdrop-filter:blur(40px) saturate(1.8);padding:20px;display:flex;flex-direction:column;gap:14px;z-index:170;transform-origin:top right}.poll-popover-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.poll-popover-head strong{font-size:13px;font-weight:700;color:#f0f0f5;letter-spacing:-.01em;display:flex;align-items:center;gap:7px}.poll-popover-head strong:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#9b6ff7;box-shadow:0 0 8px #818cf899;flex-shrink:0}.poll-live-countdown{display:inline-flex;align-items:center;gap:8px;padding:6px 13px;border-radius:10px;background:#34d39917;border:1px solid rgba(52,211,153,.2);color:#6ee7b7;font-size:12px;font-weight:700;align-self:stretch;font-family:JetBrains Mono,monospace;letter-spacing:-.01em}.poll-live-countdown:before{content:"";width:7px;height:7px;border-radius:50%;background:#34d399;box-shadow:0 0 #34d39980;animation:live-dot-pulse 1.5s ease-in-out infinite;flex-shrink:0}@keyframes live-dot-pulse{0%{box-shadow:0 0 #34d39999}60%{box-shadow:0 0 0 6px #34d39900}to{box-shadow:0 0 #34d39900}}.poll-layout{display:grid;grid-template-columns:1fr 1fr;gap:10px}.poll-compose-pane,.poll-results-pane{border-radius:13px;border:1px solid rgba(255,255,255,.07);background:#ffffff07;padding:13px;display:flex;flex-direction:column;gap:10px}.poll-label{display:flex;flex-direction:column;gap:5px;font-size:10px;font-weight:700;color:#ffffff52;letter-spacing:.07em;text-transform:uppercase}.poll-label input,.poll-option-row input{width:100%;height:34px;border-radius:9px;border:1px solid rgba(255,255,255,.09);background:#ffffff0d;color:#f0f0f5;padding:0 11px;font-size:12.5px;font-family:var(--font-ui, "DM Sans", system-ui, sans-serif);outline:none;transition:border-color 80ms ease,box-shadow 80ms ease,background 80ms ease}.poll-label input:focus,.poll-option-row input:focus{border-color:#00bcd48c;background:#00bcd40d;box-shadow:0 0 0 3px #00bcd41f}.poll-label input::placeholder,.poll-option-row input::placeholder{color:#ffffff2e}.poll-duration-row{display:flex;align-items:center;gap:8px}.poll-duration-row input[type=range]{flex:1;-webkit-appearance:none;appearance:none;height:4px;border-radius:99px;background:#ffffff17;outline:none;cursor:pointer;accent-color:#00bcd4}.poll-duration-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid #00bcd4;cursor:grab;box-shadow:0 1px 6px #0006;transition:transform .1s ease}.poll-duration-row input[type=range]::-webkit-slider-thumb:active{transform:scale(1.2);cursor:grabbing}.poll-duration-row span{font-size:11px;font-weight:700;color:#fff6;min-width:36px;text-align:right;font-variant-numeric:tabular-nums}.poll-duration-presets{margin-top:2px;display:flex;flex-wrap:wrap;gap:4px}.poll-options-list{display:flex;flex-direction:column;gap:6px}.poll-option-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px}.poll-results-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.06)}.poll-results-head strong{font-size:12px;font-weight:700;color:#f0f0f5;letter-spacing:-.01em}.poll-results-head span{font-size:11px;color:#ffffff52;font-variant-numeric:tabular-nums}.poll-results-list{display:flex;flex-direction:column;gap:11px;flex:1}.poll-result-row{display:flex;flex-direction:column;gap:4px}.poll-result-top{display:flex;justify-content:space-between;align-items:baseline;gap:4px}.poll-result-label{font-size:12px;font-weight:500;color:#d4d8f0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0;transition:color .15s ease}.poll-result-meta{font-size:11px;font-weight:800;color:#ffffff73;font-variant-numeric:tabular-nums;flex-shrink:0;transition:color .15s ease}.poll-result-row--winner .poll-result-label{color:#c7d0ff;font-weight:700}.poll-result-row--winner .poll-result-meta{color:#67e8f9}.poll-result-row--winner .poll-result-bar{background:linear-gradient(90deg,#00bcd4,#9b6ff7)!important}.poll-result-bar-wrap{width:100%;height:6px;border-radius:99px;background:#ffffff0f;overflow:hidden;position:relative}.poll-result-bar{height:100%;border-radius:inherit;background:linear-gradient(90deg,#00bcd4cc,#a78bfacc);position:relative;overflow:hidden}.poll-result-row--winner .poll-result-bar:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.22) 50%,transparent 100%);animation:bar-shimmer 1.8s ease-in-out infinite;transform:translate(-100%)}@keyframes bar-shimmer{0%{transform:translate(-100%)}to{transform:translate(200%)}}.poll-result-count{font-size:10px;font-weight:600;color:#ffffff38;font-variant-numeric:tabular-nums}.poll-results-empty{font-size:12px;color:#ffffff2e;text-align:center;padding:20px 0;display:flex;flex-direction:column;align-items:center;gap:8px}.poll-results-empty:before{content:"⬡";font-size:24px;opacity:.3}.poll-controls{display:flex;align-items:center;gap:6px}.canvas-wrap.drop-zone-active:after{content:"";position:absolute;inset:0;border:2px dashed rgba(0,188,212,.5);border-radius:12px;pointer-events:none;z-index:89;animation:drop-border-pulse 1.2s ease-in-out infinite}@keyframes drop-border-pulse{0%,to{border-color:#00bcd466}50%{border-color:#00bcd4cc}}.drop-overlay{position:absolute;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;background:#08081085;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border-radius:inherit}.drop-overlay-card{display:flex;flex-direction:column;align-items:center;gap:10px;padding:28px 36px;border-radius:20px;border:1px solid rgba(0,188,212,.38);background:#10121ef0;box-shadow:0 24px 60px #000000a6,0 0 60px #00bcd41a}.drop-overlay-icon{width:56px;height:56px;border-radius:50%;background:#00bcd426;border:1px solid rgba(0,188,212,.35);display:flex;align-items:center;justify-content:center;color:#67e8f9;animation:drop-icon-bounce 1s ease-in-out infinite}@keyframes drop-icon-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.drop-overlay-text{font-size:16px;font-weight:700;color:#f5f5f7;letter-spacing:-.02em}.drop-overlay-hint{font-size:12px;color:#ffffff52;letter-spacing:.02em}.timer-finished-overlay{position:fixed;inset:0;z-index:200;display:grid;place-items:center;background:#080a108c;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.timer-finished-card{width:min(92vw,320px);border-radius:22px;border:1px solid rgba(255,255,255,.13);background:#101118fa;box-shadow:0 32px 72px #000000bf,0 1px #ffffff1a inset;padding:28px 22px 22px;display:flex;flex-direction:column;align-items:center;gap:12px;animation:timer-card-pop .35s cubic-bezier(.34,1.56,.64,1) both}@keyframes timer-card-pop{0%{opacity:0;transform:scale(.82) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.timer-finished-icon{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#00bcd424;border:1px solid rgba(0,188,212,.32);color:#67e8f9;animation:timer-icon-ring .6s ease .2s both}@keyframes timer-icon-ring{0%{box-shadow:0 0 #00bcd499}70%{box-shadow:0 0 0 18px #00bcd400}to{box-shadow:0 0 #00bcd400}}.timer-finished-burst{position:absolute;width:190px;height:190px;border-radius:50%;background:radial-gradient(circle at center,rgba(0,188,212,.3) 0%,rgba(0,188,212,.08) 35%,transparent 72%),conic-gradient(from 0deg,#8ab4ff8c,#00bcd40d,#8ab4ff8c);filter:blur(.2px);animation:timer-finished-burst-pop 1s cubic-bezier(.22,1,.36,1) both;pointer-events:none}@keyframes timer-finished-burst-pop{0%{opacity:0;transform:scale(.5)}40%{opacity:.95}to{opacity:.45;transform:scale(1.05)}}.timer-finished-title{position:relative;z-index:1;font-size:22px;line-height:1.04;font-weight:800;letter-spacing:-.03em;color:#f7f8ff;text-align:center}.timer-finished-subtitle{position:relative;z-index:1;font-size:13px;color:#e8ecffb3;text-align:center}.timer-finished-btn{position:relative;z-index:1;margin-top:4px;border:0;border-radius:999px;padding:10px 14px;font-size:12px;font-weight:700;color:#f7f8ff;background:linear-gradient(180deg,#00bcd4e6,#5862e8e6);box-shadow:0 12px 20px #4b5ae359;cursor:pointer}.timer-finished-btn:hover{filter:brightness(1.06)}.timer-finished-btn:active{transform:translateY(1px) scale(.98)}@media(prefers-reduced-motion:reduce){.timer-finished-burst,.timer-finished-card,.timer-finished-icon{animation:none!important}}.live-cursors-layer{position:absolute;inset:0;pointer-events:none;z-index:60;overflow:hidden}.live-cursor{position:absolute;top:0;left:0;pointer-events:none;will-change:transform;transition:transform 60ms linear}.live-cursor__arrow{display:block;filter:drop-shadow(0 2px 4px rgba(0,0,0,.45))}.live-cursor__label{position:absolute;top:18px;left:14px;padding:3px 8px;border-radius:6px;font-size:11px;font-weight:600;color:#fff;white-space:nowrap;letter-spacing:.01em;box-shadow:0 2px 8px #0006;pointer-events:none}.peer-avatars{display:flex;align-items:center;gap:-6px}.peer-avatar{width:28px;height:28px;border-radius:50%;border:2px solid var(--bg-titlebar, #1c1c1c);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#fff;margin-left:-6px;cursor:default;flex-shrink:0;transition:transform .12s var(--ease);box-shadow:0 2px 6px #00000059}.peer-avatar:first-child{margin-left:0}.peer-avatar:hover{transform:translateY(-2px) scale(1.1);z-index:2}.peer-avatar--overflow{background:var(--bg-elevated, #2a2a2a);color:var(--text-secondary, #a0a0a0);font-size:9px}.comment-pins-layer{position:absolute;inset:0;pointer-events:none;z-index:55;overflow:hidden}.comment-pin{position:absolute;top:0;left:0;width:30px;height:30px;border-radius:50% 50% 50% 0;background:var(--accent, #00bcd4);border:2px solid rgba(255,255,255,.25);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;pointer-events:all;transform-origin:0 100%;box-shadow:0 3px 12px #00bcd473,0 1px 4px #0006;transition:transform .12s var(--spring),box-shadow .12s ease,background .1s ease;translate:-50% -100%}.comment-pin:hover{transform:scale(1.18);box-shadow:0 6px 20px #00bcd48c,0 2px 6px #0006}.comment-pin--open{background:#fff;color:var(--accent, #00bcd4);transform:scale(1.1)}.comment-pin--resolved{background:var(--bg-elevated, #2a2a2a);color:var(--text-muted, #666);border-color:#ffffff1a;box-shadow:0 2px 8px #0000004d}.comment-pin--resolved:hover{background:var(--bg-elevated, #2a2a2a)}.comment-pin__count{position:absolute;top:-6px;right:-6px;width:16px;height:16px;border-radius:50%;background:#fff;color:var(--accent, #00bcd4);font-size:9px;font-weight:800;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--accent, #00bcd4)}.comment-thread-panel{position:absolute;top:54px;right:0;width:320px;max-height:calc(100vh - 80px);background:var(--canvas-panel-bg);border:1px solid var(--canvas-panel-border);border-right:none;border-radius:14px 0 0 14px;display:flex;flex-direction:column;overflow:hidden;z-index:80;box-shadow:-8px 0 40px #0000008c;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.ctp__header{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.07);flex-shrink:0}.ctp__title{flex:1;font-size:13px;font-weight:600;color:var(--text-primary, #f0f0f0)}.ctp__actions{display:flex;gap:4px;align-items:center}.ctp__messages{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:14px;scrollbar-width:thin;scrollbar-color:rgba(0,188,212,.2) transparent}.ctp__msg{display:flex;gap:10px;align-items:flex-start}.ctp__msg--mention{background:#00bcd414;border-left:2px solid var(--accent, #00bcd4);border-radius:0 8px 8px 0;margin-left:-4px;padding-left:8px}.ctp__msg-avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;flex-shrink:0;margin-top:1px}.ctp__msg-body{flex:1;min-width:0}.ctp__msg-meta{display:flex;align-items:baseline;gap:8px;margin-bottom:4px}.ctp__msg-author{font-size:12px;font-weight:700;color:var(--text-primary, #f0f0f0)}.ctp__msg-time{font-size:10px;color:var(--text-muted, #666)}.ctp__msg-text{font-size:13px;line-height:1.5;color:var(--text-secondary, #a0a0a0);word-break:break-word;white-space:pre-wrap}.ctp__mention{color:var(--accent, #00bcd4);font-weight:600}.ctp__reactions{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px;align-items:center;position:relative}.ctp__reaction-chip{padding:2px 7px;border-radius:99px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);font-size:12px;color:var(--text-primary, #f0f0f0);cursor:pointer;transition:background .1s ease;font-family:var(--font-ui)}.ctp__reaction-chip:hover{background:#ffffff1f}.ctp__reaction-add{opacity:.5;transition:opacity .1s ease}.ctp__reaction-add:hover{opacity:1}.emoji-picker{position:absolute;bottom:calc(100% + 4px);left:0;display:flex;gap:2px;padding:6px 8px;background:var(--canvas-panel-bg);border:1px solid var(--canvas-panel-border);border-radius:10px;box-shadow:var(--shadow-float);z-index:100}.emoji-picker__btn{width:30px;height:30px;display:flex;align-items:center;justify-content:center;font-size:16px;border-radius:6px;background:transparent;border:none;cursor:pointer;transition:background 80ms ease,transform 80ms ease;font-family:var(--font-ui)}.emoji-picker__btn:hover{background:#ffffff1a;transform:scale(1.2)}.reply-box{display:flex;gap:10px;padding:12px 14px;border-top:1px solid rgba(255,255,255,.07);flex-shrink:0;align-items:flex-start;position:relative}.reply-box__avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;flex-shrink:0;margin-top:2px}.reply-box__input-wrap{flex:1;position:relative;display:flex;flex-direction:column;gap:6px}.reply-box__textarea{width:100%;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:8px 10px;font-size:13px;color:var(--text-primary, #f0f0f0);resize:none;font-family:var(--font-ui);line-height:1.4;transition:border-color .1s ease}.reply-box__textarea:focus{border-color:var(--accent, #00bcd4);outline:none}.reply-box__textarea::placeholder{color:var(--text-muted, #666)}.reply-box__send{align-self:flex-end;padding:5px 12px;border-radius:7px;background:var(--accent, #00bcd4);color:#fff;font-size:12px;font-weight:600;border:none;cursor:pointer;transition:filter .1s ease,transform .1s ease;font-family:var(--font-ui)}.reply-box__send:hover:not(:disabled){filter:brightness(1.12)}.reply-box__send:active:not(:disabled){transform:scale(.95)}.reply-box__send:disabled{opacity:.4;cursor:default}.mention-picker{position:absolute;bottom:calc(100% + 4px);left:0;min-width:180px;background:var(--canvas-panel-bg);border:1px solid var(--canvas-panel-border);border-radius:10px;box-shadow:var(--shadow-float);overflow:hidden;z-index:100;backdrop-filter:blur(16px)}.mention-picker__item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;font-size:13px;color:var(--text-primary, #f0f0f0);background:transparent;border:none;cursor:pointer;font-family:var(--font-ui);text-align:left;transition:background 80ms ease}.mention-picker__item:hover{background:#00bcd41f}.mention-picker__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.header-btn--presenting{background:#10b98126!important;border-color:#10b98159!important;color:#34d399!important}.header-btn--presenting:hover{background:#10b98138!important}.present-follower-chip{display:inline-flex;align-items:center;gap:3px;margin-left:6px;padding:1px 6px;border-radius:99px;background:#34d39933;font-size:10px;font-weight:700;color:#34d399}.presenter-banner{position:absolute;bottom:20px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:10px 16px;background:var(--canvas-panel-bg);border:1px solid rgba(52,211,153,.4);border-radius:12px;box-shadow:var(--shadow-float);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);z-index:90;white-space:nowrap}.presenter-banner__icon{color:#34d399;flex-shrink:0}.presenter-banner__text{font-size:13px;color:var(--text-secondary, #a0a0a0)}.presenter-banner__text strong{color:var(--text-primary, #f0f0f0)}.presenter-banner__follow-btn{padding:5px 12px;border-radius:7px;background:#34d39926;border:1px solid rgba(52,211,153,.3);color:#34d399;font-size:12px;font-weight:700;cursor:pointer;transition:background .1s ease;font-family:var(--font-ui)}.presenter-banner__follow-btn:hover{background:#34d39940}.presenter-banner__follow-btn--active{background:#34d39940;border-color:#34d39980}.presenter-banner__dismiss{opacity:.5;transition:opacity .1s ease}.presenter-banner__dismiss:hover{opacity:1}.dot-vote-overlay{position:absolute;top:0;left:0;pointer-events:none;z-index:52}.dot-vote-badge{position:absolute;top:-14px;right:-14px;min-width:26px;height:26px;border-radius:13px;background:var(--accent, #00bcd4);border:2px solid rgba(255,255,255,.2);display:flex;align-items:center;gap:4px;padding:0 7px;cursor:pointer;pointer-events:all;box-shadow:0 3px 10px #00bcd473;transition:transform .12s var(--spring)}.dot-vote-badge:hover{transform:scale(1.12)}.dot-vote-badge__count{font-size:11px;font-weight:800;color:#fff}.dot-vote-badge__dots{display:flex;gap:2px;align-items:center}.dot-vote-badge__dot{width:5px;height:5px;border-radius:50%;background:#ffffffb3}.dot-vote-badge__more{font-size:9px;color:#fffc;font-weight:700}.dot-vote-badge__mine{font-size:9px;color:#ffffffa6;padding-left:3px;border-left:1px solid rgba(255,255,255,.2);margin-left:2px}.dot-vote-add{position:absolute;bottom:-12px;right:-12px;width:24px;height:24px;border-radius:50%;background:var(--bg-elevated, #2a2a2a);border:1.5px solid var(--accent, #00bcd4);color:var(--accent, #00bcd4);display:flex;align-items:center;justify-content:center;cursor:pointer;pointer-events:all;box-shadow:0 2px 8px #0006}.dot-vote-add:hover{background:var(--accent, #00bcd4);color:#fff}.dot-voting-bar{display:flex;align-items:center;gap:8px;padding:5px 10px;background:#00bcd41a;border:1px solid rgba(0,188,212,.22);border-radius:10px}.dot-voting-bar__toggle{display:flex;align-items:center;gap:6px;padding:5px 10px;border-radius:7px;background:transparent;border:none;color:var(--text-secondary, #a0a0a0);font-size:12px;font-weight:600;cursor:pointer;transition:color .1s ease;font-family:var(--font-ui)}.dot-voting-bar__toggle:hover{color:var(--text-primary, #f0f0f0)}.dot-voting-bar__toggle--active{color:var(--accent, #00bcd4)}.dot-voting-bar__count{font-size:11px;color:var(--text-muted, #666)}.dot-voting-bar__clear{opacity:.6;transition:opacity .1s ease}.dot-voting-bar__clear:hover{opacity:1}.session-timer{position:absolute;bottom:32px;left:50%;transform:translate(-50%);background:var(--canvas-panel-bg);border:1px solid var(--canvas-panel-border);border-radius:18px;padding:14px 16px 12px;display:flex;flex-direction:column;align-items:center;gap:10px;z-index:90;box-shadow:var(--shadow-float);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);min-width:160px;cursor:grab;user-select:none}.session-timer:active{cursor:grabbing}.session-timer--urgent{border-color:#ef444466;box-shadow:0 0 0 1px #ef444426,0 12px 40px #ef444440,0 2px 8px #0006;animation:timer-pulse 1s ease-in-out infinite}.session-timer--done{border-color:#34d39966;box-shadow:0 0 0 1px #34d39926,0 12px 40px #34d39933,0 2px 8px #0006}@keyframes timer-pulse{0%,to{box-shadow:0 0 0 1px #ef444426,0 12px 40px #ef444440,0 2px 8px #0006}50%{box-shadow:0 0 0 3px #ef444440,0 12px 40px #ef444466,0 2px 8px #0006}}.session-timer__close{position:absolute;top:6px;right:8px;opacity:.4;transition:opacity .1s ease}.session-timer__close:hover{opacity:1}.session-timer__ring-wrap{position:relative;width:80px;height:80px}.session-timer__ring{width:100%;height:100%}.session-timer__ring-track{stroke:#ffffff12}.session-timer__ring-fill{stroke:var(--accent, #00bcd4);transition:stroke-dashoffset 1s linear}.session-timer--urgent .session-timer__ring-fill{stroke:#ef4444}.session-timer--done .session-timer__ring-fill{stroke:#34d399}.session-timer__display{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.session-timer__time{font-size:18px;font-weight:800;color:var(--text-primary, #f0f0f0);font-variant-numeric:tabular-nums;letter-spacing:-.03em}.session-timer--urgent .session-timer__time{color:#ef4444}.session-timer--done .session-timer__time{color:#34d399;font-size:13px}.session-timer__label{font-size:9px;font-weight:600;color:var(--text-muted, #666);text-transform:uppercase;letter-spacing:.06em;max-width:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.session-timer__controls{display:flex;gap:4px;align-items:center}.session-timer__btn{width:32px;height:32px;border-radius:50%;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:var(--text-secondary, #a0a0a0);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .1s ease,color .1s ease,transform .1s var(--spring)}.session-timer__btn:hover{background:#ffffff1f;color:var(--text-primary, #f0f0f0)}.session-timer__btn:active{transform:scale(.92)}.session-timer__btn--start{background:var(--accent, #00bcd4);border-color:transparent;color:#fff;box-shadow:0 2px 10px #00bcd466}.session-timer__btn--start:hover{background:var(--accent-hover, #8490ff);color:#fff;filter:brightness(1.1)}.session-timer__settings{width:100%;overflow:hidden;display:flex;flex-direction:column;gap:8px}.session-timer__label-input{width:100%;height:30px;border-radius:7px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--text-primary, #f0f0f0);font-size:12px;padding:0 10px;font-family:var(--font-ui);transition:border-color .1s ease}.session-timer__label-input:focus{border-color:var(--accent, #00bcd4);outline:none}.session-timer__label-input::placeholder{color:var(--text-muted, #666)}.session-timer__presets{display:flex;flex-wrap:wrap;gap:4px}.session-timer__preset{padding:4px 8px;border-radius:6px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);color:var(--text-secondary, #a0a0a0);font-size:11px;font-weight:600;cursor:pointer;transition:background 80ms ease,color 80ms ease;font-family:var(--font-ui)}.session-timer__preset:hover{background:#ffffff1a;color:var(--text-primary, #f0f0f0)}.session-timer__preset--active{background:#00bcd433;border-color:#00bcd459;color:var(--accent, #00bcd4)}.session-timer__custom{display:flex;gap:6px}.session-timer__custom-input{flex:1;height:30px;border-radius:7px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--text-primary, #f0f0f0);font-size:12px;padding:0 8px;font-family:var(--font-ui);transition:border-color .1s ease}.session-timer__custom-input:focus{border-color:var(--accent, #00bcd4);outline:none}.session-timer__custom-input::placeholder{color:var(--text-muted, #666)}.session-timer__custom-input::-webkit-inner-spin-button,.session-timer__custom-input::-webkit-outer-spin-button{-webkit-appearance:none}.session-timer__custom-set{padding:0 10px;height:30px;border-radius:7px;background:#00bcd433;border:1px solid rgba(0,188,212,.3);color:var(--accent, #00bcd4);font-size:12px;font-weight:700;cursor:pointer;transition:background .1s ease;font-family:var(--font-ui)}.session-timer__custom-set:hover{background:#00bcd44d}.header-btn--timer{position:relative}.header-btn--timer-active{color:var(--accent, #00bcd4)!important}.header-timer-chip{position:absolute;top:-6px;right:-8px;padding:1px 5px;border-radius:99px;background:var(--accent, #00bcd4);color:#fff;font-size:9px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:0;line-height:1.4;box-shadow:0 1px 6px #00bcd480}.np-panel{position:fixed;left:36px;top:50%;transform:translateY(-50%);z-index:99990;display:flex;flex-direction:column;overflow:hidden;background:#0d0e15fb;backdrop-filter:blur(32px) saturate(1.6);-webkit-backdrop-filter:blur(32px) saturate(1.6);border:1px solid rgba(255,255,255,.07);border-radius:14px;box-shadow:0 0 0 .5px #00bcd414,0 32px 96px #000000bf,0 1px #ffffff0a inset;font-family:var(--font-ui, "DM Sans", system-ui, sans-serif);color:#dce1f0eb}.np-header{display:flex;align-items:center;gap:8px;padding:0 10px 0 14px;height:46px;flex-shrink:0;background:#10111af5;border-bottom:1px solid rgba(255,255,255,.065)}.np-logo{width:24px;height:24px;border-radius:7px;background:linear-gradient(135deg,#00bcd4,#9b6ff7);display:grid;place-items:center;flex-shrink:0;box-shadow:0 2px 8px #00bcd459}.np-title{font-size:13px;font-weight:650;color:#e6e9f8f2;letter-spacing:-.01em;flex:1}.np-badge{font-size:10px;font-weight:600;color:#a0acd273;background:#ffffff0d;padding:1px 7px;border-radius:10px;line-height:16px}.np-search{display:flex;align-items:center;gap:6px;background:#ffffff0a;border:1px solid rgba(255,255,255,.07);border-radius:7px;padding:5px 9px;transition:border-color .12s ease,background .12s ease}.np-search:focus-within{border-color:#00bcd480;background:#00bcd40d}.np-search input{flex:1;border:none;outline:none;background:transparent;color:#dce1f0e6;font-size:12px;font-family:inherit;caret-color:#00bcd4;min-width:0}.np-search input::placeholder{color:#a0acd24d}.np-new-btn{display:flex;align-items:center;gap:5px;padding:6px 12px;border-radius:7px;border:none;background:#00bcd4;color:#fff;font-size:12px;font-weight:600;font-family:inherit;cursor:pointer;flex-shrink:0;letter-spacing:-.01em;transition:transform 80ms ease,box-shadow 80ms ease,opacity 80ms ease;box-shadow:0 2px 8px #00bcd466}.np-new-btn:hover{opacity:.9;box-shadow:0 4px 16px #00bcd480;transform:translateY(-1px)}.np-new-btn:active{transform:translateY(0)}.np-icon-btn{width:30px;height:30px;border-radius:7px;border:none;background:transparent;color:#a0acd266;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background 80ms ease,color 80ms ease}.np-icon-btn:hover{background:#ffffff0f;color:#dce1f0cc}.np-icon-btn:focus-visible{outline:2px solid rgba(0,188,212,.6);outline-offset:1px}.np-icon-btn.active{color:#00bcd4;background:#00bcd41f}.np-body{display:flex;flex:1;overflow:hidden}.np-sidebar{display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.06);background:#0e0f16fa;overflow:hidden;flex-shrink:0}.np-sidebar-scroll{flex:1;overflow-y:auto;padding:8px 6px;scrollbar-width:none}.np-sidebar-scroll::-webkit-scrollbar{display:none}.np-section-label{display:flex;align-items:center;justify-content:space-between;padding:8px 8px 3px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#a0acd247}.np-section-label button{background:none;border:none;color:#a0acd24d;cursor:pointer;padding:2px;border-radius:4px;display:flex;align-items:center;transition:color 80ms ease,background 80ms ease}.np-section-label button:hover{color:#a0acd2b3;background:#ffffff0f}.np-nav-item{width:100%;display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;border:none;background:transparent;color:#b4bed780;font-size:12px;font-weight:400;font-family:inherit;cursor:pointer;text-align:left;transition:background 80ms ease,color 80ms ease;user-select:none;line-height:1.3}.np-nav-item:hover{background:#ffffff0b;color:#c8d2ebbf}.np-nav-item.active{background:#00bcd41f;color:#a0affff2;font-weight:500}.np-nav-item:focus-visible{outline:2px solid rgba(0,188,212,.5);outline-offset:-1px}.np-nav-item .nav-icon{flex-shrink:0;opacity:.6;transition:opacity 80ms ease}.np-nav-item.active .nav-icon,.np-nav-item:hover .nav-icon{opacity:1}.np-nav-item .nav-count{margin-left:auto;font-size:10px;font-weight:600;color:#a0acd259;background:#ffffff0d;padding:1px 6px;border-radius:9px;line-height:15px}.np-nav-item.active .nav-count{color:#00bcd4e6;background:#00bcd426}.np-nav-item.indent{padding-left:20px}.np-folder-dot{width:8px;height:8px;border-radius:3px;flex-shrink:0}.np-folder-input{margin:2px 6px 4px;padding:6px 9px;background:#ffffff0d;border:1px solid rgba(0,188,212,.4);border-radius:6px;color:#dce1f0e6;font-size:12px;font-family:inherit;outline:none;width:calc(100% - 12px);caret-color:#00bcd4}.np-tags-toggle{display:flex;align-items:center;gap:5px;padding:6px 8px 3px;background:none;border:none;color:#a0acd24d;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;width:100%;font-family:inherit;transition:color 80ms ease}.np-tags-toggle:hover{color:#a0acd299}.np-sidebar-footer{padding:7px 12px;border-top:1px solid rgba(255,255,255,.05);font-size:10px;color:#a0acd238;background:#0c0d1499}.np-list{display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.06);overflow:hidden;flex-shrink:0;background:#0d0e15fc}.np-list-header{display:flex;align-items:center;justify-content:space-between;padding:9px 10px 7px;border-bottom:1px solid rgba(255,255,255,.06);font-size:11px;font-weight:600;color:#b4bed780;flex-shrink:0;letter-spacing:-.01em}.np-list-scroll{flex:1;overflow-y:auto;padding:5px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.08) transparent}.np-list-scroll::-webkit-scrollbar{width:3px}.np-list-scroll::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:3px}.np-note-row{position:relative;border-radius:8px;border:1px solid transparent;cursor:pointer;transition:background 80ms ease,border-color .1s ease;margin-bottom:2px;user-select:none}.np-note-row:hover{background:#ffffff0a}.np-note-row.active{background:#00bcd417;border-color:#00bcd440}.np-note-row:hover .np-row-menu,.np-note-row.active .np-row-menu{opacity:1}.np-note-row:focus-within .np-row-menu{opacity:1}.np-note-btn{display:block;width:100%;padding:9px 34px 9px 10px;border:none;background:transparent;color:inherit;cursor:pointer;text-align:left;font-family:inherit}.np-note-title{font-size:12.5px;font-weight:530;line-height:1.35;color:#e1e6f8eb;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:3px;letter-spacing:-.01em}.np-note-row.active .np-note-title{color:#b4c3fffa}.np-note-preview{font-size:11px;color:#a0acd273;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.4;margin-bottom:4px}.np-note-footer{display:flex;align-items:center;gap:5px;flex-wrap:nowrap;overflow:hidden}.np-note-date{font-size:10px;color:#a0acd247}.np-note-tasks{font-size:10px;color:#4ade80b3}.np-note-tasks.incomplete{color:#a0acd259}.np-tag{font-size:9.5px;font-weight:550;background:#00bcd41a;color:#8c9bffbf;padding:1px 6px;border-radius:4px;white-space:nowrap;flex-shrink:0}.np-pin-icon{flex-shrink:0;margin-right:2px}.np-row-menu{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:22px;height:22px;border-radius:5px;border:none;background:transparent;color:#a0acd266;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity 80ms ease,background 80ms ease}.np-row-menu:hover{background:#ffffff14;color:#c8d2ebcc}.np-ctx-menu{position:absolute;right:4px;top:calc(100% - 10px);z-index:300;background:#10111bfc;border:1px solid rgba(255,255,255,.08);border-radius:9px;box-shadow:0 12px 40px #000000a6,0 1px #ffffff0a inset;overflow:hidden;min-width:148px;padding:3px}.np-ctx-btn{width:100%;display:flex;align-items:center;gap:9px;padding:7px 10px;border:none;background:transparent;color:#b4bed7b3;font-size:12px;font-family:inherit;cursor:pointer;text-align:left;border-radius:6px;transition:background 60ms ease,color 60ms ease}.np-ctx-btn:hover{background:#ffffff0f;color:#dce1f0e6}.np-ctx-btn.danger{color:#f87171b3}.np-ctx-btn.danger:hover{background:#f8717114;color:#f87171}.np-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:10px;color:#a0acd24d;padding:20px;text-align:center}.np-empty-icon{opacity:.2;margin-bottom:4px}.np-empty p{font-size:12px;margin:0;line-height:1.5}.np-editor-pane{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#0c0d14fc}.np-editor-toolbar{display:flex;align-items:center;gap:6px;padding:7px 12px;border-bottom:1px solid rgba(255,255,255,.055);flex-shrink:0;background:#0e0f16f2;min-height:38px}.np-editor-meta{flex:1;font-size:11px;color:#a0acd24d;display:flex;align-items:center;gap:10px}.np-editor-meta .sep{width:1px;height:10px;background:#ffffff1a}.np-mode-btn{display:flex;align-items:center;gap:5px;padding:4px 9px;border-radius:6px;border:1px solid rgba(255,255,255,.07);background:transparent;color:#a0acd273;font-size:11px;font-family:inherit;cursor:pointer;transition:all 80ms ease;flex-shrink:0}.np-mode-btn:hover{border-color:#00bcd44d;color:#a0afffcc;background:#00bcd40f}.np-mode-btn.active{border-color:#00bcd466;color:#00bcd4;background:#00bcd41a}.np-fmt-divider{width:1px;height:16px;background:#ffffff14;flex-shrink:0;margin:0 2px}.np-fmt-btn{width:26px;height:26px;border-radius:5px;border:none;background:transparent;color:#a0acd261;font-size:11px;font-weight:700;font-family:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 60ms ease,color 60ms ease;flex-shrink:0}.np-fmt-btn:hover{background:#ffffff12;color:#c8d2ebe6}.np-textarea{flex:1;resize:none;border:none;outline:none;background:transparent;color:#dce1f0e0;font-family:var(--font-ui, "DM Sans", system-ui, sans-serif);font-size:13.5px;line-height:1.78;padding:18px 20px;caret-color:#00bcd4;letter-spacing:-.01em}.np-textarea::placeholder{color:#a0acd22e;line-height:1.78}.np-preview{flex:1;padding:18px 20px;overflow-y:auto;color:#dce1f0e0;font-size:13.5px;line-height:1.78;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.07) transparent}.np-preview h1{font-size:18px;font-weight:750;color:#ebeefffa;margin:0 0 10px;letter-spacing:-.02em}.np-preview h2{font-size:15px;font-weight:650;color:#e1e6f8f2;margin:14px 0 6px;letter-spacing:-.01em}.np-preview h3{font-size:13px;font-weight:600;color:#d7def0e6;margin:10px 0 4px}.np-preview p{margin:0 0 4px}.np-preview strong{font-weight:650;color:#e6ebfff2}.np-preview em{font-style:italic;color:#c8d2ebcc}.np-preview code{background:#00bcd41a;color:#a0afffe6;padding:2px 6px;border-radius:4px;font-size:11.5px;font-family:JetBrains Mono,monospace}.np-preview .cb-row{display:flex;align-items:baseline;gap:8px;margin:2px 0}.np-preview .cb-done{text-decoration:line-through;color:#a0acd261}.np-preview .cb-open{color:#dce1f0d9}.np-preview .cb-check{font-size:13px;flex-shrink:0}.np-preview .cb-check.done{color:#4ade80}.np-preview .cb-check.open{color:#ffffff38}.np-preview .li-row{display:flex;gap:8px;margin:1px 0}.np-preview .li-dot{color:#00bcd499;flex-shrink:0;margin-top:2px;font-size:10px}.np-preview .np-tag-inline{background:#00bcd41f;color:#8c9bffd1;padding:1px 6px;border-radius:4px;font-size:11px;font-weight:550}.np-preview hr{border:none;border-top:1px solid rgba(255,255,255,.07);margin:14px 0}.np-no-note{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:#a0acd24d}.np-no-note p{font-size:12px;margin:0}.np-no-note-btn{display:flex;align-items:center;gap:7px;padding:8px 16px;border-radius:8px;border:1px solid rgba(255,255,255,.07);background:#ffffff08;color:#b4bed7a6;font-size:12px;font-family:inherit;cursor:pointer;transition:background 80ms ease,color 80ms ease,border-color 80ms ease}.np-no-note-btn:hover{background:#00bcd417;color:#a0afffe6;border-color:#00bcd44d}.ri-root{position:absolute;right:0;top:0;bottom:0;width:240px;background:#fff;border-left:1px solid rgba(0,0,0,.09);display:flex;flex-direction:column;z-index:50;overflow:hidden;box-shadow:-2px 0 12px #0000000d;transition:width .2s cubic-bezier(.22,1,.36,1);user-select:none}.ri-root--collapsed{width:28px;border-left:1px solid rgba(0,0,0,.09);align-items:center;padding-top:12px}.ri-header{display:flex;align-items:center;justify-content:space-between;height:40px;padding:0 10px 0 14px;border-bottom:1px solid rgba(0,0,0,.07);flex-shrink:0}.ri-header-title{font-size:12px;font-weight:600;color:#111827;letter-spacing:-.01em;font-family:var(--font-ui, system-ui, sans-serif);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ri-collapse-btn{width:24px;height:24px;border-radius:5px;border:none;background:transparent;color:#6b7280;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background 80ms ease,color 80ms ease}.ri-collapse-btn:hover{background:#0000000f;color:#111827}.ri-scroll{flex:1;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.12) transparent}.ri-scroll::-webkit-scrollbar{width:3px}.ri-scroll::-webkit-scrollbar-track{background:transparent}.ri-scroll::-webkit-scrollbar-thumb{background:#0000001f;border-radius:99px}.ri-empty{padding:32px 16px;text-align:center;color:#9ca3af;font-size:12px;line-height:1.6;font-family:var(--font-ui, system-ui, sans-serif)}.ri-section{border-bottom:1px solid rgba(0,0,0,.06)}.ri-section-head{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0 12px;height:32px;background:transparent;border:none;cursor:pointer;transition:background 80ms ease;color:#374151}.ri-section-head:hover{background:#00000008}.ri-section-title{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#6b7280;font-family:var(--font-ui, system-ui, sans-serif)}.ri-section-body{padding:8px 12px 12px;display:flex;flex-direction:column;gap:6px}.ri-2col{display:grid;grid-template-columns:1fr 1fr;gap:5px}.ri-num-row{display:flex;align-items:center;gap:5px;height:28px}.ri-num-label{width:26px;flex-shrink:0;font-size:11px;color:#6b7280;font-family:var(--font-ui, system-ui, sans-serif);display:flex;align-items:center;justify-content:center}.ri-axis{font-size:10px;font-weight:700;color:#9ca3af;letter-spacing:.03em;font-family:var(--font-ui, system-ui, sans-serif)}.ri-num-input-wrap{flex:1;position:relative;display:flex;align-items:center}.ri-num-input{width:100%;height:26px;padding:0 6px;border-radius:5px;border:1px solid rgba(0,0,0,.1);background:#f8fafc;color:#111827;font-size:12px;font-family:var(--font-ui, system-ui, sans-serif);text-align:right;outline:none;transition:border-color 80ms ease,background 80ms ease;-moz-appearance:textfield}.ri-num-input:focus{border-color:#00bcd4;background:#fff;outline:none}.ri-num-input:hover:not(:focus){border-color:#0000002e}.ri-num-unit{position:absolute;right:6px;font-size:10px;color:#9ca3af;pointer-events:none;font-family:var(--font-ui, system-ui, sans-serif)}.ri-row-spaced{display:flex;align-items:center;gap:6px}.ri-btn-row{display:flex;gap:5px}.ri-text-btn{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 9px;border-radius:5px;border:1px solid rgba(0,0,0,.09);background:#00000008;color:#374151;font-size:12px;font-family:var(--font-ui, system-ui, sans-serif);cursor:pointer;transition:background 80ms ease,border-color 80ms ease,color 80ms ease;flex:1;justify-content:center}.ri-text-btn:hover{background:#0000000f;border-color:#00000024}.ri-text-btn.is-active{background:#00bcd417;border-color:#00bcd440;color:#00bcd4}.ri-text-btn--wide{flex:1}.ri-icon-btn{width:26px;height:26px;border-radius:5px;border:1px solid rgba(0,0,0,.09);background:#00000008;color:#6b7280;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background 80ms ease,color 80ms ease,border-color 80ms ease}.ri-icon-btn:hover{background:#0000000f;color:#374151}.ri-icon-btn.is-active{background:#00bcd417;border-color:#00bcd440;color:#00bcd4}.ri-icon-btn:disabled{opacity:.35;cursor:not-allowed}.ri-color-row{display:flex;align-items:center;justify-content:space-between;gap:8px;height:28px}.ri-color-label{font-size:12px;color:#6b7280;flex-shrink:0;font-family:var(--font-ui, system-ui, sans-serif);min-width:44px}.ri-color-input-group{display:flex;align-items:center;gap:5px;flex:1;justify-content:flex-end}.ri-color-swatch-label{position:relative;cursor:pointer;flex-shrink:0}.ri-color-native{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.ri-color-swatch{display:block;width:20px;height:20px;border-radius:4px;border:1px solid rgba(0,0,0,.14);flex-shrink:0;transition:border-color 80ms}.ri-color-swatch-label:hover .ri-color-swatch{border-color:#00000047}.ri-color-hex{width:72px;height:24px;border-radius:5px;border:1px solid rgba(0,0,0,.1);background:#f8fafc;color:#111827;font-size:11px;font-family:ui-monospace,Cascadia Code,monospace;padding:0 6px;text-align:right;outline:none;transition:border-color 80ms ease}.ri-color-hex:focus{border-color:#00bcd4;background:#fff}.ri-opacity-row{display:flex;align-items:center;gap:8px;height:28px}.ri-opacity-group{display:flex;align-items:center;gap:6px;flex:1;justify-content:flex-end}.ri-opacity-slider{flex:1;-webkit-appearance:none;appearance:none;height:3px;border-radius:99px;background:linear-gradient(to right,#00bcd4 0% calc(var(--val, 100) * 1%),#0000001f calc(var(--val, 100) * 1%) 100%);outline:none;cursor:pointer;max-width:80px}.ri-opacity-slider::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:#00bcd4;border:2px solid #fff;box-shadow:0 0 0 1px #00bcd459;cursor:pointer}.ri-opacity-value{font-size:11px;color:#374151;font-variant-numeric:tabular-nums;min-width:32px;text-align:right;font-family:var(--font-ui, system-ui, sans-serif)}.ri-segmented{display:flex;gap:2px;background:#0000000d;border-radius:6px;padding:2px}.ri-segmented--full{width:100%}.ri-seg-btn{flex:1;height:22px;border-radius:4px;border:none;background:transparent;color:#6b7280;font-size:11px;font-family:ui-monospace,Cascadia Code,monospace;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 80ms ease,color 80ms ease}.ri-seg-btn:hover{background:#0000000f;color:#374151}.ri-seg-btn.is-active{background:#fff;color:#00bcd4;box-shadow:0 1px 3px #0000001a}.ri-bold-row{display:flex;gap:2px}.ri-fmt-btn{width:26px;height:26px;border-radius:5px;border:1px solid rgba(0,0,0,.09);background:#00000008;color:#374151;font-size:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background 80ms ease,color 80ms ease,border-color 80ms ease}.ri-fmt-btn:hover{background:#00000012}.ri-fmt-btn.is-active{background:#00bcd41a;border-color:#00bcd440;color:#00bcd4}.ri-info-row{display:flex;align-items:center;gap:8px;height:24px}.ri-info-label{font-size:11px;color:#9ca3af;min-width:56px;flex-shrink:0;font-family:var(--font-ui, system-ui, sans-serif)}.ri-info-value{font-size:11px;color:#374151;flex:1;overflow:hidden;font-family:var(--font-ui, system-ui, sans-serif)}.ri-info-value--mono{font-family:ui-monospace,Cascadia Code,monospace}.ri-info-value--ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ri-page-ctrl{display:flex;align-items:center;gap:6px}.ri-page-num{font-size:12px;color:#374151;font-variant-numeric:tabular-nums;font-family:var(--font-ui, system-ui, sans-serif);min-width:44px;text-align:center}.ri-multi-hint{display:flex;flex-direction:column}.ri-multi-count{display:block;font-size:11px;color:#9ca3af;padding:10px 14px 4px;font-family:var(--font-ui, system-ui, sans-serif)}@media(max-width:768px){.ri-root{display:none}}.left-tool-dock{position:absolute;left:10px;top:50%;transform:translateY(-50%);z-index:60;width:52px;border-radius:16px;border:1px solid rgba(0,0,0,.07);background:#fff;box-shadow:0 1px 4px #00000012,0 4px 24px #0000000f;padding:6px;display:flex;flex-direction:column;gap:1px;animation:dock-enter .28s cubic-bezier(.22,1,.36,1) both}@keyframes dock-enter{0%{opacity:0;transform:translateY(-50%) translate(-6px)}to{opacity:1;transform:translateY(-50%) translate(0)}}.left-tool-tooltip-shell{position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%);pointer-events:none;z-index:400;white-space:nowrap}.left-tool-tooltip{background:#1f2937;border:1px solid rgba(255,255,255,.08);border-radius:7px;padding:5px 9px;font-size:12px;color:#f9fafb;font-weight:500;box-shadow:0 4px 14px #00000040;display:flex;align-items:center;gap:7px;letter-spacing:-.005em;font-family:var(--font-ui, system-ui, -apple-system, sans-serif)}.left-tool-tooltip-kbd{font-size:10px;padding:2px 5px;border-radius:4px;background:#ffffff1f;border:1px solid rgba(255,255,255,.15);color:#ffffff80;font-family:inherit;line-height:1.4}.left-tool-divider{height:1px;background:#00000014;margin:3px 4px;flex-shrink:0}.left-tool-btn-wrap{position:relative}.left-tool-btn{width:42px;height:42px;border-radius:10px;border:1px solid transparent;background:transparent;color:#6b7280;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background 90ms ease,color 90ms ease,border-color 90ms ease;flex-shrink:0;position:relative}.left-tool-btn:focus-visible{outline:2px solid rgba(0,188,212,.55);outline-offset:2px}.left-tool-btn:hover{background:#0000000e;color:#374151}.left-tool-btn:disabled{opacity:.35;cursor:not-allowed}.left-tool-btn:disabled:hover{background:transparent;color:#6b7280}.left-tool-btn.is-active{background:#00bcd41a;border-color:#00bcd442;color:#0097a7}.left-tool-btn:active{transform:scale(.91)}.left-tool-btn-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.left-tool-btn-label,.left-tool-btn-shortcut{display:none}.left-tool-mini-row{display:flex;gap:1px;margin-bottom:1px}.left-tool-mini-wrap{position:relative;flex:1}.left-tool-mini-btn{width:100%;height:34px;border-radius:7px;border:1px solid transparent;background:transparent;color:#9ca3af;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background 90ms ease,color 90ms ease}.left-tool-mini-btn:focus-visible{outline:2px solid rgba(0,188,212,.55);outline-offset:2px}.left-tool-mini-btn:hover{background:#0000000e;color:#374151}.left-tool-mini-btn:active{transform:scale(.92)}.left-tool-mini-label{display:none}
