.password-gate{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg)}.password-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:2.5rem 2rem;box-shadow:var(--shadow);width:100%;max-width:360px;display:flex;flex-direction:column;gap:1rem;text-align:center}.password-box h1{font-size:1.5rem;color:var(--primary)}.password-box p{color:var(--muted);font-size:.9rem}.password-box form{display:flex;flex-direction:column;gap:.75rem}.password-box input[type=password]{border:1px solid var(--border);border-radius:var(--radius);padding:.625rem .875rem;font-size:1rem;text-align:center;letter-spacing:.1em;width:100%}.password-box input[type=password]:focus{outline:none;border-color:var(--primary)}.password-error{color:var(--error-text);font-size:.875rem;margin:0}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #f9fafb;--surface: #ffffff;--border: #e5e7eb;--text: #111827;--muted: #6b7280;--primary: #2563eb;--primary-hover: #1d4ed8;--error-bg: #fef2f2;--error-border: #fca5a5;--error-text: #991b1b;--notice-bg: #fffbeb;--notice-border: #fcd34d;--radius: 8px;--shadow: 0 1px 3px rgba(0,0,0,.1)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;font-size:15px}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{background:var(--surface);border-bottom:1px solid var(--border);padding:1rem 1.5rem;text-align:center}.app-header h1{font-size:1.6rem;font-weight:700;color:var(--primary)}.app-subtitle{color:var(--muted);font-size:.875rem;margin-top:.25rem}.app-main{flex:1;max-width:720px;width:100%;margin:2rem auto;padding:0 1rem}.form-container{display:flex;flex-direction:column;gap:1.5rem}.persona-summary{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.25rem;box-shadow:var(--shadow)}.persona-summary h3{font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:.75rem}.persona-summary ul{list-style:none;display:flex;flex-direction:column;gap:.4rem}.persona-summary li{font-size:.875rem}.persona-summary .nickname{color:var(--muted);font-style:italic}.persona-summary .tagline{color:var(--muted)}.rate-limit-notice{background:var(--notice-bg);border:1px solid var(--notice-border);border-radius:var(--radius);padding:.625rem 1rem;font-size:.8125rem;color:#92400e}.generate-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:1.25rem}.field{display:flex;flex-direction:column;gap:.375rem}.field label{font-weight:600;font-size:.875rem}.field textarea,.field input[type=number],.field select{border:1px solid var(--border);border-radius:var(--radius);padding:.5rem .75rem;font-size:.9375rem;font-family:inherit;color:var(--text);background:var(--bg);transition:border-color .15s}.field textarea:focus,.field input:focus,.field select:focus{outline:none;border-color:var(--primary)}.field textarea{resize:vertical;min-height:100px}.char-count{font-size:.75rem;color:var(--muted);text-align:right}.char-count.over{color:var(--error-text);font-weight:600}.field-hint{font-size:.75rem;color:var(--muted)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media (max-width: 480px){.field-row{grid-template-columns:1fr}}.error-box{background:var(--error-bg);border:1px solid var(--error-border);border-radius:var(--radius);padding:.75rem 1rem;font-size:.875rem;color:var(--error-text)}.btn-primary{background:var(--primary);color:#fff;border:none;border-radius:var(--radius);padding:.625rem 1.25rem;font-size:.9375rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;transition:background .15s}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.loading-note{font-size:.8125rem;color:var(--muted)}.spinner{display:inline-block;width:1rem;height:1rem;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.spinner.large{width:2rem;height:2rem;border-color:var(--border);border-top-color:var(--primary)}@keyframes spin{to{transform:rotate(360deg)}}.loading-state,.error-state{text-align:center;padding:3rem 1rem;display:flex;flex-direction:column;align-items:center;gap:1rem}.transcript-container{display:flex;flex-direction:column;gap:1.25rem}.transcript-header h2{font-size:1.25rem}.transcript-scene{color:var(--muted);font-size:.875rem;margin-top:.25rem}.transcript-count{font-size:.8125rem;color:var(--muted)}.share-bar{display:flex;align-items:center;gap:.5rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.625rem .875rem;font-size:.875rem;flex-wrap:wrap}.share-bar span{color:var(--muted);white-space:nowrap}.share-input{flex:1;min-width:0;border:1px solid var(--border);border-radius:4px;padding:.25rem .5rem;font-size:.8125rem;color:var(--muted);background:var(--bg)}.btn-copy{background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:.25rem .75rem;font-size:.8125rem;cursor:pointer;white-space:nowrap;transition:background .15s}.btn-copy:hover{background:var(--border)}.messages{display:flex;flex-direction:column;gap:.75rem}.message-wrapper{display:flex;flex-direction:column;gap:.2rem}.message-speaker{font-size:.75rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;padding-left:.875rem}.message-bubble{background:var(--surface);border:1px solid var(--border);border-left:3px solid;border-radius:var(--radius);padding:.625rem .875rem;font-size:.9375rem;line-height:1.5;box-shadow:var(--shadow);max-width:85%}.transcript-footer{padding-top:.5rem}
