@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Courier+Prime:wght@400;700&display=swap";:root{--color-primary: #8A1F2A;--color-primary-light: #A62835;--color-primary-dark: #6B1821;--color-secondary: #1E2A40;--color-secondary-light: #2A3B5C;--color-secondary-dark: #151F30;--color-bg-primary: #0A0A0B;--color-bg-secondary: #121214;--color-bg-tertiary: #1A1A1D;--color-bg-elevated: #232326;--color-text-primary: #F0F0F1;--color-text-secondary: #C0C0C3;--color-text-tertiary: #8E8E92;--color-border: #2A2A2D;--color-border-focus: var(--color-primary);--color-success: #2D7A4F;--color-warning: #C58C28;--color-error: #B93D3D;--color-info: #2D6A9F;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "Courier Prime", "Courier New", monospace;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .5);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .6);--glow-primary: 0 0 20px rgba(138, 31, 42, .4);--glow-secondary: 0 0 20px rgba(30, 42, 64, .4);--transition-fast: .15s ease-in-out;--transition-base: .25s ease-in-out;--transition-slow: .35s ease-in-out}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%;overflow:hidden}body{font-family:var(--font-family);font-size:16px;line-height:1.6;color:var(--color-text-primary);background-color:var(--color-bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;color:var(--color-text-primary);margin-bottom:var(--spacing-md)}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-bottom:var(--spacing-md);color:var(--color-text-secondary)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-light)}.container{max-width:1280px;margin:0 auto;padding:0 var(--spacing-lg)}.flex{display:flex}.flex-col{display:flex;flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}button{font-family:var(--font-family);cursor:pointer;border:none;outline:none;transition:all var(--transition-base)}button:disabled{opacity:.5;cursor:not-allowed}input,textarea,select{font-family:var(--font-family);font-size:1rem;color:var(--color-text-primary);background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-base);outline:none}input:focus,textarea:focus,select:focus{border-color:var(--color-border-focus);box-shadow:var(--glow-primary)}textarea{resize:vertical;min-height:100px}.card{background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md);transition:all var(--transition-base)}.card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-lg),var(--glow-primary);transform:translateY(-2px)}.panel{background-color:var(--color-bg-elevated);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-lg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);font-weight:500;border-radius:var(--radius-md);transition:all var(--transition-base);white-space:nowrap}.btn-primary{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover{background:linear-gradient(135deg,var(--color-primary-light),var(--color-primary));box-shadow:var(--shadow-md),var(--glow-primary);transform:translateY(-1px)}.btn-secondary{background-color:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-secondary:hover{background-color:var(--color-bg-elevated);border-color:var(--color-primary)}.btn-ghost{background-color:transparent;color:var(--color-text-secondary)}.btn-ghost:hover{background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.fade-in{animation:fadeIn var(--transition-base)}.slide-in{animation:slideIn var(--transition-base)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}.screenplay-editor{font-family:var(--font-mono);font-size:12pt;line-height:1.5;background-color:var(--color-bg-primary);color:var(--color-text-primary);padding:2rem;max-width:850px;margin:0 auto}.screenplay-editor .cm-editor{background-color:transparent!important;color:var(--color-text-primary)!important}.screenplay-editor .cm-scroller{font-family:var(--font-mono);padding:2rem 0}.screenplay-editor .cm-line{color:var(--color-text-primary)}.screenplay-editor .cm-content{caret-color:var(--color-primary)}.screenplay-editor .cm-line.scene-heading{font-weight:700;text-transform:uppercase;margin-top:1.5rem;margin-bottom:.5rem;color:var(--color-text-primary)}.screenplay-editor .cm-line.character{text-align:center;margin-left:35%;margin-top:1rem;font-weight:700;color:var(--color-text-primary)}.screenplay-editor .cm-line.dialogue{margin-left:25%;max-width:50%;color:var(--color-text-secondary)}.screenplay-editor .cm-line.parenthetical{margin-left:30%;max-width:40%;font-style:italic;color:var(--color-text-tertiary)}.screenplay-editor .cm-line.action{color:var(--color-text-primary);margin-bottom:.5rem}.screenplay-editor .cm-line.transition{text-align:right;font-weight:700;margin-top:1rem;margin-bottom:1rem;color:var(--color-text-primary)}.screenplay-editor .cm-gutters{background-color:transparent;border:none}.screenplay-editor .cm-activeLineGutter{background-color:#8a1f2a1a}@media (max-width: 768px){h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.5rem}.container{padding:0 var(--spacing-md)}.screenplay-editor{padding:1rem;font-size:11pt}}
