.export-formats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:4px 0 14px;display:grid}.export-format{text-align:left;cursor:pointer;background:#fff;border:1px solid #d8dbe0;border-radius:8px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.export-format:hover{border-color:#b9bec6}.export-format.active{background:#f4faf6;border-color:#2f6f4e;box-shadow:inset 0 0 0 1px #2f6f4e}.export-format-label{font-weight:600}.export-format-hint{color:#6b7280;font-size:12px}.export-body{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 16px;max-height:46vh;display:grid;overflow:auto}.export-section{border:1px solid #e6e8eb;border-radius:8px;min-width:0;margin:0;padding:8px 12px 10px}.export-section legend{text-transform:uppercase;letter-spacing:.06em;color:#6b7280;padding:0 4px;font-size:11px}.export-switch{cursor:pointer;align-items:center;gap:8px;padding:3px 0;font-size:13px;display:flex}.export-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px}.export-filename{color:#6b7280;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.export-flash{color:#2f6f4e;font-size:12px}@media (max-width:720px){.export-body{grid-template-columns:1fr 1fr}}.import-counts{background:var(--panel,#161b23);border:1px solid var(--edge,#2a323d);border-radius:10px;grid-template-columns:repeat(auto-fit,minmax(84px,1fr));gap:8px 12px;margin:14px 0;padding:12px;display:grid}.import-counts dt{text-transform:uppercase;letter-spacing:.06em;opacity:.7;margin:0;font-size:11px}.import-counts dd{font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:18px}.import-outline{max-height:180px;margin:0 0 12px;padding-left:18px;font-size:13px;line-height:1.5;overflow:auto}.import-warnings{max-height:200px;margin:0 0 12px;padding-left:0;font-size:13px;line-height:1.5;list-style:none;overflow:auto}.import-warnings li{margin:0 0 6px}.import-name{margin:12px 0 4px;display:block}.import-name span{opacity:.7;margin-bottom:4px;font-size:12px;display:block}.import-name input{width:100%}.tpl-body{grid-template-columns:220px minmax(0,1fr);gap:16px;min-height:380px;max-height:60vh;display:grid}.tpl-list{border-right:1px solid var(--sf-border);flex-direction:column;gap:4px;padding-right:4px;display:flex;overflow:auto}.tpl-option{color:var(--sf-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;display:flex}.tpl-option:hover{background:var(--sf-surface-2)}.tpl-option.active{background:var(--sf-surface-2);border-color:var(--sf-accent)}.tpl-option-name{font-size:13px;font-weight:600}.tpl-option-count{color:var(--sf-muted);font-size:10px}.tpl-preview{padding-right:4px;overflow:auto}.tpl-head h3{margin:0 0 4px;font-size:16px}.tpl-head p{margin:0 0 8px;font-size:12px;line-height:1.5}.tpl-attribution{border-left:2px solid var(--sf-border);color:var(--sf-muted);margin:0 0 12px;padding:6px 8px;font-size:11px;line-height:1.45}.tpl-outline{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.tpl-beat{border-bottom:1px solid color-mix(in srgb, var(--sf-border) 50%, transparent);justify-content:space-between;align-items:baseline;gap:10px;padding:4px 0;font-size:12px;display:flex}.tpl-beat.depth-0{font-weight:600}.tpl-beat.depth-1{color:var(--sf-text)}.tpl-beat-scenes{color:var(--sf-muted);flex:none;font-size:10px}.tpl-actions{align-items:center}.ad-slot{flex-direction:column;align-items:center;gap:4px;max-width:100%;margin:0 auto 12px;display:flex}.ad-label{letter-spacing:.12em;text-transform:uppercase;color:var(--sf-muted);font-size:10px}.ad-link{border-radius:4px;line-height:0;display:block}.ad-link img{border:1px solid var(--line,#2e2e3a);background:#11111a;border-radius:4px;max-width:100%;height:auto;display:block}.timeline-shell>.ad-slot,.project-page>.ad-slot{flex:none}.project-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.project-card{flex-direction:column;gap:0;min-height:0;padding:0;display:flex;position:relative;overflow:hidden}.project-card.archived{opacity:.62}.cover.cover-lg{border-radius:0;flex:none;width:100%;height:92px;display:block;overflow:hidden}.cover.cover-lg img{object-fit:cover;width:100%;height:100%;display:block}.project-card .project-body{gap:2px;padding:10px 12px 12px}.project-name{color:var(--sf-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.project-name:hover{color:var(--sf-accent)}.project-menu{border:1px solid var(--sf-border);background:#0e1116b8;position:absolute;top:6px;right:6px}.archived-toggle{align-items:center;gap:6px;display:inline-flex}.dialog-form{flex-direction:column;gap:14px;min-width:420px;display:flex}.dialog-form label{flex-direction:column;gap:5px;font-size:13px;display:flex}.dialog-form input:not([type=radio]),.dialog-form select{width:100%}.row.end{justify-content:flex-end}.starter-fieldset{border:1px solid var(--sf-border);border-radius:8px;flex-direction:column;gap:6px;margin:0;padding:8px;display:flex}.starter-fieldset legend{color:var(--sf-muted);padding:0 6px;font-size:12px}.starter-option{cursor:pointer;border:1px solid #0000;border-radius:6px;flex-direction:row;align-items:flex-start;gap:10px;padding:8px;display:flex}.starter-option.active{border-color:var(--sf-accent);background:var(--sf-surface-2)}.starter-option span{flex-direction:column;gap:1px;display:flex}.project-page{flex-direction:column;min-height:100vh;display:flex}.project-body{flex-direction:column;gap:26px;width:min(1080px,100%);margin:0 auto;padding:20px 20px 60px;display:flex}.series-block{flex-direction:column;gap:16px;padding:18px;display:flex}.series-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.series-head h1{margin:0}.series-fields{flex-direction:column;gap:10px;display:flex}.field-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.field-input{background:var(--sf-surface-2);width:100%;color:var(--sf-text);border:1px solid var(--sf-border);font:inherit;border-radius:6px;padding:7px 9px}.field-input:focus{border-color:var(--sf-accent);outline:none}.field-area{resize:vertical;min-height:44px}.books-section .page-head{margin-bottom:10px}.book-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.book-row{border:1px solid var(--sf-border);background:var(--sf-surface);border-radius:10px;align-items:flex-start;gap:14px;padding:12px;display:flex}.book-row.dragging{border-color:var(--sf-accent);opacity:.8}.book-row.series-row{background:var(--sf-surface-2);border-style:dashed}.book-cover{border:1px solid var(--sf-border);background:var(--sf-surface-2);width:72px;height:96px;color:var(--sf-muted);cursor:pointer;border-radius:6px;flex:none;justify-content:center;align-items:center;padding:0;font-size:22px;display:flex;overflow:hidden}.book-cover img{object-fit:cover;width:100%;height:100%;display:block}.cover-input{display:none}.drag-handle{color:var(--sf-muted);cursor:grab;touch-action:none;background:0 0;border:0;padding:4px 2px;font-size:18px;line-height:1}.drag-handle:active{cursor:grabbing}.book-main{flex-direction:column;flex:1;gap:7px;min-width:0;display:flex}.book-actions{flex-direction:column;align-items:flex-end;gap:6px;min-width:132px;display:flex}.book-move{gap:4px;display:flex}.toast{background:var(--sf-surface-2);border:1px solid var(--sf-accent);z-index:60;border-radius:8px;padding:9px 16px;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.project-switcher{align-items:center;gap:6px;display:inline-flex}.project-switcher select{max-width:190px}@media (max-width:760px){.book-row{flex-wrap:wrap}.book-actions{flex-direction:row;justify-content:flex-end;width:100%;min-width:0}.dialog-form{min-width:0}}.plan-strip{border:1px solid var(--sf-border);background:var(--sf-surface);border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 14px;padding:8px 12px;display:flex}.plan-strip .badge{text-transform:uppercase;letter-spacing:.08em}.quota-notice{border:1px solid #6cace459;border-left:3px solid var(--sf-accent);background:#6cace414;border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 14px;padding:10px 12px;display:flex}.quota-notice strong{font-weight:600}.pro-list{margin:0;padding-left:18px;line-height:1.6}.billing-notice{border:1px solid var(--sf-border);border-left:3px solid var(--sf-muted);background:var(--sf-surface);border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 14px;padding:10px 12px;display:flex}.billing-notice.success{border-left-color:var(--sf-accent);background:#6cace414}.price-row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.price-button{text-align:left;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px;display:flex}.price-amount{font-size:1.15rem;font-weight:650}.price-period{opacity:.85;font-size:.8rem}.read-only-banner{border:1px solid var(--sf-border);color:var(--sf-muted);background:#7882a01a;border-radius:10px;margin:0 0 14px;padding:10px 12px}.timeline-shell{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.timeline-topbar{flex:none}.book-select-label{color:var(--sf-muted);align-items:center;gap:8px;font-size:12px;display:flex}.book-select-label select{max-width:210px;color:var(--sf-text);background:var(--sf-bg);border:1px solid var(--sf-border);border-radius:var(--sf-radius);font:inherit;padding:7px 9px}.save-status{color:var(--sf-ok);min-width:44px;font-size:11px}.save-status.saving{color:var(--sf-muted)}.timeline-toolbar{border-bottom:1px solid var(--sf-border);background:var(--sf-bg);flex:none;justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:8px 14px;display:flex}.timeline-toolbar strong{font-size:13px;font-weight:600}.toolbar-actions{flex-wrap:wrap;justify-content:flex-end}.timeline-search{width:190px}.zoom-control{border:1px solid var(--sf-border);border-radius:var(--sf-radius);gap:3px;padding:2px;display:inline-flex}.zoom-button{text-transform:capitalize;border:0;padding:4px 8px;font-size:11px}.zoom-button.active,.btn.active{background:var(--sf-accent);color:var(--sf-accent-fg);border-color:var(--sf-accent)}.btn.small{padding:4px 9px;font-size:11px}.btn.danger{background:var(--sf-danger);border-color:var(--sf-danger);color:#fff;font-weight:600}.timeline-error{color:var(--sf-danger);background:color-mix(in srgb, var(--sf-danger) 10%, var(--sf-bg));cursor:pointer;flex:none;padding:6px 14px;font-size:12px}.filter-banner{background:color-mix(in srgb, var(--sf-accent) 12%, var(--sf-bg));color:var(--sf-text);border-bottom:1px solid var(--sf-border);flex:none;align-items:center;gap:10px;padding:4px 14px;font-size:12px;display:flex}.timeline-grid{background:var(--sf-bg);flex:auto;grid-template-rows:auto minmax(0,1fr);grid-template-columns:190px minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.timeline-grid.has-pinned{grid-template-rows:auto auto minmax(0,1fr)}.timeline-corner{z-index:3;border-right:1px solid var(--sf-border);border-bottom:1px solid var(--sf-border);background:var(--sf-surface);grid-area:1/1;align-items:end;padding:10px 12px;display:flex;position:relative}.timeline-head-viewport{border-bottom:1px solid var(--sf-border);background:var(--sf-surface);grid-area:1/2;position:relative;overflow:hidden}.timeline-head-canvas{will-change:transform;position:relative}.beat-band,.beat-header{white-space:nowrap;text-overflow:ellipsis;color:var(--sf-text);border:0;border-right:1px solid var(--sf-border);border-bottom:1px solid var(--sf-border);background:var(--sf-surface);text-align:left;touch-action:none;justify-content:space-between;align-items:center;display:flex;position:absolute;overflow:hidden}.beat-band{z-index:2;background:var(--sf-surface-2);padding:3px 9px;font-size:11px;font-weight:600}.beat-header{z-index:2;cursor:grab;flex-direction:column;justify-content:center;align-items:flex-start;gap:5px;padding:8px 9px;font-size:12px;font-weight:600}.beat-header.dragging,.line-label.dragging{opacity:.4}.beat-header:hover,.beat-band:hover{background:color-mix(in srgb, var(--sf-accent) 10%, var(--sf-surface))}.timeline-gutter-viewport{border-right:1px solid var(--sf-border);background:var(--sf-surface);grid-area:2/1;position:relative;overflow:hidden}.timeline-gutter-canvas{will-change:transform;position:relative}.line-label{border-bottom:1px solid var(--sf-border);color:var(--sf-text);cursor:grab;touch-action:none;align-items:center;gap:9px;padding:0 11px;font-size:12px;font-weight:550;display:flex;position:absolute;left:0;right:0;overflow:hidden}.line-label .line-title{white-space:nowrap;text-overflow:ellipsis;flex:auto;overflow:hidden}.line-label .pin-mark{opacity:.65;font-size:9px}.line-label .line-toggle{color:var(--sf-muted);cursor:pointer;background:0 0;border:0;font-size:11px}.line-label:hover{background:var(--sf-surface-2)}.line-color{background:var(--line-color);border-radius:2px;flex:none;width:4px;height:24px}.has-pinned .timeline-gutter-viewport,.has-pinned .timeline-body{grid-row:3}.timeline-pinned-gutter{border-right:1px solid var(--sf-border);border-bottom:2px solid var(--sf-accent);background:var(--sf-surface-2);grid-area:2/1;position:relative;overflow:hidden}.timeline-pinned-gutter-canvas{position:relative}.timeline-pinned-viewport{border-bottom:2px solid var(--sf-accent);background:var(--sf-surface);grid-area:2/2;position:relative;overflow:hidden auto}.timeline-pinned-canvas{will-change:transform;position:relative}.timeline-pinned-viewport .timeline-cell{background:var(--sf-surface)}.line-label.pinned{background:var(--sf-surface-2)}.timeline-body{overscroll-behavior:contain;scrollbar-gutter:stable;grid-area:2/2;min-width:0;min-height:0;overflow:auto}.timeline-canvas{isolation:isolate;position:relative}.timeline-row-bg,.timeline-col-bg{pointer-events:none;position:absolute}.timeline-row-bg{border-bottom:1px solid var(--sf-border);background:var(--sf-bg);left:0}.timeline-row-bg.collapsed{background:var(--sf-surface)}.timeline-col-bg{border-right:1px solid var(--sf-border);top:0}.timeline-cell{border-bottom:1px solid var(--sf-border);outline:none;padding:12px 8px;position:absolute}.timeline-cell.lift-target,.timeline-cell.drop-target{background:color-mix(in srgb, var(--sf-accent) 12%, transparent)}.card-stack{width:100%;height:100%;position:relative}.scene-card{border:1px solid var(--sf-border);border-left:4px solid var(--card-color);background:var(--sf-surface);width:100%;color:var(--sf-text);text-align:left;font:inherit;cursor:pointer;text-overflow:ellipsis;touch-action:pan-y;border-radius:7px;padding:8px 9px 8px 12px;font-size:12px;line-height:1.45;position:absolute;left:0;right:0;overflow:hidden}.timeline-grid.edit-layout .scene-card,.timeline-grid.edit-layout .line-label,.timeline-grid.edit-layout .beat-header{touch-action:none}.scene-card:hover{border-color:color-mix(in srgb, var(--card-color) 65%, var(--sf-border));background:var(--sf-surface-2)}.scene-card.selected{outline:2px solid var(--sf-accent);outline-offset:-1px;background:color-mix(in srgb, var(--sf-accent) 14%, var(--sf-surface))}.scene-card.dimmed{opacity:.25}.scene-card.dragging{opacity:.35}.scene-card.zoom-small{font-size:11px}.scene-card.zoom-large{font-size:13px}.card-title{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.card-thumb{float:left;object-fit:cover;background:var(--sf-surface-2);border-radius:4px;width:42px;height:42px;margin:0 8px 4px 0}.card-index{color:var(--sf-muted);font-variant-numeric:tabular-nums;font-size:9px;position:absolute;bottom:3px;right:6px}.card-title-input{width:100%;font:inherit;background:var(--sf-bg);border:1px solid var(--sf-accent);border-radius:4px;padding:2px 4px;font-size:12px}.cell-add{width:23px;height:23px;color:var(--sf-muted);opacity:0;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;position:absolute;top:7px;right:7px}.timeline-cell:hover .cell-add,.cell-add:focus-visible{opacity:1;border-color:var(--sf-border);background:var(--sf-surface)}.drop-indicator{background:var(--sf-accent);box-shadow:0 0 6px var(--sf-accent);pointer-events:none;border-radius:2px;position:absolute}.drop-cell{border:2px dashed var(--sf-accent);background:color-mix(in srgb, var(--sf-accent) 10%, transparent);pointer-events:none;position:absolute}.line-drop{background:var(--sf-accent);height:3px;box-shadow:0 0 6px var(--sf-accent);pointer-events:none;position:absolute;left:0}.line-drop.gutter{right:0}.beat-drop{background:var(--sf-accent);width:3px;box-shadow:0 0 6px var(--sf-accent);pointer-events:none;position:absolute;top:0}.drag-ghost{border:1px solid var(--sf-accent);border-left:4px solid var(--sf-accent);background:var(--sf-surface-2);min-width:140px;color:var(--sf-text);border-radius:7px;align-items:center;gap:8px;padding:8px 10px;font-size:12px;display:flex;box-shadow:0 8px 22px #00000073}.drag-ghost strong{color:var(--sf-accent);font-size:11px}.drag-ghost.line,.drag-ghost.beat{font-weight:600}.timeline-footer{border-top:1px solid var(--sf-border);flex:none;justify-content:space-between;padding:5px 12px;font-size:10px;display:flex}.timeline-empty{color:var(--sf-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;display:flex}.timeline-empty h2{color:var(--sf-text)}.timeline-empty .row{margin-top:6px}.selection-toolbar{z-index:30;background:var(--sf-surface);border:1px solid var(--sf-border);border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:12px;display:flex;position:fixed;bottom:42px;left:50%;transform:translate(-50%);box-shadow:0 10px 28px #00000073}.selection-toolbar strong{color:var(--sf-muted);font-size:11px;font-weight:600}.sf-menu{z-index:80;background:var(--sf-surface);border:1px solid var(--sf-border);border-radius:9px;min-width:210px;padding:5px;position:fixed;box-shadow:0 12px 32px #0000008c}.sf-menu-item{width:100%;color:var(--sf-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:center;gap:16px;padding:7px 9px;font-size:12px;display:flex}.sf-menu-item:hover{background:var(--sf-surface-2)}.sf-menu-item.danger{color:var(--sf-danger)}.sf-menu-item kbd{color:var(--sf-muted);font-size:10px;font-family:var(--sf-mono)}.sf-menu-sep{background:var(--sf-border);height:1px;margin:4px 2px}.sf-menu-head{text-transform:uppercase;letter-spacing:.06em;color:var(--sf-muted);padding:5px 9px;font-size:10px}.sf-scrim{z-index:70;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#04070b9e;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.sf-dialog{background:var(--sf-surface);border:1px solid var(--sf-border);border-radius:12px;width:min(430px,100%);max-height:86vh;padding:20px;overflow:auto;box-shadow:0 20px 60px #0009}.sf-dialog p{color:var(--sf-muted);font-size:13px}.sf-dialog-actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.sf-form{flex-direction:column;gap:12px;display:flex}.sf-form label{flex-direction:column;gap:5px;display:flex}.sf-form select{background:var(--sf-bg);color:var(--sf-text);border:1px solid var(--sf-border);border-radius:var(--sf-radius);font:inherit;padding:8px 10px}.sf-popover{z-index:60;background:var(--sf-surface);border:1px solid var(--sf-border);border-radius:12px;width:min(360px,100vw - 32px);max-height:min(70vh,640px);position:fixed;top:96px;right:16px;overflow:auto;box-shadow:0 18px 50px #0000008c}.sf-popover>header{background:var(--sf-surface);border-bottom:1px solid var(--sf-border);z-index:1;justify-content:space-between;align-items:center;padding:10px 12px;display:flex;position:sticky;top:0}.sf-popover>header strong{font-size:12px}.filter-panel{flex-direction:column;gap:10px;padding:10px 12px 12px;display:flex}.filter-field{flex-direction:column;gap:4px;display:flex}.filter-facet{border:0;flex-direction:column;gap:6px;margin:0;padding:0;display:flex}.filter-facet legend{text-transform:uppercase;letter-spacing:.06em;color:var(--sf-muted);padding:0;font-size:10px}.chip-row{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.chip{border:1px solid var(--sf-border);background:var(--sf-bg);color:var(--sf-text);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:5px;padding:3px 8px;font-size:11px;display:inline-flex}.chip.on{background:color-mix(in srgb, var(--sf-accent) 22%, var(--sf-bg));border-color:var(--sf-accent)}.chip button{color:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:10px}.attr-add{gap:4px;display:flex}.attr-add select,.attr-add input{padding:5px 6px;font-size:11px}.filter-mode{gap:6px;display:flex}.filter-sets{border-top:1px solid var(--sf-border);flex-direction:column;gap:6px;padding-top:9px;display:flex}.filter-set-list{flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex}.filter-set-list li{justify-content:space-between;align-items:center;font-size:12px;display:flex}.filter-set-list .link{color:var(--sf-accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:12px}.filter-footer{border-top:1px solid var(--sf-border);justify-content:flex-end;padding-top:9px;display:flex}.sf-swatches{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.sf-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:22px;height:22px;padding:0}.sf-swatch.active{border-color:var(--sf-text);box-shadow:0 0 0 2px var(--sf-bg) inset}.sf-toast{z-index:40;background:var(--sf-surface-2);border:1px solid var(--sf-border);border-radius:999px;padding:7px 14px;font-size:12px;position:fixed;bottom:96px;left:50%;transform:translate(-50%);box-shadow:0 8px 20px #0006}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:760px){.timeline-grid{grid-template-columns:112px minmax(0,1fr)}.timeline-toolbar{flex-direction:column;align-items:flex-start}.toolbar-actions{justify-content:flex-start}.timeline-corner{padding:8px 6px}.line-label{padding:0 6px;font-size:10px}.timeline-footer span:last-child{display:none}.timeline-search{width:140px}}.card-chips{flex-wrap:wrap;gap:3px;margin-top:2px;display:flex;overflow:hidden}.card-chip{max-width:100%;color:var(--sf-text);white-space:nowrap;text-overflow:ellipsis;background:#ffffff1a;border-radius:3px;padding:0 5px;font-size:10px;line-height:16px;overflow:hidden}.timeline-main{flex:auto;min-height:0;display:flex;overflow:hidden}.timeline-rail{border-right:1px solid var(--sf-border);background:var(--sf-surface);flex-direction:column;flex:none;gap:6px;width:208px;padding:10px;display:flex;overflow:auto}.timeline-rail h3{text-transform:uppercase;letter-spacing:.08em;color:var(--sf-muted);margin:0 0 4px;font-size:11px}.bookmark-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.bookmark-list li{align-items:center;gap:2px;display:flex}.bookmark-row{border-radius:var(--sf-radius);min-width:0;color:var(--sf-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:auto;align-items:center;gap:6px;padding:5px 6px;font-size:12px;display:flex}.bookmark-row:hover,.bookmark-row:focus-visible{background:var(--sf-surface-2)}.bookmark-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bookmark-move{flex-direction:column;display:flex}.bookmark-move button{color:var(--sf-muted);cursor:pointer;background:0 0;border:0;font-size:9px;line-height:9px}.bookmark-move button:disabled{opacity:.25;cursor:default}.palette{flex-direction:column;gap:8px;min-width:min(640px,80vw);display:flex}.palette-input{border:1px solid var(--sf-border);border-radius:var(--sf-radius);background:var(--sf-bg);width:100%;color:var(--sf-text);font:inherit;padding:9px 11px;font-size:14px}.palette-results{flex-direction:column;gap:2px;max-height:52vh;display:flex;overflow:auto}.palette-group{flex-direction:column;gap:1px;display:flex}.palette-group-label{text-transform:uppercase;letter-spacing:.08em;color:var(--sf-muted);padding:9px 4px 3px;font-size:10px}.palette-row{border-radius:var(--sf-radius);width:100%;color:var(--sf-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:baseline;gap:8px;padding:7px 9px;font-size:13px;display:flex}.palette-row.active,.palette-row:hover{background:var(--sf-surface-2)}.palette-row kbd{margin-left:auto}.palette-type{color:var(--sf-muted);letter-spacing:.06em;text-transform:uppercase;background:#ffffff1a;border-radius:3px;flex:none;padding:0 5px;font-size:9px}.palette-title{font-weight:550}.palette-snippet{color:var(--sf-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.palette-hits{flex-direction:column;gap:2px;max-height:34vh;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.palette-check{align-items:center;gap:7px;font-size:12px;display:flex}.palette-replace{flex-direction:column;gap:8px;display:flex}.palette-replace label{color:var(--sf-muted);flex-direction:column;gap:3px;font-size:11px;display:flex}.palette-replace input[type=text],.palette-replace input:not([type]){border:1px solid var(--sf-border);border-radius:var(--sf-radius);background:var(--sf-bg);color:var(--sf-text);font:inherit;padding:7px 9px}.palette-help{margin:0}.cheat-sheet{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;display:grid}.cheat-sheet h3{text-transform:uppercase;letter-spacing:.08em;color:var(--sf-muted);margin:0 0 6px;font-size:11px}.cheat-sheet dl{flex-direction:column;gap:5px;margin:0;display:flex}.cheat-row{grid-template-columns:96px 1fr;align-items:baseline;gap:8px;display:grid}.cheat-row dt{margin:0}.cheat-row dd{margin:0;font-size:12px}kbd{border:1px solid var(--sf-border);background:var(--sf-surface-2);font:inherit;white-space:nowrap;border-bottom-width:2px;border-radius:4px;padding:1px 5px;font-size:10px;display:inline-block}.structure-levels{flex-direction:column;gap:12px;display:flex}.structure-level{border:1px solid var(--sf-border);border-radius:var(--sf-radius);flex-direction:column;gap:7px;padding:8px 10px;display:flex}.structure-level legend{color:var(--sf-muted);padding:0 5px;font-size:11px}.structure-field{color:var(--sf-muted);flex-direction:column;gap:2px;font-size:11px;display:flex}.structure-field input[type=text],.structure-field input:not([type]),.structure-field select{border:1px solid var(--sf-border);border-radius:var(--sf-radius);background:var(--sf-bg);color:var(--sf-text);font:inherit;padding:5px 7px;font-size:12px}.structure-field.narrow input{width:64px}.structure-field input[type=color]{border:1px solid var(--sf-border);border-radius:var(--sf-radius);background:var(--sf-bg);width:42px;height:26px;padding:1px}.structure-preview{border-radius:var(--sf-radius);border-width:1px;padding:6px 9px;font-weight:600}.card-quick-edit{z-index:3;border:1px solid var(--sf-accent);border-radius:var(--sf-radius);background:var(--sf-bg);color:var(--sf-text);font:inherit;padding:6px 8px;font-size:12px;position:absolute;left:4px;right:4px}@keyframes sf-flash{0%,to{outline:2px solid #0000}15%,70%{outline:2px solid var(--sf-accent)}}.scene-card.flash,.beat-header.flash{animation:1.6s ease-in-out sf-flash}:root,[data-theme=ink]{--sf-bg:#0e1116;--sf-surface:#161b23;--sf-surface-2:#1d232c;--sf-text:#e6e9ef;--sf-muted:#8b93a1;--sf-border:#2a323d;--sf-accent:#6cace4;--sf-accent-fg:#08131d;--sf-danger:#e5554f;--sf-ok:#78be20;--sf-radius:8px;--sf-font:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--sf-mono:ui-monospace, SFMono-Regular, Menlo, monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--sf-bg);color:var(--sf-text);font:14px/1.5 var(--sf-font);-webkit-font-smoothing:antialiased;margin:0}h1{margin:0 0 4px;font-size:22px;font-weight:600}h2{margin:0 0 6px;font-size:15px;font-weight:600}p{margin:0 0 10px}a{color:inherit;text-decoration:none}code{font-family:var(--sf-mono);background:var(--sf-surface-2);border-radius:4px;padding:1px 4px;font-size:.9em}.muted{color:var(--sf-muted)}.small{font-size:12px}.spacer{flex:1}.error{color:var(--sf-danger);margin:0 0 10px;font-size:13px}.mark{letter-spacing:-.02em;font-size:15px;font-weight:650}.mark:before{content:"◧ ";color:var(--sf-accent)}.splash{place-items:center;min-height:100%;padding:24px;display:grid}.shell{flex-direction:column;min-height:100%;display:flex}.topbar{border-bottom:1px solid var(--sf-border);background:var(--sf-surface);z-index:5;align-items:center;gap:12px;padding:10px 18px;display:flex;position:sticky;top:0}.page{width:100%;max-width:1080px;margin:0 auto;padding:28px 18px 60px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;display:flex}.row{align-items:center;gap:8px;display:flex}.panel{background:var(--sf-surface);border:1px solid var(--sf-border);border-radius:12px;flex-direction:column;gap:12px;padding:22px;display:flex}.panel.narrow{width:min(380px,100%)}.brand{align-items:baseline;gap:10px;display:flex}label{color:var(--sf-muted);flex-direction:column;gap:5px;font-size:12px;display:flex}input{background:var(--sf-bg);border:1px solid var(--sf-border);border-radius:var(--sf-radius);color:var(--sf-text);font:inherit;width:100%;padding:9px 11px}input::placeholder{color:#5b6472}input:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--sf-accent);outline-offset:2px}.btn{background:var(--sf-surface-2);color:var(--sf-text);border:1px solid var(--sf-border);border-radius:var(--sf-radius);font:inherit;cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:8px 14px;font-size:13px;display:inline-flex}.btn:hover:not(:disabled){border-color:#3b4553}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--sf-accent);border-color:var(--sf-accent);color:var(--sf-accent-fg);font-weight:600}.btn.ghost{background:0 0}.badge{border:1px solid var(--sf-border);color:var(--sf-muted);white-space:nowrap;font-variant-numeric:tabular-nums;border-radius:999px;padding:2px 7px;font-size:11px}.badge.ok{color:var(--sf-ok);border-color:#33501a}.badge.warn{color:var(--sf-danger);border-color:#5a2724}.project-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.project-card{border:1px solid var(--sf-border);background:var(--sf-surface);border-radius:10px;align-items:stretch;gap:12px;min-height:86px;padding:12px;display:flex}.project-card:hover{border-color:var(--sf-accent)}.cover{background:linear-gradient(180deg, var(--sf-accent), #3a6b96);border-radius:3px;flex:none;width:8px}.project-body{flex-direction:column;gap:3px;min-width:0;display:flex}.project-body strong{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.empty,.placeholder{border:1px dashed var(--sf-border);text-align:left;border-radius:12px;margin-top:12px;padding:26px}.placeholder{margin-top:22px}.placeholder ul{margin:8px 0 0;padding-left:18px}.project-nav{gap:2px;margin-left:14px;display:flex}.project-nav a{color:var(--sf-muted);border-radius:6px;padding:4px 10px;font-size:13px}.project-nav a:hover,.project-nav a.active{background:var(--sf-surface-2);color:var(--sf-text)}@media print{.timeline-topbar,.timeline-toolbar,.timeline-footer,.selection-toolbar,.timeline-rail,.ad-slot,.sf-scrim,.timeline-error,.project-nav{display:none!important}html,body,#root,.timeline-shell,.timeline-main,.timeline-grid{color:#111!important;background:#fff!important;height:auto!important;min-height:0!important;display:block!important;overflow:visible!important}.timeline-body,.timeline-head-viewport,.timeline-gutter-viewport{overflow:visible!important}.timeline-head-canvas,.timeline-canvas,.timeline-gutter-canvas,.timeline-pinned-canvas{transform:none!important}.scene-card,.outline-row,.timeline-cell{break-inside:avoid}.scene-card{color:#111!important;background:#fff!important;border:1px solid #bbb!important}a{text-decoration:none;color:#111!important}}
