:root{--bg:#f5f5f3;--panel:#fff;--stage:#e7e6e2;--ink:#1d1d1b;--muted:#6c6b66;--line:#dcdbd5;--accent:#0b57d0;--accent-ink:#fff;--warning:#8a5a00;--error:#b3261e;--notice:#fff6d6;--radius:6px;--font-ui:system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font:14px/1.4 var(--font-ui)}[hidden]{display:none!important}.app{flex-direction:column;height:100%;display:flex}.loading{height:100%;color:var(--muted);place-items:center;display:grid}.bar,.status{background:var(--panel);white-space:nowrap;flex:none;align-items:center;gap:10px;display:flex}.bar{border-bottom:1px solid var(--line);height:48px;padding:0 12px}.status{border-top:1px solid var(--line);height:28px;color:var(--muted);gap:16px;padding:0 12px;font-size:12px}.spacer{flex:1}.brand{letter-spacing:-.01em;font-weight:650}.name{text-overflow:ellipsis;min-width:0;color:var(--muted);overflow:hidden}input.name{border-radius:var(--radius);width:14em;font:inherit;background:0 0;border:1px solid #0000;padding:5px 8px}input.name:hover,input.name:focus{border-color:var(--line);color:var(--ink);outline:none}button,.button{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);color:var(--ink);font:inherit;cursor:pointer;padding:5px 12px}button:hover:not(:disabled),.button:hover{background:var(--bg)}button:disabled{opacity:.5;cursor:default}button.primary{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}button.primary:hover:not(:disabled){background:var(--accent);filter:brightness(1.1)}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.segmented{border-radius:var(--radius);background:var(--bg);padding:2px;display:flex}.segmented>*{border-radius:calc(var(--radius) - 2px);color:var(--muted);background:0 0;border:0;padding:4px 11px;text-decoration:none}.segmented>.on{background:var(--panel);color:var(--ink);box-shadow:0 0 0 1px var(--line)}.save{color:var(--muted);font-size:12px}.save-error{color:var(--error)}.notice{border-bottom:1px solid var(--line);background:var(--notice);flex:none;align-items:center;gap:12px;padding:7px 12px;font-size:13px;display:flex}.workspace{flex:1;grid-template-columns:1fr;min-height:0;display:grid}.workspace.view-split{grid-template-columns:minmax(0, var(--split,50%)) 0 minmax(0, 1fr)}.divider{z-index:2;cursor:col-resize;touch-action:none;position:relative}.divider:before{content:"";position:absolute;inset:0 -5px}.divider:hover:after,.divider.dragging:after,.divider:focus-visible:after{content:"";background:var(--accent);opacity:.45;position:absolute;inset:0 -2px}.divider:focus-visible{outline:none}body.resizing{cursor:col-resize;user-select:none}body.resizing .pane{pointer-events:none}.pane{min-width:0;min-height:0}.pane-editor{background:var(--panel)}.view-split .pane-editor{border-right:1px solid var(--line)}.pane-preview{background:var(--stage)}.editor,.editor .cm-editor{height:100%}.editor .cm-editor.cm-focused{outline:none}.editor .cm-scroller{font:13px/1.6 var(--font-mono)}.editor .cm-content{padding:12px 0}.editor .cm-gutters{background:var(--panel);color:#b5b4ae;border-right:0}.engine-loading{width:min(340px,80%);color:var(--muted);text-align:center;flex-direction:column;align-items:center;gap:10px;margin:auto;font-size:13px;display:flex}.engine-loading p{margin:0}.engine-loading-note{opacity:.8;font-size:12px}.engine-loading.failed{color:var(--error)}.progress{background:color-mix(in srgb, var(--muted) 20%, transparent);border-radius:2px;width:100%;height:4px;position:relative;overflow:hidden}.progress span{background:var(--accent);border-radius:2px;transition:width .2s;position:absolute;inset:0 auto 0 0}.progress.indeterminate span{width:30%;animation:1.2s ease-in-out infinite progress-slide}@keyframes progress-slide{0%{left:-30%}to{left:100%}}@media (prefers-reduced-motion:reduce){.progress.indeterminate span{opacity:.4;width:100%;animation:none}}.pages{flex-direction:column;align-items:center;gap:20px;padding:24px;display:flex;overflow-y:auto}.page{background:#fff;width:100%;max-width:860px;height:auto;display:block;box-shadow:0 0 0 1px #0000000f,0 2px 10px #0000001a}.slides{flex-direction:column;display:flex}.stage{flex:1;place-items:center;min-height:0;padding:24px;display:grid}.slide{background:#fff;max-width:100%;max-height:100%;box-shadow:0 0 0 1px #0000000f,0 2px 14px #0000001f}.filmstrip{border-top:1px solid var(--line);background:var(--bg);flex:none;gap:10px;padding:10px 12px;display:flex;overflow-x:auto}.thumb{box-shadow:0 0 0 1px var(--line);background:#fff;border:2px solid #0000;border-radius:4px;flex:none;padding:0;position:relative;overflow:hidden}.thumb img{width:auto;height:78px;display:block}.thumb span{color:#fff;background:#0000008c;border-radius:3px;padding:0 4px;font-size:10px;position:absolute;bottom:3px;left:4px}.thumb.current{border-color:var(--accent)}.presenter{z-index:10;cursor:none;background:#000;place-items:center;display:grid;position:fixed;inset:0}.presenter img{object-fit:contain;width:100vw;height:100vh}.body{flex:1;min-height:0;display:flex}.body>.workspace{flex:1;min-width:0}button[aria-pressed=true]{background:var(--bg);box-shadow:inset 0 1px 2px #00000014}button.link{color:var(--accent);font-size:inherit;background:0 0;border:0;padding:0}button.link:hover:not(:disabled){background:0 0;text-decoration:underline}.settings{border-left:1px solid var(--line);background:var(--panel);flex:none;width:300px;padding:0 16px 20px;overflow-y:auto}.settings-type{padding:14px 0 4px}.settings-type .segmented>*{padding:7px 10px;font-size:15px;font-weight:550}.settings-group h2{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin:20px 0 4px;font-size:11px;font-weight:600}.setting{padding:9px 0}.setting+.setting{border-top:1px solid color-mix(in srgb, var(--line) 60%, transparent)}.setting-head{align-items:center;gap:8px;min-height:24px;display:flex}.setting:not(.setting-inline) .setting-head{margin-bottom:5px}.setting-head label{flex:1;font-weight:500}.setting.is-set .setting-head label:after{content:"";background:var(--accent);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-left:6px;display:inline-block}.setting .reset{color:var(--muted);border:0;padding:0 6px;font-size:12px}.setting-help{color:var(--muted);margin:5px 0 0;font-size:12px;line-height:1.35}.setting-help.invalid{color:var(--error)}.settings input:not([type=checkbox],[type=range]),.settings select{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);width:100%;min-width:0;color:var(--ink);font:inherit;padding:5px 8px}.settings input:focus,.settings select:focus{border-color:var(--accent);outline:none}.settings .segmented{width:100%}.settings .segmented>*{flex:1;padding:4px 6px}.settings .presets{margin-bottom:6px}.switch{appearance:none;background:var(--line);cursor:pointer;border-radius:10px;flex:none;width:34px;height:20px;margin:0;transition:background .15s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000040}.switch:checked{background:var(--accent)}.switch:checked:after{transform:translate(14px)}.switch:disabled{opacity:.5;cursor:default}.stepper{gap:4px;display:flex}.stepper input{text-align:center}.stepper button{flex:none;width:32px;padding:0}.range{align-items:center;gap:10px;display:flex}.range input{accent-color:var(--accent);flex:1}.range output{text-align:right;font-variant-numeric:tabular-nums;min-width:3.2em}.font-status{color:var(--muted);gap:8px;margin-top:5px;font-size:12px;display:flex}.font-chips{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.chip{border-radius:999px;padding:2px 10px;font-size:13px}.chip.on{border-color:var(--accent);color:var(--accent)}.settings-error{z-index:1;border-radius:var(--radius);background:var(--notice);flex-direction:column;align-items:flex-start;gap:6px;margin-top:14px;padding:8px 10px;font-size:13px;display:flex;position:sticky;top:10px;box-shadow:0 2px 8px #0000001a}.settings-footer{color:var(--muted);margin:22px 0 0;font-size:12px}.problems{border-top:1px solid var(--line);background:var(--panel);flex:none;max-height:30vh;margin:0;padding:6px 12px;font-size:13px;list-style:none;overflow-y:auto}.problems li{grid-template-columns:5.5em 1fr;gap:8px;padding:3px 0;display:grid}.problems li.error{color:var(--error)}.problems li.warning{color:var(--warning)}.problems button{color:inherit;text-align:left;background:0 0;border:0;padding:0;text-decoration:underline}.problem-count{border:0;padding:1px 8px;font-size:12px}.problem-count.error{color:var(--error)}.problem-count.warning{color:var(--warning)}@media (width<=760px){.workspace.view-split{grid-template-rows:1fr 1fr;grid-template-columns:1fr}.divider{display:none}.view-split .pane-editor{border-right:0;border-bottom:1px solid var(--line)}.bar{overflow-x:auto}.body{flex-direction:column}.settings{border-top:1px solid var(--line);border-left:0;width:auto;max-height:45vh}}
