:root{--bg:#fafaf9;--surface:#fff;--text:#1a1238;--muted:#6b6880;--line:#e7e5ee;--accent:#6d4aff;--accent-soft:#f1edff;--rec:#e5484d;--radius:12px;--shadow:0 1px 2px #1a12380f, 0 4px 16px #1a12380f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,sans-serif}*{box-sizing:border-box}body{min-height:100vh;margin:0}button,select{font:inherit;color:inherit}kbd{border:1px solid var(--line);background:var(--surface);text-align:center;border-bottom-width:2px;border-radius:5px;min-width:1.4em;padding:0 .35em;font:600 .75rem/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;display:inline-block}.app{flex-direction:column;gap:16px;max-width:1200px;margin:0 auto;padding:24px;display:flex}.header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.brand{align-items:center;gap:10px;display:flex}.brand__name{letter-spacing:-.02em;font-size:1.4rem;font-weight:700}.header__tag{color:var(--muted);align-items:center;gap:6px;margin:0;font-size:.9rem;display:inline-flex}.banner{border-radius:var(--radius);border:1px solid;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;font-size:.92rem;display:flex}.banner--error{color:#8f1d22;background:#fff1f1;border-color:#fbd0d0}.banner--warn{color:#6b4b00;background:#fff8e6;border-color:#f6e0a6}.banner--info{background:var(--accent-soft);border-color:#ddd4ff}.main{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:20px;display:grid}@media (width<=860px){.main{grid-template-columns:1fr}}.stage{aspect-ratio:16/9;border-radius:var(--radius);box-shadow:var(--shadow);background:#121019;position:relative;overflow:hidden}.stage__fill{width:100%;height:100%;position:absolute;inset:0}.stage__fill>canvas{object-fit:contain;width:100%;height:100%;display:block}.stage__camera-full{object-fit:cover;transform:scaleX(-1)}.stage__screen{color:#ffffff73;background:linear-gradient(135deg,#ffffff0f,#0000 60%),repeating-linear-gradient(0deg,#0000 0 39px,#ffffff0a 39px 40px),repeating-linear-gradient(90deg,#0000 0 39px,#ffffff0a 39px 40px),#1d1a29;place-items:center;font-size:.95rem;display:grid;position:absolute;inset:0}.stage__result{background:#000;width:100%;height:100%;display:block}.stage__overlay{color:#fff;background:#121019b3;place-items:center;font-weight:500;display:grid;position:absolute;inset:0}.stage__countdown{color:#fff;background:#1210198c;place-items:center;font-size:clamp(4rem,14vw,9rem);font-weight:700;display:grid;position:absolute;inset:0}.stage__countdown span{animation:1s ease-out pop}@keyframes pop{0%{opacity:0;transform:scale(1.4)}30%{opacity:1;transform:scale(1)}}.stage__badge{color:#fff;background:#0009;border-radius:999px;padding:4px 10px;font-size:.8rem;font-weight:600;position:absolute;top:12px;left:12px}.stage.is-paused .stage__fill>canvas{opacity:.6}.stage__choose{width:100%;font:inherit;cursor:pointer;border:0;flex-direction:column;justify-content:center;align-items:center;gap:8px;transition:color .15s;display:flex}.stage__choose:hover:not(:disabled){color:#fff}.stage__choose:hover:not(:disabled) .stage__choose-title{background:var(--accent);border-color:var(--accent)}.stage__choose:disabled{cursor:not-allowed}.stage__choose-title{color:#fff;border:1px solid #ffffff4d;border-radius:10px;padding:10px 18px;font-size:1rem;font-weight:600;transition:background .15s,border-color .15s}.stage__choose-hint{font-size:.85rem}.stage__frame-wrap{place-items:center;display:grid;position:absolute;inset:0;container-type:size}.stage__frame{width:min(100cqw, 100cqh * var(--frame-ar));aspect-ratio:var(--frame-ar);position:relative;overflow:hidden}.stage__share{object-fit:contain;width:100%;height:100%;display:block;position:absolute;inset:0}.stage__share-bar{color:#fff;background:#000000a6;border-radius:999px;align-items:center;gap:12px;padding:6px 12px;font-size:.82rem;display:flex;position:absolute;top:10px;left:10px}.stage__share-bar .link{color:#fff;font-size:inherit}.bubble{--m:calc(100% * 16 / 1920);background:#2b2738;border:2px solid #ffffffd9;transition:top .2s,left .2s,width .2s;position:absolute;overflow:hidden}.bubble--circle{aspect-ratio:1;border-radius:50%}.bubble--rounded{aspect-ratio:16/9;border-radius:12%}.bubble--top-left{top:1.5%;left:.83%}.bubble--top-right{top:1.5%;right:.83%}.bubble--bottom-left{bottom:1.5%;left:.83%}.bubble--bottom-right{bottom:1.5%;right:.83%}.bubble__video{object-fit:cover;width:100%;height:100%;display:block;transform:scaleX(-1)}.bubble__placeholder{width:100%;height:100%}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:16px;padding:20px;display:flex}.group{flex-direction:column;gap:16px;transition:opacity .15s;display:flex}.group.is-muted{opacity:.5}.field{flex-direction:column;gap:6px;display:flex}.field__label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.78rem;font-weight:600}select{border:1px solid var(--line);background:var(--surface);border-radius:8px;width:100%;padding:8px 10px}select:disabled{opacity:.6}.segmented{background:#f2f1f5;border-radius:9px;gap:3px;padding:3px;display:flex}.segmented button{cursor:pointer;background:0 0;border:0;border-radius:7px;flex:1;padding:6px 8px;font-size:.88rem}.segmented button.is-active{background:var(--surface);font-weight:600;box-shadow:0 1px 3px #1a12381f}.segmented button:disabled{opacity:.4;cursor:not-allowed}.corners{grid-template-columns:1fr 1fr;gap:6px;max-width:180px;display:grid}.corner{aspect-ratio:16/9;border:1px solid var(--line);cursor:pointer;background:#f7f6fa;border-radius:8px;position:relative}.corner.is-active{border-color:var(--accent);background:var(--accent-soft)}.corner__dot{aspect-ratio:1;background:#c9c4d9;border-radius:50%;width:26%;position:absolute}.corner.is-active .corner__dot{background:var(--accent)}.corner--top-left .corner__dot{top:10%;left:7%}.corner--top-right .corner__dot{top:10%;right:7%}.corner--bottom-left .corner__dot{bottom:10%;left:7%}.corner--bottom-right .corner__dot{bottom:10%;right:7%}.corner kbd{opacity:.7;font-size:.65rem;position:absolute;top:50%;left:50%;translate:-50% -50%}.switch{cursor:pointer;align-items:center;gap:10px;font-weight:500;display:inline-flex}.switch input{opacity:0;pointer-events:none;position:absolute}.switch__track{background:#d5d2df;border-radius:999px;width:36px;height:20px;transition:background .15s;position:relative}.switch__track:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:translate .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0003}.switch input:checked+.switch__track{background:var(--accent)}.switch input:checked+.switch__track:after{translate:16px}.switch input:focus-visible+.switch__track{outline:2px solid var(--accent);outline-offset:2px}.switch input:disabled~*{opacity:.5;cursor:not-allowed}.meter{background:#eeedf3;border-radius:2px;height:4px;overflow:hidden}.meter__fill{transform-origin:0;background:#30a46c;height:100%;transition:transform 60ms linear}.actions{border-top:1px solid var(--line);flex-direction:column;gap:10px;padding-top:16px;display:flex}.btn{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-weight:600;text-decoration:none;transition:background .15s,transform 50ms;display:inline-flex}.btn:hover:not(:disabled){background:#f6f5f9}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--small{white-space:nowrap;padding:6px 12px;font-size:.85rem}.btn--record{background:var(--text);color:#fff;border:0;padding:16px;font-size:1.05rem}.btn--record:hover:not(:disabled){background:#2c2350}.btn--primary{background:var(--accent);color:#fff;border:0;padding:14px}.btn--primary:hover:not(:disabled){background:#5b39f0}.btn--stop{color:#b4232a;border-color:#f3c0c2}.btn-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.rec-dot{background:var(--rec);border-radius:50%;width:10px;height:10px}.timer{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.timer .rec-dot{animation:1.2s ease-in-out infinite blink}.timer.is-paused .rec-dot{background:var(--muted);animation:none}@keyframes blink{50%{opacity:.25}}.timer__time{font-variant-numeric:tabular-nums;font:600 1.6rem/1 ui-monospace,SFMono-Regular,Menlo,monospace}.timer__sources{color:var(--muted);margin-left:auto;font-size:.8rem}.hint{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:.82rem}.hint--error{color:#b4232a;margin-top:8px}.link{cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.footer{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;font-size:.82rem;display:flex}.privacy{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--muted);flex-basis:100%;align-items:flex-start;gap:12px;padding:14px 16px;line-height:1.5;display:flex}.privacy svg{color:#30a46c;flex-shrink:0;margin-top:2px}.privacy strong{color:var(--text)}.shortcuts{flex-wrap:wrap;gap:14px;margin:0;padding:0;list-style:none;display:flex}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.deck-drop{text-align:center;color:#ffffff8c;border-radius:var(--radius);cursor:pointer;border:2px dashed #ffffff2e;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:24px;transition:border-color .15s,background .15s;display:flex;position:absolute;inset:0}.deck-drop:hover,.deck-drop.is-over{border-color:var(--accent);background:#6d4aff1f}.deck-drop__title{color:#fff;font-size:1.15rem;font-weight:600}.deck-drop__hint{font-size:.9rem}.deck-drop .btn{color:var(--text);margin-top:4px}.deck-preview.is-over{outline:3px solid var(--accent);outline-offset:-3px}.deck-preview__canvas,.deck-preview__canvas>canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.deck-preview__name{text-overflow:ellipsis;white-space:nowrap;max-width:280px;font-weight:600;overflow:hidden}.stage__share-bar label.link{color:#fff;font-size:inherit}.presenter{--p-bg:#f4f3f7;--p-panel:#fff;--p-line:#e2e0e8;--p-text:#1a1238;--p-muted:#6b6880;--p-hover:#1a12380f;--p-active:#1a12381a;--p-shadow:0 4px 18px #1a12381a;--p-off:#d4343a;background:var(--p-bg);color:var(--p-text);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;grid-template-rows:auto minmax(90px,30%) minmax(0,1fr) auto auto;gap:10px;padding:12px 20px 14px;display:grid;position:fixed;inset:0}@media (prefers-color-scheme:dark){.presenter{--p-bg:#1c1b22;--p-panel:#2a2931;--p-line:#3a3842;--p-text:#f1f0f5;--p-muted:#a09eaa;--p-hover:#ffffff14;--p-active:#ffffff24;--p-shadow:0 6px 24px #00000059;--p-off:#ff8589;--surface:#2a2931;--text:#f1f0f5;--muted:#a09eaa;--line:#3a3842;--accent-soft:#332a5c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.presenter .segmented,.presenter .corner{background:#1c1b22}.presenter .corner__dot{background:#4a4754}}.p-top{grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;display:grid}.p-chip{background:var(--p-panel);color:var(--p-text);box-shadow:var(--p-shadow);cursor:pointer;border:0;border-radius:8px;justify-self:start;align-items:center;gap:4px;padding:7px 12px 7px 8px;font-weight:500;display:inline-flex}.p-chip:disabled{opacity:.4;cursor:not-allowed}.p-file{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--p-muted);justify-self:end;font-size:.85rem;overflow:hidden}.p-bar{background:var(--p-panel);box-shadow:var(--p-shadow);border-radius:12px;align-items:center;gap:4px;padding:6px 10px;display:flex}.p-time{font-variant-numeric:tabular-nums;align-items:center;gap:8px;min-width:82px;padding:0 8px 0 4px;font:600 1rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;display:inline-flex}.p-time .rec-dot{background:var(--p-muted)}.p-time.is-live .rec-dot{background:var(--rec);animation:1.2s ease-in-out infinite blink}.p-time.is-paused .rec-dot{background:var(--p-muted);animation:none}.p-rec{border:3px solid var(--p-text);cursor:pointer;background:0 0;border-radius:50%;place-items:center;width:38px;height:38px;margin:0 4px;display:grid}.p-rec span{background:var(--rec);border-radius:50%;width:20px;height:20px;transition:border-radius .15s,width .15s,height .15s}.p-rec.is-live span{border-radius:3px;width:14px;height:14px}.p-rec:disabled{opacity:.5}.p-icon{min-width:34px;height:34px;color:var(--p-text);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;padding:0 6px;font-weight:600;display:inline-grid}.p-icon:hover:not(:disabled){background:var(--p-hover)}.p-icon:disabled{opacity:.35;cursor:not-allowed}.p-icon.is-off{color:var(--p-off)}.p-icon.is-active{background:var(--p-active)}.p-popover{position-area:bottom;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:240px;color:var(--text);box-shadow:var(--shadow);flex-direction:column;gap:8px;margin:8px 0 0;padding:14px;display:none;inset:auto}.p-popover:popover-open{display:flex}.p-popover .corners{max-width:none}.p-notes{border-bottom:1px solid var(--p-line);gap:16px;min-height:0;padding:0 4px;display:flex;position:relative}.p-fontsize{align-items:flex-end;gap:2px;padding-bottom:12px;display:flex}.p-notes__text{white-space:pre-wrap;flex:1;max-width:900px;margin:0 auto;padding:4px 8px 16px;font-weight:500;line-height:1.45;overflow-y:auto}.p-notes__empty{color:var(--p-muted);font-size:1rem;font-weight:400}.p-stage{place-items:center;min-height:0;display:grid;position:relative;container-type:size}.p-slide{width:min(100cqw, 100cqh * var(--slide-ar,1.7778));max-height:100%;box-shadow:var(--p-shadow);touch-action:none;cursor:crosshair;background:#000;border-radius:6px;position:relative;overflow:hidden}.p-slide>canvas{width:100%;height:100%;display:block}.p-slide.tool-eraser{cursor:cell}.p-slide.no-draw{cursor:default}.p-slide .bubble{pointer-events:none}.p-camera-full{object-fit:cover;width:100%;height:100%;position:absolute;inset:0;transform:scaleX(-1)}.p-loading{color:#fff;background:#0009;border-radius:999px;padding:4px 10px;font-size:.8rem;position:absolute;bottom:10px;right:10px}.p-tools{background:var(--p-panel);box-shadow:var(--p-shadow);border-radius:12px;justify-self:center;align-items:center;gap:4px;padding:6px 10px;display:flex}.p-swatch{border:1px solid var(--p-line);cursor:pointer;border-radius:6px;width:22px;height:22px;margin:0 2px}.p-swatch.is-active{box-shadow:0 0 0 2px var(--p-panel), 0 0 0 4px var(--accent)}.p-sep{background:var(--p-line);width:1px;height:22px;margin:0 6px}.p-nav{align-items:center;gap:10px;display:flex}.p-nav__label{flex-direction:column;gap:6px;min-width:120px;font-size:.9rem;font-weight:500;display:flex}.p-progress{background:var(--p-line);border-radius:2px;height:3px}.p-progress div{background:var(--p-text);border-radius:2px;height:100%;transition:width .2s}.p-toast{color:#8f1d22;background:#fff1f1;border-radius:10px;gap:12px;padding:10px 14px;display:flex;position:fixed;top:70px;left:50%;translate:-50%}.p-result{background:#0a090eb3;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.p-result__card{border-radius:var(--radius);background:var(--surface);width:min(900px,100%);color:var(--text);flex-direction:column;gap:12px;padding:16px;display:flex}.p-result__card video{background:#000;border-radius:8px;width:100%;max-height:60vh}.html-frame{background:0 0;border:0;width:100%;height:100%;display:block;position:absolute;inset:0}.p-frame{isolation:isolate;transform-style:flat;position:absolute;inset:0}.p-slide>canvas{z-index:1;position:absolute;inset:0}.p-slide.tool-pointer{cursor:default}.p-slide.tool-pointer>canvas,.deck-preview__canvas{pointer-events:none}.p-slide>.bubble,.p-slide>.p-camera-full,.p-slide>.p-loading,.p-slide>.stage__countdown{z-index:2}.host-prompt{color:#6b4b00;background:#fff8e6;border:1px solid #f6e0a6;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-size:.88rem;display:flex}.host-prompt .btn{color:#4a3400;background:#fff;border-color:#e7c96e}.host-prompt .btn:hover:not(:disabled){background:#fff3cf}.host-prompt .link{color:inherit}.host-prompt__actions{align-items:center;gap:12px;display:inline-flex}.p-hosts{z-index:3;width:min(720px,92%);position:absolute;top:8px;left:50%;translate:-50%}.p-notice{color:var(--p-muted);font-size:.85rem}.deck-preview__hosts{z-index:3;position:absolute;bottom:12px;left:12px;right:12px}.deck-preview__hosts:empty{display:none}
