.canvas-header{pointer-events:none;z-index:60;height:48px;animation:hb-enter .26s var(--ease-enter) both;justify-content:space-between;align-items:center;display:flex;position:absolute;top:16px;left:14px;right:14px}@keyframes hb-enter{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.canvas-header>*{pointer-events:auto}.hb-left{background:var(--canvas-panel-bg);border-radius:var(--r-sm);border:1px solid var(--border);height:44px;box-shadow:var(--shadow-sm);align-items:center;gap:0;padding:0 14px;display:inline-flex}.hb-app-btn{cursor:pointer;border-radius:var(--r-xs);height:36px;transition:background var(--motion-instant) ease;background:0 0;border:none;flex-shrink:0;align-items:center;gap:3px;padding:0 8px 0 2px;display:inline-flex}.hb-vdivider{background:var(--border);flex-shrink:0;width:1px;height:16px;margin:0 10px}.hb-name-btn{cursor:pointer;font-size:var(--fs-body);font-weight:var(--fw-medium);color:var(--text-primary);letter-spacing:-.01em;border-radius:var(--r-xs);white-space:nowrap;text-overflow:ellipsis;max-width:200px;height:32px;font-family:var(--font-ui);transition:background var(--motion-instant) ease;background:0 0;border:none;flex-shrink:0;align-items:center;padding:0 8px;display:inline-flex;overflow:hidden}.hb-name-btn:hover{background:var(--ui-control-bg-hover)}.hb-save-chip{border-radius:var(--r-full);height:24px;font-size:var(--fs-caption);font-weight:var(--fw-medium);letter-spacing:.01em;white-space:nowrap;font-family:var(--font-ui);flex-shrink:0;align-items:center;gap:4px;margin-left:2px;padding:0 7px;display:inline-flex}.hb-save-chip-label{line-height:1}@keyframes hb-chip-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.hb-icon-btn{border-radius:var(--r-xs);cursor:pointer;width:36px;height:36px;transition:background var(--motion-instant) ease;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.hb-icon-btn:hover{background:var(--ui-control-bg-hover)}.hb-icon-btn.is-active{background:var(--accent-soft)}.hb-icon-btn:disabled{opacity:.38;cursor:not-allowed}.hb-upgrade-btn{background:var(--ui-control-bg);border:1px solid var(--ui-control-border);border-radius:var(--r-xs);height:30px;font-size:var(--fs-ui);font-weight:var(--fw-medium);color:var(--text-secondary);cursor:pointer;white-space:nowrap;font-family:var(--font-ui);transition:background var(--motion-instant) ease, border-color var(--motion-instant) ease;flex-shrink:0;margin-left:4px;padding:0 11px}.hb-upgrade-btn:hover{background:var(--ui-control-bg-hover);border-color:var(--border-strong)}.hb-chevron{flex-shrink:0}.hb-right{background:var(--canvas-panel-bg);border-radius:var(--r-sm);border:1px solid var(--border);height:44px;box-shadow:var(--shadow-sm);align-items:center;gap:4px;padding:0 12px;display:inline-flex}.hb-avatar-btn{cursor:pointer;border-radius:var(--r-xs);height:36px;transition:background var(--motion-instant) ease;background:0 0;border:none;flex-shrink:0;align-items:center;gap:4px;padding:0 4px;display:inline-flex}.hb-avatar-btn:hover{background:var(--ui-control-bg-hover)}.hb-avatar-circle{background:var(--accent-soft);width:30px;height:30px;font-size:var(--fs-ui);font-weight:var(--fw-semibold);color:var(--accent);line-height:1;font-family:var(--font-ui);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.hb-present-btn{background:var(--ui-control-bg);border:1px solid var(--ui-control-border);border-radius:var(--r-xs);height:34px;font-size:var(--fs-body);font-weight:var(--fw-medium);color:var(--text-secondary);cursor:pointer;white-space:nowrap;font-family:var(--font-ui);transition:background var(--motion-instant) ease, border-color var(--motion-instant) ease;flex-shrink:0;align-items:center;gap:6px;padding:0 14px;display:inline-flex}.hb-present-btn:hover{background:var(--ui-control-bg-hover);border-color:var(--border-strong)}.hb-share-btn{background:var(--accent);border-radius:var(--r-xs);height:34px;font-size:var(--fs-body);font-weight:var(--fw-medium);color:var(--on-accent);cursor:pointer;white-space:nowrap;font-family:var(--font-ui);transition:background var(--motion-instant) ease, box-shadow var(--motion-instant) ease;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0 18px;display:inline-flex}.hb-share-btn:hover{background:var(--accent-hover);box-shadow:0 2px 8px var(--accent-glow)}.hb-share-btn:active{transform:scale(.97)}.header-more-menu{z-index:300;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-sm);min-width:210px;box-shadow:var(--shadow-md);animation:hb-menu-in .11s var(--ease-enter) both;flex-direction:column;gap:1px;padding:4px;display:flex;position:absolute;top:calc(100% + 6px);left:0}@keyframes hb-menu-in{0%{opacity:0;transform:translateY(-4px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.header-more-item{font-size:var(--fs-ui);font-weight:var(--fw-medium);color:var(--text-secondary);border-radius:var(--r-xs);cursor:pointer;text-align:left;white-space:nowrap;font-family:var(--font-ui);letter-spacing:-.005em;transition:background var(--motion-instant) ease;background:0 0;border:none;align-items:center;gap:9px;padding:7px 10px;display:flex}.header-more-item:hover{background:var(--nav-hover-bg);color:var(--text-primary)}.header-more-item:disabled{opacity:.38;cursor:not-allowed}.header-more-item>svg{color:var(--text-muted);flex-shrink:0}.header-more-item:hover>svg{color:var(--text-secondary)}.header-more-divider{background:var(--border);height:1px;margin:3px 4px}.zoom-hud{z-index:60;border-radius:var(--r-sm);border:1px solid var(--canvas-panel-border);background:var(--canvas-panel-bg);height:38px;box-shadow:var(--shadow-sm);align-items:center;padding:0 2px;display:inline-flex;position:absolute;bottom:16px;right:16px}.zoom-hud-btn{border-radius:var(--r-xs);width:34px;height:34px;color:var(--canvas-panel-text-muted);cursor:pointer;font-size:var(--fs-body);font-weight:var(--fw-medium);transition:background var(--motion-instant) ease, color var(--motion-instant) ease;background:0 0;border:none;justify-content:center;align-items:center;display:flex}.zoom-hud-btn:hover{background:var(--canvas-btn-bg-hover);color:var(--canvas-panel-text)}.zoom-hud-value{border-radius:var(--r-xs);background:var(--canvas-btn-bg);min-width:48px;height:34px;color:var(--canvas-panel-text-muted);font-size:var(--fs-ui);font-weight:var(--fw-semibold);cursor:pointer;font-family:var(--font-ui);letter-spacing:-.01em;transition:background var(--motion-instant) ease, color var(--motion-instant) ease;border:none;justify-content:center;align-items:center;padding:0 6px;display:flex}.zoom-hud-value:hover{background:var(--canvas-btn-bg-hover);color:var(--canvas-panel-text)}.header-left,.header-right{display:none}.header-btn{border-radius:var(--r-xs);min-width:34px;height:34px;color:var(--text-secondary);font-size:var(--fs-ui);font-weight:var(--fw-medium);white-space:nowrap;cursor:pointer;transition:background var(--motion-instant) ease, color var(--motion-instant) ease;font-family:var(--font-ui);background:0 0;border:1px solid #0000;flex-shrink:0;align-items:center;gap:5px;padding:0 8px;display:inline-flex}.header-btn:hover{background:var(--ui-control-bg-hover);color:var(--text-primary)}.header-btn:active{transform:scale(.97)}.header-btn:disabled{opacity:.38;cursor:not-allowed}.header-btn--active{background:var(--accent-soft);color:var(--accent)}.header-btn>svg{color:var(--text-muted);flex-shrink:0}.header-btn:hover>svg{color:var(--text-secondary)}.header-btn--icon{justify-content:center;width:34px;padding:0}.header-divider{background:var(--border);flex-shrink:0;width:1px;height:16px;margin:0 4px;display:inline-block}.settings-backdrop{z-index:110;background:var(--bg-overlay);place-items:center;padding:12px;animation:.16s both hb-fade;display:grid;position:fixed;top:0;bottom:0;left:0;right:0;overflow:auto}@keyframes hb-fade{0%{opacity:0}to{opacity:1}}.modal-backdrop{background:var(--bg-overlay);z-index:200;place-items:center;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.upgrade-modal{border-radius:var(--r-xl);border:1px solid var(--border);background:var(--bg-elevated);width:min(460px,100vw - 2rem);box-shadow:var(--shadow-lg);padding:var(--space-6) 22px var(--space-5);gap:14px;display:grid}.upgrade-modal h2{font-size:var(--fs-title);font-weight:var(--fw-semibold);color:var(--text-primary);letter-spacing:var(--ls-tight)}.upgrade-modal p{font-size:var(--fs-ui);color:var(--text-secondary);line-height:var(--lh-text)}.upgrade-modal-icon{border-radius:var(--r-lg);background:var(--warning-soft);border:1px solid color-mix(in srgb, var(--warning) 25%, transparent);justify-content:center;align-items:center;width:48px;height:48px;display:flex}.upgrade-feature-list{gap:7px;display:grid}.upgrade-feature-item{font-size:var(--fs-ui);color:var(--text-secondary);align-items:center;gap:9px;display:flex}.upgrade-feature-item svg{color:var(--success);flex-shrink:0}.upgrade-modal-actions{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.upgrade-cta-btn{border-radius:var(--r-sm);background:var(--accent);height:38px;color:var(--on-accent);font-size:var(--fs-ui);font-weight:var(--fw-semibold);cursor:pointer;transition:filter var(--motion-fast) ease, transform var(--motion-fast) ease;border:none;justify-content:center;align-items:center;gap:6px;display:flex}.upgrade-cta-btn:hover{background:var(--accent-hover)}.upgrade-cancel-btn{border-radius:var(--r-sm);border:1px solid var(--ui-control-border);background:var(--ui-control-bg);height:38px;color:var(--text-secondary);font-size:var(--fs-ui);cursor:pointer;transition:background var(--motion-instant) var(--ease-standard)}.upgrade-cancel-btn:hover{background:var(--ui-control-bg-hover);color:var(--text-primary)}.auth-backdrop{background:var(--bg-overlay);z-index:500;place-items:center;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.auth-card{border-radius:var(--r-xl);border:1px solid var(--border);background:var(--bg-elevated);width:min(380px,100vw - 2rem);box-shadow:var(--shadow-lg);overflow:hidden}.auth-card-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:18px 18px 13px;display:flex}.auth-card-head h3{font-size:var(--fs-body);font-weight:var(--fw-semibold);color:var(--text-primary)}.auth-card-body{gap:9px;padding:14px 18px;display:grid}.auth-input{border-radius:var(--r-xs);border:1px solid var(--ui-control-border);background:var(--ui-control-bg);width:100%;height:36px;color:var(--text-primary);font-size:var(--fs-ui);transition:border-color var(--motion-fast) var(--ease-standard);padding:0 12px}.auth-input::placeholder{color:var(--text-muted)}.auth-input:focus{border-color:var(--accent);background:0 0;outline:none}.auth-primary-btn{border-radius:var(--r-sm);background:var(--accent);height:36px;color:var(--on-accent);font-size:var(--fs-ui);font-weight:var(--fw-semibold);cursor:pointer;transition:background var(--motion-fast) var(--ease-standard);border:none}.auth-primary-btn:hover{background:var(--accent-hover)}.auth-primary-btn:disabled{opacity:.5;cursor:not-allowed}.auth-card-footer{border-top:1px solid var(--border);justify-content:center;padding:9px 18px 14px;display:flex}.launch-overlay{background:var(--bg-overlay);z-index:400;place-items:center;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.launch-card{border-radius:var(--r-xl);border:1px solid var(--border);background:var(--bg-elevated);width:290px;box-shadow:var(--shadow-lg);text-align:center;gap:12px;padding:22px 18px;display:grid}.launch-card h3{font-size:var(--fs-body);font-weight:var(--fw-semibold);color:var(--text-primary)}.launch-card p{font-size:var(--fs-meta);color:var(--text-muted)}.launch-card span{font-size:var(--fs-meta);color:var(--text-secondary)}.launch-progress-track{border-radius:var(--r-full);background:var(--ui-control-bg-hover);width:100%;height:3px;overflow:hidden}.launch-progress-fill{border-radius:var(--r-full);background:var(--accent);height:100%;transition:width var(--motion-modal) ease;position:relative;overflow:hidden}.launch-progress-fill:after{content:"";background:linear-gradient(90deg, transparent 0%, color-mix(in srgb, var(--on-accent) 35%, transparent) 50%, transparent 100%);animation:1.4s ease-in-out infinite hb-shimmer;position:absolute;top:0;bottom:0;left:0;right:0}@keyframes hb-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.notice-bar{border-radius:var(--r-xs);border:1px solid var(--border);background:var(--ui-surface-bg-soft);font-size:var(--fs-meta);color:var(--text-secondary);margin-bottom:12px;padding:8px 12px;line-height:1.4}.chat-header-badge{border-radius:var(--r-full);background:var(--danger);min-width:14px;height:14px;color:var(--on-accent);font-size:var(--fs-caption);font-weight:var(--fw-semibold);border:1.5px solid var(--canvas-panel-bg);pointer-events:none;justify-content:center;align-items:center;padding:0 3px;display:flex;position:absolute;top:2px;right:2px}.header-live-chip{border-radius:var(--r-full);height:18px;font-size:var(--fs-caption);font-weight:var(--fw-semibold);letter-spacing:.04em;background:var(--ui-control-bg);border:1px solid var(--border);color:var(--text-secondary);align-items:center;gap:5px;padding:0 7px;display:inline-flex}.header-live-chip--active{background:var(--success-soft);border-color:color-mix(in srgb, var(--success) 28%, transparent);color:var(--success)}.header-live-dot{background:currentColor;border-radius:50%;width:5px;height:5px;animation:1.2s ease-in-out infinite hb-blink}@keyframes hb-blink{0%,to{opacity:1}50%{opacity:.38}}.header-video-wrap{align-items:center;gap:4px;display:inline-flex;position:relative}.header-btn-spinner{border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;width:12px;height:12px;animation:.8s linear infinite hb-spin}@keyframes hb-spin{to{transform:rotate(360deg)}}@media (max-width:768px){.canvas-header{top:8px;left:8px;right:8px}.hb-upgrade-btn{display:none}}@media (max-width:760px){.canvas-header{flex-wrap:wrap;justify-content:flex-start;align-items:flex-start;gap:6px;max-width:calc(100vw - 16px);height:auto;display:flex}.hb-left,.hb-right{flex:0 auto;min-width:0;max-width:calc(100vw - 16px)}.hb-left{overflow:hidden}.hb-right{flex-wrap:wrap;height:auto;min-height:40px}.hb-name-btn{min-width:0;max-width:clamp(56px,24vw,100px)}.hb-vdivider{margin:0 6px}.hb-share-btn{min-width:44px;padding:0 10px}}@media (max-width:520px){.hb-present-btn span,.hb-name-btn{max-width:100px}}@media (max-width:640px){.hb-present-btn{display:none}}@media (max-width:480px){.hb-share-btn{font-size:var(--fs-ui);padding:0 10px}.hb-left,.hb-right{height:40px;padding:0 8px}.canvas-header{top:6px}}.ai-wizard-card-body{flex:1;padding:28px 32px;display:flex;overflow:hidden auto}.ai-wizard-card-body::-webkit-scrollbar{width:4px}.ai-wizard-card-body::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--r-full)}.ai-wizard-card-footer{border-top:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.ai-wiz-step{text-align:center;flex-direction:column;align-items:center;gap:20px;width:100%;display:flex}.ai-wiz-step--done{padding:8px 0}.ai-wiz-step-header{text-align:left;flex-direction:column;gap:6px;width:100%;display:flex}.ai-wiz-step-provider-row{align-items:center;gap:10px;display:flex}.ai-wiz-step-title{font-size:var(--fs-subtitle);font-weight:var(--fw-semibold);color:var(--text-primary);letter-spacing:-.025em;font-family:var(--font-ui,"DM Sans", system-ui, sans-serif);margin:0}.ai-wiz-step-sub{font-size:var(--fs-ui);color:var(--text-secondary);line-height:1.55;font-family:var(--font-ui,"DM Sans", system-ui, sans-serif);margin:0}.ai-wiz-btn-primary{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-hover) 100%);border-radius:var(--r-md);height:42px;font-size:var(--fs-body);font-weight:var(--fw-semibold);color:var(--on-accent);cursor:pointer;font-family:var(--font-ui,"DM Sans", system-ui, sans-serif);letter-spacing:-.01em;transition:filter var(--motion-instant) ease, transform var(--motion-instant) ease, box-shadow var(--motion-instant) ease;border:none;justify-content:center;align-items:center;gap:7px;padding:0 22px;display:inline-flex}.ai-wiz-btn-primary:hover{filter:brightness(1.08);box-shadow:0 4px 16px color-mix(in srgb, var(--accent) 38%, transparent)}.ai-wiz-btn-primary:active{transform:scale(.97)}.ai-wiz-btn-primary:disabled{opacity:.42;cursor:not-allowed;filter:none;transform:none}.ai-wiz-btn-ghost{border:1px solid var(--border-strong);border-radius:var(--r-sm);height:38px;font-size:var(--fs-ui);font-weight:var(--fw-medium);color:var(--text-secondary);cursor:pointer;font-family:var(--font-ui,"DM Sans", system-ui, sans-serif);transition:background var(--motion-instant) ease, border-color var(--motion-instant) ease, color var(--motion-instant) ease;background:0 0;align-items:center;gap:6px;padding:0 14px;display:inline-flex}.ai-wiz-btn-ghost:hover{background:var(--ui-control-bg-hover);border-color:var(--border-strong);color:var(--text-primary)}.ai-wiz-hero{justify-content:center;align-items:center;width:80px;height:80px;margin-bottom:4px;display:flex;position:relative}.ai-wiz-hero-icon{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-hover) 100%);width:76px;height:76px;color:var(--on-accent);box-shadow:0 8px 24px color-mix(in srgb, var(--accent) 38%, transparent);z-index:1;border-radius:22px;justify-content:center;align-items:center;display:flex;position:relative}.ai-wiz-hero-glow{background:radial-gradient(circle, color-mix(in srgb, var(--accent) 22%, transparent) 0%, transparent 70%);pointer-events:none;border-radius:50%;position:absolute;top:-12px;bottom:-12px;left:-12px;right:-12px}.ai-wiz-hero-title{font-size:var(--fs-headline);font-weight:var(--fw-semibold);color:var(--text-primary);letter-spacing:-.04em;font-family:var(--font-ui,"DM Sans", system-ui, sans-serif);margin:0}.ai-wiz-hero-body{font-size:var(--fs-body);color:var(--text-secondary);max-width:380px;line-height:1.65;font-family:var(--font-ui,"DM Sans", system-ui, sans-serif);margin:0}.ai-wiz-feature-row{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.ai-wiz-feature-chip{background:color-mix(in srgb, var(--accent) 7%, transparent);border:1px solid color-mix(in srgb, var(--accent) 18%, transparent);border-radius:var(--r-full);height:30px;font-size:var(--fs-meta);font-weight:var(--fw-medium);color:var(--accent);font-family:var(--font-ui,"DM Sans", system-ui, sans-serif);align-items:center;gap:6px;padding:0 12px;display:inline-flex}.ai-wiz-note{font-size:var(--fs-meta);color:var(--text-muted);font-family:var(--font-ui,"DM Sans", system-ui, sans-serif);margin:-8px 0 0}.ai-provider-grid{grid-template-columns:1fr 1fr;gap:10px;width:100%;display:grid}.ai-provider-card{background:var(--ui-control-bg);border:1.5px solid var(--border);border-radius:var(--r-lg);cursor:pointer;text-align:left;transition:border-color var(--motion-fast) ease, background var(--motion-fast) ease, box-shadow var(--motion-fast) ease;font-family:var(--font-ui,"DM Sans", system-ui, sans-serif);align-items:center;gap:12px;padding:14px 16px;display:flex;position:relative}.ai-provider-card:hover{border-color:var(--provider-color,var(--accent));background:var(--ui-control-bg-hover);box-shadow:var(--shadow-sm)}.ai-provider-card.is-selected{border-color:var(--provider-color,var(--accent));background:var(--ui-control-bg-hover);box-shadow:0 0 0 3px color-mix(in srgb, var(--provider-color,var(--accent)) 18%, transparent)}.ai-provider-badge{background:linear-gradient(135deg, var(--accent), var(--accent-hover));border-radius:0 0 var(--r-xs) var(--r-xs);height:18px;font-size:9.5px;font-weight:var(--fw-semibold);color:var(--on-accent);letter-spacing:.02em;font-family:var(--font-ui,system-ui, sans-serif);align-items:center;padding:0 7px;display:flex;position:absolute;top:-1px;right:10px}.ai-provider-badge--local{background:linear-gradient(135deg, var(--success), color-mix(in srgb, var(--success) 78%, #000))}.ai-provider-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ai-provider-name{font-size:var(--fs-ui);font-weight:var(--fw-semibold);color:var(--text-primary);letter-spacing:-.01em}.ai-provider-tagline{font-size:var(--fs-caption);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ai-provider-check{background:var(--provider-color,var(--accent));width:20px;height:20px;color:var(--on-accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.ai-config-block{flex-direction:column;gap:7px;width:100%;display:flex}.ai-config-label{font-size:var(--fs-ui);font-weight:var(--fw-semibold);color:var(--text-secondary);font-family:var(--font-ui,system-ui, sans-serif);align-items:center;gap:6px;display:flex}.ai-config-required{font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--danger);background:var(--danger-soft);border:1px solid color-mix(in srgb, var(--danger) 30%, transparent);border-radius:var(--r-full);letter-spacing:.02em;padding:1px 6px}.ai-config-optional{font-size:var(--fs-caption);font-weight:var(--fw-medium);color:var(--text-muted);background:var(--ui-control-bg);border-radius:var(--r-full);padding:1px 6px}.ai-config-input-wrap{align-items:center;display:flex;position:relative}.ai-config-input{border-radius:var(--r-sm);border:1.5px solid var(--border);background:var(--ui-control-bg);width:100%;height:40px;font-size:var(--fs-ui);color:var(--text-primary);font-family:var(--font-ui,"DM Sans", monospace);transition:border-color var(--motion-fast) ease, background var(--motion-fast) ease, box-shadow var(--motion-fast) ease;letter-spacing:.03em;padding:0 38px 0 13px}.ai-config-input:focus{border-color:color-mix(in srgb, var(--accent) 50%, transparent);background:var(--ui-control-bg-hover);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 10%, transparent);outline:none}.ai-config-eye{cursor:pointer;width:24px;height:24px;color:var(--text-muted);border-radius:var(--r-xs);transition:color var(--motion-instant) ease;background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;right:10px}.ai-config-eye:hover{color:var(--text-secondary)}.ai-config-hint{font-size:var(--fs-meta);color:var(--text-muted);font-family:var(--font-ui,system-ui, sans-serif);flex-wrap:wrap;align-items:center;gap:4px;display:flex}.ai-config-link{color:var(--accent);cursor:pointer;font-weight:500}.ai-config-hint-url{display:none}.ai-local-info{background:var(--success-soft);border:1px solid color-mix(in srgb, var(--success) 30%, transparent);border-radius:var(--r-md);text-align:left;flex-direction:column;gap:8px;width:100%;padding:14px 16px;display:flex}.ai-local-info-item{font-size:var(--fs-meta);color:var(--text-secondary);font-family:var(--font-ui,system-ui, sans-serif);align-items:flex-start;gap:10px;line-height:1.4;display:flex}.ai-local-dot{background:var(--success);border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-top:4px}.ai-model-list{flex-direction:column;gap:6px;width:100%;display:flex}.ai-model-row{background:var(--ui-control-bg);border:1.5px solid var(--border);border-radius:var(--r-md);cursor:pointer;text-align:left;transition:border-color var(--motion-instant) ease, background var(--motion-instant) ease;font-family:var(--font-ui,"DM Sans", system-ui, sans-serif);justify-content:space-between;align-items:center;padding:13px 16px;display:flex}.ai-model-row:hover{border-color:color-mix(in srgb, var(--accent) 45%, transparent);background:var(--ui-control-bg-hover)}.ai-model-row.is-selected{border-color:var(--accent);background:var(--ui-control-bg-hover);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 10%, transparent)}.ai-model-row-left{flex-direction:column;gap:2px;display:flex}.ai-model-row-right{align-items:center;gap:8px;display:flex}.ai-model-name{font-size:var(--fs-ui);font-weight:var(--fw-semibold);color:var(--text-primary);letter-spacing:-.01em}.ai-model-context{font-size:var(--fs-caption);color:var(--text-muted)}.ai-model-badge{border-radius:var(--r-full);height:20px;font-size:10.5px;font-weight:var(--fw-semibold);font-family:var(--font-ui,system-ui, sans-serif);border:1px solid;align-items:center;padding:0 7px;display:inline-flex}.ai-model-check{background:var(--accent);width:20px;height:20px;color:var(--on-accent);border-radius:50%;justify-content:center;align-items:center;display:flex}.ai-model-tip{background:color-mix(in srgb, var(--accent) 5%, transparent);border:1px solid color-mix(in srgb, var(--accent) 15%, transparent);border-radius:var(--r-sm);font-size:var(--fs-meta);color:var(--accent);text-align:left;width:100%;font-family:var(--font-ui,system-ui, sans-serif);align-items:center;gap:7px;padding:10px 14px;display:flex}.ai-test-summary{border:1px solid var(--border);border-radius:var(--r-md);flex-direction:column;gap:0;width:100%;display:flex;overflow:hidden}.ai-test-row{border-bottom:1px solid var(--border);font-family:var(--font-ui,system-ui, sans-serif);justify-content:space-between;align-items:center;padding:10px 15px;display:flex}.ai-test-row:last-child{border-bottom:none}.ai-test-label{font-size:var(--fs-meta);color:var(--text-muted);font-weight:var(--fw-medium)}.ai-test-value{font-size:var(--fs-ui);color:var(--text-primary);font-weight:var(--fw-semibold)}.ai-test-key{font-family:var(--font-mono);letter-spacing:.04em}.ai-test-state{width:100%;font-family:var(--font-ui,system-ui, sans-serif);flex-direction:column;align-items:center;gap:12px;padding:20px;display:flex}.ai-test-state>div:last-of-type:not(.ai-test-icon-wrap){flex-direction:column;align-items:center;gap:4px;display:flex}.ai-test-state strong{font-size:var(--fs-body);font-weight:var(--fw-semibold);color:var(--text-primary)}.ai-test-state span{font-size:var(--fs-ui);color:var(--text-secondary)}.ai-test-spinner{color:var(--accent)}.ai-test-icon-wrap{border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.ai-test-icon-wrap--success{background:var(--success-soft);color:var(--success)}.ai-test-icon-wrap--error{background:var(--danger-soft);color:var(--danger)}.ai-test-state--success strong{color:var(--success)}.ai-test-state--error strong{color:var(--danger)}.ai-test-retry{border:1px solid color-mix(in srgb, var(--danger) 35%, transparent);border-radius:var(--r-xs);height:30px;font-size:var(--fs-meta);font-weight:var(--fw-medium);color:var(--danger);cursor:pointer;font-family:var(--font-ui,system-ui, sans-serif);transition:background var(--motion-instant) ease;background:0 0;align-items:center;gap:5px;padding:0 12px;display:inline-flex}.ai-test-retry:hover{background:var(--danger-soft)}.ai-test-tips{background:var(--danger-soft);border:1px solid color-mix(in srgb, var(--danger) 18%, transparent);border-radius:var(--r-md);text-align:left;width:100%;padding:14px 16px}.ai-test-tips strong{font-size:var(--fs-meta);font-weight:var(--fw-semibold);color:var(--text-secondary);font-family:var(--font-ui,system-ui, sans-serif);margin-bottom:8px;display:block}.ai-test-tips ul{flex-direction:column;gap:5px;margin:0;padding-left:16px;display:flex}.ai-test-tips li{font-size:var(--fs-meta);color:var(--text-secondary);line-height:1.45;font-family:var(--font-ui,system-ui, sans-serif)}.ai-test-tips code{background:var(--ui-control-bg);border-radius:var(--r-xs);font-size:var(--fs-caption);font-family:var(--font-mono);padding:1px 5px}.ai-done-burst{pointer-events:none;width:1px;height:1px;position:relative}.ai-done-particle{background:var(--color,var(--accent));border-radius:50%;width:8px;height:8px;position:absolute;top:0;left:0}.ai-done-check{background:linear-gradient(135deg, var(--success) 0%, color-mix(in srgb, var(--success) 78%, #000) 100%);width:72px;height:72px;color:var(--on-accent);box-shadow:0 8px 24px color-mix(in srgb, var(--success) 35%, transparent);border-radius:50%;justify-content:center;align-items:center;display:flex}.ai-done-summary{background:var(--ui-control-bg);border:1px solid var(--border);border-radius:var(--r-lg);flex-direction:column;gap:8px;width:100%;padding:14px 20px;display:flex}.ai-done-summary-row{font-size:var(--fs-ui);font-family:var(--font-ui,system-ui, sans-serif);color:var(--text-secondary);align-items:center;gap:10px;display:flex}.hb-profile-menu{z-index:500;background:var(--canvas-panel-bg);border:1px solid var(--border);border-radius:var(--r-lg);width:232px;box-shadow:var(--shadow-lg);padding:4px;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.hb-pm-header{align-items:center;gap:10px;padding:12px 12px 10px;display:flex}.hb-pm-avatar{width:36px;height:36px;font-size:var(--fs-body);font-weight:var(--fw-semibold);color:var(--on-accent);font-family:var(--font-ui,"DM Sans", system-ui, sans-serif);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.hb-pm-user-info{flex-direction:column;gap:2px;min-width:0;display:flex}.hb-pm-name{font-size:var(--fs-ui);font-weight:var(--fw-semibold);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-family:var(--font-ui,"DM Sans", system-ui, sans-serif);letter-spacing:-.01em;overflow:hidden}.hb-pm-role{font-size:var(--fs-caption);color:var(--text-muted);text-transform:capitalize;font-family:var(--font-ui,"DM Sans", system-ui, sans-serif)}.hb-pm-divider{background:var(--border);height:1px;margin:3px 4px}.hb-pm-item{border-radius:var(--r-xs);cursor:pointer;width:100%;font-size:var(--fs-ui);font-weight:var(--fw-medium);color:var(--text-secondary);text-align:left;font-family:var(--font-ui,"DM Sans", system-ui, sans-serif);transition:background var(--motion-instant) ease, color var(--motion-instant) ease;background:0 0;border:none;align-items:center;gap:9px;padding:8px 10px;display:flex}.hb-pm-item:hover{background:var(--nav-hover-bg);color:var(--text-primary)}.hb-pm-item>svg{color:var(--text-muted);transition:color var(--motion-instant) ease;flex-shrink:0}.hb-pm-item:hover>svg{color:var(--text-secondary)}.hb-pm-item--danger{color:var(--danger)}.hb-pm-item--danger:hover{background:var(--danger-soft);color:var(--danger)}.hb-pm-item--danger>svg,.hb-pm-item--danger:hover>svg{color:var(--danger)}.hb-avatar-btn.is-active{background:var(--nav-hover-bg)}.hb-center{background:var(--canvas-panel-bg);border-radius:var(--r-sm);border:1px solid var(--border);height:44px;box-shadow:var(--shadow-md);pointer-events:auto;width:300px;transition:box-shadow var(--motion-fast) ease, border-color var(--motion-fast) ease, width var(--motion-base) ease;align-items:center;gap:0;padding:0 6px 0 12px;display:inline-flex;position:absolute;left:50%;transform:translate(-50%)}.hb-center:focus-within{border-color:color-mix(in srgb, var(--accent) 38%, transparent);width:360px;box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 10%, transparent), var(--shadow-sm)}.hb-search-icon{color:var(--text-muted);transition:color var(--motion-fast) ease;flex-shrink:0;margin-right:8px}.hb-center:focus-within .hb-search-icon{color:var(--accent)}.hb-search-input{font-size:var(--fs-ui);color:var(--text-primary);font-family:var(--font-ui,"DM Sans", system-ui, sans-serif);background:0 0;border:none;outline:none;flex:1;min-width:0}.hb-search-input::placeholder{color:var(--text-muted)}.hb-search-divider{background:var(--border);flex-shrink:0;width:1px;height:18px;margin:0 6px}.hb-ai-btn{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-hover) 100%);border-radius:var(--r-xs);height:30px;font-size:var(--fs-meta);font-weight:var(--fw-semibold);color:var(--on-accent);cursor:pointer;white-space:nowrap;font-family:var(--font-ui,"DM Sans", system-ui, sans-serif);letter-spacing:-.01em;transition:filter var(--motion-instant) ease, transform var(--motion-instant) ease, box-shadow var(--motion-instant) ease;border:none;flex-shrink:0;align-items:center;gap:5px;padding:0 11px;display:inline-flex}.hb-ai-btn:hover{filter:brightness(1.1);box-shadow:0 3px 10px color-mix(in srgb, var(--accent) 38%, transparent)}.hb-ai-btn:active{transform:scale(.95)}.hb-ai-btn--configured{background:linear-gradient(135deg, var(--success) 0%, color-mix(in srgb, var(--success) 78%, #000) 100%)}.hb-ai-btn--configured:hover{box-shadow:0 3px 10px color-mix(in srgb, var(--success) 35%, transparent)}.hb-search-popover{z-index:610;background:var(--canvas-panel-bg);border:1px solid var(--border);border-radius:var(--r-sm);box-shadow:var(--shadow-lg);flex-direction:column;gap:3px;padding:5px;display:flex;position:absolute;top:calc(100% + 8px);left:0;right:0}.hb-search-result{border-radius:var(--r-xs);width:100%;min-height:54px;color:var(--text-primary);cursor:pointer;text-align:left;font-family:var(--font-ui,"DM Sans", system-ui, sans-serif);background:0 0;border:0;grid-template-columns:1fr auto;gap:2px 10px;padding:8px 9px;display:grid}.hb-search-result:hover,.hb-search-result[data-active=true]{background:var(--accent-soft)}.hb-search-result-title{min-width:0;color:var(--text-primary);font-size:var(--fs-meta);font-weight:var(--fw-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hb-search-result-snippet{min-width:0;color:var(--text-secondary);font-size:var(--fs-caption);text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;line-height:1.35;overflow:hidden}.hb-search-result-meta{color:var(--text-secondary);font-size:10.5px;font-weight:var(--fw-semibold);text-transform:uppercase}.hb-search-status{color:var(--text-secondary);font-family:var(--font-ui,"DM Sans", system-ui, sans-serif);font-size:var(--fs-meta);font-weight:var(--fw-semibold);padding:12px 10px}@media (max-width:960px){.hb-center{width:220px}.hb-center:focus-within{width:260px}}@media (max-width:768px){.hb-center{display:none}}.ai-wizard-backdrop{background:var(--bg-overlay);z-index:9000;place-items:center;padding:20px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.ai-wizard-card{background:var(--bg-elevated);border-radius:var(--r-2xl);border:1px solid var(--border);width:min(560px,100%);box-shadow:var(--shadow-lg);flex-direction:column;max-height:calc(100vh - 40px);display:flex;overflow:hidden}.ai-wizard-card-header{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:12px;padding:14px 16px 14px 14px;display:flex}.ai-wizard-back,.ai-wizard-close{border-radius:var(--r-xs);cursor:pointer;width:30px;height:30px;color:var(--text-muted);transition:background var(--motion-instant) ease, color var(--motion-instant) ease;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.ai-wizard-back:hover,.ai-wizard-close:hover{background:var(--ui-control-bg-hover);color:var(--text-secondary)}.ai-wizard-progress{flex:1;justify-content:center;align-items:center;gap:0;display:flex}.ai-progress-step{align-items:center;gap:6px;display:flex;position:relative}.ai-progress-dot{border:1.5px solid var(--border-strong);background:var(--bg-elevated);width:20px;height:20px;font-size:9px;font-weight:var(--fw-semibold);color:var(--text-muted);transition:all var(--motion-base) ease;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.ai-progress-step.active .ai-progress-dot{border-color:var(--accent);background:var(--accent);color:var(--on-accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 15%, transparent)}.ai-progress-step.done .ai-progress-dot{border-color:var(--success);background:var(--success);color:var(--on-accent)}.ai-progress-label{font-size:var(--fs-caption);font-weight:var(--fw-medium);color:var(--text-muted);white-space:nowrap;font-family:var(--font-ui,system-ui, sans-serif)}.ai-progress-step.active .ai-progress-label{color:var(--accent);font-weight:var(--fw-semibold)}.ai-progress-step.done .ai-progress-label{color:var(--text-secondary)}.ai-progress-line{background:var(--border);width:24px;height:1.5px;transition:background var(--motion-base) ease;flex-shrink:0;margin:0 6px}.ai-progress-line.done{background:var(--success)}:root{--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:var(--ease-enter);--p-ease-smooth:var(--ease-standard);--p-shadow-xs:var(--shadow-sm);--p-shadow-sm:var(--shadow-sm);--p-shadow-md:var(--shadow-md);--p-shadow-lg:var(--shadow-lg);--p-shadow-xl:var(--shadow-lg);--p-accent-50:color-mix(in srgb, var(--accent) 5%, transparent);--p-accent-100:color-mix(in srgb, var(--accent) 10%, transparent);--p-accent-200:color-mix(in srgb, var(--accent) 18%, transparent);--p-accent-300:color-mix(in srgb, var(--accent) 30%, transparent);--p-accent-400:color-mix(in srgb, var(--accent) 50%, transparent);--p-accent-500:var(--accent);--p-accent-600:var(--accent-hover);--p-accent-700:color-mix(in srgb, var(--accent) 60%, black);--p-green:var(--success);--p-yellow:var(--warning);--p-red:var(--danger);--p-blue:var(--accent);--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)}.p-card--glass{background:var(--canvas-panel-bg);border:1px solid var(--p-border-1);box-shadow:var(--p-shadow-md)}.p-btn{border-radius:var(--r-md);height:32px;font-size:var(--p-text-sm);font-weight:var(--p-weight-semibold);letter-spacing:var(--p-tracking-normal);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);-webkit-user-select:none;user-select:none;border:none;justify-content:center;align-items:center;gap:6px;padding:0 12px;line-height:1;display:inline-flex}.p-btn:active{transform:translateY(1px)scale(.985)}.p-btn:disabled{opacity:.4;pointer-events:none}.p-btn--primary{background:var(--accent-primary);color:var(--on-accent);box-shadow:var(--shadow-sm), 0 0 0 0 var(--p-accent-300)}.p-btn--primary:hover{background:var(--accent-hover);box-shadow:var(--shadow-md), 0 0 0 3px var(--p-accent-100)}.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{color:var(--text-secondary);background:0 0;border:none}.p-btn--ghost:hover{background:var(--ui-control-bg-hover);color:var(--text-primary)}.p-btn--danger{background:var(--danger-soft);color:var(--danger);border:1px solid color-mix(in srgb, var(--danger) 22%, transparent)}.p-btn--danger:hover{background:color-mix(in srgb, var(--danger) 20%, transparent);border-color:color-mix(in srgb, var(--danger) 35%, transparent)}.p-btn--sm{height:26px;font-size:var(--p-text-xs);border-radius:var(--r-sm);gap:4px;padding:0 8px}.p-input{border-radius:var(--r-md);background:var(--ui-control-bg);border:1px solid var(--p-border-1);height:32px;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);padding:0 10px}.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:var(--p-accent-50);box-shadow:0 0 0 3px var(--p-accent-100);outline:none}.p-badge{border-radius:var(--r-full);height:18px;font-size:var(--p-text-2xs);font-weight:var(--p-weight-semibold);letter-spacing:var(--p-tracking-wide);white-space:nowrap;align-items:center;gap:4px;padding:0 6px;display:inline-flex}.p-badge--accent{background:var(--p-accent-100);color:var(--accent-primary);border:1px solid var(--p-accent-200)}.p-badge--green{background:var(--success-soft);color:var(--success);border:1px solid color-mix(in srgb, var(--success) 20%, transparent)}.p-badge--yellow{background:var(--warning-soft);color:var(--warning);border:1px solid color-mix(in srgb, var(--warning) 20%, transparent)}.p-badge--red{background:var(--danger-soft);color:var(--danger);border:1px solid color-mix(in srgb, var(--danger) 20%, transparent)}.p-badge--pro{background:linear-gradient(135deg, color-mix(in srgb, var(--warning) 14%, transparent), color-mix(in srgb, var(--warning) 14%, transparent));color:var(--pro-gold);border:1px solid color-mix(in srgb, var(--warning) 22%, transparent)}.p-divider{background:var(--p-border-0);border:none;height:1px;margin:0}.p-divider--v{background:var(--p-border-0);align-self:stretch;width:1px;height:auto}.s-command-backdrop{z-index:var(--z-modal);background:var(--bg-overlay);place-items:start center;padding-top:clamp(80px,12vh,160px);display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.s-command-panel{border-radius:var(--r-xl);background:var(--p-surface-2);border:1px solid var(--p-border-2);width:min(640px,100vw - 32px);box-shadow:var(--p-shadow-xl);flex-direction:column;max-height:clamp(300px,60vh,480px);display:flex;overflow:hidden}.s-command-search{border-bottom:1px solid var(--p-border-0);flex-shrink:0;align-items:center;gap:10px;height:52px;padding:0 16px;display:flex}.s-command-search-icon{color:var(--text-muted);flex-shrink:0}.s-command-input{height:100%;color:var(--text-primary);font-size:var(--p-text-md);font-family:var(--font-ui);letter-spacing:var(--p-tracking-normal);background:0 0;border:none;flex:1}.s-command-input::placeholder{color:var(--text-muted)}.s-command-input:focus{outline:none}.s-command-clear{border-radius:var(--r-xs);background:var(--ui-control-bg);border:1px solid var(--p-border-1);width:22px;height:22px;color:var(--text-muted);cursor:pointer;transition:all var(--p-dur-fast) var(--p-ease-out);flex-shrink:0;justify-content:center;align-items:center;display:flex}.s-command-clear:hover{background:var(--ui-control-bg-hover);color:var(--text-primary)}.s-command-list{scrollbar-width:thin;flex:1;padding:6px 8px 8px;overflow-y:auto}.s-command-group-label{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);padding:6px 8px 3px}.s-command-item{border-radius:var(--r-sm);cursor:pointer;transition:background var(--p-dur-instant) var(--p-ease-out);align-items:center;gap:10px;padding:7px 10px;display:flex}.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{border-radius:var(--r-sm);background:var(--ui-control-bg);border:1px solid var(--p-border-0);width:28px;height:28px;color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.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{font-size:var(--p-text-base);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.s-command-item-sub{font-size:var(--p-text-xs);color:var(--text-muted);white-space:nowrap}.s-command-kbd{flex-shrink:0;align-items:center;gap:2px;display:inline-flex}.s-command-key{border-radius:var(--r-xs);background:var(--ui-control-bg);border:1px solid var(--p-border-1);min-width:18px;height:18px;font-size:var(--p-text-2xs);font-weight:var(--p-weight-semibold);color:var(--text-muted);font-family:var(--font-ui);letter-spacing:0;justify-content:center;align-items:center;padding:0 4px;display:inline-flex}.s-command-empty{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:36px 20px;display:flex}.s-command-empty-icon{opacity:.4}.s-command-empty-label{font-size:var(--p-text-sm)}.s-command-footer{border-top:1px solid var(--p-border-0);flex-shrink:0;align-items:center;gap:12px;padding:7px 16px;display:flex}.s-command-footer-hint{font-size:var(--p-text-2xs);color:var(--text-muted);align-items:center;gap:5px;display:inline-flex}.home-topbar{background:var(--p-surface-2)!important;border-bottom:1px solid var(--p-border-0)!important;height:52px!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:var(--on-accent)!important;box-shadow:var(--shadow-sm)!important;font-weight:var(--p-weight-semibold)!important;letter-spacing:var(--p-tracking-normal)!important;border:none!important}.p-toast{border-radius:var(--r-md);min-width:240px;max-width:380px;box-shadow:var(--p-shadow-lg);font-size:var(--p-text-sm);color:var(--text-primary);border:1px solid var(--p-border-1);align-items:center;gap:10px;padding:10px 14px;display:flex}.p-toast--dark{background:var(--p-surface-3)}.p-toast--success{background:var(--success-soft);border-color:color-mix(in srgb, var(--success) 25%, transparent)}.p-toast--success .p-toast-icon{color:var(--success)}.p-toast--error{background:var(--danger-soft);border-color:color-mix(in srgb, var(--danger) 25%, transparent)}.p-toast--error .p-toast-icon{color:var(--danger)}.p-toast--warning{background:var(--warning-soft);border-color:color-mix(in srgb, var(--warning) 25%, transparent)}.p-toast--warning .p-toast-icon{color:var(--warning)}.p-toast-icon{flex-shrink:0}.p-toast-body{line-height:var(--p-lh-snug);flex:1}.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{border-radius:var(--r-xs);width:20px;height:20px;color:var(--text-muted);cursor:pointer;transition:all var(--p-dur-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.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:0 0}.p-scroll::-webkit-scrollbar-thumb{background:var(--p-border-1);border-radius:var(--r-full)}.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, transparent 0%, var(--ceyu-skeleton-highlight) 40%, transparent 100%), var(--ceyu-skeleton-bg);border-radius:var(--r-sm);background-size:200% 100%;animation:1.6s ease-in-out infinite p-shimmer}@media (prefers-reduced-motion:reduce){.p-skeleton{background-image:none;animation:none}}.p-separator{color:var(--text-muted);font-size:var(--p-text-xs);font-weight:var(--p-weight-medium);align-items:center;gap:10px;display:flex}.p-separator:before,.p-separator:after{content:"";background:var(--p-border-0);flex:1;height:1px}.p-shortcut{align-items:center;gap:2px;display:inline-flex}.p-shortcut kbd{border-radius:var(--r-xs);background:var(--ui-control-bg);border:1px solid var(--p-border-1);min-width:20px;height:20px;font-size:var(--p-text-2xs);font-weight:var(--p-weight-semibold);font-family:var(--font-ui);color:var(--text-secondary);letter-spacing:0;border-bottom-width:2px;justify-content:center;align-items:center;padding:0 5px;line-height:1;display:inline-flex}.p-status-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.p-status-dot--live{background:var(--p-green);box-shadow:0 0 0 2px color-mix(in srgb, var(--success) 25%, transparent);animation:2s ease-in-out infinite p-pulse-live}.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 color-mix(in srgb, var(--success) 25%, transparent)}50%{box-shadow:0 0 0 4px color-mix(in srgb, var(--success) 10%, transparent)}}.p-btn:focus-visible{box-shadow:0 0 0 2px var(--accent-primary), 0 0 0 4px var(--p-accent-100);outline:none}.p-input:focus-visible{box-shadow:0 0 0 2px var(--accent-primary), 0 0 0 4px var(--p-accent-100);outline:none}.s-command-item:focus-visible{box-shadow:0 0 0 2px var(--accent-primary), 0 0 0 4px var(--p-accent-100);outline:none}@keyframes sync-pulse{0%{opacity:1;transform:scale(1)}30%{opacity:.22;transform:scale(.58)}60%{opacity:.22;transform:scale(.58)}to{opacity:1;transform:scale(1)}}@keyframes sync-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sync-safety-popover-action{border:1px solid var(--border);border-radius:var(--r-xs);background:var(--ui-control-bg);width:100%;min-height:32px;color:var(--text-primary);font-size:var(--fs-meta);font-weight:var(--fw-semibold);text-align:left;cursor:pointer;transition:background-color var(--motion-fast) ease, border-color var(--motion-fast) ease;padding:0 10px}.sync-safety-popover-action:hover{background:var(--ui-control-bg-hover);border-color:var(--border-strong)}.sync-safety-popover-action:disabled{cursor:wait;color:var(--text-muted);background:var(--ui-control-bg);border-color:var(--border)}:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px;border-radius:var(--r-sm)}button:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}[role=button]:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}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]){transition:transform var(--motion-instant) ease;transform:scale(.93)}.wb-drag-handle{cursor:grab;opacity:.35;transition:opacity var(--motion-instant) ease;justify-content:center;align-items:center;width:16px;height:16px;display:flex}.wb-drag-handle:before{content:"";background-image:radial-gradient(circle, var(--text-secondary) 1.2px, transparent 1.2px);background-size:4px 4px;width:10px;height:10px;display:block}.wb-drag-handle:hover{opacity:.75}.wb-drag-handle:active{cursor:grabbing;opacity:1}.wb-card-lift{transition:transform var(--motion-fast) ease, box-shadow var(--motion-fast) ease}.wb-card-lift:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.wb-resize-handle{transition:background var(--motion-instant) ease;background:0 0;position:absolute}.wb-resize-handle:after{content:"";background:var(--accent-primary);opacity:0;transition:opacity var(--motion-instant) ease;border-radius:2px;position:absolute}.wb-resize-handle:hover:after{opacity:.7}.wb-resize-handle:active:after{opacity:1}button[disabled],[aria-disabled=true]{opacity:.4;pointer-events:none;cursor:not-allowed!important}.wb-confirm-overlay{background:var(--bg-overlay);z-index:9999;justify-content:center;align-items:center;animation:.1s wb-fade-in;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}@keyframes wb-fade-in{0%{opacity:0}to{opacity:1}}.wb-confirm-dialog{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-xl);width:340px;max-width:calc(100vw - 32px);box-shadow:var(--shadow-lg);animation:wb-dialog-in .14s var(--ease-enter);padding:24px}@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:var(--fs-subtitle);font-weight:var(--fw-semibold);color:var(--text-primary);font-family:var(--font-ui,"DM Sans", system-ui, sans-serif);margin:0 0 6px}.wb-confirm-body{font-size:var(--fs-ui);color:var(--text-secondary);line-height:1.5;font-family:var(--font-ui,"DM Sans", system-ui, sans-serif);margin:0 0 20px}.wb-confirm-actions{justify-content:flex-end;gap:8px;display:flex}.wb-confirm-cancel{font-size:var(--fs-ui);font-weight:var(--fw-medium);color:var(--text-secondary);background:var(--ui-control-bg);border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer;font-family:var(--font-ui,"DM Sans", system-ui, sans-serif);transition:background var(--motion-instant);padding:7px 16px}.wb-confirm-cancel:hover{background:var(--ui-control-bg-hover)}.wb-confirm-delete{font-size:var(--fs-ui);font-weight:var(--fw-semibold);color:var(--on-accent);background:var(--danger);border-radius:var(--r-sm);cursor:pointer;font-family:var(--font-ui,"DM Sans", system-ui, sans-serif);transition:background var(--motion-instant), box-shadow var(--motion-instant);border:1px solid #0000;padding:7px 16px}.wb-confirm-delete:hover{background:color-mix(in srgb, var(--danger) 85%, black);box-shadow:0 2px 12px color-mix(in srgb, var(--danger) 40%, transparent)}.wb-field-error{font-size:var(--fs-caption);color:var(--danger);font-family:var(--font-ui,"DM Sans", system-ui, sans-serif);align-items:center;gap:4px;margin-top:4px;display:flex}.wb-input-error{border-color:var(--danger)!important;box-shadow:0 0 0 3px color-mix(in srgb, var(--danger) 15%, transparent)!important}.wb-input-ok{border-color:var(--success)!important;box-shadow:0 0 0 3px color-mix(in srgb, var(--success) 12%, transparent)!important}:root{--u-dur-snap:60ms;--u-dur-fast:.1s;--u-dur-base:.16s;--u-dur-slow:.24s;--u-dur-lazy:.36s;--u-ease-standard:var(--ease-standard);--u-ease-enter:var(--ease-enter);--u-ease-exit:var(--ease-exit);--u-ease-spring:var(--ease-enter);--u-ease-smooth:var(--ease-standard);--u-press-scale:.97;--u-hover-lift:translateY(-1px);--u-hover-scale:1.015;--u-focus-ring:0 0 0 2px var(--accent), 0 0 0 4px color-mix(in srgb, var(--accent) 22%, transparent);--p-accent-50:color-mix(in srgb, var(--accent) 5%, transparent);--p-accent-100:color-mix(in srgb, var(--accent) 10%, transparent);--p-accent-200:color-mix(in srgb, var(--accent) 18%, transparent);--p-accent-300:color-mix(in srgb, var(--accent) 30%, transparent);--p-accent-400:color-mix(in srgb, var(--accent) 50%, transparent);--p-accent-500:var(--accent);--p-accent-600:var(--accent-hover);--p-accent-700:var(--accent-hover)}:focus-visible{box-shadow:var(--u-focus-ring)!important;border-radius:var(--r-sm)!important;outline:none!important}input:focus-visible{border-color:var(--accent-primary)!important}textarea:focus-visible{border-color:var(--accent-primary)!important}select:focus-visible{border-color:var(--accent-primary)!important}canvas:focus-visible{box-shadow:none!important}@media (forced-colors:active){:focus-visible{outline-offset:2px!important;box-shadow:none!important;outline:2px solid canvastext!important}}button:active:not([disabled]):not([aria-disabled=true]),[role=button]:active:not([aria-disabled=true]),.header-btn:active:not([disabled]),.ctx-btn:active:not([disabled]),.ncb-btn:active:not([disabled]),.hb-icon-btn:active:not([disabled]),.hb-app-btn:active:not([disabled]),.hb-avatar-btn:active:not([disabled]),.hb-share-btn:active:not([disabled]),.hb-present-btn:active:not([disabled]),.zoom-hud-btn:active:not([disabled]),.zoom-hud-value:active:not([disabled]),.left-tool-btn:active:not([disabled]),.home-board-more-btn:active:not([disabled]),.home-dashboard-icon-btn:active:not([disabled]),.home-dashboard-nav-item:active:not([disabled]),.p-btn:active:not([disabled]),.icon-btn:active:not([disabled]){transform:scale(var(--u-press-scale))!important;transition-duration:var(--u-dur-snap)!important}.hb-left,.hb-right{will-change:box-shadow;transition:box-shadow var(--u-dur-fast) var(--u-ease-standard)}.hb-app-btn{transition:background var(--u-dur-fast) var(--u-ease-standard), transform var(--u-dur-snap) var(--u-ease-spring)}.hb-app-btn:hover{background:#0000000e}.hb-name-btn{transition:background var(--u-dur-fast) var(--u-ease-standard), color var(--u-dur-fast) var(--u-ease-standard);position:relative}.hb-name-btn:after{content:"";transform-origin:0;height:1px;transition:transform var(--u-dur-base) var(--u-ease-spring);opacity:.25;background:currentColor;position:absolute;bottom:4px;left:8px;right:8px;transform:scaleX(0)}.hb-name-btn:hover:after{transform:scaleX(1)}.header-btn,.hb-icon-btn{transition:background var(--u-dur-fast) var(--u-ease-standard), color var(--u-dur-fast) var(--u-ease-standard), box-shadow var(--u-dur-fast) var(--u-ease-standard), transform var(--u-dur-snap) var(--u-ease-spring)}.hb-share-btn{transition:background var(--u-dur-fast) var(--u-ease-standard), box-shadow var(--u-dur-fast) var(--u-ease-standard), transform var(--u-dur-snap) var(--u-ease-spring)}.hb-share-btn:hover{transform:var(--u-hover-lift);box-shadow:0 0 0 3px #8b5cf638,0 4px 14px #8b5cf652}.hb-present-btn{transition:background var(--u-dur-fast) var(--u-ease-standard), border-color var(--u-dur-fast) var(--u-ease-standard), transform var(--u-dur-snap) var(--u-ease-spring)}.hb-present-btn:hover{transform:var(--u-hover-lift)}.zoom-hud{transition:box-shadow var(--u-dur-fast) var(--u-ease-standard)}.zoom-hud-btn,.zoom-hud-value{transition:background var(--u-dur-fast) var(--u-ease-standard), color var(--u-dur-fast) var(--u-ease-standard), transform var(--u-dur-snap) var(--u-ease-spring)}.zoom-hud-btn:hover{transform:scale(var(--u-hover-scale))}.ctx-btn{transition:background var(--u-dur-fast) var(--u-ease-standard), color var(--u-dur-fast) var(--u-ease-standard), border-color var(--u-dur-fast) var(--u-ease-standard), box-shadow var(--u-dur-fast) var(--u-ease-standard), transform var(--u-dur-snap) var(--u-ease-spring)}.ctx-btn:hover{transform:scale(var(--u-hover-scale))}.ctx-btn.is-active{box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 30%, transparent)}.ncb-btn{transition:background var(--u-dur-fast) var(--u-ease-standard), color var(--u-dur-fast) var(--u-ease-standard), border-color var(--u-dur-fast) var(--u-ease-standard), transform var(--u-dur-snap) var(--u-ease-spring)}.ncb-btn:hover{transform:scale(var(--u-hover-scale))}.ncb-btn.is-active{box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 28%, transparent)}.left-tool-btn{transition:background var(--u-dur-fast) var(--u-ease-standard), color var(--u-dur-fast) var(--u-ease-standard), box-shadow var(--u-dur-base) var(--u-ease-standard), transform var(--u-dur-snap) var(--u-ease-spring)}.left-tool-btn:hover{transform:scale(var(--u-hover-scale))}.p-btn{transition:background var(--u-dur-fast) var(--u-ease-standard), box-shadow var(--u-dur-fast) var(--u-ease-standard), border-color var(--u-dur-fast) var(--u-ease-standard), color var(--u-dur-fast) var(--u-ease-standard), transform var(--u-dur-snap) var(--u-ease-spring)}.p-btn--primary:hover{transform:var(--u-hover-lift);box-shadow:0 2px 8px color-mix(in srgb, var(--accent) 35%, transparent), 0 0 0 3px var(--p-accent-100)}.p-btn--secondary:hover{transform:var(--u-hover-lift);box-shadow:var(--shadow-sm)}.p-btn--primary:focus-visible{box-shadow:var(--u-focus-ring)!important;outline:none!important}.p-input:focus,input:focus,textarea:focus,select:focus{transition:border-color var(--u-dur-fast) var(--u-ease-standard), box-shadow var(--u-dur-fast) var(--u-ease-standard), background var(--u-dur-fast) var(--u-ease-standard)}.auth-input:focus{border-color:var(--accent-primary)!important;background:var(--p-accent-50)!important;box-shadow:0 0 0 3px var(--p-accent-100)!important;outline:none!important}.shortcut-keycap.is-capture{border-color:var(--accent-primary)!important;box-shadow:0 0 0 3px var(--p-accent-100)!important}.header-more-menu,[class*=-menu][class*=-popover],[class*=-dropdown]{animation:u-menu-spring var(--u-dur-base) var(--u-ease-spring) both;transform-origin:0 0}@keyframes u-menu-spring{0%{opacity:0;transform:scale(.92)translateY(-6px)}to{opacity:1;transform:scale(1)translateY(0)}}.header-more-menu{animation:hb-menu-in var(--u-dur-base) var(--u-ease-spring) both}.storage-hub-panel{animation:u-panel-spring var(--u-dur-base) var(--u-ease-spring) both}@keyframes u-panel-spring{0%{opacity:0;transform:translateY(-8px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.settings-card{animation:u-modal-enter var(--u-dur-slow) var(--u-ease-spring) both}@keyframes u-modal-enter{0%{opacity:0;transform:scale(.95)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}.wb-confirm-dialog{animation:u-confirm-spring var(--u-dur-base) var(--u-ease-spring) both}@keyframes u-confirm-spring{0%{opacity:0;transform:scale(.93)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.settings-backdrop,.modal-backdrop,.auth-backdrop,.wb-confirm-overlay{animation:u-backdrop-in var(--u-dur-base) var(--u-ease-enter) both}@keyframes u-backdrop-in{0%{opacity:0}to{opacity:1}}.canvas-header{animation:u-header-enter var(--u-dur-slow) var(--u-ease-spring) both}@keyframes u-header-enter{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.hb-left{animation-delay:0s}.hb-right{animation-delay:40ms}.home-board-card{transition:border-color var(--u-dur-base) var(--u-ease-standard), box-shadow var(--u-dur-base) var(--u-ease-standard), transform var(--u-dur-base) var(--u-ease-standard);will-change:transform, box-shadow}.home-board-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong);transform:translateY(-3px)}.home-dashboard-quick-card{transition:border-color var(--u-dur-base) var(--u-ease-standard), background var(--u-dur-base) var(--u-ease-standard), transform var(--u-dur-base) var(--u-ease-standard), box-shadow var(--u-dur-base) var(--u-ease-standard)}.home-dashboard-quick-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.home-dashboard-nav-item{transition:background var(--u-dur-fast) var(--u-ease-standard), color var(--u-dur-fast) var(--u-ease-standard), box-shadow var(--u-dur-fast) var(--u-ease-standard), border-color var(--u-dur-fast) var(--u-ease-standard)}.home-dashboard-nav-item>svg{transition:color var(--u-dur-fast) var(--u-ease-standard), transform var(--u-dur-snap) var(--u-ease-spring);flex-shrink:0}.home-dashboard-nav-item:hover>svg{transform:translate(1px)}.home-dashboard-nav-item.active{box-shadow:inset 3px 0 0 var(--accent)}.home-dashboard-create-btn{transition:background var(--u-dur-fast) var(--u-ease-standard), box-shadow var(--u-dur-fast) var(--u-ease-standard), transform var(--u-dur-snap) var(--u-ease-spring);will-change:transform}.home-dashboard-create-btn:hover{box-shadow:var(--shadow-md)!important;transform:translateY(-1px)!important}.home-dashboard-create-btn:active{transform:scale(.97)translateY(0)!important}.home-dashboard-import-btn{transition:background var(--u-dur-fast) var(--u-ease-standard), border-color var(--u-dur-fast) var(--u-ease-standard), color var(--u-dur-fast) var(--u-ease-standard), transform var(--u-dur-snap) var(--u-ease-spring)}.home-dashboard-import-btn:hover{transform:translateY(-1px)}.home-dashboard-import-btn:active{transform:scale(.97)translateY(0)}.home-dashboard-icon-btn,.home-dashboard-view-toggle,.home-board-more-btn,.home-card-icon-btn{transition:background var(--u-dur-fast) var(--u-ease-standard), border-color var(--u-dur-fast) var(--u-ease-standard), color var(--u-dur-fast) var(--u-ease-standard), transform var(--u-dur-snap) var(--u-ease-spring)}.home-dashboard-icon-btn:hover,.home-dashboard-view-toggle:hover,.home-board-more-btn:hover,.home-card-icon-btn:hover{transform:scale(var(--u-hover-scale))}.settings-tab-btn{transition:background var(--u-dur-fast) var(--u-ease-standard), color var(--u-dur-fast) var(--u-ease-standard), transform var(--u-dur-snap) var(--u-ease-spring)}.settings-tab-btn:hover{transform:translate(1px)}.settings-tab-btn>svg{transition:color var(--u-dur-fast) var(--u-ease-standard), opacity var(--u-dur-fast) var(--u-ease-standard), transform var(--u-dur-snap) var(--u-ease-spring)}.settings-tab-btn:hover>svg{opacity:1;transform:scale(1.08)}.settings-tab-btn.active>svg{opacity:1}.settings-close-btn{transition:background var(--u-dur-fast) var(--u-ease-standard), color var(--u-dur-fast) var(--u-ease-standard), transform var(--u-dur-snap) var(--u-ease-spring)}.settings-close-btn:hover{transform:rotate(90deg)scale(1.05)}.settings-save-btn{transition:background var(--u-dur-fast) var(--u-ease-standard), box-shadow var(--u-dur-fast) var(--u-ease-standard), transform var(--u-dur-snap) var(--u-ease-spring)}.settings-save-btn:hover{background:var(--accent-hover);box-shadow:var(--shadow-md);transform:var(--u-hover-lift)}.settings-save-btn:active{transform:scale(var(--u-press-scale))}.settings-cancel-btn{transition:background var(--u-dur-fast) var(--u-ease-standard), color var(--u-dur-fast) var(--u-ease-standard), transform var(--u-dur-snap) var(--u-ease-spring)}.settings-cancel-btn:active{transform:scale(var(--u-press-scale))}.settings-action-btn{transition:background var(--u-dur-fast) var(--u-ease-standard), border-color var(--u-dur-fast) var(--u-ease-standard), color var(--u-dur-fast) var(--u-ease-standard), transform var(--u-dur-snap) var(--u-ease-spring)}.settings-action-btn:hover{transform:var(--u-hover-lift)}.settings-action-btn:active{transform:scale(var(--u-press-scale))}.hb-left,.hb-right{box-shadow:var(--shadow-sm)!important}.header-more-menu,.storage-hub-panel{box-shadow:var(--shadow-md), 0 0 0 1px var(--border)}.settings-card,.upgrade-modal,.auth-card{box-shadow:var(--shadow-lg), 0 0 0 1px var(--border)}.wb-confirm-dialog{box-shadow:var(--shadow-lg), 0 0 0 1px var(--border-strong)}.settings-card,.settings-main,.settings-footer{background:var(--bg-card)!important;color:var(--text-primary)!important}.settings-sidebar{background:var(--bg-sidebar)!important;border-right-color:var(--border)!important}.settings-main-head,.settings-footer{border-color:var(--border)!important}.settings-main-head h2{color:var(--text-primary)!important}.settings-tab-btn{color:var(--text-secondary)!important}.settings-tab-btn:hover{background:var(--nav-hover-bg)!important}.settings-tab-btn.active{background:var(--accent-soft)!important;color:var(--accent)!important}.settings-close-btn{background:var(--ui-control-bg)!important;border-color:var(--ui-control-border)!important;color:var(--text-secondary)!important}.settings-close-btn:hover{background:var(--ui-control-bg-hover)!important;color:var(--text-primary)!important}.settings-cancel-btn{border-color:var(--ui-control-border)!important;color:var(--text-secondary)!important}.settings-cancel-btn:hover{color:var(--text-primary)!important}.settings-save-btn{background:var(--accent)!important;color:var(--on-accent)!important}.settings-save-btn:hover{background:var(--accent-hover)!important}.settings-sidebar-search{background:var(--ui-control-bg)!important;border-color:var(--ui-control-border)!important}.settings-sidebar-search input{color:var(--text-primary)!important}.shortcut-keycap{background:var(--ui-control-bg)!important;border-color:var(--border-strong)!important;color:var(--text-primary)!important}.wb-confirm-dialog{background:var(--bg-card)!important;border-color:var(--border-strong)!important}.wb-confirm-title{color:var(--text-primary)!important}.wb-confirm-body{color:var(--text-secondary)!important}.wb-confirm-cancel{background:var(--ui-control-bg)!important;border-color:var(--ui-control-border)!important;color:var(--text-secondary)!important}.wb-confirm-cancel:hover{background:var(--ui-control-bg-hover)!important;color:var(--text-primary)!important}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);background:var(--text-primary);color:var(--surface-app);font-size:var(--fs-caption);font-weight:var(--fw-medium);font-family:var(--font-ui);letter-spacing:.01em;border-radius:var(--r-xs);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--u-dur-fast) var(--u-ease-enter), transform var(--u-dur-fast) var(--u-ease-enter);z-index:9999;box-shadow:var(--shadow-md);padding:5px 8px;line-height:1;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)translateY(4px)}[data-tooltip]:hover:after{opacity:1;transform:translate(-50%)translateY(0)}[data-tooltip-side=right]:after{top:50%;bottom:auto;left:calc(100% + 6px);transform:translateY(-50%)translate(-4px)}[data-tooltip-side=right]:hover:after{transform:translateY(-50%)translate(0)}*{scrollbar-width:thin;scrollbar-color:transparent transparent;transition:scrollbar-color var(--u-dur-base)}:hover{scrollbar-color:var(--scrollbar-thumb) transparent}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{border-radius:var(--r-full);transition:background var(--u-dur-base);background:0 0}:hover::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb)}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)!important}:root{--ceyu-skeleton-bg:var(--p-surface-2);--ceyu-skeleton-highlight:#ffffff0f;--ceyu-skeleton-border:var(--border)}:root[data-ui-mode=light]{--ceyu-skeleton-bg:var(--bg-elevated);--ceyu-skeleton-highlight:#ffffffa6;--ceyu-skeleton-border:var(--border)}@keyframes home-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.home-board-skeleton-preview,.home-board-skeleton-line,.p-skeleton{animation-duration:1.6s!important;animation-timing-function:ease-in-out!important}[data-stagger]>*{animation:u-stagger-in var(--u-dur-base) var(--u-ease-spring) both}[data-stagger]>:first-child{animation-delay:0s}[data-stagger]>:nth-child(2){animation-delay:30ms}[data-stagger]>:nth-child(3){animation-delay:60ms}[data-stagger]>:nth-child(4){animation-delay:90ms}[data-stagger]>:nth-child(5){animation-delay:.12s}[data-stagger]>:nth-child(6){animation-delay:.15s}[data-stagger]>:nth-child(7){animation-delay:.18s}[data-stagger]>:nth-child(8){animation-delay:.21s}@keyframes u-stagger-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.home-dashboard-nav .home-dashboard-nav-item:first-child{animation:u-stagger-in var(--u-dur-base) var(--u-ease-spring) 0s both}.home-dashboard-nav .home-dashboard-nav-item:nth-child(2){animation:u-stagger-in var(--u-dur-base) var(--u-ease-spring) 20ms both}.home-dashboard-nav .home-dashboard-nav-item:nth-child(3){animation:u-stagger-in var(--u-dur-base) var(--u-ease-spring) 40ms both}.home-dashboard-nav .home-dashboard-nav-item:nth-child(4){animation:u-stagger-in var(--u-dur-base) var(--u-ease-spring) 60ms both}.home-dashboard-nav .home-dashboard-nav-item:nth-child(5){animation:u-stagger-in var(--u-dur-base) var(--u-ease-spring) 80ms both}.home-dashboard-nav .home-dashboard-nav-item:nth-child(n+6){animation:u-stagger-in var(--u-dur-base) var(--u-ease-spring) .1s both}button[data-loading]{pointer-events:none;position:relative;color:#0000!important}button[data-loading]>*{opacity:0}button[data-loading]:after{content:"";border:2px solid color-mix(in srgb, var(--on-accent) 30%, transparent);width:14px;height:14px;color:var(--on-accent);border-top-color:currentColor;border-radius:50%;margin:auto;animation:.7s linear infinite u-btn-spin;position:absolute;top:0;bottom:0;left:0;right:0}button[data-loading].p-btn--secondary:after,button[data-loading].p-btn--ghost:after{border-top-color:var(--accent-primary)}@keyframes u-btn-spin{to{transform:rotate(360deg)}}.home-dashboard-empty-state{color:var(--text-muted);font-size:var(--fs-ui);border-radius:var(--r-lg);border:1px dashed var(--border);background:var(--ui-surface-bg-soft);animation:u-stagger-in var(--u-dur-slow) var(--u-ease-spring) both;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:48px 24px;display:flex}.home-dashboard-empty-state svg{opacity:.35}.settings-row{transition:background var(--u-dur-fast) var(--u-ease-standard), border-color var(--u-dur-fast) var(--u-ease-standard), box-shadow var(--u-dur-fast) var(--u-ease-standard), transform var(--u-dur-snap) var(--u-ease-spring)}.settings-row:hover{box-shadow:var(--shadow-sm)}.header-more-item{transition:background var(--u-dur-snap) var(--u-ease-standard), color var(--u-dur-snap) var(--u-ease-standard), transform var(--u-dur-snap) var(--u-ease-spring)}.header-more-item:hover{transform:translate(2px)}.header-more-item>svg{transition:color var(--u-dur-snap) var(--u-ease-standard), transform var(--u-dur-snap) var(--u-ease-spring)}.header-more-item:hover>svg{transform:scale(1.1)}.pro-badge,.wt-pro-badge{position:relative;overflow:hidden}.pro-badge:after,.wt-pro-badge:after{content:"";background:linear-gradient(105deg, transparent 30%, color-mix(in srgb, var(--on-accent) 45%, transparent) 50%, transparent 70%);animation:3.2s ease-in-out infinite u-badge-shimmer;position:absolute;top:0;bottom:0;left:0;right:0;transform:translate(-100%)}@keyframes u-badge-shimmer{0%,60%{transform:translate(-100%)}80%{transform:translate(100%)}to{transform:translate(100%)}}.upgrade-cta-btn,.home-create-btn{transition:filter var(--u-dur-fast) var(--u-ease-standard), transform var(--u-dur-snap) var(--u-ease-spring), box-shadow var(--u-dur-fast) var(--u-ease-standard);will-change:transform}.upgrade-cta-btn:hover{filter:brightness(1.06);box-shadow:0 4px 14px color-mix(in srgb, var(--warning) 40%, transparent);transform:translateY(-2px)}.upgrade-cta-btn:active{transform:scale(var(--u-press-scale)) translateY(0)}.hub-open-btn{transition:background var(--u-dur-fast) var(--u-ease-standard), border-color var(--u-dur-fast) var(--u-ease-standard), box-shadow var(--u-dur-fast) var(--u-ease-standard), transform var(--u-dur-snap) var(--u-ease-spring)}.hub-open-btn:hover{box-shadow:0 2px 10px color-mix(in srgb, var(--accent) 20%, transparent);transform:translateY(-1px)}.storage-fill,.home-dashboard-storage-bar-fill{transition:width var(--motion-hero) var(--u-ease-smooth)}.storage-upgrade-btn{transition:border-color var(--u-dur-fast) var(--u-ease-standard), background var(--u-dur-fast) var(--u-ease-standard), box-shadow var(--u-dur-fast) var(--u-ease-standard), transform var(--u-dur-snap) var(--u-ease-spring)}.storage-upgrade-btn:hover{transform:var(--u-hover-lift)}.storage-upgrade-btn:active{transform:scale(var(--u-press-scale))}.home-dashboard-segment{transition:background var(--u-dur-fast) var(--u-ease-standard), color var(--u-dur-fast) var(--u-ease-standard), box-shadow var(--u-dur-fast) var(--u-ease-standard), transform var(--u-dur-snap) var(--u-ease-spring)}.home-dashboard-segment:hover{transform:scale(1.01)}.home-dashboard-segment.active{transform:none}.home-dashboard-segment:active{transform:scale(var(--u-press-scale))}.p-status-dot--live{animation:u-live-pulse 2.4s var(--u-ease-smooth) infinite}@keyframes u-live-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--success) 50%, transparent)}50%{box-shadow:0 0 0 5px #0000}to{box-shadow:0 0 #0000}}.header-live-dot{animation:u-blink-smooth 1.4s var(--u-ease-smooth) infinite}@keyframes u-blink-smooth{0%,to{opacity:1}50%{opacity:.32}}.hb-icon-btn>svg,.header-btn>svg,.ctx-btn>svg,.icon-btn>svg,.home-card-icon-btn>svg,.home-board-more-btn>svg,.home-dashboard-icon-btn>svg{transition:transform var(--u-dur-snap) var(--u-ease-spring), color var(--u-dur-fast) var(--u-ease-standard);display:block}.hb-icon-btn:hover>svg,.header-btn:hover>svg,.icon-btn:hover>svg,.home-dashboard-icon-btn:hover>svg{transform:scale(1.12)}.ctx-btn:hover>svg{transform:scale(1.08)}.hb-chevron{transition:transform var(--u-dur-base) var(--u-ease-spring)}[aria-expanded=true] .hb-chevron{transform:rotate(180deg)}.ncb-root,[class*=tool-panel],.draw-panel,.zoom-hud{will-change:transform}.hub-app-card{transition:border-color var(--u-dur-base) var(--u-ease-standard), box-shadow var(--u-dur-base) var(--u-ease-standard), transform var(--u-dur-base) var(--u-ease-standard);will-change:transform}.hub-app-card:hover{box-shadow:var(--shadow-lg), 0 0 0 1px color-mix(in srgb, var(--accent) 12%, transparent);transform:translateY(-3px)}.home-dashboard-avatar-btn--named{transition:box-shadow var(--u-dur-fast) var(--u-ease-standard), transform var(--u-dur-snap) var(--u-ease-spring)}.home-dashboard-avatar-btn--named:hover{box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--border-strong);transform:translateY(-1px)}.hb-avatar-circle{transition:box-shadow var(--u-dur-fast) var(--u-ease-standard)}.hb-avatar-btn:hover .hb-avatar-circle{box-shadow:0 0 0 2px var(--border-strong)}.home-dashboard-signin-btn{transition:background var(--u-dur-fast) var(--u-ease-standard), box-shadow var(--u-dur-fast) var(--u-ease-standard), transform var(--u-dur-snap) var(--u-ease-spring)}.home-dashboard-signin-btn:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.home-dashboard-signin-btn:active{transform:scale(var(--u-press-scale)) translateY(0)}.home-section-label,.settings-section-title,.settings-sidebar-label,.p-label,.s-command-group-label{letter-spacing:.08em;font-size:var(--fs-caption);font-weight:var(--fw-semibold);text-transform:uppercase}.home-board-card-info strong{letter-spacing:-.014em}.hb-name-btn{letter-spacing:-.012em}.settings-main-head h2{letter-spacing:-.022em}.zoom-hud-value{font-variant-numeric:tabular-nums;letter-spacing:-.01em}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.p-skeleton,.home-board-skeleton-preview,.home-board-skeleton-line,.pro-badge:after,.wt-pro-badge:after,.p-status-dot--live,.header-live-dot,.ghost-import-shimmer:after,.ghost-import-spinner{animation:none!important}}body[data-ui-motion=reduced] *,body[data-ui-motion=reduced] :before,body[data-ui-motion=reduced] :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.hb-left,.hb-right,.zoom-hud,.left-tool-dock,.ncb-root{will-change:transform;transform:translateZ(0)}.home-board-card,.home-dashboard-quick-card,.hub-app-card{contain:style;transform:translateZ(0)}.left-tool-dock{animation:u-dock-enter var(--u-dur-slow) var(--u-ease-spring) both!important}@keyframes u-dock-enter{0%{opacity:0;transform:translateY(-50%)translate(-10px)scale(.96)}to{opacity:1;transform:translateY(-50%)translate(0)scale(1)}}.left-tool-btn,.left-tool-mini-btn{transition:background var(--u-dur-fast) var(--u-ease-standard), color var(--u-dur-fast) var(--u-ease-standard), border-color var(--u-dur-fast) var(--u-ease-standard), box-shadow var(--u-dur-fast) var(--u-ease-standard), transform var(--u-dur-snap) var(--u-ease-spring)!important}.left-tool-btn.is-active{box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 28%, transparent), 0 0 10px color-mix(in srgb, var(--accent) 18%, transparent)!important}.left-tool-btn:hover .left-tool-btn-icon svg,.left-tool-mini-btn:hover svg{transition:transform var(--u-dur-snap) var(--u-ease-spring);transform:scale(1.1)}.left-tool-btn-icon svg,.left-tool-mini-btn svg{transition:transform var(--u-dur-fast) var(--u-ease-standard)}.left-tool-more-chevron{transition:transform var(--u-dur-base) var(--u-ease-spring)!important}.left-tool-more-btn{transition:background var(--u-dur-fast) var(--u-ease-standard), color var(--u-dur-fast) var(--u-ease-standard), transform var(--u-dur-snap) var(--u-ease-spring)}.left-tool-tooltip-shell{transition:opacity var(--u-dur-fast) var(--u-ease-enter), transform var(--u-dur-fast) var(--u-ease-spring)}.left-tool-mini-btn:hover{transform:scale(var(--u-hover-scale))!important}.hb-save-chip{transition:background var(--u-dur-base) var(--u-ease-standard), color var(--u-dur-base) var(--u-ease-standard), border-color var(--u-dur-base) var(--u-ease-standard), opacity var(--u-dur-base) var(--u-ease-standard)}.chat-header-badge{animation:u-badge-appear var(--u-dur-base) var(--u-ease-spring) both}@keyframes u-badge-appear{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.wb-input-error,.wb-input-ok{transition:border-color var(--u-dur-fast) var(--u-ease-standard), box-shadow var(--u-dur-fast) var(--u-ease-standard)!important}.auth-input{transition:border-color var(--u-dur-fast) var(--u-ease-standard), background var(--u-dur-fast) var(--u-ease-standard), box-shadow var(--u-dur-fast) var(--u-ease-standard)}.home-dashboard-topbar{transition:border-color var(--u-dur-fast) var(--u-ease-standard)}.home-dashboard-search,.home-dashboard-board-search{transition:border-color var(--u-dur-fast) var(--u-ease-standard), background var(--u-dur-fast) var(--u-ease-standard), box-shadow var(--u-dur-fast) var(--u-ease-standard)}.home-dashboard-search:focus-within,.home-dashboard-board-search:focus-within{box-shadow:0 0 0 3px var(--p-accent-100)}.home-dashboard-sort-select{transition:border-color var(--u-dur-fast) var(--u-ease-standard), background var(--u-dur-fast) var(--u-ease-standard);cursor:pointer}.home-dashboard-sort-select:hover{border-color:var(--border-strong)}.home-dashboard-storage-head button{transition:color var(--u-dur-fast) var(--u-ease-standard), transform var(--u-dur-snap) var(--u-ease-spring)}.home-dashboard-storage-head button:hover{transform:translate(1px)}.source-row .actions button{transition:background var(--u-dur-fast) var(--u-ease-standard), color var(--u-dur-fast) var(--u-ease-standard), transform var(--u-dur-snap) var(--u-ease-spring)}.source-row .actions button:hover{transform:scale(var(--u-hover-scale))}.ncb-root{animation:u-ncb-enter var(--u-dur-base) var(--u-ease-spring) both}@keyframes u-ncb-enter{0%{opacity:0;transform:translateY(-6px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.ncb-pdf-page-pill{transition:background var(--u-dur-snap) var(--u-ease-standard), color var(--u-dur-snap) var(--u-ease-standard), border-color var(--u-dur-snap) var(--u-ease-standard), transform var(--u-dur-snap) var(--u-ease-spring)}.ncb-pdf-page-pill:hover{transform:scale(1.04)}.settings-search-scope-chip{transition:background var(--u-dur-fast) var(--u-ease-standard), border-color var(--u-dur-fast) var(--u-ease-standard), color var(--u-dur-fast) var(--u-ease-standard), transform var(--u-dur-snap) var(--u-ease-spring)}.settings-search-scope-chip:hover{transform:var(--u-hover-lift)}.shortcut-category-head{transition:background var(--u-dur-fast) var(--u-ease-standard), color var(--u-dur-fast) var(--u-ease-standard)}.shortcut-category-head:hover{background:var(--nav-hover-bg);color:var(--text-primary)}.hb-icon-btn.is-active{box-shadow:0 0 0 1px var(--p-accent-200);background:var(--p-accent-100)!important;color:var(--accent-primary)!important}.upgrade-feature-item{transition:color var(--u-dur-fast) var(--u-ease-standard)}.upgrade-feature-item svg{transition:transform var(--u-dur-snap) var(--u-ease-spring);flex-shrink:0}.upgrade-feature-item:hover svg{transform:scale(1.15)}.notice-bar{transition:background var(--u-dur-fast) var(--u-ease-standard), border-color var(--u-dur-fast) var(--u-ease-standard)}.context-menu,[class*=context-menu],[class*=contextmenu]{animation:u-menu-spring var(--u-dur-base) var(--u-ease-spring) both}.header-live-chip{transition:background var(--u-dur-base) var(--u-ease-standard), border-color var(--u-dur-base) var(--u-ease-standard), color var(--u-dur-base) var(--u-ease-standard)}.home-board-skeleton-preview{border-bottom-color:var(--border)!important}.home-board-card-list .home-board-skeleton-preview{border-right-color:var(--border)!important}.home-board-card-actions{opacity:0;transition:opacity var(--u-dur-fast) var(--u-ease-standard)}.home-board-card:hover .home-board-card-actions,.home-board-card:focus-within .home-board-card-actions{opacity:1}.home-dashboard-empty-templates button{transition:background var(--u-dur-fast) var(--u-ease-standard), border-color var(--u-dur-fast) var(--u-ease-standard), transform var(--u-dur-snap) var(--u-ease-spring)}.home-dashboard-empty-templates button:hover{transform:var(--u-hover-lift)}.home-dashboard-empty-templates button:active{transform:scale(var(--u-press-scale))}.zoom-hud{animation:u-zoom-hud-enter var(--u-dur-slow) var(--u-ease-spring) calc(var(--u-dur-slow) + 80ms) both}@keyframes u-zoom-hud-enter{0%{opacity:0;transform:translateZ(0)translateY(8px)}to{opacity:1;transform:translateZ(0)translateY(0)}}.s-command-item{transition:background var(--u-dur-snap) var(--u-ease-standard), transform var(--u-dur-snap) var(--u-ease-spring)}.s-command-item:hover{transform:translate(1px)}.s-command-item--active{transform:translate(2px)}.s-command-item-icon{transition:background var(--u-dur-fast) var(--u-ease-standard), border-color var(--u-dur-fast) var(--u-ease-standard), color var(--u-dur-fast) var(--u-ease-standard), transform var(--u-dur-snap) var(--u-ease-spring)}.s-command-item:hover .s-command-item-icon{transform:scale(1.08)}.s-command-clear{transition:background var(--u-dur-fast) var(--u-ease-standard), color var(--u-dur-fast) var(--u-ease-standard), transform var(--u-dur-snap) var(--u-ease-spring)}.s-command-clear:hover{transform:rotate(90deg)scale(1.1)}.p-toast-dismiss{transition:background var(--u-dur-fast) var(--u-ease-standard), color var(--u-dur-fast) var(--u-ease-standard), transform var(--u-dur-snap) var(--u-ease-spring)}.p-toast-dismiss:hover{transform:rotate(90deg)scale(1.05)}.wb-drag-handle{transition:opacity var(--u-dur-fast) var(--u-ease-standard)}.hub-app-card .hub-open-btn{transition:background var(--u-dur-fast) var(--u-ease-standard), border-color var(--u-dur-fast) var(--u-ease-standard), box-shadow var(--u-dur-fast) var(--u-ease-standard), transform var(--u-dur-snap) var(--u-ease-spring);will-change:transform}.home-dashboard-quick-top svg{transition:transform var(--u-dur-snap) var(--u-ease-spring)}.home-dashboard-quick-card:hover .home-dashboard-quick-top svg{transform:scale(1.12)rotate(-4deg)}::selection{background:var(--p-accent-200);color:var(--text-primary)}::selection{background:var(--p-accent-200);color:var(--text-primary)}.left-tool-btn:focus-visible{box-shadow:var(--u-focus-ring)!important;outline:none!important}.left-tool-mini-btn:focus-visible{box-shadow:var(--u-focus-ring)!important;outline:none!important}.home-dashboard-avatar-btn{transition:background var(--u-dur-fast) var(--u-ease-standard), border-color var(--u-dur-fast) var(--u-ease-standard), transform var(--u-dur-snap) var(--u-ease-spring)}.home-dashboard-avatar-btn:hover{transform:scale(var(--u-hover-scale))}.home-dashboard-logo-mark{transition:box-shadow var(--u-dur-fast) var(--u-ease-standard), transform var(--u-dur-snap) var(--u-ease-spring);cursor:pointer}.home-dashboard-logo-row:hover .home-dashboard-logo-mark{box-shadow:var(--shadow-md);transform:scale(1.06)}[class*=topbar] button,[class*=topbar-action]{transition:background var(--u-dur-fast) var(--u-ease-standard), color var(--u-dur-fast) var(--u-ease-standard), border-color var(--u-dur-fast) var(--u-ease-standard), transform var(--u-dur-snap) var(--u-ease-spring)}[class*=topbar] button:hover{transform:scale(var(--u-hover-scale))}[class*=topbar] button:active{transform:scale(var(--u-press-scale))!important}[class*=-panel][class*=tool]{animation:u-panel-enter var(--u-dur-base) var(--u-ease-spring) both}@keyframes u-panel-enter{0%{opacity:0;transform:translate(-8px)scale(.98)}to{opacity:1;transform:translate(0)scale(1)}}.inspector-panel,[class*=inspector]{transition:background var(--u-dur-base) var(--u-ease-standard), border-color var(--u-dur-base) var(--u-ease-standard)}.left-tool-btn:active:not([disabled]){transform:scale(.97)!important}:root{--p-accent-50:color-mix(in srgb, var(--accent) 5%, transparent);--p-accent-100:color-mix(in srgb, var(--accent) 10%, transparent);--p-accent-200:color-mix(in srgb, var(--accent) 18%, transparent);--p-accent-300:color-mix(in srgb, var(--accent) 30%, transparent);--p-accent-400:color-mix(in srgb, var(--accent) 50%, transparent);--p-accent-500:var(--accent);--p-accent-600:var(--accent);--p-accent-700:var(--accent-hover);--u-focus-ring:0 0 0 2px var(--accent), 0 0 0 4px color-mix(in srgb, var(--accent) 22%, transparent)}:root[data-ui-mode=light]{--p-accent-600:var(--accent-hover);--p-accent-700:color-mix(in srgb, var(--accent) 60%, black);--u-focus-ring:0 0 0 2px var(--accent), 0 0 0 4px color-mix(in srgb, var(--accent) 18%, transparent)}.hb-share-btn:hover{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 20%, transparent), 0 4px 14px color-mix(in srgb, var(--accent) 30%, transparent)!important}.hb-share-btn,.hb-present-btn,.header-btn--share{border-radius:999px!important}.home-create-btn{background:var(--text-primary)!important;color:var(--surface-app)!important;border-radius:var(--r-full)!important;letter-spacing:0!important}.home-create-btn:hover{background:color-mix(in srgb, var(--text-primary) 88%, var(--surface-app))!important;box-shadow:var(--shadow-md), 0 0 0 3px var(--border)!important}.home-create-btn:active{transform:scale(.97)!important}.home-shell ::selection{background:var(--text-primary);color:var(--surface-app)}.home-hub ::selection{background:var(--text-primary);color:var(--surface-app)}.home-shell h1,.home-shell h2,.home-topbar h1,.home-hub-title{letter-spacing:-.025em;font-weight:var(--fw-semibold)}#root>*{animation:uber-app-enter .42s var(--u-ease-standard,var(--ease-standard)) both}@keyframes uber-app-enter{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){#root>*{animation:none}}*,:before,:after{-webkit-backdrop-filter:none!important}.zoom-hud,.hb-center,.hb-search-popover,.settings-card,.settings-footer,.np-panel,.ncb-root{--glass-removed:1}.hb-search-popover{background:var(--bg-panel)}@keyframes apple-rise{0%{opacity:0;filter:blur(6px);transform:translateY(10px)}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes apple-pop{0%{opacity:0;filter:blur(8px);transform:scale(.92)translateY(6px)}60%{opacity:1;filter:blur()}to{opacity:1;filter:blur();transform:scale(1)translateY(0)}}@keyframes apple-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes apple-sheet-up{0%{opacity:.4;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}.settings-backdrop{animation:apple-backdrop-in .2s var(--u-ease-enter,ease-out) both;background:var(--bg-overlay)!important}.settings-backdrop .settings-card{background:var(--bg-card)!important;border:1px solid var(--border)!important;box-shadow:var(--shadow-lg)!important;animation:.38s cubic-bezier(.3,1.36,.36,1) both apple-pop!important}.settings-backdrop .settings-body>*{animation:apple-rise .32s var(--u-ease-standard,var(--ease-standard)) both}.settings-backdrop .settings-body>:first-child{animation-delay:30ms}.settings-backdrop .settings-body>:nth-child(2){animation-delay:60ms}.settings-backdrop .settings-body>:nth-child(3){animation-delay:90ms}.settings-backdrop .settings-body>:nth-child(4){animation-delay:.12s}.settings-backdrop .settings-body>:nth-child(5){animation-delay:.15s}.settings-backdrop .settings-body>:nth-child(6){animation-delay:.18s}.settings-backdrop .settings-body>:nth-child(n+7){animation-delay:.21s}.settings-backdrop .settings-tab-btn{border-radius:var(--r-full);transition:background var(--motion-fast) var(--u-ease-standard,ease), color var(--motion-fast) var(--u-ease-standard,ease), transform var(--motion-fast) var(--u-ease-standard,ease)}.settings-backdrop .settings-tab-btn:hover{transform:translate(1px)}.settings-backdrop .settings-tab-btn.active{background:var(--accent-soft)!important;color:var(--accent)!important}.settings-backdrop .settings-tab-btn.active svg{opacity:1;color:var(--accent)}.settings-backdrop .settings-save-btn{letter-spacing:0;transition:transform var(--motion-fast) var(--u-ease-spring,ease), background var(--motion-fast) ease, box-shadow var(--motion-fast) ease;border-radius:var(--r-full)!important;background:var(--accent)!important;color:var(--on-accent)!important;padding:0 22px!important}.settings-backdrop .settings-save-btn:hover{box-shadow:var(--shadow-md);transform:translateY(-1px);background:var(--accent-hover)!important}.settings-backdrop .settings-save-btn:active{transform:scale(.97)}.settings-backdrop .settings-cancel-btn{border-radius:var(--r-full)!important}.settings-card .settings-row{border-radius:var(--r-lg);transition:background var(--motion-fast) var(--u-ease-standard,ease), transform var(--motion-fast) var(--u-ease-standard,ease)}.settings-card .settings-row:hover{transform:translateY(-1px)}.settings-card .toggle-track{transition:background var(--motion-base) var(--u-ease-standard,ease)!important}.settings-card .toggle-track:after{transition:transform var(--motion-modal) var(--u-ease-spring,var(--ease-enter))!important}.settings-card .toggle-switch input:checked+.toggle-track,:root[data-ui-mode=light] .settings-card .toggle-switch input:checked+.toggle-track{background:var(--accent)!important}.settings-text-input,.settings-sidebar-search{transition:border-color var(--motion-fast) ease, box-shadow var(--motion-fast) ease, background var(--motion-fast) ease}.settings-text-input:focus,.settings-sidebar-search:focus-within{border-color:color-mix(in srgb, var(--accent) 55%, transparent)!important;box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 14%, transparent)!important}.aip-message{animation:apple-rise .3s var(--u-ease-standard,var(--ease-standard)) both}.aip-card,.aip-metrics{animation:apple-rise .34s var(--u-ease-standard,var(--ease-standard)) both}.aip-chips .aip-chip{animation:apple-rise .26s var(--u-ease-standard,ease) both}.aip-chips .aip-chip:first-child{animation-delay:40ms}.aip-chips .aip-chip:nth-child(2){animation-delay:70ms}.aip-chips .aip-chip:nth-child(3){animation-delay:.1s}.aip-chips .aip-chip:nth-child(4){animation-delay:.13s}.aip-chips .aip-chip:nth-child(5){animation-delay:.16s}.aip-chips .aip-chip:nth-child(n+6){animation-delay:.19s}.ai-inline-note-actions{transform-origin:bottom;animation:.26s cubic-bezier(.3,1.4,.4,1) both apple-pop}.ai-copilot-ghost-node{animation:2.6s ease-in-out infinite ai-ghost-breathe}@keyframes ai-ghost-breathe{0%,to{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 10%, transparent), 0 12px 28px #00000024}50%{box-shadow:0 0 0 6px color-mix(in srgb, var(--accent) 16%, transparent), 0 12px 32px #0003}}.hb-search-popover{transform-origin:top;animation:.24s cubic-bezier(.3,1.3,.4,1) both apple-pop}.hb-search-popover .hb-search-result{animation:apple-rise .24s var(--u-ease-standard,ease) both}.hb-search-popover .hb-search-result:first-child{animation-delay:30ms}.hb-search-popover .hb-search-result:nth-child(2){animation-delay:60ms}.hb-search-popover .hb-search-result:nth-child(3){animation-delay:90ms}.hb-search-popover .hb-search-result:nth-child(4){animation-delay:.12s}.hb-search-popover .hb-search-result:nth-child(n+5){animation-delay:.15s}@media (min-width:721px) and (max-width:1024px){.settings-backdrop .settings-card{width:min(92vw,780px);height:min(86vh,640px)}.ai-orb-content{width:min(360px,100vw - 28px)}}@media (max-width:720px){.settings-backdrop{align-items:flex-end!important;padding:0!important}.settings-backdrop .settings-card{width:100vw!important;max-width:100vw!important;height:calc(100dvh - max(10px, env(safe-area-inset-top)))!important;animation:apple-sheet-up .36s var(--ease-enter) both!important;border-bottom:0!important;border-left:0!important;border-right:0!important;border-radius:18px 18px 0 0!important}.settings-backdrop .settings-sidebar{scrollbar-width:none;align-items:center;gap:6px;overflow:auto hidden;flex-direction:row!important;max-height:none!important;padding:10px 12px!important}.settings-backdrop .settings-sidebar::-webkit-scrollbar{display:none}.settings-backdrop .settings-sidebar-label,.settings-backdrop .settings-sidebar-divider{display:none}.settings-backdrop .settings-sidebar-search{min-width:150px;margin:0}.settings-backdrop .settings-tab-btn{white-space:nowrap;flex:none;width:auto;min-height:38px;padding:0 13px}.settings-backdrop .settings-footer{padding-bottom:max(11px, env(safe-area-inset-bottom))!important}.settings-backdrop .settings-save-btn,.settings-backdrop .settings-cancel-btn{min-height:44px}.hb-search-popover{position:fixed;top:56px;left:8px;right:8px}}@media (pointer:coarse){.aip-primary{min-height:46px}.aip-ghost,.aip-chip,.aip-segment button{min-height:40px}.aip-close{width:36px;height:36px}.aip-input{min-height:84px;font-size:var(--fs-body)}.settings-tab-btn{min-height:44px}.settings-close-btn{width:38px;height:38px}.ai-inline-note-actions button{min-height:40px;padding:0 12px}.hb-search-result{min-height:60px}}@media (min-width:1600px){.ai-orb-content{width:420px}.aip{max-height:min(100vh - 180px,720px)}.settings-backdrop .settings-card{width:min(980px,100vw - 48px);height:min(700px,100vh - 48px)}}@media (prefers-reduced-motion:reduce){.settings-card,.settings-body>*,.aip-message,.aip-card,.aip-metrics,.aip-chips .aip-chip,.ai-inline-note-actions,.ai-copilot-ghost-node,.hb-search-popover,.hb-search-popover .hb-search-result{animation:none!important}}@keyframes wb-offline-enter{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@keyframes wb-reconnect-show{0%{opacity:0;transform:translateY(-100%)}12%{opacity:1;transform:translateY(0)}80%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-100%)}}@keyframes wb-badge-enter{0%{opacity:0;transform:scale(.78)translateY(4px)}65%{opacity:1;transform:scale(1.04)translateY(-1px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes wb-dot-ping{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--success) 50%, transparent)}70%{box-shadow:0 0 0 6px color-mix(in srgb, var(--success) 0%, transparent)}to{box-shadow:0 0 0 0 color-mix(in srgb, var(--success) 0%, transparent)}}@keyframes wb-reconnect-aura{0%{outline:2px solid color-mix(in srgb, var(--success) 0%, transparent);outline-offset:0px}35%{outline:2px solid color-mix(in srgb, var(--success) 55%, transparent);outline-offset:4px}to{outline:2px solid color-mix(in srgb, var(--success) 0%, transparent);outline-offset:8px}}@keyframes ft-offline-enter{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.wb-offline-bar{z-index:9998;background:var(--canvas-panel-bg);border-bottom:1px solid var(--border);height:34px;color:var(--text-secondary);font-size:12px;font-weight:500;font-family:var(--font-ui,system-ui, sans-serif);letter-spacing:.012em;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none;animation:wb-offline-enter .32s var(--ease-enter) both;justify-content:center;align-items:center;gap:8px;padding:0 16px;display:flex;position:fixed;top:0;left:0;right:0}.wb-offline-bar__dot{background:var(--text-muted);border-radius:50%;flex-shrink:0;width:6px;height:6px;animation:2.4s ease-in-out infinite sync-pulse}.wb-offline-bar__icon{opacity:.55;flex-shrink:0;display:inline-flex}.wb-offline-bar.is-tauri{top:36px}.wb-reconnect-bar{z-index:9998;background:color-mix(in srgb, var(--success) 12%, var(--canvas-panel-bg));border-bottom:1px solid color-mix(in srgb, var(--success) 18%, transparent);height:34px;color:var(--success);font-size:12px;font-weight:500;font-family:var(--font-ui,system-ui, sans-serif);letter-spacing:.012em;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none;justify-content:center;align-items:center;gap:8px;padding:0 16px;animation:2.8s cubic-bezier(.4,0,.2,1) both wb-reconnect-show;display:flex;position:fixed;top:0;left:0;right:0}.wb-reconnect-bar__dot{background:var(--success);border-radius:50%;flex-shrink:0;width:6px;height:6px}.wb-reconnect-bar__icon{opacity:.8;flex-shrink:0;display:inline-flex}.wb-reconnect-bar.is-tauri{top:36px}.ft-offline-bar{z-index:200;background:var(--canvas-panel-bg);border-bottom:1px solid var(--border);height:32px;color:var(--text-secondary);letter-spacing:.01em;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none;animation:ft-offline-enter .28s var(--ease-enter) both;flex-shrink:0;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:11.5px;font-weight:500;display:flex;position:sticky;top:0;left:0;right:0}.ft-offline-bar__dot{background:var(--text-muted);border-radius:50%;flex-shrink:0;width:5px;height:5px;animation:2.2s ease-in-out infinite sync-pulse}.ft-offline-bar__icon{opacity:.5;flex-shrink:0;display:inline-flex}.home-board-sync-icon.is-pulsing{animation:2.2s ease-in-out infinite sync-pulse}.home-board-sync-icon.is-spinning{animation:1.3s linear infinite sync-spin}.home-board-sync-badge{animation:wb-badge-enter .22s var(--ease-enter) both}.home-board-sync-badge.is-synced .home-board-sync-icon{animation:1.6s ease-out .1s both wb-dot-ping}.home-board-sync-badge.is-syncing .home-board-sync-icon{animation:.9s linear infinite sync-spin}.home-board-sync-badge.is-offline .home-board-sync-icon{animation:3s ease-in-out infinite sync-pulse}.home-board-sync-badge.is-action .home-board-sync-icon{animation:1.1s ease-in-out infinite sync-pulse}.wb-sync-reconnect-aura{animation:1.2s ease-out both wb-reconnect-aura!important}@media (prefers-reduced-motion:reduce){.wb-offline-bar,.wb-reconnect-bar,.ft-offline-bar,.wb-offline-bar__dot,.ft-offline-bar__dot,.home-board-sync-icon.is-pulsing,.home-board-sync-icon.is-spinning,.home-board-sync-badge.is-synced .home-board-sync-icon,.home-board-sync-badge.is-syncing .home-board-sync-icon,.home-board-sync-badge.is-offline .home-board-sync-icon,.home-board-sync-badge.is-action .home-board-sync-icon,.home-board-sync-badge{animation:none}.wb-sync-reconnect-aura{animation:none!important}}.home-dashboard-quick-card:after{content:"";border-radius:inherit;background:radial-gradient(ellipse at 50% 0%, var(--accent-soft), transparent 70%);opacity:0;transition:opacity var(--motion-base) ease;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.home-dashboard-quick-card:hover:after{opacity:1}.home-board-card:before{content:"";background:linear-gradient(90deg, transparent, var(--border-strong), transparent);opacity:0;height:1px;transition:opacity var(--motion-fast) ease;pointer-events:none;position:absolute;top:0;left:0;right:0}.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{border-right:none;border-bottom:1px solid var(--border);flex-flow:wrap;align-items:center;gap:10px;width:100%;padding:12px 16px}.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-flow:wrap;gap:4px;margin-top:0}.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{flex-direction:column;align-items:stretch;gap:8px;height:auto;min-height:52px;padding-top:10px;padding-bottom:10px}.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-rows:120px auto;grid-template-columns:1fr}.home-project-preview-shell.compact{border-right:none;border-bottom:1px solid var(--border);min-height:120px}}@media (max-width:480px){.home-dashboard-quick-grid{grid-template-columns:1fr}}.image-floating-toolbar{z-index:52;border-radius:var(--r-lg);border:1px solid var(--ui-surface-border);background-color:var(--ui-surface-bg);background-image:var(--sprite-panel-bg);height:44px;box-shadow:var(--ui-surface-shadow);pointer-events:auto;background-repeat:no-repeat;background-size:100% 100%;align-items:center;gap:0;padding:0 6px;display:flex;position:absolute}.image-floating-toolbar.place-top:after,.image-floating-toolbar.place-bottom:after{content:"";border-left:1px solid var(--ui-surface-border);border-top:1px solid var(--ui-surface-border);background:var(--ui-surface-bg);width:8px;height:8px;position:absolute;left:20px}.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{background:var(--ui-surface-border);flex-shrink:0;width:1px;height:22px;margin:0 4px}.image-toolbar-name{min-width:100px;max-width:200px;padding:0 4px}.image-toolbar-name-btn,.image-toolbar-name-input{border-radius:var(--r-xs);border:1px solid var(--ui-control-border);background:var(--ui-control-bg);width:100%;height:32px;color:var(--ui-control-fg-strong);font-size:var(--fs-meta);font-weight:var(--fw-medium);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);padding:0 8px}.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;text-overflow:ellipsis;overflow:hidden}.image-toolbar-name-input{background:var(--ui-control-bg-active);border-color:var(--ui-control-border-active);outline:none}.image-toolbar-btn{border-radius:var(--r-sm);border:1px solid var(--ui-control-border);background-color:var(--ui-control-bg);background-image:var(--sprite-btn-secondary);width:34px;height:34px;color:var(--ui-control-fg);cursor:pointer;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);background-repeat:no-repeat;background-size:100% 100%;flex-shrink:0;place-items:center;display:grid;position:relative}.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{border-radius:var(--r-full);min-width:15px;height:15px;font-size:var(--fs-caption);color:var(--btn-primary-text,var(--on-accent));background:var(--accent-primary);border:1.5px solid var(--ui-surface-bg);line-height:1;font-weight:var(--fw-semibold);place-items:center;padding:0 3px;display:grid;position:absolute;top:-4px;right:-4px}.image-toolbar-popover-wrap{position:relative}.image-toolbar-menu{border-radius:var(--r-md);border:1px solid var(--ui-surface-border);background:var(--ui-surface-bg);min-width:165px;box-shadow:var(--ui-surface-shadow);z-index:53;gap:2px;padding:5px;display:grid;position:absolute;top:calc(100% + 8px);left:0}.image-toolbar-menu.align-right{left:auto;right:0}.image-toolbar-menu button{border-radius:var(--r-xs);border:1px solid var(--ui-control-border);background:var(--ui-control-bg);height:32px;color:var(--ui-control-fg-strong);cursor:pointer;text-align:left;font-size:var(--fs-meta);transition:background var(--motion-instant) ease;align-items:center;gap:7px;padding:0 9px;display:flex}.image-toolbar-menu button:hover{background:var(--ui-control-bg-hover);color:var(--ui-control-fg-strong)}.image-toolbar-menu button.danger{color:var(--danger)}.image-toolbar-menu button.danger:hover{background:var(--danger-soft);color:var(--danger)}.image-comment-panel{z-index:53;border-radius:var(--r-lg);border:1px solid var(--ui-surface-border);background:var(--ui-surface-bg);background-image:var(--sprite-panel-bg);width:320px;max-height:min(320px,100vh - 150px);box-shadow:var(--ui-surface-shadow);background-size:100% 100%;grid-template-rows:auto 1fr auto;display:grid;position:absolute}.image-comment-panel>header{border-bottom:1px solid var(--ui-surface-border);color:var(--ui-control-fg-strong);font-size:var(--fs-meta);justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.image-comment-list{gap:8px;padding:8px 10px;display:grid;overflow:auto}.image-comment-list .empty{border:1px dashed var(--ui-control-border);border-radius:var(--r-sm);color:var(--ui-control-fg);font-size:var(--fs-meta);padding:10px}.image-comment-list article{border:1px solid var(--ui-control-border);border-radius:var(--r-sm);background:var(--ui-control-bg);color:var(--ui-control-fg-strong);padding:8px}.image-comment-list article .meta{font-size:var(--fs-caption);align-items:center;gap:7px;margin-bottom:5px;display:flex}.image-comment-list article .avatar{border-radius:var(--r-full);background:var(--accent-soft);width:20px;height:20px;font-size:var(--fs-caption);font-weight:var(--fw-semibold);place-items:center;display:grid}.image-comment-list article p{font-size:var(--fs-meta);margin:0;line-height:1.4}.image-comment-input{border-top:1px solid var(--ui-surface-border);grid-template-columns:1fr auto;gap:6px;padding:8px;display:grid}.image-comment-input input{border-radius:var(--r-sm);border:1px solid var(--ui-control-border);background:var(--ui-control-bg);height:32px;color:var(--ui-control-fg-strong);font-size:var(--fs-meta);outline:none;padding:0 8px}.image-comment-input button{border-radius:var(--r-sm);border:1px solid var(--ui-control-border-active);background:var(--ui-control-bg-active);height:32px;color:var(--ui-control-fg-strong);cursor:pointer;font-size:var(--fs-meta);padding:0 12px}.image-tag-editor{border-bottom:1px solid var(--ui-surface-border);gap:8px;padding:8px;display:grid}.image-tag-list{flex-wrap:wrap;gap:6px;display:flex}.image-tag-list .empty{color:var(--ui-control-fg);font-size:var(--fs-caption)}.image-tag-chip{border-radius:var(--r-full);border:1px solid var(--ui-control-border-active);background:var(--ui-control-bg-active);color:var(--ui-control-fg-strong);font-size:var(--fs-caption);align-items:center;gap:5px;padding:4px 7px;display:inline-flex}.image-tag-chip .chip-remove{border-radius:var(--r-full);border:1px solid var(--ui-control-border);background:var(--ui-control-bg-hover);width:16px;height:16px;color:var(--ui-control-fg-strong);cursor:pointer;place-items:center;padding:0;display:grid}.image-tag-input-row{grid-template-columns:1fr auto;gap:6px;display:grid}.image-tag-input-row input{border-radius:var(--r-sm);border:1px solid var(--ui-control-border);background:var(--ui-control-bg);height:30px;color:var(--ui-control-fg-strong);font-size:var(--fs-meta);outline:none;padding:0 8px}.image-tag-input-row button{border-radius:var(--r-sm);border:1px solid var(--ui-control-border-active);background:var(--ui-control-bg-active);width:34px;height:30px;color:var(--ui-control-fg-strong);cursor:pointer;place-items:center;padding:0;display:grid}media-player,.media-player{--media-brand:var(--accent);--media-focus-ring-color:color-mix(in srgb, var(--accent) 40%, transparent);--media-controls-color:var(--text-primary);--media-menu-bg:var(--canvas-panel-bg);--media-menu-border:1px solid var(--border-strong);--media-slider-track-bg:var(--border-strong);--media-slider-track-fill-bg:var(--accent);--media-slider-preview-bg:var(--canvas-panel-bg);--media-font-family:var(--font-ui)}.model3d-viewer-overlay{z-index:900;background:radial-gradient(circle at top left, var(--accent-soft), transparent 32%), radial-gradient(circle at bottom right, var(--accent-soft), transparent 28%), var(--bg-overlay);pointer-events:auto;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.model3d-viewer-panel{background:var(--bg-inspector);border-radius:var(--r-xl);border:1px solid var(--border-ui);width:min(980px,94vw);height:min(720px,88vh);min-height:320px;box-shadow:var(--shadow-lg), 0 0 0 1px var(--border) inset;transition:width var(--motion-base) ease, height var(--motion-base) ease, border-radius var(--motion-base) ease;flex-direction:column;display:flex;position:relative;overflow:hidden}.model3d-viewer-panel--compact{width:min(520px,92vw);height:74px;min-height:74px}.model3d-viewer-panel--maximized{border-radius:var(--r-xl);width:calc(100vw - 24px);height:calc(100vh - 24px)}.model3d-viewer-topbar{border-bottom:1px solid var(--border-ui);background:var(--bg-sidebar);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;height:64px;min-height:64px;padding:0 18px;display:flex}.model3d-viewer-title-wrap{align-items:center;gap:12px;display:flex;overflow:hidden}.model3d-viewer-badge{border-radius:var(--r-lg);background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 32%, transparent), var(--accent-soft));width:36px;height:36px;color:var(--text-primary);border:1px solid color-mix(in srgb, var(--accent) 24%, transparent);font-size:var(--fs-meta);font-weight:var(--fw-semibold);flex-shrink:0;place-items:center;display:grid}.model3d-viewer-title-copy{gap:2px;min-width:0;display:grid}.model3d-viewer-title-wrap strong{color:var(--text-primary);font-size:var(--fs-body);font-weight:var(--fw-semibold);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.model3d-viewer-title-copy span{color:var(--text-secondary);font-size:var(--fs-caption);letter-spacing:.02em}.model3d-viewer-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.model3d-viewer-actions button{border-radius:var(--r-md);border:1px solid var(--canvas-btn-border);background:var(--canvas-btn-bg);height:34px;color:var(--text-secondary);font-size:var(--fs-meta);font-weight:var(--fw-semibold);cursor:pointer;transition:background var(--motion-fast), color var(--motion-fast), border-color var(--motion-fast), transform var(--motion-fast) ease;white-space:nowrap;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.model3d-viewer-actions button:hover{background:color-mix(in srgb, var(--accent) 18%, transparent);border-color:color-mix(in srgb, var(--accent) 34%, transparent);color:var(--text-primary);transform:translateY(-1px)}.model3d-viewer-actions button.active{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 26%, transparent), var(--accent-soft));border-color:color-mix(in srgb, var(--accent) 48%, transparent);color:var(--text-primary)}.model3d-viewer-actions button.close-btn{border-color:color-mix(in srgb, var(--danger) 26%, transparent);padding:0 10px}.model3d-viewer-actions button.close-btn:hover{background:var(--danger-soft);border-color:color-mix(in srgb, var(--danger) 46%, transparent);color:var(--danger)}.model3d-viewer-hint{font-size:var(--fs-caption);color:var(--text-muted);background:var(--bg-overlay);border-bottom:1px solid var(--border);flex-wrap:wrap;flex-shrink:0;gap:14px;padding:9px 18px;display:flex}.model3d-viewer-stage{background:radial-gradient(circle at 50% 18%, var(--accent-glow), transparent 28%), radial-gradient(circle at 78% 82%, var(--accent-soft), transparent 24%), var(--bg-canvas);flex:1;position:relative;overflow:hidden}.model3d-viewport{cursor:grab;-webkit-user-select:none;user-select:none;flex:1;position:relative;overflow:hidden}.model3d-viewport.is-interactive{cursor:grab}.model3d-viewport:active{cursor:grabbing}.model3d-canvas-host{width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.model3d-canvas-host canvas{display:block;width:100%!important;height:100%!important}.model3d-viewer-floating-hud{z-index:3;gap:8px;display:grid;position:absolute;bottom:16px;right:16px}.model3d-viewer-floating-hud>div{border-radius:var(--r-xl);background:var(--canvas-panel-bg);border:1px solid var(--canvas-panel-border);min-width:130px;box-shadow:var(--shadow-md);padding:10px 12px}.model3d-viewer-floating-hud label{font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:4px;display:block}.model3d-viewer-floating-hud strong{color:var(--text-primary);font-size:var(--fs-ui);font-weight:var(--fw-semibold)}.model3d-overlay-state{font-size:var(--fs-body);font-weight:var(--fw-semibold);color:var(--text-primary);background:var(--bg-overlay);z-index:6;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.model3d-overlay-state.is-error{color:var(--danger);background:color-mix(in srgb, var(--danger) 14%, var(--bg-overlay))}@media (max-width:860px){.model3d-viewer-overlay{padding:10px}.model3d-viewer-panel{border-radius:var(--r-xl);width:100%;height:min(82vh,640px)}.model3d-viewer-topbar{flex-direction:column;align-items:flex-start;height:auto;min-height:56px;padding:10px 12px}.model3d-viewer-actions{flex-wrap:wrap;width:100%}.model3d-viewer-actions button{flex:auto;justify-content:center}.model3d-viewer-floating-hud{grid-template-columns:1fr 1fr;bottom:10px;left:10px;right:10px}}.mobile-tool-bar{z-index:30;background:var(--canvas-panel-bg);border-top:1px solid var(--canvas-panel-border);justify-content:space-around;align-items:center;gap:4px;height:64px;padding:6px 8px;display:none;position:fixed;bottom:0;left:0;right:0}.mobile-tool-bar-btn{border-radius:var(--r-md);min-height:48px;color:var(--text-secondary);font-size:var(--fs-caption);font-weight:var(--fw-medium);transition:background var(--motion-fast) ease, color var(--motion-fast) ease;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;display:flex}.mobile-tool-bar-btn.is-active,.mobile-tool-bar-btn[aria-pressed=true]{color:var(--accent)}.draw-panel input[type=range]{-webkit-appearance:none;appearance:none;border-radius:var(--r-full);background:var(--ui-control-bg-hover);cursor:pointer;outline:none;height:4px}.draw-panel input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent-primary,var(--accent));width:14px;height:14px;box-shadow:0 0 6px color-mix(in srgb, var(--accent) 55%, transparent);cursor:pointer;transition:transform var(--motion-instant) ease;border:none;border-radius:50%}.draw-panel input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2)}.draw-panel input[type=range]::-moz-range-thumb{background:var(--accent-primary,var(--accent));width:14px;height:14px;box-shadow:0 0 6px color-mix(in srgb, var(--accent) 55%, transparent);cursor:pointer;border:none;border-radius:50%}.ai-table-source-frame{z-index:54;pointer-events:none;border:1px solid color-mix(in srgb, var(--accent) 76%, transparent);border-radius:var(--r-md);box-shadow:0 0 0 1px var(--accent-soft), 0 0 18px var(--accent-glow);animation:1.4s ease-in-out infinite ceyu-ai-table-source-pulse;position:absolute}.ai-table-skeleton{z-index:53;pointer-events:none;border-radius:var(--r-sm);border:1px solid color-mix(in srgb, var(--accent) 42%, transparent);background:var(--bg-elevated);box-shadow:var(--shadow-lg), inset 0 1px 0 var(--border-strong);display:grid;position:absolute;overflow:hidden}.ai-table-skeleton-cell{border-right:1px solid var(--ceyu-skeleton-border);border-bottom:1px solid var(--ceyu-skeleton-border);background:linear-gradient(90deg, transparent, var(--ceyu-skeleton-highlight), transparent), var(--ceyu-skeleton-bg);background-size:220% 100%,100% 100%;min-width:0;min-height:0;animation:1.1s ease-in-out infinite ceyu-ai-table-shimmer}@media (prefers-reduced-motion:reduce){.ai-table-source-frame,.ai-table-skeleton-cell{animation:none}}.ai-table-preview{z-index:56;border-radius:var(--r-sm);border:1px solid color-mix(in srgb, var(--accent) 42%, transparent);background:var(--canvas-panel-bg);box-shadow:var(--shadow-lg), inset 0 1px 0 var(--border-strong);color:var(--canvas-panel-text);grid-template-rows:34px minmax(0,1fr);display:grid;position:absolute;overflow:hidden}.ai-table-preview-header{border-bottom:1px solid var(--border-strong);background:var(--accent-soft);justify-content:space-between;align-items:center;gap:8px;min-width:0;padding:5px 6px 5px 10px;display:flex}.ai-table-preview-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--fs-meta);font-weight:var(--fw-semibold);align-items:center;gap:5px;display:inline-flex;overflow:hidden}.ai-table-preview-title svg{color:var(--warning);flex:none}.ai-table-preview-actions{flex:none;align-items:center;gap:3px;display:flex}.ai-table-preview-actions button,.ai-table-error-node button{border:1px solid var(--border-strong);border-radius:var(--r-xs);background:var(--canvas-btn-bg);min-width:26px;height:26px;color:var(--canvas-panel-text);cursor:pointer;justify-content:center;align-items:center;gap:5px;display:inline-flex}.ai-table-preview-actions button:hover,.ai-table-error-node button:hover{border-color:color-mix(in srgb, var(--accent) 45%, transparent);background:var(--accent-soft)}.ai-table-preview-actions button:disabled{opacity:.42;cursor:not-allowed;background:var(--canvas-btn-bg)}.ai-table-preview-grid{min-width:0;min-height:0;display:grid;overflow:auto}.ai-table-preview-cell{border-right:1px solid var(--border);border-bottom:1px solid var(--border);min-width:0;min-height:32px;font-size:var(--fs-caption);-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;padding:7px 8px;line-height:1.25;display:-webkit-box;overflow:hidden}.ai-table-preview-cell.is-header{min-height:30px;font-weight:var(--fw-semibold);background:var(--accent-soft)}.ai-table-error-node{z-index:56;border-radius:var(--r-sm);border:1px solid color-mix(in srgb, var(--warning) 44%, transparent);background:var(--warning-soft);min-height:92px;color:var(--warning);box-shadow:var(--shadow-lg);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding:12px;display:grid;position:absolute}.ai-table-error-node.is-paid-failure{border-color:color-mix(in srgb, var(--accent) 34%, transparent);background:var(--accent-soft);color:var(--accent);box-shadow:var(--shadow-lg), inset 3px 0 0 var(--accent)}.ai-table-error-node span{min-width:0;font-size:var(--fs-meta);line-height:1.3}.ai-table-error-node button{font-size:var(--fs-meta);grid-column:2;justify-self:start;padding:0 9px}.ai-table-error-upgrade-link{color:var(--accent);font-size:var(--fs-meta);font-weight:var(--fw-semibold);grid-column:2;justify-self:start;text-decoration:none}.ai-table-error-upgrade-link:hover{text-decoration:underline}.ai-table-preview.is-attention,.ai-table-error-node.is-attention{animation:.28s ease-out ceyu-ai-table-attention}@keyframes ceyu-ai-table-shimmer{0%{background-position:180% 0,0 0}to{background-position:-80% 0,0 0}}@keyframes ceyu-ai-table-source-pulse{0%,to{opacity:.72}50%{opacity:1}}@keyframes ceyu-ai-table-attention{0%{transform:translate(0)}25%{transform:translate(-4px)}50%{transform:translate(4px)}75%{transform:translate(-2px)}to{transform:translate(0)}}.annotation-overlay{z-index:35;pointer-events:auto;touch-action:none;position:absolute;top:0;bottom:0;left:0;right:0}.annotation-dim{cursor:crosshair;background:#00000059;position:absolute;top:0;bottom:0;left:0;right:0}.annotation-focus{position:absolute;overflow:hidden}.annotation-svg{cursor:none;touch-action:none;display:block}.annotation-cursor{fill:none;stroke:#ffffffbf;stroke-width:1.5px;pointer-events:none}.annotation-cursor.is-adjust{stroke:var(--accent);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:calc(var(--appnav-h,64px) + 12px);right:12px}.left-tool-dock{display:none!important}.mobile-tool-bar{display:flex!important}.draw-panel{border-radius:20px 20px 0 0;left:8px!important;right:8px!important;bottom:calc(var(--appnav-h,64px) + 8px)!important;width:auto!important;top:auto!important}.draw-panel:before,.image-comment-panel:before,.model3d-viewer-panel:before{content:"";pointer-events:none;background:#ffffff3d;border-radius:999px;width:40px;height:4px;position:absolute;top:10px;left:50%;transform:translate(-50%)}.image-comment-panel{z-index:160;border-radius:20px 20px 0 0;max-height:min(72vh,640px);padding-top:26px;box-shadow:0 -18px 44px #0000006b;width:100vw!important;max-width:100vw!important;position:fixed!important;top:auto!important;bottom:0!important;left:0!important;right:0!important}.image-comment-panel>header{padding-top:4px}.model3d-viewer-overlay{background:var(--bg-overlay);justify-content:stretch;align-items:flex-end;padding:0}.model3d-viewer-panel,.model3d-viewer-panel--compact,.model3d-viewer-panel--maximized{border-radius:20px 20px 0 0;min-height:320px;margin:0;width:100vw!important;max-width:100vw!important;height:min(84vh,760px)!important}.model3d-viewer-panel--compact{min-height:116px;height:116px!important}.model3d-viewer-topbar{padding-top:18px}.model3d-viewer-actions{flex-wrap:wrap;justify-content:flex-end;gap:4px}.model3d-viewer-actions button{min-width:40px;min-height:40px}.model3d-viewer-floating-hud{width:auto;bottom:12px;left:12px;right:12px}}@media (max-width:1024px){.header-btn--upgrade{display:none}.header-board-name{max-width:140px}.left-tool-dock{width:42px;left:8px}.left-tool-btn{width:34px;height:32px}.left-tool-mini-btn{height:25px}}@media (max-width:900px){.hb-upgrade-btn,.hb-present-btn{display:none}.canvas-header{top:8px;left:8px;right:8px}}@media (max-width:680px){.header-board-name,.header-center{display:none}.header-left,.header-right{gap:1px;padding:2px 4px}.header-btn .btn-label{display:none}}@media (max-width:480px){.canvas-header{top:6px;left:6px;right:6px}.header-left,.header-right{gap:0}.zoom-hud{bottom:8px;right:8px}}@media (max-width:900px){.home-dashboard-sidebar{width:180px}}@media (max-width:700px){.home-dashboard-sidebar{width:56px;padding:12px 8px}.home-workspace-switcher-wrap{justify-items:center;gap:6px;margin-bottom:10px;display:grid}.home-workspace-trigger{justify-content:center;width:40px;min-width:40px;padding:0}.home-app-switcher-btn{width:40px;min-height:40px}.home-dashboard-logo-row strong,.home-dashboard-logo-row span,.home-workspace-name,.home-workspace-chevron,.home-dashboard-create-btn span,.home-dashboard-import-btn span,.home-dashboard-search,.home-section-label,.home-nav-badge,.home-upgrade-promo-card,.home-dashboard-storage-card,.home-upgrade-banner{display:none}.home-dashboard-nav-item>span:not(.home-nav-badge){clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.home-dashboard-create-btn,.home-dashboard-import-btn{border-radius:12px;justify-content:center;width:40px;min-width:40px;min-height:40px;padding:0;font-size:0}.home-dashboard-create-btn svg,.home-dashboard-import-btn svg{flex-shrink:0;width:16px;height:16px}.home-dashboard-nav-item{justify-content:center;min-height:40px;padding:0;overflow:hidden}.home-dashboard-nav-item svg{flex-shrink:0}.home-upgrade-banner{align-items:flex-start;gap:8px;padding:8px 10px}.home-upgrade-banner-text{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.home-dashboard-topbar{gap:8px;height:auto;min-height:56px;padding:8px 10px}.home-dashboard-topbar-actions{gap:6px}}@media (min-width:1280px){.header-left,.header-right{gap:2px}.header-board-name{max-width:300px}}@media (min-width:1600px){.left-tool-dock{left:12px}}[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);-webkit-text-decoration:var(--tiptap-text-decoration,none);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));caret-color:var(--accent);box-sizing:border-box;white-space:pre-wrap;word-break:break-word;outline:none;width:100%;height:100%;min-height:100%;padding:0;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}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;overscroll-behavior:none}body,#root,.theme-ceyu-whiteboard{min-height:100svh;min-height:100dvh}button,[role=button],input,select,textarea{touch-action:manipulation}.canvas-host,.canvas-host canvas,.board-canvas-host,.board-canvas-host canvas,.model3d-viewport,.annotation-overlay,.annotation-svg{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.canvas-host,.canvas-host canvas,.board-canvas-host,.board-canvas-host canvas{touch-action:none}@media (hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.home-dashboard-quick-card:after,.home-board-card:before,.board-wrap:after,.canvas-wrap:after{display:none!important}.board-wrap,.canvas-wrap,.inspector,.inspector-panel,.image-floating-toolbar,.image-comment-panel,.mobile-tool-bar,.model3d-viewer-panel,.model3d-viewer-floating-hud>div{box-shadow:0 1px 4px #0000001a!important}.image-toolbar-name-btn:hover,.image-toolbar-btn:hover,.model3d-viewer-actions button:hover,.upgrade-cta-btn:hover{filter:none!important;transform:none!important}}:root[data-low-end-device=true]{--shadow-float:0 2px 10px #0000001f;--ui-surface-shadow:0 1px 8px #0000001f;--btn-shadow-hover:none;--ui-motion-fast:0s;--ui-motion-normal:0s}@media (hover:none) and (pointer:coarse),(max-width:760px){.mobile-tool-bar{height:calc(var(--appnav-h,64px) + env(safe-area-inset-bottom));padding:6px 8px calc(6px + env(safe-area-inset-bottom))}.mobile-tool-bar-btn{touch-action:manipulation;min-width:48px;min-height:52px}.canvas-header{padding-top:env(safe-area-inset-top);flex-wrap:wrap!important;justify-content:flex-start!important;align-items:flex-start!important;gap:6px!important;max-width:calc(100vw - 16px)!important;height:auto!important;display:flex!important}.hb-left,.hb-right{flex:0 auto!important;min-width:0!important;max-width:calc(100vw - 16px)!important}.hb-left{overflow:hidden!important}.hb-right{flex-wrap:wrap!important;height:auto!important;min-height:40px!important}.hb-name-btn{min-width:0!important;max-width:clamp(56px,24vw,100px)!important}.zoom-hud{bottom:calc(var(--appnav-h,64px) + 14px + env(safe-area-inset-bottom))!important}.draw-panel,.image-comment-panel,.model3d-viewer-panel,.settings-modal,.settings-dialog{max-width:100vw!important}.image-floating-toolbar{overscroll-behavior-x:contain;max-width:calc(100vw - 16px);overflow-x:auto}.image-toolbar-btn,.image-comment-input button,.image-tag-input-row button,.model3d-viewer-actions button,.header-btn,.hb-icon-btn,.hb-share-btn,.hb-present-btn,.zoom-hud-btn,.zoom-hud-value{min-width:44px;min-height:44px}input,select,textarea{min-height:44px;font-size:16px}}@media (max-width:420px){.mobile-tool-bar-btn span{display:none}.mobile-tool-bar{justify-content:center}}[data-tiptap-editor] .ProseMirror ::selection{background:color-mix(in srgb, var(--accent) 35%, transparent)}[data-tiptap-editor] .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:var(--text-muted);pointer-events:none;height:0}[data-tiptap-editor] .ProseMirror mark{border-radius:3px;padding:0 2px}[data-tiptap-editor] .ProseMirror code{font-family:var(--font-mono);background:var(--ui-control-bg-hover);border-radius:var(--r-xs);padding:1px 4px;font-size:.9em}[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]{margin:0;padding:0;list-style:none}[data-tiptap-editor] .ProseMirror ul[data-type=taskList] li{align-items:flex-start;gap:7px;margin:2px 0;display:flex}[data-tiptap-editor] .ProseMirror ul[data-type=taskList] li>label{cursor:pointer;flex-shrink:0;margin-top:2px}[data-tiptap-editor] .ProseMirror ul[data-type=taskList] li>label input[type=checkbox]{-webkit-appearance:none;appearance:none;border:1.5px solid color-mix(in srgb, var(--text-primary) 30%, transparent);border-radius:var(--r-xs);cursor:pointer;width:14px;height:14px;transition:background var(--motion-instant) var(--ease-standard), border-color var(--motion-instant) var(--ease-standard);vertical-align:middle;background:0 0;place-items:center;display:grid}[data-tiptap-editor] .ProseMirror ul[data-type=taskList] li>label input[type=checkbox]:checked{background:var(--accent-primary,var(--accent));border-color:var(--accent-primary,var(--accent))}[data-tiptap-editor] .ProseMirror ul[data-type=taskList] li>label input[type=checkbox]:checked:after{content:"";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;width:8px;height:8px;display:block}[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{opacity:.55;text-decoration:line-through}[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{align-items:flex-start;gap:.45em;margin:0;display:flex}[data-richtext-display] ul[data-type=taskList] li>label{justify-content:center;align-items:center;margin-top:.15em;display:inline-flex}[data-richtext-display] ul[data-type=taskList] li>label input[type=checkbox]{width:1.15em;height:1.15em;accent-color:var(--accent-primary,var(--accent));pointer-events:none;flex:none}[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{opacity:.55;text-decoration:line-through}[data-tiptap-editor] .ProseMirror table{border-collapse:collapse;width:100%;font-size:inherit;table-layout:fixed;margin:6px 0;overflow:hidden}[data-tiptap-editor] .ProseMirror table td,[data-tiptap-editor] .ProseMirror table th{border:1px solid var(--ui-control-border);vertical-align:top;min-width:60px;padding:5px 8px;position:relative}[data-tiptap-editor] .ProseMirror table th{background:var(--ui-control-bg);font-weight:var(--fw-semibold)}[data-tiptap-editor] .ProseMirror table .selectedCell:after{background:color-mix(in srgb, var(--accent) 18%, transparent);content:"";pointer-events:none;z-index:2;position:absolute;top:0;bottom:0;left:0;right:0}[data-tiptap-editor] .ProseMirror table .column-resize-handle{background-color:var(--accent-primary,var(--accent));pointer-events:none;width:4px;position:absolute;top:0;bottom:-2px;right:-2px}@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:color-mix(in srgb, var(--accent) 20%, transparent) transparent}.tool-panel::-webkit-scrollbar{width:4px}.tool-panel::-webkit-scrollbar-track{background:0 0}.tool-panel::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--accent) 22%, transparent);border-radius:var(--r-full)}.tool-panel-close-btn:hover{color:var(--text-primary)!important;background:var(--ui-control-bg-hover)!important}.tool-panel-close-btn:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 75%, transparent);outline-offset:2px}.tool-panel input[type=range]{-webkit-appearance:none;appearance:none;border-radius:var(--r-full);background:var(--ui-control-bg-hover);cursor:pointer;outline:none;height:4px}.tool-panel input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent-primary,var(--accent));width:14px;height:14px;box-shadow:0 0 4px color-mix(in srgb, var(--accent) 50%, transparent);cursor:pointer;transition:transform var(--motion-instant) var(--ease-standard);border-radius:50%}.tool-panel input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2)}.tool-panel input[type=range]::-moz-range-thumb{background:var(--accent-primary,var(--accent));cursor:pointer;border:none;border-radius:50%;width:14px;height:14px}@media (max-width:768px){.tool-sheet-backdrop{background:var(--surface-overlay);z-index:49;position:fixed;top:0;bottom:0;left:0;right:0}.tool-panel{border-radius:var(--r-xl) var(--r-xl) 0 0;max-height:min(62vh,100vh - 104px);padding-top:12px;box-shadow:0 -18px 48px #0000006b;width:100vw!important;max-width:100vw!important;position:fixed!important;top:auto!important;bottom:0!important;left:0!important;right:0!important}.tool-panel:before{content:"";border-radius:var(--r-full);background:var(--p-border-3);width:42px;height:5px;margin:0 auto 8px;display:block}.connector-quick-toolbar{max-height:30vh;overflow:auto;z-index:53!important;grid-template-columns:1fr!important;width:auto!important;padding:8px!important;position:fixed!important;top:auto!important;bottom:calc(62vh + 12px)!important;left:12px!important;right:12px!important}.connector-quick-toolbar button{min-width:0!important;padding:0 6px!important}}.logic-socket{opacity:0;transition:opacity var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard)}.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{-webkit-appearance:none}.tool-panel input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}.tool-panel select{-webkit-appearance:none;appearance:none;cursor:pointer;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-position:right 8px center;background-repeat:no-repeat;padding-right:26px!important}.ncb-root{border-radius:var(--r-md);border:1px solid var(--ui-surface-border);background:var(--ui-surface-bg);background-image:var(--sprite-panel-bg);box-shadow:var(--ui-surface-shadow);z-index:52;pointer-events:auto;-webkit-user-select:none;user-select:none;white-space:nowrap;background-size:100% 100%;align-items:center;gap:2px;padding:4px 6px;display:inline-flex;position:absolute}.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 color-mix(in srgb, var(--accent) 65%, transparent)}.ncb-root.ncb-type-video{border-left:2px solid color-mix(in srgb, var(--success) 65%, transparent)}.ncb-root.ncb-type-pdf{border-left:2px solid color-mix(in srgb, var(--danger) 55%, transparent)}.ncb-root.ncb-type-model3d{border-left:2px solid color-mix(in srgb, var(--accent-secondary) 65%, transparent)}.ncb-type-chip,.ncb-label{font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--ui-control-fg);letter-spacing:.03em;-webkit-user-select:none;user-select:none;pointer-events:none;align-items:center;gap:4px;padding:0 4px 0 2px;display:inline-flex}.ncb-divider{background:var(--ui-surface-border);border-radius:1px;flex-shrink:0;width:1px;height:18px;margin:0 2px}.ncb-btn{border-radius:var(--r-xs);width:30px;height:30px;color:var(--ui-control-fg);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), transform var(--ui-motion-fast) var(--ui-ease-standard);background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.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);border-color:var(--ui-control-border-active);color:var(--accent-primary);background-size:100% 100%}.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:color-mix(in srgb, var(--danger) 82%, transparent)}.ncb-btn.is-danger:hover{background:var(--danger-soft);color:var(--danger)}.ncb-btn:disabled{opacity:.3;cursor:not-allowed}.ncb-btn:focus-visible{box-shadow:var(--u-focus-ring,0 0 0 2px var(--accent), 0 0 0 4px color-mix(in srgb, var(--accent) 18%, transparent));outline:none}.ncb-btn--font{width:auto;min-width:96px;font-size:var(--fs-meta);font-weight:var(--fw-medium);justify-content:flex-start;padding:0 10px}.ncb-btn--font-size{width:auto;min-width:52px;font-size:var(--fs-meta);font-weight:var(--fw-semibold);justify-content:center;padding:0 8px}.ncb-badge,.ncb-timecode{font-size:var(--fs-caption);font-variant-numeric:tabular-nums;color:var(--ui-control-fg);pointer-events:none;-webkit-user-select:none;user-select:none;text-align:center;min-width:36px;padding:0 4px}.ncb-badge--tight{min-width:28px;padding:0 2px}.ncb-inline-text{text-align:center;min-width:34px;font-size:var(--fs-caption);font-variant-numeric:tabular-nums;display:inline-block}.ncb-pdf-reader{border-radius:var(--r-sm);border:1px solid var(--ui-control-border);background:var(--ui-control-bg);align-items:center;gap:4px;padding:2px 4px;display:inline-flex}.ncb-pdf-page-pill{border-radius:var(--r-xs);min-width:26px;height:24px;color:var(--ui-control-fg);font-size:var(--fs-caption);font-weight:var(--fw-semibold);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);background:0 0;border:1px solid #0000;padding:0 7px}.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);border-color:var(--ui-control-border-active);color:var(--accent-primary);background-size:100% 100%}.ncb-btn--voice-main{border-radius:var(--r-md);background:var(--ui-control-bg-active);background-image:var(--sprite-btn-primary);border-color:var(--ui-control-border-active);width:34px;height:34px;color:var(--accent-primary);background-size:100% 100%}.ncb-voice-wave{border-radius:var(--r-xs);background:var(--ui-control-bg);border:1px solid var(--ui-control-border);align-items:flex-end;gap:2px;width:92px;height:22px;padding:1px 3px;display:inline-flex}.ncb-voice-wave-bar{border-radius:var(--r-full);background:linear-gradient(180deg, color-mix(in srgb, var(--accent-secondary) 95%, transparent), color-mix(in srgb, var(--accent) 72%, transparent));width:2px}.ncb-more-wrap{position:relative}.ncb-menu{border-radius:var(--r-md);border:1px solid var(--ui-surface-border);background:var(--ui-surface-bg);min-width:140px;box-shadow:var(--ui-surface-shadow);z-index:10;transform-origin:100% 100%;flex-direction:column;gap:1px;padding:4px;display:flex;position:absolute;bottom:calc(100% + 6px);right:0}.ncb-menu--arrange{transform-origin:0 100%;min-width:280px;max-height:min(46vh,320px);left:0;right:auto;overflow-y:auto}.ncb-menu button{border-radius:var(--r-xs);height:32px;color:var(--ui-control-fg-strong);font-size:var(--fs-meta);font-family:var(--font-ui);cursor:pointer;text-align:left;width:100%;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);background:0 0;border:none;align-items:center;gap:7px;padding:0 10px;display:inline-flex}.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:color-mix(in srgb, var(--danger) 85%, transparent)}.ncb-menu button.danger:hover{background:var(--danger-soft);color:var(--danger)}.ncb-menu-divider{background:var(--border-strong);height:1px;margin:2px 6px}@media (max-width:768px){.ncb-root{border-radius:var(--r-sm);gap:1px;padding:3px 5px}.ncb-btn{width:34px;height:34px}.ncb-type-chip,.ncb-label{display:none}}.comment-pin-overlay{pointer-events:auto;z-index:45;position:absolute}.comment-pin-btn{border-radius:50% 50% 50% var(--r-xs);cursor:pointer;border:none;outline:none;place-items:center;width:32px;height:32px;display:grid;position:relative}.comment-pin-badge{background:var(--on-accent);border:1.5px solid #00000040;border-radius:50%;width:9px;height:9px;position:absolute;top:-3px;right:-3px}.comment-pin-bubble{background:var(--canvas-panel-bg);border:1px solid var(--canvas-panel-border);border-radius:var(--r-lg);width:260px;box-shadow:var(--shadow-float);position:absolute;bottom:calc(100% + 8px);left:0;overflow:hidden}.cpb-header{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:10px 10px 8px;display:flex}.cpb-avatar{width:28px;height:28px;font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--on-accent);letter-spacing:.02em;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.cpb-meta{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.cpb-author{font-size:var(--fs-meta);font-weight:var(--fw-semibold);color:var(--canvas-panel-text);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cpb-time{font-size:var(--fs-caption);color:var(--canvas-panel-text-muted)}.cpb-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.cpb-icon-btn{border-radius:var(--r-xs);width:24px;height:24px;color:var(--canvas-panel-text-muted);cursor:pointer;transition:background var(--motion-instant) var(--ease-standard), color var(--motion-instant) var(--ease-standard);background:0 0;border:none;place-items:center;display:grid}.cpb-icon-btn:hover{background:var(--canvas-btn-bg-hover);color:var(--canvas-panel-text)}.cpb-textarea{box-sizing:border-box;resize:none;width:100%;color:var(--canvas-panel-text);font-size:var(--fs-ui);font-family:var(--font-ui);background:0 0;border:none;outline:none;min-height:80px;padding:10px;line-height:1.5}.cpb-textarea::placeholder{color:var(--canvas-panel-text-muted)}.cpb-typing{align-items:center;gap:6px;padding:4px 10px 6px;display:flex}.cpb-typing-dots{align-items:center;gap:3px;display:flex}.cpb-typing-dots span{background:var(--canvas-panel-text-muted);border-radius:50%;width:5px;height:5px;animation:1.1s ease-in-out infinite cpb-bounce}.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{opacity:.4;transform:scale(.75)}40%{opacity:1;transform:scale(1)}}.cpb-typing-text{font-size:var(--fs-caption);color:var(--canvas-panel-text-muted)}.cpb-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:6px 10px 10px;display:flex}.cpb-char-count{font-size:var(--fs-caption);color:var(--canvas-panel-text-muted)}.cpb-send-btn{border-radius:var(--r-sm);color:var(--on-accent);font-size:var(--fs-meta);font-weight:var(--fw-semibold);cursor:pointer;transition:opacity var(--motion-instant) var(--ease-standard), transform var(--motion-instant) var(--ease-standard);font-family:var(--font-ui);border:none;align-items:center;gap:5px;padding:5px 12px;display:flex}.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{align-items:center;gap:4px;padding:0 2px;display:flex}.ctx-color-dot{border:1.5px solid var(--border-strong);cursor:pointer;width:17px;height:17px;transition:transform var(--motion-instant) var(--ease-standard), border-color var(--motion-instant) var(--ease-standard);border-radius:50%;outline:none;flex-shrink:0}.ctx-color-dot:hover{transform:scale(1.18)}.ctx-color-dot--active{border-color:var(--text-primary);box-shadow:0 0 0 2px color-mix(in srgb, var(--text-primary) 25%, transparent);transform:scale(1.12)}.peer-cursor{pointer-events:none;z-index:52;will-change:transform;transform-origin:0 0;transition:opacity var(--motion-base) var(--ease-standard);position:absolute}.peer-cursor-label{border-radius:var(--r-sm) var(--r-sm) var(--r-sm) 2px;font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--on-accent);white-space:nowrap;text-overflow:ellipsis;max-width:100px;box-shadow:var(--shadow-sm);font-family:var(--font-ui);letter-spacing:.01em;padding:2px 7px;position:absolute;top:18px;left:12px;overflow:hidden}.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]{pointer-events:none!important;display:none!important}.canvas-wrap.present-mode.present-draw-open .tool-panel{pointer-events:auto!important;display:block!important}.header-btn--present{gap:var(--space-1);border-radius:var(--r-md);border:1px solid var(--border-strong);background:var(--ui-control-bg);height:36px;color:var(--text-primary);font-size:var(--fs-body);font-weight:var(--fw-semibold);padding:0 14px}.header-btn--present:hover{background:var(--ui-control-bg-hover);border-color:var(--border-strong);transform:none}.header-btn--share{align-items:center;gap:var(--space-1);height:36px;padding:0 var(--space-4);border-radius:var(--r-md);background-color:var(--accent-primary);background-image:var(--sprite-btn-primary);color:var(--on-accent);font-size:var(--fs-body);font-weight:var(--fw-semibold);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 color-mix(in srgb, var(--accent) 40%, transparent);background-repeat:no-repeat;background-size:100% 100%;border:none;display:inline-flex}.header-btn--share:hover{filter:brightness(1.1);box-shadow:var(--btn-shadow-hover,0 2px 8px color-mix(in srgb, var(--accent) 45%, transparent))}.header-btn--share:active{transform:scale(var(--ui-press-scale))}.header-btn--upgrade{border-radius:var(--r-sm);background:var(--ui-control-bg);height:28px;color:var(--text-secondary);border:1px solid var(--ui-control-border);font-size:var(--fs-caption);font-weight:var(--fw-semibold);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);align-items:center;gap:5px;padding:0 10px;display:inline-flex}.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 var(--warning-soft));transform:scale(var(--ui-hover-scale))}.export-menu{background:var(--canvas-panel-bg);border:1px solid var(--border-strong);border-radius:var(--r-lg);min-width:226px;box-shadow:var(--shadow-lg);z-index:120;padding:6px;position:absolute;top:calc(100% + 8px);right:0}.export-menu-section-label{font-size:var(--fs-caption);font-weight:var(--fw-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);padding:6px 10px 4px}.export-menu-item{border-radius:var(--r-sm);color:var(--text-primary);font-size:var(--fs-ui);font-family:var(--font-ui);cursor:pointer;text-align:left;width:100%;transition:background var(--motion-instant) ease;background:0 0;border:none;align-items:center;gap:10px;padding:7px 10px;display:flex}.export-menu-item:hover{background:var(--ui-control-bg-hover)}.export-menu-item:disabled{opacity:.45;cursor:default}.export-menu-item:disabled:hover{background:0 0}.export-menu-item .export-item-icon{color:var(--text-secondary);flex-shrink:0}.export-menu-badge{font-size:var(--fs-caption);font-weight:var(--fw-semibold);border-radius:var(--r-xs);background:var(--accent-soft);color:var(--accent);margin-left:auto;padding:2px 6px}.export-menu-divider{background:var(--border);height:1px;margin:4px 6px}.smc-backdrop{background:var(--bg-overlay);z-index:var(--ceyu-layer-modal-overlay,110);place-items:center;padding:16px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.smc-card{width:min(480px,100%);z-index:var(--ceyu-layer-modal-panel,120);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-2xl);box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:relative;overflow:hidden}.smc-header{justify-content:space-between;align-items:flex-start;gap:10px;padding:18px 18px 0;display:flex}.smc-header-meta{align-items:center;gap:10px;min-width:0;display:flex}.smc-board-icon{border-radius:var(--r-sm);background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 28%, transparent);width:32px;height:32px;color:var(--accent);flex-shrink:0;place-items:center;display:grid}.smc-header-text{flex-direction:column;gap:1px;min-width:0;display:flex}.smc-title{font-size:var(--fs-subtitle);font-weight:var(--fw-semibold);color:var(--text-primary);letter-spacing:-.015em;line-height:1.2}.smc-board-name{font-size:var(--fs-caption);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:220px;overflow:hidden}.smc-header-badges{flex-shrink:0;align-items:center;gap:5px;display:flex}.smc-badge{border-radius:var(--r-full);font-size:var(--fs-caption);font-weight:var(--fw-semibold);letter-spacing:.03em;white-space:nowrap;align-items:center;gap:4px;padding:3px 8px;display:inline-flex}.smc-badge--green{background:var(--success-soft);border:1px solid color-mix(in srgb, var(--success) 30%, transparent);color:var(--success)}.smc-badge--red{background:var(--danger-soft);border:1px solid color-mix(in srgb, var(--danger) 26%, transparent);color:var(--danger)}.smc-badge--indigo{background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 24%, transparent);color:var(--accent)}.smc-badge--yellow{background:var(--warning-soft);border:1px solid color-mix(in srgb, var(--warning) 30%, transparent);color:var(--warning)}.smc-online-dot{background:var(--success);width:6px;height:6px;box-shadow:0 0 0 2px color-mix(in srgb, var(--success) 30%, transparent);border-radius:50%;animation:2s ease-in-out infinite smc-pulse;display:inline-block}@keyframes smc-pulse{0%,to{opacity:1}50%{opacity:.55}}.smc-close-btn{border-radius:var(--r-sm);width:28px;height:28px;color:var(--text-muted);cursor:pointer;transition:background var(--motion-instant) ease, color var(--motion-instant) ease;background:0 0;border:none;flex-shrink:0;place-items:center;display:grid}.smc-close-btn:hover{background:var(--ui-control-bg-hover);color:var(--text-primary)}.smc-tabs{border-bottom:1px solid var(--border);gap:2px;margin-top:16px;padding:0 18px;display:flex;position:relative}.smc-tab{align-items:center;gap:var(--space-1);font-size:var(--fs-meta);font-weight:var(--fw-medium);color:var(--text-secondary);cursor:pointer;font-family:var(--font-ui);transition:color var(--motion-fast) ease;border-radius:var(--r-sm) var(--r-sm) 0 0;z-index:1;background:0 0;border:none;margin-bottom:-1px;padding:9px 14px;display:inline-flex;position:relative}.smc-tab:hover{color:var(--text-primary);background:var(--ui-control-bg)}.smc-tab--active{color:var(--text-primary)}.smc-tab-indicator-track{pointer-events:none;height:2px;position:absolute;bottom:0;left:18px;right:18px}.smc-tab-indicator{background:var(--accent-primary,var(--accent));height:2px;box-shadow:0 0 8px color-mix(in srgb, var(--accent) 60%, transparent);border-radius:2px 2px 0 0;position:absolute}.smc-body{min-height:180px;padding:18px}.smc-tab-content{flex-direction:column;gap:12px;display:flex}.smc-collab-banner{border-radius:var(--r-lg);background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 10%, transparent) 0%, color-mix(in srgb, var(--accent) 5%, transparent) 100%);border:1px solid color-mix(in srgb, var(--accent) 24%, transparent);align-items:center;gap:12px;padding:12px 14px;display:flex}.smc-collab-icon{border-radius:var(--r-md);background:color-mix(in srgb, var(--accent) 20%, transparent);border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);width:34px;height:34px;color:var(--accent);flex-shrink:0;place-items:center;display:grid}.smc-collab-text{flex-direction:column;flex:1;gap:2px;display:flex}.smc-collab-title{font-size:var(--fs-ui);font-weight:var(--fw-semibold);color:var(--text-primary)}.smc-collab-desc{font-size:var(--fs-caption);color:var(--text-secondary)}.smc-collab-btn{border-radius:var(--r-sm);background:var(--accent-primary,var(--accent));height:30px;color:var(--on-accent);font-size:var(--fs-meta);font-weight:var(--fw-semibold);cursor:pointer;white-space:nowrap;font-family:var(--font-ui);box-shadow:0 2px 10px color-mix(in srgb, var(--accent) 35%, transparent);transition:filter var(--motion-instant) ease, transform var(--motion-instant) ease;border:none;flex-shrink:0;padding:0 14px}.smc-collab-btn:hover{filter:brightness(1.12)}.smc-collab-btn:active{transform:scale(.95)}.smc-link-section{border-radius:var(--r-lg);border:1px solid var(--border);background:var(--ui-surface-bg-soft);overflow:hidden}.smc-link-section-header{border-bottom:1px solid var(--border);align-items:center;gap:6px;padding:8px 12px;display:flex}.smc-section-label{font-size:var(--fs-caption);font-weight:var(--fw-semibold);letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);flex:1;align-items:center;gap:5px;display:inline-flex}.smc-expiry{font-size:var(--fs-caption);font-weight:var(--fw-semibold);border-radius:var(--r-full);background:var(--warning-soft);border:1px solid color-mix(in srgb, var(--warning) 24%, transparent);color:var(--warning);padding:2px 7px}.smc-expiry--expired{background:var(--danger-soft);border-color:color-mix(in srgb, var(--danger) 24%, transparent);color:var(--danger)}.smc-link-pill{border-radius:var(--r-full);background:var(--ui-control-bg);border:1px solid var(--border);align-items:center;gap:0;margin:8px;padding:5px 10px 5px 12px;display:flex}.smc-link-globe{color:var(--text-muted);flex-shrink:0;margin-right:6px}.smc-link-url{font-size:var(--fs-caption);color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-family:var(--font-mono,monospace);flex:1;overflow:hidden}.smc-link-sep{background:var(--border-strong);flex-shrink:0;width:1px;height:16px;margin:0 6px}.smc-role-wrap{flex-shrink:0;position:relative}.smc-role-trigger{border-radius:var(--r-xs);height:28px;color:var(--text-primary);font-size:var(--fs-meta);font-weight:var(--fw-semibold);cursor:pointer;font-family:var(--font-ui);transition:background var(--motion-instant) ease;background:0 0;border:none;align-items:center;gap:5px;padding:0 8px;display:inline-flex}.smc-role-trigger:hover{background:var(--ui-control-bg-hover)}.smc-role-menu{border-radius:var(--r-lg);border:1px solid var(--border-strong);background:var(--canvas-panel-bg);min-width:148px;box-shadow:var(--shadow-lg);z-index:var(--ceyu-layer-popover,100);padding:5px;position:absolute;top:calc(100% + 6px);right:0}.smc-role-item{border-radius:var(--r-sm);width:100%;height:32px;color:var(--text-secondary);font-size:var(--fs-meta);font-weight:var(--fw-medium);text-align:left;cursor:pointer;font-family:var(--font-ui);transition:background var(--motion-instant) ease, color var(--motion-instant) ease;background:0 0;border:none;align-items:center;padding:0 10px;display:flex}.smc-role-item:hover{background:var(--ui-control-bg-hover);color:var(--text-primary)}.smc-role-item--active{color:var(--text-primary)}.smc-role-check{color:var(--accent-primary,var(--accent));margin-left:auto;display:flex}.smc-copy-pill-btn{border-radius:var(--r-xs);background:var(--ui-control-bg-hover);border:1px solid var(--border-strong);height:28px;color:var(--text-primary);font-size:var(--fs-meta);font-weight:var(--fw-semibold);cursor:pointer;white-space:nowrap;font-family:var(--font-ui);transition:background var(--motion-instant) ease, border-color var(--motion-instant) ease, box-shadow var(--motion-instant) ease;flex-shrink:0;align-items:center;padding:0 11px;display:inline-flex}.smc-copy-pill-btn:hover{background:var(--ui-control-bg-hover);border-color:var(--border-strong)}.smc-copy-pill-btn--done{background:var(--success-soft);border-color:color-mix(in srgb, var(--success) 28%, transparent);color:var(--success)}.smc-copy-inner{align-items:center;gap:5px;display:inline-flex}.smc-info-row{font-size:var(--fs-caption);color:var(--text-muted);align-items:center;gap:6px;padding:0 2px;display:flex}.smc-person-row{border-top:1px solid var(--border);align-items:center;gap:10px;padding:9px 0;display:flex}.smc-person-row:first-of-type{border-top:none}.smc-avatar{width:34px;height:34px;font-size:var(--fs-ui);font-weight:var(--fw-semibold);color:var(--on-accent);letter-spacing:-.02em;border-radius:50%;flex-shrink:0;place-items:center;display:grid;position:relative}.smc-avatar--self{box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 50%, transparent)}.smc-avatar-crown{font-size:var(--fs-meta);pointer-events:none;line-height:1;position:absolute;top:-8px;right:-6px}.smc-avatar-online{background:var(--success);border:2px solid var(--bg-elevated);border-radius:50%;width:9px;height:9px;position:absolute;bottom:0;right:0}.smc-person-info{flex:1;min-width:0}.smc-person-name{font-size:var(--fs-ui);font-weight:var(--fw-medium);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.smc-person-role{font-size:var(--fs-caption);color:var(--text-muted);margin-top:1px}.smc-person-badge{font-size:var(--fs-caption);font-weight:var(--fw-semibold);border-radius:var(--r-full);letter-spacing:.04em;flex-shrink:0;padding:2px 8px}.smc-person-badge--owner{background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 26%, transparent);color:var(--accent)}.smc-kick-btn{border-radius:var(--r-sm);border:1px solid color-mix(in srgb, var(--danger) 28%, transparent);background:var(--danger-soft);height:28px;color:var(--danger);font-size:var(--fs-caption);font-weight:var(--fw-semibold);cursor:pointer;font-family:var(--font-ui);transition:background var(--motion-instant) ease, border-color var(--motion-instant) ease;flex-shrink:0;align-items:center;gap:5px;padding:0 10px;display:inline-flex}.smc-kick-btn:hover{background:color-mix(in srgb, var(--danger) 16%, transparent);border-color:color-mix(in srgb, var(--danger) 45%, transparent)}.smc-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:28px 0 20px;display:flex}.smc-empty-icon{color:var(--text-muted)}.smc-empty-label{font-size:var(--fs-ui);font-weight:var(--fw-medium);color:var(--text-secondary)}.smc-empty-sub{font-size:var(--fs-caption);color:var(--text-muted);max-width:240px;line-height:1.5}.smc-embed-toggle-row{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.smc-embed-toggle-text{color:var(--text-secondary,#a0a0a0);font-size:12px}.smc-embed-presets{gap:6px;margin-bottom:8px;display:flex}.smc-embed-preset{border:1px solid var(--border);color:var(--text-secondary,#a0a0a0);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:4px 10px;font-size:11px}.smc-embed-preset.is-active{border-color:var(--accent-primary,#6c78ff);color:var(--accent-primary,#6c78ff)}.smc-embed-wrapper{border-radius:var(--r-lg);background:var(--bg-canvas);border:1px solid var(--border);position:relative;overflow:hidden}.smc-embed-code{font-family:var(--font-mono,"JetBrains Mono", monospace);font-size:var(--fs-caption);color:var(--accent);white-space:pre;margin:0;padding:14px;line-height:1.65;overflow-x:auto}.smc-embed-copy-btn{border-radius:var(--r-xs);border:1px solid var(--border-strong);background:var(--canvas-panel-bg);height:26px;color:var(--text-secondary);font-size:var(--fs-caption);font-weight:var(--fw-semibold);cursor:pointer;font-family:var(--font-ui);transition:background var(--motion-instant) ease, color var(--motion-instant) ease;align-items:center;padding:0 10px;display:inline-flex;position:absolute;top:8px;right:8px}.smc-embed-copy-btn:hover{background:var(--ui-control-bg-hover);color:var(--text-primary)}.smc-embed-copy-btn--done{color:var(--success);border-color:color-mix(in srgb, var(--success) 30%, transparent)}.smc-embed-desc{font-size:var(--fs-caption);color:var(--text-muted);margin:0;line-height:1.55}.smc-footer{border-top:1px solid var(--border);font-size:var(--fs-caption);color:var(--text-muted);background:var(--ui-surface-bg-soft);align-items:center;gap:6px;padding:10px 18px;display:flex}.share-modal-backdrop{background:var(--bg-overlay);z-index:130;place-items:center;padding:16px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.share-modal-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-2xl);flex-direction:column;width:min(480px,100%);display:flex;overflow:hidden}.share-modal-tabs{border-bottom:1px solid var(--border);padding:0 18px;display:flex}.share-modal-tab{font-size:var(--fs-meta);font-weight:var(--fw-medium);color:var(--text-secondary);cursor:pointer;font-family:var(--font-ui);transition:color var(--motion-fast) ease, border-color var(--motion-fast) ease;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:9px 14px}.share-modal-tab:hover{color:var(--text-primary)}.share-modal-tab.active{color:var(--text-primary);border-bottom-color:var(--accent-primary,var(--accent))}.share-toggle-label{font-size:var(--fs-ui);color:var(--text-primary)}.share-toggle-desc{font-size:var(--fs-meta);color:var(--text-secondary);margin-top:2px}.share-copy-btn{border-radius:var(--r-xs);background:var(--accent-primary,var(--accent));height:30px;color:var(--on-accent);font-size:var(--fs-meta);font-weight:var(--fw-semibold);cursor:pointer;white-space:nowrap;font-family:var(--font-ui);transition:filter var(--motion-fast) ease;border:none;flex-shrink:0;padding:0 12px}.share-copy-btn:hover{filter:brightness(1.15)}.chat-panel-anchor{z-index:160;pointer-events:auto;position:absolute;bottom:20px;right:20px}.chat-panel{border-radius:var(--r-2xl);border:1px solid var(--border-strong);background:var(--canvas-panel-bg);width:340px;height:480px;box-shadow:var(--shadow-lg);transform-origin:100% 100%;flex-direction:column;display:flex;overflow:hidden}.chat-panel-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 16px 13px;display:flex}.chat-panel-header-left{align-items:center;gap:8px;display:flex}.chat-panel-icon{color:var(--accent);flex-shrink:0}.chat-panel-title{font-size:var(--fs-ui);font-weight:var(--fw-semibold);color:var(--text-primary);letter-spacing:-.01em}.chat-panel-count{border-radius:var(--r-full);background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);min-width:18px;height:18px;color:var(--accent);font-size:var(--fs-caption);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;padding:0 5px;display:inline-flex}.chat-panel-close{border-radius:var(--r-xs);background:var(--ui-control-bg);width:26px;height:26px;color:var(--text-muted);cursor:pointer;transition:background var(--motion-instant) ease, color var(--motion-instant) ease;border:none;justify-content:center;align-items:center;display:flex}.chat-panel-close:hover{background:var(--ui-control-bg-hover);color:var(--text-primary)}.chat-panel-body{scroll-behavior:smooth;flex:1;padding:12px 14px;overflow:hidden auto}.chat-panel-body::-webkit-scrollbar{width:4px}.chat-panel-body::-webkit-scrollbar-track{background:0 0}.chat-panel-body::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--r-full)}.chat-panel-body::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}.chat-empty{height:100%;color:var(--text-muted);font-size:var(--fs-meta);font-weight:var(--fw-medium);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:20px;display:flex}.chat-empty-icon{border-radius:var(--r-xl);background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 18%, transparent);width:44px;height:44px;color:color-mix(in srgb, var(--accent) 60%, transparent);justify-content:center;align-items:center;margin-bottom:4px;display:flex}.chat-empty-hint{font-size:var(--fs-caption);color:var(--text-muted);max-width:200px;line-height:1.4}.chat-messages{flex-direction:column;gap:14px;display:flex}.chat-group{align-items:flex-end;gap:8px;display:flex}.chat-group--self{flex-direction:row-reverse}.chat-group-content{flex-direction:column;gap:3px;max-width:82%;display:flex}.chat-group--self .chat-group-content{align-items:flex-end}.chat-avatar{width:28px;height:28px;font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--on-accent);letter-spacing:-.02em;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-bottom:2px;display:flex}.chat-avatar--self{box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 45%, transparent)}.chat-group-meta{align-items:baseline;gap:6px;margin-bottom:1px;padding-left:2px;display:flex}.chat-group-name{font-size:var(--fs-caption);font-weight:var(--fw-semibold);letter-spacing:-.01em}.chat-group-time{font-size:var(--fs-caption);color:var(--text-muted);font-variant-numeric:tabular-nums}.chat-bubble{background:var(--ui-control-bg);border:1px solid var(--border);color:var(--text-primary);font-size:var(--fs-ui);word-break:break-word;max-width:100%;transition:background var(--motion-instant) ease;border-radius:14px 14px 14px 4px;padding:8px 12px;line-height:1.45;display:inline-block;position:relative}.chat-bubble:hover{background:var(--ui-control-bg-hover)}.chat-bubble--self{background:color-mix(in srgb, var(--accent) 22%, transparent);border-color:color-mix(in srgb, var(--accent) 32%, transparent);color:var(--on-accent);border-radius:14px 14px 4px}.chat-bubble--self:hover{background:color-mix(in srgb, var(--accent) 28%, transparent)}.chat-bubble-time{font-size:var(--fs-caption);color:var(--text-muted);font-variant-numeric:tabular-nums;text-align:right;margin-top:3px;display:block}.chat-bubble--self .chat-bubble-time{text-align:right}.chat-panel-footer{border-top:1px solid var(--border);flex-shrink:0;padding:10px 12px 12px}.chat-input-row{background:var(--ui-control-bg);border:1px solid var(--border-strong);border-radius:var(--r-lg);transition:border-color var(--motion-instant) ease, box-shadow var(--motion-instant) ease;align-items:center;gap:8px;padding:4px 4px 4px 12px;display:flex}.chat-input-row:focus-within{border-color:color-mix(in srgb, var(--accent) 45%, transparent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 10%, transparent)}.chat-input{color:var(--text-primary);font-size:var(--fs-ui);font-family:var(--font-ui,"DM Sans", system-ui, sans-serif);background:0 0;border:none;outline:none;flex:1;min-width:0;padding:6px 0}.chat-input::placeholder{color:var(--text-muted)}.chat-send-btn{border-radius:var(--r-sm);background:var(--ui-control-bg);width:34px;height:34px;color:var(--text-muted);cursor:pointer;transition:background var(--motion-instant) ease, color var(--motion-instant) ease, box-shadow var(--motion-instant) ease;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.chat-send-btn--active{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-hover) 100%);color:var(--on-accent);box-shadow:0 3px 12px color-mix(in srgb, var(--accent) 45%, transparent)}.chat-send-btn--active:hover{box-shadow:0 4px 18px color-mix(in srgb, var(--accent) 60%, transparent)}.chat-send-btn:disabled{opacity:.35;cursor:not-allowed}.chat-header-badge{border-radius:var(--r-full);background:var(--danger);min-width:16px;height:16px;color:var(--on-accent);font-size:var(--fs-caption);font-weight:var(--fw-semibold);border:2px solid var(--canvas-panel-bg);font-variant-numeric:tabular-nums;pointer-events:none;box-shadow:0 2px 6px color-mix(in srgb, var(--danger) 50%, transparent);justify-content:center;align-items:center;padding:0 3px;display:flex;position:absolute;top:-3px;right:-3px}.live-cursors-layer{pointer-events:none;z-index:60;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.live-cursor{pointer-events:none;will-change:transform;transition:transform var(--motion-instant) linear;position:absolute;top:0;left:0}.live-cursor__arrow{filter:drop-shadow(0 2px 4px #00000073);display:block}.live-cursor__label{border-radius:var(--r-xs);font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--on-accent);white-space:nowrap;letter-spacing:.01em;box-shadow:var(--shadow-md);pointer-events:none;padding:3px 8px;position:absolute;top:18px;left:14px}.peer-avatars{align-items:center;gap:-6px;display:flex}.peer-avatar{border:2px solid var(--bg-titlebar);width:28px;height:28px;font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--on-accent);cursor:default;transition:transform var(--motion-fast) var(--ease);box-shadow:var(--shadow-sm);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-left:-6px;display:flex}.peer-avatar:first-child{margin-left:0}.peer-avatar:hover{z-index:2;transform:translateY(-2px)scale(1.1)}.peer-avatar--overflow{background:var(--bg-elevated);color:var(--text-secondary);font-size:var(--fs-caption)}.comment-pins-layer{pointer-events:none;z-index:55;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.comment-pin{background:var(--accent);border:2px solid color-mix(in srgb, var(--on-accent) 25%, transparent);width:30px;height:30px;color:var(--on-accent);cursor:pointer;pointer-events:all;transform-origin:0 100%;box-shadow:0 3px 12px color-mix(in srgb, var(--accent) 45%, transparent), var(--shadow-sm);transition:transform var(--motion-fast) var(--spring), box-shadow var(--motion-fast) ease, background var(--motion-instant) ease;border-radius:50% 50% 50% 0;justify-content:center;align-items:center;display:flex;position:absolute;top:0;left:0;translate:-50% -100%}.comment-pin:hover{box-shadow:0 6px 20px color-mix(in srgb, var(--accent) 55%, transparent), var(--shadow-md);transform:scale(1.18)}.comment-pin--open{background:var(--on-accent);color:var(--accent);transform:scale(1.1)}.comment-pin--resolved{background:var(--bg-elevated);color:var(--text-muted);border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.comment-pin--resolved:hover{background:var(--bg-elevated)}.comment-pin__count{background:var(--on-accent);width:16px;height:16px;color:var(--accent);font-size:var(--fs-caption);font-weight:var(--fw-semibold);border:1.5px solid var(--accent);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:-6px;right:-6px}.comment-thread-panel{background:var(--canvas-panel-bg);border:1px solid var(--canvas-panel-border);border-radius:var(--r-lg) 0 0 var(--r-lg);z-index:80;width:320px;max-height:calc(100vh - 80px);box-shadow:var(--shadow-lg);border-right:none;flex-direction:column;display:flex;position:absolute;top:54px;right:0;overflow:hidden}.ctp__header{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:8px;padding:12px 14px;display:flex}.ctp__title{font-size:var(--fs-ui);font-weight:var(--fw-semibold);color:var(--text-primary);flex:1}.ctp__actions{align-items:center;gap:4px;display:flex}.ctp__messages{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--accent) 20%, transparent) transparent;flex-direction:column;flex:1;gap:14px;padding:12px;display:flex;overflow-y:auto}.ctp__msg{align-items:flex-start;gap:10px;display:flex}.ctp__msg--mention{background:color-mix(in srgb, var(--accent) 8%, transparent);border-left:2px solid var(--accent);border-radius:0 var(--r-sm) var(--r-sm) 0;margin-left:-4px;padding-left:8px}.ctp__msg-avatar{width:28px;height:28px;font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--on-accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;display:flex}.ctp__msg-body{flex:1;min-width:0}.ctp__msg-meta{align-items:baseline;gap:8px;margin-bottom:4px;display:flex}.ctp__msg-author{font-size:var(--fs-meta);font-weight:var(--fw-semibold);color:var(--text-primary)}.ctp__msg-time{font-size:var(--fs-caption);color:var(--text-muted)}.ctp__msg-text{font-size:var(--fs-ui);color:var(--text-secondary);word-break:break-word;white-space:pre-wrap;line-height:1.5}.ctp__mention{color:var(--accent);font-weight:var(--fw-semibold)}.ctp__reactions{flex-wrap:wrap;align-items:center;gap:4px;margin-top:6px;display:flex;position:relative}.ctp__reaction-chip{border-radius:var(--r-full);background:var(--ui-control-bg);border:1px solid var(--border);font-size:var(--fs-meta);color:var(--text-primary);cursor:pointer;transition:background var(--motion-instant) ease;font-family:var(--font-ui);padding:2px 7px}.ctp__reaction-chip:hover{background:var(--ui-control-bg-hover)}.ctp__reaction-add{opacity:.5;transition:opacity var(--motion-instant) ease}.ctp__reaction-add:hover{opacity:1}.emoji-picker{background:var(--canvas-panel-bg);border:1px solid var(--canvas-panel-border);border-radius:var(--r-md);box-shadow:var(--shadow-float);z-index:100;gap:2px;padding:6px 8px;display:flex;position:absolute;bottom:calc(100% + 4px);left:0}.emoji-picker__btn{width:30px;height:30px;font-size:var(--fs-subtitle);border-radius:var(--r-xs);cursor:pointer;transition:background var(--motion-instant) ease, transform var(--motion-instant) ease;font-family:var(--font-ui);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.emoji-picker__btn:hover{background:var(--ui-control-bg-hover);transform:scale(1.2)}.reply-box{border-top:1px solid var(--border);flex-shrink:0;align-items:flex-start;gap:10px;padding:12px 14px;display:flex;position:relative}.reply-box__avatar{width:28px;height:28px;font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--on-accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;display:flex}.reply-box__input-wrap{flex-direction:column;flex:1;gap:6px;display:flex;position:relative}.reply-box__textarea{background:var(--ui-control-bg);border:1px solid var(--border-strong);border-radius:var(--r-sm);width:100%;font-size:var(--fs-ui);color:var(--text-primary);resize:none;font-family:var(--font-ui);transition:border-color var(--motion-instant) ease;padding:8px 10px;line-height:1.4}.reply-box__textarea:focus{border-color:var(--accent);outline:none}.reply-box__textarea::placeholder{color:var(--text-muted)}.reply-box__send{border-radius:var(--r-xs);background:var(--accent);color:var(--on-accent);font-size:var(--fs-meta);font-weight:var(--fw-semibold);cursor:pointer;transition:filter var(--motion-instant) ease, transform var(--motion-instant) ease;font-family:var(--font-ui);border:none;align-self:flex-end;padding:5px 12px}.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{background:var(--canvas-panel-bg);border:1px solid var(--canvas-panel-border);border-radius:var(--r-md);min-width:180px;box-shadow:var(--shadow-float);z-index:100;position:absolute;bottom:calc(100% + 4px);left:0;overflow:hidden}.mention-picker__item{width:100%;font-size:var(--fs-ui);color:var(--text-primary);cursor:pointer;font-family:var(--font-ui);text-align:left;transition:background var(--motion-instant) ease;background:0 0;border:none;align-items:center;gap:8px;padding:8px 12px;display:flex}.mention-picker__item:hover{background:color-mix(in srgb, var(--accent) 12%, transparent)}.mention-picker__dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.header-btn--presenting{background:var(--success-soft)!important;border-color:color-mix(in srgb, var(--success) 35%, transparent)!important;color:var(--success)!important}.header-btn--presenting:hover{background:color-mix(in srgb, var(--success) 22%, transparent)!important}.present-follower-chip{border-radius:var(--r-full);background:color-mix(in srgb, var(--success) 20%, transparent);font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--success);align-items:center;gap:3px;margin-left:6px;padding:1px 6px;display:inline-flex}.presenter-banner{background:var(--canvas-panel-bg);border:1px solid color-mix(in srgb, var(--success) 40%, transparent);border-radius:var(--r-lg);box-shadow:var(--shadow-float);z-index:90;white-space:nowrap;align-items:center;gap:10px;padding:10px 16px;display:flex;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.presenter-banner__icon{color:var(--success);flex-shrink:0}.presenter-banner__text{font-size:var(--fs-ui);color:var(--text-secondary)}.presenter-banner__text strong{color:var(--text-primary)}.presenter-banner__follow-btn{border-radius:var(--r-xs);background:var(--success-soft);border:1px solid color-mix(in srgb, var(--success) 30%, transparent);color:var(--success);font-size:var(--fs-meta);font-weight:var(--fw-semibold);cursor:pointer;transition:background var(--motion-instant) ease;font-family:var(--font-ui);padding:5px 12px}.presenter-banner__follow-btn:hover{background:color-mix(in srgb, var(--success) 25%, transparent)}.presenter-banner__follow-btn--active{background:color-mix(in srgb, var(--success) 25%, transparent);border-color:color-mix(in srgb, var(--success) 50%, transparent)}.presenter-banner__dismiss{opacity:.5;transition:opacity var(--motion-instant) ease}.presenter-banner__dismiss:hover{opacity:1}.dot-vote-overlay{pointer-events:none;z-index:52;position:absolute;top:0;left:0}.dot-vote-badge{border-radius:var(--r-full);background:var(--accent);border:2px solid color-mix(in srgb, var(--on-accent) 20%, transparent);cursor:pointer;pointer-events:all;min-width:26px;height:26px;box-shadow:0 3px 10px color-mix(in srgb, var(--accent) 45%, transparent);transition:transform var(--motion-fast) var(--spring);align-items:center;gap:4px;padding:0 7px;display:flex;position:absolute;top:-14px;right:-14px}.dot-vote-badge:hover{transform:scale(1.12)}.dot-vote-badge__count{font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--on-accent)}.dot-vote-badge__dots{align-items:center;gap:2px;display:flex}.dot-vote-badge__dot{background:color-mix(in srgb, var(--on-accent) 70%, transparent);border-radius:50%;width:5px;height:5px}.dot-vote-badge__more{font-size:var(--fs-caption);color:color-mix(in srgb, var(--on-accent) 80%, transparent);font-weight:var(--fw-semibold)}.dot-vote-badge__mine{font-size:var(--fs-caption);color:color-mix(in srgb, var(--on-accent) 65%, transparent);border-left:1px solid color-mix(in srgb, var(--on-accent) 20%, transparent);margin-left:2px;padding-left:3px}.dot-vote-add{background:var(--bg-elevated);border:1.5px solid var(--accent);width:24px;height:24px;color:var(--accent);cursor:pointer;pointer-events:all;box-shadow:var(--shadow-sm);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;bottom:-12px;right:-12px}.dot-vote-add:hover{background:var(--accent);color:var(--on-accent)}.dot-voting-bar{background:color-mix(in srgb, var(--accent) 10%, transparent);border:1px solid color-mix(in srgb, var(--accent) 22%, transparent);border-radius:var(--r-md);align-items:center;gap:8px;padding:5px 10px;display:flex}.dot-voting-bar__toggle{border-radius:var(--r-xs);color:var(--text-secondary);font-size:var(--fs-meta);font-weight:var(--fw-semibold);cursor:pointer;transition:color var(--motion-instant) ease;font-family:var(--font-ui);background:0 0;border:none;align-items:center;gap:6px;padding:5px 10px;display:flex}.dot-voting-bar__toggle:hover{color:var(--text-primary)}.dot-voting-bar__toggle--active{color:var(--accent)}.dot-voting-bar__count{font-size:var(--fs-caption);color:var(--text-muted)}.dot-voting-bar__clear{opacity:.6;transition:opacity var(--motion-instant) ease}.dot-voting-bar__clear:hover{opacity:1}.session-timer{background:var(--canvas-panel-bg);border:1px solid var(--canvas-panel-border);border-radius:var(--r-xl);z-index:90;box-shadow:var(--shadow-float);cursor:grab;-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;gap:10px;min-width:160px;padding:14px 16px 12px;display:flex;position:absolute;bottom:32px;left:50%;transform:translate(-50%)}.session-timer:active{cursor:grabbing}.session-timer--urgent{border-color:color-mix(in srgb, var(--danger) 40%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--danger) 15%, transparent), 0 12px 40px color-mix(in srgb, var(--danger) 25%, transparent), var(--shadow-md);animation:1s ease-in-out infinite timer-pulse}.session-timer--done{border-color:color-mix(in srgb, var(--success) 40%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--success) 15%, transparent), 0 12px 40px color-mix(in srgb, var(--success) 20%, transparent), var(--shadow-md)}@keyframes timer-pulse{0%,to{box-shadow:0 0 0 1px color-mix(in srgb, var(--danger) 15%, transparent), 0 12px 40px color-mix(in srgb, var(--danger) 25%, transparent), var(--shadow-md)}50%{box-shadow:0 0 0 3px color-mix(in srgb, var(--danger) 25%, transparent), 0 12px 40px color-mix(in srgb, var(--danger) 40%, transparent), var(--shadow-md)}}.session-timer__close{opacity:.4;transition:opacity var(--motion-instant) ease;position:absolute;top:6px;right:8px}.session-timer__close:hover{opacity:1}.session-timer__ring-wrap{width:80px;height:80px;position:relative}.session-timer__ring{width:100%;height:100%}.session-timer__ring-track{stroke:var(--border)}.session-timer__ring-fill{stroke:var(--accent);transition:stroke-dashoffset 1s linear}.session-timer--urgent .session-timer__ring-fill{stroke:var(--danger)}.session-timer--done .session-timer__ring-fill{stroke:var(--success)}.session-timer__display{flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.session-timer__time{font-size:var(--fs-subtitle);font-weight:var(--fw-semibold);color:var(--text-primary);font-variant-numeric:tabular-nums;letter-spacing:-.03em}.session-timer--urgent .session-timer__time{color:var(--danger)}.session-timer--done .session-timer__time{color:var(--success);font-size:var(--fs-ui)}.session-timer__label{font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;text-overflow:ellipsis;white-space:nowrap;text-align:center;max-width:60px;overflow:hidden}.session-timer__controls{align-items:center;gap:4px;display:flex}.session-timer__btn{background:var(--ui-control-bg);border:1px solid var(--border-strong);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;transition:background var(--motion-instant) ease, color var(--motion-instant) ease, transform var(--motion-instant) var(--spring);border-radius:50%;justify-content:center;align-items:center;display:flex}.session-timer__btn:hover{background:var(--ui-control-bg-hover);color:var(--text-primary)}.session-timer__btn:active{transform:scale(.92)}.session-timer__btn--start{background:var(--accent);color:var(--on-accent);box-shadow:0 2px 10px color-mix(in srgb, var(--accent) 40%, transparent);border-color:#0000}.session-timer__btn--start:hover{background:var(--accent-hover);color:var(--on-accent);filter:brightness(1.1)}.session-timer__settings{flex-direction:column;gap:8px;width:100%;display:flex;overflow:hidden}.session-timer__label-input{border-radius:var(--r-xs);background:var(--ui-control-bg);border:1px solid var(--border-strong);width:100%;height:30px;color:var(--text-primary);font-size:var(--fs-meta);font-family:var(--font-ui);transition:border-color var(--motion-instant) ease;padding:0 10px}.session-timer__label-input:focus{border-color:var(--accent);outline:none}.session-timer__label-input::placeholder{color:var(--text-muted)}.session-timer__presets{flex-wrap:wrap;gap:4px;display:flex}.session-timer__preset{border-radius:var(--r-xs);background:var(--ui-control-bg);border:1px solid var(--border);color:var(--text-secondary);font-size:var(--fs-caption);font-weight:var(--fw-semibold);cursor:pointer;transition:background var(--motion-instant) ease, color var(--motion-instant) ease;font-family:var(--font-ui);padding:4px 8px}.session-timer__preset:hover{background:var(--ui-control-bg-hover);color:var(--text-primary)}.session-timer__preset--active{background:color-mix(in srgb, var(--accent) 20%, transparent);border-color:color-mix(in srgb, var(--accent) 35%, transparent);color:var(--accent)}.session-timer__custom{gap:6px;display:flex}.session-timer__custom-input{border-radius:var(--r-xs);background:var(--ui-control-bg);border:1px solid var(--border-strong);height:30px;color:var(--text-primary);font-size:var(--fs-meta);font-family:var(--font-ui);transition:border-color var(--motion-instant) ease;flex:1;padding:0 8px}.session-timer__custom-input:focus{border-color:var(--accent);outline:none}.session-timer__custom-input::placeholder{color:var(--text-muted)}.session-timer__custom-input::-webkit-inner-spin-button{-webkit-appearance:none}.session-timer__custom-input::-webkit-outer-spin-button{-webkit-appearance:none}.session-timer__custom-set{border-radius:var(--r-xs);background:color-mix(in srgb, var(--accent) 20%, transparent);border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);height:30px;color:var(--accent);font-size:var(--fs-meta);font-weight:var(--fw-semibold);cursor:pointer;transition:background var(--motion-instant) ease;font-family:var(--font-ui);padding:0 10px}.session-timer__custom-set:hover{background:color-mix(in srgb, var(--accent) 30%, transparent)}.header-btn--timer{position:relative}.header-btn--timer-active{color:var(--accent)!important}.header-timer-chip{border-radius:var(--r-full);background:var(--accent);color:var(--on-accent);font-size:var(--fs-caption);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;letter-spacing:0;box-shadow:0 1px 6px color-mix(in srgb, var(--accent) 50%, transparent);padding:1px 5px;line-height:1.4;position:absolute;top:-6px;right:-8px}.np-panel{z-index:99990;background:var(--canvas-panel-bg);border:1px solid var(--canvas-panel-border);border-radius:var(--r-lg);box-shadow:0 0 0 .5px color-mix(in srgb, var(--accent) 8%, transparent), var(--shadow-lg), 0 1px 0 var(--p-border-0) inset;font-family:var(--font-ui);color:var(--canvas-panel-text);flex-direction:column;display:flex;position:fixed;top:50%;left:36px;overflow:hidden;transform:translateY(-50%)}.np-header{background:var(--p-surface-2);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:8px;height:46px;padding:0 10px 0 14px;display:flex}.np-logo{border-radius:var(--r-xs);background:linear-gradient(135deg, var(--accent) 0%, var(--accent-secondary) 100%);width:24px;height:24px;box-shadow:0 2px 8px color-mix(in srgb, var(--accent) 35%, transparent);flex-shrink:0;place-items:center;display:grid}.np-title{font-size:var(--fs-ui);font-weight:var(--fw-semibold);color:var(--text-primary);letter-spacing:-.01em;flex:1}.np-badge{font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--text-muted);background:var(--ui-control-bg);border-radius:var(--r-md);padding:1px 7px;line-height:16px}.np-search{background:var(--ui-surface-bg-soft);border:1px solid var(--border);border-radius:var(--r-xs);transition:border-color var(--motion-fast) var(--ease-standard), background var(--motion-fast) var(--ease-standard);align-items:center;gap:6px;padding:5px 9px;display:flex}.np-search:focus-within{border-color:color-mix(in srgb, var(--accent) 50%, transparent);background:color-mix(in srgb, var(--accent) 5%, transparent)}.np-search input{color:var(--text-primary);font-size:var(--fs-meta);caret-color:var(--accent);background:0 0;border:none;outline:none;flex:1;min-width:0;font-family:inherit}.np-search input::placeholder{color:var(--text-muted)}.np-new-btn{border-radius:var(--r-xs);background:var(--accent);color:var(--on-accent);font-size:var(--fs-meta);font-weight:var(--fw-semibold);cursor:pointer;letter-spacing:-.01em;transition:transform var(--motion-instant) var(--ease-standard), box-shadow var(--motion-instant) var(--ease-standard), opacity var(--motion-instant) var(--ease-standard);box-shadow:0 2px 8px color-mix(in srgb, var(--accent) 40%, transparent);border:none;flex-shrink:0;align-items:center;gap:5px;padding:6px 12px;font-family:inherit;display:flex}.np-new-btn:hover{opacity:.9;box-shadow:0 4px 16px color-mix(in srgb, var(--accent) 50%, transparent);transform:translateY(-1px)}.np-new-btn:active{transform:translateY(0)}.np-icon-btn{border-radius:var(--r-xs);width:30px;height:30px;color:var(--text-muted);cursor:pointer;transition:background var(--motion-instant) var(--ease-standard), color var(--motion-instant) var(--ease-standard);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.np-icon-btn:hover{background:var(--ui-control-bg-hover);color:var(--text-primary)}.np-icon-btn:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 60%, transparent);outline-offset:1px}.np-icon-btn.active{color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent)}.np-body{flex:1;display:flex;overflow:hidden}.np-sidebar{border-right:1px solid var(--border);background:var(--p-surface-1);flex-direction:column;flex-shrink:0;display:flex;overflow:hidden}.np-sidebar-scroll{scrollbar-width:none;flex:1;padding:8px 6px;overflow-y:auto}.np-sidebar-scroll::-webkit-scrollbar{display:none}.np-section-label{font-size:var(--fs-caption);font-weight:var(--fw-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);justify-content:space-between;align-items:center;padding:8px 8px 3px;display:flex}.np-section-label button{color:var(--text-muted);cursor:pointer;border-radius:var(--r-xs);transition:color var(--motion-instant) var(--ease-standard), background var(--motion-instant) var(--ease-standard);background:0 0;border:none;align-items:center;padding:2px;display:flex}.np-section-label button:hover{color:var(--text-secondary);background:var(--ui-control-bg-hover)}.np-nav-item{border-radius:var(--r-xs);width:100%;color:var(--text-secondary);font-size:var(--fs-meta);font-weight:var(--fw-regular);cursor:pointer;text-align:left;transition:background var(--motion-instant) var(--ease-standard), color var(--motion-instant) var(--ease-standard);-webkit-user-select:none;user-select:none;background:0 0;border:none;align-items:center;gap:8px;padding:6px 8px;font-family:inherit;line-height:1.3;display:flex}.np-nav-item:hover{background:var(--nav-hover-bg);color:var(--text-primary)}.np-nav-item.active{background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent-secondary);font-weight:var(--fw-medium)}.np-nav-item:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 50%, transparent);outline-offset:-1px}.np-nav-item .nav-icon{opacity:.6;transition:opacity var(--motion-instant) var(--ease-standard);flex-shrink:0}.np-nav-item.active .nav-icon,.np-nav-item:hover .nav-icon{opacity:1}.np-nav-item .nav-count{font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--text-muted);background:var(--ui-control-bg);border-radius:var(--r-sm);margin-left:auto;padding:1px 6px;line-height:15px}.np-nav-item.active .nav-count{color:color-mix(in srgb, var(--accent) 90%, transparent);background:color-mix(in srgb, var(--accent) 15%, transparent)}.np-nav-item.indent{padding-left:20px}.np-folder-dot{border-radius:3px;flex-shrink:0;width:8px;height:8px}.np-folder-input{background:var(--ui-control-bg);border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);border-radius:var(--r-xs);color:var(--text-primary);font-size:var(--fs-meta);width:calc(100% - 12px);caret-color:var(--accent);outline:none;margin:2px 6px 4px;padding:6px 9px;font-family:inherit}.np-tags-toggle{color:var(--text-muted);font-size:var(--fs-caption);font-weight:var(--fw-semibold);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;width:100%;transition:color var(--motion-instant) var(--ease-standard);background:0 0;border:none;align-items:center;gap:5px;padding:6px 8px 3px;font-family:inherit;display:flex}.np-tags-toggle:hover{color:var(--text-secondary)}.np-sidebar-footer{border-top:1px solid var(--border);font-size:var(--fs-caption);color:var(--text-muted);background:color-mix(in srgb, var(--p-surface-0) 60%, transparent);padding:7px 12px}.np-list{border-right:1px solid var(--border);background:var(--p-surface-1);flex-direction:column;flex-shrink:0;display:flex;overflow:hidden}.np-list-header{border-bottom:1px solid var(--border);font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--text-secondary);letter-spacing:-.01em;flex-shrink:0;justify-content:space-between;align-items:center;padding:9px 10px 7px;display:flex}.np-list-scroll{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent;flex:1;padding:5px;overflow-y:auto}.np-list-scroll::-webkit-scrollbar{width:3px}.np-list-scroll::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--r-full)}.np-note-row{border-radius:var(--r-sm);cursor:pointer;transition:background var(--motion-instant) var(--ease-standard), border-color var(--motion-instant) var(--ease-standard);-webkit-user-select:none;user-select:none;border:1px solid #0000;margin-bottom:2px;position:relative}.np-note-row:hover{background:var(--nav-hover-bg)}.np-note-row.active{background:color-mix(in srgb, var(--accent) 9%, transparent);border-color:color-mix(in srgb, var(--accent) 25%, transparent)}.np-note-row:hover .np-row-menu,.np-note-row.active .np-row-menu,.np-note-row:focus-within .np-row-menu{opacity:1}.np-note-btn{width:100%;color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;padding:9px 34px 9px 10px;font-family:inherit;display:block}.np-note-title{font-size:var(--fs-ui);font-weight:var(--fw-medium);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.01em;margin-bottom:3px;line-height:1.35;overflow:hidden}.np-note-row.active .np-note-title{color:var(--accent-secondary)}.np-note-preview{font-size:var(--fs-caption);color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-bottom:4px;line-height:1.4;overflow:hidden}.np-note-footer{flex-wrap:nowrap;align-items:center;gap:5px;display:flex;overflow:hidden}.np-note-date{font-size:var(--fs-caption);color:var(--text-muted)}.np-note-tasks{font-size:var(--fs-caption);color:var(--success)}.np-note-tasks.incomplete{color:var(--text-muted)}.np-tag{font-size:var(--fs-caption);font-weight:var(--fw-medium);background:color-mix(in srgb, var(--accent) 10%, transparent);color:var(--accent-secondary);border-radius:var(--r-xs);white-space:nowrap;flex-shrink:0;padding:1px 6px}.np-pin-icon{flex-shrink:0;margin-right:2px}.np-row-menu{border-radius:var(--r-xs);width:22px;height:22px;color:var(--text-muted);cursor:pointer;opacity:0;transition:opacity var(--motion-instant) var(--ease-standard), background var(--motion-instant) var(--ease-standard);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.np-row-menu:hover{background:var(--ui-control-bg-hover);color:var(--text-secondary)}.np-ctx-menu{z-index:300;background:var(--canvas-panel-bg);border:1px solid var(--border);border-radius:var(--r-sm);box-shadow:var(--shadow-lg);min-width:148px;padding:3px;position:absolute;top:calc(100% - 10px);right:4px;overflow:hidden}.np-ctx-btn{width:100%;color:var(--text-secondary);font-size:var(--fs-meta);cursor:pointer;text-align:left;border-radius:var(--r-xs);transition:background var(--motion-instant) var(--ease-standard), color var(--motion-instant) var(--ease-standard);background:0 0;border:none;align-items:center;gap:9px;padding:7px 10px;font-family:inherit;display:flex}.np-ctx-btn:hover{background:var(--ui-control-bg-hover);color:var(--text-primary)}.np-ctx-btn.danger{color:color-mix(in srgb, var(--danger) 70%, transparent)}.np-ctx-btn.danger:hover{background:var(--danger-soft);color:var(--danger)}.np-empty{height:100%;color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:20px;display:flex}.np-empty-icon{opacity:.2;margin-bottom:4px}.np-empty p{font-size:var(--fs-meta);margin:0;line-height:1.5}.np-editor-pane{background:var(--p-surface-0);flex-direction:column;flex:1;display:flex;overflow:hidden}.np-editor-toolbar{border-bottom:1px solid var(--border);background:var(--p-surface-1);flex-shrink:0;align-items:center;gap:6px;min-height:38px;padding:7px 12px;display:flex}.np-editor-meta{font-size:var(--fs-caption);color:var(--text-muted);flex:1;align-items:center;gap:10px;display:flex}.np-editor-meta .sep{background:var(--ui-control-border);width:1px;height:10px}.np-mode-btn{border-radius:var(--r-xs);border:1px solid var(--border);color:var(--text-muted);font-size:var(--fs-caption);cursor:pointer;transition:all var(--motion-instant) var(--ease-standard);background:0 0;flex-shrink:0;align-items:center;gap:5px;padding:4px 9px;font-family:inherit;display:flex}.np-mode-btn:hover{border-color:color-mix(in srgb, var(--accent) 30%, transparent);color:var(--accent-secondary);background:color-mix(in srgb, var(--accent) 6%, transparent)}.np-mode-btn.active{border-color:color-mix(in srgb, var(--accent) 40%, transparent);color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent)}.np-fmt-divider{background:var(--border);flex-shrink:0;width:1px;height:16px;margin:0 2px}.np-fmt-btn{border-radius:var(--r-xs);width:26px;height:26px;color:var(--text-muted);font-size:var(--fs-caption);font-weight:var(--fw-semibold);cursor:pointer;transition:background var(--motion-instant) var(--ease-standard), color var(--motion-instant) var(--ease-standard);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;font-family:inherit;display:flex}.np-fmt-btn:hover{background:var(--ui-control-bg-hover);color:var(--text-primary)}.np-textarea{resize:none;color:var(--text-primary);font-family:var(--font-ui);font-size:var(--fs-body);caret-color:var(--accent);letter-spacing:-.01em;background:0 0;border:none;outline:none;flex:1;padding:18px 20px;line-height:1.78}.np-textarea::placeholder{color:var(--text-muted);line-height:1.78}.np-preview{color:var(--text-primary);font-size:var(--fs-body);scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent;flex:1;padding:18px 20px;line-height:1.78;overflow-y:auto}.np-preview h1{font-size:var(--fs-title);font-weight:var(--fw-semibold);color:var(--text-primary);letter-spacing:-.02em;margin:0 0 10px}.np-preview h2{font-size:var(--fs-body);font-weight:var(--fw-semibold);color:var(--text-primary);letter-spacing:-.01em;margin:14px 0 6px}.np-preview h3{font-size:var(--fs-ui);font-weight:var(--fw-semibold);color:var(--text-primary);margin:10px 0 4px}.np-preview p{margin:0 0 4px}.np-preview strong{font-weight:var(--fw-semibold);color:var(--text-primary)}.np-preview em{color:var(--text-secondary);font-style:italic}.np-preview code{background:color-mix(in srgb, var(--accent) 10%, transparent);color:var(--accent-secondary);border-radius:var(--r-xs);font-size:var(--fs-caption);font-family:var(--font-mono);padding:2px 6px}.np-preview .cb-row{align-items:baseline;gap:8px;margin:2px 0;display:flex}.np-preview .cb-done{color:var(--text-muted);text-decoration:line-through}.np-preview .cb-open{color:var(--text-primary)}.np-preview .cb-check{font-size:var(--fs-ui);flex-shrink:0}.np-preview .cb-check.done{color:var(--success)}.np-preview .cb-check.open{color:var(--text-muted)}.np-preview .li-row{gap:8px;margin:1px 0;display:flex}.np-preview .li-dot{color:color-mix(in srgb, var(--accent) 60%, transparent);font-size:var(--fs-caption);flex-shrink:0;margin-top:2px}.np-preview .np-tag-inline{background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent-secondary);border-radius:var(--r-xs);font-size:var(--fs-caption);font-weight:var(--fw-medium);padding:1px 6px}.np-preview hr{border:none;border-top:1px solid var(--border);margin:14px 0}.np-no-note{color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:14px;display:flex}.np-no-note p{font-size:var(--fs-meta);margin:0}.np-no-note-btn{border-radius:var(--r-sm);border:1px solid var(--border);background:var(--ui-surface-bg-soft);color:var(--text-secondary);font-size:var(--fs-meta);cursor:pointer;transition:background var(--motion-instant) var(--ease-standard), color var(--motion-instant) var(--ease-standard), border-color var(--motion-instant) var(--ease-standard);align-items:center;gap:7px;padding:8px 16px;font-family:inherit;display:flex}.np-no-note-btn:hover{background:color-mix(in srgb, var(--accent) 9%, transparent);color:var(--accent-secondary);border-color:color-mix(in srgb, var(--accent) 30%, transparent)}.ri-root{background:var(--bg-inspector);border-left:1px solid var(--border);z-index:50;width:240px;transition:width var(--motion-base) var(--ease-enter);-webkit-user-select:none;user-select:none;flex-direction:column;display:flex;position:absolute;top:0;bottom:0;right:0;overflow:hidden;box-shadow:-2px 0 12px #0000000d}.ri-root--collapsed{border-left:1px solid var(--border);align-items:center;width:28px;padding-top:12px}.ri-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;height:40px;padding:0 10px 0 14px;display:flex}.ri-header-title{font-size:var(--fs-meta);font-weight:var(--fw-semibold);color:var(--text-primary);letter-spacing:-.01em;font-family:var(--font-ui);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ri-collapse-btn{border-radius:var(--r-xs);width:24px;height:24px;color:var(--text-secondary);cursor:pointer;transition:background var(--motion-instant) var(--ease-standard), color var(--motion-instant) var(--ease-standard);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.ri-collapse-btn:hover{background:var(--ui-control-bg-hover);color:var(--text-primary)}.ri-scroll{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent;flex:1;overflow:hidden auto}.ri-scroll::-webkit-scrollbar{width:3px}.ri-scroll::-webkit-scrollbar-track{background:0 0}.ri-scroll::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--r-full)}.ri-empty{text-align:center;color:var(--text-muted);font-size:var(--fs-meta);line-height:1.6;font-family:var(--font-ui);padding:32px 16px}.ri-section{border-bottom:1px solid var(--border)}.ri-section-head{cursor:pointer;width:100%;height:32px;transition:background var(--motion-instant) var(--ease-standard);color:var(--text-secondary);background:0 0;border:none;justify-content:space-between;align-items:center;padding:0 12px;display:flex}.ri-section-head:hover{background:var(--ui-surface-bg-soft)}.ri-section-title{font-size:var(--fs-caption);font-weight:var(--fw-semibold);letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);font-family:var(--font-ui)}.ri-section-body{flex-direction:column;gap:6px;padding:8px 12px 12px;display:flex}.ri-2col{grid-template-columns:1fr 1fr;gap:5px;display:grid}.ri-num-row{align-items:center;gap:5px;height:28px;display:flex}.ri-num-label{width:26px;font-size:var(--fs-caption);color:var(--text-secondary);font-family:var(--font-ui);flex-shrink:0;justify-content:center;align-items:center;display:flex}.ri-axis{font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--text-muted);letter-spacing:.03em;font-family:var(--font-ui)}.ri-num-input-wrap{flex:1;align-items:center;display:flex;position:relative}.ri-num-input{border-radius:var(--r-xs);border:1px solid var(--ui-control-border);background:var(--ui-control-bg);width:100%;height:26px;color:var(--text-primary);font-size:var(--fs-meta);font-family:var(--font-ui);text-align:right;transition:border-color var(--motion-instant) var(--ease-standard), background var(--motion-instant) var(--ease-standard);-moz-appearance:textfield;outline:none;padding:0 6px}.ri-num-input:focus{border-color:var(--accent);background:var(--bg-elevated);outline:none}.ri-num-input:hover:not(:focus){border-color:var(--border-strong)}.ri-num-unit{font-size:var(--fs-caption);color:var(--text-muted);pointer-events:none;font-family:var(--font-ui);position:absolute;right:6px}.ri-row-spaced{align-items:center;gap:6px;display:flex}.ri-btn-row{gap:5px;display:flex}.ri-text-btn{border-radius:var(--r-xs);border:1px solid var(--ui-control-border);background:var(--ui-control-bg);height:26px;color:var(--text-secondary);font-size:var(--fs-meta);font-family:var(--font-ui);cursor:pointer;transition:background var(--motion-instant) var(--ease-standard), border-color var(--motion-instant) var(--ease-standard), color var(--motion-instant) var(--ease-standard);flex:1;justify-content:center;align-items:center;gap:5px;padding:0 9px;display:inline-flex}.ri-text-btn:hover{background:var(--ui-control-bg-hover);border-color:var(--border-strong)}.ri-text-btn.is-active{background:color-mix(in srgb, var(--accent) 9%, transparent);border-color:color-mix(in srgb, var(--accent) 25%, transparent);color:var(--accent)}.ri-text-btn--wide{flex:1}.ri-icon-btn{border-radius:var(--r-xs);border:1px solid var(--ui-control-border);background:var(--ui-control-bg);width:26px;height:26px;color:var(--text-secondary);cursor:pointer;transition:background var(--motion-instant) var(--ease-standard), color var(--motion-instant) var(--ease-standard), border-color var(--motion-instant) var(--ease-standard);flex-shrink:0;justify-content:center;align-items:center;display:flex}.ri-icon-btn:hover{background:var(--ui-control-bg-hover);color:var(--text-primary)}.ri-icon-btn.is-active{background:color-mix(in srgb, var(--accent) 9%, transparent);border-color:color-mix(in srgb, var(--accent) 25%, transparent);color:var(--accent)}.ri-icon-btn:disabled{opacity:.35;cursor:not-allowed}.ri-color-row{justify-content:space-between;align-items:center;gap:8px;height:28px;display:flex}.ri-color-label{font-size:var(--fs-meta);color:var(--text-secondary);font-family:var(--font-ui);flex-shrink:0;min-width:44px}.ri-color-input-group{flex:1;justify-content:flex-end;align-items:center;gap:5px;display:flex}.ri-color-swatch-label{cursor:pointer;flex-shrink:0;position:relative}.ri-color-native{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.ri-color-swatch{border-radius:var(--r-xs);border:1px solid var(--border-strong);width:20px;height:20px;transition:border-color var(--motion-instant) var(--ease-standard);flex-shrink:0;display:block}.ri-color-swatch-label:hover .ri-color-swatch{border-color:color-mix(in srgb, var(--text-primary) 28%, transparent)}.ri-color-hex{border-radius:var(--r-xs);border:1px solid var(--ui-control-border);background:var(--ui-control-bg);width:72px;height:24px;color:var(--text-primary);font-size:var(--fs-caption);font-family:var(--font-mono);text-align:right;transition:border-color var(--motion-instant) var(--ease-standard);outline:none;padding:0 6px}.ri-color-hex:focus{border-color:var(--accent);background:var(--bg-elevated)}.ri-opacity-row{align-items:center;gap:8px;height:28px;display:flex}.ri-opacity-group{flex:1;justify-content:flex-end;align-items:center;gap:6px;display:flex}.ri-opacity-slider{-webkit-appearance:none;appearance:none;border-radius:var(--r-full);background:linear-gradient(to right, var(--accent) 0%, var(--accent) calc(var(--val,100) * 1%), var(--ui-control-border) calc(var(--val,100) * 1%), var(--ui-control-border) 100%);cursor:pointer;outline:none;flex:1;max-width:80px;height:3px}.ri-opacity-slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);border:2px solid var(--surface-1);width:12px;height:12px;box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 35%, transparent);cursor:pointer;border-radius:50%}.ri-opacity-value{font-size:var(--fs-caption);color:var(--text-secondary);font-variant-numeric:tabular-nums;text-align:right;min-width:32px;font-family:var(--font-ui)}.ri-segmented{background:var(--ui-control-bg);border-radius:var(--r-xs);gap:2px;padding:2px;display:flex}.ri-segmented--full{width:100%}.ri-seg-btn{border-radius:var(--r-xs);height:22px;color:var(--text-secondary);font-size:var(--fs-caption);font-family:var(--font-mono);cursor:pointer;transition:background var(--motion-instant) var(--ease-standard), color var(--motion-instant) var(--ease-standard);background:0 0;border:none;flex:1;justify-content:center;align-items:center;display:flex}.ri-seg-btn:hover{background:var(--ui-control-bg-hover);color:var(--text-primary)}.ri-seg-btn.is-active{background:var(--bg-elevated);color:var(--accent);box-shadow:var(--shadow-sm)}.ri-bold-row{gap:2px;display:flex}.ri-fmt-btn{border-radius:var(--r-xs);border:1px solid var(--ui-control-border);background:var(--ui-control-bg);width:26px;height:26px;color:var(--text-secondary);font-size:var(--fs-meta);cursor:pointer;transition:background var(--motion-instant) var(--ease-standard), color var(--motion-instant) var(--ease-standard), border-color var(--motion-instant) var(--ease-standard);justify-content:center;align-items:center;display:flex}.ri-fmt-btn:hover{background:var(--ui-control-bg-hover)}.ri-fmt-btn.is-active{background:color-mix(in srgb, var(--accent) 10%, transparent);border-color:color-mix(in srgb, var(--accent) 25%, transparent);color:var(--accent)}.ri-info-row{align-items:center;gap:8px;height:24px;display:flex}.ri-info-label{font-size:var(--fs-caption);color:var(--text-muted);min-width:56px;font-family:var(--font-ui);flex-shrink:0}.ri-info-value{font-size:var(--fs-caption);color:var(--text-secondary);font-family:var(--font-ui);flex:1;overflow:hidden}.ri-info-value--mono{font-family:var(--font-mono)}.ri-info-value--ellipsis{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ri-page-ctrl{align-items:center;gap:6px;display:flex}.ri-page-num{font-size:var(--fs-meta);color:var(--text-secondary);font-variant-numeric:tabular-nums;font-family:var(--font-ui);text-align:center;min-width:44px}.ri-multi-hint{flex-direction:column;display:flex}.ri-multi-count{font-size:var(--fs-caption);color:var(--text-muted);font-family:var(--font-ui);padding:10px 14px 4px;display:block}@media (max-width:768px){.ri-root{display:none}}.left-tool-dock{z-index:60;border-radius:var(--r-lg);border:1px solid var(--canvas-panel-border);background:var(--canvas-panel-bg);width:44px;box-shadow:var(--shadow-md);animation:dock-enter .28s var(--ease-enter) both;flex-direction:column;gap:1px;padding:4px;display:flex;position:absolute;top:50%;left:10px;transform:translateY(-50%)}@keyframes dock-enter{0%{opacity:0;transform:translateY(-50%)translate(-6px)}to{opacity:1;transform:translateY(-50%)translate(0)}}.left-tool-btn-wrap{position:relative}.left-tool-tooltip-shell{pointer-events:none;z-index:400;white-space:nowrap;position:absolute;top:50%;left:calc(100% + 10px);transform:translateY(-50%)}.left-tool-tooltip{background:var(--canvas-panel-bg);border:1px solid var(--canvas-panel-border);border-radius:var(--r-xs);font-size:var(--fs-meta);color:var(--canvas-panel-text);font-weight:var(--fw-medium);box-shadow:var(--shadow-md);letter-spacing:-.005em;font-family:var(--font-ui,system-ui, -apple-system, sans-serif);align-items:center;gap:6px;padding:4px 8px;display:flex}.left-tool-tooltip-kbd{font-size:var(--fs-caption);border-radius:var(--r-xs);background:var(--ui-control-bg);border:1px solid var(--border);color:var(--text-muted);padding:1px 4px;font-family:inherit;line-height:1.4}.left-tool-divider{background:var(--canvas-panel-border);flex-shrink:0;height:1px;margin:2px 3px}.left-tool-btn{border-radius:var(--r-sm);width:36px;height:34px;color:var(--canvas-panel-text-muted);cursor:pointer;transition:background var(--motion-instant) ease, color var(--motion-instant) ease, border-color var(--motion-instant) ease;background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.left-tool-btn:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:2px}.left-tool-btn:hover{background:var(--canvas-btn-bg-hover);color:var(--canvas-panel-text)}.left-tool-btn:disabled{opacity:.35;cursor:not-allowed}.left-tool-btn:disabled:hover{color:var(--canvas-panel-text-muted);background:0 0}.left-tool-btn.is-active{background:var(--accent-soft);border-color:var(--nav-active-border);color:var(--accent)}.left-tool-btn:active{transform:scale(.91)}.left-tool-btn-icon{pointer-events:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.left-tool-btn-label,.left-tool-btn-shortcut{display:none}.left-tool-mini-row{gap:1px;margin-bottom:1px;display:flex}.left-tool-mini-wrap{flex:1;position:relative}.left-tool-mini-btn{border-radius:var(--r-xs);width:100%;height:27px;color:var(--text-secondary);cursor:pointer;transition:background var(--motion-instant) ease, color var(--motion-instant) ease;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:flex}.left-tool-mini-btn:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:2px}.left-tool-mini-btn:hover{background:var(--canvas-btn-bg-hover);color:var(--canvas-panel-text)}.left-tool-mini-btn:active{transform:scale(.92)}.left-tool-mini-label{display:none}.left-tool-more-btn{color:var(--text-secondary)}.left-tool-more-btn.is-open{background:var(--canvas-btn-bg);color:var(--canvas-panel-text)}.left-tool-more-chevron{transition:transform var(--motion-fast) ease;justify-content:center;align-items:center;display:flex;position:absolute;bottom:2px;right:3px}.left-tool-more-btn.is-open .left-tool-more-chevron{transform:rotate(180deg)}@media (max-width:1200px){.left-tool-dock{width:42px}.left-tool-btn{width:34px;height:32px}}
