@font-face{font-family:BroDisplay;src:local("Impact"),local("Haettenschweiler"),local("Arial Narrow Bold");font-weight:700}:root{--midnight: #0a0a0f;--gold: #c9a84c;--gold-dim: #8a7235;--gold-bright: #e8c65a;--chrome: #d4d4d8;--chrome-dim: #71717a;--white: #fafafa;--carbon: #18181b;--carbon-light: #27272a;--ritalin-blue: #4a8fb8;--ritalin-dim: #2d5a75}*{margin:0;padding:0;box-sizing:border-box}body{background:var(--midnight);color:var(--chrome);font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh}.app{max-width:640px;margin:0 auto;padding:48px 40px}.header{border-bottom:3px solid var(--gold);padding-bottom:28px;margin-bottom:32px}.name{font-family:BroDisplay,Impact,Arial Black,sans-serif;font-size:48px;line-height:1.05;color:var(--white);letter-spacing:3px;text-transform:uppercase;text-align:center}.name .g{color:var(--gold)}.tagline{font-size:13px;letter-spacing:4px;text-transform:uppercase;color:var(--gold);margin-top:8px;text-align:center}.subtitle{font-size:11px;color:var(--chrome-dim);margin-top:4px;letter-spacing:1px;text-align:center}.badges{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap;justify-content:center}.badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border:1px solid var(--gold-dim);font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--gold)}.badge.rx{border-color:var(--ritalin-dim);color:var(--ritalin-blue)}.badge .commas{font-size:18px;letter-spacing:1px}.section-title{font-family:BroDisplay,Impact,Arial Black,sans-serif;font-size:14px;letter-spacing:5px;text-transform:uppercase;color:var(--gold);border-bottom:1px solid var(--carbon-light);padding-bottom:6px;margin-bottom:16px;margin-top:32px}textarea{width:100%;min-height:180px;padding:16px;background:var(--carbon);border:1px solid var(--carbon-light);color:var(--chrome);font-size:14px;line-height:1.6;resize:vertical;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 1px var(--gold-dim)}textarea::placeholder{color:var(--chrome-dim);font-style:italic}button{width:100%;margin-top:16px;padding:14px;background:var(--gold);color:var(--midnight);border:none;font-size:12px;cursor:pointer;font-weight:700;letter-spacing:4px;text-transform:uppercase;font-family:BroDisplay,Impact,Arial Black,sans-serif;transition:all .15s}button:hover{background:var(--gold-bright);box-shadow:0 2px 16px #c9a84c40}button:disabled{background:var(--carbon-light);color:var(--chrome-dim);cursor:not-allowed;box-shadow:none}.status{margin-top:16px;padding:10px 14px;background:var(--carbon);border-left:3px solid var(--gold-dim);font-size:12px;color:var(--chrome-dim);letter-spacing:.5px;display:none}.status.visible{display:block}.status.error{border-left-color:#b83a3a;color:#e87c7c}.result{margin-top:24px;display:none}.result.visible{display:block}.result audio{width:100%}.script-box{margin-top:16px}.script-box summary{cursor:pointer;color:var(--chrome-dim);font-size:10px;padding:8px 0;-webkit-user-select:none;user-select:none;letter-spacing:3px;text-transform:uppercase}.script-box summary:hover{color:var(--gold)}.script-text{margin-top:8px;padding:16px;background:var(--carbon);border:1px solid var(--carbon-light);font-size:13px;line-height:1.7;white-space:pre-wrap;max-height:400px;overflow-y:auto;color:var(--chrome-dim)}.footer{margin-top:48px;padding-top:24px;border-top:1px solid var(--carbon-light);text-align:center}.footer .sig{font-family:BroDisplay,Impact,Arial Black,sans-serif;font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--chrome-dim)}.footer .device{font-size:10px;color:var(--chrome-dim);margin-top:2px;font-style:italic;letter-spacing:.5px}.footer .doors{font-size:9px;color:var(--gold-dim);margin-top:8px;letter-spacing:2px;text-transform:uppercase}.spinner{display:inline-block;width:12px;height:12px;border:2px solid var(--carbon-light);border-top-color:var(--gold);border-radius:50%;animation:spin .7s linear infinite;margin-right:8px;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:500px){.app{padding:24px 20px}.name{font-size:36px}}
