*,:after,:before{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary:#0a0a0a;--bg-secondary:#111111;--bg-tertiary:#1a1a1a;--bg-card:#141414;--bg-hover:#1e1e1e;--bg-input:#0f0f0f;--text-primary:#e8e8e8;--text-secondary:#888888;--text-muted:#555555;--text-accent:#c4a35a;--border-color:#222222;--border-subtle:#1a1a1a;--border-focus:#c4a35a;--accent:#c4a35a;--accent-dim:rgba(196,163,90,0.15);--accent-hover:#d4b36a;--danger:#a33;--success:#3a7;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:40px;--space-2xl:64px;--font-mono:"Courier New",Courier,monospace;--font-size-xs:11px;--font-size-sm:13px;--font-size-md:15px;--font-size-lg:18px;--font-size-xl:24px;--font-size-2xl:36px;--font-size-3xl:48px;--transition-fast:120ms ease;--transition-normal:200ms ease;--transition-slow:400ms ease;--radius-sm:4px;--radius-md:6px;--radius-lg:10px}[data-theme=light]{--bg-primary:#f2f2f2;--bg-secondary:#ffffff;--bg-tertiary:#fafafa;--bg-card:#ffffff;--bg-hover:#f7f7f7;--bg-input:#ffffff;--text-primary:#111111;--text-secondary:#555555;--text-muted:#888888;--text-accent:#9b7e3e;--border-color:#d8d8d8;--border-subtle:#f0f0f0;--border-focus:#9b7e3e;--accent:#9b7e3e;--accent-dim:rgba(155,126,62,0.1);--accent-hover:#a88a4c;--danger:#b33;--success:#274}.auth-box,.auth-container,.btn,.dashboard,.dashboard-header,.editor-layout,.editor-main,.project-card,.projects-grid,.screenplay-container,.screenplay-element,.screenplay-page,.sidebar,.sidebar-content,.sidebar-header,.toolbar,body,html,input{transition:background-color var(--transition-normal),color var(--transition-normal),border-color var(--transition-normal),background var(--transition-normal),box-shadow var(--transition-normal)}body,html{height:100%;background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-mono);font-size:var(--font-size-md);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none}button,input{font-family:var(--font-mono);color:inherit;font-size:inherit}input{background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);outline:none;transition:border-color var(--transition-fast)}input:focus{border-color:var(--border-focus)}input::placeholder{color:var(--text-muted)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);font-size:var(--font-size-sm);letter-spacing:.5px;transition:all var(--transition-fast);text-transform:uppercase}.btn-primary{background:var(--accent);color:var(--bg-primary);font-weight:700}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px)}.btn-ghost{border:1px solid var(--border-color);color:var(--text-secondary)}.btn-ghost:hover{border-color:var(--text-muted);color:var(--text-primary);background:var(--bg-hover)}.btn-danger{color:var(--danger);border:1px solid var(--danger)}.btn-danger:hover{background:rgba(170,51,51,.1)}.btn-sm{padding:var(--space-xs) var(--space-md);font-size:var(--font-size-xs)}.landing-page{--lp-magenta:#FF006E;--lp-yellow:#FFD60A;--lp-magenta-dim:rgba(255,0,110,0.1);--lp-yellow-dim:rgba(255,214,10,0.1);--lp-magenta-glow:rgba(255,0,110,0.15);--lp-bg:#0a0a0a;--lp-bg-card:#111111;--lp-text:#f5f5f7;--lp-text-secondary:#a1a1a6;--lp-text-muted:#6e6e73;--lp-border:#1d1d1f;--lp-font:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100vh;background:var(--lp-bg);color:var(--lp-text);font-family:var(--lp-font);overflow-x:hidden;-webkit-font-smoothing:antialiased}[data-theme=light] .landing-page{--lp-bg:#ffffff;--lp-bg-card:#f5f5f7;--lp-text:#1d1d1f;--lp-text-secondary:#6e6e73;--lp-text-muted:#a1a1a6;--lp-border:#d2d2d7;--lp-magenta-dim:rgba(255,0,110,0.06);--lp-yellow-dim:rgba(255,214,10,0.08);--lp-magenta-glow:rgba(255,0,110,0.08)}.landing-nav{display:flex;align-items:center;justify-content:space-between;padding:14px 40px;position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(10,10,10,.72);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(255,255,255,.06);font-family:var(--lp-font)}[data-theme=light] .landing-nav{background:rgba(255,255,255,.72);border-bottom:1px solid rgba(0,0,0,.06)}.landing-nav-brand{font-size:14px;font-weight:600;letter-spacing:1px;color:var(--lp-text)}.landing-nav-right{display:flex;align-items:center;gap:24px}.landing-nav-link{font-family:var(--lp-font);font-size:12px;font-weight:400;color:var(--lp-text-secondary);background:none;border:none;cursor:pointer;transition:color .2s;letter-spacing:.3px}.landing-nav-link:hover{color:var(--lp-text)}.landing-nav-cta{font-family:var(--lp-font);font-size:12px;font-weight:500;color:var(--lp-bg);background:var(--lp-magenta);border:none;border-radius:20px;padding:7px 18px;cursor:pointer;transition:all .2s;letter-spacing:.3px}.landing-nav-cta:hover{background:#e60063;transform:scale(1.02)}.landing-hero{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;text-align:center;padding:120px 24px 80px;position:relative}.landing-hero:before{content:"";position:absolute;top:20%;left:50%;transform:translate(-50%,-50%);width:800px;height:800px;background:radial-gradient(circle,var(--lp-magenta-glow) 0,transparent 60%);pointer-events:none;opacity:.6}.landing-hero-title{font-family:var(--lp-font);font-size:clamp(44px,8vw,80px);font-weight:600;letter-spacing:-2px;line-height:1.08;color:var(--lp-text);margin-bottom:24px;max-width:800px;opacity:0;animation:lpFadeUp 1s cubic-bezier(.16,1,.3,1) .1s forwards}.landing-hero-title-accent{background:linear-gradient(135deg,var(--lp-magenta),var(--lp-yellow));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.landing-hero-sub{font-family:var(--lp-font);font-size:18px;font-weight:400;color:var(--lp-text-secondary);max-width:540px;line-height:1.65;margin-bottom:40px;opacity:0;animation:lpFadeUp 1s cubic-bezier(.16,1,.3,1) .3s forwards}.landing-hero-actions{opacity:0;animation:lpFadeUp 1s cubic-bezier(.16,1,.3,1) .5s forwards;margin-bottom:16px}.landing-btn-primary{font-family:var(--lp-font);font-size:16px;font-weight:500;color:#fff;background:var(--lp-magenta);border:none;border-radius:28px;padding:16px 36px;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1);letter-spacing:.2px}.landing-btn-primary:hover{background:#e60063;transform:scale(1.04);box-shadow:0 8px 30px rgba(255,0,110,.25)}.landing-hero-note{font-family:var(--lp-font);font-size:13px;color:var(--lp-text-muted);letter-spacing:.5px;opacity:0;animation:lpFadeUp 1s cubic-bezier(.16,1,.3,1) .65s forwards}.landing-section{max-width:1080px;margin:0 auto;padding:120px 24px 80px}.landing-section-eyebrow{font-family:var(--lp-font);font-size:14px;font-weight:500;color:var(--lp-magenta);letter-spacing:.5px;margin-bottom:12px}.landing-section-heading{font-family:var(--lp-font);font-size:clamp(32px,5vw,52px);font-weight:600;letter-spacing:-1px;line-height:1.12;color:var(--lp-text);margin-bottom:64px}.landing-diff-grid{display:grid;grid-template-columns:1fr;grid-gap:20px;gap:20px;max-width:1080px;margin:0 auto;padding:0 24px 80px}@media (min-width:768px){.landing-diff-grid{grid-template-columns:repeat(3,1fr)}}.landing-diff-card{background:var(--lp-bg-card);border:1px solid var(--lp-border);border-radius:20px;padding:40px 32px 32px;transition:all .35s cubic-bezier(.16,1,.3,1);position:relative}.landing-diff-card:hover{transform:translateY(-6px);border-color:var(--lp-magenta);box-shadow:0 12px 40px var(--lp-magenta-glow)}.landing-diff-number{font-family:var(--lp-font);font-size:48px;font-weight:700;background:linear-gradient(135deg,var(--lp-magenta),var(--lp-yellow));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;margin-bottom:20px}.landing-diff-title{font-family:var(--lp-font);font-size:22px;font-weight:600;color:var(--lp-text);margin-bottom:12px;letter-spacing:-.3px}.landing-diff-desc{font-family:var(--lp-font);font-size:14px;color:var(--lp-text-secondary);line-height:1.7;margin-bottom:20px}.landing-diff-badge{font-family:var(--lp-font);font-size:11px;font-weight:500;color:var(--lp-magenta);background:var(--lp-magenta-dim);padding:5px 14px;border-radius:20px;letter-spacing:.3px}.landing-features-grid{display:grid;grid-template-columns:1fr;grid-gap:2px;gap:2px}@media (min-width:640px){.landing-features-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:960px){.landing-features-grid{grid-template-columns:repeat(3,1fr)}}.landing-feature-card{padding:32px 28px;border-radius:16px;transition:all .25s ease;cursor:default}.landing-feature-card:hover{background:var(--lp-bg-card)}.landing-feature-name{font-family:var(--lp-font);font-size:16px;font-weight:600;color:var(--lp-text);margin-bottom:8px;letter-spacing:-.2px}.landing-feature-text{font-family:var(--lp-font);font-size:14px;color:var(--lp-text-muted);line-height:1.65}.landing-roadmap-list{display:grid;grid-template-columns:1fr;grid-gap:0;gap:0}@media (min-width:640px){.landing-roadmap-list{grid-template-columns:repeat(2,1fr)}}.landing-roadmap-row{display:flex;align-items:flex-start;gap:16px;padding:24px 16px;border-left:2px solid var(--lp-border);transition:border-color .2s}.landing-roadmap-row:hover{border-left-color:var(--lp-yellow)}.landing-roadmap-marker{width:10px;height:10px;border-radius:50%;border:2px solid var(--lp-text-muted);background:transparent;flex-shrink:0;margin-top:4px;margin-left:-7px;transition:all .25s ease}.landing-roadmap-row:hover .landing-roadmap-marker{border-color:var(--lp-yellow);background:var(--lp-yellow);box-shadow:0 0 12px rgba(255,214,10,.4)}.landing-roadmap-name{font-family:var(--lp-font);font-size:15px;font-weight:600;color:var(--lp-text);margin-bottom:4px;letter-spacing:-.2px}.landing-roadmap-text{font-family:var(--lp-font);font-size:13px;color:var(--lp-text-muted);line-height:1.6}.landing-bottom-cta{display:flex;flex-direction:column;align-items:center;text-align:center;padding:120px 24px}.landing-bottom-cta-title{font-family:var(--lp-font);font-size:clamp(36px,6vw,56px);font-weight:600;letter-spacing:-1px;color:var(--lp-text);margin-bottom:12px}.landing-bottom-cta-sub{font-size:17px;margin-bottom:40px;letter-spacing:.3px}.landing-bottom-cta-sub,.landing-footer{font-family:var(--lp-font);color:var(--lp-text-muted)}.landing-footer{display:flex;align-items:center;justify-content:center;gap:8px;padding:24px;border-top:1px solid var(--lp-border);font-size:12px}.landing-footer-sep{color:var(--lp-magenta)}@keyframes lpFadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-container{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:var(--space-xl)}.auth-box{width:100%;max-width:380px}.auth-title{font-size:var(--font-size-xl);font-weight:300;letter-spacing:4px;text-transform:uppercase;margin-bottom:var(--space-xs)}.auth-mode-label{font-size:var(--font-size-xs);color:var(--text-muted);letter-spacing:2px;text-transform:uppercase;margin-bottom:var(--space-xl)}.auth-form{display:flex;flex-direction:column;gap:var(--space-md)}.auth-form input{width:100%;padding:12px var(--space-md)}.auth-form .btn{width:100%;padding:12px;margin-top:var(--space-sm)}.auth-toggle{margin-top:var(--space-lg);font-size:var(--font-size-xs);color:var(--text-muted);text-align:center}.auth-toggle span{color:var(--accent);cursor:pointer;text-decoration:underline;text-underline-offset:3px}.auth-toggle span:hover{color:var(--accent-hover)}.auth-error{font-size:var(--font-size-xs);color:var(--danger);text-align:center;min-height:18px}.auth-tabs{display:flex;gap:var(--space-md);margin-bottom:var(--space-lg);border-bottom:1px solid var(--border-color);padding-bottom:var(--space-xs)}.auth-tab-btn{font-family:inherit;font-size:var(--font-size-xs);font-weight:500;text-transform:uppercase;letter-spacing:1px;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:var(--space-xs) 0;position:relative;transition:color var(--transition-fast)}.auth-tab-btn:hover{color:var(--text-primary)}.auth-tab-btn.active{color:var(--accent)}.auth-tab-btn.active:after{content:"";position:absolute;bottom:-9px;left:0;right:0;height:2px;background:var(--accent)}.auth-instruction{font-size:var(--font-size-xs);color:var(--text-muted);margin-bottom:var(--space-xs);line-height:1.4}.auth-checkbox-container{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--font-size-xs);color:var(--text-muted);margin:var(--space-xs) 0}.auth-checkbox-container label{display:flex;align-items:center;gap:var(--space-xs);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.auth-checkbox-container input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent);cursor:pointer}.generated-key-container{display:flex;flex-direction:column;gap:var(--space-md)}.key-warning{font-size:var(--font-size-xs);color:#ff9f0a;background:rgba(255,159,10,.08);border:1px solid rgba(255,159,10,.2);border-radius:var(--radius-sm);padding:10px 14px;line-height:1.5;text-align:left}.key-box{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:16px var(--space-md);display:flex;justify-content:space-between;align-items:center;gap:var(--space-md)}.key-box code{font-family:var(--font-family-mono);font-size:14px;color:var(--accent);word-break:break-all;letter-spacing:.5px}.copy-btn{font-family:inherit;font-size:var(--font-size-xs);font-weight:500;background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:var(--radius-sm);padding:4px 10px;cursor:pointer;white-space:nowrap;transition:all var(--transition-fast)}.copy-btn:hover{background:var(--accent);color:#000;border-color:var(--accent)}.dashboard{min-height:100vh;padding:var(--space-xl) var(--space-2xl);max-width:960px;margin:0 auto}.dashboard-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2xl);padding-bottom:var(--space-lg);border-bottom:1px solid var(--border-subtle)}.dashboard-brand{font-size:var(--font-size-lg);font-weight:300;letter-spacing:4px;text-transform:uppercase}.dashboard-user{display:flex;align-items:center;gap:var(--space-md)}.dashboard-username{font-size:var(--font-size-xs);color:var(--text-muted);letter-spacing:1px;text-transform:uppercase}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:var(--space-md);gap:var(--space-md)}.project-card{border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--space-lg);cursor:pointer;transition:all var(--transition-fast);background:var(--bg-card)}.project-card:hover{border-color:var(--text-muted);background:var(--bg-hover);transform:translateY(-2px)}.project-card-new{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:140px;border-style:dashed;color:var(--text-muted);gap:var(--space-sm)}.project-card-new:hover{color:var(--accent);border-color:var(--accent)}.project-card-new-icon{font-size:var(--font-size-2xl);font-weight:200;line-height:1}.project-card-new-label{font-size:var(--font-size-xs);letter-spacing:2px;text-transform:uppercase}.project-card-title{font-size:var(--font-size-md);margin-bottom:var(--space-sm);color:var(--text-primary)}.project-card-meta{font-size:var(--font-size-xs);color:var(--text-muted)}.editor-layout{height:100vh}.editor-layout,.sidebar{display:flex;overflow:hidden}.sidebar{width:260px;min-width:260px;background:var(--bg-secondary);border-right:1px solid var(--border-color);flex-direction:column;transition:min-width var(--transition-normal),width var(--transition-normal)}.sidebar.collapsed{width:0;min-width:0}.sidebar-header{padding:var(--space-md);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between}.sidebar-brand{font-size:var(--font-size-xs);letter-spacing:3px;text-transform:uppercase;color:var(--text-muted);cursor:pointer;text-decoration:none}.sidebar-brand:hover{color:var(--text-primary)}.sidebar-toggle{font-size:var(--font-size-sm);color:var(--text-muted);padding:var(--space-xs);transition:color var(--transition-fast)}.sidebar-toggle:hover{color:var(--text-primary)}.sidebar-content{flex:1 1;overflow-y:auto;padding:var(--space-md)}.sidebar-section{margin-bottom:var(--space-md)}.sidebar-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-sm)}.sidebar-section-title{letter-spacing:2px;text-transform:uppercase}.sidebar-add-btn,.sidebar-section-title{font-size:var(--font-size-xs);color:var(--text-muted)}.sidebar-add-btn{padding:2px 6px;border:1px solid var(--border-color);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.sidebar-add-btn:hover{color:var(--accent);border-color:var(--accent)}.sidebar-tree-item{padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-xs);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;gap:var(--space-sm)}.sidebar-tree-item:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-tree-item.active{background:var(--accent-dim);color:var(--accent)}.sidebar-tree-item-indent{padding-left:var(--space-lg)}.sidebar-delete-btn{font-size:14px;color:var(--text-muted);opacity:0;background:none;border:none;cursor:pointer;transition:all var(--transition-fast);padding:0 4px;line-height:1}.sidebar-tree-item:hover .sidebar-delete-btn{opacity:1}.sidebar-delete-btn:hover{color:var(--danger)!important}.sidebar-episode-group{border-radius:var(--radius-sm);transition:background var(--transition-fast),border-color var(--transition-fast);border:1px solid transparent;margin-bottom:2px}.sidebar-episode-group.drop-target{border-color:var(--accent);background:rgba(196,163,90,.08)}.sidebar-draggable{cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.sidebar-draggable:active{cursor:-webkit-grabbing;cursor:grabbing}.sidebar-draggable.dragging,.sidebar-episode-group.dragging{opacity:.35}.sidebar-tree-item.drop-target{border-color:var(--accent);background:rgba(196,163,90,.12);box-shadow:0 0 0 1px var(--accent)}.sidebar-drag-handle{font-size:10px;color:var(--text-muted);opacity:0;transition:opacity var(--transition-fast);margin-right:4px;line-height:1;flex-shrink:0}.sidebar-tree-item:hover .sidebar-drag-handle{opacity:.6}.sidebar-drag-handle:hover{opacity:1!important;color:var(--text-primary)}.sidebar-episode-group.unlinked{opacity:.45;border-left:2px dashed var(--text-muted);padding-left:4px}.sidebar-episode-group.unlinked:hover{opacity:.7}.sidebar-branch-btn{font-size:10px;color:var(--text-muted);opacity:0;background:none;border:none;cursor:pointer;transition:all var(--transition-fast);padding:0 4px;line-height:1;flex-shrink:0}.sidebar-tree-item:hover .sidebar-branch-btn{opacity:1}.sidebar-branch-btn.linked{color:var(--accent);opacity:.6}.sidebar-tree-item:hover .sidebar-branch-btn.linked{opacity:1}.sidebar-branch-btn:hover{color:var(--accent)!important;transform:scale(1.3)}.editor-main{flex:1 1;display:flex;flex-direction:column;overflow:hidden}.toolbar{justify-content:space-between;padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border-color);background:var(--bg-secondary);min-height:44px}.toolbar,.toolbar-left{display:flex;align-items:center}.toolbar-left{gap:var(--space-md)}.toolbar-right{display:flex;align-items:center;gap:var(--space-sm)}.toolbar-element-type{font-size:var(--font-size-xs);letter-spacing:2px;text-transform:uppercase;color:var(--accent);background:var(--accent-dim);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);min-width:120px;text-align:center}.toolbar-save-status{font-size:var(--font-size-xs);color:var(--text-muted);letter-spacing:1px}.toolbar-save-status.saving{color:var(--accent)}.toolbar-save-status.saved{color:var(--success)}.toolbar-project-title{font-size:var(--font-size-sm);color:var(--text-secondary);background:transparent;border:none;border-bottom:1px solid transparent;outline:none;padding:2px 4px;transition:all var(--transition-fast)}.toolbar-project-title:hover{border-bottom-color:var(--border-color)}.toolbar-project-title:focus{border-bottom-color:var(--accent);color:var(--text-primary)}.screenplay-container{flex:1 1;overflow-y:auto;display:flex;justify-content:center;align-items:flex-start;padding:var(--space-xl) var(--space-md);background:var(--bg-primary)}.screenplay-page{width:8.5in;min-height:11in;padding:1in 1in 1in 1.5in!important;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);box-sizing:border-box}@media (max-width:8.5in){.screenplay-page{width:100%;padding:.5in .5in .5in .75in!important}}.screenplay-element{outline:none;font-family:Courier New,Courier,monospace!important;font-size:12pt!important;line-height:1.2!important;white-space:pre-wrap;word-wrap:break-word;position:relative;transition:background var(--transition-fast);border-left:2px solid transparent;box-sizing:border-box}.screenplay-element:focus{border-left-color:var(--accent);background:rgba(196,163,90,.03)}.screenplay-element.empty:before{content:attr(data-placeholder);color:var(--text-muted);font-style:italic;pointer-events:none;position:absolute}.element-slugline{text-transform:uppercase;font-weight:700;margin-top:2.4em;margin-bottom:1.2em;max-width:60ch;margin-left:0}.element-action{margin-top:1.2em;margin-bottom:0;max-width:60ch;margin-left:0}.element-character{text-transform:uppercase;margin-top:1.2em;margin-bottom:0;margin-left:20ch;max-width:40ch}.element-parenthetical{font-style:italic;margin-top:0;margin-bottom:0;margin-left:16ch;max-width:30ch}.element-dialogue{margin-top:0;margin-bottom:0;margin-left:10ch;max-width:35ch}.element-transition{text-transform:uppercase;text-align:right;margin-top:1.2em;margin-bottom:1.2em;margin-left:0;max-width:60ch}.screenplay-structure-header{font-size:var(--font-size-xs);color:var(--text-muted);letter-spacing:3px;text-transform:uppercase;padding:var(--space-lg) 0 var(--space-sm);border-bottom:1px solid var(--border-subtle);margin-bottom:var(--space-md);-webkit-user-select:none;-moz-user-select:none;user-select:none}.dropdown{position:relative}.dropdown-menu{position:absolute;top:100%;right:0;margin-top:var(--space-xs);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);min-width:160px;z-index:100;opacity:0;pointer-events:none;transform:translateY(-4px);transition:all var(--transition-fast)}.dropdown-menu.open{opacity:1;pointer-events:auto;transform:translateY(0)}.dropdown-item{display:block;width:100%;text-align:left;padding:var(--space-sm) var(--space-md);font-size:var(--font-size-xs);color:var(--text-secondary);letter-spacing:1px;text-transform:uppercase;transition:all var(--transition-fast)}.dropdown-item:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:200;animation:fadeIn .15s ease}.modal{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-xl);width:100%;max-width:400px}.modal-title{font-size:var(--font-size-md);letter-spacing:2px;text-transform:uppercase;margin-bottom:var(--space-lg)}.modal-actions{display:flex;gap:var(--space-sm);justify-content:flex-end;margin-top:var(--space-lg)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.loading{display:flex;align-items:center;justify-content:center;min-height:100vh;color:var(--text-muted);font-size:var(--font-size-xs);letter-spacing:3px;text-transform:uppercase}.loading:after{content:"";display:inline-block;width:12px;height:12px;border:1px solid var(--text-muted);border-top-color:var(--accent);border-radius:50%;margin-left:var(--space-md);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.keyboard-hint{position:fixed;bottom:var(--space-md);right:var(--space-md);font-size:var(--font-size-xs);color:var(--text-muted);letter-spacing:1px;opacity:.5}kbd{display:inline-block;padding:1px 5px;border:1px solid var(--border-color);border-radius:3px;font-family:var(--font-mono);font-size:10px;background:var(--bg-tertiary);margin:0 2px}.screenplay-container.page-view{background:var(--bg-tertiary);padding:40px 20px;overflow-y:auto;height:calc(100vh - 64px)}.pages-wrapper{display:flex;flex-direction:column;align-items:center;gap:30px}.preview-sheet{background:#ffffff!important;width:8.5in;height:11in;min-height:11in;padding:1in 1in 1in 1.5in!important;box-shadow:0 10px 30px rgba(0,0,0,.25);border:1px solid #e0e0e0!important;position:relative;box-sizing:border-box;overflow:hidden;text-align:left}.preview-sheet,.preview-sheet .screenplay-element{color:#111111!important}.preview-sheet .screenplay-element.empty:before{content:""!important}.screenplay-page-number{position:absolute;top:.5in;right:1in;font-family:Courier New,Courier,monospace;font-size:12pt;color:#555555;pointer-events:none}.cover-page{display:flex;flex-direction:column;justify-content:space-between}.cover-title-group{margin-top:3.5in;text-align:center;font-family:Courier New,Courier,monospace;font-size:12pt;color:#111111}.cover-title{font-weight:700;font-size:14pt;text-transform:uppercase}.cover-by,.cover-title{margin-bottom:24px}.cover-author{font-weight:700}.cover-comments{margin-top:24px;font-size:11pt;white-space:pre-wrap;text-align:center;line-height:1.4}.cover-bottom-group{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:.5in;font-family:Courier New,Courier,monospace;font-size:12pt;color:#111111}.cover-contact{text-align:left}.cover-contact,.cover-date{white-space:pre-line;line-height:1.4}.cover-date{text-align:right}.export-preview-overlay{position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:250;display:flex;flex-direction:column;animation:fadeIn .2s ease}.export-preview-header{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);padding:var(--space-md) var(--space-xl);display:flex;justify-content:space-between;align-items:center}.export-preview-info h3{margin:0;font-size:var(--font-size-md);text-transform:uppercase;letter-spacing:1.5px}.export-preview-info span{font-size:var(--font-size-xs);color:var(--text-muted)}.export-preview-actions{display:flex;gap:var(--space-md)}.export-preview-body{flex:1 1;overflow-y:auto;padding:40px 20px;background:#111111;display:flex;justify-content:center}.export-preview-pages{display:flex;flex-direction:column;gap:40px;align-items:center}