:root{--font-family:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-serif:ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--font-mono:ui-monospace, "SFMono-Regular", "SF Mono", Menlo, Monaco, Consolas, monospace;--size-control-height:32px;--size-dock-control:34px;--size-header-height:52px;--size-slide-strip:160px;--size-inspector:288px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--radius-sm:8px;--radius-md:8px;--radius-pill:999px;--color-bg:#eef2f7;--color-bg-top:#f8fafc;--color-surface:#fff;--color-surface-muted:#f6f8fb;--color-surface-hover:#eef4fb;--color-surface-raised:#fff;--color-canvas-well:#e7edf5;--color-text:#182230;--color-text-muted:#64748b;--color-text-subtle:#8a99ac;--color-on-accent:#fff;--color-accent:#1a6ed8;--color-accent-strong:#1257b8;--color-accent-soft:#1a6ed81f;--color-success:#0f9f6e;--color-warning:#c8791a;--color-danger:#b42318;--color-border:#d9e1ec;--color-border-strong:#b8c7db;--focus-ring:0 0 0 2px #1a6ed833;--shadow-control:0 1px 1px #0f172a0a;--shadow-panel:0 1px 2px #0f172a0a;--shadow-overlay:0 18px 44px #0f172a29;--shadow-canvas:0 24px 70px #1f29372e, 0 1px 0 #ffffffd1 inset;--safe-bottom:env(safe-area-inset-bottom,0px);color-scheme:light}:root[data-theme=dark]{--color-bg:#0b0f14;--color-bg-top:#0e131a;--color-surface:#11161d;--color-surface-muted:#171d26;--color-surface-hover:#1f2732;--color-surface-raised:#151b23;--color-canvas-well:#0f141b;--color-text:#e6edf5;--color-text-muted:#9aa8ba;--color-text-subtle:#68778b;--color-on-accent:#f8fafc;--color-accent:#6aaaf7;--color-accent-strong:#8fc2ff;--color-accent-soft:#6aaaf72e;--color-success:#34d399;--color-warning:#fbbf24;--color-danger:#f87171;--color-border:#26303d;--color-border-strong:#3a4757;--focus-ring:0 0 0 2px #60a5fa57;--shadow-control:0 1px 0 #ffffff08 inset;--shadow-panel:0 1px 0 #ffffff08 inset;--shadow-overlay:0 22px 54px #00000085;--shadow-canvas:0 28px 80px #0000006b, 0 1px 0 #ffffff12 inset;color-scheme:dark}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;padding:0}body{font-family:var(--font-family);color:var(--color-text);background:linear-gradient(180deg, var(--color-bg-top) 0%, var(--color-bg) 100%);font-weight:400;overflow:hidden}:root[data-theme=dark] body{background:var(--color-bg)}button,input,select,textarea{font:inherit;color:var(--color-text);font-size:13px}button{border:0}h1,h2,p{margin:0}label{min-width:0;color:var(--color-text-muted);gap:6px;font-size:12px;font-weight:620;display:grid}input,select,textarea{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-raised);width:100%;color:var(--color-text);box-shadow:var(--shadow-control);transition:border-color .12s,background .12s,box-shadow .12s}input,select{height:var(--size-control-height);padding:0 9px}input[type=file]{min-height:var(--size-control-height);height:auto;color:var(--color-text);cursor:pointer;line-height:calc(var(--size-control-height) - 10px);padding:4px 10px 4px 4px}input[type=file]::file-selector-button{height:calc(var(--size-control-height) - 8px);border:1px solid var(--color-border);border-radius:calc(var(--radius-sm) - 2px);background:var(--color-surface-muted);color:var(--color-text);box-shadow:none;cursor:pointer;font:inherit;margin:0 10px 0 0;padding:0 11px;font-weight:650}input[type=file]::file-selector-button{height:calc(var(--size-control-height) - 8px);border:1px solid var(--color-border);border-radius:calc(var(--radius-sm) - 2px);background:var(--color-surface-muted);color:var(--color-text);box-shadow:none;cursor:pointer;font:inherit;margin:0 10px 0 0;padding:0 11px;font-weight:650}input[type=file]:hover::file-selector-button,input[type=file]:focus-visible::file-selector-button{border-color:var(--color-border-strong);background:color-mix(in srgb, var(--color-surface-hover) 72%, var(--color-surface-muted))}input[type=file]:hover::file-selector-button,input[type=file]:focus-visible::file-selector-button{border-color:var(--color-border-strong);background:color-mix(in srgb, var(--color-surface-hover) 72%, var(--color-surface-muted))}input[type=color]{padding:3px}textarea{resize:vertical;min-height:74px;padding:9px;line-height:1.45}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.slide-canvas:focus-visible{box-shadow:var(--focus-ring);outline:none}.icon-sprite{width:0;height:0;position:absolute;overflow:hidden}.icon{fill:none;stroke:currentColor;stroke-width:1.75px;pointer-events:none;flex:none;width:16px;height:16px}.app-shell{grid-template-rows:calc(var(--size-header-height) + 12px) minmax(0, 1fr);height:100vh;display:grid}.app-header{z-index:20;place-self:center;align-items:center;gap:var(--space-3);border:1px solid color-mix(in srgb, var(--color-border) 82%, transparent);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-surface) 88%, transparent);width:min(1040px,100vw - 24px);min-width:0;box-shadow:var(--shadow-overlay);-webkit-backdrop-filter:blur(18px);justify-content:space-between;padding:6px;display:flex;position:relative}.brand-block,.header-actions,.tool-dock,.zoom-cluster,.section-head,.dialog-head,.dialog-actions,.deck-row-actions,.add-slide-btn,.shape-option,.swatch-row,.segmented{align-items:center;display:flex}.checkbox-row{align-items:center;gap:8px;font-weight:650;display:flex}.checkbox-row input{width:16px;height:16px}.brand-block{flex:auto;gap:9px;min-width:0;padding-left:8px}.brand-block h1{letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;flex:none;font-size:15px;font-weight:650;overflow:hidden}.header-actions{flex:none;gap:6px;min-width:0}.header-btn,.tool-btn,.shape-option,.add-slide-btn,.primary-btn,.inspector-action-btn,.deck-row,.slide-thumb{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-muted);color:var(--color-text);cursor:pointer}.header-btn,.tool-btn,.primary-btn,.inspector-action-btn{height:var(--size-control-height);box-shadow:var(--shadow-control);justify-content:center;align-items:center;gap:6px;padding:0 10px;font-weight:620;transition:border-color .12s,background .12s,color .12s,transform .12s;display:inline-flex}.icon-btn{width:var(--size-control-height);padding:0}.header-btn:hover,.tool-btn:hover,.shape-option:hover,.add-slide-btn:hover,.primary-btn:hover,.inspector-action-btn:hover,.deck-row:hover,.slide-thumb:hover{border-color:var(--color-border-strong);background:color-mix(in srgb, var(--color-surface-hover) 74%, var(--color-surface));transform:translateY(-1px)}.header-btn:disabled,.tool-btn:disabled,.segment-btn:disabled{cursor:not-allowed;opacity:.45}.tool-btn.is-active,.shape-option.is-active,.segment-btn.is-active,.slide-thumb[aria-current=true]{border-color:color-mix(in srgb, var(--color-accent) 46%, var(--color-border));background:var(--color-accent-soft);color:var(--color-accent)}.danger{color:var(--color-danger)}.deck-title-input{min-width:140px;max-width:440px;height:32px;box-shadow:none;background:0 0;border-color:#0000;flex:360px;padding:0 9px;font-size:14px;font-weight:660}.deck-title-input:focus-visible{border-color:var(--color-border);background:var(--color-surface-muted)}.deck-meta{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface-muted);min-height:24px;color:var(--color-text-muted);white-space:nowrap;flex:none;align-items:center;padding:0 8px;font-size:11px;font-weight:650;display:inline-flex}.workspace{grid-template-columns:var(--size-slide-strip) minmax(0, 1fr) var(--size-inspector);background:var(--color-canvas-well);height:100%;min-height:0;display:grid;overflow:hidden}.slide-strip,.inspector{background:color-mix(in srgb, var(--color-surface) 88%, var(--color-surface-muted));min-height:0;overflow:auto}.slide-strip{border-right:1px solid var(--color-border);grid-template-rows:auto minmax(0,1fr) auto;padding:0;display:grid;overflow:hidden}.slide-strip-head{justify-content:space-between;align-items:center;gap:var(--space-2);border-bottom:1px solid var(--color-border);min-width:0;min-height:46px;color:var(--color-text-muted);letter-spacing:0;text-transform:uppercase;padding:11px 12px;font-size:11px;font-weight:700;display:flex}.slide-strip-head .deck-meta{text-transform:none}.slide-list{overscroll-behavior:contain;flex-direction:column;gap:6px;min-height:0;padding:8px 7px 10px;display:flex;overflow:auto}.slide-thumb{width:100%;min-height:0;color:var(--color-text);text-align:left;box-shadow:none;background:0 0;border-color:#0000;flex:none;grid-template-columns:minmax(0,1fr);gap:0;padding:5px;transition:border-color .12s,background .12s,opacity .12s,transform .12s;display:grid;position:relative}.slide-thumb:hover,.slide-thumb:focus-within{border-color:color-mix(in srgb, var(--color-border) 72%, transparent);background:color-mix(in srgb, var(--color-surface-hover) 42%, transparent);transform:none}.slide-thumb[draggable=true]{cursor:grab}.slide-thumb.is-dragging{opacity:.45}.slide-thumb[aria-current=true]:before{border-radius:var(--radius-pill);background:var(--color-accent);content:"";width:2px;position:absolute;top:8px;bottom:8px;left:0}.slide-thumb[data-drop-position]:after{border-radius:var(--radius-pill);background:var(--color-accent);height:3px;box-shadow:0 0 0 2px var(--color-accent-soft);content:"";position:absolute;left:8px;right:8px}.slide-thumb[data-drop-position=before]:after{top:-6px}.slide-thumb[data-drop-position=after]:after{bottom:-6px}.slide-select-btn{width:100%;min-width:0;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:6px;padding:0;display:grid}.slide-number{width:18px;height:18px;color:var(--color-text-subtle);border-radius:5px;justify-content:center;align-items:center;margin-top:2px;font-size:10px;font-weight:700;line-height:1;display:inline-flex;position:relative}.slide-thumb[aria-current=true] .slide-number{background:var(--color-accent-soft);color:var(--color-accent)}.thumb-preview{aspect-ratio:var(--deck-aspect-ratio,16 / 9);border:1px solid color-mix(in srgb, var(--color-border) 80%, transparent);background:var(--thumb-bg,#f8fafc);width:100%;box-shadow:none;border-radius:4px;position:relative;overflow:hidden;container-type:inline-size}.slide-skip-btn{border:1px solid color-mix(in srgb, var(--color-border) 62%, transparent);background:color-mix(in srgb, var(--color-surface) 84%, transparent);width:22px;height:22px;color:var(--color-text-subtle);box-shadow:var(--shadow-control);cursor:pointer;opacity:0;pointer-events:none;border-radius:6px;justify-content:center;align-items:center;transition:border-color .12s,background .12s,color .12s,opacity .12s;display:inline-flex;position:absolute;top:7px;right:7px}.slide-skip-btn .icon{width:14px;height:14px}.slide-thumb:hover .slide-skip-btn,.slide-thumb:focus-within .slide-skip-btn{opacity:.78;pointer-events:auto}.slide-skip-btn:hover,.slide-skip-btn:focus-visible{border-color:var(--color-border-strong);background:var(--color-surface);color:var(--color-text);opacity:1}.slide-thumb[data-skipped=true]{color:var(--color-text-subtle)}.slide-thumb[data-skipped=true] .slide-number:after{border-radius:var(--radius-pill);content:"";opacity:.78;background:currentColor;width:18px;height:2px;position:absolute;transform:rotate(-45deg)}.slide-thumb[data-skipped=true] .thumb-preview{filter:saturate(.36);opacity:.48;border-style:dashed}.slide-thumb[data-skipped=true] .thumb-preview:after{background:linear-gradient(to bottom right, transparent calc(50% - 1px), color-mix(in srgb, var(--color-text-muted) 74%, transparent) 50%, transparent calc(50% + 1px));content:"";pointer-events:none;position:absolute;inset:0}.slide-thumb[data-skipped=true] .slide-skip-btn{border-color:color-mix(in srgb, var(--color-warning) 34%, var(--color-border));background:color-mix(in srgb, var(--color-warning) 12%, var(--color-surface));color:var(--color-warning)}.add-slide-btn{background:0 0;border-width:1px 0 0;border-radius:0;justify-content:center;gap:6px;width:100%;height:44px;margin-top:0;font-weight:650}.stage-column{grid-template-rows:minmax(0,1fr);min-width:0;min-height:0;display:grid;position:relative}.tool-dock,.zoom-cluster{z-index:25;border:1px solid color-mix(in srgb, var(--color-border) 82%, transparent);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--color-surface) 90%, transparent);box-shadow:var(--shadow-overlay);-webkit-backdrop-filter:blur(18px);gap:3px;padding:4px;position:absolute}.tool-dock{bottom:calc(var(--safe-bottom) + 18px);overscroll-behavior-x:contain;scrollbar-width:none;max-width:min(760px,100% - 318px);left:50%;overflow:visible;transform:translate(-50%)}.tool-dock::-webkit-scrollbar{display:none}.shape-selector{flex:none;position:relative}.shape-trigger{border-radius:12px;min-width:76px;list-style:none}.shape-trigger::-webkit-details-marker{display:none}.shape-trigger .chevron-icon{width:12px;height:12px}.shape-menu{z-index:40;grid-template-columns:repeat(4, var(--size-dock-control));border:1px solid color-mix(in srgb, var(--color-border) 82%, transparent);background:color-mix(in srgb, var(--color-surface) 94%, transparent);box-shadow:var(--shadow-overlay);-webkit-backdrop-filter:blur(18px);border-radius:18px;gap:6px;padding:8px;display:grid;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%)}.shape-selector:not([open]) .shape-menu{display:none}.shape-option{width:var(--size-dock-control);height:var(--size-dock-control);box-shadow:none;justify-content:center;padding:0}.zoom-cluster{right:16px;bottom:calc(var(--safe-bottom) + 18px)}.dock-separator,.zoom-separator{background:var(--color-border);width:1px;height:22px;margin:0 2px}.template-select{width:112px;height:var(--size-control-height)}.tool-dock .tool-btn,.tool-dock .template-select{height:var(--size-dock-control);min-width:var(--size-dock-control);box-shadow:none;background:0 0;border-color:#0000;border-radius:12px}.zoom-cluster .tool-btn{height:var(--size-dock-control);min-width:var(--size-dock-control);border-radius:var(--radius-pill);box-shadow:none;background:0 0;border-color:#0000}.tool-dock .tool-btn:hover,.tool-dock .tool-btn.is-active,.zoom-cluster .tool-btn:hover,.zoom-cluster .tool-btn.is-active{border-color:var(--color-border-strong);background:var(--color-accent-soft);color:var(--color-accent);transform:none}.tool-dock .template-select{width:120px;padding-inline:10px}.zoom-readout{font-variant-numeric:tabular-nums;width:62px;font-size:12px;font-weight:650}.canvas-wrap{background-color:var(--color-canvas-well);background-image:linear-gradient(color-mix(in srgb, var(--color-border) 18%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--color-border) 18%, transparent) 1px, transparent 1px);background-size:24px 24px;place-items:center;min-width:0;min-height:0;padding:clamp(18px,3vw,38px);display:grid;overflow:auto}.slide-canvas{aspect-ratio:var(--deck-aspect-ratio,16 / 9);width:min(calc(100% * var(--canvas-zoom,1)), calc((100vh - 174px) * var(--deck-ratio,1.7778) * var(--canvas-zoom,1)));max-width:calc(1120px * var(--canvas-zoom,1));border:1px solid color-mix(in srgb, var(--color-border-strong) 74%, transparent);border-radius:var(--radius-sm);background:var(--slide-bg,#f8fafc);box-shadow:var(--shadow-canvas);touch-action:none;user-select:none;position:relative;overflow:hidden;container-type:inline-size}.slide-canvas[data-text-editing=true]{touch-action:auto;-webkit-user-select:text;user-select:text}.selection-marquee{z-index:20;left:calc(var(--marquee-x) * 1%);top:calc(var(--marquee-y) * 1%);width:calc(var(--marquee-w) * 1%);height:calc(var(--marquee-h) * 1%);border:1px solid var(--color-accent);background:color-mix(in srgb, var(--color-accent) 16%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--color-surface) 54%, transparent) inset;pointer-events:none;border-radius:3px;position:absolute}.slide-element{left:calc(var(--x) * 1%);top:calc(var(--y) * 1%);width:calc(var(--w) * 1%);height:calc(var(--h) * 1%);opacity:var(--opacity);transform:rotate(calc(var(--rotation) * 1deg));transform-origin:50%;cursor:grab;user-select:none;position:absolute}.slide-element[data-editing=true]{cursor:default;user-select:none}.slide-element[data-kind=shape]:before{z-index:1;content:"";position:absolute;inset:0}.slide-element:active{cursor:grabbing}.slide-element[data-editing=true]:active{cursor:default}.slide-element[data-selected=true]{outline:2px solid var(--color-accent);outline-offset:2px}.slide-element[data-locked=true]{cursor:default}.slide-element[data-locked=true][data-selected=true]{outline-style:dashed}.element-resize-handle{z-index:2;border:2px solid var(--color-surface);background:var(--color-accent);cursor:nwse-resize;border-radius:50%;width:12px;height:12px;display:none;position:absolute;bottom:-6px;right:-6px}.element-rotate-handle{z-index:2;border:2px solid var(--color-surface);background:var(--color-accent);width:14px;height:14px;box-shadow:0 0 0 1px color-mix(in srgb, var(--color-accent) 34%, transparent);cursor:grab;border-radius:50%;display:none;position:absolute;top:-30px;left:50%;transform:translate(-50%)}.element-rotate-handle:before{background:var(--color-accent);content:"";width:1px;height:18px;position:absolute;top:100%;left:50%;transform:translate(-50%)}.element-rotate-handle:active{cursor:grabbing}.slide-element[data-selected=true] .element-resize-handle,.slide-element[data-selected=true] .element-rotate-handle{display:block}.slide-text{box-sizing:border-box;width:100%;height:100%;color:var(--text-color);font-family:var(--element-font);font-size:clamp(8px, var(--font-size-cqw), 120px);font-style:var(--font-style);font-weight:var(--font-weight);line-height:var(--line-height);text-align:var(--text-align);white-space:pre-wrap;justify-content:flex-start;align-items:center;display:flex;overflow:hidden}.slide-text[data-align=center]{justify-content:center}.slide-text[data-align=right]{justify-content:flex-end}.slide-text[data-valign=top]{align-items:flex-start}.slide-text[data-valign=bottom]{align-items:flex-end}.slide-text-content{overflow-wrap:anywhere;width:100%;min-width:0}.slide-text-content[contenteditable=plaintext-only]{cursor:text;-webkit-user-select:text;user-select:text}.slide-text-content[contenteditable=plaintext-only]:focus{outline:none}.slide-text[data-list-style=bullet],.slide-text[data-list-style=numbered]{align-items:center}.slide-text[data-list-style=bullet] ul,.slide-text[data-list-style=numbered] ol{width:100%;margin:0;padding-left:0;list-style:none}.slide-text[data-list-style=bullet] li,.slide-text[data-list-style=numbered] li{grid-template-columns:max-content minmax(0,1fr);column-gap:.65em;padding-left:0;display:grid}.slide-text[data-list-style=numbered] ol{counter-reset:slide-list-item}.slide-text[data-list-style=bullet] li:before{content:"•"}.slide-text[data-list-style=numbered] li:before{text-align:right;content:counter(slide-list-item) ".";counter-increment:slide-list-item;min-width:1.4em}.thumb-preview .slide-element{pointer-events:none}.thumb-preview .slide-text{font-size:clamp(2px, var(--font-size-cqw), 13px)}.slide-shape{z-index:0;pointer-events:none;width:100%;height:100%;display:block;position:relative;overflow:visible}.slide-shape-fill,.slide-shape-decoration,.slide-shape-line,.slide-shape-arrow-head{fill:var(--fill);stroke:var(--stroke);stroke-linecap:round;stroke-linejoin:round;stroke-width:var(--stroke-width);vector-effect:non-scaling-stroke}.slide-shape-decoration,.slide-shape-line{fill:none}.slide-shape-arrow-head{fill:var(--stroke);stroke:none}.slide-line-shape{position:relative}.slide-line-shape .slide-shape-line{top:50%;right:var(--line-end-inset,0);left:var(--line-start-inset,0);height:max(1px, calc(var(--stroke-width) * 1px));background:var(--stroke);border-radius:999px;position:absolute;transform:translateY(-50%)}.slide-line-shape .slide-shape-arrow-head{width:var(--arrow-head-size,10px);height:var(--arrow-head-height,8px);background:var(--stroke);clip-path:polygon(0 0,100% 50%,0 100%);position:absolute;top:50%}.slide-line-shape .slide-shape-arrow-head[data-endpoint=start]{left:0;transform:translateY(-50%)rotate(180deg)}.slide-line-shape .slide-shape-arrow-head[data-endpoint=end]{right:0;transform:translateY(-50%)}.slide-shape-label{z-index:2;pointer-events:none;width:auto;height:auto;position:absolute;inset:10%}.slide-shape-label .slide-text-content[contenteditable=plaintext-only]{pointer-events:auto}.text-edit-overlay{z-index:30;left:calc(var(--x) * 1%);top:calc(var(--y) * 1%);width:calc(var(--w) * 1%);height:calc(var(--h) * 1%);opacity:var(--opacity);transform:rotate(calc(var(--rotation) * 1deg));transform-origin:50%;cursor:text;pointer-events:auto;-webkit-user-select:text;user-select:text;position:absolute}.text-edit-overlay .slide-text{pointer-events:none;overflow:visible}.slide-element[data-editing=true] .slide-text{visibility:hidden}.text-edit-overlay .slide-text-content[contenteditable=plaintext-only]{cursor:text;caret-color:currentColor;pointer-events:auto;-webkit-user-select:text;user-select:text;flex-direction:column;justify-content:center;width:100%;height:100%;min-height:1em;display:flex}.text-edit-overlay .slide-text[data-valign=top] .slide-text-content[contenteditable=plaintext-only]{justify-content:flex-start}.text-edit-overlay .slide-text[data-valign=bottom] .slide-text-content[contenteditable=plaintext-only]{justify-content:flex-end}.slide-image{object-fit:var(--image-fit);border-radius:5px;width:100%;height:100%;display:block}.slide-image-placeholder{border:1px dashed var(--color-border-strong);background:color-mix(in srgb, var(--color-surface-muted) 82%, var(--color-surface));width:100%;height:100%;color:var(--color-text-muted);border-radius:5px;place-items:center;font-size:12px;display:grid}.speaker-notes{resize:vertical;min-height:82px}.app-shell[data-focus-mode=true]{grid-template-rows:minmax(0,1fr)}.app-shell[data-focus-mode=true] .app-header{z-index:30;min-height:var(--size-header-height);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-overlay);opacity:0;transition:opacity .16s,transform .16s;position:fixed;top:10px;left:12px;right:12px;transform:translateY(-8px)}.app-shell[data-focus-mode=true] .app-header:hover,.app-shell[data-focus-mode=true] .app-header:focus-within{opacity:1;transform:translateY(0)}.app-shell[data-focus-mode=true] .workspace{grid-row:1;grid-template-columns:minmax(0,1fr)}.app-shell[data-focus-mode=true] .stage-column{grid-area:1/1;grid-template-rows:minmax(0,1fr);position:relative}.app-shell[data-focus-mode=true] .canvas-wrap{grid-row:1;padding:clamp(18px,4vw,52px) clamp(18px,4vw,52px) clamp(86px,8vw,118px)}.app-shell[data-focus-mode=true] .slide-canvas{width:min(calc(100% * var(--canvas-zoom,1)), calc((100vh - 168px) * var(--deck-ratio,1.7778) * var(--canvas-zoom,1)));max-width:calc(1280px * var(--canvas-zoom,1))}.app-shell[data-focus-mode=true] .tool-dock,.app-shell[data-focus-mode=true] .zoom-cluster{bottom:calc(var(--safe-bottom) + 42px)}.app-shell[data-focus-mode=true] .slide-strip,.app-shell[data-focus-mode=true] .inspector{z-index:24;width:var(--size-slide-strip);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-surface) 82%, transparent);box-shadow:var(--shadow-overlay);opacity:.44;backdrop-filter:blur(18px);transition:opacity .16s,transform .16s;position:fixed;top:12px;bottom:12px}.app-shell[data-focus-mode=true] .slide-strip{left:10px;transform:translate(calc(30px - 100%))}.app-shell[data-focus-mode=true] .inspector{width:var(--size-inspector);right:10px;transform:translate(calc(100% - 30px))}.app-shell[data-focus-mode=true] .slide-strip:hover,.app-shell[data-focus-mode=true] .slide-strip:focus-within,.app-shell[data-focus-mode=true] .inspector:hover,.app-shell[data-focus-mode=true] .inspector:focus-within{z-index:26;opacity:1;transform:translate(0)}.inspector{--inspector-control-height:30px;border-left:1px solid var(--color-border);align-content:start;gap:0;padding:0;display:grid}.inspector-section{border:0;border-top:1px solid var(--color-border);background:0 0;border-radius:0;grid-template-columns:minmax(0,1fr);grid-auto-flow:row;gap:10px;padding:13px 12px 15px;transition:background .14s;display:grid}.inspector-section>*,.object-fields>*{grid-column:1/-1;min-width:0}.inspector-section[hidden]{display:none}.inspector-section:first-child{border-top:0}.inspector-section:hover,.inspector-section:focus-within{background:color-mix(in srgb, var(--color-surface-hover) 32%, transparent)}.inspector label{color:var(--color-text-subtle);gap:5px;font-size:11px;font-weight:650;line-height:1.2}.inspector input,.inspector select,.inspector textarea{background:color-mix(in srgb, var(--color-surface-raised) 90%, transparent);min-height:0;color:color-mix(in srgb, var(--color-text) 86%, var(--color-text-muted));border-radius:7px;font-size:12px;font-weight:520;line-height:1.25}.inspector input,.inspector select{height:var(--inspector-control-height);padding:0 8px}.inspector select{font-weight:560}.inspector textarea{min-height:66px;padding:8px;line-height:1.35}.inspector .speaker-notes{min-height:92px}.inspector input[type=number]{font-variant-numeric:tabular-nums;font-weight:560}.inspector input[data-mixed=true],.inspector select[data-mixed=true],.inspector textarea[data-mixed=true]{color:var(--color-text-muted);border-style:dashed}.inspector input[type=url],.inspector #image-src-input{color:var(--color-text-muted);font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:500;overflow:hidden}.inspector input[type=color]{height:var(--inspector-control-height);padding:3px}.inspector input[type=range]{height:22px;box-shadow:none;background:0 0;border:0;padding:0}.section-head,.dialog-head{justify-content:space-between;gap:var(--space-2)}.inspector .section-head{min-height:28px}.section-head h2,.dialog-head h2{color:var(--color-text);letter-spacing:0;font-size:12px;font-weight:720}.inspector .section-head h2{font-size:14px;font-weight:760;line-height:1.2}.field-grid{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.inspector .field-grid{gap:10px var(--space-2)}.inspector-action-btn{width:100%;margin-top:2px}.field-with-action{grid-template-columns:minmax(0, 1fr) var(--inspector-control-height);align-items:end;gap:var(--space-2);min-width:0;display:grid}.compact-field-action{grid-template-columns:minmax(0,1fr) auto}.compact-field-action label{min-width:0}.paint-control{grid-column:1/-1;gap:6px;min-width:0;display:grid}.paint-label{color:var(--color-text-muted);font-size:11px;font-weight:700}.paint-swatch-row{flex-wrap:wrap;gap:6px;min-width:0;display:flex}.paint-swatch,.none-color-btn{width:var(--inspector-control-height);height:var(--inspector-control-height);min-width:var(--inspector-control-height);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--swatch,var(--color-surface-muted));color:var(--color-text-muted);cursor:pointer;box-shadow:0 0 0 1px #ffffff4d inset, var(--shadow-control);flex:none;padding:0;transition:border-color .12s,background .12s,box-shadow .12s,color .12s,transform .12s}.stroke-paint-swatch{background:linear-gradient(var(--swatch), var(--swatch)) center / 19px 3px no-repeat, var(--color-surface)}.custom-paint-swatch{width:42px;height:var(--inspector-control-height);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:linear-gradient(var(--swatch,#fff), var(--swatch,#fff)) left 5px center / 24px 18px no-repeat, color-mix(in srgb, var(--color-surface-muted) 72%, transparent);min-width:42px;color:var(--color-text-muted);cursor:pointer;box-shadow:0 0 0 1px #ffffff4d inset, var(--shadow-control);flex:none;padding:0;transition:border-color .12s,background .12s,box-shadow .12s,color .12s,transform .12s;position:relative;overflow:hidden}.custom-paint-swatch:before{border-radius:calc(var(--radius-sm) - 3px);content:"";pointer-events:none;border:1px solid #0f172a38;width:24px;height:18px;position:absolute;top:5px;left:5px}.custom-paint-swatch:after{border:1px solid var(--color-surface);width:12px;height:12px;box-shadow:0 0 0 1px color-mix(in srgb, var(--color-border-strong) 62%, transparent);content:"";pointer-events:none;background:conic-gradient(#ef4444,#f59e0b,#10b981,#3b82f6,#8b5cf6,#ef4444);border-radius:999px;position:absolute;bottom:4px;right:4px}#background-swatches{flex-wrap:nowrap;gap:4px}#background-swatches .paint-swatch{border-radius:calc(var(--radius-sm) - 2px);width:24px;min-width:24px;height:24px}#background-swatches .custom-paint-swatch{background:linear-gradient(var(--swatch,#fff), var(--swatch,#fff)) left 4px center / 18px 14px no-repeat, color-mix(in srgb, var(--color-surface-muted) 72%, transparent);width:34px;min-width:34px}#background-swatches .custom-paint-swatch:before{width:18px;height:14px;top:4px;left:4px}#background-swatches .custom-paint-swatch:after{width:10px;height:10px;bottom:3px;right:3px}.stroke-custom-paint-swatch{background:linear-gradient(var(--swatch,currentColor), var(--swatch,currentColor)) left 8px center / 22px 3px no-repeat, color-mix(in srgb, var(--color-surface-muted) 72%, transparent)}.custom-paint-swatch input[type=color]{opacity:0;cursor:pointer;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.paint-swatch:hover,.custom-paint-swatch:hover,.none-color-btn:hover{border-color:var(--color-border-strong);transform:translateY(-1px)}.paint-swatch.is-active,.none-color-btn.is-active{border-color:color-mix(in srgb, var(--color-accent) 58%, var(--color-border));color:var(--color-accent);box-shadow:var(--focus-ring)}.custom-paint-swatch.is-custom{border-color:color-mix(in srgb, var(--color-accent) 58%, var(--color-border));box-shadow:var(--focus-ring)}.paint-swatch:disabled,.none-color-btn:disabled,.custom-paint-swatch:has(input:disabled){cursor:not-allowed;opacity:.45;transform:none}.object-fields{gap:var(--space-3);display:none}.object-fields[data-visible=true]{border-top:1px solid var(--color-border);grid-template-columns:minmax(0,1fr);padding-top:10px;display:grid}.swatch-row{flex-wrap:wrap;gap:6px}.swatch-btn{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--swatch);cursor:pointer;width:26px;height:26px;box-shadow:0 0 0 1px #ffffff6b inset, var(--shadow-control)}.segmented{gap:4px}.alignment-control{gap:6px;min-width:0;display:grid}.control-label{color:var(--color-text-muted);font-size:11px;font-weight:700}.alignment-segmented{flex-wrap:nowrap;min-width:0}.layer-actions{align-items:center;gap:4px;display:flex}.layer-actions .tool-btn{width:26px;height:26px}.layers-list{gap:0;display:grid}.layer-row{border:0;border-top:1px solid color-mix(in srgb, var(--color-border) 70%, transparent);width:100%;min-width:0;min-height:32px;color:var(--color-text-muted);cursor:pointer;text-align:left;background:0 0;border-radius:0;align-items:center;gap:8px;padding:0 8px;transition:border-color .12s,background .12s,color .12s;display:flex}.layer-row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.layer-row:first-child{border-top:0}.layer-row:hover{background:color-mix(in srgb, var(--color-surface-hover) 42%, transparent);color:var(--color-text)}.layer-row[aria-pressed=true]{background:var(--color-accent-soft);color:var(--color-accent)}.segment-btn{width:var(--size-control-height);height:var(--size-control-height);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-muted);color:var(--color-text);cursor:pointer;box-shadow:var(--shadow-control)}.inspector .segment-btn,.inspector .tool-btn.icon-btn{width:var(--inspector-control-height);height:var(--inspector-control-height);min-width:var(--inspector-control-height)}.inspector .alignment-segmented .segment-btn{flex:0 0 var(--inspector-control-height)}.inspector .tool-btn.icon-btn{background:color-mix(in srgb, var(--color-surface-muted) 70%, transparent)}.inspector .none-color-btn.is-active{border-color:color-mix(in srgb, var(--color-accent) 58%, var(--color-border));background:var(--color-accent-soft);color:var(--color-accent);box-shadow:var(--focus-ring)}.side-dialog,.settings-dialog{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-raised);width:min(380px,100vw - 24px);max-height:calc(100vh - 24px);color:var(--color-text);box-shadow:var(--shadow-overlay)}.side-dialog{margin:12px 12px 12px auto}.settings-dialog{margin:auto}.wide-dialog{width:min(620px,100vw - 24px)}.font-dialog[open]{grid-template-rows:auto auto minmax(0,1fr);max-height:min(760px,100vh - 24px);overflow:hidden}.export-dialog{width:min(520px,100vw - 24px)}.side-dialog[open],.settings-dialog[open]{align-content:start;gap:var(--space-3);padding:var(--space-3);display:grid}.export-status{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-muted);min-height:32px;color:var(--color-text-muted);align-content:center;padding:8px 10px;font-size:12px;line-height:1.35}.export-status:empty{display:none}.export-grid{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.export-option{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);min-width:0;min-height:72px;color:var(--color-text);cursor:pointer;text-align:left;align-items:center;gap:10px;padding:10px;transition:border-color .12s,background .12s,transform .12s;display:flex}.export-option:hover,.export-option:focus-visible{border-color:var(--color-border-strong);background:var(--color-accent-soft)}.export-option:active{transform:translateY(1px)}.export-option:disabled{cursor:not-allowed;opacity:.55}.export-option span{gap:3px;min-width:0;display:grid}.export-option strong,.export-option small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.export-option strong{font-size:13px;font-weight:680}.export-option small{color:var(--color-text-muted);font-size:11px}.command-dialog{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-raised);width:min(620px,100vw - 28px);color:var(--color-text);box-shadow:var(--shadow-overlay);margin:10vh auto auto;padding:0}.command-dialog[open]{grid-template-rows:auto auto;align-content:start;display:grid}.command-dialog::backdrop{background:#0f172a3d}.command-head{gap:var(--space-2);padding:var(--space-3);border-bottom:1px solid var(--color-border);display:grid}.command-head label{color:var(--color-text-muted);font-size:11px;font-weight:620}.command-input{height:42px;box-shadow:none;background:0 0;border:0;border-radius:0;font-size:20px;font-weight:520}.command-input:focus,.command-input:focus-visible{box-shadow:none}.command-list{height:min(380px,100vh - 220px);max-height:min(380px,100vh - 220px);padding:var(--space-2);align-content:start;gap:4px;display:grid;overflow:auto}.command-list[data-size=single]{height:92px;padding-block:var(--space-4)}.command-list[data-size=empty]{height:auto;min-height:68px}.command-item{justify-content:space-between;align-items:center;gap:var(--space-3);border-radius:var(--radius-sm);width:100%;min-height:54px;color:var(--color-text);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;padding:8px 10px;display:flex}.command-item:hover,.command-item[data-active=true]{border-color:var(--color-border-strong);background:var(--color-accent-soft)}.command-item-text{gap:3px;min-width:0;display:grid}.command-item strong,.command-item small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.command-item strong{font-size:14px;font-weight:650}.command-item small{color:var(--color-text-muted);font-size:12px}.command-item kbd{border:1px solid var(--color-border);color:var(--color-text-muted);font-family:var(--font-mono);border-radius:4px;flex:none;padding:3px 6px;font-size:11px}.command-empty{color:var(--color-text-muted);text-align:center;padding:18px 10px;font-size:13px}.presenter-dialog{color:#f8fafc;background:#05070a;border:0;width:100vw;max-width:none;height:100vh;max-height:none;margin:0;padding:0}.presenter-dialog::backdrop{background:#05070a}.presenter-stage{place-items:center;height:calc(100vh - 52px);padding:20px;display:grid}.presenter-slide{aspect-ratio:var(--deck-aspect-ratio,16 / 9);width:min(100%, calc((100vh - 92px) * var(--deck-ratio,1.7778)));border-radius:var(--radius-sm);background:var(--slide-bg,#f8fafc);position:relative;overflow:hidden;container-type:inline-size}.presenter-slide .slide-element{cursor:default;pointer-events:none}.presenter-bar{justify-content:center;align-items:center;gap:var(--space-2);height:52px;padding:var(--space-2);background:#05070adb;border-top:1px solid #ffffff1a;display:flex}.presenter-meta{color:#cbd5e1;text-align:center;min-width:160px;font-size:12px}.side-dialog::backdrop,.settings-dialog::backdrop{background:#0f172a47}.search-input{margin:var(--space-3) 0}.font-tabs{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-surface-muted) 54%, transparent);gap:4px;padding:3px;display:flex}.font-tab-btn{height:34px;color:var(--color-text-muted);cursor:pointer;font:inherit;background:0 0;border:1px solid #0000;border-radius:6px;flex:1;font-size:12px;font-weight:650;line-height:1}.font-tab-btn[aria-selected=true]{border-color:var(--color-border-strong);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-control)}.font-tab-panel{align-content:start;gap:var(--space-3);min-height:0;padding-right:2px;display:grid;overflow:auto}.font-tab-panel[hidden]{display:none}.font-panel{gap:var(--space-2);display:grid}.font-panel-head{justify-content:space-between;align-items:center;gap:var(--space-2);min-height:32px;display:flex}.font-source-load-btn{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface-muted);height:32px;color:var(--color-text);cursor:pointer;font:inherit;padding:0 12px;font-weight:650}.font-source-load-btn:hover{border-color:var(--color-border-strong);background:var(--color-surface-hover)}.font-source-pill:empty{display:none}.font-list,.font-catalog{border-block:1px solid var(--color-border);display:grid}.font-list[data-empty=true]{border-bottom:0}.font-row,.font-catalog-row{align-items:center;gap:var(--space-2);border:0;border-bottom:1px solid var(--color-border);min-height:54px;color:var(--color-text);background:0 0;display:grid}.font-catalog-row{cursor:pointer;width:100%;font:inherit;text-align:left;grid-template-columns:minmax(0,1fr) auto;padding:8px 0}.font-row-main{min-width:0;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:8px 0}.font-catalog-main,.font-row-main{gap:3px;display:grid}.font-row-title,.font-catalog-preview{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:680;overflow:hidden}.font-row-main:hover .font-row-title,.font-catalog-row:hover .font-catalog-preview{color:var(--color-accent)}.font-row-meta,.font-catalog-meta,.font-empty{color:var(--color-text-muted);font-size:12px;font-weight:560}.font-empty{padding:12px 0}.font-row-action,.font-row-state{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:32px;height:32px;color:var(--color-text-muted);place-items:center;display:inline-grid}.font-row-action{background:var(--color-surface-muted)}.font-row-action:hover,.font-catalog-row:hover .font-row-action{border-color:var(--color-border-strong);color:var(--color-accent)}.font-row-action[aria-label=Installed],.font-row-action[aria-label=Selected],.font-row-state{background:var(--color-accent-soft);color:var(--color-accent);border-color:#0000}.font-category-btn{border:1px solid var(--color-border);border-radius:var(--radius-pill);height:32px;color:var(--color-text-muted);cursor:pointer;font:inherit;background:0 0;padding:0 12px;font-weight:650}.font-category-btn[aria-pressed=true]{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent)}.font-import-group{border-top:1px solid var(--color-border);padding-top:var(--space-2)}.font-import-group summary{cursor:pointer;color:var(--color-text);font-weight:650}.deck-list{gap:var(--space-2);display:grid}.deck-row{gap:var(--space-2);width:100%;padding:var(--space-2);text-align:left;box-shadow:var(--shadow-panel);grid-template-columns:minmax(0,1fr) auto;display:grid}.deck-row-main{min-width:0;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;gap:3px;padding:0;display:grid}.deck-row-title{text-overflow:ellipsis;white-space:nowrap;font-weight:650;display:block;overflow:hidden}.deck-row-meta{color:var(--color-text-muted);font-size:11px;display:block}.deck-row-actions{gap:4px}.dialog-actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-3)}.primary-btn{background:linear-gradient(180deg, var(--color-accent), var(--color-accent-strong));color:var(--color-on-accent);border-color:var(--color-accent)}.toast{z-index:40;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-surface-raised) 94%, transparent);max-width:min(360px,100vw - 24px);box-shadow:var(--shadow-overlay);color:var(--color-text);opacity:0;pointer-events:none;backdrop-filter:blur(18px);padding:9px 12px;transition:opacity .14s,transform .14s;position:fixed;bottom:12px;right:12px;transform:translateY(8px)}.toast[data-visible=true]{opacity:1;transform:translateY(0)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.print-deck{display:none}.print-slide{width:var(--print-width,13.333in);height:var(--print-height,7.5in);aspect-ratio:var(--deck-aspect-ratio,16 / 9);background:var(--slide-bg,#fff);break-after:page;position:relative;overflow:hidden;container-type:inline-size}@media (width<=1080px){:root{--size-slide-strip:128px;--size-inspector:252px}.slide-select-btn{grid-template-columns:18px minmax(0,1fr)}}@media (width<=840px){body{overflow:auto}.app-shell{height:auto;min-height:100vh}.app-header{width:calc(100vw - 16px)}.workspace{grid-template-rows:auto minmax(420px,62vh) auto;grid-template-columns:1fr}.slide-strip{border-right:0;border-bottom:1px solid var(--color-border);grid-template-rows:auto auto auto}.slide-list{flex-direction:row;align-items:flex-start;overflow:auto hidden}.slide-thumb,.add-slide-btn{width:138px}.inspector{border-top:1px solid var(--color-border);border-left:0}.stage-column{grid-template-rows:auto minmax(0,1fr)}.tool-dock{max-width:none;box-shadow:0 1px 0 color-mix(in srgb, var(--color-surface-raised) 74%, transparent) inset;border-width:0 0 1px;border-radius:0;position:static;transform:none}.zoom-cluster{bottom:12px;right:12px}.canvas-wrap{padding:14px}.header-actions{gap:4px}.brand-block{gap:6px;padding-left:6px}.brand-block h1{display:none}.deck-title-input{min-width:90px;max-width:none}.deck-meta{min-width:max-content}.app-shell[data-focus-mode=true]{grid-template-rows:auto minmax(0,1fr)}.app-shell[data-focus-mode=true] .app-header{opacity:1;border-width:0 0 1px;border-radius:0;min-height:0;position:static;transform:none}.app-shell[data-focus-mode=true] .workspace{grid-row:auto;grid-template-rows:auto minmax(420px,62vh) auto;grid-template-columns:1fr}.app-shell[data-focus-mode=true] .stage-column{grid-area:auto;grid-template-rows:auto minmax(0,1fr)}.app-shell[data-focus-mode=true] .tool-dock{max-width:none;box-shadow:0 1px 0 color-mix(in srgb, var(--color-surface-raised) 74%, transparent) inset;border-width:0 0 1px;border-radius:0;position:static;transform:none}.app-shell[data-focus-mode=true] .canvas-wrap{grid-row:auto;padding:14px}.app-shell[data-focus-mode=true] .slide-canvas{width:min(calc(100% * var(--canvas-zoom,1)), calc((62vh - 42px) * var(--deck-ratio,1.7778) * var(--canvas-zoom,1)))}.export-grid{grid-template-columns:1fr}.app-shell[data-focus-mode=true] .slide-strip,.app-shell[data-focus-mode=true] .inspector{width:auto;box-shadow:none;opacity:1;backdrop-filter:none;border-radius:0;position:static;transform:none}.app-shell[data-focus-mode=true] .zoom-cluster{bottom:12px}}@media print{@page{size:13.333in 7.5in;margin:0}html,body{background:#fff;width:13.333in;height:7.5in}body{overflow:visible}.app-shell,.side-dialog,.settings-dialog,.command-dialog,.context-menu,.toast{display:none}.print-deck{display:block}.print-deck .slide-element{cursor:default}.print-deck .slide-element[data-selected=true]{outline:0}.element-resize-handle{display:none}}.font-dialog{width:min(640px,100vw - 24px)}.font-panel,.font-import-group{gap:var(--space-2);display:grid}.font-panel+.font-panel,.font-import-group{padding-top:var(--space-3);border-top:1px solid var(--color-border)}.font-panel-head{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.font-panel-head-actions{align-items:center;gap:var(--space-2);display:flex}.font-panel-head h3{color:var(--color-text);margin:0;font-size:13px;font-weight:680}.font-source-pill{color:var(--color-text-muted);font-size:11px;font-weight:620}.font-source-load-btn{border:1px solid var(--color-border);background:var(--color-surface-muted);min-height:30px;color:var(--color-text);cursor:pointer;border-radius:7px;padding:0 11px;font-size:11px;font-weight:650}.font-source-load-btn:hover,.font-source-load-btn:focus-visible{border-color:var(--color-border-strong);background:var(--color-accent-soft);color:var(--color-accent)}.font-source-load-btn:disabled{cursor:progress;opacity:.72}.font-list,.font-catalog{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-surface-raised) 84%, transparent);gap:0;min-height:0;display:grid;overflow:auto}.font-list{max-height:min(360px,100vh - 230px)}.font-catalog{max-height:min(280px,max(160px,100vh - 460px))}.compact-font-catalog{max-height:170px}.font-list[data-empty=true],.font-catalog[data-empty=true]{min-height:44px}.font-row,.font-catalog-row{align-items:center;gap:var(--space-2);border-bottom:1px solid var(--color-border);min-height:44px;color:var(--color-text);transition:background .12s,color .12s;display:grid}.font-row{grid-template-columns:minmax(0,1fr) auto auto}.font-row:last-child,.font-catalog-row:last-child{border-bottom:0}.font-row-main,.font-catalog-row{cursor:pointer;min-width:0;font:inherit;text-align:left;background:0 0;border:0;display:grid}.font-row-main{gap:2px;padding:8px 10px}.font-catalog-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;width:100%;padding:8px 10px}.font-row:hover,.font-row:focus-within,.font-row[data-selected=true],.font-catalog-row:hover,.font-catalog-row:focus-visible,.font-catalog-row[aria-pressed=true]{background:var(--color-accent-soft)}.font-row-title,.font-row-meta,.font-catalog-preview,.font-catalog-meta,.font-row-action{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.font-row-title,.font-catalog-preview{color:var(--color-text);font-size:14px;font-weight:660}.font-row[data-selected=true] .font-row-title,.font-catalog-row[aria-pressed=true] .font-catalog-preview,.font-row-main:hover .font-row-title,.font-row-main:focus-visible .font-row-title,.font-catalog-row:hover .font-catalog-preview,.font-catalog-row:focus-visible .font-catalog-preview{color:var(--color-accent)}.font-row-meta,.font-catalog-meta,.font-row-action,.font-empty{color:var(--color-text-muted);font-size:11px;font-weight:560}.font-row-meta,.font-catalog-meta{margin-top:2px}.font-row-action{border:1px solid var(--color-border);background:var(--color-surface-muted);border-radius:7px;justify-self:end;place-items:center;width:28px;height:28px;display:inline-grid}.font-row-state{background:var(--color-accent-soft);width:28px;height:28px;color:var(--color-accent);border-radius:7px;place-items:center;display:inline-grid}.font-row-action[aria-label=Installed],.font-row-action[aria-label=Selected]{background:color-mix(in srgb, var(--color-accent-soft) 72%, var(--color-surface));color:var(--color-accent);border-color:#0000}.font-row>.tool-btn.icon-btn{background:0 0;border-radius:7px;width:28px;height:28px;margin-right:7px}.font-empty{align-content:center;min-height:36px;padding:0 10px}.font-search-input{margin:0}.font-category-list{flex-wrap:wrap;gap:6px;display:flex}.font-category-btn{border:1px solid var(--color-border);background:var(--color-surface-muted);min-height:30px;color:var(--color-text-muted);cursor:pointer;border-radius:7px;padding:0 10px;font-size:12px;font-weight:650}.font-category-btn:hover,.font-category-btn:focus-visible,.font-category-btn[aria-pressed=true]{border-color:var(--color-border-strong);background:var(--color-accent-soft);color:var(--color-accent)}.font-import-group{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-surface-raised) 84%, transparent);padding:var(--space-2)}.font-import-group summary{cursor:pointer;color:var(--color-text);font-size:12px;font-weight:650}.font-import-fields{gap:var(--space-2);margin-top:var(--space-2);display:grid}.context-menu{z-index:60;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-surface-raised) 96%, transparent);min-width:164px;box-shadow:var(--shadow-overlay);backdrop-filter:blur(18px);padding:5px;display:grid;position:fixed}.context-menu[hidden]{display:none}.context-menu button{min-height:28px;color:var(--color-text);cursor:pointer;text-align:left;background:0 0;border-radius:6px;padding:0 8px;font-size:12px;font-weight:570}.context-menu button:hover,.context-menu button:focus-visible{background:var(--color-accent-soft);color:var(--color-accent)}.context-menu button:disabled{cursor:not-allowed;opacity:.42}.context-menu-separator{background:var(--color-border);height:1px;margin:5px 2px}@media (width<=760px){.font-catalog-row{grid-template-columns:minmax(0,1fr) auto}}@media print{.context-menu{display:none}}