html.zenker-shell{color-scheme:dark;--bg: #1a1e21;--header-bg: #181818;--footer-bg: #0c0b0a;--menu-bg: #1c1b18;--hover: #2a2824;--line: #2e2c28;--text: #f4f0e8;--muted: #a39b90;--accent: #3d9a78;--theme-toggle-bg: #2c2a26;--theme-toggle-border: #3e3b36;--theme-toggle-icon: #f4f0e8;--theme-knob: #121110;--header-h: 56px;--footer-h: 36px;height:100%;background:var(--bg);color:var(--text);font-family:Segoe UI,Helvetica Neue,sans-serif}html.zenker-shell[data-theme=light]{color-scheme:light;--bg: #fbfcff;--header-bg: #ced4db;--footer-bg: #ced4db;--menu-bg: #fbfcff;--hover: #e6ecf3;--line: #c5ced8;--text: #1a222b;--muted: #5d6b7a;--accent: #0c6674;--theme-toggle-bg: #fbfcff;--theme-toggle-border: #c5ced8;--theme-toggle-icon: #1a222b;--theme-knob: #e6ecf3}html.zenker-shell body,html.zenker-shell #root{height:100%;background:var(--bg);color:var(--text)}html.zenker-shell button{font:inherit;color:inherit;background:transparent;border:0;border-radius:0;padding:0;cursor:pointer}html.zenker-shell .app{height:100%;min-height:0;display:flex;flex-direction:column}html.zenker-shell .header{flex:0 0 var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 1rem 0 .85rem;background:var(--header-bg);border-bottom:1px solid var(--line)}html.zenker-shell .brand{display:flex;align-items:center;height:32px;text-decoration:none;color:inherit}html.zenker-shell .brand-logo{display:block;height:32px;width:auto;border-radius:4px}html.zenker-shell .brand-logo-light,html.zenker-shell[data-theme=light] .brand-logo-dark{display:none}html.zenker-shell[data-theme=light] .brand-logo-light{display:block}html.zenker-shell .header-user{display:flex;align-items:center;gap:.85rem;min-width:0}html.zenker-shell .theme-toggle{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;width:62px;height:30px;padding:2px;border-radius:999px;background:var(--theme-toggle-bg);color:var(--theme-toggle-icon);border:1px solid var(--theme-toggle-border);cursor:pointer;flex-shrink:0;line-height:0}html.zenker-shell .theme-toggle-knob{position:absolute;top:50%;left:4px;width:24px;height:24px;border-radius:50%;background:var(--theme-knob);transform:translateY(-50%);transition:transform .22s ease;pointer-events:none;z-index:0}html.zenker-shell[data-theme=light] .theme-toggle-knob{transform:translate(28px,-50%)}html.zenker-shell .theme-toggle-icon{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%}html.zenker-shell .theme-toggle-icon svg{display:block;width:16px;height:16px}html.zenker-shell .user-name{font-size:.9rem;font-weight:600;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:18rem}html.zenker-shell .user-menu-notice{margin:0;max-width:16rem;font-size:.78rem;color:var(--muted);text-align:right;line-height:1.3}html.zenker-shell .user-menu{position:relative;flex-shrink:0}html.zenker-shell .user-menu-button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;list-style:none;background:transparent;border:1px solid transparent;border-radius:8px;color:var(--text);cursor:pointer}html.zenker-shell .user-menu-button::-webkit-details-marker,html.zenker-shell .user-menu-button::marker{display:none;content:""}html.zenker-shell .user-menu-button svg{display:block;transition:transform .16s ease}html.zenker-shell .user-menu-button:hover,html.zenker-shell .user-menu[open] .user-menu-button{background:var(--hover);border-color:var(--line)}html.zenker-shell .user-menu[open] .user-menu-button svg{transform:rotate(180deg)}html.zenker-shell .user-menu-list{position:absolute;right:0;top:calc(100% + 6px);min-width:11.5rem;margin:0;padding:4px;background:var(--menu-bg);border:1px solid var(--line);border-radius:8px;z-index:20}html.zenker-shell .user-menu-list button{display:block;width:100%;text-align:left;background:transparent;border:0;border-radius:6px;padding:.45rem .7rem;cursor:pointer;font-weight:500;color:var(--text)}html.zenker-shell .user-menu-list button:hover:not(:disabled){background:var(--hover)}html.zenker-shell .user-menu-list button:disabled{opacity:.6;cursor:wait}html.zenker-shell main.workspace{flex:1;min-height:0;display:flex;flex-direction:column;width:auto;max-width:none;margin:0;padding:0}html.zenker-shell .footer{flex:0 0 var(--footer-h);display:flex;align-items:center;padding:0 1rem;background:var(--footer-bg);border-top:1px solid var(--line);color:var(--muted);font-size:.75rem}html.zenker-shell .theme-toggle:focus-visible,html.zenker-shell .user-menu-button:focus-visible,html.zenker-shell .user-menu-list button:focus-visible,html.zenker-shell .brand:focus-visible{outline:2px solid var(--accent);outline-offset:2px}html.zenker-shell .projects-screen{flex:1;min-height:0;display:flex}html.zenker-shell .project-pane{flex:0 0 300px;width:300px;display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--line)}html.zenker-shell .project-add{display:block;width:100%;flex:0 0 auto;margin:0;padding:.7rem .9rem;background:transparent;border:0;border-radius:0;color:var(--text);text-align:left;cursor:pointer;font-weight:600}html.zenker-shell .project-add:hover{background:var(--hover)}html.zenker-shell .project-add[hidden],html.zenker-shell .project-create[hidden]{display:none}html.zenker-shell .project-create{display:flex;align-items:center;gap:6px;padding:.45rem .55rem .45rem .65rem}html.zenker-shell .project-create input{flex:1;min-width:0;width:auto;height:34px;font:inherit;font-weight:400;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:0 .6rem}html.zenker-shell .project-submit{flex:0 0 34px;width:34px;height:34px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:6px;background:var(--accent);color:#fbfcff;cursor:pointer}html.zenker-shell .project-submit:hover{filter:brightness(1.08)}html.zenker-shell .project-create input:focus-visible,html.zenker-shell .project-submit:focus-visible,html.zenker-shell .project-add:focus-visible,html.zenker-shell .project-item:focus-visible,html.zenker-shell .project-rename:focus-visible,html.zenker-shell .project-rename-input:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}html.zenker-shell .project-list{list-style:none;margin:0;padding:0;overflow:auto;min-height:0}html.zenker-shell a.project-item{display:block;width:100%;margin:0;padding:.55rem .9rem;background:transparent;border:0;color:inherit;text-align:left;text-decoration:none;cursor:pointer;font-weight:400;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}html.zenker-shell .project-row{position:relative}html.zenker-shell .project-row.is-current{background:var(--hover)}html.zenker-shell .project-row:hover,html.zenker-shell .project-row:focus-within{background:var(--hover)}html.zenker-shell a.project-item:hover{background:transparent}html.zenker-shell .project-row:hover a.project-item,html.zenker-shell .project-row:focus-within a.project-item{padding-right:2.1rem}html.zenker-shell .project-rename{position:absolute;top:50%;right:.3rem;transform:translateY(-50%);width:28px;height:28px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:6px;background:transparent;color:var(--text);opacity:0;pointer-events:none;cursor:pointer}html.zenker-shell .project-row:hover .project-rename,html.zenker-shell .project-rename:focus-visible{opacity:1;pointer-events:auto}html.zenker-shell .project-rename:hover{background:var(--line)}html.zenker-shell .project-rename svg{display:block;width:16px;height:16px}html.zenker-shell .project-rename-input{display:block;width:calc(100% - .7rem);margin:.28rem .35rem;height:32px;font:inherit;font-weight:400;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:0 .55rem}html.zenker-shell .project-note{margin:0;padding:.55rem .9rem;color:var(--muted);font-weight:400}html.zenker-shell .project-note.is-error{color:#c4524a}html.zenker-shell .project-popup{position:fixed;z-index:30;max-width:28rem;margin:0;padding:.45rem .7rem;background:var(--menu-bg);color:var(--text);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px #10161c2e;font-weight:400;line-height:1.35;pointer-events:none}html.zenker-shell .fold{display:flex;flex-direction:column;flex:0 0 auto;min-height:0}html.zenker-shell .fold.is-open{flex:1 1 auto}html.zenker-shell .fold-toggle{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;margin:0;padding:.55rem .75rem;background:#2a3138;border:0;border-bottom:1px solid var(--line);border-radius:0;color:inherit;text-align:left;cursor:pointer;font-weight:600}html.zenker-shell[data-theme=light] .fold-toggle{background:#e6ecf3}html.zenker-shell .fold-toggle:hover{background:#343c44}html.zenker-shell[data-theme=light] .fold-toggle:hover{background:#d5dee8}html.zenker-shell .fold-label{display:inline-flex;align-items:center;gap:.45rem;min-width:0}html.zenker-shell .fold-icon{flex:0 0 auto;display:block;width:22px;height:22px}html.zenker-shell .fold-chevron{flex:0 0 auto;transition:transform .24s ease;transform:rotate(-90deg)}html.zenker-shell .fold.is-open .fold-chevron{transform:none}html.zenker-shell .fold-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .24s ease;min-height:0}html.zenker-shell .fold.is-open .fold-body{flex:1 1 auto;grid-template-rows:1fr}html.zenker-shell .fold-panel{overflow:hidden;min-height:0}html.zenker-shell .fold.is-open .fold-panel{height:100%;overflow:auto}html.zenker-shell .character-list{list-style:none;margin:0;padding:.45rem .7rem .65rem;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px}html.zenker-shell .character-row{display:flex;flex:0 0 auto;max-width:100%}html.zenker-shell .character-chip{display:inline-flex;align-items:center;gap:.4rem;max-width:100%;padding:3px 10px 3px 3px;border-radius:12px;background:var(--chip);color:#1a222b;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}html.zenker-shell .character-chip img,html.zenker-shell .character-letter{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;flex:0 0 auto;background:#1a222b1f;font-weight:600;font-size:.9rem}html.zenker-shell .character-chip img{object-fit:cover;display:block;pointer-events:none;background:transparent}html.zenker-shell .character-name{font-weight:500;font-size:.92rem;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:11rem}html.zenker-shell .character-chip.is-dragged{position:fixed;z-index:40;margin:0;cursor:grabbing;pointer-events:none;box-shadow:0 12px 28px #10161c47;transform:rotate(1.5deg)}html.zenker-shell .character-slot{align-self:stretch;width:4px;min-height:28px;margin:0;border-radius:999px;background:var(--accent);list-style:none;flex:0 0 4px}html.zenker-shell .fold-toggle:focus-visible,html.zenker-shell .character-chip:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@media(prefers-reduced-motion:reduce){html.zenker-shell .theme-toggle-knob,html.zenker-shell .user-menu-button svg,html.zenker-shell .fold-chevron,html.zenker-shell .fold-body{transition:none}}:root{color:#1c1915;background:#f3efe6;font-family:Segoe UI,Helvetica Neue,sans-serif;line-height:1.45}*{box-sizing:border-box}body{margin:0}a{color:#0c5c49}button,input{font:inherit}button{background:#0c5c49;color:#fff;border:0;border-radius:6px;padding:.45rem .8rem;cursor:pointer}button:disabled{opacity:.6;cursor:default}button.ghost{background:transparent;color:#1c1915;border:1px solid #cfc6b8}input{width:100%;border:1px solid #cfc6b8;border-radius:6px;padding:.45rem .6rem;background:#fff}.app{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:1.25rem;padding:.85rem 1.25rem;background:#fff;border-bottom:1px solid #e4dccf}.brand{font-weight:600;text-decoration:none;color:#1c1915}.topbar nav{flex:1}.session{display:flex;align-items:center;gap:.75rem}main{flex:1;width:min(720px,calc(100% - 2rem));margin:0 auto;padding:1.5rem 0 2rem}footer{padding:.8rem 1.25rem 1.2rem;color:#6f675d;font-size:.85rem}.card{width:min(380px,100%);margin:12vh auto 0;background:#fff;border:1px solid #e4dccf;border-radius:12px;padding:1.25rem;display:grid;gap:.8rem}.card h1,section h1,.empty h1{margin:0;font-size:1.4rem}label{display:grid;gap:.3rem}.inline{display:flex;gap:.5rem;margin:1rem 0}.list{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}.row{display:flex;justify-content:space-between;align-items:center;gap:.75rem;background:#fff;border:1px solid #e4dccf;border-radius:8px;padding:.7rem .8rem}.row-main{min-width:0}.rename{display:flex;flex-wrap:wrap;gap:.5rem;width:100%}.rename input{flex:1 1 12rem}.empty{padding:3rem 0}.status{color:#6f675d}.error{color:#8f2d2d;margin:0}.hint{margin:0;color:#6f675d}.meta{display:block;color:#6f675d;font-size:.85rem}.summary{background:#fff;border:1px solid #e4dccf;border-radius:8px;padding:.8rem 1rem;margin:1rem 0}.summary p{margin:.2rem 0}.progress{margin:1rem 0;background:#e4dccf;border-radius:99px}.progress span{display:block;height:8px;background:#0c5c49;border-radius:99px}.file{display:inline-block;margin-top:.5rem;background:#0c5c49;color:#fff;border-radius:6px;padding:.45rem .8rem;cursor:pointer}.file input{display:none}.guest main{width:min(420px,calc(100% - 2rem))}main:has(.project-page){width:min(1080px,calc(100% - 2rem))}textarea{width:100%;min-height:6rem;font:inherit;border:1px solid #cfc6b8;border-radius:6px;padding:.45rem .6rem;background:#fff}button.tiny{padding:.15rem .4rem;min-width:1.8rem}input.missing{border-color:#8f2d2d}.characters{margin-top:2.2rem}.characters h2{margin:0 0 .8rem;font-size:1.2rem}.drop{border:1px dashed #cfc6b8;border-radius:8px;padding:.8rem 1rem;background:#fff}.drop.over{border-color:#0c5c49}.drop p{margin:0}.character-layout{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:1rem;align-items:start;margin-top:1rem}.character-list{list-style:none;padding:0;margin:0;display:grid;gap:.45rem}.character-card{display:flex;align-items:center;gap:.35rem;background:#fff;border:1px solid #e4dccf;border-radius:8px;padding:.35rem}.character-card.selected{border-color:#0c5c49}.character-open{flex:1;display:flex;align-items:center;gap:.55rem;min-width:0;background:transparent;color:inherit;text-align:left;padding:.2rem}.character-open strong{display:block}.character-move{display:grid;gap:.2rem}.drag-handle{cursor:grab;color:#6f675d;padding:0 .15rem;-webkit-user-select:none;user-select:none}.avatar{width:40px;height:40px;border-radius:8px;object-fit:cover;flex:0 0 auto}.avatar-letter{display:grid;place-items:center;font-weight:600}.editor{background:#fff;border:1px solid #e4dccf;border-radius:8px;padding:1rem;display:grid;gap:.75rem}.previews{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end}.preview{background:transparent;color:inherit;border:1px solid #e4dccf;border-radius:8px;padding:.35rem;display:grid;gap:.3rem;justify-items:center}.portrait-thumb{height:140px;width:auto;max-width:220px;object-fit:contain;border-radius:6px}.avatar-thumb{width:72px;height:72px;object-fit:cover;border-radius:8px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:#1c191573;display:grid;place-items:center;padding:1rem}.modal{width:min(720px,100%);max-height:calc(100vh - 2rem);overflow:auto;background:#fff;border-radius:12px;padding:1rem;display:grid;gap:.75rem}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:1rem}.modal-head h3{margin:0}.crop{position:relative;max-width:100%;overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none}.crop img{display:block;width:100%;height:auto}.crop-rect{position:absolute;border:2px solid #fff;box-shadow:0 0 0 999px #1c191573;cursor:move}.crop-handle{position:absolute;right:4px;bottom:4px;width:14px;height:14px;background:#fff;border:2px solid #0c5c49;border-radius:2px;cursor:nwse-resize}.color-input{width:36px;height:28px;padding:0;border:0;background:transparent}.player-wrap{display:grid;gap:.6rem;margin:1rem 0}.player-frame{position:relative}.player{width:100%;max-height:70vh;background:#1c1915;border-radius:8px}.player-loader{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#1c191573;border-radius:8px;pointer-events:none}.spinner{width:36px;height:36px;border:3px solid rgb(243 239 230 / 35%);border-top-color:#f3efe6;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation:none;border-color:#f3efe6}}.player::-webkit-media-controls,.player::-webkit-media-controls-enclosure,.player::-webkit-media-controls-panel{display:none!important;opacity:0;pointer-events:none}.wave{position:relative;height:90px;background:#1c1915;border-radius:8px;cursor:ew-resize;touch-action:none}.wave canvas{width:100%;height:100%;display:block;border-radius:8px}.cut-mark{position:absolute;top:0;bottom:0;width:1px;background:#e0a45a;pointer-events:none}.playhead{position:absolute;z-index:1;top:0;bottom:0;width:2px;margin-left:-1px;background:#f3efe6;pointer-events:none}.transport{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem}.cuts{display:grid;gap:.7rem}.cuts-actions,.cuts-import,.cut-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem}.cuts-hint,.cuts .status{margin:0}.cut-list,.cut-warnings{list-style:none;padding:0;margin:0;display:grid;gap:.35rem}.cut-list{max-height:280px;overflow:auto}.cut-row.current{background:#f4efe4;border-radius:6px}.cut-warnings{color:#8a5a12}.lines{display:grid;gap:.7rem}.lines h2,.lines .status,.lines .cuts-hint{margin:0}.line-hints,.line-list{list-style:none;padding:0;margin:0;display:grid;gap:.45rem}.line-hints li,.line-row{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .6rem}.line-row input{flex:1 1 16rem;min-width:12rem}.line-row.current{background:#f4efe4;border-radius:6px}.line-time,.line-pin{font-variant-numeric:tabular-nums}.line-list{max-height:420px;overflow:auto}.shots{display:grid;gap:.7rem}.shots h2,.shots .status{margin:0}.shot-list{list-style:none;padding:0;margin:0;display:grid;gap:.8rem}.shot-card{display:grid;gap:.45rem;padding:.6rem;border:1px solid #e4ddd2;border-radius:8px}.shot-card.current{background:#f4efe4}.shot-head,.shot-lines li{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .7rem}.shot-lines{list-style:none;padding:0;margin:0;display:grid;gap:.3rem}.shot-card textarea{width:100%;resize:vertical}.check{display:flex;align-items:center;gap:.4rem}.transport-readout{margin:0;display:grid;gap:.1rem;font-variant-numeric:tabular-nums}.archive{margin-top:1rem;display:grid;gap:.6rem}@media(max-width:800px){.character-layout{grid-template-columns:1fr}}
