:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f7f7f8;--surface:#fff;--text:#1e1e24;--muted:#6b6b76;--border:#dcdce2;--accent:#6965db;--accent-text:#fff;--danger:#d6336c;--success:#2f9e44;--radius:8px;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#121214;--surface:#1c1c20;--text:#e8e8ec;--muted:#9a9aa6;--border:#33333a;--accent:#8c89f0;--accent-text:#121214;--danger:#f06595;--success:#69db7c}}*{box-sizing:border-box}body{margin:0}h1{margin:0 0 1rem;font-size:1.6rem}h2{margin:0 0 .75rem;font-size:1.15rem}a{color:var(--accent)}input,select,button{font:inherit}input,select{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);padding:.45rem .6rem}input[readonly]{color:var(--muted)}button{border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent);color:var(--accent-text);cursor:pointer;padding:.45rem .9rem}button:disabled{opacity:.6;cursor:default}button.secondary{color:var(--accent);background:0 0}button.danger{border-color:var(--danger);background:var(--danger)}button.link{color:var(--accent);background:0 0;border:none;padding:0}button.link.danger{color:var(--danger)}.muted{color:var(--muted)}.error{color:var(--danger);margin:0}.success{color:var(--success)}.loading{color:var(--muted);text-align:center;padding:2rem}.card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:1.25rem}.stack{gap:1.25rem;display:grid}.narrow{max-width:34rem}.row{align-items:center;gap:.75rem;display:flex}.form{gap:.9rem;display:grid}.form label{gap:.25rem;display:grid}.inline-form{grid-template-columns:minmax(12rem,1fr) auto auto;align-items:start}.inline-form button{margin-top:1.6rem}.invite-link{align-items:end;gap:.75rem;margin:1rem 0;display:flex}.invite-link label{flex:1;gap:.25rem;display:grid}.auth-page{place-items:center;min-height:100vh;padding:1rem;display:grid}.auth-language{position:fixed;top:1rem;right:1rem}.auth-card{width:min(24rem,100%)}.brand{color:var(--accent);margin:0 0 .5rem;font-weight:700;text-decoration:none}.topbar{border-bottom:1px solid var(--border);background:var(--surface);align-items:center;gap:1.25rem;padding:.6rem 1.25rem;display:flex}.topbar .brand{margin:0}.topbar nav{flex:1;gap:1rem;display:flex}.topbar nav a{color:var(--muted);text-decoration:none}.topbar nav a.active{color:var(--text);font-weight:600}.topbar-user{color:var(--muted)}.content{max-width:60rem;margin:0 auto;padding:2rem 1.25rem}.table-wrap{margin-top:1rem;overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;padding:.5rem .6rem}th{color:var(--muted);font-weight:500}.not-found{text-align:center;padding:3rem 0}@media (width<=40rem){.inline-form{grid-template-columns:1fr}.inline-form button{margin-top:0}}.small{font-size:.85rem}.danger-text{color:var(--danger)}.page-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.page-header h1{margin:0}.menu{position:relative}.menu-button{border-color:var(--border);background:var(--surface);color:var(--text);padding:.2rem .55rem}.menu-popover{z-index:20;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-width:11rem;padding:.3rem;display:grid;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 6px 24px #00000026}.menu-popover [role=menuitem]{color:var(--text);text-align:left;background:0 0;border:none;padding:.4rem .6rem}.menu-popover [role=menuitem].danger-text{color:var(--danger)}.menu-popover [role=menuitem]:hover:not(:disabled),.menu-popover [role=menuitem]:focus-visible{background:var(--bg)}.banner{border-bottom:1px solid var(--border);align-items:center;gap:.75rem;padding:.6rem 1rem;display:flex}.banner>:first-child{flex:1}.banner-warning{background:color-mix(in srgb, #f59f00 18%, var(--surface))}.banner-error{background:color-mix(in srgb, var(--danger) 14%, var(--surface))}.dialog{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-width:min(24rem,90vw);color:var(--text);padding:1.5rem}.dialog::backdrop{background:#00000059}input[type=color]{width:4rem;height:2.2rem;padding:.15rem}.slide-stage{position:relative;overflow:hidden}.slide-stage-inner{transform-origin:50%;position:absolute;top:50%;left:50%}.slide-empty{aspect-ratio:16/9;background:var(--bg)}.layout-slide,.slide-placeholder{position:absolute;inset:0;overflow:hidden}.layout-slide.theme-light,.slide-placeholder.theme-light{color:#1e1e1e;background:#fff}.layout-slide.theme-dark,.slide-placeholder.theme-dark{color:#e3e3e3;background:#121212}.slide-placeholder{opacity:.6;place-items:center;font-size:64px;display:grid}.layout-slide.font-excalifont{font-family:var(--font-excalifont), "Segoe Print", "Comic Sans MS", cursive}.layout-slide.font-nunito{font-family:var(--font-nunito), system-ui, sans-serif}.layout-region{flex-direction:column;display:flex;position:absolute;overflow:hidden}.layout-region[data-valign=top]{justify-content:flex-start}.layout-region[data-valign=middle]{justify-content:center}.layout-region[data-valign=bottom]{justify-content:flex-end}.layout-region-content{white-space:pre-line;overflow-wrap:anywhere;flex:none;line-height:1.3}.layout-region.role-heading .layout-region-content{font-weight:700;line-height:1.15}.layout-region.role-subheading .layout-region-content{opacity:.75}.layout-region.placeholder{outline:4px dashed color-mix(in srgb, currentColor 30%, transparent);outline-offset:-4px;border-radius:16px}.layout-region.placeholder .layout-region-content{opacity:.35}.layout-region.clickable{cursor:text}.layout-region.clickable:not(.placeholder):hover{outline:4px solid color-mix(in srgb, var(--accent) 35%, transparent);outline-offset:-4px;border-radius:16px}.layout-list{margin:0;padding:0;list-style:none}.layout-list li{margin:0 0 .45em;padding-left:1.1em;transition:opacity .3s;position:relative}.layout-list li:before{content:"";background:var(--accent);border-radius:50%;width:.38em;height:.38em;position:absolute;top:.5em;left:.1em}.layout-list li.level-1{margin-left:1.3em;font-size:.82em}.layout-list li.level-1:before{border:.08em solid var(--accent);background:0 0}.layout-list li[data-visible=false]{visibility:hidden;opacity:0}.presentation-grid{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:1.25rem;margin:0;padding:0;list-style:none;display:grid}.presentation-card{gap:.5rem;padding:.75rem;display:grid}.presentation-thumb{border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);display:block;overflow:hidden}.presentation-thumb .slide-stage{aspect-ratio:16/9}.presentation-meta{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.presentation-meta form{flex:1}.presentation-meta input{width:100%}.presentation-title{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:600;text-decoration:none;overflow:hidden}.presentation-card p{margin:0}.editor{grid-template-rows:auto auto 1fr;height:100dvh;display:grid}.editor-topbar{border-bottom:1px solid var(--border);background:var(--surface);align-items:center;gap:1rem;padding:.5rem 1rem;display:flex}.editor-back{color:var(--muted);white-space:nowrap;text-decoration:none}.editor-title{background:0 0;border-color:#0000;flex:1;min-width:0;font-size:1.1rem;font-weight:600}.editor-title:hover,.editor-title:focus{border-color:var(--border)}.save-status{color:var(--muted);white-space:nowrap;font-size:.9rem}.save-status.save-conflict,.save-status.save-error,.save-status.save-retrying{color:var(--danger)}.editor-body{grid-row:3;grid-template-columns:13.5rem 1fr;min-height:0;display:grid}.slide-list{border-right:1px solid var(--border);background:var(--surface);flex-direction:column;gap:.75rem;min-height:0;padding:.75rem;display:flex;overflow-y:auto}.slide-list ol{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.slide-list-item{grid-template-columns:1.3rem 1fr;align-items:start;display:grid;position:relative}.slide-list-item.dragging{z-index:10;opacity:.85}.slide-number{color:var(--muted);padding-top:.2rem;font-size:.8rem}.slide-thumb{border:2px solid var(--border);touch-action:none;background:0 0;border-radius:6px;padding:0;display:block;overflow:hidden}.slide-thumb .slide-stage{aspect-ratio:16/9}.slide-list-item.selected .slide-thumb{border-color:var(--accent)}.slide-menu{opacity:0;position:absolute;top:.25rem;right:.25rem}.slide-list-item:hover .slide-menu,.slide-menu:focus-within{opacity:1}.add-slide .menu-button{width:100%;padding:.45rem}.add-slide .menu-popover{left:0;right:auto}.editor-main{grid-template-rows:auto 1fr auto;min-width:0;min-height:0;display:grid}.editor-canvas{grid-row:2;min-height:0;overflow:auto}.editor-empty,.editor-unsupported{place-items:center;gap:1rem;padding:3rem;display:grid}.notes-panel{border-top:1px solid var(--border);background:var(--surface);grid-row:3}.notes-toggle{width:100%;color:var(--muted);text-align:left;background:0 0;border:none;border-radius:0;padding:.4rem 1rem}.notes-panel textarea{border:none;border-top:1px solid var(--border);background:var(--surface);width:100%;height:7rem;color:var(--text);font:inherit;resize:vertical;padding:.5rem 1rem;display:block}.layout-editor{grid-template-columns:minmax(18rem,2fr) 3fr;gap:1.5rem;min-height:100%;padding:1.25rem;display:grid}.layout-editor-form{align-content:start;gap:1.25rem;display:grid}.layout-editor-form fieldset{border:none;gap:.5rem;margin:0;padding:0;display:grid}.layout-editor-form legend{margin-bottom:.4rem;padding:0}.layout-editor-field{gap:.25rem;display:grid}.layout-editor-field textarea{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit;resize:vertical;padding:.45rem .6rem}.layout-editor-items ul{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.layout-editor-item{align-items:center;gap:.3rem;display:flex}.layout-editor-item.level-1{padding-left:1.75rem}.layout-editor-item input{flex:1;min-width:0}.drag-handle{color:var(--muted);cursor:grab;touch-action:none;background:0 0;border:none;padding:.2rem .3rem}.layout-editor-items .link{justify-self:start}.radio{align-items:center;gap:.4rem;display:flex}.layout-picker-options{flex-wrap:wrap;gap:.75rem;display:flex}.layout-option{text-align:center;cursor:pointer;gap:.3rem;width:8.5rem;font-size:.9rem;display:grid;position:relative}.layout-option input{z-index:1;opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.layout-option-preview{border:2px solid var(--border);border-radius:6px;display:block;overflow:hidden}.layout-option-preview .slide-stage{aspect-ratio:16/9}.layout-option.selected .layout-option-preview{border-color:var(--accent)}.layout-option.selected .layout-option-name{font-weight:600}.layout-option:has(input:focus-visible) .layout-option-preview{outline:2px solid var(--accent);outline-offset:2px}.layout-editor-hidden{border-radius:var(--radius);background:color-mix(in srgb, #f59f00 18%, var(--surface));align-items:baseline;gap:.75rem;padding:.5rem .75rem;font-size:.9rem;display:flex}.layout-editor-hidden p{flex:1;margin:0}.segmented{border:1px solid var(--border);border-radius:var(--radius);justify-self:start;display:inline-flex;overflow:hidden}.segmented label{cursor:pointer;padding:.3rem .9rem;position:relative}.segmented label+label{border-left:1px solid var(--border)}.segmented label.selected{background:var(--accent);color:var(--accent-text)}.segmented label:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:-4px}.segmented input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.layout-editor-option-status{flex-wrap:wrap;gap:.4rem 1rem;margin:0;display:flex}.layout-defaults,.layout-defaults-layout{border:none;gap:.5rem;margin:0;padding:0;display:grid}.layout-defaults>legend{margin-bottom:.25rem;padding:0;font-weight:600}.layout-defaults p{margin:0}.layout-defaults-layout{grid-template-columns:7rem 1fr;align-items:center}.layout-defaults-layout>legend{float:left;padding:0}.layout-defaults-layout label{grid-column:2;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.layout-editor-preview .slide-stage{aspect-ratio:16/9;border:1px solid var(--border);border-radius:6px}@media (width<=60rem){.layout-editor{grid-template-columns:1fr}}.slide-image{object-fit:contain;background:#fff;width:100%;height:100%;position:absolute;inset:0}.excalidraw-slide-editor{flex-direction:column;height:100%;display:flex;position:relative}.editor-canvas:has(.excalidraw-slide-editor){overflow:hidden}.present{color:#fff;-webkit-user-select:none;user-select:none;touch-action:manipulation;background:#000;position:fixed;inset:0}.present.cursor-hidden,.present.cursor-hidden *{cursor:none}.present-loading,.present-message{text-align:center;place-content:center;gap:1rem;display:grid}.present-stage{width:100%;height:100%}.present-stage .layer{position:absolute;inset:0}.present-stage .layer-enter{animation:.15s ease-out present-fade-in}@keyframes present-fade-in{0%{opacity:0}}.present-end{color:#9a9aa6;background:#000;place-items:center;font-size:40px;display:grid;position:absolute;inset:0}.present-blank{position:absolute;inset:0}.present-blank-black{background:#000}.present-blank-white{background:#fff}.present-hint{color:#fff;pointer-events:none;background:#000000a6;border-radius:999px;margin:0;padding:.4rem .9rem;font-size:.9rem;position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%)}.excalidraw-slide-view{position:absolute;inset:0;overflow:hidden}.excalidraw-slide-view.theme-dark{background:#121212}.excalidraw-slide-svg,.excalidraw-slide-svg>svg{width:100%;height:100%;position:absolute;inset:0}.slide-error{color:#e03131;place-items:center;margin:0;font-size:40px;display:grid;position:absolute;inset:0}.excalidraw-slide-body{flex:1;min-height:0;display:flex}.excalidraw-canvas-host{flex:1;min-width:0;position:relative}.reveal-panel{border-right:1px solid var(--border);background:var(--surface);flex-direction:column;flex-shrink:0;gap:.6rem;width:16.5rem;padding:.75rem;display:flex;overflow-y:auto}.reveal-panel.collapsed{width:auto;padding:.5rem .25rem}.reveal-header{justify-content:space-between;align-items:center;display:flex}.reveal-header h2{margin:0;font-size:1rem}.reveal-toggle{color:var(--muted);background:0 0;border:none;padding:.1rem .45rem}.reveal-sections{gap:.5rem;display:grid}.reveal-section{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);gap:.2rem;padding:.4rem;display:grid}.reveal-section.drop-target{border-color:var(--accent);outline:2px solid color-mix(in srgb, var(--accent) 35%, transparent)}.reveal-section.dragging{z-index:5;opacity:.85}.reveal-section-header{align-items:center;gap:.3rem;display:flex}.reveal-section-header h3{flex:1;margin:0;font-size:.85rem;font-weight:600}.reveal-add{padding:0 .45rem;line-height:1.4}.reveal-section-header .menu-button{padding:0 .4rem}.reveal-unit{background:var(--surface);width:100%;color:var(--text);text-align:left;touch-action:none;border:1px solid #0000;border-radius:6px;align-items:center;gap:.4rem;padding:.25rem .4rem;font-size:.85rem;display:flex}.reveal-unit.selected{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--surface))}.reveal-unit.dragging{z-index:10;position:relative;box-shadow:0 4px 14px #0000002e}.reveal-unit-icon{width:1.1rem;color:var(--muted);text-align:center}.reveal-unit-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.reveal-warning{color:#e67700}.reveal-preview{margin-top:auto}.reveal-click{gap:.4rem}.reveal-click .reveal-step{background:var(--surface)}.reveal-add-selected{margin-top:.2rem;padding:.3rem .5rem;font-size:.85rem}.annotation-overlay{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.annotation-overlay.tool-laser,.annotation-overlay.tool-pen{pointer-events:auto;touch-action:none}.annotation-overlay.tool-laser{cursor:none}.annotation-overlay.tool-pen{cursor:crosshair}.annotation-toolbar{background:#1e1e24d1;border-radius:999px;align-items:center;gap:.35rem;padding:.35rem;transition:opacity .2s;display:flex;position:absolute;bottom:1rem;left:1rem}.annotation-toolbar.hidden{opacity:0;pointer-events:none}.annotation-toolbar button{color:#fff;background:0 0;border:1px solid #0000;border-radius:999px;padding:.3rem .75rem;font-size:.85rem}.annotation-toolbar button[aria-pressed=true]{background:#ffffff2e;border-color:#fff}.annotation-toolbar .annotation-color{border:2px solid #fff6;width:1.4rem;height:1.4rem;padding:0}.annotation-toolbar .annotation-color[aria-pressed=true]{border-color:#fff;outline:2px solid #fff}
