/* ==========================================================================
    Copyright (c) 2026 Barclay Software

    This Source Code Form is subject to the terms of the Barclay
    Public License, v. 1.0. If a copy of the License was not
    distributed with this file, You can obtain one at 
    https://scriptwriterpro.pages.dev/support/license.

    This file may not be used to identify Modifications or Larger
    Works under the name "ScriptWriter Pro" without prior written
    permission, except as permitted under Section 4.2(b) of the
    License.
   ========================================================================== */

@font-face{font-family:CourierForThePeople;src:url('https://scriptwriterpro.pages.dev/app/fonts/CourierForThePeople.woff2') format('woff2'),url('https://scriptwriterpro.pages.dev/app/fonts/CourierForThePeople.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:CourierForThePeople;src:url('https://scriptwriterpro.pages.dev/app/fonts/CourierForThePeople-Bold.woff2') format('woff2'),url('https://scriptwriterpro.pages.dev/app/fonts/CourierForThePeople-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:CourierForThePeople;src:url('https://scriptwriterpro.pages.dev/app/fonts/CourierForThePeople-Italic.woff2') format('woff2'),url('https://scriptwriterpro.pages.dev/app/fonts/CourierForThePeople-Italic.ttf') format('truetype');font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:CourierPrime;src:url('https://scriptwriterpro.pages.dev/app/fonts/CourierPrime.woff2') format('woff2'),url('https://scriptwriterpro.pages.dev/app/fonts/CourierPrime.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:CourierPrime;src:url('https://scriptwriterpro.pages.dev/app/fonts/CourierPrime-Bold.woff2') format('woff2'),url('https://scriptwriterpro.pages.dev/app/fonts/CourierPrime-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:CourierPrime;src:url('https://scriptwriterpro.pages.dev/app/fonts/CourierPrime-Italic.woff2') format('woff2'),url('https://scriptwriterpro.pages.dev/app/fonts/CourierPrime-Italic.ttf') format('truetype');font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:CourierScreenplay;src:url('https://scriptwriterpro.pages.dev/app/fonts/CourierScreenplay.woff2') format('woff2'),url('https://scriptwriterpro.pages.dev/app/fonts/CourierScreenplay.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:CourierScreenplay;src:url('https://scriptwriterpro.pages.dev/app/fonts/CourierScreenplay-Bold.woff2') format('woff2'),url('https://scriptwriterpro.pages.dev/app/fonts/CourierScreenplay-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:CourierScreenplay;src:url('https://scriptwriterpro.pages.dev/app/fonts/CourierScreenplay-Italic.woff2') format('woff2'),url('https://scriptwriterpro.pages.dev/app/fonts/CourierScreenplay-Italic.ttf') format('truetype');font-weight:400;font-style:italic;font-display:swap}:root{--ui-font:'Skopje SWP',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;--chrome-bg:#1b1b1a;--chrome-bg-2:#242422;--chrome-border:#38372f;--chrome-text:#e9e5da;--chrome-text-dim:#9c988c;--accent:#e7c789;--accent-strong:#d9ab52;--sidebar-bg:#201f1d;--editor-bg:#0f0f0e;--page-bg:#ffffff;--page-shadow:0 10px 40px rgba(0,0,0,.55),0 1px 0 rgba(255,255,255,.02);--danger:#c96b5a;--zoom:1;--page-w-in:8.5;--page-h-in:11;--doc-font:'CourierScreenplay','Courier New',monospace;font-size:16px}[data-theme=light]{--chrome-bg:#f3f1ea;--chrome-bg-2:#e9e6db;--chrome-border:#d8d3c3;--chrome-text:#2b2a25;--chrome-text-dim:#726d5e;--sidebar-bg:#ece9df;--editor-bg:#dedad0;--accent:#a9752f;--accent-strong:#8a5d21}*{box-sizing:border-box}body,html{height:100%;margin:0}body{font-family:var(--ui-font);background:var(--editor-bg);color:var(--chrome-text);display:flex;flex-direction:column;height:100vh;overflow:hidden}::selection{background:rgba(231,199,137,.35)}::spelling-error{text-decoration:underline double red!important}::grammar-error{text-decoration:underline double blue!important}input:focus,textarea:focus{outline:1px solid var(--accent)}.topbar{display:flex;align-items:center;gap:6px;background:var(--chrome-bg);border-bottom:1px solid var(--chrome-border);padding:0 10px;height:44px;flex:0 0 auto;z-index:60}.brand{display:flex;align-items:center;gap:8px;margin-right:14px;user-select:none}.brand-mark{width:24px;height:24px;border-radius:6px;background:var(--accent);color:#1b1b1a;font-family:Georgia,serif;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:15px}.brand-name{font-weight:600;letter-spacing:.02em;font-size:14px}.menu{display:flex;gap:2px;height:100%}.menu-item{position:relative;display:flex;align-items:center;padding:0 12px;font-size:13.5px;cursor:pointer;color:var(--chrome-text-dim);border-radius:6px}.menu-item.open,.menu-item:hover{background:var(--chrome-bg-2);color:var(--chrome-text)}.menu-dropdown{display:none;position:absolute;top:100%;left:0;background:var(--chrome-bg-2);border:1px solid var(--chrome-border);border-radius:8px;padding:6px;min-width:240px;box-shadow:0 12px 28px rgba(0,0,0,.4);flex-direction:column;gap:1px;max-height:75vh;overflow-y:auto}.menu-item.open .menu-dropdown{display:flex}.menu-dropdown button{all:unset;display:flex;justify-content:space-between;align-items:center;padding:7px 10px;font-size:13px;border-radius:5px;color:var(--chrome-text);cursor:pointer;white-space:nowrap}.menu-dropdown button:hover{background:var(--accent);color:#1b1b1a}.menu-dropdown button:hover kbd{color:#1b1b1a;opacity:.7}.menu-dropdown kbd{font-family:inherit;font-size:11px;color:var(--chrome-text-dim);margin-left:16px}.menu-sep{height:1px;background:var(--chrome-border);margin:5px 4px}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:12px;font-size:12.5px;color:var(--chrome-text-dim)}.project-name{color:var(--chrome-text);font-weight:500;cursor:pointer;border-radius:5px;padding:2px 6px;margin:0 -6px}.project-name:hover{background:var(--chrome-bg-2)}.save-indicator{padding:3px 9px;border-radius:20px;background:var(--chrome-bg-2);text-transform:uppercase}.save-indicator.dirty{color:var(--accent-strong)}.save-indicator.dirty::before{content:"● "}.save-indicator:not(.dirty)::before{content:"✓ "}.workspace{flex:1;display:flex;min-height:0}.sidebar{width:230px;flex:0 0 auto;background:var(--sidebar-bg);border-right:1px solid var(--chrome-border);display:flex;flex-direction:column;transition:margin-left .18s ease}.sidebar.collapsed{margin-left:-230px}.sidebar-tabs{display:flex;border-bottom:1px solid var(--chrome-border)}.sidebar-tab{all:unset;flex:1;text-align:center;padding:10px 0;font-size:12px;color:var(--chrome-text-dim);cursor:pointer;letter-spacing:.04em;text-transform:uppercase}.sidebar-tab.active{color:var(--accent);border-bottom:2px solid var(--accent)}.sidebar-panel{display:none;overflow-y:auto;flex:1;padding:8px}.sidebar-panel.active{display:block}.scene-list{list-style:none;margin:0;padding:0;counter-reset:sc}.scene-list li{padding:8px 10px;margin-bottom:2px;border-radius:6px;cursor:pointer;font-size:12.3px;color:var(--chrome-text-dim);line-height:1.35;border-left:2px solid transparent;text-transform:uppercase;font-family:var(--doc-font)}.scene-list li:hover{background:var(--chrome-bg-2);color:var(--chrome-text)}.scene-list li .sc-num{color:var(--accent);margin-right:4px;font-weight:600;font-family:var(--ui-font)}.character-list{list-style:none;margin:0;padding:0;font-family:var(--doc-font)}.character-list li{padding:7px 10px;font-size:12.5px;border-radius:6px;color:var(--chrome-text-dim);display:flex;justify-content:space-between}.character-list li:hover{background:var(--chrome-bg-2);color:var(--chrome-text)}.character-list li span.count{color:var(--chrome-text-dim);font-size:11px;font-family:var(--ui-font)}.editor-area{flex:1;min-width:0;display:flex}.editor-scroll{flex:1;overflow-y:auto;overflow-x:hidden;padding:40px 0 200px;display:flex;justify-content:center}.manuscript{width:calc(var(--page-w-in) * 1in);transform:scale(var(--zoom));transform-origin:top center;outline:0}.sp-page-paper{width:calc(var(--page-w-in) * 1in);min-height:calc(var(--page-h-in) * 1in);background:var(--page-bg);box-shadow:var(--page-shadow);margin:0 auto 34px;padding:1in 1in 1in 1.5in;position:relative;color:#1c1c1a;font-family:var(--doc-font);font-size:12pt;line-height:12pt}.sp-page-paper .page-number{position:absolute;top:.5in;right:1in;font-size:12pt;color:#1c1c1a}.sp-page-paper.sp-page-revised{background:var(--rev-bg,var(--page-bg))}.sp-page-paper .page-revision-label{position:absolute;bottom:.35in;left:0;right:0;text-align:center;font-size:9pt;color:#00000099;user-select:none}.sp-block.sp-revised::before{content:"*";position:absolute;left:-.2in;top:0;color:var(--rev-accent,#999);font-weight:700;font-size:13pt;line-height:12pt}.sp-dual-col .sp-block.sp-revised::before{left:-.14in}.sp-block{outline:0;white-space:pre-wrap;word-wrap:break-word;min-height:12pt;caret-color:#1c1c1a;position:relative}.sp-block:empty::before{content:attr(data-placeholder);color:#b7b2a2;pointer-events:none}.sp-block.focused{background:rgba(231,199,137,.14);border-radius:2px}.sp-block[data-type=scene-heading]{text-transform:uppercase;margin-top:12pt;font-weight:400;text-decoration:underline}.sp-block[data-type=scene-heading]:first-child{margin-top:0}.sp-page-paper .page-number+.sp-block[data-type=scene-heading]{margin-top:0}.sp-block[data-type=montage]+.sp-block,.sp-block[data-type=scene-heading]+.sp-block,.sp-block[data-type=sfx]+.sp-block,.sp-block[data-type=subheader]+.sp-block,.sp-block[data-type=vfx]+.sp-block{margin-top:12pt}.sp-block[data-type=action]+.sp-block[data-type=action],.sp-block[data-type=dialogue]+.sp-block[data-type=action],.sp-block[data-type=parenthetical]+.sp-block[data-type=action]{margin-top:12pt}.sp-block[data-type=character]{text-transform:uppercase;margin-left:2.2in;margin-top:12pt}.sp-block[data-type=parenthetical]{margin-left:1.6in;max-width:2.4in}.sp-block[data-type=dialogue]{margin-left:1in;max-width:3.5in}.sp-block[data-type=transition]{text-transform:uppercase;text-align:right;margin-top:12pt}.sp-block[data-type=shot]{text-transform:uppercase;margin-top:12pt;font-weight:700}.sp-block[data-type=sfx]{text-transform:uppercase;margin-top:12pt;font-weight:700;text-decoration:underline}.sp-block[data-type=vfx]{text-transform:uppercase;margin-top:12pt;font-weight:700;font-style:italic}.sp-block[data-type=subheader]{text-transform:uppercase;margin-top:12pt}.sp-block[data-type=montage]{text-transform:uppercase;margin-top:12pt;font-weight:700;text-decoration:underline}.sp-block[data-type=montage]:first-child,.sp-block[data-type=sfx]:first-child,.sp-block[data-type=subheader]:first-child,.sp-block[data-type=vfx]:first-child{margin-top:0}.sp-page-paper .page-number+.sp-block[data-type=montage],.sp-page-paper .page-number+.sp-block[data-type=sfx],.sp-page-paper .page-number+.sp-block[data-type=subheader],.sp-page-paper .page-number+.sp-block[data-type=vfx]{margin-top:0}.sp-dual-wrap{display:flex;gap:.2in;margin-top:12pt;align-items:flex-start}.sp-dual-col{flex:1 1 0;min-width:0}.sp-dual-col .sp-block[data-type=character]{margin-left:0;margin-top:0;text-align:center}.sp-dual-col .sp-block[data-type=parenthetical]{margin-left:.5in;max-width:calc(100% - .5in);text-align:center}.sp-dual-col .sp-block[data-type=dialogue]{margin-left:0;max-width:100%}.scene-number-tag{position:absolute;left:-.55in;color:#1c1c1a;font-size:12pt;user-select:none}.scene-number-tag.right{left:auto;right:-.5in}.sp-block[data-type=scene-heading]{position:relative}.page-break-gap{height:34px;contenteditable:false;user-select:none;pointer-events:none}.sp-titlepage{display:flex;flex-direction:column;align-items:center;padding-top:3.3in}.sp-titlepage .tp-title{font-weight:700;text-transform:uppercase;text-align:center;max-width:5in;text-decoration:underline}.sp-titlepage .tp-credit{margin-top:24pt;text-align:center}.sp-titlepage .tp-author{text-align:center}.sp-titlepage .tp-source{margin-top:24pt;text-align:center;font-style:italic}.sp-titlepage .tp-contact{position:absolute;bottom:1in;left:1.5in;white-space:pre-line;font-size:12pt}.sp-titlepage .tp-date{position:absolute;bottom:1in;right:1in}.statusbar{flex:0 0 auto;height:28px;background:var(--chrome-bg);border-top:1px solid var(--chrome-border);display:flex;align-items:center;gap:8px;padding:0 14px;font-size:11.5px;color:var(--chrome-text-dim)}.statusbar-sep{opacity:.5}.zoom-control{margin-left:auto;display:flex;align-items:center;gap:6px}.zoom-control button{all:unset;cursor:pointer;padding:1px 7px;border-radius:4px;color:var(--chrome-text-dim)}.zoom-control button:hover{background:var(--chrome-bg-2);color:var(--chrome-text)}.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:100}.modal-overlay.show{display:block}.modal{display:none;position:fixed;z-index:101;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--chrome-bg-2);border:1px solid var(--chrome-border);border-radius:12px;padding:24px 26px;width:420px;max-width:90vw;max-height:85vh;overflow:auto;box-shadow:0 30px 70px rgba(0,0,0,.5)}.modal.show{display:block}.modal.modal-narrow{width:320px;text-align:center}.modal h2{margin:0 0 16px;font-size:16px;color:var(--chrome-text)}.modal p{font-size:13px;color:var(--chrome-text-dim);line-height:1.5}.modal p code{background:var(--chrome-bg);border-radius:4px;padding:1px 5px;color:var(--chrome-text);font-family:CourierScreenplay,'Courier New',monospace}.modal label{display:block;font-size:12px;color:var(--chrome-text-dim);margin-bottom:12px}.modal input[type=text],.modal textarea{display:block;width:100%;margin-top:5px;background:var(--chrome-bg);border:1px solid var(--chrome-border);border-radius:6px;color:var(--chrome-text);padding:8px 10px;font-size:13px;font-family:inherit;resize:vertical}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.btn-ghost,.btn-primary{all:unset;padding:8px 16px;border-radius:7px;font-size:13px;cursor:pointer}.btn-primary{background:var(--accent);color:#1b1b1a;font-weight:600}.btn-primary:hover{background:var(--accent-strong)}.btn-ghost{color:var(--chrome-text-dim)}.btn-ghost:hover{color:var(--chrome-text);background:var(--chrome-bg)}.project-list{list-style:none;margin:0;padding:0;max-height:300px;overflow:auto}.project-list li{display:flex;justify-content:space-between;align-items:center;padding:9px 10px;border-radius:6px;font-size:13px;cursor:pointer}.project-list li:hover{background:var(--chrome-bg)}.project-list li button{all:unset;color:var(--danger);font-size:11px;cursor:pointer}.shortcut-table{width:100%;border-collapse:collapse;font-size:12.5px}.shortcut-table td{padding:6px 4px;border-bottom:1px solid var(--chrome-border);color:var(--chrome-text-dim)}.shortcut-table td:first-child{color:var(--chrome-text);white-space:nowrap;padding-right:14px}kbd{font-family:inherit;background:0 0}.find-results{font-size:12px;color:var(--chrome-text-dim);margin-bottom:6px;min-height:16px}.progress-bar{height:6px;border-radius:3px;background:var(--chrome-bg);overflow:hidden;margin:10px 0}.progress-fill{height:100%;width:0%;background:var(--accent);transition:width .2s ease}.muted{color:var(--chrome-text-dim);font-size:12px}.autocomplete-popup{position:absolute;z-index:90;background:var(--chrome-bg-2);border:1px solid var(--chrome-border);border-radius:8px;min-width:180px;max-height:180px;overflow-y:auto;box-shadow:0 10px 26px rgba(0,0,0,.4);font-family:var(--ui-font)}.autocomplete-popup div{padding:7px 12px;font-size:12.5px;color:var(--chrome-text);cursor:pointer}.autocomplete-popup div.active,.autocomplete-popup div:hover{background:var(--accent);color:#1b1b1a}@media print{.autocomplete-popup,.modal,.modal-overlay,.statusbar,.topbar,.workspace .sidebar{display:none!important}.editor-area,.editor-scroll,body{overflow:visible;height:auto;background:#fff}.editor-scroll{padding:0}.manuscript{transform:none;width:auto}.sp-page-paper{box-shadow:none;margin:0;width:calc(var(--page-w-in) * 1in);min-height:calc(var(--page-h-in) * 1in);page-break-after:always}.page-break-gap{display:none}body.double-sided #manuscript>.sp-page-paper:nth-of-type(2n){padding-left:1in;padding-right:1.5in}}@page{size:8.5in 11in;margin:0}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--chrome-border);border-radius:6px}::-webkit-scrollbar-track{background:0 0}