@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";@import "https://fonts.googleapis.com/css2?family=Caveat:wght@400;700&family=Inter:wght@300;400;500;600&family=JetBrains+Mono:wght@400;500&family=Outfit:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,400;0,700;1,400&display=swap";:root{--color-bg-base:#0d1117;--color-bg-surface:#161b22;--color-bg-elevated:#1c2333;--color-bg-overlay:#21283b;--color-bg-inset:#0a0e14;--color-bg-hover:#8895a914;--color-bg-active:#8895a91f;--color-bg-canvas:var(--color-bg-inset);--color-bg-block:var(--color-bg-surface);--color-bg-content:var(--color-bg-elevated);--color-bg-accent:var(--color-accent);--color-border-default:#30363d;--color-border-muted:#21262d;--color-border-subtle:#f0f6fc0f;--color-border-accent:#7c3aed66;--color-text-primary:#e6edf3;--color-text-secondary:#8b949e;--color-text-tertiary:#848d97;--color-text-disabled:#484f58;--color-text-link:#79b8ff;--color-text-inverse:#0d1117;--color-theme:var(--color-bg-base);--color-accent:#7c3aed;--color-accent-hover:#6d28d9;--color-accent-subtle:#7c3aed26;--color-accent-muted:#7c3aed4d;--color-accent-fg:#a78bfa;--color-success:#2ea043;--color-success-subtle:#2ea04326;--color-success-fg:#56d364;--color-warning:#d29922;--color-warning-subtle:#d2992226;--color-warning-fg:#e3b341;--color-error:#f85149;--color-error-subtle:#f8514926;--color-error-fg:#ff7b72;--color-info:#58a6ff;--color-info-subtle:#58a6ff26;--color-grid-dots:#f0f6fc14;--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", "Cascadia Code", "SF Mono", Consolas, monospace;--font-size-xs:.6875rem;--font-size-sm:.75rem;--font-size-base:.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-size-5xl:3rem;--line-height-tight:1.25;--line-height-snug:1.375;--line-height-normal:1.5;--line-height-relaxed:1.625;--line-height-loose:1.75;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--letter-spacing-tight:-.025em;--letter-spacing-normal:0;--letter-spacing-wide:.025em;--letter-spacing-wider:.05em;--space-0:0;--space-0-5:.125rem;--space-1:.25rem;--space-1-5:.375rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-2xl:16px;--radius-full:9999px;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 6px -1px #0006, 0 2px 4px -2px #0000004d;--shadow-lg:0 10px 15px -3px #00000080, 0 4px 6px -4px #0006;--shadow-xl:0 20px 25px -5px #00000080, 0 8px 10px -6px #0006;--shadow-glow:0 0 20px #7c3aed26, 0 0 40px #7c3aed0d;--shadow-inner:inset 0 2px 4px #0000004d;--transition-fast:.12s ease;--transition-normal:.2s ease;--transition-smooth:.3s cubic-bezier(.4, 0, .2, 1);--transition-spring:.4s cubic-bezier(.34, 1.56, .64, 1);--transition-bounce:.5s cubic-bezier(.68, -.55, .27, 1.55);--z-base:1;--z-dropdown:10;--z-sticky:20;--z-overlay:30;--z-modal:40;--z-popover:50;--z-toast:60;--z-tooltip:70;--z-max:100;--toolbar-height:48px;--toolbar-strip-width:52px;--toolbar-strip-height:48px;--sidebar-width:280px;--editor-max-width:720px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:"cv02", "cv03", "cv04", "cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-bg-base);min-height:100vh;overflow-x:hidden}#root{isolation:isolate;min-height:100vh}::selection{background-color:var(--color-accent-muted);color:var(--color-text-primary)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}:focus:not(:focus-visible){outline:none}font[size="1"]{font-size:var(--font-size-xs)!important}font[size="2"]{font-size:var(--font-size-sm)!important}font[size="3"]{font-size:var(--font-size-base)!important}font[size="4"]{font-size:var(--font-size-md)!important}font[size="5"]{font-size:var(--font-size-lg)!important}font[size="6"]{font-size:var(--font-size-2xl)!important}font[size="7"]{font-size:var(--font-size-4xl)!important}.script-block__preview-container ul,.script-block__preview-container ol{margin:8px 0;padding-left:20px}.script-block__preview-container ul{list-style-type:disc}.script-block__preview-container ol{list-style-type:decimal}.script-block__preview-container li{margin:4px 0}.script-block__preview-container details{transition:all .2s}.script-block__preview-container summary{-webkit-user-select:none;user-select:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background-color:var(--color-border-default);border-radius:var(--radius-full);transition:background-color var(--transition-normal)}::-webkit-scrollbar-thumb:hover{background-color:var(--color-text-tertiary)}::-webkit-scrollbar-corner{background:0 0}*{scrollbar-width:thin;scrollbar-color:var(--color-border-default) transparent}a{color:var(--color-text-link);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-accent-fg);text-decoration:underline}img,svg{max-width:100%;display:block}button{cursor:pointer;color:inherit;font-family:inherit;font-size:inherit;background:0 0;border:none}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit;border:1px solid var(--color-border-default);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);transition:border-color var(--transition-normal), box-shadow var(--transition-normal);background:0 0}input:focus,textarea:focus,select:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-subtle);outline:none}input::placeholder,textarea::placeholder{color:var(--color-text-disabled)}hr{border:none;border-top:1px solid var(--color-border-muted);margin:var(--space-4) 0}code{font-family:var(--font-mono);background-color:var(--color-bg-elevated);border-radius:var(--radius-sm);border:1px solid var(--color-border-subtle);padding:.15em .4em;font-size:.9em}pre{font-family:var(--font-mono);font-size:var(--font-size-sm);background-color:var(--color-bg-inset);border:1px solid var(--color-border-muted);border-radius:var(--radius-lg);padding:var(--space-4);line-height:var(--line-height-relaxed);overflow-x:auto}pre code{font-size:inherit;background:0 0;border:none;padding:0}blockquote{border-left:3px solid var(--color-accent);padding-left:var(--space-4);color:var(--color-text-secondary);font-style:italic}h1,h2,h3,h4,h5,h6{color:var(--color-text-primary);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-tight)}h1{font-size:var(--font-size-4xl);font-weight:var(--font-weight-extrabold);letter-spacing:-.035em;line-height:1.15}h2{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);letter-spacing:-.03em}h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold)}h4{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}h5{font-size:var(--font-size-md);font-weight:var(--font-weight-medium)}h6{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}p{line-height:var(--line-height-relaxed);color:var(--color-text-primary)}small{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.glass{-webkit-backdrop-filter:blur(16px)saturate(180%);box-shadow:var(--shadow-lg), inset 0 1px 0 #ffffff0a;background:#161b22b3;border:1px solid #f0f6fc14}.glass-subtle{-webkit-backdrop-filter:blur(8px)saturate(150%);box-shadow:var(--shadow-sm), inset 0 1px 0 #ffffff05;background:#161b2273;border:1px solid #f0f6fc0d}.bg-canvas{background-color:var(--color-bg-canvas)!important}.bg-block{background-color:var(--color-bg-block)!important}.bg-content{background-color:var(--color-bg-content)!important}.bg-accent{background-color:var(--color-bg-accent)!important}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(120%)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes scaleOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes gentleBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes glowPulse{0%,to{box-shadow:0 0 8px #7c3aed26}50%{box-shadow:0 0 20px #7c3aed4d,0 0 40px #7c3aed1a}}.animate-fade-in{animation:fadeIn var(--transition-smooth) both}.animate-slide-up{animation:slideUp var(--transition-smooth) both}.animate-scale-in{animation:scaleIn var(--transition-smooth) both}.animate-shimmer{background:linear-gradient(90deg, var(--color-bg-surface) 25%, var(--color-bg-elevated) 50%, var(--color-bg-surface) 75%);background-size:200% 100%;animation:1.5s ease-in-out infinite shimmer}.animate-pulse{animation:2s ease-in-out infinite pulse}.animate-spin{animation:1s linear infinite spin}.canvas-live-region{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}[data-theme=light]{--color-bg-base:#f6f8fa;--color-bg-surface:#fff;--color-bg-elevated:#fff;--color-bg-overlay:#fff;--color-bg-inset:#f0f2f5;--color-bg-hover:#1b1f240a;--color-bg-active:#1b1f2414;--color-bg-canvas:var(--color-bg-inset);--color-bg-block:var(--color-bg-surface);--color-bg-content:var(--color-bg-elevated);--color-bg-accent:var(--color-accent);--color-border-default:#d0d7de;--color-border-muted:#d8dee4;--color-border-subtle:#1b1f240f;--color-border-accent:#7c3aed4d;--color-text-primary:#24292f;--color-text-secondary:#57606a;--color-text-tertiary:#57606a;--color-text-disabled:#8c959f;--color-text-link:#0969da;--color-text-inverse:#fff;--color-accent:#7c3aed;--color-accent-hover:#6d28d9;--color-accent-subtle:#7c3aed14;--color-accent-muted:#7c3aed26;--color-accent-fg:#7c3aed;--color-grid-dots:#00000014}[data-theme=light] .toolbar{background:#ffffffbf;border-bottom-color:#1b1f2414;box-shadow:0 1px 3px #0000000d,0 4px 12px #0000000d}[data-theme=light] .shape-block--card{background:var(--color-bg-block);box-shadow:0 4px 12px #0000000d, var(--shadow-sm)}[data-theme=light] .shape-block--collapsed{border-color:var(--color-border-default);background-color:#ffffffe6!important}[data-theme=light] .shape-block__drag-handle{background-color:#00000005;border-bottom:1px solid #0000000f}[data-theme=light] .script-block__toolbar{background:#0000000a}[data-theme=light] .script-block__tabs{background:#fffc}[data-theme=light] .script-block__editor{color:var(--color-text-primary);background:#00000005}[data-theme=light] .script-block__editor:focus{background:#0000000a}.spatial-flow-editor{background-color:var(--color-bg-base);flex-direction:column;height:100%;min-height:100%;display:flex;overflow:hidden}.spatial-flow-editor__workspace{flex:1;min-height:0;display:flex;overflow:hidden}.spatial-flow-editor__workspace[data-toolbar-strip=left] .spatial-flow-editor__main,.spatial-flow-editor__workspace[data-toolbar-strip=right] .spatial-flow-editor__main{min-width:0}.spatial-flow-editor__main{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.spatial-flow-editor__canvas-row{flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.app-shell{background-color:var(--color-bg-base);flex-direction:column;height:100vh;min-height:100vh;display:flex;overflow:hidden}.app-workspace{flex:1;min-height:0;display:flex;overflow:hidden}.app-workspace[data-toolbar-strip=left] .app-main,.app-workspace[data-toolbar-strip=right] .app-main{min-width:0}.app-main{flex:1;min-height:0;display:flex;overflow:hidden}.editor-viewport{min-width:0;padding:var(--space-10) var(--space-6);scroll-behavior:smooth;flex:1;overflow:hidden auto}.editor-viewport--canvas{flex-direction:column;display:flex;position:relative;padding:0!important}.editor-viewport--canvas.editor-viewport--spatial{overflow:hidden!important}.editor-viewport--paged,.editor-viewport--pageless{background:var(--color-document-workspace,#e8eaed);padding:0!important;overflow:hidden!important}[data-theme=dark] .editor-viewport--paged,[data-theme=dark] .editor-viewport--pageless{--color-document-workspace:#2d333b}.editor-viewport__scroll{scroll-behavior:smooth;overscroll-behavior:contain;flex:1;min-height:0;overflow:auto}.editor-viewport--paged .editor-viewport__scroll,.editor-viewport--pageless .editor-viewport__scroll{overflow:auto}.editor-viewport--canvas.editor-viewport--spatial .editor-viewport__scroll{flex-direction:column;flex:1;width:100%;min-height:0;display:flex;overflow:hidden}.spatial-flow-editor__canvas-host{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative}.editor-viewport__stage{flex:1;justify-content:center;min-height:0;display:flex}.editor-viewport--canvas.editor-viewport--spatial .editor-viewport__stage{align-self:stretch;width:100%}.editor-viewport--canvas.editor-viewport--spatial .canvas-grid{flex:1;width:100%;min-height:0}.editor-viewport--paged .editor-viewport__stage,.editor-viewport--pageless .editor-viewport__stage{flex:none;min-height:min-content;padding:32px 24px 48px}.editor-viewport--paged .editor-viewport__stage{align-items:flex-start}.editor-viewport__page-hint{pointer-events:none;z-index:var(--z-sticky);position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.editor-viewport__page-hint-pill{border-radius:var(--radius-full);background:var(--color-accent);opacity:.35;width:28px;height:28px;display:block;box-shadow:0 2px 8px #00000026}.editor-viewport__bottom-toolbar{left:50%;bottom:var(--space-4);z-index:var(--z-sticky);pointer-events:none;position:absolute;transform:translate(-50%)}.editor-viewport__bottom-toolbar .toolbar-strip{pointer-events:auto}.app-sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);max-width:var(--sidebar-width);background-color:var(--color-bg-surface);border-left:1px solid var(--color-border-muted);height:100%;padding:var(--space-4);gap:var(--space-3);z-index:var(--z-base);contain:layout style;flex-direction:column;flex-shrink:0;display:flex;overflow:hidden auto}.app-sidebar--collapsed{opacity:0;pointer-events:none;width:0;min-width:0;transition:transform var(--transition-smooth), opacity var(--transition-smooth), width var(--transition-smooth), min-width var(--transition-smooth);border-left:none;padding:0;overflow:hidden;transform:translate(100%)}.sidebar-section{gap:var(--space-2);flex-direction:column;display:flex}.sidebar-section__title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);color:var(--color-text-tertiary);padding:var(--space-1) 0}.sidebar-stat-item{justify-content:space-between;gap:var(--space-2);font-size:var(--font-size-sm);display:flex}.sidebar-stat-label{color:var(--color-text-secondary)}.sidebar-stat-value{color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.editor-empty-state{justify-content:center;align-items:center;gap:var(--space-4);padding:var(--space-4);color:var(--color-text-tertiary);text-align:center;flex-direction:column;display:flex}.editor-viewport--canvas.editor-viewport--spatial.editor-viewport--scrollable,.editor-viewport--canvas.editor-viewport--spatial.editor-viewport--scrollable .editor-viewport__scroll{overflow:auto!important}.toolbar{height:var(--toolbar-height);min-height:var(--toolbar-height);padding:0 var(--space-3);align-items:center;gap:var(--space-1);z-index:var(--z-sticky);transition:min-height var(--transition-smooth), height var(--transition-smooth);-webkit-backdrop-filter:blur(20px)saturate(180%);background:#0d1117b8;border-bottom:1px solid #f0f6fc0f;flex-shrink:0;display:flex;position:relative;top:0;left:0;right:0;overflow:visible;box-shadow:0 1px 3px #0000004d,0 4px 12px #00000026,inset 0 1px #ffffff08}.toolbar--collapsed{height:36px;min-height:36px}.toolbar-logo{align-items:center;gap:var(--space-2);padding:0 var(--space-2);cursor:default;-webkit-user-select:none;user-select:none;flex-shrink:0;display:flex}.toolbar-logo-icon{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--color-accent) 0%, #a78bfa 100%);width:24px;height:24px;transition:box-shadow var(--transition-smooth), transform var(--transition-smooth);justify-content:center;align-items:center;display:flex;box-shadow:0 0 12px #7c3aed4d}.toolbar-logo:hover .toolbar-logo-icon{transform:scale(1.05);box-shadow:0 0 20px #7c3aed80}.toolbar-logo-icon svg{color:#fff;width:14px;height:14px}.toolbar-logo-text{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wide);color:var(--color-text-primary);background:linear-gradient(135deg, var(--color-text-primary) 0%, var(--color-accent-fg) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.toolbar-separator{width:1px;height:20px;margin:0 var(--space-1-5);background:var(--color-border-subtle);opacity:.6;flex-shrink:0}.toolbar-btn{border-radius:var(--radius-md);width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.toolbar-btn svg{flex-shrink:0;width:16px;height:16px}.toolbar-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.toolbar-btn:active{transform:scale(.92)}.toolbar-btn:disabled{color:var(--color-text-disabled);cursor:not-allowed;opacity:.5}.toolbar-btn:disabled:hover{background:0 0;transform:none}.toolbar-btn--active{background:var(--color-accent-subtle);color:var(--color-accent-fg)}.toolbar-btn--active:hover{background:var(--color-accent-muted);color:var(--color-accent-fg)}.toolbar-btn[data-tooltip],.toolbar-color-picker[data-tooltip],.toolbar-select[data-tooltip]{position:relative}.toolbar-btn[data-tooltip]:after,.toolbar-color-picker[data-tooltip]:after,.toolbar-select[data-tooltip]:after{content:attr(data-tooltip);padding:var(--space-0-5) var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-primary);background:var(--color-bg-overlay);border:1px solid var(--color-border-muted);border-radius:var(--radius-sm);white-space:nowrap;pointer-events:none;opacity:0;z-index:10050;transition:opacity var(--transition-fast), transform var(--transition-fast);box-shadow:var(--shadow-md);position:absolute;top:calc(100% + 6px);bottom:auto;left:50%;transform:translate(-50%)translateY(4px)}.toolbar-btn:hover[data-tooltip]:after,.toolbar-color-picker:hover[data-tooltip]:after,.toolbar-select:hover[data-tooltip]:after,.toolbar-btn:focus-visible[data-tooltip]:after,.toolbar-color-picker:focus-visible[data-tooltip]:after,.toolbar-select:focus-visible[data-tooltip]:after{opacity:1;transform:translate(-50%)translateY(0)}.toolbar-overflow-menu__panel .toolbar-btn[data-tooltip]:after,.toolbar-overflow-menu__panel .toolbar-color-picker[data-tooltip]:after,.toolbar-overflow-menu__panel .toolbar-select[data-tooltip]:after{top:auto;bottom:calc(100% + 6px);transform:translate(-50%)translateY(-4px)}.toolbar-overflow-menu__panel .toolbar-btn:hover[data-tooltip]:after,.toolbar-overflow-menu__panel .toolbar-color-picker:hover[data-tooltip]:after,.toolbar-overflow-menu__panel .toolbar-select:hover[data-tooltip]:after,.toolbar-overflow-menu__panel .toolbar-btn:focus-visible[data-tooltip]:after,.toolbar-overflow-menu__panel .toolbar-color-picker:focus-visible[data-tooltip]:after,.toolbar-overflow-menu__panel .toolbar-select:focus-visible[data-tooltip]:after{transform:translate(-50%)translateY(0)}.toolbar-formatting-group{align-items:center;gap:var(--space-0-5);animation:fadeIn var(--transition-smooth) both;display:flex}.toolbar-block-type{align-items:center;gap:var(--space-1-5);padding:var(--space-1) var(--space-2-5);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-tertiary);background:var(--color-bg-hover);border-radius:var(--radius-full);cursor:default;-webkit-user-select:none;user-select:none;letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;transition:color var(--transition-fast), background-color var(--transition-fast);flex-shrink:0;display:flex}.toolbar-block-type svg{width:12px;height:12px}.toolbar-block-type:hover{color:var(--color-text-secondary);background:var(--color-bg-active)}.toolbar-spacer{min-width:var(--space-4);flex:1}.toolbar{--space-2-5:.625rem}.toolbar-toggle-group{background-color:var(--color-bg-inset);border:1px solid var(--color-border-muted);border-radius:var(--radius-lg);gap:2px;padding:2px;display:flex}.toolbar-toggle-btn{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);border-radius:var(--radius-md);padding:var(--space-1) var(--space-3);cursor:pointer;transition:color var(--transition-fast), background-color var(--transition-fast);background-color:#0000;border:none}.toolbar-toggle-btn:hover{color:var(--color-text-primary);background-color:var(--color-bg-hover)}.toolbar-toggle-btn--active{color:var(--color-text-primary);background-color:var(--color-bg-overlay);box-shadow:var(--shadow-sm)}.toolbar-spatial-tools{align-items:center;gap:var(--space-0-5);animation:fadeIn var(--transition-smooth) both;display:flex}.toolbar-formatting-group{align-items:center;gap:var(--space-1);display:flex}.toolbar-select{border:1px solid var(--color-border-default);border-radius:var(--radius-md);color:var(--color-text-primary);font-family:inherit;font-size:var(--font-size-xs);cursor:pointer;background:#ffffff0d;outline:none;min-width:80px;height:28px;padding:4px 6px;font-weight:500;transition:all .15s;position:relative}.toolbar-select:hover{border-color:var(--color-accent-fg);background:#ffffff1a}.toolbar-select option{background-color:var(--color-bg-elevated);color:var(--color-text-primary)}.toolbar-color-picker{border-radius:var(--radius-md);border:1px solid var(--color-border-default);cursor:pointer;background:#ffffff0d;justify-content:center;align-items:center;width:28px;height:28px;transition:all .15s;display:flex;position:relative;overflow:visible}.toolbar-color-picker:hover{border-color:var(--color-accent-fg);background:#ffffff1a}.toolbar-color-picker svg{z-index:1;pointer-events:none;width:13px!important;height:13px!important}.toolbar-color-picker input[type=color]{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;top:0;left:0}.toolbar-color-bar{border-radius:1px;height:3px;position:absolute;bottom:3px;left:5px;right:5px}[data-theme=light] .toolbar-select{border-color:var(--color-border-default);color:var(--color-text-primary);background:#0000000a}[data-theme=light] .toolbar-select option{background-color:var(--color-bg-surface);color:var(--color-text-primary)}[data-theme=light] .toolbar-color-picker{background:#0000000a}.toolbar-strip{align-items:center;gap:var(--space-1);padding:var(--space-2);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:var(--z-sticky);background:#0d1117d9;border-color:#f0f6fc0f;flex-shrink:0;display:flex}.toolbar-strip--vertical{width:var(--toolbar-strip-width,52px);min-width:var(--toolbar-strip-width,52px);border-right:1px solid #f0f6fc0f;flex-direction:column;height:100%;overflow:visible}.toolbar-strip--vertical .toolbar-btn[data-tooltip]:after,.toolbar-strip--vertical .toolbar-color-picker[data-tooltip]:after{top:50%;bottom:auto;left:calc(100% + 8px);transform:translateY(-50%)translate(4px)}.toolbar-strip--vertical .toolbar-btn:hover[data-tooltip]:after,.toolbar-strip--vertical .toolbar-color-picker:hover[data-tooltip]:after,.toolbar-strip--vertical .toolbar-btn:focus-visible[data-tooltip]:after,.toolbar-strip--vertical .toolbar-color-picker:focus-visible[data-tooltip]:after{transform:translateY(-50%)translate(0)}.app-workspace[data-toolbar-strip=right] .toolbar-strip--vertical{border-left:1px solid #f0f6fc0f;border-right:none}.toolbar-strip--horizontal{width:100%;min-height:var(--toolbar-strip-height,48px);border-bottom:1px solid #f0f6fc0f;flex-direction:row;overflow:hidden}.toolbar-strip--floating{border-radius:var(--radius-lg);width:auto;max-width:calc(100vw - 160px);box-shadow:var(--shadow-lg);border:1px solid #f0f6fc14}.toolbar-strip--horizontal.toolbar-strip--floating{border-bottom:1px solid #f0f6fc14}.toolbar-strip__spacer{flex:1;min-height:8px}.toolbar-strip .toolbar-extension-group{flex-direction:inherit;align-items:center;gap:var(--space-1);display:flex}.toolbar-strip--vertical .toolbar-extension-group{flex-direction:column}.toolbar-strip--vertical .toolbar-separator{width:24px;height:1px;margin:var(--space-1) 0}.toolbar-overflow-band{align-items:center;gap:var(--space-1);flex:auto;min-width:0;display:flex;position:relative;overflow:visible}.toolbar-overflow-band__measure{visibility:hidden;pointer-events:none;align-items:center;gap:var(--space-1);white-space:nowrap;width:max-content;height:auto;display:flex;position:absolute;top:0;left:-10000px}.toolbar-overflow-band__visible{align-items:center;gap:var(--space-1);white-space:nowrap;flex:auto;min-width:0;display:flex;overflow:visible}.toolbar-overflow-band__item{flex-shrink:0;align-items:center;display:inline-flex}.toolbar-overflow-menu{flex-shrink:0;position:relative}.toolbar-overflow-menu__panel{background:var(--color-bg-overlay);border:1px solid var(--color-border-muted);border-radius:var(--radius-md);min-width:180px;max-width:min(360px,50vw);box-shadow:var(--shadow-lg);z-index:var(--z-tooltip);flex-wrap:wrap;align-items:center;gap:4px;padding:8px;display:flex}.toolbar-overflow-menu__panel--portal{max-height:min(320px,60vh);overflow-y:auto}.toolbar-overflow-menu__entry{align-items:center;display:inline-flex}.toolbar-view-lens{align-items:center;display:flex;position:relative}.toolbar-view-lens__panel{z-index:calc(var(--z-sticky) + 4);border:1px solid var(--color-border-default);background:var(--color-bg-surface);width:min(280px,90vw);box-shadow:var(--shadow-lg);border-radius:10px;padding:10px 12px 12px;position:absolute;top:calc(100% + 8px);right:0}.toolbar-view-lens__title{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-tertiary);margin-bottom:8px;font-size:11px;font-weight:600}.toolbar-view-lens .view-lens-controls{border-bottom:none;margin-bottom:0;padding-bottom:0}.block-tags-editor{flex-direction:column;gap:8px;display:flex}.block-tags-editor__chips{flex-wrap:wrap;gap:6px;display:flex}.block-tags-editor__chip{background:var(--color-accent-subtle,#7c3aed1f);border:1px solid var(--color-accent-muted,#7c3aed40);font-size:var(--font-size-xs,11px);border-radius:999px;align-items:center;gap:2px;padding:2px 4px 2px 8px;display:inline-flex}.block-tags-editor__chip-label{color:var(--color-accent-fg,#a78bfa);cursor:pointer;font:inherit;background:0 0;border:none;padding:0}.block-tags-editor__chip-remove{color:var(--color-text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:2px;display:flex}.block-tags-editor__chip-remove:hover{color:var(--color-text-primary);background:#00000014}.block-tags-editor__input{box-sizing:border-box;border:1px solid var(--color-border-default);background:var(--color-bg-inset);width:100%;color:var(--color-text-primary);font-size:var(--font-size-sm);border-radius:6px;padding:6px 8px}.view-lens-controls{border-bottom:1px solid var(--color-border-subtle);flex-direction:column;gap:8px;margin-bottom:8px;padding:0 0 10px;display:flex}.view-lens-controls__label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-tertiary);flex-direction:column;flex:1;gap:4px;font-size:10px;display:flex}.view-lens-controls__select{border:1px solid var(--color-border-default);background:var(--color-bg-inset);width:100%;color:var(--color-text-primary);font-size:var(--font-size-xs);text-transform:none;letter-spacing:normal;border-radius:6px;padding:4px 6px}.view-lens-controls__dir{border:1px solid var(--color-border-default);background:var(--color-bg-inset);width:28px;height:28px;color:var(--color-text-primary);cursor:pointer;border-radius:6px;flex-shrink:0}.view-lens-controls__clear{background:var(--color-bg-hover);color:var(--color-text-secondary);font-size:var(--font-size-xs);cursor:pointer;border:none;border-radius:6px;align-self:flex-start;padding:4px 8px}.view-lens-controls__clear:hover{color:var(--color-text-primary)}.toc-float__lens{border-bottom:1px solid var(--color-border-subtle);margin-bottom:6px;padding:0 10px 8px}.toc-float__group-label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-tertiary);padding:6px 10px 4px;font-size:10px;font-weight:600}.toc-float__item-tags{flex-wrap:wrap;gap:4px;margin-top:2px;display:flex}.toc-float__item-tag{color:var(--color-accent-fg);opacity:.85;font-size:9px}.toc-float__label-wrap{flex-direction:column;flex:1;align-items:flex-start;min-width:0;display:flex}.block-tags-editor--toolbar{flex-flow:wrap;align-items:center;gap:6px;max-width:min(420px,36vw)}.block-tags-editor--toolbar .block-tags-editor__chips{flex-wrap:nowrap}.block-tags-editor--toolbar .block-tags-editor__input{width:72px;min-width:56px;font-size:var(--font-size-xs);flex:72px;padding:4px 6px}.toolbar-block-tags{align-items:center;min-width:0;max-width:min(440px,38vw);margin:0 4px;display:flex}.toolbar-block-tags--empty{opacity:.55;pointer-events:none}.toolbar-block-tags__hint{font-size:var(--font-size-xs);color:var(--color-text-tertiary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.floating-text-toolbar{z-index:10001;border:1px solid var(--color-border-default,#d0d7de);background:var(--color-surface-raised,#fff);border-radius:8px;align-items:center;gap:2px;padding:4px;display:flex;position:fixed;box-shadow:0 8px 24px #00000024}.floating-text-toolbar__btn{width:28px;height:28px;color:var(--color-text-primary,#1f2328);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex}.floating-text-toolbar__btn:hover{background:var(--color-surface-hover,#0000000f)}.floating-text-toolbar__btn:active{background:var(--color-surface-active,#0000001a)}.floating-text-toolbar__btn--active{background:var(--color-accent-muted,#7c3aed24);color:var(--color-accent,#7c3aed)}.floating-text-toolbar__select{height:28px;color:var(--color-text-primary,#1f2328);cursor:pointer;appearance:none;background:0 0;border:none;border-radius:6px;outline:none;padding:0 4px;font-size:12px;font-weight:600}.floating-text-toolbar__select:hover{background:var(--color-surface-hover,#0000000f)}.floating-text-toolbar__sep{background:var(--color-border-default,#d0d7de);flex-shrink:0;width:1px;height:18px;margin:0 2px}.mobile-text-toolbar{z-index:10002;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--color-border-default,#d0d7de);background:var(--color-surface-raised,#fff);justify-content:space-around;align-items:center;gap:4px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #0000001f}.mobile-text-toolbar__btn{width:44px;height:44px;color:var(--color-text-primary,#1f2328);cursor:pointer;background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;padding:0;display:inline-flex}.mobile-text-toolbar__btn--active,.mobile-text-toolbar__btn:active{background:var(--color-accent-muted,#7c3aed24);color:var(--color-accent,#7c3aed)}.context-menu-overlay{z-index:10060;background:0 0;position:fixed;inset:0}.context-menu{z-index:10061;min-width:200px;max-width:min(320px,92vw);padding:var(--space-1,4px);background:var(--color-bg-elevated,#161b22);border:1px solid var(--color-border-muted,#30363d);border-radius:var(--radius-md,8px);box-shadow:var(--shadow-lg,0 16px 48px #00000059);animation:.12s ease-out both contextMenuIn;position:fixed}@keyframes contextMenuIn{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.context-menu__separator{height:1px;margin:var(--space-1,4px) var(--space-1-5,6px);background:var(--color-border-subtle,#21262d)}.context-menu__item{justify-content:space-between;align-items:center;gap:var(--space-3,12px);width:100%;padding:var(--space-1-5,6px) var(--space-2-5,10px);border-radius:var(--radius-sm,6px);color:var(--color-text-primary,#e6edf3);font-size:var(--font-size-sm,13px);text-align:left;cursor:pointer;background:0 0;border:none;display:flex}.context-menu__item:hover:not(:disabled),.context-menu__item:focus-visible{background:var(--color-bg-hover,#ffffff0f);outline:none}.context-menu__item:disabled{color:var(--color-text-disabled,#6e7681);cursor:not-allowed;opacity:.65}.context-menu__shortcut{font-size:var(--font-size-xs,11px);color:var(--color-text-tertiary,#8b949e);white-space:nowrap}.slash-menu{z-index:10000;background:var(--color-surface-raised,#fff);border:1px solid var(--color-border-default,#d0d7de);border-radius:10px;min-width:260px;max-width:360px;max-height:320px;position:fixed;overflow-y:auto;box-shadow:0 12px 32px #00000024}.slash-menu__header{z-index:1;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);background:var(--color-surface-raised,#fff);border-bottom:1px solid var(--color-border-default,#d0d7de);padding:8px 12px;font-size:11px;font-weight:600;position:sticky;top:0}.slash-menu__empty{color:var(--color-text-secondary);padding:12px;font-size:12px}.slash-menu__item{text-align:left;cursor:pointer;background:0 0;border:none;align-items:flex-start;gap:10px;width:100%;padding:10px 12px;display:flex}.slash-menu__item:hover,.slash-menu__item--active{background:var(--color-surface-hover,#7c3aed14)}.slash-menu__icon{width:28px;height:28px;color:var(--color-accent,#7c3aed);background:#7c3aed1a;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.slash-menu__text{flex-direction:column;gap:2px;min-width:0;display:flex}.slash-menu__label{color:var(--color-text-primary);font-size:13px;font-weight:600}.slash-menu__description{color:var(--color-text-secondary);font-size:11px;line-height:1.35}.document-library-rail{border-right:1px solid var(--color-border);background:var(--color-bg-elevated);flex-direction:column;flex-shrink:0;width:280px;min-width:280px;max-width:320px;display:flex;overflow:hidden}.document-library-rail--collapsed{width:44px;min-width:44px}.document-library-rail__header{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-3);border-bottom:1px solid var(--color-border);flex-shrink:0;display:flex}.document-library-rail__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.document-library-rail--collapsed .document-library-rail__title{display:none}.document-library-rail__toggle{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.document-library-rail__toggle:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.document-library-rail__body{min-height:0;padding:var(--space-3);flex:1;overflow-y:auto}.document-library-rail--collapsed .document-library-rail__body{display:none}.document-list-panel__search-row{gap:6px;margin-bottom:8px;display:flex}.document-list-panel__search{font-size:var(--font-size-sm);border:1px solid var(--color-border);background:var(--color-bg-base);color:var(--color-text-primary);border-radius:4px;flex:1;padding:4px 8px}.document-list-panel__actions{gap:6px;margin-bottom:8px;display:flex}.document-list-panel__action-btn{flex:1;justify-content:center;align-items:center;gap:6px;display:flex}.document-list-panel__hint{color:var(--color-text-secondary);margin:0 0 8px;font-size:10px;line-height:1.4}.document-list-panel__error{color:#f87171;margin:0 0 8px;font-size:11px}.document-list-panel__empty{color:var(--color-text-secondary);font-size:11px}.document-list-panel__list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.document-list-panel__item{border:1px solid var(--color-border);background:var(--color-bg-base);border-radius:6px;align-items:center;gap:6px;padding:6px 8px;display:flex}.document-list-panel__item--active{background:var(--color-bg-hover)}.document-list-panel__item-btn{text-align:left;cursor:pointer;color:var(--color-text-primary);font-size:var(--font-size-sm);background:0 0;border:none;flex-direction:column;flex:1;gap:2px;padding:0;display:flex}.document-list-panel__item-title{align-items:center;gap:6px;display:flex}.document-list-panel__item-preview{color:var(--color-text-secondary);font-size:10px}.document-list-panel__rename-input{border:1px solid var(--color-accent,#58a6ff);background:var(--color-bg-base);min-width:0;color:var(--color-text-primary);font-size:var(--font-size-sm);border-radius:4px;flex:1;padding:4px 6px}.markdown-preview-rail{border-left:1px solid var(--color-border-muted);background-color:var(--color-bg-surface);width:360px;min-width:300px;max-width:480px;height:100%;z-index:var(--z-base);flex-direction:column;flex-shrink:0;display:flex;overflow:hidden}.markdown-preview-panel{min-height:0;padding:var(--space-4);gap:var(--space-3);flex-direction:column;flex:1;display:flex}.markdown-preview-panel__header{gap:var(--space-2);flex-direction:column;flex-shrink:0;display:flex}.markdown-preview-panel__header-text{min-width:0}.markdown-preview-panel__header-actions{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.markdown-preview-panel__title{font-size:var(--font-size-sm,.875rem);color:var(--color-text-primary,#eee);font-weight:600;display:block}.markdown-preview-panel__hint{color:var(--color-text-secondary,#888);margin-top:2px;font-size:10px;display:block}.markdown-preview-panel__view-toggle{border:1px solid var(--color-border-default,#333);border-radius:8px;flex:1;display:inline-flex;overflow:hidden}.markdown-preview-panel__view-btn{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:4px;padding:5px 8px;font-size:11px;display:inline-flex}.markdown-preview-panel__view-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.markdown-preview-panel__view-btn--active{background:var(--color-surface-raised,#2a2a2a);color:var(--color-text-primary);font-weight:600}.markdown-preview-panel__close{border-radius:var(--radius-sm,4px);width:28px;height:28px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.markdown-preview-panel__close:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.markdown-preview-panel__body{border:1px solid var(--color-border-default,#333);background:var(--color-surface-raised,#222);border-radius:8px;flex:1;min-height:0;margin:0;padding:12px;overflow:auto}.markdown-preview-panel__body--source{white-space:pre-wrap;word-break:break-word;color:var(--color-text-secondary,#ccc);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;line-height:1.45}.markdown-preview-panel__body--rendered{color:var(--color-text-primary);padding:16px}.markdown-preview-panel__empty{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.reading-view{z-index:40;background:var(--color-surface-default,#1a1a1a);flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden}.reading-view__header{border-bottom:1px solid var(--color-border-default,#333);justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 32px;display:flex}.reading-view__title{margin:0;font-size:1.5rem;font-weight:600}.reading-view__subtitle{font-size:var(--font-size-sm,.875rem);color:var(--color-text-secondary,#999);margin:4px 0 0}.reading-view__close{border:1px solid var(--color-border-default,#444);background:var(--color-surface-raised,#2a2a2a);color:inherit;cursor:pointer;font-size:var(--font-size-sm,.875rem);border-radius:8px;padding:8px 14px}.reading-view__content{flex:1;width:100%;max-width:720px;margin:0 auto;padding:24px 32px 48px;overflow-y:auto}.reading-view__section{margin-bottom:32px}.reading-view__section-jump{color:var(--color-text-secondary,#aaa);font-size:var(--font-size-sm,.875rem);cursor:pointer;text-align:left;background:0 0;border:none;margin:0 0 8px;padding:0;display:block}.reading-view__section-jump:hover{color:var(--color-text-primary,#fff);text-decoration:underline}.reading-view__prose{line-height:1.6}.reading-view__widget-note{font-size:var(--font-size-sm,.875rem);color:var(--color-text-secondary,#999);font-style:italic}.reading-view__empty{color:var(--color-text-secondary,#999)}.mention-picker{z-index:10000;background:var(--color-surface-raised,#fff);border:1px solid var(--color-border-default,#d0d7de);border-radius:8px;min-width:220px;max-width:320px;position:fixed;overflow:hidden;box-shadow:0 8px 24px #0000001f}.mention-picker__tabs{border-bottom:1px solid var(--color-border-default,#333);flex-wrap:wrap;gap:4px;padding:6px 8px 0;display:flex}.mention-picker__tab{color:var(--color-text-secondary,#aaa);cursor:pointer;background:0 0;border:none;border-radius:6px 6px 0 0;padding:4px 8px;font-size:11px}.mention-picker__tab--active{background:var(--color-surface-raised,#2a2a2a);color:var(--color-text-primary,#fff)}.mention-picker__header{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border-default,#d0d7de);padding:6px 10px;font-size:11px;font-weight:600}.mention-picker__empty{color:var(--color-text-secondary);padding:10px;font-size:12px}.mention-picker__item{text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:8px 10px;display:flex}.mention-picker__item:hover,.mention-picker__item:focus-visible,.mention-picker__item--active{background:var(--color-surface-hover,#58a6ff14);outline:none}.mention-picker__title{color:var(--color-text-primary);font-size:13px}.mention-picker__type{color:var(--color-text-secondary);font-size:11px}.block-mention-preview{z-index:10001;background:var(--color-surface-raised,#fff);border:1px solid var(--color-border-default,#d0d7de);pointer-events:none;border-radius:8px;min-width:180px;max-width:260px;padding:10px 12px;position:fixed;box-shadow:0 8px 24px #0000001f}.block-mention-preview__title{color:var(--color-text-primary);font-size:13px;font-weight:600}.block-mention-preview__meta{color:var(--color-text-secondary);margin-top:4px;font-size:11px}.block-mention-preview__image{object-fit:cover;border-radius:6px;width:100%;max-height:80px;margin-bottom:6px}.unfurl-preview{z-index:10000;border:1px solid var(--color-border-default,#444);background:var(--color-surface-raised,#2a2a2a);pointer-events:none;border-radius:10px;padding:10px;position:fixed;box-shadow:0 8px 24px #00000059}.unfurl-preview--inline{padding:4px 8px}.unfurl-preview__image{object-fit:cover;border-radius:6px;width:100%;max-height:120px;margin-bottom:8px}.unfurl-preview__site{color:var(--color-text-secondary,#999);text-transform:uppercase;letter-spacing:.04em;font-size:10px}.unfurl-preview__title{font-size:var(--font-size-sm,.875rem);margin-top:2px;font-weight:600}.unfurl-preview__description{color:var(--color-text-secondary,#bbb);margin-top:4px;font-size:11px;line-height:1.4}.unfurl-preview__url{color:var(--color-text-secondary,#777);word-break:break-all;margin-top:6px;font-size:10px}.block-mention-preview__missing{color:var(--color-text-secondary);font-style:italic}.toc-float{z-index:calc(var(--z-sticky) + 2);pointer-events:auto;touch-action:none;position:absolute}.toc-float--icon-only{width:auto}.toc-float--hidden{visibility:hidden;pointer-events:none}.toc-float__icon-btn{cursor:grab;border:1px solid var(--color-border-muted);border-radius:var(--radius-full);background:var(--color-bg-surface);width:40px;height:40px;color:var(--color-text-secondary);cursor:pointer;box-shadow:var(--shadow-md);transition:background-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);justify-content:center;align-items:center;display:flex}.toc-float__icon-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary);box-shadow:var(--shadow-lg)}.toc-float--open .toc-float__icon-btn{background:var(--color-accent-subtle);color:var(--color-accent-fg);border-color:var(--color-accent-muted)}.toc-float--dragging .toc-float__icon-btn,.toc-float__icon-btn:active{cursor:grabbing}.toc-float__panel{background:var(--color-bg-surface);border:1px solid var(--color-border-muted);border-radius:var(--radius-lg);width:min(280px,100vw - 120px);max-height:min(420px,60vh);box-shadow:var(--shadow-lg);animation:fadeIn var(--transition-fast) both;flex-direction:column;display:flex;position:absolute;top:0;left:calc(100% + 8px);overflow:hidden}.toc-float__panel-header{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border-subtle);flex-shrink:0;display:flex}.toc-float__panel-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);color:var(--color-text-tertiary);flex:1}.toc-float__panel-count{color:var(--color-text-tertiary);background:var(--color-bg-hover);border-radius:var(--radius-full);padding:0 6px;font-size:10px;line-height:18px}.toc-float__close{border-radius:var(--radius-sm);width:24px;height:24px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex}.toc-float__close:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.toc-float__list{min-height:0;padding:var(--space-1);flex-direction:column;flex:1;gap:2px;display:flex;overflow-y:auto}.toc-float__empty{margin:var(--space-2) var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.toc-float__item{align-items:center;gap:var(--space-2);text-align:left;border-radius:var(--radius-md);width:100%;color:var(--color-text-secondary);font-size:var(--font-size-sm);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast);background:0 0;border:1px solid #0000;padding:8px 10px;display:flex}.toc-float__item:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.toc-float__item--active{background:var(--color-accent-subtle);border-color:var(--color-accent-muted);color:var(--color-accent-fg)}.toc-float__index{font-size:10px;font-weight:var(--font-weight-semibold);color:var(--color-text-tertiary);flex-shrink:0;min-width:1.1rem}.toc-float__item--active .toc-float__index{color:var(--color-accent-fg)}.toc-float__label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}@media (width<=640px){.toc-float__panel{width:min(280px,100vw - 48px);top:calc(100% + 8px);left:0}}.authoring-reorder-handle{z-index:4;border:1px solid var(--color-border-default,#d0d7de);background:var(--color-surface-raised,#fff);width:22px;height:28px;color:var(--color-text-secondary,#6b7280);cursor:grab;opacity:0;transition:opacity var(--transition-fast,.15s ease), background var(--transition-fast,.15s ease);border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:12px;left:-28px;box-shadow:0 2px 8px #00000014}.shape-block:hover .authoring-reorder-handle,.authoring-reorder-handle:focus-visible,.authoring-reorder-handle--dragging{opacity:1}.authoring-reorder-handle:hover{color:var(--color-text-primary,#1f2328);background:var(--color-surface-hover,#0000000a)}.authoring-reorder-handle--dragging{cursor:grabbing;color:var(--color-accent,#7c3aed);border-color:var(--color-accent,#7c3aed)}.shape-block--reorder-before:before,.shape-block--reorder-after:after{content:"";background:var(--color-accent,#7c3aed);pointer-events:none;z-index:5;border-radius:999px;height:3px;position:absolute;left:8px;right:8px}.shape-block--reorder-before:before{top:-6px}.shape-block--reorder-after:after{bottom:-6px}.block-property-panel{flex-direction:column;gap:10px;margin-top:8px;display:flex}.block-property-panel__field{font-size:var(--font-size-sm);color:var(--color-text-secondary);flex-direction:column;gap:4px;display:flex}.block-property-panel__label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);font-size:11px}.block-property-panel__field input[type=text],.block-property-panel__field input[type=number],.block-property-panel__field select{border:1px solid var(--color-border-default);width:100%;color:var(--color-text-primary);font-size:var(--font-size-sm);background:#ffffff0d;border-radius:6px;outline:none;padding:6px 8px;font-family:inherit}.block-property-panel__field input[type=color]{border:1px solid var(--color-border-default);cursor:pointer;background:0 0;border-radius:6px;width:100%;height:32px;padding:2px}.block-property-panel__hint{color:var(--color-text-secondary);opacity:.85;font-size:10px;line-height:1.4}.canvas-grid{-webkit-user-select:none;user-select:none;background-color:var(--color-bg-canvas);width:100%;height:100%;position:relative;overflow:hidden}.canvas-grid--spatial{touch-action:none}.canvas-grid--paged,.canvas-grid--pageless{color:#1f2328;background-color:#fff;border-radius:1px;flex-shrink:0;box-shadow:0 1px 3px #3c404326,0 4px 8px #3c40431a}.canvas-grid--pageless{min-height:calc(100vh - var(--toolbar-height) - 64px)}.canvas-grid--paged,.canvas-grid--pageless{height:auto;overflow:visible}.canvas-grid__transform-layer--document{width:100%;height:auto;min-height:100%;position:relative}[data-theme=dark] .canvas-grid--paged,[data-theme=dark] .canvas-grid--pageless{color:#e6edf3;background-color:#1c2128;box-shadow:0 1px 3px #0006,0 4px 12px #00000059}.canvas-grid--select{cursor:default}.canvas-grid--pan-ready{cursor:grab}.canvas-grid--panning{cursor:grabbing!important}.canvas-grid--draw{cursor:crosshair}.canvas-grid--drag-over{box-shadow:inset 0 0 0 2px var(--color-accent)}.canvas-grid--drag-over:after{content:"Drop files here";background:var(--color-bg-overlay);border:1px solid var(--color-accent);border-radius:var(--radius-lg);color:var(--color-accent-fg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);pointer-events:none;z-index:var(--z-overlay);animation:fadeIn var(--transition-fast) both;padding:12px 24px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.canvas-grid__backdrop{background-image:radial-gradient(var(--color-grid-dots) 1.2px, transparent 1.2px);pointer-events:none;z-index:var(--z-base);position:absolute;inset:0}.canvas-grid__transform-layer{pointer-events:auto;z-index:2;width:100%;height:100%;position:absolute;top:0;left:0}.canvas-grid__transform-layer .connection-overlay{pointer-events:none!important}.shape-block{border-radius:var(--block-radius,12px);box-shadow:var(--shadow-md);background-color:var(--color-bg-block);border:1px solid var(--color-border-default);transition:box-shadow var(--transition-fast), border-color var(--transition-fast), background-color var(--transition-fast), height var(--transition-smooth);flex-direction:column;display:flex;position:absolute}.shape-block--selected{box-shadow:var(--shadow-lg), var(--shadow-glow);border-color:var(--color-accent)!important}.shape-block--active{box-shadow:var(--shadow-lg), 0 0 10px #7c3aed1f}.shape-block--card{background:var(--color-bg-block);-webkit-backdrop-filter:blur(12px)}.shape-block--no-header .shape-block__inner--fill{border-radius:var(--block-radius,12px);flex:1;min-height:0;overflow:hidden;padding:0!important}.shape-block--no-header .text-block-editor,.shape-block--no-header .script-block__editor,.shape-block--no-header .script-block__preview-wrapper{border-radius:var(--block-radius,12px)}.shape-block--free:not(.shape-block--free-width-locked){width:auto!important;height:auto!important}.shape-block--free{min-width:0;min-height:0;box-shadow:none;border:1px solid #0000;transition:border-color .25s,box-shadow .25s;background-color:#0000!important}.shape-block--free:hover{border-color:#ffffff0f;box-shadow:0 0 10px #0000001f,0 2px 6px #00000014}.shape-block--free.shape-block--selected,.shape-block--free.shape-block--active{border-color:#7c3aed33!important;box-shadow:0 0 14px #7c3aed0f!important}[data-theme=light] .shape-block--free:hover{border-color:#0000000d;box-shadow:0 0 10px #0000000f,0 2px 6px #0000000a}[data-theme=light] .shape-block--free.shape-block--selected,[data-theme=light] .shape-block--free.shape-block--active{border-color:#7c3aed2e!important;box-shadow:0 0 14px #7c3aed0d!important}.shape-block--free .shape-block__inner{flex:none;width:auto;height:auto;overflow:visible}.shape-block--free.shape-block--free-width-locked{height:auto!important}.shape-block--free.shape-block--free-width-locked .shape-block__inner{width:100%}.shape-block--free.shape-block--free-width-locked .text-block-editor{box-sizing:border-box;width:100%;max-width:100%}.shape-block--free:not(.shape-block--free-width-locked) .text-block-editor{width:auto}.shape-block--free .text-block-editor{box-sizing:border-box;white-space:pre-wrap;word-break:break-word;overflow-wrap:break-word;width:100%;min-width:0;height:auto;min-height:0;padding:2px 6px;overflow:visible}.shape-block--free:not(.shape-block--active) .text-block-editor{pointer-events:none;-webkit-user-select:none;user-select:none;cursor:inherit}.shape-block--collapsed{box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-color:var(--color-border-muted);overflow:hidden;background-color:#161b22e6!important;height:34px!important}.shape-block--collapsed .shape-block__drag-handle{border-radius:var(--block-radius,12px);cursor:move;height:100%}.shape-block__drag-handle{cursor:move;width:100%;height:32px;padding:0 var(--space-3);border-top-left-radius:var(--block-radius,12px);border-top-right-radius:var(--block-radius,12px);justify-content:flex-start;align-items:center;gap:var(--space-2);background-color:#ffffff0a;border-bottom:1px solid #ffffff0f;flex-shrink:0;display:flex}.shape-block__type-badge{color:#a78bfa;cursor:pointer;-webkit-user-select:none;user-select:none;text-transform:uppercase;letter-spacing:.05em;box-sizing:border-box;background:#7c3aed26;border:1px solid #7c3aed40;border-radius:6px;align-items:center;gap:4px;height:18px;padding:2px 6px;font-size:9px;font-weight:600;transition:all .15s;display:flex}.shape-block__type-badge:hover{background:#7c3aed40;border-color:#7c3aed66}.shape-block__type-name{white-space:nowrap}.shape-block__title-input{width:auto;min-width:60px;max-width:200px;color:var(--color-text-primary);cursor:text;background:0 0;border:none;border-radius:4px;outline:none;flex:none;padding:2px 6px;font-family:inherit;font-size:12px;font-weight:600;transition:background-color .15s}.shape-block__title-input:hover{background:#ffffff0d}.shape-block__title-input:focus{background:#ffffff14;box-shadow:0 0 0 1px #ffffff1a}.shape-block__title-text{width:auto;max-width:200px;color:var(--color-text-primary);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;-webkit-user-select:none;user-select:none;border-radius:4px;flex:none;padding:2px 6px;font-size:12px;font-weight:600;transition:background-color .15s;overflow:hidden}.shape-block__title-text:hover{background:#ffffff0d}.shape-block__header-btn{width:20px;height:20px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;transition:all .15s;display:flex}.shape-block__header-btn:hover{color:var(--color-text-primary);background:#ffffff14}.shape-block__drag-pill{border-radius:var(--radius-full);background-color:var(--color-text-disabled);width:16px;height:3px;margin-left:var(--space-1);opacity:.4;transition:opacity var(--transition-fast)}.shape-block:hover .shape-block__drag-pill{opacity:.7}.shape-block__inner{padding:var(--space-2);flex-direction:column;flex:1;display:flex;overflow:auto}.shape-block__inner--text{padding:0!important}.shape-block--selected:not(.shape-block--active){cursor:move}.shape-block__resize-handle{border:2px solid var(--color-accent,#7c3aed);background:var(--color-bg-surface,#fff);z-index:20;border-radius:2px;width:10px;height:10px;position:absolute;box-shadow:0 0 0 1px #00000026}.shape-block__resize-handle--nw{cursor:nw-resize;top:-5px;left:-5px}.shape-block__resize-handle--ne{cursor:ne-resize;top:-5px;right:-5px}.shape-block__resize-handle--sw{cursor:sw-resize;bottom:-5px;left:-5px}.shape-block__resize-handle--se{cursor:se-resize;bottom:-5px;right:-5px}.shape-block--resizable:after{display:none}.shape-block--primitive .shape-block__inner{padding-bottom:14px;padding-right:14px}.shape-block__rotate-handle{border:1px solid var(--color-border-default);background:var(--color-bg-surface);width:22px;height:22px;color:var(--color-text-secondary);cursor:grab;z-index:100;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:-28px;left:50%;transform:translate(-50%)}.shape-block__rotate-handle:active{cursor:grabbing}.shape-block--frame,.shape-block--group{box-shadow:var(--shadow-sm)}.shape-block--frame.shape-block--selected,.shape-block--group.shape-block--selected{box-shadow:var(--shadow-md), var(--shadow-glow)}.shape-block__actions{bottom:calc(-30px - var(--space-1));align-items:center;gap:var(--space-1);padding:var(--space-1);background-color:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);z-index:100;animation:fadeIn var(--transition-fast) both;display:flex;position:absolute;left:50%;transform:translate(-50%)}.shape-block__action-btn{border-radius:var(--radius-sm);width:24px;height:24px;color:var(--color-text-secondary);cursor:pointer;transition:color var(--transition-fast), background-color var(--transition-fast);background-color:#0000;justify-content:center;align-items:center;display:flex}.shape-block__action-btn:hover{color:var(--color-text-primary);background-color:var(--color-bg-hover)}.shape-block__action-btn--delete:hover{color:var(--color-error-fg);background-color:var(--color-error-subtle)}.shape-block--readonly{pointer-events:auto;cursor:default}.shape-block--readonly .shape-block__actions,.shape-block--readonly .shape-block__rotate-handle,.shape-block--readonly .shape-block__resize-handle,.shape-block--readonly .shape-block__drag-pill,.shape-block--readonly:after{display:none!important}.shape-block--lens-dimmed{opacity:.28;pointer-events:none}.shape-block--lens-dimmed.shape-block--selected,.shape-block--lens-dimmed.shape-block--active{opacity:.45}.shape-block--lens-hidden{visibility:hidden;pointer-events:none}.connection-overlay{pointer-events:none;z-index:4;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.connection-overlay__path{stroke:var(--color-accent,#58a6ff);stroke-width:1.5px;stroke-opacity:.75}.block-port-terminals{pointer-events:none;z-index:6;position:absolute;inset:0}.block-port-terminals__inputs,.block-port-terminals__outputs{pointer-events:auto;flex-direction:column;gap:8px;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.block-port-terminals__inputs{left:-6px}.block-port-terminals__outputs{right:-6px}.block-port-terminal{border:2px solid var(--color-accent,#58a6ff);background:var(--color-surface-raised,#fff);cursor:crosshair;border-radius:50%;width:10px;height:10px;padding:0}.block-port-terminal--trigger{border-radius:2px;transform:rotate(45deg)}.block-port-terminal--json{border-radius:50%}.block-port-terminal:hover{background:var(--color-accent,#58a6ff)}.frame-block{box-sizing:border-box;pointer-events:none;width:100%;height:100%;min-height:48px;position:relative}.frame-block__marker-border{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.frame-block__drop-hint{color:var(--color-text-secondary);opacity:.35;pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap;font-size:11px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.frame-block--group .frame-block__drop-hint{opacity:.2;text-transform:uppercase;letter-spacing:.06em;font-size:10px}.shape-block--frame .shape-block__inner--container,.shape-block--group .shape-block__inner--container{width:100%;height:100%;min-height:inherit;padding:0;position:relative;overflow:visible}.shape-block__children{pointer-events:none;position:absolute;inset:0}.shape-block__children>.shape-block{pointer-events:auto}.primitive-block-shell{box-sizing:border-box;text-align:center;-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:100%;height:100%;min-height:48px;padding:12px;display:flex}.primitive-block-shell__badge{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary);font-size:10px;font-weight:600}.primitive-block-shell__hint{color:var(--color-text-secondary);margin:0;font-size:12px;line-height:1.4}.primitive-block-shell__hint--muted{color:var(--color-text-tertiary);font-size:11px}.script-block{box-sizing:border-box;flex-direction:column;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.script-block__toolbar{border-bottom:1px solid var(--color-border-default);background:#00000040;flex-shrink:0;justify-content:space-between;align-items:center;padding:6px 12px;display:flex}.script-block__toolbar-title{text-transform:uppercase;color:var(--color-text-secondary);letter-spacing:.05em;-webkit-user-select:none;user-select:none;font-size:10px;font-weight:600}.script-block__tabs{border:1px solid var(--color-border-default);background:#0d1117b3;border-radius:6px;gap:2px;padding:2px;display:flex}.script-block__tab-btn{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:4px;padding:4px 8px;font-size:11px;transition:all .15s;display:flex}.script-block__tab-btn:hover{color:var(--color-text-primary);background:#ffffff0d}.script-block__tab-btn.active{color:var(--color-text-primary);background:#ffffff26;font-weight:500}.script-block__body{background:0 0;flex-direction:column;flex:1;width:100%;min-height:0;display:flex}.script-block__editor{resize:none;color:#c9d1d9;box-sizing:border-box;background:#0d111766;border:none;outline:none;flex:1;width:100%;height:100%;padding:16px;font-family:Fira Code,Courier New,Courier,monospace;font-size:12px;line-height:1.5;overflow-y:auto}.script-block__editor:focus{background:#0d111799}.script-block__preview-wrapper{box-sizing:border-box;background-color:var(--color-bg-content);width:100%;transition:background-color var(--transition-fast);flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.script-block__preview-wrapper[data-lighten-content=true]{background-color:#ffffff14!important}.script-block__preview-wrapper[data-lighten-content=false]{background-color:#0000!important}[data-theme=light] .script-block__preview-wrapper[data-lighten-content=true]{background-color:#ffffffb3!important}[data-theme=light] .script-block__preview-wrapper[data-lighten-content=false]{background-color:#0000!important}.script-block__preview-container{box-sizing:border-box;width:100%;height:100%;overflow:auto}.script-block__error{color:#f85149;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:5;background:#f8514926;border-top:1px solid #f851494d;align-items:center;gap:8px;padding:8px 12px;font-size:11px;display:flex;position:absolute;bottom:0;left:0;right:0}.script-block__error-msg{white-space:nowrap;text-overflow:ellipsis;flex:1;font-family:monospace;overflow:hidden}.table-block{flex-direction:column;height:100%;min-height:0;display:flex}.table-block__toolbar{border-bottom:1px solid var(--color-border-default);gap:6px;padding:4px 8px;display:flex}.table-block__btn{border:1px solid var(--color-border-default);background:var(--color-bg-elevated);color:var(--color-text-secondary);cursor:pointer;border-radius:4px;padding:2px 8px;font-size:11px}.table-block__btn:hover{border-color:var(--color-accent);color:var(--color-text-primary)}.table-block__scroll{flex:1;padding:8px 10px;overflow:auto}.table-block__table{border-collapse:collapse;width:100%;font-size:13px;line-height:1.45}.table-block__table th,.table-block__table td{border:1px solid var(--color-border-default,#333);vertical-align:top;text-align:left;min-width:80px;padding:0}.table-block__header-row th,.table-block__table thead th{background:var(--color-bg-elevated,#1e1e1e);font-weight:600}.table-block__table tbody tr:nth-child(2n) td{background:#ffffff05}.table-block__cell{position:relative}.table-block__input{width:100%;color:inherit;font:inherit;box-sizing:border-box;background:0 0;border:none;outline:none;padding:8px 10px}.table-block__text{white-space:pre-wrap;word-break:break-word;padding:8px 10px;display:block}.table-block__actions{vertical-align:middle;width:28px;background:0 0!important;border:none!important}.table-block__remove-row,.table-block__remove-col{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:14px;line-height:1}.table-block__remove-row:hover{color:var(--color-accent)}.document-prose{color:var(--color-text-primary,#eee);word-break:break-word;overflow-wrap:break-word;font-family:Inter,sans-serif;font-size:14px;line-height:1.6}.document-prose p{margin:0 0 .5em}.document-prose h1{margin:0 0 .4em;font-size:2em;font-weight:700;line-height:1.25}.document-prose h2{margin:1em 0 .4em;font-size:1.6em;font-weight:600;line-height:1.3}.document-prose h3{margin:.85em 0 .35em;font-size:1.3em;font-weight:600;line-height:1.35}.document-prose h4{margin:.75em 0 .35em;font-size:1.1em;font-weight:600;line-height:1.4}.document-prose h1:first-child,.document-prose h2:first-child,.document-prose h3:first-child,.document-prose h4:first-child{margin-top:0}.document-prose blockquote{border-left:3px solid var(--color-accent,#58a6ff);padding-left:var(--space-4,16px);color:var(--color-text-secondary,#aaa);margin:8px 0;font-style:italic}.document-prose ul,.document-prose ol{margin:8px 0;padding-left:1.5em}.document-prose ul{list-style-type:disc}.document-prose ol{list-style-type:decimal}.document-prose details{background:0 0;border:none;margin:6px 0;padding:0}.document-prose summary{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--color-text-primary,#eee);outline:none;margin-bottom:4px;font-weight:600}.document-prose details>:not(summary){color:var(--color-text-secondary,#aaa);margin-top:4px;padding-left:20px}.document-prose .checklist-container{flex-direction:column;gap:6px;margin:8px 0;display:flex}.document-prose .checklist-item{align-items:flex-start;gap:8px;margin:2px 0;display:flex}.document-prose .checklist-item input[type=checkbox]{cursor:pointer;flex-shrink:0;width:15px;height:15px;margin:3px 0 0}.document-prose .checklist-item .checklist-label{word-break:break-word;outline:none;flex:1;min-width:0;font-size:14px;line-height:1.4}.document-prose .checklist-item input[type=checkbox]:checked+.checklist-label{color:var(--color-text-secondary,#aaa);opacity:.7;text-decoration:line-through}.document-prose pre{background:var(--color-bg-base,#111);border:1px solid var(--color-border-default,#333);white-space:pre;border-radius:8px;margin:10px 0;padding:12px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;line-height:1.5;overflow-x:auto}.document-prose pre code{font:inherit;background:0 0;border:none;padding:0}.document-prose :not(pre)>code{background:var(--color-bg-base,#111);border:1px solid var(--color-border-default,#333);border-radius:4px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.9em}.document-prose hr{border:none;border-top:1px solid var(--color-border-default,#333);margin:16px 0}.document-prose table{border-collapse:collapse;width:100%;margin:12px 0;font-size:13px}.document-prose th,.document-prose td{border:1px solid var(--color-border-default,#333);text-align:left;vertical-align:top;padding:8px 10px}.document-prose th{background:var(--color-bg-elevated,#1e1e1e);font-weight:600}.document-prose tbody tr:nth-child(2n) td{background:#ffffff05}.document-prose img{border-radius:6px;max-width:100%;height:auto}.text-block-editor{box-sizing:border-box;width:100%;height:100%;padding:var(--sf-prose-padding-y,8px) var(--sf-prose-padding-x,12px);border-radius:0 0 var(--sf-block-radius,var(--block-radius,12px)) var(--sf-block-radius,var(--block-radius,12px));background:var(--sf-block-background,transparent);font-family:var(--sf-prose-font-family,inherit);color:var(--sf-prose-color,inherit);transition:color var(--transition-fast), background-color var(--transition-fast);white-space:pre-wrap;caret-color:var(--sf-prose-caret-color,var(--color-accent,#7c3aed));outline:none;overflow:hidden auto}.text-block-editor[data-placeholder].is-empty:before,.text-block-editor[data-placeholder]:empty:before{content:attr(data-placeholder);color:var(--color-text-tertiary,#6b7280);pointer-events:none}.text-block-editor--chrome-minimal{padding:var(--sf-prose-padding-y,4px) var(--sf-prose-padding-x,4px)}.text-block-editor--chrome-none{background:0 0;border-radius:0;padding:0}.text-block-editor--inherit-typography{color:inherit;caret-color:currentColor;font-family:inherit}.text-block-editor .block-mention,.text-block-editor .entity-mention,.text-block-editor .sf-mention{color:var(--color-accent,#58a6ff);cursor:pointer;white-space:nowrap;background:#58a6ff1f;border-radius:4px;padding:0 3px}.text-block-editor .entity-mention{color:var(--color-accent-secondary,#a371f7);background:#a371f71f}.text-block-editor .sf-unfurl-card{border:1px solid var(--color-border-default,#444);background:var(--color-surface-raised,#2a2a2a);cursor:pointer;box-sizing:border-box;border-radius:10px;max-width:100%;margin:8px 0;padding:10px;display:block}.text-block-editor .sf-unfurl-card__image{object-fit:cover;border-radius:6px;width:100%;max-height:140px;margin-bottom:8px}.text-block-editor .sf-unfurl-card__site{color:var(--color-text-secondary,#999);text-transform:uppercase;letter-spacing:.04em;font-size:10px}.text-block-editor .sf-unfurl-card__title{font-weight:600;font-size:var(--font-size-sm,.875rem);color:var(--color-accent,#58a6ff);margin-top:2px;text-decoration:none;display:block}.text-block-editor .sf-unfurl-card__description{color:var(--color-text-secondary,#bbb);margin-top:4px;font-size:11px;line-height:1.4}.text-block-editor::-webkit-scrollbar{width:4px;height:4px}.text-block-editor::-webkit-scrollbar-track{background:0 0}.text-block-editor::-webkit-scrollbar-thumb{background-color:var(--color-border-default);border-radius:var(--radius-full)}.text-block-editor::-webkit-scrollbar-thumb:hover{background-color:var(--color-text-tertiary)}.text-block-editor details,.script-block__preview-container details{box-shadow:none!important;background:0 0!important;border:none!important;border-radius:0!important;padding:0!important}.text-block-editor summary,.script-block__preview-container summary{background:0 0!important;border:none!important;padding:0!important}.text-block-editor details>:not(summary),.script-block__preview-container details>:not(summary){color:var(--color-text-secondary);margin-top:4px;padding-left:20px}.text-block-editor a.sf-detected-link{color:var(--color-accent-fg,#a78bfa);cursor:pointer;word-break:break-all;text-decoration:underline}.text-block-editor a.sf-detected-link:hover{color:var(--color-accent,#7c3aed)}:root{--accent-color:var(--color-accent,#8b5cf6);--accent-color-hover:var(--color-accent-hover,#7c3aed);--accent-color-subtle:var(--color-accent-subtle,#8b5cf61f);--accent-color-muted:var(--color-accent-muted,#8b5cf64d);--accent-color-fg:var(--color-accent-fg,#a78bfa);--bg-dark:#09090b;--bg-panel:#141416;--bg-card:#18181b8c;--bg-card-hover:#27272ab3;--border-muted:#ffffff0f;--border-glow:var(--accent-color-subtle);--border-glow-hover:var(--accent-color-muted);--border-editing:#f59e0b99;--accent-violet:var(--accent-color);--accent-cyan:#06b6d4;--accent-emerald:#10b981;--accent-rose:#f43f5e;--accent-amber:#f59e0b;--text-primary:#f4f4f5;--text-secondary:#d4d4d8;--text-muted:#71717a;--text-dimmed:#52525b;--glass-bg:#141416d9;--glass-border:#ffffff14;--canvas-bg:#09090b;--canvas-textarea-color:#f8fafc;--canvas-textarea-placeholder:#475569;--card-shadow:0 4px 15px #00000040;--panel-shadow:none;--toolbar-shadow:0 8px 32px #0000001f;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-display:"Outfit", system-ui, -apple-system, sans-serif}:root.light{--bg-dark:#f8fafc;--bg-panel:#fff;--bg-card:#f1f5f9b3;--bg-card-hover:#e2e8f0e6;--border-muted:#0f172a0f;--border-glow:var(--accent-color-subtle);--border-glow-hover:var(--accent-color-muted);--border-editing:#f59e0ba6;--text-primary:#0f172a;--text-secondary:#334155;--text-muted:#64748b;--text-dimmed:#94a3b8;--glass-bg:#ffffffd9;--glass-border:#0f172a14;--canvas-bg:#f1f5f9;--canvas-textarea-color:#0f172a;--canvas-textarea-placeholder:#94a3b8;--card-shadow:0 8px 20px #0f172a0f, 0 2px 6px #0f172a05;--panel-shadow:4px 0 25px #0f172a0a;--toolbar-shadow:0 10px 30px #0f172a14, 0 2px 8px #0f172a08}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-dark);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;transition:background-color .3s,color .3s;overflow:hidden}#root{width:100%;height:100vh;display:flex;overflow:hidden}.app-container{flex-direction:column;width:100vw;height:100vh;display:flex;overflow:hidden}.layout-wrapper{flex:1;width:100%;height:100%;display:flex;overflow:hidden}.left-panel{background-color:var(--bg-panel);border-right:1px solid var(--border-muted);z-index:10;box-shadow:var(--panel-shadow);transition:width .3s cubic-bezier(.25,.8,.25,1),min-width .3s cubic-bezier(.25,.8,.25,1),max-width .3s cubic-bezier(.25,.8,.25,1),padding .3s cubic-bezier(.25,.8,.25,1),background-color .3s,border-color .3s,box-shadow .3s}.resizable-panel{flex-direction:row;flex-shrink:0;height:100%;display:flex;position:relative;overflow:hidden}.resizable-panel.is-resizing{transition:none!important}.resizable-panel__content{flex-direction:column;flex:1;min-width:0;height:100%;display:flex;overflow:hidden}.panel-resize-handle{cursor:col-resize;touch-action:none;z-index:20;flex-shrink:0;align-self:stretch;width:8px;margin:0 -4px;position:relative}.panel-resize-handle:after{content:"";background:0 0;border-radius:1px;width:2px;transition:background .15s,box-shadow .15s;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.panel-resize-handle:hover:after,.panel-resize-handle:active:after,.resizable-panel.is-resizing .panel-resize-handle:after{background:var(--accent-violet);box-shadow:0 0 10px var(--accent-color-muted)}.left-panel.collapsed{width:0!important;min-width:0!important;max-width:0!important;box-shadow:none!important;border-right-width:0!important;margin:0!important;padding:0!important}.panel-header{border-bottom:1px solid var(--border-muted);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.app-title{font-family:var(--font-display);letter-spacing:-.5px;background:linear-gradient(135deg, var(--text-primary) 30%, var(--accent-violet) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;align-items:center;gap:6px;font-size:22px;font-weight:800;display:flex}.app-title span{font-family:var(--font-sans);letter-spacing:.5px;background:var(--accent-color-subtle);border:1px solid var(--accent-color-muted);color:var(--accent-violet);-webkit-text-fill-color:initial;border-radius:4px;padding:1px 5px;font-size:10px;font-weight:600}.header-actions{align-items:center;gap:8px;display:flex}.theme-toggle-btn{border:1px solid var(--border-muted);color:var(--text-secondary);cursor:pointer;background:#ffffff0a;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:all .25s;display:flex}.theme-toggle-btn:hover{color:var(--text-primary);background:#ffffff14;transform:rotate(15deg)scale(1.05)}.calendar-section{border-bottom:1px solid var(--border-muted);flex-direction:column;gap:6px;padding:8px 12px;display:flex}.calendar-header-bar{justify-content:space-between;align-items:center;padding:0;display:flex}.calendar-month-title{font-family:var(--font-display);color:var(--text-primary);font-size:12px;font-weight:700}.calendar-nav-buttons{gap:3px;display:flex}.calendar-strip{background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--card-shadow);border-radius:8px;flex-direction:column;padding:4px;display:flex}.calendar-days{justify-content:space-between;gap:2px;width:100%;display:flex}.calendar-day-cell{cursor:pointer;border-radius:6px;flex-direction:column;flex:1;align-items:center;padding:2.5px 1px;transition:all .15s;display:flex;position:relative}.calendar-day-name{text-transform:uppercase;color:var(--text-muted);margin-bottom:1px;font-size:7px;font-weight:600}.calendar-day-num{font-family:var(--font-display);color:var(--text-secondary);font-size:11.5px;font-weight:700}.calendar-day-cell:hover{background:#ffffff0a}.calendar-day-cell.active{background:var(--accent-violet);box-shadow:0 2px 8px var(--accent-color-muted)}.calendar-day-cell.active .calendar-day-name,.calendar-day-cell.active .calendar-day-num{color:#fff}.calendar-day-cell.has-entry:after{content:"";background-color:var(--accent-cyan);width:3px;height:3px;box-shadow:0 0 3px var(--accent-cyan);border-radius:50%;position:absolute;bottom:2px}.calendar-day-cell.active.has-entry:after{box-shadow:none;background-color:#fff}.calendar-grid-container{flex-direction:column;gap:3px;width:100%;display:flex}.calendar-grid-header{text-align:center;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;grid-template-columns:repeat(7,1fr);padding-bottom:1px;font-size:7px;font-weight:700;display:grid}.calendar-grid-days{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.calendar-day-cell.empty{cursor:default;pointer-events:none;background:0 0!important}.calendar-day-cell.empty:after{display:none}.filter-row{justify-content:center;display:flex}.time-filters{border:1px solid var(--border-muted);background:#00000014;border-radius:99px;gap:2px;width:100%;padding:1.5px;display:flex}.filter-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:99px;flex:1;padding:3px 4px;font-size:9.5px;font-weight:500;transition:all .15s}.filter-btn:hover{color:var(--text-secondary)}.filter-btn.active{background:var(--accent-violet);color:#fff;box-shadow:0 2px 6px #8b5cf633}.feed-container{scroll-behavior:smooth;scroll-snap-type:none;flex-direction:column;flex:1;gap:8px;padding:10px 12px;display:flex;overflow-y:auto}.diary-card{background:var(--bg-card);border:1px solid var(--border-muted);box-shadow:var(--card-shadow);cursor:pointer;border-radius:10px;flex-direction:column;flex-shrink:0;gap:6px;padding:10px 12px;transition:all .25s cubic-bezier(.25,.8,.25,1);display:flex;position:relative;overflow:hidden;-webkit-user-select:text!important;user-select:text!important}.diary-card:before{content:"";background:linear-gradient(90deg, transparent, var(--border-glow), transparent);opacity:0;height:2px;transition:opacity .25s;position:absolute;top:0;left:0;right:0}.diary-card:hover{background:var(--bg-card-hover);border-color:var(--border-glow);box-shadow:var(--card-shadow);transform:translateY(-1px)}.diary-card:hover:before{opacity:1}.diary-card.active-today{border-color:var(--accent-color-muted);background:var(--bg-card-hover)}.diary-card.editing{border-color:var(--border-editing);box-shadow:0 0 12px #f59e0b2e, var(--card-shadow)}.diary-card.editing:before{background:linear-gradient(90deg, transparent, var(--accent-amber), transparent);opacity:1}.diary-card-header{justify-content:space-between;align-items:center;display:flex}.diary-card-date{font-family:var(--font-display);color:var(--text-primary);align-items:center;gap:4px;font-size:11.5px;font-weight:700;display:flex}.diary-card-date svg{color:var(--accent-violet)}.diary-card-time{color:var(--text-muted);align-items:center;gap:2px;font-size:9.5px;font-weight:500;display:flex}.diary-card-content{color:var(--text-secondary);-webkit-line-clamp:3;text-overflow:ellipsis;-webkit-box-orient:vertical;font-size:12px;line-height:1.45;display:-webkit-box;overflow:hidden;-webkit-user-select:text!important;user-select:text!important}.diary-card-image-container{border:1px solid var(--border-muted);border-radius:6px;width:100%;max-height:90px;overflow:hidden}.diary-card-image{object-fit:cover;width:100%;height:100%;display:block}.diary-card-audio-indicator{color:var(--accent-cyan);background:#06b6d40f;border:1px solid #06b6d41f;border-radius:5px;align-self:flex-start;align-items:center;gap:3px;padding:2px 5px;font-size:9px;font-weight:500;display:flex}.card-action-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex}.card-action-btn:hover{color:var(--text-primary);background:#ffffff0d}.empty-state{text-align:center;color:var(--text-secondary);border:1px dashed var(--border-muted);background:#00000005;border-radius:12px;flex-direction:column;align-items:center;gap:10px;padding:30px 12px;display:flex}.empty-state-icon{color:var(--text-muted);opacity:.5}.empty-state h3{font-family:var(--font-display);color:var(--text-primary);font-size:16px}.empty-state p{color:var(--text-muted);font-size:11px}.writing-canvas-panel{background-color:var(--canvas-bg);flex-direction:column;flex:1;height:100%;transition:background-color .3s;display:flex;position:relative;overflow:hidden}.mobile-canvas-header{border-bottom:1px solid var(--border-muted);background:var(--bg-panel);justify-content:space-between;align-items:center;padding:16px 20px;display:none}.mobile-canvas-title{font-family:var(--font-display);color:var(--text-primary);font-size:16px;font-weight:700}.writing-canvas-content{flex-direction:column;flex:1;padding:28px 48px;display:flex;overflow-y:auto}.editor-edit-banner{color:var(--accent-amber);background:#f59e0b0f;border:1px solid #f59e0b26;border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:14px;padding:8px 14px;font-size:12px;animation:.2s ease-out fadeIn;display:flex}.editor-edit-banner-left{align-items:center;gap:6px;font-weight:500;display:flex}.editor-edit-banner-actions{align-items:center;gap:8px;display:flex}.editor-edit-banner-btn{color:var(--accent-amber);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:3px;padding:2px 6px;font-size:11px;font-weight:600;transition:background .15s;display:flex}.editor-edit-banner-btn:hover{background:#f59e0b1a}.editor-edit-banner-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;padding:2px;transition:color .15s;display:flex}.editor-edit-banner-close:hover{color:var(--text-primary)}.editor-toolbar-strip{background:var(--bg-card);border:1px solid var(--border-muted);border-radius:12px;flex-wrap:nowrap;align-items:center;gap:6px;min-height:40px;margin-bottom:12px;padding:6px 8px;display:flex;overflow-x:auto}.editor-toolbar-group{align-items:center;gap:6px;display:flex}.editor-toolbar-tags{flex:1;min-width:120px}.editor-toolbar-divider{background:var(--border-muted);flex-shrink:0;width:1px;height:20px}.editor-chip-btn{border:1px solid var(--border-muted);color:var(--text-secondary);cursor:pointer;white-space:nowrap;font-size:12px;font-weight:500;font-family:var(--font-sans);background:0 0;border-radius:8px;align-items:center;gap:5px;padding:5px 10px;transition:all .15s;display:flex}.editor-chip-btn:hover{border-color:var(--border-glow);color:var(--text-primary);background:#ffffff0a}.editor-chip-btn.active{border-color:var(--accent-violet);color:var(--accent-violet);background:#8b5cf61a}.editor-chip-label{font-size:12px}.editor-tag-input{color:var(--text-primary);font-size:12px;font-family:var(--font-sans);background:0 0;border:none;outline:none;flex:1;min-width:80px}.editor-tag-input::placeholder{color:var(--text-dimmed)}.editor-mood-popover{background:var(--glass-bg);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid var(--glass-border);z-index:100;border-radius:14px;grid-template-columns:repeat(3,1fr);gap:4px;min-width:220px;padding:8px;animation:.15s cubic-bezier(.34,1.56,.64,1) forwards scaleIn;display:grid;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 12px 32px #00000059}.editor-mood-option{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;flex-direction:column;align-items:center;gap:3px;padding:8px 6px;transition:all .15s;display:flex}.editor-mood-option:hover{border-color:var(--border-muted);background:#ffffff0d}.editor-mood-option.selected{background:var(--accent-color-subtle);border-color:var(--accent-violet)}.editor-mood-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;font-size:9px;font-weight:500}.editor-style-tray{background:var(--bg-card);border:1px solid var(--border-muted);border-radius:12px;flex-direction:column;gap:8px;margin-bottom:12px;padding:10px 12px;animation:.15s ease-out fadeIn;display:flex}.editor-style-section{align-items:center;gap:10px;display:flex}.editor-font-pills{flex-wrap:wrap;gap:4px;display:flex}.editor-font-pill{border:1px solid var(--border-muted);color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;padding:3px 10px;font-size:11px;transition:all .15s}.editor-font-pill:hover{border-color:var(--border-glow);color:var(--text-primary)}.editor-font-pill.active{background:var(--accent-color-subtle);border-color:var(--accent-violet);color:var(--accent-violet);font-weight:600}.editor-color-dots{align-items:center;gap:6px;display:flex}.editor-color-dot{background:var(--dot-color);cursor:pointer;border:2px solid #0000;border-radius:50%;width:18px;height:18px;padding:0;transition:all .15s cubic-bezier(.4,0,.2,1);position:relative}.editor-color-dot:hover{box-shadow:0 0 8px var(--accent-color-subtle);transform:scale(1.15)}.editor-color-dot.active{border-color:var(--accent-violet);box-shadow:0 0 8px var(--accent-violet);transform:scale(1.2)}.editor-writing-layer{background:var(--bg-card);border:1px solid var(--border-muted);border-radius:16px;flex-direction:column;flex:1;min-height:200px;transition:border-color .3s,box-shadow .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 24px #0000001f,inset 0 1px #ffffff08}.editor-writing-layer:focus-within{border-color:var(--border-glow);box-shadow:0 4px 24px #0000001f, 0 0 0 1px var(--border-glow), 0 0 20px var(--accent-color-subtle), inset 0 1px 0 #ffffff08}.editor-stats-bar{color:var(--text-dimmed);border-top:1px solid var(--border-muted);font-size:10px;font-family:var(--font-sans);letter-spacing:.2px;background:#00000014;align-items:center;gap:8px;padding:6px 16px;display:flex}.editor-stats-dot{opacity:.4}.canvas-footer{background:0 0;flex-direction:column;gap:10px;padding:12px 0 0;display:flex}.canvas-image-preview-container{border:1px solid var(--border-muted);width:120px;height:120px;box-shadow:var(--card-shadow);background-color:#0003;border-radius:16px;position:relative;overflow:hidden}.canvas-image-preview{object-fit:cover;width:100%;height:100%}.remove-image-btn{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;border:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;transition:background .2s;display:flex;position:absolute;top:6px;right:6px}.remove-image-btn:hover{background:var(--accent-rose)}.recording-tray{color:var(--accent-rose);background:#f43f5e0d;border:1px dashed #f43f5e33;border-radius:14px;align-self:flex-start;align-items:center;gap:12px;min-width:240px;padding:10px 16px;font-size:13.5px;display:flex}.recording-pulse{background-color:var(--accent-rose);border-radius:50%;width:8px;height:8px;animation:1.5s infinite pulse-rose}@keyframes pulse-rose{0%{transform:scale(.95);box-shadow:0 0 #f43f5eb3}70%{transform:scale(1);box-shadow:0 0 0 6px #f43f5e00}to{transform:scale(.95);box-shadow:0 0 #f43f5e00}}.recording-timer{font-family:var(--font-display);font-weight:700}.canvas-toolbar{background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--toolbar-shadow);border-radius:24px;align-items:center;gap:12px;padding:10px 16px;display:flex}.toolbar-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:flex}.toolbar-btn:hover{color:var(--text-primary);background:#ffffff0f;transform:scale(1.05)}.toolbar-btn.active{background:var(--accent-rose);color:#fff;box-shadow:0 0 10px #f43f5e66}.canvas-save-btn{background:var(--accent-violet);color:#fff;font-family:var(--font-sans);cursor:pointer;border:none;border-radius:20px;align-items:center;padding:10px 20px;font-size:14px;font-weight:600;transition:all .25s;display:flex}.canvas-save-btn:hover:not(:disabled){background:var(--accent-color-hover);box-shadow:0 4px 12px var(--accent-color-muted);transform:translateY(-1px)}.canvas-save-btn:disabled{color:var(--text-dimmed);cursor:not-allowed;background:#ffffff05}.canvas-cancel-btn{border:1px solid var(--border-muted);color:var(--text-secondary);font-family:var(--font-sans);cursor:pointer;background:0 0;border-radius:20px;padding:10px 18px;font-size:14px;font-weight:500;transition:all .2s}.canvas-cancel-btn:hover{color:var(--text-primary);background:#ffffff0d}.hidden-input{display:none!important}.mobile-tab-bar{border-top:1px solid var(--border-muted);background-color:var(--bg-panel);z-index:100;justify-content:space-around;align-items:center;height:60px;display:none}.tab-item{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;height:100%;font-size:10px;font-weight:500;display:flex}.tab-item.active{color:var(--accent-violet)}.timeline-date-header{background:var(--bg-panel);z-index:5;text-transform:uppercase;letter-spacing:.8px;color:var(--accent-violet);border-bottom:1px solid var(--accent-color-subtle);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);margin-top:12px;margin-bottom:6px;padding:12px 4px 6px;font-size:11px;font-weight:700;position:sticky;top:0}.timeline-date-header:first-of-type{margin-top:0}.modal-backdrop,.lightbox-backdrop{animation:.22s ease-out forwards fadeIn}.modal-content{animation:.28s cubic-bezier(.34,1.56,.64,1) forwards scaleIn}.reflect-panel-container{background-color:var(--bg-panel);border-left:1px solid var(--border-muted);z-index:10;transition:width .3s cubic-bezier(.25,.8,.25,1),min-width .3s cubic-bezier(.25,.8,.25,1),border-color .3s}.reflect-panel-container.collapsed{border-left-width:0!important;width:0!important;min-width:0!important}.canvas-content-wrapper{flex:1;width:100%;display:flex;position:relative;overflow:hidden}@media (width<=768px){.left-panel{min-width:0;max-width:none;display:none}.left-panel:not(.collapsed){width:100%!important}.panel-resize-handle{display:none}.left-panel.active-mobile{display:flex}.writing-canvas-panel{display:none}.writing-canvas-panel.active-mobile,.mobile-canvas-header{display:flex}.writing-canvas-content{padding:24px 20px}.canvas-footer{padding:16px 20px 24px}.mobile-tab-bar{padding-bottom:env(safe-area-inset-bottom,0);display:flex}.panel-header{padding-top:max(16px, env(safe-area-inset-top,0))}.editor-toolbar-strip{border-radius:10px;margin-bottom:10px;padding:4px 6px}.editor-chip-btn{padding:4px 8px;font-size:11px}.editor-tag-input{font-size:11px}.editor-style-tray{border-radius:10px;padding:8px 10px}.editor-font-pill{padding:2px 8px;font-size:10px}.editor-color-dot{width:16px;height:16px}.editor-writing-layer{border-radius:12px}}.sdk-text-block-editor-container .text-block-editor{color:inherit;font-family:inherit}.editor-viewport--scrollable::-webkit-scrollbar{width:8px;height:8px}.editor-viewport--scrollable .editor-viewport__scroll::-webkit-scrollbar{width:8px;height:8px}.editor-viewport--scrollable .canvas-grid::-webkit-scrollbar{width:8px;height:8px}.editor-viewport--scrollable::-webkit-scrollbar-track{background:0 0}.editor-viewport--scrollable .editor-viewport__scroll::-webkit-scrollbar-track{background:0 0}.editor-viewport--scrollable .canvas-grid::-webkit-scrollbar-track{background:0 0}.editor-viewport--scrollable::-webkit-scrollbar-thumb{background:#8b5cf640;border-radius:4px}.editor-viewport--scrollable .editor-viewport__scroll::-webkit-scrollbar-thumb{background:#8b5cf640;border-radius:4px}.editor-viewport--scrollable .canvas-grid::-webkit-scrollbar-thumb{background:#8b5cf640;border-radius:4px}.editor-viewport--scrollable::-webkit-scrollbar-thumb:hover{background:#8b5cf673}.editor-viewport--scrollable .editor-viewport__scroll::-webkit-scrollbar-thumb:hover{background:#8b5cf673}.editor-viewport--scrollable .canvas-grid::-webkit-scrollbar-thumb:hover{background:#8b5cf673}.shape-block.diary-canvas-card{border:1px solid var(--border-muted)!important;background:var(--bg-card)!important;border-radius:20px!important;transition:transform .2s cubic-bezier(.4,0,.2,1),border-color .2s,box-shadow .2s!important;overflow:hidden!important;box-shadow:0 10px 30px -10px #0000004d,0 1px 1px #ffffff0d!important}.shape-block.diary-canvas-card:hover{transform:translateY(-4px);border-color:#8b5cf673!important;box-shadow:0 20px 40px -15px #00000080,0 0 20px #8b5cf61f!important}.canvas-view-toggle.active{background-color:var(--accent-violet)!important;color:#fff!important}.reflect-toggle.active{color:var(--accent-violet)!important;border-color:var(--accent-violet)!important;background-color:#8b5cf626!important}.theme-toggle-btn.new-log-btn-solid{background:var(--accent-violet)!important;border-color:var(--accent-violet)!important;color:#fff!important}.theme-toggle-btn.new-log-btn-solid:hover{transform:scale(1.05);background:var(--accent-color-hover)!important;border-color:var(--accent-color-hover)!important;color:#fff!important}.canvas-view-wrapper{flex-direction:column;width:100vw;height:100vh;display:flex}.canvas-view-mode{flex:1;position:relative}.feed-container{position:relative}.empty-state{margin:16px 0}.empty-state h3{font-size:15px}.empty-state p{font-size:11px}.feed-item-wrapper{flex-direction:column;display:flex}.scroll-to-today-btn{background:var(--accent-violet);color:#fff;cursor:pointer;box-shadow:0 4px 12px var(--accent-color-muted);z-index:20;border:none;border-radius:20px;align-items:center;gap:6px;padding:8px 16px;font-size:12px;font-weight:600;animation:.2s ease-out fadeIn;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.mobile-canvas-header-actions{align-items:center;gap:8px;display:flex}.writing-canvas-content{flex-direction:column;height:100%;display:flex}.editor-toolbar-group{position:relative}.selected-mood-emoji{font-size:15px;line-height:1}.mood-option-emoji{font-size:18px}.font-outfit{font-family:Outfit,sans-serif!important}.font-playfair{font-family:Playfair Display,Georgia,serif!important}.font-mono{font-family:JetBrains Mono,monospace!important}.font-caveat{font-family:Caveat,Pacifico,cursive!important}.color-dot-default{background:var(--text-primary)!important}.color-dot-violet{background:#8b5cf6!important}.color-dot-cyan{background:#06b6d4!important}.color-dot-emerald{background:#10b981!important}.color-dot-rose{background:#f43f5e!important}.color-dot-amber{background:#f59e0b!important}.color-dot-indigo{background:#6366f1!important}.color-dot-orange{background:#f97316!important}.color-text-violet{color:#8b5cf6!important}.color-text-cyan{color:#06b6d4!important}.color-text-emerald{color:#10b981!important}.color-text-rose{color:#f43f5e!important}.color-text-amber{color:#f59e0b!important}.color-text-indigo{color:#6366f1!important}.color-text-orange{color:#f97316!important}.sdk-text-block-editor-container{outline:none;flex:1;padding:24px 28px;position:relative;overflow-y:auto}.editor-loading-placeholder{color:var(--text-muted);padding:28px}.editor-no-draft-placeholder{color:var(--text-muted);padding:28px;font-size:15px}.canvas-footer{padding:8px 0 0!important}.canvas-image-preview-container,.recording-tray{margin-bottom:10px}.recording-stop-btn{background:var(--accent-rose);color:#fff;margin-left:auto}.recording-error-tray{color:var(--accent-rose)!important;background:#f43f5e14!important;border:1px solid #f43f5e26!important}.recording-dismiss-btn{background:var(--accent-rose);color:#fff;margin-left:auto;padding:2px 8px;font-size:10px}.toolbar-btn.cancel-edit-btn{border:1px dashed var(--accent-amber);color:var(--accent-amber);margin-right:4px}.flex-spacer{flex:1}.canvas-cancel-btn.canvas-cancel-btn-margin{margin-right:8px}.editor-tags-tray{background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--card-shadow);border-radius:20px;align-self:flex-start;align-items:center;gap:10px;min-width:280px;margin-bottom:10px;padding:8px 14px;animation:.2s ease-out fadeIn;display:flex}.editor-tags-tray .editor-tag-input{color:var(--text-primary);background:0 0;border:none;outline:none;width:100%;font-size:13px}.editor-mood-popover-bottom{background:var(--glass-bg);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid var(--glass-border);z-index:100;transform-origin:bottom;border-radius:14px;grid-template-columns:repeat(3,1fr);gap:4px;min-width:220px;padding:8px;animation:.15s cubic-bezier(.34,1.56,.64,1) forwards scaleIn;display:grid;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 -12px 32px #00000059}.selected-mood-emoji-bottom{font-size:18px;line-height:1}.toolbar-btn.has-tags{color:var(--accent-violet)!important;border-color:var(--accent-color-muted)!important}.editor-toolbar-btn{width:28px;height:28px;color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.editor-toolbar-btn:hover{border-color:var(--border-muted);color:var(--text-primary);background:#ffffff0d}.editor-toolbar-btn:active{background:#ffffff1a}.editor-select-dropdown{border:1px solid var(--border-muted);color:var(--text-secondary);cursor:pointer;font-size:11px;font-weight:500;font-family:var(--font-sans);background:#ffffff08;border-radius:6px;outline:none;flex-shrink:0;padding:4px 8px;transition:all .15s}.editor-select-dropdown:hover{border-color:var(--border-glow);color:var(--text-primary);background:#ffffff0f}.editor-select-dropdown option{background:var(--bg-panel);color:var(--text-primary)}.canvas-layout-toggle-group{border:1px solid var(--border-muted);background:#ffffff08;border-radius:10px;gap:2px;margin-right:8px;padding:2px;display:flex}.canvas-layout-toggle-group .theme-toggle-btn{background:0 0;border:none;border-radius:8px}.canvas-layout-toggle-group .theme-toggle-btn.active{background:var(--accent-color-subtle);color:var(--accent-violet)}.toolbar-view-lens{display:inline-flex;position:relative}.toolbar-view-lens__panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);z-index:100;border-radius:12px;flex-direction:column;gap:10px;width:260px;padding:14px;animation:.15s cubic-bezier(.34,1.56,.64,1) forwards scaleIn;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 10px 30px #00000040}.toolbar-view-lens__title{font-family:var(--font-display);color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-muted);margin-bottom:4px;padding-bottom:6px;font-size:11px;font-weight:700}.view-lens-controls{flex-direction:column;gap:8px;display:flex;border:none!important;margin:0!important;padding:0!important}.view-lens-controls__row{align-items:flex-end;gap:6px;display:flex}.view-lens-controls__label{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.3px;color:var(--text-muted);flex-direction:column;flex:1;gap:4px;font-size:9px;font-weight:600;display:flex}.view-lens-controls__select{border:1px solid var(--border-muted);color:var(--text-primary);font-size:11px;font-family:var(--font-sans);cursor:pointer;background:#00000026;border-radius:6px;outline:none;padding:6px 8px;transition:all .2s}.light .view-lens-controls__select{background:#fffc}.view-lens-controls__select:focus{border-color:var(--accent-violet)}.view-lens-controls__dir{border:1px solid var(--border-muted);color:var(--text-primary);cursor:pointer;background:#00000026;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:700;transition:all .2s;display:flex}.light .view-lens-controls__dir{background:#fffc}.view-lens-controls__dir:hover,.view-lens-controls__select:hover{border-color:var(--accent-violet);background:#ffffff0a}.light .view-lens-controls__dir:hover,.light .view-lens-controls__select:hover{background:#00000005}.view-lens-controls__clear{background:var(--accent-color-subtle);border:1px solid var(--accent-color-muted);color:var(--accent-violet);cursor:pointer;text-align:center;align-self:stretch;margin-top:6px;padding:6px;font-size:11px;font-weight:600;transition:all .2s}.view-lens-controls__clear:hover{background:var(--accent-color-muted);color:#fff}
