/* Shared layout safeguards for real content and pending actions. */
.card,.plan,.player,.order-card,.voice-pill,.voice-item,.modal,.modal-head,.modal-body,.row>*,.gen>*,.sn-connection>div {min-width:0}
input,select,textarea,audio,progress {min-width:0;max-width:100%}
.card,.player,.order-card,.notice,.gen,.conversation-btn,.modal-head,.sn-caption,.sn-connection {overflow-wrap:anywhere}
.card .row,.player .row,.order-card .row,.content>.row,.modal-body>.row {flex-wrap:wrap}
.btn {max-width:100%;white-space:normal;line-height:1.35;overflow-wrap:anywhere;text-align:center}
.btn .spin {flex:none}.btn.is-busy {opacity:1;cursor:wait;transform:none!important}
.row>.btn,.row>.badge,.voice-item>.btn,.voice-item>.play-btn,.modal-head>.x {flex-shrink:0}
.voice-pill>div,.voice-item>span:not(.avatar),.modal-head>div {flex:1;min-width:0}
.voice-pill b,.voice-item b,.gen .t,.gen .s {overflow-wrap:anywhere}
.voice-list {grid-template-columns:repeat(2,minmax(0,1fr))}
.voice-item b[style] {white-space:normal!important;overflow-wrap:anywhere}
.player .row.between>b {flex:1;min-width:0}
.card.stat>b {font-size:clamp(24px,2.5vw,34px);line-height:1.25;overflow-wrap:anywhere}
.plan .badge {position:static!important;align-self:flex-start;margin-bottom:12px;order:-1;max-width:100%;line-height:1.4}
.plan h3,.plan .price,.trial-banner>div {min-width:0;overflow-wrap:anywhere}
.plan .btn {margin-top:auto}.order-step {flex-wrap:wrap}.conversation-btn b,.conversation-btn small {overflow-wrap:anywhere}
.loading-state,.operation-status {padding:20px;background:var(--bg-2);border:1px solid var(--line);border-radius:8px;min-width:0;overflow-wrap:anywhere}
.loading-state {display:grid;gap:18px}.loading-caption,.operation-heading {display:flex;align-items:center;gap:10px;font-size:14px;min-width:0}
.loading-caption .spin,.operation-heading .spin {flex:none;color:var(--brand)}
.loading-skeleton {display:grid;gap:12px}.loading-skeleton i {height:16px;border-radius:4px;background:linear-gradient(100deg,var(--line) 20%,var(--card) 45%,var(--line) 70%);background-size:220% 100%;animation:ui-shimmer 1.6s linear infinite}.loading-skeleton i:nth-child(2){width:80%}.loading-skeleton i:nth-child(3){width:55%}
.operation-status {margin-top:14px}.operation-status p {font-size:13px;color:var(--muted);margin:10px 0 14px;line-height:1.6}.operation-status progress {display:block;width:100%;height:5px;border:0;border-radius:5px;overflow:hidden;appearance:none;background:var(--line)}
.operation-status progress::-webkit-progress-bar{background:var(--line)}.operation-status progress:indeterminate{background:linear-gradient(90deg,var(--line) 0 30%,var(--brand-2) 45% 55%,var(--line) 70% 100%);background-size:220% 100%;animation:ui-shimmer 1.5s linear infinite}.operation-status progress:indeterminate::-webkit-progress-bar{background:transparent}.operation-status small{display:block;color:var(--dim);font-size:11px;margin-top:10px}
@keyframes ui-shimmer{to{background-position:-220% 0}}
@media(max-width:640px){.card{padding:18px}.voice-list{grid-template-columns:minmax(0,1fr)!important}.player .row .dim{margin-left:0!important}.modal-head{flex-wrap:wrap}.modal-head>.x{margin-left:auto}.modal-body{padding:16px}.modal{max-height:90dvh}.card .row>.btn{min-height:42px}.voice-item{gap:8px;padding:10px}.voice-pill{gap:10px}.sn-playground .pg .card{padding:16px}.content .topcred{white-space:normal}.top>.row{gap:8px}.order-card{padding:16px}.seg button{white-space:normal}.card .row>input,.card .row>select{flex:1 1 150px}.card .row>select{max-width:100%}.loading-state,.operation-status{padding:16px}}
@media(max-width:360px){.top .btn{padding:8px;font-size:11px}.top h2{font-size:12px!important}.support-controls a,.support-controls button{padding:10px;font-size:10px}.btn-lg{padding:14px 18px}.card{padding:16px}.modal-back{padding:10px}.voice-item .avatar{width:32px;height:32px}.play-btn{width:30px;height:30px}}
@media(prefers-reduced-motion:reduce){.loading-skeleton i,.operation-status progress:indeterminate{animation:none}}
.btn[aria-disabled="true"]{pointer-events:none}.sn-window-tabs{flex-wrap:wrap}.sn-window-tabs>span{min-width:0;white-space:normal}.sn-script-card>small,.sn-window-title,.sn-project-meta{flex-wrap:wrap}.sn-file-row>div{min-width:0}.sn-file-row b{overflow-wrap:anywhere}
[data-v] .row b{white-space:normal!important;overflow:visible!important;overflow-wrap:anywhere}
/* Receipt submission, shared by Pricing and Billing. */
#payment-submission{scroll-margin-top:90px} [data-paid-form-root]{padding:0 28px 48px;scroll-margin-top:90px}.paid-checkout{max-width:1080px;margin:auto;background:#fffdf8}.paid-plan-picker{max-width:400px}.paid-heading{padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:24px}.paid-heading p{font-size:12px;margin:10px 0 0}.paid-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:36px}.paid-grid h3{font-size:18px;margin:0 0 16px}.paid-grid p{font-size:13px;line-height:1.7}.paid-grid .pay-box{padding:20px;border:1px solid var(--line);background:var(--bg-2);border-radius:8px}.paid-note{font-size:12px!important;margin:18px 0}.paid-grid textarea{min-height:80px}.paid-grid [data-paid-status]{margin-top:18px}.paid-success{max-width:720px;margin:auto}.paid-success h3{margin-top:20px}.paid-success .kv{gap:20px}.paid-grid .kv b{overflow-wrap:anywhere;white-space:normal}.paid-grid>*{min-width:0}@media(max-width:760px){.paid-grid{grid-template-columns:minmax(0,1fr);gap:30px}[data-paid-form-root]{padding:0 16px 36px}.paid-checkout{padding:22px 18px}.paid-grid .grid.g2{grid-template-columns:minmax(0,1fr)}}

