:root{--bg:#f6f4ef;--panel:#fbfaf7;--paper:#fff;--ink:#1f1d1a;--muted:#6f6a62;--line:#e2ddd3;--accent:#2f5d8a;--ins:#1f7a4a;--ins-bg:#e3f4ea;--del:#b23a2e;--del-bg:#fbe6e3;--cmt-bg:#fff2bf;--cmt-line:#e0b400;--active:#ffd96a;--serif:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#1b1a18;--panel:#22211f;--paper:#262523;--ink:#ebe7df;--muted:#a39d92;--line:#3a3834;--accent:#8fb6dd;--ins:#7fd3a2;--ins-bg:#1f3a2b;--del:#f08f84;--del-bg:#3f2522;--cmt-bg:#4a4020;--cmt-line:#c9a227;--active:#6b5a1c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:14px}button{font:inherit;color:inherit;background:var(--paper);border:1px solid var(--line);cursor:pointer;border-radius:6px;padding:4px 10px}button:hover:not(:disabled){border-color:var(--muted)}button:disabled{opacity:.45;cursor:default}button.link{color:var(--accent);background:0 0;border:none;padding:0 4px}input,select,textarea{font:inherit;color:inherit;background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:4px 8px}textarea{resize:vertical;width:100%;min-height:60px}.small{color:var(--muted);font-size:12px}.hint{color:var(--muted);padding:8px 12px}.picker{max-width:720px;margin:48px auto;padding:0 16px}.picker h1{font-family:var(--serif);font-weight:500}.project-list{padding:0;list-style:none}.project-list li{border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:8px;flex-direction:column;gap:2px;margin-bottom:8px;padding:12px 14px;display:flex}.project-list li:hover{border-color:var(--accent)}.project-list li.empty{cursor:default;color:var(--muted)}.new-project{flex-direction:column;align-items:flex-start;gap:10px;margin-top:32px;display:flex}.file-btn{border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:6px;padding:6px 12px}.file-btn input{display:none}.path-import{gap:6px;width:100%;display:flex}.path-import input{flex:1}.app{flex-direction:column;height:100%;display:flex}.topbar{border-bottom:1px solid var(--line);background:var(--panel);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;display:flex}.topbar .title{font-family:var(--serif);margin:0 8px;font-size:17px}.mode-toggle{border:1px solid var(--line);border-radius:7px;display:inline-flex;overflow:hidden}.mode-toggle button{background:0 0;border:none;border-radius:0}.mode-toggle button.on{background:var(--accent);color:#fff}.mode-toggle button.on.suggest{background:var(--ins)}.author input{width:110px;margin-left:4px}.save-status{color:var(--muted);text-align:right;min-width:90px;font-size:12px}.save-status.s-error{color:var(--del);font-weight:600}.error-bar{background:var(--del-bg);color:var(--del);border-bottom:1px solid var(--line);padding:6px 12px}.menu{position:relative}.menu-items{z-index:20;background:var(--paper);border:1px solid var(--line);border-radius:8px;min-width:260px;padding:6px;display:none;position:absolute;top:100%;left:0;box-shadow:0 6px 20px #0000001f}.menu:hover .menu-items,.menu:focus-within .menu-items{flex-direction:column;display:flex}.menu-items button{text-align:left;border:none}.menu-head{text-transform:uppercase;letter-spacing:.06em;color:var(--muted,#888);padding:4px 8px 2px;font-size:11px}.menu-items hr{border:none;border-top:1px solid var(--line);width:100%;margin:4px 0}.main{flex:1;grid-template-columns:280px 1fr 340px;min-height:0;display:grid}.binder{border-right:1px solid var(--line);background:var(--panel);flex-direction:column;min-height:0;display:flex}.binder-head,.binder-foot{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:8px 10px;display:flex}.binder-foot{border-top:1px solid var(--line);border-bottom:none}.chapters{flex:1;margin:0;padding:4px 0;list-style:none;overflow:auto}.chapters ul{margin:0;padding:0;list-style:none}.row{cursor:pointer;border-radius:4px;align-items:center;gap:4px;margin:0 4px;padding:3px 8px;display:flex}.row:hover{background:#7f7f7f14}.chapter-row{cursor:default;margin-top:4px;font-weight:600}.scene.active>.row{background:var(--accent);color:#fff}.scene.active .wc{color:#e8eef5}.row .name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.wc{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.twisty{background:0 0;border:none;width:18px;padding:0 2px}.tools{gap:1px;display:none}.row:hover .tools{display:inline-flex}.tools button{background:0 0;border:none;padding:0 3px;font-size:11px}.deleted>.row .name,.chapter.deleted>.row .name{opacity:.6;text-decoration:line-through}.excluded>.row .name{opacity:.6;font-style:italic}.badge{text-align:center;color:#fff;border-radius:8px;min-width:16px;padding:0 4px;font-size:10px;display:inline-block}.badge.sug{background:var(--ins)}.badge.cmt{background:var(--cmt-line);color:#000}.center{background:var(--bg);flex-direction:column;min-height:0;display:flex}.scene-head{width:min(720px,92%);margin:0 auto;padding:14px 0 6px}.scene-head h2{font-family:var(--serif);margin:2px 0;font-weight:500}.crumb{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px}.suggest-flag{color:var(--ins);font-weight:500}.editor{flex:1;min-height:0;display:flex;overflow:hidden}.editor .cm-editor{outline:none;flex:1;height:100%}.editor .cm-scroller{font-family:var(--serif);font-size:18px;line-height:1.65}.editor .cm-content{background:var(--paper);width:min(720px,92%);caret-color:var(--ink);margin:0 auto 40vh;padding:40px 48px;box-shadow:0 1px 3px #00000014}.editor .cm-line{padding:0 0 .55em}.editor.mode-suggest .cm-content{box-shadow:0 0 0 2px var(--ins), 0 1px 3px #00000014}.editor .cm-focused{outline:none}.editor .cm-content ::selection{background:#2f5d8a47}.editor .cm-content::selection{background:#2f5d8a47}.sug-del{color:var(--del);background:var(--del-bg);cursor:pointer;text-decoration:line-through}.sug-ins{color:var(--ins);background:var(--ins-bg);cursor:pointer;text-decoration:underline}.cmt{background:var(--cmt-bg);border-bottom:2px solid var(--cmt-line);cursor:pointer}.is-active{outline:2px solid var(--active);border-radius:2px}.side{border-left:1px solid var(--line);background:var(--panel);flex-direction:column;min-height:0;display:flex}.tabs{border-bottom:1px solid var(--line);display:flex}.tabs button{background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;flex:1;padding:10px 4px}.tabs button.on{border-bottom-color:var(--accent);font-weight:600}.side-filters{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;display:flex}.small-btn{padding:2px 8px;font-size:12px}.composer{border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-end;gap:6px;padding:10px;display:flex}.cards{flex:1;padding:8px;overflow:auto}.card{background:var(--paper);border:1px solid var(--line);cursor:pointer;border-radius:8px;margin-bottom:8px;padding:8px 10px}.card.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.card.st-accepted,.card.st-rejected,.card.st-resolved{opacity:.6}.card-head{color:var(--muted);align-items:baseline;gap:8px;font-size:12px;display:flex}.card-head .who{color:var(--ink);font-weight:600}.card-head .when{margin-left:auto}.kind{text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:700}.k-Poisto{color:var(--del)}.k-Lisäys{color:var(--ins)}.k-Korvaus{color:var(--accent)}.scene-ref{color:var(--muted);margin-top:2px;font-size:11px}.note{margin:6px 0;font-style:italic}.orig{font-family:var(--serif);color:var(--del);background:var(--del-bg);white-space:pre-wrap;border-radius:3px;margin:4px 0;padding:2px 4px;text-decoration:line-through}.ins{font-family:var(--serif);color:var(--ins);background:var(--ins-bg);white-space:pre-wrap;border-radius:3px;margin:4px 0;padding:2px 4px}.quote{font-family:var(--serif);border-left:3px solid var(--cmt-line);color:var(--muted);margin:4px 0;padding-left:6px}.body{white-space:pre-wrap;margin:4px 0}.reply{border-top:1px dashed var(--line);white-space:pre-wrap;margin-top:4px;padding-top:4px}.reply .who{font-weight:600}.reply-box{flex-direction:column;align-items:flex-end;gap:4px;margin-top:6px;display:flex}.actions{gap:6px;margin-top:6px;display:flex}.actions .ok{background:var(--ins);color:#fff;border-color:var(--ins)}.status{color:var(--muted);margin-top:6px;font-size:12px}.cards.cards-fill{flex-direction:column;display:flex}.scene-info{flex-direction:column;flex:1 0 auto;gap:12px;padding:4px;display:flex}.scene-info>.syn-field,.scene-info>.syn-notes{flex:1 1 0;min-height:180px}.scene-opts{border-bottom:1px solid var(--line);flex-direction:column;gap:4px;padding-bottom:10px;display:flex}.scene-opts>label:first-child{font-size:12px;font-weight:600}.scene-opts .check{align-items:center;gap:6px;font-size:13px;display:flex}.syn-field{flex-direction:column;gap:6px;min-height:0;display:flex}.syn-field textarea{resize:none;min-height:0;font:inherit;flex:1;padding:8px 10px;line-height:1.5;overflow-y:auto}.syn-notes{flex-direction:column;gap:6px;min-height:0;display:flex}.syn-notes .notes{flex:1;min-height:0;overflow-y:auto}.scene-info label{font-size:12px;font-weight:600}.notes{white-space:pre-wrap;background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:8px;font-size:13px}.history{background:var(--bg);z-index:50;flex-direction:column;display:flex;position:fixed;inset:0}.history-loading{color:var(--muted);margin:auto}.history-bar{border-bottom:1px solid var(--line);background:var(--panel);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;display:flex}.history-bar .scrub{flex:1;min-width:200px}.history-bar select{max-width:260px}.history-body{flex:1;grid-template-columns:420px 1fr;min-height:0;display:grid}.event-list{border-right:1px solid var(--line);margin:0;padding:0;font-size:12px;list-style:none;overflow:auto}.event-list li{cursor:pointer;border-bottom:1px solid var(--line);grid-template-columns:128px 64px 1fr;gap:6px;padding:4px 10px;display:grid}.event-list li.on{background:var(--accent);color:#fff}.event-list .ev-time{font-variant-numeric:tabular-nums;color:inherit;opacity:.75}.event-list .ev-who{text-overflow:ellipsis;font-weight:600;overflow:hidden}.event-list li.ev-tag{font-weight:700}.history-view{padding:16px 0;overflow:auto}.history-meta{width:min(720px,92%);margin:0 auto 10px}.history-text{background:var(--paper);white-space:pre-wrap;width:min(720px,92%);font-family:var(--serif);margin:0 auto 40vh;padding:32px 44px;font-size:17px;line-height:1.65;box-shadow:0 1px 3px #00000014}.h-ins{background:var(--ins-bg);color:var(--ins);text-decoration:underline}.h-del{background:var(--del-bg);color:var(--del);text-decoration:line-through}.h-mark{background:var(--active)}@media (width<=1100px){.main{grid-template-columns:220px 1fr 300px}.editor .cm-content{padding:24px}}.modal-backdrop{z-index:60;background:#00000059;justify-content:center;align-items:flex-start;padding:40px 16px;display:flex;position:fixed;inset:0;overflow:auto}.modal{background:var(--panel);border:1px solid var(--line);border-radius:10px;width:min(1100px,100%);padding:16px 20px;box-shadow:0 12px 40px #00000040}.modal header{justify-content:space-between;align-items:center;display:flex}.modal h2{font-family:var(--serif);margin:0;font-weight:500}.modal h3{margin:0 0 6px;font-size:14px}.version-table{border-collapse:collapse;width:100%;margin:10px 0 18px;font-size:13px}.current-version{border:1px solid var(--line);background:var(--paper);border-radius:8px;margin:14px 0;padding:12px}.current-version h3{margin:0 0 4px}.current-version p{margin:0 0 10px}.version-table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);padding:6px;font-weight:600}.version-table td{border-bottom:1px solid var(--line);vertical-align:top;padding:6px}.version-table td:nth-child(5),.version-table td:nth-child(6){font-variant-numeric:tabular-nums}.vkind{text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:700}.vk-import .vkind{color:var(--accent)}.vk-tag .vkind{color:var(--ins)}.vk-comments-import .vkind{color:#a37a00}.v-actions{white-space:nowrap;align-items:center;gap:8px;display:flex}.v-actions a{color:var(--accent);font-size:12px}.import-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.import-grid section{border:1px solid var(--line);background:var(--paper);border-radius:8px;flex-direction:column;align-items:flex-start;gap:8px;padding:12px;display:flex}.import-grid input[type=text],.import-grid input:not([type]){width:100%}.ok-msg{color:var(--ins)}.origin{color:var(--muted)}.approx{color:var(--del)}.main{transition:grid-template-columns .15s}.main>*{min-width:0;overflow:hidden}.pane-toggles{border:1px solid var(--line);border-radius:7px;display:inline-flex;overflow:hidden}.pane-toggles button{background:0 0;border:none;border-radius:0;font-size:12px}.pane-toggles button.on{background:var(--line)}.preview-col{border-left:1px solid var(--line);background:#8a8780;min-width:0;min-height:0;display:flex;position:relative}@media (prefers-color-scheme:dark){.preview-col{background:#111}}.resize-handle{cursor:col-resize;z-index:5;width:6px;position:absolute;top:0;bottom:0;left:-3px}.resize-handle:hover{background:var(--accent);opacity:.4}.preview{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.preview-bar{background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:6px;padding:6px 8px;display:flex}.preview-bar .status{margin-left:auto}.preview-error{background:var(--del-bg);color:var(--del);white-space:pre-wrap;padding:6px 10px;font-size:12px}.preview-error .clickable{cursor:pointer;text-decoration:underline}.preview-warn{background:var(--cmt-bg);padding:4px 10px;font-size:12px}.pages{flex-direction:column;flex:1;align-items:flex-start;gap:10px;min-width:0;padding:10px;display:flex;overflow:auto}.page{background:#fff;max-width:none;position:relative;box-shadow:0 2px 8px #00000059}.page img{width:100%;height:auto;display:block}.modal.settings{flex-direction:column;max-height:calc(100dvh - 80px);padding:0;display:flex}.settings>header{padding:14px 20px 8px}.settings-tabs{border-bottom:1px solid var(--line);scrollbar-width:none;flex:none;gap:2px;padding:0 20px;display:flex;overflow-x:auto}.settings-tabs button{white-space:nowrap;color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;padding:8px 12px}.settings-tabs button.on{border-bottom-color:var(--accent);color:var(--ink);font-weight:600}.settings-body{flex:1;min-height:0;padding:4px 20px 12px;overflow:auto}.settings .modal-actions{border-top:1px solid var(--line);flex:none;margin:0;padding:10px 20px}.settings h3{margin:16px 0 6px}.markup-options{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.markup-opt{border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:8px;flex-direction:column;gap:4px;padding:10px;display:flex}.markup-opt.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.markup-opt input{display:none}.settings-grid{grid-template-columns:repeat(3,1fr);gap:10px 16px;display:grid}.settings-grid label,label.block{flex-direction:column;gap:4px;font-size:13px;display:flex}.settings-grid label.check{flex-direction:row;align-items:center}.pair{gap:6px;display:flex}.pair input{width:80px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}code{background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:0 4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.warn{color:#9a6700}.modal-actions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.images-tab{flex-direction:column;gap:8px;padding:4px;display:flex}.file-btn.drop{text-align:center;border-style:dashed;padding:16px}.img-opts{flex-direction:column;gap:4px;display:flex}.img-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.img-card{border:1px solid var(--line);background:var(--paper);border-radius:6px;flex-direction:column;margin:0;display:flex;overflow:hidden}.img-card img{object-fit:cover;background:#ddd;width:100%;height:90px}.img-card figcaption{flex-direction:column;padding:4px 6px;font-size:12px;display:flex;overflow:hidden}.img-card figcaption span:first-child{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.img-card .actions{margin-top:0;padding:0 6px 6px}.img-card .actions button{padding:2px 6px;font-size:11px}.tok-em{color:var(--accent);font-style:italic}.tok-strong{color:var(--accent);font-weight:700}.tok-quote{color:var(--muted);font-style:italic}.tok-func{color:#8a3ffc}.tok-math{color:#b26b00}.tok-escape,.tok-comment{color:var(--muted)}.tok-image{color:var(--muted);font-family:ui-monospace,Menlo,monospace;font-size:13px}.tok-break{color:var(--muted);letter-spacing:.3em}.img-preview{font-family:var(--sans);color:var(--muted);align-items:center;gap:10px;padding:4px 0 12px;font-size:12px;display:flex}.img-preview img{border-radius:4px;max-width:45%;max-height:110px;box-shadow:0 1px 4px #0003}.tabs button{white-space:nowrap;padding:9px 2px;font-size:12px}.tabs .badge{margin-left:2px}.scene .row{padding-left:8px}.children{margin:0;padding:0 0 0 14px;list-style:none}.chapters>.chapter>.children{padding-left:10px}.chapter.depth-2>.chapter-row,.chapter.depth-3>.chapter-row,.chapter.depth-4>.chapter-row{color:var(--muted);margin-top:2px;font-size:13px;font-weight:600}.row{position:relative}.row .grip{opacity:0;cursor:grab;color:var(--muted);letter-spacing:-2px;width:8px;font-size:10px}.row:hover .grip{opacity:1}.row .more{opacity:0;color:inherit;background:0 0;border:none;padding:0 4px}.row:hover .more{opacity:.8}.row.dragging{opacity:.4}.row.drop-before{box-shadow:inset 0 2px 0 var(--accent)}.row.drop-after{box-shadow:inset 0 -2px 0 var(--accent)}.row.drop-into{outline:1px dashed var(--accent);background:#2f5d8a26}.chapter-row{cursor:grab}.ctx-menu{z-index:100;background:var(--paper);border:1px solid var(--line);border-radius:8px;flex-direction:column;min-width:220px;padding:4px;display:flex;position:fixed;box-shadow:0 8px 24px #0000002e}.ctx-menu button{text-align:left;background:0 0;border:none;border-radius:4px;padding:6px 10px}.ctx-menu button:hover{background:var(--bg)}.binder-head{gap:6px}.insert-pos{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.insert-pos label{align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.insert-pos select{max-width:520px}.fixed-badge{margin:4px 0;font-size:12px;color:var(--ins)!important;padding:0!important}.changed-badge{color:#9a6700;margin:4px 0;font-size:12px}.fix-diff{font-size:13px}.fonts-section{margin-top:8px}.font-list{flex-direction:column;gap:4px;margin:6px 0;padding:0;list-style:none;display:flex}.font-list li{border:1px solid var(--line);background:var(--paper);border-radius:6px;align-items:center;gap:8px;padding:4px 8px;display:flex}.font-list li.on{border-color:var(--accent)}.font-list li span:first-child{flex:1;font-size:16px}.font-add{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.font-results{flex-wrap:wrap;gap:6px;max-height:160px;display:flex;overflow:auto}.font-results button{font-size:13px}.mode-toggle button.on.comment{color:#000;background:#c99a00}.comment-flag{color:#9a6700;font-weight:500}.editor .cm-scroller{position:relative}.editor.mode-comment .cm-content,.editor.with-comments .cm-content{width:min(720px,100% - 340px);margin-left:max(24px,50% - 520px);margin-right:300px}.editor.mode-comment .cm-content{box-shadow:0 0 0 2px #e0b400,0 1px 3px #00000014}.cmt-layer{pointer-events:none;z-index:3;width:100%;height:0;position:absolute;top:0;left:0}.cmt-arrows{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.cmt-arrows path{fill:none;stroke:#c99a00;stroke-width:1.6px}.cmt-arrows marker path{fill:#c99a00;stroke:none}.bubble{pointer-events:auto;background:var(--paper);border:1px solid var(--line);border-left:3px solid var(--cmt-line);width:260px;font-family:var(--sans);cursor:pointer;border-radius:10px;padding:8px 10px;font-size:13px;line-height:1.4;transition:top .15s,box-shadow .15s;position:absolute;box-shadow:0 2px 6px #00000014}.bubble:before{content:"";border:6px solid #0000;border-right-color:var(--cmt-line);position:absolute;top:12px;left:-9px}.bubble.active,.bubble.draft{z-index:2;border-color:#c99a00;box-shadow:0 6px 18px #0000002e}.bubble-head{color:var(--muted);justify-content:space-between;gap:6px;margin-bottom:4px;font-size:12px;display:flex}.bubble-head b{color:var(--ink)}.bubble-body{white-space:pre-wrap}.bubble textarea{width:100%;min-height:60px;font-size:13px}.bubble-actions{gap:6px;margin-top:6px;display:flex}.bubble-actions button{padding:3px 8px;font-size:12px}.bubble .reply{border-top:1px dashed var(--line);margin-top:4px;padding-top:4px}.editor.mode-comment .cmt.is-active{background:#ffd24d;outline:2px solid #c99a00}.author-chips{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:6px;padding:8px 10px;display:flex}.chip{border-width:1.5px;border-radius:14px;padding:2px 10px;font-size:12px}.chip.off{opacity:.45;text-decoration:line-through;border-color:var(--line)!important}.bubble:before{border-right-color:var(--bc,var(--cmt-line))}.analysis-list li{grid-template-columns:1fr!important;padding:8px 12px!important}.analysis-list li.empty{color:var(--muted);cursor:default}.analysis-list li.on .small{color:#fffc}.analysis{background:var(--paper);width:min(760px,92%);margin:0 auto 30vh;padding:28px 44px;box-shadow:0 1px 3px #00000014}.analysis h1{font-family:var(--serif);margin:8px 0 16px;font-weight:500}.analysis-meta{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.md{font-family:var(--serif);font-size:16px;line-height:1.6}.md h2,.md h3,.md h4{font-family:var(--sans);margin:1.4em 0 .4em}.md h2{font-size:19px}.md h3{font-size:16px}.md h4{font-size:14px}.md blockquote{border-left:3px solid var(--line);color:var(--muted);margin:.6em 0;padding-left:12px}.md table{border-collapse:collapse;font-family:var(--sans);margin:.8em 0;font-size:13px}.md th,.md td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:4px 8px}.analysis-edit{flex-direction:column;gap:8px;display:flex}.analysis-title{font-size:20px;font-family:var(--serif)}.analysis-edit textarea{min-height:60vh}.app{position:relative}.search-panel{background:var(--panel);border-right:1px solid var(--line);flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.search-head{border-bottom:1px solid var(--line);flex-direction:column;gap:8px;padding:10px;display:flex}.search-input{align-items:center;gap:4px;display:flex}.search-input input{flex:1;padding:7px 10px;font-size:15px}.search-input .opt{min-width:32px;padding:5px 6px;font-size:12px}.search-input .opt.on{background:var(--accent);color:#fff;border-color:var(--accent)}.search-input .close{color:var(--muted);background:0 0;border:none;padding:0 6px;font-size:20px}.search-fields{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.search-fields .chip{border:1px solid var(--line);background:var(--paper);border-radius:12px;padding:2px 10px;font-size:12px}.search-fields .chip.on{border-color:var(--accent);color:var(--accent)}.search-fields .chip.off{opacity:.55;text-decoration:line-through}.search-summary{color:var(--muted)}.search-results{flex:1;padding:4px 0 12px;overflow-y:auto}.search-group{border-bottom:1px solid var(--line);padding:4px 0}.search-group-head{cursor:pointer;align-items:baseline;gap:6px;padding:4px 12px;font-size:13px;display:flex}.search-group-head .path{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:55%;font-size:11px;overflow:hidden}.search-group-head b{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.search-group-head .count{color:var(--muted);font-size:11px}.search-hit{cursor:pointer;font-size:13px;line-height:1.45;font-family:var(--serif);padding:4px 12px 4px 22px}.search-hit:hover{background:#7f7f7f14}.search-hit.on{background:color-mix(in srgb, var(--accent) 14%, transparent);box-shadow:inset 3px 0 0 var(--accent)}.search-hit mark,.cm-search-hit{color:inherit;background:#ffe58a;border-radius:2px}.cm-search-current,.cm-search-current .cm-search-hit{color:#1b1a18;background:#ff9f43;border-radius:2px;box-shadow:0 0 0 2px #ff9f43}.search-hit .field{font-family:var(--sans,system-ui);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border:1px solid var(--line);border-radius:3px;margin-right:6px;padding:0 4px;font-size:10px}.search-hit .field.f-comment{color:#a35a00;border-color:#e7c48f}.search-hit .field.f-synopsis{color:var(--accent)}@media (prefers-color-scheme:dark){.search-hit mark,.cm-search-hit{background:#6b5a14}}.topbar button.on{background:var(--accent);color:#fff;border-color:var(--accent)}.chapter-template .ct-body{grid-template-columns:1fr 150px;align-items:start;gap:16px;display:grid}.chapter-template .ct-fields{grid-template-columns:1fr 1fr}.seg{border:1px solid var(--line);border-radius:6px;width:fit-content;display:inline-flex;overflow:hidden}.seg button+button{border-left:1px solid var(--line)}.ct-preview{text-align:center;flex-direction:column;align-items:center;gap:6px;display:flex}.ct-page{aspect-ratio:148/210;color:#222;border:1px solid var(--line);box-sizing:border-box;background:#fff;flex-direction:column;width:140px;padding:8% 12%;display:flex;overflow:hidden;box-shadow:0 2px 8px #0000001f}.ct-num{letter-spacing:.05em;line-height:1.3}.ct-title{line-height:1.2}.ct-text,.ct-prev-text{flex-direction:column;gap:3px;display:flex}.ct-text i,.ct-prev-text i{background:#c9c4ba;border-radius:1px;height:3px;display:block}.ct-text i:first-child{margin-left:10%}.ct-text i.short,.ct-prev-text i.short{width:55%}.ct-prev-text{opacity:.6;margin-bottom:10px}@media (width<=720px){.chapter-template .ct-body{grid-template-columns:1fr}}.chapter-template .ct-style{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.ct-page-scene{justify-content:flex-start;padding-top:14%}.ct-page-scene .ct-text i:first-child{margin-left:0}.ct-stars{text-align:center;letter-spacing:.3em;color:#555;margin:8px 0;font-size:8px}.chapter-template+.chapter-template{margin-top:18px}.ct-sub{color:var(--muted);margin:14px 0 6px;font-size:12px;font-weight:600}.ct-hint{grid-column:span 1;align-self:end}.ct-pagebreak{text-align:center;color:#888;border-top:1px dashed #999;margin:10px -12% 8px;padding-top:2px;font-size:6px}.scene-opts select{width:100%}.img-block{border:1px solid var(--line);background:var(--paper);cursor:pointer;font-family:var(--sans);border-radius:8px;margin:6px 0 14px;overflow:hidden}.img-block:hover{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 20%, transparent)}.img-block .img-flow{padding:12px 14px;display:flow-root}.img-block figure{margin:0 auto}.img-block figure img{object-fit:contain;border-radius:3px;width:100%;max-height:260px;display:block}.img-block figcaption{font-family:var(--serif);color:var(--muted);text-align:center;padding:4px 0;font-size:13px;font-style:italic}.img-block.place-vasen figure{float:left;margin-right:14px}.img-block.place-oikea figure{float:right;margin-left:14px}.img-block.place-sivu figure img{max-height:200px}.img-block .img-wraptext{color:var(--muted);padding-top:6px;font-size:12px}.img-block .img-missing{text-align:center;color:#b44;border:1px dashed #d99;border-radius:4px;padding:24px;font-size:12px}.img-block .img-bar{border-top:1px solid var(--line);color:var(--muted);background:var(--panel);align-items:center;gap:10px;padding:6px 12px;font-size:12px;display:flex}.img-block .img-bar span{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.img-block .img-bar button{padding:3px 10px;font-size:12px}.image-dialog{width:min(880px,100%)}.imgd-body{grid-template-columns:minmax(0,1fr) 360px;gap:20px;margin-top:12px;display:grid}@media (width<=760px){.imgd-body{grid-template-columns:1fr}}.imgd-preview{background:color-mix(in srgb, var(--line) 50%, transparent);border-radius:8px;justify-content:center;align-items:flex-start;padding:16px;display:flex}.imgd-page{aspect-ratio:148/210;color:#333;box-sizing:border-box;width:100%;max-width:360px;font-family:var(--serif);text-align:justify;background:#fff;padding:9% 10%;font-size:9px;line-height:1.5;display:flow-root;position:relative;overflow:hidden;box-shadow:0 2px 10px #00000026}.imgd-page figure{margin:0 auto 8px}.imgd-page figure img{border-radius:2px;width:100%;display:block}.imgd-page figcaption{text-align:center;color:#666;padding:3px 0;font-size:8px;font-style:italic}.imgd-page.place-vasen figure{float:left;margin:2px 10px 6px 0}.imgd-page.place-oikea figure{float:right;margin:2px 0 6px 10px}.imgd-page.place-ala{flex-direction:column-reverse;justify-content:flex-start;display:flex}.imgd-page.place-ala figure{margin-top:auto}.imgd-page.place-sivu{padding:0}.imgd-page.place-sivu figure,.imgd-page.place-sivu img{object-fit:cover;width:100%;height:100%;margin:0}.imgd-lorem{color:#888;margin:0}.imgd-controls{flex-direction:column;gap:8px;display:flex}.imgd-label{margin-top:6px;font-size:12px;font-weight:600}.imgd-places{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.imgd-place{background:var(--paper);border-radius:6px;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;font-size:11px;line-height:1.2;display:flex}.imgd-place.on{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 30%, transparent)}.imgd-place .dg{width:34px;height:44px}.dg-page{fill:#fff;stroke:#bbb;stroke-width:1px}.dg-text{fill:#cfcac0}.dg-img{fill:#7aa7d6}.imgd-place.on .dg-img{fill:var(--accent)}.imgd-hint{color:var(--muted);margin:0}.imgd-row{align-items:center;gap:10px;font-size:13px;display:flex}.imgd-row input[type=range]{flex:1}.imgd-val{text-align:right;font-variant-numeric:tabular-nums;width:44px}.stepper{align-items:center;gap:8px;margin-left:auto;display:inline-flex}.stepper button{width:28px;padding:2px 0}.imgd-row select{flex:1}button.danger{color:#b3261e}.inline-title{cursor:text;border-radius:4px;outline:none}.inline-title:hover,.inline-title:focus-visible{background:color-mix(in srgb, var(--accent) 8%, transparent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 8%, transparent)}.scene-head .inline-title.crumb{display:inline-block}.inline-title-input{box-sizing:border-box;border:1px solid var(--accent);background:var(--paper);width:100%;color:var(--ink);border-radius:4px;margin:0 -7px;padding:0 6px;display:block}.inline-title-input.as-h2{font-family:var(--serif);margin:2px -7px;font-size:1.5em;font-weight:500;line-height:1.3}.inline-title-input.as-span{color:var(--ink);width:auto;min-width:50%;font-size:13px;display:inline-block}.ps-list{flex-direction:column;gap:12px;margin:8px 0;display:flex}.ps-card{border:1px solid var(--line);background:var(--paper);border-radius:8px;padding:10px 12px}.ps-card-head{align-items:center;gap:10px;display:flex}.ps-card-head .ps-name{flex:1;font-weight:600}.ps-preview{color:#222;border:1px dashed var(--line);background:#fff;border-radius:4px;margin:8px 0;padding:8px 12px;font-size:14px;line-height:1.5}.ps-fields{grid-template-columns:repeat(4,minmax(0,1fr))}@media (width<=800px){.ps-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}.ps-chip{font-family:var(--sans);letter-spacing:.03em;text-transform:uppercase;color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);vertical-align:2px;-webkit-user-select:none;user-select:none;border-radius:3px;margin-right:8px;padding:0 4px;font-size:10px;font-style:normal;font-weight:500;line-height:1.4;display:inline-block}.cm-line.ps-line{background:color-mix(in srgb, var(--accent) 5%, transparent);box-shadow:inset 2px 0 0 color-mix(in srgb, var(--accent) 45%, transparent)}.cm-line.ps-unknown{box-shadow:inset 2px 0 #c66}.para-style{float:right;align-items:center;gap:6px;margin-top:-28px;display:inline-flex}.para-style select{padding:2px 4px;font-size:12px}.ps-default{border-style:dashed}.ps-wide{grid-column:span 2}.ps-phone{border:1px solid var(--line);background:#fff;border-radius:10px;flex-direction:column;margin:8px 0;padding:10px 12px;display:flex}.ps-bubble{border-radius:16px;max-width:72%;padding:6px 12px;font-size:14px;line-height:1.35}.ps-bubble.left{border-bottom-left-radius:5px;align-self:flex-start}.ps-bubble.right{border-bottom-right-radius:5px;align-self:flex-end}.ps-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ps-actions select{margin-left:6px}.ps-fields input[type=color]{width:60px;height:28px;padding:1px}.ps-handle{pointer-events:auto;width:22px;height:22px;color:var(--muted);font:14px/20px var(--sans);text-align:center;cursor:pointer;opacity:.55;z-index:4;background:0 0;border:1px solid #0000;border-radius:6px;padding:0;transition:opacity .12s,background .12s;position:absolute}.ps-handle:hover,.ps-handle.open{opacity:1;background:var(--panel);border-color:var(--line);color:var(--ink)}.ps-handle.styled{color:var(--accent,#2f5d8a);opacity:.8}.ps-menu{pointer-events:auto;z-index:6;background:var(--paper);border:1px solid var(--line);min-width:200px;max-height:340px;font-family:var(--sans);border-radius:8px;flex-direction:column;padding:4px;font-size:13px;display:flex;position:absolute;overflow:auto;box-shadow:0 8px 24px #00000029}.ps-menu button{text-align:left;background:0 0;border:none;border-radius:5px;align-items:center;gap:4px;padding:5px 8px;display:flex}.ps-menu button:hover{background:var(--panel)}.ps-menu button.on{font-weight:600}.ps-menu .ps-check{width:16px;color:var(--accent,#2f5d8a)}.ps-menu .ps-kind{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-left:auto;font-size:10px}.ps-menu-head{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:4px 8px;font-size:11px}.ps-menu-foot{border-top:1px solid var(--line);margin-top:4px;padding:4px 8px}.preview-window{flex-direction:column;height:100vh;display:flex}.preview-window .detached-col{border-left:none;flex:1;min-height:0}.preview.detached .pages{gap:16px;padding:20px}.page .pv-cursor{background:var(--accent);opacity:.7;pointer-events:none;border-radius:2px;width:4px;transition:top .15s;position:absolute;left:3%}.pv-hint{background:var(--cmt-bg,#fff6d6);padding:4px 10px;font-size:12px}.pv-hint-suggest{background:var(--ins-bg)}.wstats{position:relative}.wstats-btn{align-items:center;gap:6px;font-size:12px;display:inline-flex}.wstats-today{color:var(--muted)}.wstats-btn.done .wstats-today{color:#2e8b57;font-weight:600}.wstats-ring{background:conic-gradient(var(--accent) var(--p), var(--line) 0);border-radius:50%;width:14px;height:14px;-webkit-mask:radial-gradient(circle,#0000 3.5px,#000 4px);mask:radial-gradient(circle,#0000 3.5px,#000 4px)}.wstats-btn.done .wstats-ring{background:#2e8b57}.wstats-pop{z-index:30;background:var(--paper);border:1px solid var(--line);border-radius:10px;width:300px;padding:12px 14px;font-size:13px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 10px 30px #0000002e}.wstats-pop h3{margin:4px 0 6px;font-size:13px}.wstats-pop table{border-collapse:collapse;width:100%}.wstats-pop td{padding:2px 0}.wstats-pop td:last-child{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.wstats-goal input{width:90px}.wstats-bar{background:var(--line);border-radius:3px;height:6px;margin:8px 0 4px;overflow:hidden}.wstats-bar div{background:var(--accent);height:100%}.wstats-chart{align-items:stretch;gap:3px;height:70px;margin:6px 0;display:flex;position:relative}.wstats-chart .col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;display:flex}.wstats-chart .col .bw{align-items:flex-end;width:100%;height:56px;display:flex}.wstats-chart .col .b{background:var(--accent);opacity:.55;border-radius:2px 2px 0 0;width:100%;min-height:1px}.wstats-chart .col.hit .b{opacity:.8;background:#2e8b57}.wstats-chart .col.neg .b{background:var(--del)}.wstats-chart .col span{color:var(--muted);height:14px;font-size:9px;line-height:14px}.wstats-chart .goal-line{pointer-events:none;border-top:1px dashed #2e8b57;position:absolute;left:0;right:0}.event-list.grouped{display:block}.event-list.grouped li{cursor:default;padding:0;display:block}.event-list.grouped ol{margin:0;padding:0;list-style:none}.ev-period>header{z-index:1;background:var(--panel);border-bottom:1px solid var(--line);cursor:pointer;flex-wrap:wrap;align-items:baseline;gap:6px;padding:7px 10px;font-size:12px;display:flex;position:sticky;top:0}.ev-period>header b{text-transform:capitalize}.ev-period.current>header{box-shadow:inset 3px 0 0 var(--accent)}.ev-period .tw{width:10px;color:var(--muted)}.ev-authors{color:var(--muted);margin-left:auto}.ev-row{cursor:pointer;border-bottom:1px solid var(--line);grid-template-columns:82px 64px 1fr auto;gap:6px;padding:4px 10px;display:grid}.event-list.grouped li.on>.ev-row{background:var(--accent);color:#fff}.ev-delta{font-variant-numeric:tabular-nums;font-size:11px}.ev-delta.pos{color:#2e8b57}.ev-delta.neg{color:var(--del)}li.on>.ev-row .ev-delta{color:#fff}.ev-sub{background:var(--panel)}.event-list.grouped .ev-sub li{border-bottom:1px solid var(--line);cursor:pointer;grid-template-columns:70px 1fr auto;gap:6px;padding:3px 10px 3px 24px;font-size:11px;display:grid}.event-list.grouped .ev-sub li.on{background:var(--accent);color:#fff}.wstats-pop.left{left:0;right:auto}.pv-err{border-top:1px solid #00000014;flex-direction:column;gap:4px;padding:6px 0;display:flex}.pv-err-link{text-align:left;background:var(--paper);color:var(--ink);border:1px solid var(--line);cursor:pointer;border-radius:6px;flex-direction:column;align-items:flex-start;gap:2px;padding:6px 8px;display:flex}.pv-err-link:hover{border-color:var(--accent)}.pv-err-quote{font-family:var(--serif);font-size:13px;font-style:italic}.pv-err-go{color:var(--accent);font-size:12px}.pv-err code{white-space:pre-wrap;word-break:break-all}.pages{position:relative}.pv-row{align-items:flex-start;gap:12px;width:max-content;margin-inline:auto;display:flex}.pv-row .page{flex:none;position:relative;overflow:hidden}.pdf-page{position:absolute;inset:0}.pdf-page canvas{display:block;position:absolute;inset:0}.preview.pv-comment .page,.preview.pv-suggest .page{cursor:text}.pv-hl{pointer-events:none;z-index:1;position:absolute;inset:0}.pv-mark-box{mix-blend-mode:multiply;background:#ffd24d59;border-radius:2px;position:absolute}.pv-mark-box.comment{border-bottom:2px solid #c99a00b3}.pv-mark-box.comment.on{background:#ffc4008c!important}.pv-mark-box.resolved{background:#a0a0a02e;border-bottom-color:#8c8c8c80}.pv-mark-box.suggestion{background:#2e8b572e;border-bottom:2px solid #2e8b5799}.pv-mark-box.suggestion.on{background:#2e8b5759}.pv-mark-box.draft{background:#2f5d8a40}.pv-mark-box.draft.suggest{background:#2e8b574d}.textLayer{opacity:1;text-align:initial;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2;line-height:1;position:absolute;inset:0;overflow:clip}.textLayer span,.textLayer br{color:#0000;white-space:pre;cursor:text;transform-origin:0 0;position:absolute}.textLayer>:not(.markedContent),.textLayer .markedContent span:not(.markedContent){z-index:1}.textLayer span.markedContent{height:0;top:0}.textLayer ::selection{color:#0000;background:#2f5d8a4d}.textLayer .endOfContent{z-index:0;cursor:default;-webkit-user-select:none;user-select:none;display:block;position:absolute;inset:100% 0 0}.preview.pv-read .page{cursor:pointer}.pv-margin{font-family:var(--sans);flex:none;font-size:12px;position:relative}.pv-bubble{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-left:3px solid var(--line);cursor:pointer;border-radius:6px;flex-direction:column;gap:3px;padding:6px 8px;transition:top .12s;display:flex;position:absolute;left:0;right:0;box-shadow:0 1px 4px #0000002e}.pv-bubble.on,.pv-bubble.draft{z-index:2;cursor:default;box-shadow:0 4px 16px #00000047}.pv-bubble.resolved{opacity:.6}.pv-bubble.sug del{color:var(--del);background:var(--del-bg)}.pv-bubble.sug ins{color:var(--ins);background:var(--ins-bg);text-decoration:none}.pv-b-head{justify-content:space-between;align-items:baseline;gap:6px;display:flex}.pv-b-body{white-space:pre-wrap;overflow-wrap:anywhere}.pv-bubble textarea{box-sizing:border-box;width:100%;min-height:54px;font:13px/1.4 var(--sans);resize:vertical}.pv-bubble .bubble-actions{flex-wrap:wrap;gap:4px;display:flex}.pv-quote{font-family:var(--serif);color:var(--muted);font-style:italic}.pv-bubble.draft.suggest{border-left-color:#2e8b57}.pv-bubble.draft.comment{border-left-color:#e0b400}.delete-btn{color:var(--del)}.delete-btn.armed{background:var(--del);color:#fff;border-color:var(--del)}.home{max-width:860px}.home-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px 16px;display:flex}.home-id{flex-direction:column;gap:4px;display:flex}.home-head h1{margin:0}.home-nav{flex-wrap:wrap;justify-content:flex-end;align-items:baseline;gap:2px 6px;margin-left:auto;padding-top:8px;display:flex}.home h2{font-family:var(--serif);margin:28px 0 8px;font-size:18px;font-weight:500}.spacer{flex:1}.muted{color:var(--muted)}.error{color:var(--del)}.badge.role-owner{background:var(--ins-bg);color:var(--ins)}.badge.role-commenter{background:var(--cmt-bg);color:var(--ink)}.project-list li .row-main{align-items:center;gap:8px;display:flex}.feed{border:1px solid var(--line);background:var(--paper);border-radius:8px;margin:0;padding:0;list-style:none}.feed li{border-bottom:1px solid var(--line);cursor:pointer;grid-template-columns:96px 1fr auto;align-items:baseline;gap:10px;padding:8px 12px;display:grid}.feed li:last-child{border-bottom:0}.feed li:hover{background:var(--panel)}.feed li.empty{cursor:default;color:var(--muted);display:block}.feed-when{color:var(--muted);font-size:12px}.feed-proj{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-size:12px;overflow:hidden}.login{text-align:center;max-width:420px;margin:8vh auto;padding:0 16px}.login h1{font-family:var(--serif);margin-bottom:4px;font-size:34px;font-weight:500}.login .legal{margin-top:28px}.login .legal a{color:var(--muted)}.brand{margin:0 8px 0 0;line-height:0}.brand-center{justify-content:center;margin:0 0 14px;display:flex}.brand-mark{flex:none;align-items:center;margin-right:2px;display:inline-flex}.account{max-width:640px;margin:48px auto;padding:0 16px}.account .settings-tabs{margin-bottom:4px;padding:0}.account-body{padding-top:12px}.account h1{font-family:var(--serif);margin:4px 0 6px;font-size:30px;font-weight:500}.home-head a.link,.account a.link{color:var(--accent);padding:0 4px;text-decoration:none}.share-form{gap:8px;margin:10px 0 14px;display:flex}.share-form input{border:1px solid var(--line);background:var(--paper);color:var(--ink);font:inherit;border-radius:6px;flex:1;padding:6px 8px}.member-list{margin:0 0 12px;padding:0;list-style:none}.member-list li{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:6px 0;display:flex}.member-list li>span:first-child{flex:1}.scene-title-ro{font-family:var(--serif);margin:0;font-size:20px;font-weight:500}.scene-nav{display:none}.swipe-hint{z-index:60;color:#fff;pointer-events:none;text-align:center;background:#16161aeb;border-radius:20px;max-width:86vw;padding:10px 16px;font-size:14px;display:block;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 6px 18px #0000004d}.mobile-only,.tb-menu-btn,.mobile-nav,.comment-fab,.pv-opts-btn,.pv-reader-btn{display:none}.pv-opts,.tb-more{display:contents}.modal.settings{height:min(760px,100dvh - 80px)}.topbar{position:relative}@media (pointer:coarse){.comment-fab{z-index:30;background:var(--accent);color:#fff;border:none;border-radius:22px;padding:12px 20px;font-size:15px;display:block;position:absolute;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 6px 18px #0000004d}}@media (width<=820px){html,body{overscroll-behavior:none}.app{height:100dvh}input,select,textarea{font-size:16px}button,select{min-height:38px}.topbar{padding:calc(6px + env(safe-area-inset-top)) 8px 6px;flex-wrap:wrap;gap:6px}.topbar .lbl,.topbar>.spacer,.topbar .badge.role-commenter{display:none}.topbar .title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin:0 2px;font-size:16px;overflow:hidden}.mode-toggle{flex:100%;order:10;display:flex}.mode-toggle button{flex:1;padding:8px 6px;font-size:14px}.mobile-only{display:inline}.topbar>.save-status{min-width:0;font-size:11px}.tb-menu-btn{justify-content:center;align-items:center;min-width:40px;padding:0;font-size:22px;line-height:1;display:inline-flex}.tb-more{z-index:45;background:var(--panel);border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:8px;max-height:72dvh;padding:10px;display:none;position:absolute;top:100%;left:0;right:0;overflow:auto;box-shadow:0 14px 28px #00000040}.tb-more.open{display:grid}.tb-more>*{min-width:0}.tb-more button{min-height:44px}.tb-more .pane-toggles{display:none}.tb-more .menu{grid-column:1/-1}.tb-more .menu>button{width:100%}.tb-more .menu-items{box-shadow:none;background:0 0;border:none;padding:0;position:static}.tb-more .menu-items button{width:100%;min-height:44px}.tb-more .save-status{display:none}.tb-more .author,.tb-more .word-stats,.tb-more>span{text-align:left;grid-column:1/-1}.main{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr)!important}.main>div:empty{display:none}.binder,.side,.center,.preview-col{border:none;width:100%;min-width:0}.mobile-nav{border-top:1px solid var(--line);background:var(--panel);padding-bottom:env(safe-area-inset-bottom);flex:none;display:flex}.mobile-nav button{color:var(--muted);background:0 0;border:none;border-radius:0;flex:1;min-height:50px;padding:8px 2px;font-size:13px}.mobile-nav button.on{color:var(--accent);box-shadow:inset 0 2px 0 var(--accent);font-weight:600}.mobile-nav .badge{margin-left:4px}.center .scene-head{box-sizing:border-box;width:100%;margin:0;padding:10px 14px 4px}.editor .cm-scroller{font-size:17px}.editor .cm-content{width:100%;box-shadow:none;margin-bottom:40dvh;padding:18px 18px 18px 34px}.ps-handle{opacity:.55}.cmt-arrows,.bubble{display:none}.bubble.active,.bubble.draft{right:8px;bottom:calc(66px + env(safe-area-inset-bottom));z-index:50;width:auto;max-height:48dvh;display:block;overflow:auto;box-shadow:0 10px 30px #00000059;position:fixed!important;top:auto!important;left:8px!important}.bubble:before{display:none}.bubble textarea{min-height:84px;font-size:16px}.bubble-actions button{padding:8px 12px;font-size:14px}.comment-fab{bottom:14px}.binder .row{min-height:44px}.row .grip{display:none}.row .more{opacity:1}.tabs button{padding:10px 12px}.preview-bar{gap:4px 8px;padding:4px 8px}.preview-bar select{max-width:44%;min-height:34px;font-size:14px}.preview-bar label,.preview-bar .status{font-size:12px}.preview-bar button[title^="Avaa esikatselu omaan ikkunaan"]{display:none}.center .scene-head{position:relative}.scene-nav{gap:6px;display:flex;position:absolute;top:10px;right:10px}.scene-nav button{min-width:40px;padding:0;font-size:22px;line-height:1}.swipe-hint{left:50%;bottom:calc(64px + env(safe-area-inset-bottom));z-index:60;color:#fff;pointer-events:none;text-align:center;background:#16161aeb;border-radius:20px;max-width:86vw;padding:10px 16px;font-size:14px;display:block;position:fixed;transform:translate(-50%);box-shadow:0 6px 18px #0000004d}.preview-bar .brand-mark,.preview-bar .status{display:none}.pv-reader-btn{justify-content:center;align-items:center;display:inline-flex}.pv-reader-btn.on{background:var(--accent);color:#fff;border-color:var(--accent)}.pv-opts-btn{justify-content:center;align-items:center;min-width:38px;display:inline-flex}.pv-opts{flex-wrap:wrap;flex:100%;order:10;align-items:center;gap:6px 14px;padding:4px 0;display:none}.pv-opts.open{display:flex}.preview{position:relative}.pages{align-items:flex-start;gap:8px;padding:0}.pv-row{margin:0 auto;position:relative}.pv-margin.inline{pointer-events:none;z-index:3;position:absolute;top:0;left:0}.pv-margin.inline .pv-bubble{pointer-events:auto;font-size:14px;left:6px;right:6px}.pv-margin.inline .pv-bubble textarea{font-size:16px}.pv-pin{background:var(--paper);width:26px;height:26px;min-height:0;font:700 12px var(--sans);pointer-events:auto;border:2px solid;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;right:5px;box-shadow:0 1px 5px #00000059}.pv-pin.sug{border-radius:7px}.pv-pin.resolved{opacity:.5}.page{box-shadow:none}.app{overflow:hidden}.topbar,.mobile-nav,.preview-bar,.pv-hint{transition:max-height .22s,opacity .18s,padding .22s}.topbar{max-height:300px}.mobile-nav{max-height:120px;overflow:hidden}.preview-bar{max-height:240px}.app.reading .topbar{opacity:0;border-bottom-width:0;max-height:0;padding-top:0;padding-bottom:0;overflow:hidden}.app.reading .mobile-nav{opacity:0;border-top-width:0;max-height:0;padding-bottom:0}.app.reading .preview-bar,.app.reading .pv-hint{opacity:0;border-bottom-width:0;max-height:0;padding-top:0;padding-bottom:0;overflow:hidden}.resize-handle{display:none}.modal-backdrop{padding:0}.modal{width:100%;min-height:100dvh;padding:12px 14px calc(12px + env(safe-area-inset-bottom));border:none;border-radius:0}.modal.settings{height:100dvh;min-height:0;max-height:none;padding:0}.settings>header{padding:calc(10px + env(safe-area-inset-top)) 14px 6px}.settings-tabs{padding:0 8px}.settings-body{padding:4px 14px 12px}.settings .modal-actions{padding:10px 14px calc(10px + env(safe-area-inset-bottom))}.markup-options,.settings-grid{grid-template-columns:1fr}.share-form{flex-wrap:wrap}.picker{margin:20px auto}.home-head{gap:6px}.home-nav{justify-content:flex-start;margin-left:0;padding-top:0}.login{margin:4vh auto}}.preview.busy{position:relative}.preview.busy:after{content:"";z-index:6;pointer-events:none;background:linear-gradient(90deg, transparent, var(--accent), transparent) 0 0 / 40% 100% no-repeat;height:3px;animation:1s linear infinite pvbusy;position:absolute;top:0;left:0;right:0}@keyframes pvbusy{0%{background-position:-40% 0}to{background-position:140% 0}}.pv-size{text-align:center;min-width:1.6em;color:var(--muted);font-variant-numeric:tabular-nums}hanko-auth,hanko-registration,hanko-profile{--color:var(--ink);--color-shade-1:var(--muted);--color-shade-2:var(--line);--brand-color:#d6290f;--brand-color-shade-1:#ec3013;--brand-contrast-color:#fff;--background-color:var(--paper);--link-color:#c2260d;--error-color:var(--del);--font-family:var(--sans);--font-size:16px;--border-radius:8px;--item-height:42px;--container-padding:26px;--container-max-width:420px;--headline1-font-size:26px;--headline1-font-weight:500}hanko-auth::part(headline1),hanko-registration::part(headline1),hanko-profile::part(headline1){font-family:var(--serif);letter-spacing:-.005em}hanko-auth::part(container),hanko-registration::part(container){border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 34px #1f1d1a14}hanko-auth::part(primary-button),hanko-registration::part(primary-button){font-weight:600}hanko-auth::part(passcode-input),hanko-registration::part(passcode-input){aspect-ratio:1;text-align:center;font-variant-numeric:tabular-nums;width:clamp(34px,11.5vw,52px);height:auto;padding:0;font-size:22px}.login .muted{margin-bottom:18px}.landing{color:var(--ink);background:var(--bg);min-height:100dvh;font-family:var(--sans)}.landing h1,.landing h2{font-family:var(--serif);font-weight:500}.ld-head{align-items:center;gap:12px;max-width:1080px;margin:0 auto;padding:22px 20px;display:flex}.ld-btn{color:#fff;background:#d6290f;border:1px solid #d6290f;border-radius:10px;justify-content:center;align-items:center;min-height:44px;padding:0 22px;font-weight:600;text-decoration:none;display:inline-flex}.ld-btn:hover{background:#ec3013;border-color:#ec3013}.ld-btn.ghost{color:var(--ink);border-color:var(--line);background:0 0}.ld-btn.ghost:hover{border-color:var(--ink);background:0 0}.ld-hero{text-align:center;max-width:1080px;margin:0 auto;padding:28px 20px 10px}.ld-beta{letter-spacing:.04em;text-transform:uppercase;color:#c2260d;border:1px solid;border-radius:999px;margin-bottom:18px;padding:4px 12px;font-size:13px;display:inline-block}.ld-hero h1{max-width:18em;margin:0 auto 16px;font-size:clamp(32px,5.4vw,56px);line-height:1.08}.ld-lead{color:var(--muted);max-width:40em;margin:0 auto 26px;font-size:clamp(17px,2.2vw,21px);line-height:1.5}.ld-cta{flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:40px;display:flex}.ld-shot{max-width:1000px;margin:0 auto}.ld-shot img{border:1px solid var(--line);border-radius:14px;width:100%;height:auto;display:block;box-shadow:0 24px 60px #1f1d1a29}.ld-features{grid-template-columns:repeat(3,1fr);gap:18px;max-width:1080px;margin:56px auto 0;padding:0 20px;display:grid}.ld-features article{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:22px}.ld-features h2{margin:0 0 8px;font-size:21px}.ld-features p{color:var(--muted);margin:0;line-height:1.55}.ld-mobile{grid-template-columns:1fr minmax(0,320px);align-items:center;gap:40px;max-width:1080px;margin:64px auto 0;padding:0 20px;display:grid}.ld-mobile h2{margin:0 0 12px;font-size:clamp(26px,3.4vw,38px)}.ld-mobile p{color:var(--muted);margin:0;font-size:18px;line-height:1.55}.ld-mobile img{border:1px solid var(--line);border-radius:26px;width:100%;height:auto;box-shadow:0 24px 60px #1f1d1a2e}.ld-note{max-width:760px;color:var(--muted);text-align:center;margin:64px auto 0;padding:0 20px;line-height:1.6}.ld-foot{border-top:1px solid var(--line);max-width:1080px;color:var(--muted);flex-wrap:wrap;justify-content:center;gap:8px 22px;margin:56px auto 0;padding:28px 20px 40px;font-size:14px;display:flex}.ld-foot a{color:var(--muted)}@media (width<=820px){.ld-features,.ld-mobile{grid-template-columns:1fr}.ld-mobile img{max-width:300px;margin:0 auto}.ld-head{padding:16px}}.flag{color:#d97706;margin-left:2px;font-size:13px;line-height:1}.scene.active>.row .flag{color:#ffd96a}.work-flag{color:#7a4a05;background:#fff3dc;border-radius:6px;flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin:4px 0 6px;padding:5px 9px;font-size:13px;display:flex}@media (prefers-color-scheme:dark){.work-flag{color:#f2c987;background:#3a2c12}}.binder-head{flex-wrap:wrap;gap:2px 10px}.binder-head label,.binder-head .link{white-space:nowrap}.editor .cm-editor .cm-activeLine{background-color:#0000!important}.app.focus{--bg:#e9e5dc;--panel:#e9e5dc;--paper:#e9e5dc;--ink:#25221e;--muted:#5f5a50;--line:#d2cdc0;background:var(--bg)}@media (prefers-color-scheme:dark){.app.focus{--bg:#171614;--panel:#171614;--paper:#171614;--ink:#e2dccd;--muted:#a39d8f;--line:#34312c}}.app.focus .topbar,.app.focus .binder,.app.focus .side,.app.focus .preview-col,.app.focus .mobile-nav,.app.focus .scene-head,.app.focus .scene-nav,.app.focus .error-bar{display:none!important}.app.focus .main{background:var(--bg);grid-template-columns:1fr!important}.app.focus .main>div:empty{display:none}.app.focus .center{background:var(--bg)}.app.focus .editor .cm-content{box-shadow:none;color:var(--ink);caret-color:#c2410c;background:0 0;border:none;padding:16vh 0 46vh;flex:none!important;width:min(680px,90%)!important;margin:0 auto!important}.app.focus .editor .cm-scroller{scrollbar-width:none;font-size:21px;line-height:1.85}.app.focus .editor .cm-scroller::-webkit-scrollbar{display:none}.app.focus .editor .cm-line{opacity:.6;transition:opacity .25s}.app.focus .editor .cm-line.cm-activeLine,.app.focus.nodim .editor .cm-line{opacity:1}.app.focus.fcomments .editor .cm-line{opacity:0;transition:opacity .25s}.app.focus.fcomments .editor .cm-line.fs-hi,.app.focus.fcomments .editor .cm-line.fs-between,.app.focus.fcomments .editor .cm-line.fs-fade-before,.app.focus.fcomments .editor .cm-line.fs-fade-after{opacity:1}.app.focus.fcomments .editor .cm-line.fs-fade-before{-webkit-mask-image:linear-gradient(0deg,#000,#0000 min(100%,7.4em));mask-image:linear-gradient(0deg,#000,#0000 min(100%,7.4em))}.app.focus.fcomments .editor .cm-line.fs-fade-after{-webkit-mask-image:linear-gradient(#000,#0000 min(100%,7.4em));mask-image:linear-gradient(#000,#0000 min(100%,7.4em))}.app.focus.fcomments .fs-sep{opacity:0}.app.focus .editor .cmt{background:0 0;border-bottom-color:#0000}.app.focus .editor .cmt-layer,.app.focus .editor .ps-handle{display:none!important}.app.focus .editor .cm-content ::selection{background:#c2410c38}.focus-bar{z-index:70;color:var(--muted);font:13px/1 var(--sans);background:linear-gradient(var(--bg), transparent);opacity:0;pointer-events:none;align-items:center;gap:16px;padding:14px 22px;transition:opacity .35s,transform .35s;display:flex;position:fixed;top:0;left:0;right:0;transform:translateY(-6px)}.focus-bar.on{opacity:1;pointer-events:auto;transform:none}.app.focus.fcomments .focus-bar{opacity:1;pointer-events:auto;background:var(--bg);border-bottom:1px solid var(--line);flex-wrap:wrap;gap:6px 10px;transform:none}.app.focus.fcomments .focus-bar .fb-title{display:none}.focus-bar button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 8px}.focus-bar button:hover{color:var(--ink);background:var(--line)}.focus-bar .fb-dim.on{color:var(--ink)}.fb-review-nav{white-space:nowrap;color:var(--ink);align-items:center;gap:2px;display:inline-flex}.fb-review-nav button{color:var(--ink)}.fb-review-nav>span{text-align:center;min-width:3em}.fb-review-empty{white-space:nowrap}.review-empty-state{color:var(--muted);font:16px/1.4 var(--sans);text-align:center;pointer-events:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.fb-authors{position:relative}.fb-authors-list{z-index:80;background:var(--paper);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:7px;min-width:200px;padding:10px 12px;display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 6px 18px #00000029}.fb-authors-list label{font:13px/1.2 var(--sans);color:var(--ink);cursor:pointer;align-items:center;gap:8px;display:flex}.fb-authors-list input{accent-color:#c2410c}.review-card{background:var(--paper);border:1px solid var(--line);border-left:3px solid var(--bc,var(--cmt-line));width:300px;max-width:calc(100vw - 48px);max-height:60vh;font-family:var(--sans);z-index:60;border-radius:10px;padding:10px 12px;font-size:13px;line-height:1.45;position:fixed;top:50%;right:26px;overflow:auto;transform:translateY(-50%);box-shadow:0 4px 14px #00000024}.review-card .bubble-head{justify-content:space-between;gap:10px;margin-bottom:6px;display:flex}.review-card .bubble-head span{color:var(--muted);font-size:12px}.review-card .bubble-body{white-space:pre-wrap}.review-card .reply{border-top:1px solid var(--line);margin-top:6px;padding-top:6px}.review-card .bubble-actions{gap:8px;margin-top:8px;display:flex}.review-card .bubble-actions button{border:1px solid var(--line);font:inherit;cursor:pointer;color:var(--ink);background:0 0;border-radius:6px;padding:4px 10px}.review-card .bubble-actions button.ok{color:#2f7d43;border-color:#2f7d43}@media (width<=1100px){.review-card{top:auto;bottom:14px;right:14px;transform:none}}.focus-bar .fb-title{text-align:center;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}@media (width<=820px){.app.focus .editor .cm-content{padding:10vh 20px 46vh;width:100%!important}.app.focus .editor .cm-scroller{font-size:19px}.focus-bar{padding:calc(10px + env(safe-area-inset-top)) 14px 10px}.app.focus.fcomments .editor .cm-content{padding-top:max(10vh,130px)}}.reader-view{background:#8a8780;flex-direction:column;min-height:100dvh;display:flex}.rd-head{z-index:20;padding:calc(8px + env(safe-area-inset-top)) 14px 8px;background:var(--panel);border-bottom:1px solid var(--line);align-items:center;gap:10px;transition:transform .25s;display:flex;position:sticky;top:0}.rd-head.hide{transform:translateY(-110%)}.rd-title{font-family:var(--serif);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:17px;font-weight:500;overflow:hidden}.rd-size{align-items:center;gap:4px;display:inline-flex}.rd-size button{min-width:38px}.rd-dl{gap:6px;display:inline-flex}.rd-btn{border:1px solid var(--line);background:var(--paper);min-height:36px;color:var(--ink);border-radius:7px;align-items:center;padding:0 12px;font-size:14px;text-decoration:none;display:inline-flex}.rd-btn:hover{border-color:var(--ink)}.rd-pages{flex-direction:column;flex:1;align-items:center;gap:12px;padding:12px 0 48px;display:flex}.rd-page{background:#fff;flex:none;position:relative;overflow:hidden;box-shadow:0 2px 10px #00000059}.rd-err,.rd-pages .hint{background:var(--panel);border-radius:8px;margin:12px;padding:10px 14px}.rd-foot{background:var(--bg);text-align:center;border-top:1px solid var(--line);padding:14px}.reader-view.busy:before{content:"";z-index:30;background:linear-gradient(90deg, transparent, var(--accent), transparent) 0 0 / 40% 100% no-repeat;height:3px;animation:1s linear infinite pvbusy;position:fixed;top:0;left:0;right:0}@media (width<=820px){.rd-head .lbl,.rd-head .brand-mark{display:none}.rd-head{gap:6px}.rd-pages{gap:8px;padding-top:0}}.role-pick{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px;display:grid}.role-pick label{border:1px solid var(--line);cursor:pointer;background:var(--paper);border-radius:8px;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.role-pick label.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.role-pick input{display:none}.badge.role-reader{color:#214a73;background:#e6eef7}.icon-btn{justify-content:center;align-items:center;gap:6px;display:inline-flex}.icon-btn .tb-text{display:none}@media (width<=820px){.tb-more .icon-btn .tb-text{display:inline}}.seg{border:1px solid var(--line);border-radius:7px;display:inline-flex;overflow:hidden}.seg button{background:0 0;border:none;border-radius:0;padding:3px 9px;font-size:12px}.seg button.on{background:var(--accent);color:#fff}@media (width<=820px){.seg button{padding:7px 10px}}.note-pin{font-size:.65em;font-family:var(--sans,sans-serif);font-variant-emoji:text;vertical-align:.25em;color:#b45309;cursor:pointer;-webkit-user-select:none;user-select:none;background:#d9770638;border-radius:4px;margin:0 2px 0 0;padding:2px 3px;line-height:1;display:inline-block}.note-pin.is-active,.badge.note{color:#fff;background:#d97706}.note-input{resize:vertical;width:100%;min-height:84px}.note-card{border-left:3px solid #d97706}.note-ctx{color:var(--muted);font-size:12px}.note-anchor{color:#b45309;margin:0 2px;font-weight:700}.note-body{white-space:pre-wrap}.vis-row{flex-wrap:wrap;flex-basis:100%;align-items:center;gap:6px 14px;margin:2px 0 4px;display:flex}.vis-row select{padding:2px 6px;font-size:12px}.vis-pick{flex-wrap:wrap;gap:4px 12px;display:flex}.notice-ok{color:#1d6b3a;margin:6px 0}:root[data-theme=dark] .notice-ok{color:#6ccf93}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .notice-ok{color:#6ccf93}}.invite-banner{border:1px solid var(--line);border-left:4px solid var(--accent);background:var(--panel);text-align:left;border-radius:8px;max-width:420px;margin:0 auto 14px;padding:10px 14px;line-height:1.45}.my-name input{width:9em;padding:2px 6px;font-size:13px}button.author.link{color:var(--muted)}.app.pfocus .topbar,.app.pfocus .binder,.app.pfocus .side,.app.pfocus .center,.app.pfocus .mobile-nav,.app.pfocus .error-bar,.app.pfocus .resize-handle,.app.pfocus .swipe-hint{display:none!important}.app.pfocus .main{grid-template-columns:1fr!important}.app.pfocus .main>div:empty{display:none}.app.pfocus .preview-col{border-left:none;width:100%}.preview.pfocus .preview-bar{z-index:70;opacity:0;pointer-events:none;transition:transform .25s,opacity .25s;position:fixed;top:0;left:0;right:0;transform:translateY(-110%);box-shadow:0 6px 24px #0000002e}.preview.pfocus.bar-on .preview-bar{opacity:1;pointer-events:auto;transform:none}.preview.pfocus .pv-opts,.preview.pfocus .pv-opts-btn,.preview.pfocus .pv-hint,.preview.pfocus .brand-mark{display:none!important}.pv-focus-btn{margin-left:4px}.preview-window.pfocus .topbar,.preview-window.pfocus .error-bar{display:none!important}.preview-window.pfocus .preview-col{border-left:none}.app.focus.fcomment .editor .cm-line{opacity:1}.app.focus.fcomment .editor .cm-content{width:min(680px,100% - 340px)!important;margin-left:max(24px,50% - 520px)!important;margin-right:300px!important}.app.focus.fcomment .editor .cmt{background:var(--cmt-bg);border-bottom-color:var(--cmt-line)}.app.focus.fcomment .editor .cmt-layer{display:block!important}.app.focus.fcomment .comment-fab{z-index:50;background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:22px;padding:10px 18px;display:block;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 6px 18px #0003}@media (width<=820px){.app.focus.fcomment .editor .cm-content{width:100%!important;margin:0!important}}.focus-bar .seg button,.preview.pfocus .pv-modes button{font-size:13px}.focus-bar .fb-modes,.preview.pfocus .pv-modes{margin:0 4px}.preview.pfocus.pv-comment .pv-opts{display:none!important}.app.focus .swipe-hint{display:none}.focus-stream{flex-direction:column;flex:1;min-height:0;display:flex}.focus-stream .cm-editor{flex:1;min-height:0}.fs-sep{text-align:center;-webkit-user-select:none;user-select:none;color:var(--muted);opacity:.55}.fs-sep.fs-scene{letter-spacing:.6em;padding:1.6em 0;font-size:1em}.fs-sep.fs-chapter{padding:5.5em 0 3em}.fs-sep .fs-chno{letter-spacing:.28em;text-transform:uppercase;margin-bottom:.7em;font-size:.62em}.fs-sep .fs-chtitle{font-family:var(--serif);font-size:1.45em;line-height:1.25}.fs-sep .fs-chtitle[contenteditable]{cursor:text;-webkit-user-select:text;user-select:text;border-radius:6px;outline:none;min-width:3em;padding:0 .3em;display:inline-block}.fs-sep .fs-chtitle[contenteditable]:focus{opacity:1;background:#786e5a1f}.fs-sep:hover{opacity:.85}.focus-bar .fb-title .inline-title{cursor:text;border-radius:4px;padding:1px 4px}.focus-bar .fb-title .inline-title:hover{background:var(--line);color:var(--ink)}.focus-bar .fb-title .inline-title-input{font:inherit;text-align:center;width:12em}.word-export .we-presets{flex-wrap:wrap;gap:6px;margin:4px 0 12px;display:flex}.word-export .we-grid{grid-template-columns:1fr 1fr;gap:10px 12px;display:grid}.word-export .we-grid label{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.word-export .we-grid label:last-child{grid-column:1/-1}.word-export input[aria-invalid=true]{border-color:var(--del)}.word-export .we-accept{margin:12px 0 4px;display:block}.tok-rawblock{color:var(--muted);word-break:break-all;background:#786e5a1a;border-radius:4px;font-family:ui-monospace,Menlo,monospace;font-size:12.5px}.mark-types{flex-wrap:wrap;gap:4px 12px;padding:8px 10px 0;font-size:12px;display:flex}.mark-type{cursor:pointer;align-items:center;gap:4px;display:inline-flex}.mark-type .badge{margin-left:2px}.mark{position:relative}.mark>.card{border-left-width:4px}.mark-suggestion>.card{border-left-color:var(--ins)}.mark-comment>.card{border-left-color:var(--cmt-line)}.mark-note>.card{border-left-color:#d97706}.mark-scene{color:var(--muted);text-transform:none;letter-spacing:.02em;margin:10px 2px 6px;font-size:11px;font-weight:600}.mark-scene:first-child{margin-top:2px}.mark-margin-note{border:1px dashed var(--line);color:var(--muted);border-radius:8px;justify-content:space-between;align-items:center;gap:8px;margin:8px 10px 0;padding:6px 8px;font-size:12px;display:flex}.mark-nav{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.bubble.sug-tag{border-left-width:3px;width:auto;max-width:260px;padding:3px 8px;font-size:12px}.ideas{margin-bottom:6px}.ideas .card{cursor:default;-webkit-user-select:text;user-select:text}.cmt-draft{background:#3b82f647;border-radius:2px}.modal.tarina{width:min(1280px,100%);min-height:70vh}.tarina-status{flex-direction:column;gap:8px;margin-bottom:8px;display:flex}.ts-row{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.ts-actions{gap:6px;margin-left:auto;display:flex}.consent{border:1px solid var(--line);background:var(--paper);border-radius:8px;padding:10px 12px}.ts-settings{font-size:12px}.ts-settings label{margin-right:12px}.ts-settings input{width:110px}.tarina-body{padding-top:10px}.people{grid-template-columns:300px 1fr;gap:16px;display:grid}.people-list h4{margin:12px 0 4px}.person-row{text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;flex-direction:column;align-items:flex-start;width:100%;padding:6px 8px;display:flex}.person-row.on,.person-row:hover{background:var(--paper);border-color:var(--line)}.people-detail{min-width:0}.fact{padding:3px 0}.fact-group{margin:6px 0}.alias{margin-right:10px}.finding{border:1px solid var(--line);background:var(--paper);border-left-width:4px;border-radius:8px;margin:8px 0;padding:8px 12px}.finding.sev-high{border-left-color:#b91c1c}.finding.sev-mid{border-left-color:#d97706}.finding.sev-low{border-left-color:#64748b}.finding p{margin:4px 0}.evidence{padding:2px 0}.tl-controls{flex-wrap:wrap;align-items:center;gap:8px 16px;margin-bottom:8px;display:flex}.tl-scroll{border:1px solid var(--line);border-radius:8px;overflow-x:auto}.tl-lane{fill:var(--muted);font-size:11px}.tl-t{fill:var(--muted);font-size:10px}.tl-card{border:1px solid var(--line);background:var(--paper);border-radius:8px;margin-top:10px;padding:10px 12px}.graph-main{grid-template-columns:1fr 280px;gap:12px;display:grid}.graph-canvas{border:1px solid var(--line);background:var(--paper);border-radius:8px;height:560px}.graph-side{font-size:13px}.edge-row{margin:4px 0}@media (width<=800px){.people,.graph-main{grid-template-columns:1fr}}.key-card{border:1px solid var(--line);background:var(--paper);border-radius:8px;margin:12px 0;padding:10px 14px}.key-card h3{margin:0 0 4px}
