:root{--surface:#fff;--surface-sunken:#f6f6f8;--surface-raised:#fff;--fg:#16161a;--fg-muted:#6b6b76;--fg-subtle:#93939e;--line:#e6e6ea;--line-strong:#d7d7de;--hover:#f2f2f6;--accent:#5b57d1;--accent-soft:#ecebfb;--accent-contrast:#fff;--danger:#d13b3b;--danger-soft:#fdeeee;--shadow-sm:0 1px 2px #10101a0f, 0 0 0 1px #10101a0a;--shadow-md:0 1px 2px #10101a0d, 0 4px 12px -2px #10101a1a, 0 0 0 1px #10101a0d;--shadow-lg:0 12px 32px -8px #10101a38, 0 4px 10px -3px #10101a1f, 0 0 0 1px #10101a0f;--radius-lg:10px;--radius-md:7px;--radius-sm:5px;--ease:cubic-bezier(.32, .72, 0, 1);--fast:.11s var(--ease);font-feature-settings:"cv02", "cv03", "cv04", "tnum";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:13px}:root[data-theme=dark]{--surface:#1c1c22;--surface-sunken:#16161b;--surface-raised:#22222a;--fg:#ececef;--fg-muted:#9c9caa;--fg-subtle:#71717f;--line:#2e2e38;--line-strong:#3c3c48;--hover:#292933;--accent:#8b87f5;--accent-soft:#2c2a52;--accent-contrast:#12121a;--danger:#ff7b7b;--danger-soft:#3a2222;--shadow-sm:0 1px 2px #0006, 0 0 0 1px #ffffff0d;--shadow-md:0 2px 4px #00000059, 0 6px 16px -4px #00000073, 0 0 0 1px #ffffff0f;--shadow-lg:0 16px 40px -10px #0009, 0 4px 12px -3px #0006, 0 0 0 1px #ffffff12;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;overflow:hidden}body{color:var(--fg);background:var(--surface-sunken)}::selection{background:var(--accent-soft)}:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:var(--radius-sm)}.app{width:100%;height:100%;position:relative}.canvas-container{position:absolute;inset:0}.canvas-container canvas{touch-action:none;display:block}.ui-layer{pointer-events:none;position:absolute;inset:0}.ui-layer>*{pointer-events:none;position:absolute}.ui-layer>*>*{pointer-events:auto}.top-left{flex-direction:column;gap:8px;width:238px;min-height:0;max-height:calc(100% - 28px);display:flex;top:14px;left:14px}.top-centre{flex-direction:column;align-items:center;gap:6px;display:flex;top:14px;left:50%;transform:translate(-50%)}.top-right{align-items:flex-start;gap:8px;display:flex;top:14px;right:14px}.top-right-actions{align-items:center;gap:2px;height:36px;padding:3px;display:flex}.bottom-left{gap:8px;display:flex;bottom:14px;left:14px}.bottom-right{gap:8px;display:flex;bottom:14px;right:14px}.floating-help-button{background:var(--surface);width:40px;height:40px;box-shadow:var(--shadow-md);color:var(--fg-muted);transition:color var(--fast), background var(--fast), transform var(--fast);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.floating-help-button:hover{color:var(--fg);background:var(--hover);transform:translateY(-1px)}.app.is-view-mode .canvas-container canvas{cursor:grab}.view-mode-banner{z-index:45;background:color-mix(in srgb, var(--accent) 12%, var(--surface));color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 25%, transparent);letter-spacing:.01em;pointer-events:none;box-shadow:var(--shadow-sm);border-radius:999px;padding:5px 10px;font-size:11.5px;font-weight:600;position:absolute;top:58px;left:50%;transform:translate(-50%)}.island{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-md);border-radius:12px;padding:4px}button{font:inherit;color:var(--fg);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--fast), color var(--fast), opacity var(--fast);-webkit-tap-highlight-color:transparent;background:0 0;border:none;justify-content:center;align-items:center;gap:6px;padding:5px 8px;font-weight:500;line-height:1;display:inline-flex}button:hover:not(:disabled){background:var(--hover)}button.active,button[aria-pressed=true]{background:var(--surface-sunken)}button.primary{background:var(--accent);color:#fff;border:none;font-weight:600}button.primary:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 85%, #000)}button.primary:active:not(:disabled){background:color-mix(in srgb, var(--accent) 70%, #000)}button:disabled{opacity:.35;cursor:default}button.danger{color:var(--danger)}button.danger:hover:not(:disabled){background:var(--danger-soft)}.icon{flex:none;display:block}input,select{font:inherit;color:var(--fg);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-sm);transition:border-color var(--fast), box-shadow var(--fast);padding:5px 7px}input:hover:not([type=range]):not([type=color]),select:hover{border-color:var(--fg-subtle)}input:focus-visible,select:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}select{appearance:none;cursor:pointer;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 12px) 52%,calc(100% - 8px) 52%;background-repeat:no-repeat;background-size:4px 4px,4px 4px;padding-right:22px}kbd{font-variant-numeric:tabular-nums;color:var(--fg);background:var(--surface);border:1px solid var(--line-strong);border-radius:4px;padding:2px 5px;font-family:inherit;font-size:11px;display:inline-block;box-shadow:0 1px 1px #0000000d}.tooltip-anchor{display:inline-flex}.tooltip{z-index:200;border-radius:var(--radius-sm);background:var(--fg);color:var(--surface);white-space:nowrap;pointer-events:none;box-shadow:var(--shadow-md);animation:tooltip-in var(--fast);align-items:center;gap:7px;padding:5px 8px;font-size:12px;font-weight:500;animation-fill-mode:both;display:flex;position:fixed}.tooltip--bottom{transform:translate(-50%)}.tooltip--top{transform:translate(-50%,-100%)}.tooltip--right{transform:translateY(-50%)}.tooltip-shortcut{color:color-mix(in srgb, var(--surface) 55%, var(--fg));font-variant-numeric:tabular-nums}@keyframes tooltip-in{0%{opacity:0}to{opacity:1}}.toolbar{align-items:center;gap:1px;display:flex}.tool-button{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--fg-muted);transition:all var(--fast);padding:0;position:relative}.tool-button:hover:not(:disabled){color:var(--fg);background:var(--hover)}.tool-button.active,.tool-button[aria-pressed=true]{color:var(--accent);background:var(--accent-soft)}.tool-shortcut{color:var(--fg-subtle);pointer-events:none;font-size:9px;font-weight:500;line-height:1;position:absolute;bottom:2px;right:3px}.tool-button.active .tool-shortcut{color:color-mix(in srgb, var(--accent) 65%, transparent)}.toolbar-divider{background:var(--line);flex:none;width:1px;height:20px;margin:0 5px}.style-panel{overscroll-behavior:contain;scrollbar-width:thin;flex-direction:column;flex:0 auto;gap:14px;min-height:0;padding:14px;display:flex;overflow-y:auto}.style-section{flex-direction:column;gap:8px;display:flex}.style-label{text-transform:uppercase;letter-spacing:.01em;letter-spacing:.05em;color:var(--fg-subtle);font-size:10.5px;font-weight:600}.row{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.row.split>*{flex:1;min-width:0}.choice{gap:3px}.choice button{min-width:28px;height:28px;color:var(--fg-muted);background:var(--surface-sunken);padding:0 8px}.choice button:hover:not(:disabled){background:var(--hover);color:var(--fg)}.choice button.active{background:var(--accent-soft);color:var(--accent)}.choice--text button{flex:1;font-size:11px;font-weight:500}.swatches{align-items:center;gap:5px;display:flex}.swatch{border-radius:var(--radius-sm);width:24px;height:24px;transition:transform var(--fast), box-shadow var(--fast);padding:0;position:relative;box-shadow:inset 0 0 0 1px #0000001f}:root[data-theme=dark] .swatch{box-shadow:inset 0 0 0 1px #ffffff24}.swatch:hover:not(:disabled){background-color:inherit;transform:scale(1.08)}.swatch.active{box-shadow:inset 0 0 0 1px #0000001f, 0 0 0 2px var(--surface), 0 0 0 3.5px var(--accent)}.swatch.is-transparent{background:linear-gradient(45deg, var(--line-strong) 25%, transparent 25%, transparent 75%, var(--line-strong) 75%) 0 0 / 8px 8px, linear-gradient(45deg, var(--line-strong) 25%, var(--surface) 25%, var(--surface) 75%, var(--line-strong) 75%) 4px 4px / 8px 8px}.swatch-divider{background:var(--line);width:1px;height:18px;margin:0 1px}.custom-swatch{cursor:pointer;display:block;overflow:hidden}.custom-swatch input[type=color]{cursor:pointer;opacity:0;background:0 0;border:none;width:calc(100% + 12px);height:calc(100% + 12px);padding:0;position:absolute;inset:-6px}.slider{appearance:none;cursor:pointer;background:0 0;border:none;width:100%;height:20px;padding:0}.slider::-webkit-slider-runnable-track{background:var(--line-strong);border-radius:2px;height:4px}.slider::-moz-range-track{background:var(--line-strong);border-radius:2px;height:4px}.slider::-webkit-slider-thumb{appearance:none;background:var(--surface);width:14px;height:14px;box-shadow:0 0 0 1px var(--line-strong), var(--shadow-sm);transition:box-shadow var(--fast);border-radius:50%;margin-top:-5px}.slider::-moz-range-thumb{background:var(--surface);width:14px;height:14px;box-shadow:0 0 0 1px var(--line-strong), var(--shadow-sm);border:none;border-radius:50%}.slider:hover::-webkit-slider-thumb{box-shadow:0 0 0 1px var(--accent), var(--shadow-sm)}.checkbox{color:var(--fg-muted);cursor:pointer;align-items:center;gap:7px;font-size:12px;display:flex}.checkbox input[type=checkbox]{appearance:none;border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;width:15px;height:15px;transition:background var(--fast), border-color var(--fast);border-radius:4px;flex:none}.checkbox input[type=checkbox]:checked{background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.6 6.2l2.3 2.3 4.5-4.8' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 12px no-repeat;border-color:var(--accent)}.checkbox:hover input[type=checkbox]{border-color:var(--fg-subtle)}.menu{z-index:130;align-self:flex-start;align-items:center;gap:5px;max-width:100%;padding:3px 6px 3px 3px;display:flex;position:relative}.menu-trigger{width:28px;height:28px;color:var(--fg-muted);flex:none;padding:0}.menu-trigger:hover,.menu-trigger.active{color:var(--fg)}.file-meta{flex-direction:column;justify-content:center;gap:1px;min-width:0;line-height:1.25;display:flex}.file-name{text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:550;overflow:hidden}.file-status{color:var(--fg-subtle);font-size:10.5px}.file-status.is-dirty{color:var(--accent)}.menu-popover{background:var(--surface-raised);border-radius:var(--radius-lg);width:min(230px,100vw - 20px);max-height:calc(100dvh - 20px);box-shadow:var(--shadow-lg);z-index:30;animation:pop-in var(--fast);transform-origin:0 0;flex-direction:column;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);left:0;overflow:hidden}@keyframes pop-in{0%{opacity:0;transform:scale(.97)translateY(-3px)}to{opacity:1;transform:none}}.menu-item{border-radius:var(--radius-sm);text-align:left;width:100%;color:var(--fg);justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-size:13px;font-weight:500;display:flex}.menu-item-content{align-items:center;gap:12px;display:flex}.menu-item-icon{width:20px;height:20px;color:var(--fg-muted);justify-content:center;align-items:center;display:flex}.menu-item:hover{color:var(--fg);background:var(--hover)}.menu-sidebar-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding:15px 14px 11px;display:flex}.menu-sidebar-head>div{flex-direction:column;gap:2px;min-width:0;display:flex}.menu-sidebar-head strong{letter-spacing:-.01em;font-size:13.5px}.menu-sidebar-head span{color:var(--fg-subtle);font-size:11px}.menu-sidebar-close{width:28px;height:28px;color:var(--fg-muted);flex:none;place-items:center;padding:0;display:grid}.menu-sidebar-close:hover{color:var(--fg);background:var(--hover)}.menu-sidebar-content{overscroll-behavior:contain;flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.menu-section{border-bottom:1px solid var(--line);padding:9px 7px 8px}.menu-section h2{color:var(--fg-subtle);letter-spacing:.07em;text-transform:uppercase;margin:0;padding:0 8px 5px;font-size:10.5px;font-weight:650}.menu-section-items{flex-direction:column;gap:1px;display:flex}.menu-sidebar-footer{border-top:1px solid var(--line);flex:none;padding:7px}.menu-footer-links{gap:2px;padding:4px 1px 7px;display:flex}.menu-footer-links a{border-radius:var(--radius-sm);color:var(--fg-subtle);align-items:center;gap:4px;padding:4px 8px;font-size:11.5px;text-decoration:none;display:inline-flex}.menu-footer-links a:hover{color:var(--fg);background:var(--hover)}.menu-separator{background:var(--line);height:1px;margin:5px 0}.menu-label{color:var(--fg-muted);padding:7px 9px 2px;font-size:11px}.menu-swatches{padding:3px 9px 8px}.zoom-controls,.history-controls{align-items:center;gap:1px;display:flex}.zoom-controls button,.history-controls button{width:30px;height:30px;color:var(--fg-muted);padding:0}.zoom-controls button:hover:not(:disabled),.history-controls button:hover:not(:disabled){color:var(--fg)}.zoom-value{font-variant-numeric:tabular-nums;font-size:12px;font-weight:550;width:54px!important;color:var(--fg)!important}.export-button,.ghost-button{border-radius:var(--radius-sm);height:30px;transition:all var(--fast);padding:0 12px;font-size:13px;font-weight:500}.export-button{background:var(--accent);color:var(--accent-contrast)}.export-button:hover:not(:disabled){background:var(--accent-soft);color:var(--accent)}.ghost-button{color:var(--fg-muted)}.ghost-button:hover:not(:disabled){color:var(--fg);background:var(--hover)}.dialog-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:100;animation:fade-in .14s var(--ease);background:#0c0c1273;place-items:center;display:grid;position:absolute;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.dialog{background:var(--surface-raised);width:min(540px,100vw - 32px);max-height:calc(100vh - 72px);box-shadow:var(--shadow-lg);animation:dialog-in var(--fast) var(--ease);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}@keyframes dialog-in{0%{opacity:0;transform:scale(.98)translateY(6px)}to{opacity:1;transform:none}}.dialog.wide{width:min(800px,100vw - 32px)}.dialog header,.dialog footer{flex:none;align-items:center;gap:8px;padding:14px 16px;display:flex}.dialog header{border-bottom:1px solid var(--line)}.dialog footer{border-top:1px solid var(--line);background:var(--surface-sunken)}.dialog h2{letter-spacing:-.005em;flex:1;margin:0;font-size:14.5px;font-weight:600}.dialog-body{scrollbar-width:thin;flex-direction:column;gap:16px;padding:16px;display:flex;overflow-y:auto}.field{flex-direction:column;gap:7px;display:flex}.field-label{letter-spacing:.03em;text-transform:uppercase;color:var(--fg-subtle);font-size:11px;font-weight:600}.field-body{flex-direction:column;gap:9px;display:flex}.segmented{background:var(--surface-sunken);border-radius:var(--radius-md);flex-wrap:wrap;align-self:flex-start;gap:2px;padding:2px;display:inline-flex}.segmented button{border-radius:var(--radius-sm);color:var(--fg-muted);padding:6px 12px;font-size:12px}.segmented button:hover:not(:disabled){color:var(--fg);background:var(--hover)}.segmented button.active{background:var(--surface);color:var(--fg);box-shadow:var(--shadow-sm)}:root[data-theme=dark] .segmented button.active{background:var(--surface-raised)}.hint{color:var(--fg-subtle);margin:0;font-size:11.5px;line-height:1.5}.hint strong{color:var(--fg);font-variant-numeric:tabular-nums;font-weight:600}.hint.error{color:var(--danger)}.inline{color:var(--fg-muted);align-items:center;gap:8px;font-size:12.5px;display:flex}.inline input[type=number]{width:76px}.inline input[type=text],.inline input[type=range]{flex:1}.destination{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.destination .folder{background:var(--surface-sunken);border-radius:var(--radius-sm);align-items:center;gap:6px;padding:5px 9px;font-size:12.5px;font-weight:500;display:inline-flex}.destination button{color:var(--fg-muted);background:var(--surface-sunken);padding:5px 10px;font-size:12px}.destination button:hover{color:var(--fg);background:var(--hover)}.dialog footer button{border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm);padding:7px 14px;font-size:12.5px;font-weight:550}.dialog footer button:hover:not(:disabled){background:var(--hover)}.dialog footer button.primary{background:var(--accent);color:var(--accent-contrast)}.dialog footer button.primary:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 88%, #000)}.status{color:var(--fg-muted);text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-size:12px;overflow:hidden}.spacer{flex:1}.icon-button{width:28px;height:28px;color:var(--fg-muted);padding:0}.icon-button:hover{color:var(--fg)}.shortcut-grid{grid-template-columns:repeat(auto-fit,minmax(232px,1fr));align-items:start;gap:8px 28px;display:grid}.shortcut-grid section{break-inside:avoid;padding-bottom:8px}.shortcut-grid h3{letter-spacing:.03em;text-transform:uppercase;color:var(--fg-subtle);margin:0 0 6px;font-size:11px;font-weight:600}.shortcut-row{color:var(--fg-muted);justify-content:space-between;align-items:center;gap:14px;padding:3.5px 0;font-size:12px;display:flex}.shortcut-row span{color:var(--fg)}.shortcut-keys{color:var(--fg-subtle);align-items:center;gap:4px;display:flex}.shortcut-keys kbd{border-radius:var(--radius-sm);background:var(--surface-sunken);border:1px solid var(--line-strong);min-width:22px;height:22px;color:var(--fg);justify-content:center;align-items:center;padding:0 6px;font-family:inherit;font-size:11px;font-weight:600;display:inline-flex;box-shadow:0 1px 1px #0000000a}.text-editor{z-index:40;resize:none;white-space:pre-wrap;word-break:break-word;box-shadow:none;background:0 0;border:none;border-radius:0;outline:none;margin:0;padding:0;position:absolute;overflow:hidden}.text-editor:focus-visible{outline:none}.toast{background:var(--fg);color:var(--surface);border-radius:var(--radius-md);z-index:120;box-shadow:var(--shadow-lg);animation:toast-in .2s var(--ease);text-align:center;max-width:min(520px,100vw - 32px);padding:9px 15px;font-size:12.5px;font-weight:500;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--line-strong);border:2px solid var(--surface);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--fg-subtle)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.timeline{z-index:90;width:min(760px,100vw - 28px);animation:timeline-in .18s var(--ease);flex-direction:column;gap:10px;padding:12px 14px 14px;display:flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}@keyframes timeline-in{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.timeline-head{align-items:center;gap:14px;display:flex}.timeline-title{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.timeline-title strong{font-size:13px;font-weight:600}.timeline-track{align-items:center;gap:10px;display:flex}.timeline-play{background:var(--surface-sunken);width:30px;height:30px;color:var(--fg-muted);flex:none;padding:0;font-size:11px}.timeline-play:hover{color:var(--fg)}.timeline-slider{flex:1;min-width:0}.timeline-actions{flex:none;align-items:center;gap:6px;display:flex}.timeline-actions button{background:var(--surface-sunken);color:var(--fg-muted);padding:6px 10px;font-size:12px}.timeline-actions button:hover:not(:disabled){color:var(--fg);background:var(--hover)}.timeline-actions button.primary{background:var(--accent);color:var(--accent-contrast)}.timeline-actions button.primary:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 88%, #000)}.diff-summary{font-variant-numeric:tabular-nums;gap:7px;margin-right:2px;font-size:11.5px;font-weight:600;display:inline-flex}.diff.added{color:#2f9e44}.diff.changed{color:#f08c00}.diff.removed{color:var(--danger)}.timeline-marks{height:5px;margin:-6px 44px 0;position:relative}.timeline-mark{background:var(--fg-subtle);border-radius:50%;width:5px;height:5px;padding:0;position:absolute;top:0;transform:translate(-50%)}.timeline-mark:hover,.timeline-mark.active{background:var(--accent)}.choice--font button{flex:1;min-width:30px;height:30px;font-size:15px;line-height:1}.presentation{z-index:300;background:var(--surface);cursor:default;place-items:center;display:grid;position:fixed;inset:0}.presentation-canvas{cursor:default;width:100%;height:100%;display:block;position:absolute;inset:0}.presentation-zone{cursor:pointer;background:0 0;border-radius:0;padding:0;position:absolute;top:0;bottom:0}.presentation-zone:hover{background:0 0}.presentation-zone.prev{width:30%;left:0}.presentation-zone.next{width:70%;right:0}.presentation-bar{background:var(--surface-raised);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);opacity:.25;transition:opacity var(--fast) var(--ease);align-items:center;gap:6px;padding:6px 10px;display:flex;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.presentation-bar:hover{opacity:1}.presentation-bar button{min-width:28px;height:28px;color:var(--fg-muted);font-size:12.5px}.presentation-bar button:hover:not(:disabled){color:var(--fg)}.presentation-count,.presentation-name{font-variant-numeric:tabular-nums;color:var(--fg-muted);padding:0 4px;font-size:12.5px}.presentation-name{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.presentation-empty-card{text-align:center;flex-direction:column;align-items:center;gap:12px;max-width:420px;padding:24px;display:flex}.presentation-empty-card h2{margin:0;font-size:16px}.presentation-empty-card button{border-radius:var(--radius-md);padding:8px 16px}.component-panel{flex-direction:column;gap:8px;padding:12px;display:flex}.component-make,.component-library-toggle{color:var(--fg-muted);background:var(--surface-sunken);justify-content:flex-start;gap:8px;padding:7px 8px;font-size:12.5px}.component-make:hover,.component-library-toggle:hover{color:var(--fg);background:var(--hover)}.component-library-toggle{font-size:11.5px}.component-library{flex-direction:column;gap:3px;max-height:180px;display:flex;overflow-y:auto}.component-chip{text-align:left;justify-content:space-between;align-items:center;gap:8px;width:100%;height:28px;padding:0 8px;font-size:12px;display:flex}.component-editing{border:1px solid var(--accent);z-index:70;align-items:center;gap:10px;width:min(430px,100vw - 28px);padding:9px 10px 9px 13px;display:flex;position:fixed;bottom:14px;left:50%;transform:translate(-50%)}.component-editing-actions{flex:none;gap:6px;display:flex}.component-editing-text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.component-editing-text strong{font-size:12.5px}.component-editing button{background:var(--surface-sunken);color:var(--fg-muted);padding:6px 10px;font-size:12px}.component-editing button:hover{color:var(--fg);background:var(--hover)}.component-editing button.primary{background:var(--accent);color:var(--accent-contrast)}.toolbar-overflow{display:inline-flex;position:relative}.overflow-popover{background:var(--surface-raised);border-radius:var(--radius-lg);min-width:190px;box-shadow:var(--shadow-lg);z-index:40;animation:pop-in .13s var(--ease);transform-origin:100% 0;flex-direction:column;gap:1px;padding:5px;display:flex;position:absolute;top:calc(100% + 9px);right:0}.overflow-item{text-align:left;width:100%;color:var(--fg-muted);align-items:center;gap:10px;padding:7px 9px;font-size:12.5px;font-weight:450;display:flex}.overflow-item span{flex:1}.overflow-item:hover{color:var(--fg)}.overflow-item.active{color:var(--accent);background:var(--accent-soft)}.file-meta{border-radius:var(--radius-sm);cursor:text;background:0 0;flex-direction:column;flex:1;justify-content:center;align-items:center;min-width:0;height:32px;padding:0;line-height:1.25;display:flex}.file-meta:hover{background:var(--hover)}.file-name-input,.file-name{text-align:center;letter-spacing:-.008em;width:100%;max-width:148px;color:var(--fg);background:0 0;border:0;padding:0;font-family:inherit;font-size:12.5px;font-weight:550}.file-name-input:focus{outline:none}.dialog.compact{width:min(420px,100vw - 32px)}.dialog.compact .field-label{text-transform:none;letter-spacing:0;color:var(--fg-muted);font-size:12px}.diagram-text{z-index:20;width:340px;animation:text-panel-in .17s var(--ease);flex-direction:column;gap:8px;padding:12px;display:flex;position:absolute;top:14px;bottom:14px;right:14px}@keyframes text-panel-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:none}}.diagram-text-head{align-items:flex-start;gap:8px;display:flex}.diagram-text-head>div{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.diagram-text-head strong{font-size:12.5px}.diagram-text-input{resize:none;tab-size:2;background:var(--surface-sunken);white-space:pre;border-color:#0000;flex:1;min-height:0;padding:10px 11px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.65;overflow:auto}.diagram-text-input:focus-visible{background:var(--surface)}.diagram-text-foot{min-height:18px}.diagram-issues{color:var(--danger);flex-direction:column;gap:3px;margin:0;padding:0;font-size:11.5px;list-style:none;display:flex}.diagram-issues li{gap:7px;display:flex}.issue-line{font-variant-numeric:tabular-nums;opacity:.7;flex:none}@media (width<=940px),(pointer:coarse) and (width<=1024px){:root{--edge:max(10px, env(safe-area-inset-left));--dock:calc(max(10px, env(safe-area-inset-bottom)) + 52px)}.top-centre{top:auto;left:0;right:0;bottom:max(10px, env(safe-area-inset-bottom));padding:0 var(--edge);justify-content:center;max-width:100vw;display:flex;transform:none}.toolbar{flex-wrap:wrap;justify-content:center;max-width:100%}.overflow-popover{transform-origin:100% 100%;top:auto;bottom:calc(100% + 9px)}.component-editing{bottom:calc(var(--dock) + 46px)}.bottom-left{left:var(--edge);right:var(--edge);bottom:var(--dock);flex-wrap:wrap}.bottom-right{right:var(--edge);bottom:var(--dock)}.diagram-text{top:auto;left:var(--edge);right:var(--edge);bottom:calc(var(--dock) + 46px);width:auto;height:45vh}.timeline{left:var(--edge);right:var(--edge);bottom:calc(var(--dock) + 46px);width:auto;transform:none}@keyframes timeline-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.timeline-head,.timeline-track{flex-wrap:wrap;gap:8px}}@media (width<=720px),(pointer:coarse) and (width<=1024px){.top-left{top:max(10px, env(safe-area-inset-top));left:var(--edge);width:auto;max-width:calc(100vw - 150px)}.component-editing{top:calc(max(10px, env(safe-area-inset-top)) + 48px);width:calc(100vw - 20px);bottom:auto}.menu-trigger{width:40px;height:40px}.menu-file{padding:4px 6px 6px}.menu-file .file-meta{max-width:none}.menu-file .file-name-input{width:100%}.top-right{top:max(10px, env(safe-area-inset-top));right:max(10px, env(safe-area-inset-right))}.tool-button{width:38px;height:38px}.tool-shortcut{display:none}.toolbar{gap:2px}.toolbar-divider{margin:0 2px}.file-meta{max-width:40vw}.file-meta strong,.file-name-input{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.file-name-input{width:38vw}.export-button{height:40px;padding:0 12px}.sheet-toggle{width:40px;height:40px;color:var(--fg-muted);position:relative}.sheet-toggle.has-options:after{content:"";background:var(--accent);border-radius:50%;width:5px;height:5px;position:absolute;top:6px;right:6px}.menu-sidebar{max-height:calc(100dvh - max(10px, env(safe-area-inset-top)) - 60px - max(10px, env(safe-area-inset-bottom)))}.dialog,.dialog.wide,.dialog.compact{width:calc(100vw - 20px);max-height:calc(100vh - 40px)}.dialog-body{gap:14px;padding:14px}.dialog footer{flex-wrap:wrap}}.mobile-sheet{left:max(10px, env(safe-area-inset-left));right:max(10px, env(safe-area-inset-right));bottom:var(--dock,68px);background:var(--surface-raised);max-height:52vh;box-shadow:var(--shadow-lg);z-index:60;pointer-events:auto;animation:sheet-in .18s var(--ease);border-radius:14px;flex-direction:column;display:flex;position:absolute}@keyframes sheet-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.mobile-sheet-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:10px 10px 6px 16px;font-size:12.5px;font-weight:600;display:flex}.mobile-sheet-body{overscroll-behavior:contain;flex-direction:column;gap:8px;padding:6px;display:flex;overflow-y:auto}.mobile-sheet .island{box-shadow:none;background:0 0}.mobile-sheet .style-panel,.mobile-sheet .component-panel{max-height:none;overflow:visible}.mobile-sheet .choice button{min-width:34px;height:34px}.mobile-sheet .swatch{width:26px;height:26px}.overflow-separator{background:var(--line);height:1px;margin:4px 6px}@media (hover:none){.presentation-bar{opacity:1;max-width:calc(100vw - 20px);bottom:calc(16px + env(safe-area-inset-bottom));flex-wrap:wrap;justify-content:center}.presentation-bar button{min-width:36px;height:36px}.presentation-name{text-overflow:ellipsis;white-space:nowrap;max-width:40vw;overflow:hidden}.file-meta:hover{background:0 0}}.context-menu{z-index:150;background:var(--surface-raised);border-radius:var(--radius-lg);min-width:216px;max-width:calc(100vw - 12px);box-shadow:var(--shadow-lg);animation:pop-in .12s var(--ease);transform-origin:0 0;flex-direction:column;gap:1px;padding:5px;display:flex;position:fixed}.context-item{text-align:left;width:100%;color:var(--fg-muted);align-items:center;gap:14px;padding:7px 10px;font-size:12.5px;font-weight:450;display:flex}.context-item span{flex:1}.context-item kbd{color:var(--fg-subtle);flex:none}.context-item:hover:not(:disabled){color:var(--fg)}.context-item.danger{color:var(--danger)}.context-separator{background:var(--line);height:1px;margin:4px 6px}@media (hover:none){.context-item{padding:11px 12px;font-size:13.5px}.context-item kbd{display:none}}.service-bar{border-bottom:1px solid var(--line);flex:none;align-items:center;gap:10px;padding:12px 16px;display:flex}.service-tabs{flex:none}.service-tabs button{height:30px;padding:0 12px;font-size:12.5px;font-weight:500}.service-search{flex:1;min-width:0;height:30px}.service-body{gap:18px}.service-group h3{letter-spacing:.06em;text-transform:uppercase;color:var(--fg-subtle);margin:0 0 8px;font-size:11px;font-weight:600}.service-grid{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:6px;display:grid}.service-chip{border-radius:var(--radius-md);background:var(--surface-sunken);text-align:left;align-items:center;gap:9px;padding:9px 11px;display:flex}.service-chip:hover{background:var(--hover)}.service-glyph{flex:none;display:block}.service-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12.5px;font-weight:500;overflow:hidden}.service-chip .hint{flex:none;font-size:10.5px}@media (width<=720px),(pointer:coarse) and (width<=1024px){.service-bar{flex-wrap:wrap;padding:10px 12px}.service-grid{grid-template-columns:1fr 1fr}.service-chip{padding:11px}}@media (hover:none){.tooltip{display:none}}.tool-hint{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);color:var(--fg-subtle);letter-spacing:.01em;pointer-events:none;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px 10px;font-size:11px;font-weight:500;animation:.2s ease-out tool-hint-fade-in;display:inline-flex;box-shadow:0 2px 6px #0000000a}@keyframes tool-hint-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.library-sidebar{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);z-index:1000;flex-direction:column;width:min(400px,100vw - 28px);max-height:calc(100vh - 28px);animation:.18s ease-out library-slide-in;display:flex;position:absolute;top:14px;right:14px;overflow:hidden;box-shadow:0 12px 40px #00000026,0 2px 8px #00000014}.has-docked-library .top-right{flex-wrap:wrap;justify-content:flex-end;max-width:calc(100vw + -1*min(400px,100vw - 28px) - 48px);right:calc(min(400px,100vw - 28px) + 22px)}.has-docked-library .bottom-right,.has-docked-library .minimap-container{right:calc(min(400px,100vw - 28px) + 22px)}.has-docked-library .top-right,.has-docked-library .bottom-right,.has-docked-library .minimap-container,.has-docked-library .diagram-text,.has-docked-library .timeline{transition:right var(--fast) ease}.library-header{gap:12px;padding:12px 14px}.library-tabs{scrollbar-width:none;flex:1;min-width:0;overflow-x:auto}.library-tabs::-webkit-scrollbar{display:none}.library-tab{white-space:nowrap;padding:5px 10px;font-size:12px}.library-header-actions{flex:none;align-items:center;gap:4px;display:inline-flex}@keyframes library-slide-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.library-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.library-tabs{background:var(--surface-sunken);border-radius:var(--radius-sm);gap:2px;padding:2px;display:flex}.library-tab{color:var(--fg-subtle);cursor:pointer;border-radius:calc(var(--radius-sm) - 1px);transition:all var(--fast) ease;background:0 0;border:none;padding:5px 8px;font-size:11.5px;font-weight:600}.library-tab:hover{color:var(--fg)}.library-tab.active{color:var(--fg);background:var(--surface);box-shadow:0 1px 3px #00000014}.library-close{width:28px;height:28px;color:var(--fg-subtle);cursor:pointer;border-radius:var(--radius-sm);transition:background var(--fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.library-close:hover{background:var(--surface-sunken);color:var(--fg)}.library-search{padding:10px 12px 0}.library-search input{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-sunken);width:100%;color:var(--fg);transition:border-color var(--fast);outline:none;padding:8px 12px;font-size:13px}.library-search input:focus{border-color:var(--accent)}.library-search input::placeholder{color:var(--fg-subtle);opacity:.6}.library-content{flex:1;padding:12px;overflow-y:auto}.library-content::-webkit-scrollbar{width:6px}.library-content::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}.library-section-title{z-index:2;background:linear-gradient(var(--surface-overlay) 72%, transparent);padding:8px 2px 6px;position:sticky;top:-12px}.library-status.success{color:#267a4a;background:#dff7e99e;border-color:#2f9e6347;min-height:0;margin-bottom:12px;padding:10px 12px}:root[data-theme=dark] .library-status.success{color:#75d69e;background:#173d28b8}.library-section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--fg-subtle);margin:0 0 8px 2px;font-size:11px;font-weight:600}.library-empty{text-align:center;color:var(--fg-subtle);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:40px 20px;display:flex}.library-empty p{margin:0}.library-cta{background:var(--accent);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:opacity var(--fast);border:none;margin-top:12px;padding:8px 20px;font-size:13px;font-weight:600}.library-cta:hover{opacity:.9}.library-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.library-item{background:var(--surface-sunken);border:1px solid var(--line);border-radius:var(--radius-sm);aspect-ratio:1;cursor:grab;transition:border-color var(--fast), box-shadow var(--fast);position:relative;overflow:hidden}.library-item:hover{border-color:var(--accent);box-shadow:0 2px 8px #00000014}.library-item:active{cursor:grabbing}.library-item-content{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.library-item-content.preview-bg{background-color:#fff;background-position:50%;background-repeat:no-repeat;background-size:contain}.library-item-content.text-only{text-align:center;color:var(--fg);word-break:break-word;padding:6px;font-size:11px}.library-item-label{text-align:center;color:#fff;opacity:0;transition:opacity var(--fast);background:linear-gradient(#0000,#00000080);padding:3px 4px;font-size:9px;position:absolute;bottom:0;left:0;right:0}.library-item:hover .library-item-label{opacity:1}.library-item-delete{color:#fff;cursor:pointer;background:#00000080;border:none;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:12px;line-height:1;display:none;position:absolute;top:3px;right:3px}.library-item:hover .library-item-delete{display:flex}.library-browse-list{flex-direction:column;gap:10px;display:flex}.library-browse-card{background:var(--surface-sunken);border:1px solid var(--line);transition:border-color var(--fast);border-radius:6px;overflow:hidden}.library-browse-card:hover{border-color:var(--accent)}.library-browse-card.priority{border-left:3px solid var(--accent)}.library-browse-preview{background-color:#fff;background-position:50%;background-repeat:no-repeat;background-size:contain;width:100%;height:82px}.library-browse-info strong{color:var(--fg);font-size:13px;display:block}.library-priority-badge{min-height:18px;color:var(--accent);background:var(--accent-soft);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-items:center;margin-top:5px;padding:2px 6px;font-size:9px;font-weight:700;display:inline-flex}.library-browse-desc{color:var(--fg-subtle);margin-top:2px;font-size:11px;line-height:1.35;display:block}.library-action-btn{background:var(--accent);color:#fff;border-radius:var(--radius-sm);cursor:pointer;width:calc(100% - 28px);transition:opacity var(--fast);border:none;margin:6px 14px 14px;padding:7px;font-size:12px;font-weight:600;display:block}.library-action-btn:hover{opacity:.9}.library-action-btn:disabled{opacity:.45;cursor:not-allowed}.library-action-btn.installed{background:var(--surface);color:var(--fg-subtle);border:1px solid var(--line)}.library-status{text-align:center;color:var(--fg-subtle);flex-direction:column;align-items:center;gap:10px;padding:30px 12px;font-size:13px;display:flex}.library-status.danger{color:var(--danger)}.library-spinner{border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:20px;height:20px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}:root{--surface-glass:#ffffffe0;--surface-overlay:#fffffff5;--shadow-island:0 1px 2px #12121c0d, 0 8px 24px #12121c14;--shadow-float:0 2px 4px #12121c0f, 0 16px 48px #12121c24}:root[data-theme=dark]{--surface-glass:#1c1c22e6;--surface-overlay:#1f1f27f7;--shadow-island:0 1px 2px #00000047, 0 10px 28px #0000004d;--shadow-float:0 2px 5px #00000057, 0 20px 56px #00000075}button,input,summary{-webkit-tap-highlight-color:transparent}button{transition:color var(--fast), background-color var(--fast), border-color var(--fast), box-shadow var(--fast), opacity var(--fast), transform var(--fast)}button:active:not(:disabled){transform:translateY(.5px)scale(.985)}.island{background:var(--surface-glass);border-color:color-mix(in srgb, var(--line) 82%, transparent);box-shadow:var(--shadow-island);-webkit-backdrop-filter:blur(18px)saturate(1.18)}.toolbar{border-radius:10px;padding:4px}.tool-button,.icon-button,.selection-action{border-radius:6px}.tool-button:hover:not(:disabled),.icon-button:hover:not(:disabled),.selection-action:hover:not(:disabled){transform:translateY(-1px)}.tool-button.active,.tool-button[aria-pressed=true]{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 16%, transparent)}.style-panel{border-radius:10px;gap:0;padding:7px}.style-section{border-bottom:1px solid color-mix(in srgb, var(--line) 76%, transparent);display:block}.style-section:last-child{border-bottom:0}.style-label{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:5px;padding:10px 24px 9px 7px;list-style:none;position:relative}.style-label::-webkit-details-marker{display:none}.style-label:after{content:"";width:5px;height:5px;transition:transform var(--fast);border-bottom:1.5px solid;border-right:1.5px solid;position:absolute;top:50%;right:8px;transform:translateY(-65%)rotate(45deg)}.style-section[open]>.style-label:after{transform:translateY(-25%)rotate(225deg)}.style-label:hover{color:var(--fg-muted);background:var(--hover)}.style-section-content{animation:inspector-reveal .15s var(--ease);flex-direction:column;gap:8px;padding:1px 7px 11px;display:flex}@keyframes inspector-reveal{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}.choice button{border:1px solid #0000}.choice button.active{border-color:color-mix(in srgb, var(--accent) 18%, transparent);box-shadow:0 1px 2px color-mix(in srgb, var(--accent) 12%, transparent)}.selection-toolbar{z-index:72;box-shadow:var(--shadow-float);animation:selection-toolbar-in .15s var(--ease);pointer-events:auto;border-radius:9px;align-items:center;gap:2px;padding:4px;display:flex;position:absolute;transform:translate(-50%,calc(-100% - 32px))}@keyframes selection-toolbar-in{0%{opacity:0;transform:translate(-50%,calc(-100% - 24px))scale(.97)}to{opacity:1;transform:translate(-50%,calc(-100% - 32px))scale(1)}}.selection-colors{align-items:center;gap:4px;padding:0 4px;display:flex}.selection-color{border:1px solid color-mix(in srgb, var(--fg) 12%, transparent);border-radius:50%;width:17px;height:17px;padding:0;box-shadow:inset 0 0 0 1px #ffffff59}.selection-color:hover{transform:translateY(-1px)scale(1.12)}.selection-toolbar-divider{background:var(--line);width:1px;height:20px;margin:0 3px}.selection-action{width:29px;height:29px;color:var(--fg-muted);padding:0}.selection-action:hover{color:var(--fg);background:var(--hover)}.selection-action.danger:hover{color:var(--danger);background:var(--danger-soft)}.selection-comment-icon{font-size:17px;font-weight:400;line-height:1}.library-sidebar{background:var(--surface-overlay);box-shadow:var(--shadow-float);-webkit-backdrop-filter:blur(22px)saturate(1.16);backdrop-filter:blur(22px)saturate(1.16);border-radius:11px}.library-header{background:color-mix(in srgb, var(--surface) 68%, transparent);min-height:49px}.library-tabs{border:1px solid color-mix(in srgb, var(--line) 80%, transparent)}.library-tab.active{box-shadow:0 1px 3px #12121c17}.library-search input{background:color-mix(in srgb, var(--surface-sunken) 78%, transparent);height:34px}.library-browse-card,.library-item{border-color:color-mix(in srgb, var(--line) 88%, transparent);box-shadow:0 1px 2px #12121c09}.library-browse-card:hover,.library-item:hover{border-color:color-mix(in srgb, var(--accent) 36%, var(--line));transform:translateY(-1px);box-shadow:0 8px 22px #12121c17}.library-status,.library-empty{border:1px dashed color-mix(in srgb, var(--line-strong) 72%, transparent);background:color-mix(in srgb, var(--surface-sunken) 52%, transparent);border-radius:8px;min-height:180px}.library-status.danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 25%, transparent);background:color-mix(in srgb, var(--danger-soft) 58%, transparent)}.toast{border:1px solid color-mix(in srgb, var(--line) 80%, transparent);background:var(--surface-overlay);color:var(--fg);box-shadow:var(--shadow-float);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.command-palette,.dialog,.context-menu,.overflow-popover{background:var(--surface-overlay);box-shadow:var(--shadow-float);-webkit-backdrop-filter:blur(20px)saturate(1.12);backdrop-filter:blur(20px)saturate(1.12)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.command-palette-backdrop{z-index:180;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0c0c1247;justify-content:center;align-items:flex-start;padding:14vh 16px 16px;display:flex;position:fixed;inset:0}.command-palette{width:min(560px,100%);max-height:min(520px,100vh - 120px);animation:pop-in var(--fast);transform-origin:top;flex-direction:column;padding:8px;display:flex;position:relative;overflow:hidden}.command-palette-header{border-bottom:1px solid var(--line);margin:-2px -2px 6px}.command-palette-input{border-radius:var(--radius-sm);background:linear-gradient(var(--surface), var(--surface)) no-repeat 10px center / 15px, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M9 14a5 5 0 100-10 5 5 0 000 10zm7 2l-4-4' fill='none' stroke='%2393939e' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat 10px center / 15px;width:100%;height:38px;padding:0 10px 0 36px;font-size:13px;border:0!important}.command-palette-list{overscroll-behavior:contain;padding:2px;overflow-y:auto}.command-palette-item{border-radius:var(--radius-sm);cursor:pointer;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:8px 9px;display:grid}.command-palette-item.active{background:var(--accent-soft)}.command-item-left{align-items:baseline;gap:8px;min-width:0;display:flex}.command-item-category{text-overflow:ellipsis;white-space:nowrap;width:112px;color:var(--fg-subtle);letter-spacing:.05em;text-transform:uppercase;flex:none;font-size:10.5px;font-weight:600;overflow:hidden}.command-item-title{font-size:12.5px;font-weight:500}.command-item-shortcut{flex:none}.command-palette-empty{color:var(--fg-subtle);text-align:center;padding:24px 10px;font-size:12.5px}.minimap-container{z-index:40;transition:right var(--fast) ease;flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:absolute;bottom:56px;right:14px}.minimap-panel{border-radius:8px;padding:4px;overflow:hidden}.minimap-canvas{border-radius:5px}.workspace-panel{width:min(360px,100vw - 28px);min-height:420px}.workspace-header{justify-content:space-between;align-items:center;min-height:50px;padding:10px 12px 8px 16px;display:flex}.workspace-header strong{letter-spacing:-.01em;font-size:13px}.workspace-tabs{border:1px solid var(--line);background:var(--surface-sunken);border-radius:7px;grid-template-columns:repeat(4,1fr);gap:2px;margin:0 12px 10px;padding:2px;display:grid}.workspace-tabs button{height:28px;color:var(--fg-subtle);border-radius:5px;padding:0 5px;font-size:10.5px;font-weight:600}.workspace-tabs button.active{color:var(--fg);background:var(--surface);box-shadow:0 1px 3px #12121c14}.workspace-search{padding:0 12px 10px}.workspace-search input{border:1px solid var(--line);background:var(--surface-sunken);width:100%;height:34px;color:var(--fg);border-radius:6px;padding:0 10px}.workspace-list{flex-direction:column;flex:1;gap:5px;min-height:0;padding:0 12px 12px;display:flex;overflow-y:auto}.workspace-row,.workspace-document,.workspace-comment{background:var(--surface-sunken);border:1px solid #0000;border-radius:7px;min-height:42px}.workspace-row{text-align:left;grid-template-columns:68px 1fr;align-items:center;gap:8px;width:100%;padding:7px 9px;display:grid}.workspace-row:hover,.workspace-row.active{border-color:color-mix(in srgb, var(--accent) 24%, var(--line));background:var(--accent-soft)}.workspace-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.workspace-type{color:var(--fg-subtle);letter-spacing:.05em;text-transform:uppercase;font-size:9.5px;font-weight:650}.workspace-document,.workspace-comment{grid-template-columns:1fr 32px;align-items:center;display:grid;overflow:hidden}.workspace-document>button:first-child,.workspace-comment>button:first-child{text-align:left;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;padding:8px 10px;display:flex}.workspace-document strong,.workspace-comment>button:first-child{color:var(--fg);text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.workspace-document span{color:var(--fg-subtle);font-size:10px}.workspace-delete{width:28px;height:28px;color:var(--fg-subtle);padding:0}.workspace-delete:hover{color:var(--danger);background:var(--danger-soft)}.workspace-primary{min-height:34px;color:var(--accent-contrast);background:var(--accent);border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:7px 10px;font-size:11.5px;font-weight:650;display:flex}.workspace-empty{border:1px dashed var(--line-strong);color:var(--fg-subtle);text-align:center;border-radius:7px;padding:42px 16px}.comment-pins{pointer-events:none;position:absolute;inset:0}.comment-pin{border:2px solid var(--surface);color:#fff;background:var(--accent);width:24px;height:24px;box-shadow:0 4px 12px color-mix(in srgb, var(--accent) 30%, transparent);pointer-events:auto;border-radius:50% 50% 50% 10%;padding:0;font-size:10px;font-weight:700;position:absolute;transform:translate(-20%,-70%)}.comment-pin:hover{transform:translate(-20%,-76%)scale(1.08)}.style-presets{flex-wrap:wrap;gap:5px;display:flex}.style-preset,.style-preset-add{border:1px solid var(--line);background:var(--surface-sunken);border-radius:6px;min-height:27px;display:inline-flex;overflow:hidden}.style-preset>button:first-child,.style-preset-add{color:var(--fg-muted);padding:0 8px;font-size:10.5px}.style-preset>button:last-child{border-left:1px solid var(--line);width:24px;color:var(--fg-subtle);padding:0}.style-preset button:hover,.style-preset-add:hover{color:var(--fg);background:var(--hover)}.has-docked-library .top-centre{transition:left .18s var(--ease);left:calc(50% - 207px)}.top-right{gap:0}.top-right-actions{border-radius:10px;gap:1px;height:38px;padding:3px}.top-right-actions .icon-button{width:30px;height:30px}.top-right-actions .export-button{border-radius:6px;height:30px;padding-inline:11px}.library-header{min-height:44px;padding:8px 10px 7px 12px}.library-tabs{background:0 0;border:0;border-radius:0;gap:16px;padding:0;overflow:visible}.library-tab{color:var(--fg-subtle);box-shadow:none;background:0 0;border-radius:0;padding:7px 0;position:relative}.library-tab.active{color:var(--fg);box-shadow:none;background:0 0}.library-tab.active:after{content:"";background:var(--accent);border-radius:2px;height:2px;position:absolute;bottom:0;left:0;right:0}.library-content{padding:10px}.library-section{margin-bottom:10px}.library-browse-list{gap:7px}.library-browse-info{padding:9px 11px 4px}.library-action-btn{width:calc(100% - 22px);margin:5px 11px 11px}.service-bar{border-bottom:0;flex-direction:column;align-items:stretch;gap:9px;padding:0 2px 10px;display:flex}.service-tabs{border-bottom:1px solid var(--line);gap:16px;display:flex}.service-tabs button{height:30px;color:var(--fg-subtle);background:0 0;border-radius:0;padding:0;font-size:11px;font-weight:650;position:relative}.service-tabs button.active{color:var(--fg);background:0 0}.service-tabs button.active:after{content:"";background:var(--accent);height:2px;position:absolute;bottom:-1px;left:0;right:0}.service-search{height:34px}.service-body{padding:0 2px 8px}.service-grid{grid-template-columns:1fr 1fr;gap:5px}.service-chip{border:1px solid #0000;border-radius:6px;gap:7px;padding:7px 8px}.service-chip:hover{border-color:var(--line)}.service-footer{border-top:1px solid var(--line);padding:10px 2px 2px}.command-palette-tabs{border-bottom:1px solid var(--line);gap:18px;padding:2px 10px 7px;display:flex}.command-palette-tabs button{color:var(--fg-subtle);padding:7px 0;font-size:11.5px;font-weight:650;position:relative}.command-palette-tabs button.active{color:var(--fg)}.command-palette-tabs button.active:after{content:"";background:var(--accent);height:2px;position:absolute;bottom:-8px;left:0;right:0}.command-shortcuts{grid-template-columns:1fr 1fr;gap:18px;padding:12px 10px 8px;display:grid;overflow-y:auto}.command-shortcuts h3{color:var(--fg-subtle);letter-spacing:.06em;text-transform:uppercase;margin:0 0 6px;font-size:10px}.command-shortcuts .shortcut-row{min-height:29px;font-size:11px}.comment-pin-anchor{pointer-events:auto;position:absolute}.comment-pin-anchor .comment-pin{position:relative;top:auto;left:auto}.comment-popover{border:1px solid var(--line);width:240px;color:var(--fg);background:var(--surface-overlay);box-shadow:var(--shadow-float);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:8px;padding:10px;position:absolute;top:30px;right:-8px}.comment-popover p{margin:0 0 9px;font-size:12px;line-height:1.45}.comment-popover>div{gap:5px;display:flex}.comment-popover>div button{min-height:28px;color:var(--fg-muted);background:var(--surface-sunken);border-radius:5px;padding:0 8px;font-size:10.5px}@media (width<=940px){.has-docked-library .top-centre{left:50%}.command-shortcuts{grid-template-columns:1fr}}