body:has(.paid-checkout) .support-controls{display:none} /* Inline support stays available beside the receipt form. */

/* Referral invitation and rewards */
.referral-hero{padding:clamp(22px,4vw,42px)}.referral-hero h1{font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.15;margin:14px 0}.referral-hero>p{max-width:620px}.referral-share{display:grid;grid-template-columns:1fr 1.5fr;gap:24px;margin:28px 0 18px}.referral-share .field{min-width:0}.referral-copy{display:flex;gap:8px;min-width:0}.referral-copy input{min-width:0;flex:1}.referral-copy button{flex-shrink:0}.referral-copy .mono{font-weight:700;letter-spacing:.1em}.logo{overflow-wrap:anywhere}#referral-help{display:block;line-height:1.6;margin-top:8px}#referral-help a{color:var(--brand);text-decoration:underline}#signup-referral{text-transform:uppercase;letter-spacing:.08em}@media(max-width:680px){.referral-share{grid-template-columns:1fr;gap:8px}.referral-copy{flex-wrap:wrap}.referral-copy input{flex-basis:100%;width:100%}.referral-copy button{width:100%}.referral-hero+.grid{grid-template-columns:1fr}.nav .logo{font-size:18px;gap:8px}.nav .logo-mark{width:28px;height:28px;flex-shrink:0}}
