:root {
  color-scheme: dark;
  --ink: #f4f1e9;
  --muted: #a6adbb;
  --panel: rgba(20, 28, 42, .82);
  --panel-strong: #171f2f;
  --line: rgba(255, 255, 255, .09);
  --gold: #e6b96a;
  --gold-light: #f4d497;
  --green: #58d6a3;
  --shadow: 0 32px 90px rgba(0, 0, 0, .42);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; color: var(--ink); background: #0b111b; overflow-x: hidden; }
body::before { content: ""; position: fixed; inset: 0; pointer-events: none; opacity: .035; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E"); }
.ambient { position: fixed; width: 48rem; height: 48rem; border-radius: 50%; filter: blur(110px); opacity: .16; pointer-events: none; }
.ambient-one { background: #a8752c; right: -20rem; top: -24rem; }
.ambient-two { background: #274f73; left: -24rem; bottom: -28rem; }
.shell { width: min(1050px, calc(100% - 36px)); margin: 0 auto; padding: 28px 0 24px; position: relative; }
.topbar { display: flex; justify-content: space-between; align-items: center; }
.top-actions { display: flex; align-items: center; gap: 10px; }
.brand { display: flex; align-items: center; gap: 13px; color: var(--ink); text-decoration: none; }
.brand-mark, .avatar { display: grid; place-items: center; color: #151a22; background: linear-gradient(145deg, var(--gold-light), #b9772a); font-family: Georgia, serif; font-weight: 700; }
.brand-mark { width: 39px; height: 39px; border-radius: 12px 12px 12px 4px; font-size: 22px; box-shadow: 0 8px 28px rgba(225, 172, 84, .2); }
.brand strong { display: block; font-family: Georgia, serif; font-size: 17px; letter-spacing: .02em; }
.brand span { color: var(--muted); font-size: 11px; letter-spacing: .04em; }
.service-state { display: flex; align-items: center; gap: 9px; color: var(--muted); border: 1px solid var(--line); background: rgba(255,255,255,.025); padding: 9px 13px; border-radius: 99px; font-size: 12px; }
.service-state i { width: 7px; height: 7px; border-radius: 50%; background: #7c8491; box-shadow: 0 0 0 4px rgba(124,132,145,.1); }
.service-state.online i { background: var(--green); box-shadow: 0 0 0 4px rgba(88,214,163,.11); }
.service-state.warn i { background: #f0a05b; }
.user-button { display: flex; align-items: center; gap: 9px; height: 39px; padding: 4px 12px 4px 5px; border: 1px solid var(--line); border-radius: 99px; color: #d8dbe1; background: rgba(255,255,255,.025); cursor: pointer; }
.user-button span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; color: #171b22; background: linear-gradient(145deg, var(--gold-light), #b9772a); font-size: 10px; font-weight: 900; }
.user-button strong { max-width: 110px; overflow: hidden; text-overflow: ellipsis; font-size: 11px; white-space: nowrap; }
.hero { text-align: center; padding: 76px 16px 48px; }
.studio-hero { padding: 58px 16px 38px; transition: opacity .2s, transform .2s; }
.studio-hero[hidden] { display: none; }
.studio-hero h1 { font-size: clamp(38px, 6vw, 64px); }
.intro-button { margin-top: 23px; padding: 11px 17px; border: 1px solid rgba(230,185,106,.28); border-radius: 99px; color: var(--gold-light); background: rgba(230,185,106,.07); cursor: pointer; font-weight: 800; }
.studio-nav { display: flex; align-items: center; gap: 18px; margin-left: auto; margin-right: 18px; }
.studio-nav a, .studio-nav button { padding: 7px 0; border: 0; color: var(--muted); background: transparent; text-decoration: none; cursor: pointer; font-size: 11px; font-weight: 700; }
.studio-nav a:hover, .studio-nav button:hover { color: var(--gold-light); }
.eyebrow { margin: 0 0 18px; color: var(--gold); font-weight: 700; font-size: 11px; letter-spacing: .24em; }
h1 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(42px, 7vw, 74px); font-weight: 400; line-height: .98; letter-spacing: -.045em; }
h1 em { font-weight: 400; color: var(--gold-light); }
.intro { max-width: 640px; margin: 25px auto 0; color: var(--muted); font-size: 15px; line-height: 1.75; }
.studio { border: 1px solid var(--line); border-radius: 25px; background: linear-gradient(145deg, rgba(24,33,50,.9), rgba(14,20,31,.94)); box-shadow: var(--shadow); overflow: hidden; backdrop-filter: blur(22px); }
.conversation { max-height: 620px; overflow-y: auto; padding: 31px 34px 17px; border-bottom: 1px solid var(--line); }
.message { display: flex; align-items: flex-start; gap: 13px; margin-bottom: 20px; animation: rise .35s ease both; }
.message.user { justify-content: flex-end; }
.avatar { flex: 0 0 auto; width: 32px; height: 32px; border-radius: 10px 10px 10px 3px; font-size: 15px; }
.bubble { max-width: 78%; padding: 15px 18px; border: 1px solid var(--line); background: rgba(255,255,255,.035); border-radius: 4px 18px 18px 18px; }
.user .bubble { background: rgba(230,185,106,.11); border-color: rgba(230,185,106,.22); border-radius: 18px 4px 18px 18px; }
.bubble p { margin: 0; color: #d9dce2; line-height: 1.6; font-size: 14px; white-space: pre-wrap; }
.message-label { display: block; color: var(--gold); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .12em; margin-bottom: 7px; }
.composer { padding: 25px 34px 30px; position: relative; }
.field-label, .input-group > span:first-child { display: block; color: #d8dbe1; font-size: 12px; font-weight: 700; margin-bottom: 9px; }
textarea, input, select { width: 100%; color: var(--ink); border: 1px solid rgba(255,255,255,.11); background: rgba(7,12,20,.45); border-radius: 13px; outline: none; font: inherit; transition: border .2s, box-shadow .2s, background .2s; }
textarea { min-height: 150px; resize: vertical; padding: 16px 17px 28px; font-size: 14px; line-height: 1.62; }
input, select { height: 46px; padding: 0 13px; font-size: 13px; }
textarea:focus, input:focus, select:focus { border-color: rgba(230,185,106,.58); background: rgba(7,12,20,.7); box-shadow: 0 0 0 3px rgba(230,185,106,.08); }
::placeholder { color: #687180; }
.char-count { position: absolute; top: 192px; right: 51px; color: #687180; font-size: 10px; }
.two-column { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 20px; }
.input-group small { color: #727b89; font-weight: 400; }
.custom-background { display: block; margin-top: 14px; }
.custom-background[hidden] { display: none; }
.auto-background-note { margin: 10px 0 0; color: #737e8d; font-size: 10px; line-height: 1.55; }
.prompt-field { display: block; margin-top: 20px; }
.prompt-field textarea { min-height: 82px; padding-bottom: 16px; }
.input-with-icon { display: block; position: relative; }
.input-with-icon svg { position: absolute; width: 18px; height: 18px; fill: #c47a6b; left: 13px; top: 14px; }
.input-with-icon input { padding-left: 40px; }
.direction-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-top: 21px; }
.style-chips { display: flex; gap: 7px; flex-wrap: wrap; }
.chip { cursor: pointer; border: 1px solid var(--line); color: #aeb4bf; background: rgba(255,255,255,.025); padding: 8px 11px; border-radius: 99px; font-size: 11px; transition: .2s; }
.chip:hover { color: #fff; border-color: rgba(230,185,106,.32); }
.chip.active { color: #1a1d22; border-color: var(--gold); background: var(--gold); font-weight: 700; }
.voice-select { width: 205px; color: #d8dbe1; font-size: 12px; font-weight: 700; }
.voice-select select { margin-top: 9px; }
.send-button { width: 100%; height: 53px; margin-top: 25px; border: 0; border-radius: 14px; color: #171b22; background: linear-gradient(110deg, #e9c176, #c88a3d); font-weight: 800; font-size: 13px; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 10px; box-shadow: 0 12px 30px rgba(187,126,46,.18); transition: transform .18s, filter .18s; }
.send-button:hover { transform: translateY(-1px); filter: brightness(1.06); }
.send-button:disabled { cursor: wait; opacity: .55; transform: none; }
.send-button svg { width: 17px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.provider-notice { display: grid; gap: 5px; margin-top: 22px; padding: 13px 15px; border: 1px solid rgba(98,168,226,.2); border-radius: 12px; background: rgba(73,137,191,.07); }
.provider-notice strong { color: #b9d9f3; font-size: 11px; }
.provider-notice span { color: var(--muted); font-size: 11px; line-height: 1.55; }
.provider-notice.warning { border-color: rgba(240,160,91,.24); background: rgba(240,160,91,.07); }
.working p::after { content: ""; display: inline-block; width: 16px; animation: dots 1.2s steps(4,end) infinite; }
.error-card { border-color: rgba(255,120,105,.25); }
.draft-card { width: min(690px, 100%); max-width: 88%; }
.draft-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.draft-head small { display: block; color: var(--muted); font-size: 10px; }
.draft-badge { padding: 4px 7px; border-radius: 99px; color: var(--green); background: rgba(88,214,163,.08); font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.draft-text { min-height: 260px; margin-top: 15px; padding-bottom: 16px; background: rgba(4,9,15,.48); }
.draft-disclosure { margin: 10px 0 !important; color: var(--muted) !important; font-size: 11px !important; }
.draft-feedback { min-height: 70px; padding-bottom: 14px; }
.draft-actions, .button-row { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 9px; margin-top: 12px; }
.secondary-small { height: 42px; padding: 0 18px; border: 1px solid rgba(230,185,106,.25); border-radius: 11px; color: var(--gold-light); background: rgba(230,185,106,.06); cursor: pointer; font-weight: 800; }
.primary-small:disabled, .secondary-small:disabled { cursor: wait; opacity: .55; }
.player { min-width: min(580px, 100%); }
.player-head { display: flex; justify-content: space-between; gap: 20px; align-items: center; }
.track-title { font-family: Georgia, serif; font-size: 17px; margin: 1px 0 5px; }
.track-meta { color: var(--muted); font-size: 11px; }
.live-pill { color: #5fe0aa; border: 1px solid rgba(95,224,170,.24); background: rgba(95,224,170,.07); border-radius: 99px; padding: 6px 9px; font-size: 9px; font-weight: 800; letter-spacing: .13em; }
.visualizer { height: 55px; display: flex; align-items: center; gap: 3px; margin: 15px 0 9px; padding: 0 2px; overflow: hidden; }
.visualizer i { display: block; width: 3px; height: var(--h); max-height: 43px; min-height: 3px; border-radius: 99px; background: linear-gradient(#ebc986, #916b36); opacity: .55; transform-origin: center; }
.player.playing .visualizer i { animation: wave .8s ease-in-out infinite alternate; animation-delay: var(--d); opacity: .95; }
.progress-line { height: 3px; background: rgba(255,255,255,.08); border-radius: 9px; overflow: hidden; }
.progress-line span { display: block; height: 100%; width: 0; background: var(--gold); transition: width .3s ease; }
.player-controls { display: flex; align-items: center; justify-content: space-between; margin-top: 14px; }
.player-controls button { cursor: pointer; border: 1px solid rgba(230,185,106,.25); background: rgba(230,185,106,.09); color: var(--gold-light); padding: 9px 13px; border-radius: 10px; font-weight: 700; }
.player-controls button.stop { border-color: var(--line); color: var(--muted); background: rgba(255,255,255,.025); }
.player-status { color: var(--muted); font-size: 11px; }
.error-text { color: #ff9b8d !important; }
footer { display: flex; justify-content: center; align-items: center; gap: 13px; color: #5f6876; font-size: 10px; letter-spacing: .05em; padding: 25px 0 0; }
footer i { width: 3px; height: 3px; background: #5f6876; border-radius: 50%; }
.site-footer { flex-wrap: wrap; }
.site-footer a { color: #7d8796; text-decoration: none; }
.site-footer a:hover { color: var(--gold-light); }
.site-footer p { flex: 0 0 100%; margin: 1px 0 0; text-align: center; line-height: 1.5; }
.content-shell { width: min(820px, calc(100% - 36px)); margin: 0 auto; padding: 28px 0 60px; position: relative; }
.content-nav { display: flex; align-items: center; justify-content: space-between; margin-bottom: 55px; }
.content-nav .brand { color: var(--ink); text-decoration: none; }
.back-link { color: var(--gold-light); text-decoration: none; font-size: 12px; }
.content-hero { margin-bottom: 28px; }
.content-hero h1 { font-size: clamp(38px, 6vw, 62px); }
.content-card { padding: clamp(24px, 5vw, 48px); border: 1px solid var(--line); border-radius: 24px; background: linear-gradient(145deg, rgba(24,33,50,.9), rgba(14,20,31,.94)); box-shadow: var(--shadow); }
.content-card h2 { margin: 34px 0 10px; color: var(--gold-light); font: 400 25px Georgia, serif; }
.content-card h2:first-child { margin-top: 0; }
.content-card h3 { margin: 24px 0 8px; font: 400 18px Georgia, serif; }
.content-card p, .content-card li { color: #c4cad3; font-size: 14px; line-height: 1.75; }
.content-card ol, .content-card ul { padding-left: 21px; }
.content-card .callout { padding: 16px 18px; border: 1px solid rgba(230,185,106,.2); border-radius: 13px; background: rgba(230,185,106,.06); }
.landing-shell { width: min(1180px, calc(100% - 40px)); margin: 0 auto; padding: 26px 0 32px; position: relative; }
.landing-nav { display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.landing-nav nav { display: flex; align-items: center; gap: 23px; }
.landing-nav nav a { color: var(--muted); text-decoration: none; font-size: 11px; font-weight: 700; }
.landing-nav nav a:hover { color: var(--gold-light); }
.landing-nav .nav-login { margin-left: 12px; }
.landing-nav .nav-cta { padding: 10px 14px; border-radius: 99px; color: #171b22; background: var(--gold); }
.landing-hero { display: grid; grid-template-columns: 1.18fr .82fr; align-items: center; gap: 70px; min-height: 690px; padding: 75px 20px 70px; }
.landing-hero h1 { font-size: clamp(52px, 7vw, 83px); }
.landing-hero .intro { margin-left: 0; text-align: left; }
.landing-actions { display: flex; align-items: center; gap: 22px; margin-top: 31px; }
.cta-button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 20px; border-radius: 13px; color: #171b22; background: linear-gradient(110deg, #e9c176, #c88a3d); text-decoration: none; font-size: 12px; font-weight: 900; box-shadow: 0 12px 30px rgba(187,126,46,.18); }
.text-link { color: var(--gold-light); text-decoration: none; font-size: 11px; font-weight: 800; }
.landing-preview { position: relative; padding: 38px; overflow: hidden; border: 1px solid var(--line); border-radius: 25px; background: linear-gradient(145deg, rgba(28,39,59,.94), rgba(13,19,29,.96)); box-shadow: var(--shadow); }
.landing-preview::before { content: ""; position: absolute; width: 260px; height: 260px; right: -100px; top: -120px; border-radius: 50%; background: rgba(230,185,106,.1); filter: blur(25px); }
.preview-tag { color: var(--gold); font-size: 9px; font-weight: 900; letter-spacing: .2em; }
.preview-wave { display: grid; place-items: center; width: 84px; height: 84px; margin: 38px 0 34px; border: 1px solid rgba(230,185,106,.25); border-radius: 50%; color: var(--gold); background: rgba(230,185,106,.06); font: 400 28px Georgia, serif; }
.landing-preview h2 { max-width: 360px; margin: 0; font: 400 34px/1.1 Georgia, serif; }
.landing-preview p { color: var(--muted); font-size: 12px; }
.preview-steps { display: flex; gap: 8px; margin-top: 28px; }
.preview-steps span { padding: 7px 9px; border: 1px solid var(--line); border-radius: 99px; color: #8f98a7; font-size: 8px; font-weight: 800; }
.landing-section { padding: 90px 20px; border-top: 1px solid var(--line); }
.landing-section > h2 { max-width: 680px; margin: 0 0 44px; font: 400 clamp(34px, 5vw, 54px)/1.05 Georgia, serif; }
.feature-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.feature-grid article { min-height: 230px; padding: 26px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255,255,255,.02); }
.feature-grid b { color: var(--gold); font-size: 10px; letter-spacing: .12em; }
.feature-grid h3 { margin: 46px 0 10px; font: 400 20px Georgia, serif; }
.feature-grid p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.65; }
.landing-quote { padding: 95px 20px; text-align: center; }
.landing-quote p { max-width: 850px; margin: 0 auto 35px; color: var(--gold-light); font: italic 400 clamp(30px, 5vw, 52px)/1.15 Georgia, serif; }
.modal-backdrop { position: fixed; z-index: 20; inset: 0; display: grid; place-items: center; padding: 24px; background: rgba(3,7,12,.76); backdrop-filter: blur(14px); }
.modal-backdrop[hidden] { display: none; }
.profile-modal { width: min(740px, 100%); max-height: min(850px, calc(100vh - 40px)); overflow-y: auto; border: 1px solid var(--line); border-radius: 24px; background: #131c2a; box-shadow: 0 35px 100px rgba(0,0,0,.6); }
.profile-modal > header { display: flex; justify-content: space-between; align-items: flex-start; padding: 27px 30px 20px; }
.profile-modal .eyebrow { margin-bottom: 7px; }
.profile-modal h2 { margin: 0; font: 400 29px Georgia, serif; }
.profile-modal h3 { margin: 0 0 5px; font: 400 19px Georgia, serif; }
.profile-modal p { color: var(--muted); font-size: 12px; line-height: 1.55; }
.icon-button { width: 34px; height: 34px; padding: 0; border: 1px solid var(--line); border-radius: 50%; color: var(--muted); background: rgba(255,255,255,.025); font-size: 22px; cursor: pointer; }
.profile-tabs { display: flex; gap: 7px; padding: 0 30px 16px; border-bottom: 1px solid var(--line); }
.profile-tabs button { border: 0; border-radius: 8px; padding: 8px 13px; color: var(--muted); background: transparent; cursor: pointer; font-weight: 700; font-size: 11px; }
.profile-tabs button.active { color: #1b1f25; background: var(--gold); }
.profile-panel { padding: 25px 30px 30px; }
.profile-panel[hidden] { display: none; }
.profile-panel [hidden] { display: none; }
.profile-panel label { display: block; margin: 15px 0; color: #d8dbe1; font-size: 12px; font-weight: 700; }
.profile-panel label input, .profile-panel label textarea, .profile-panel label select { margin-top: 8px; }
.profile-panel input:disabled { color: #8e97a5; opacity: .75; }
.profile-panel label textarea { min-height: 86px; }
.profile-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.profile-identity { display: flex; align-items: center; gap: 14px; padding: 15px; margin-bottom: 20px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.025); }
.profile-identity > span { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 15px; color: #191d23; background: var(--gold); font-weight: 900; }
.profile-identity strong, .profile-identity small, .profile-identity em { display: block; }
.profile-identity strong { font-family: Georgia, serif; font-size: 16px; }
.profile-identity small { margin: 3px 0 5px; color: var(--muted); }
.profile-identity em { width: fit-content; padding: 3px 7px; border-radius: 99px; color: var(--gold-light); background: rgba(230,185,106,.1); font-size: 9px; font-style: normal; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.primary-small { height: 42px; padding: 0 18px; border: 0; border-radius: 11px; color: #171b22; background: var(--gold); cursor: pointer; font-weight: 800; }
.profile-notice { margin: 14px 30px 0; padding: 10px 12px; border-radius: 9px; color: #94edc7; border: 1px solid rgba(88,214,163,.24); background: rgba(88,214,163,.07); font-size: 11px; }
.profile-notice.error { color: #ffc0b7; border-color: rgba(255,120,105,.25); background: rgba(255,105,90,.08); }
.danger-zone { margin-top: 30px; padding: 18px; border: 1px solid rgba(255,112,98,.18); border-radius: 13px; background: rgba(255,90,70,.04); }
.danger-zone button { padding: 8px 12px; border: 1px solid rgba(255,120,105,.3); border-radius: 8px; color: #ff9b8d; background: transparent; cursor: pointer; }
.admin-heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.admin-heading p { margin: 0; }
.admin-heading > span { padding: 6px 9px; border-radius: 99px; color: var(--muted); background: rgba(255,255,255,.04); font-size: 10px; }
.user-list { display: grid; gap: 8px; }
.user-row { display: grid; grid-template-columns: 38px minmax(0,1fr) auto; align-items: center; gap: 11px; padding: 11px; border: 1px solid var(--line); border-radius: 12px; background: rgba(255,255,255,.02); }
.user-row > span { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 11px; color: #1a1e24; background: #cfa358; font-size: 10px; font-weight: 900; }
.user-row strong, .user-row small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.user-row strong { font-size: 12px; }.user-row small { margin-top: 3px; color: var(--muted); font-size: 10px; }
.user-actions { display: flex; gap: 6px; }
.user-actions button { padding: 6px 8px; border: 1px solid var(--line); border-radius: 7px; color: var(--muted); background: rgba(255,255,255,.025); cursor: pointer; font-size: 9px; }
.user-actions button.active { color: #ffab9f; border-color: rgba(255,120,105,.22); }
.session-list { display: grid; gap: 9px; }
.session-row { display: grid; grid-template-columns: 38px minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 13px; border: 1px solid var(--line); border-radius: 13px; background: rgba(255,255,255,.02); }
.session-icon { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; color: #1a1e24; background: var(--gold); font-size: 10px; }
.session-row strong, .session-row small { display: block; }
.session-row strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 400 14px Georgia, serif; }
.session-row small { margin-top: 4px; overflow: hidden; color: var(--muted); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.session-actions { display: flex; gap: 6px; }
.session-actions button { padding: 7px 9px; border: 1px solid var(--line); border-radius: 8px; color: var(--gold-light); background: rgba(255,255,255,.025); cursor: pointer; font-size: 9px; }
.session-actions .delete-session { color: #ffab9f; }
.empty-sessions { padding: 22px; border: 1px dashed rgba(255,255,255,.12); border-radius: 13px; text-align: center; }
.profile-footer { display: flex; justify-content: space-between; align-items: center; padding: 17px 30px; border-top: 1px solid var(--line); color: var(--muted); font-size: 10px; }
.profile-footer button { border: 0; color: #ffab9f; background: transparent; cursor: pointer; font-weight: 700; }
@keyframes rise { from { opacity: 0; transform: translateY(6px); } }
@keyframes wave { to { transform: scaleY(.35); } }
@keyframes dots { 0% { content: ""; } 25% { content: "."; } 50% { content: ".."; } 75%,100% { content: "..."; } }
@media (max-width: 720px) {
  .shell { width: min(100% - 20px, 1050px); padding-top: 16px; }
  .service-state span { display: none; }
  .user-button strong { display: none; }
  .hero { padding: 55px 8px 35px; }
  .studio-hero { padding: 28px 8px 22px; }
  .studio-hero h1 { font-size: clamp(31px, 10vw, 42px); line-height: 1.02; }
  .studio-hero .eyebrow { margin-bottom: 12px; }
  .studio-hero .intro { display: -webkit-box; max-width: 520px; margin-top: 17px; overflow: hidden; font-size: 12px; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
  .intro-button { margin-top: 16px; }
  .studio-nav { order: 3; width: 100%; justify-content: center; margin: 8px 0 0; padding-top: 8px; border-top: 1px solid var(--line); }
  .topbar { flex-wrap: wrap; }
  .intro { font-size: 14px; }
  .conversation, .composer { padding-left: 18px; padding-right: 18px; }
  .two-column { grid-template-columns: 1fr; }
  .direction-row { align-items: stretch; flex-direction: column; }
  .voice-select { width: 100%; }
  .char-count { right: 35px; }
  .bubble { max-width: 90%; }
  .draft-card { max-width: 100%; }
  footer { flex-wrap: wrap; }
  .modal-backdrop { padding: 10px; }.profile-modal > header, .profile-panel { padding-left: 20px; padding-right: 20px; }.profile-tabs { padding-left: 20px; padding-right: 20px; overflow-x: auto; }.profile-grid { grid-template-columns: 1fr; }.user-row, .session-row { grid-template-columns: 34px minmax(0,1fr); }.user-actions, .session-actions { grid-column: 1 / -1; }.profile-notice { margin-left: 20px; margin-right: 20px; }
  .landing-shell { width: min(100% - 24px, 1180px); padding-top: 16px; }
  .landing-nav { align-items: flex-start; }
  .landing-nav nav a:not(.nav-login):not(.nav-cta) { display: none; }
  .landing-nav nav { gap: 8px; }
  .landing-nav .nav-login { margin-left: 0; }
  .landing-nav .nav-cta { padding: 9px 11px; font-size: 9px; }
  .landing-hero { grid-template-columns: 1fr; min-height: auto; gap: 38px; padding: 72px 4px 65px; }
  .landing-hero h1 { font-size: clamp(43px, 13vw, 62px); }
  .landing-actions { align-items: stretch; flex-direction: column; gap: 15px; }
  .text-link { text-align: center; }
  .landing-preview { padding: 28px; }
  .feature-grid { grid-template-columns: 1fr; }
  .feature-grid article { min-height: 170px; }
  .feature-grid h3 { margin-top: 26px; }
}
