:root{--background: #0b0c10;--surface: #15171d;--surface-elevated: #1d2028;--surface-soft: #20232d;--text-primary: #f8f8fa;--text-secondary: #a9adb8;--text-muted: #777d8b;--border: #2a2e38;--accent: #ff4d6d;--accent-hover: #ff6682;--amber: #f5a524;--success: #35c77a;--danger: #ef4444;--cyan: #31c8d9;--radius-sm: 8px;--content-max-width: 1440px;color:var(--text-primary);background:var(--background);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;line-height:1.5;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px;overflow-x:hidden;background:linear-gradient(180deg,rgba(255,77,109,.08),transparent 460px),var(--background)}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}img,canvas,svg{max-width:100%}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid rgba(49,200,217,.55);outline-offset:3px}.screen-loader{display:grid;min-height:100vh;place-items:center;color:var(--text-secondary)}.btn{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:.55rem;border:1px solid transparent;border-radius:var(--radius-sm);padding:.75rem 1rem;color:var(--text-primary);font-weight:800;letter-spacing:0;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease;white-space:normal;text-align:center}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:disabled{cursor:not-allowed;opacity:.65}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{background:#24323a;border-color:#31c8d973;color:#e8fcff}.btn-ghost{background:transparent;border-color:var(--border);color:var(--text-secondary)}.btn-lg{min-height:54px;padding-inline:1.1rem}.btn-sm{min-height:40px;padding:.55rem .75rem;font-size:.9rem}.card{border:1px solid var(--border);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface) 90%,#fff 10%);box-shadow:0 18px 54px #00000038}.eyebrow{display:inline-flex;color:var(--amber);font-size:.78rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.muted{color:var(--text-secondary)}.brand-lockup{display:inline-flex;align-items:center;gap:.75rem;min-width:0}.brand-lockup>svg{flex:0 0 auto;color:var(--accent)}.brand-lockup span{display:grid;gap:.1rem;min-width:0}.brand-lockup strong,.brand-lockup small{overflow-wrap:anywhere}.brand-lockup small{color:var(--text-secondary);font-size:.75rem}.public-shell{min-height:100vh}.public-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:max(1rem,env(safe-area-inset-top)) 1rem 1rem;border-bottom:1px solid rgba(42,46,56,.75);background:#0b0c10e0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.public-header nav{display:flex;align-items:center;gap:.35rem}.public-header nav>a:not(.btn){display:none;color:var(--text-secondary);font-weight:700;padding:.65rem}.hide-mobile{display:none}.landing{width:min(100%,var(--content-max-width));margin-inline:auto;padding-inline:1rem}.hero-section{display:grid;gap:2rem;min-height:calc(100vh - 84px);padding:3rem 0 2rem;align-items:center}.hero-copy{display:grid;gap:1.2rem}.hero-copy h1{margin:0;font-size:clamp(2.4rem,15vw,5rem);line-height:.98}.hero-copy p{max-width:720px;margin:0;color:var(--text-secondary);font-size:1.08rem}.hero-actions{display:grid;gap:.75rem}.arena-visual{position:relative;display:grid;gap:1rem;min-height:380px;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-sm);padding:1rem;background:linear-gradient(160deg,rgba(255,77,109,.18),transparent 42%),repeating-linear-gradient(90deg,rgba(255,255,255,.045) 0 1px,transparent 1px 64px),var(--surface)}.stage-lights{min-height:80px;border:1px solid rgba(245,165,36,.25);border-radius:var(--radius-sm);background:linear-gradient(90deg,rgba(245,165,36,.25),transparent 26%,rgba(49,200,217,.22)),#11141a}.preview-card{display:grid;gap:.2rem;border:1px solid var(--border);border-radius:var(--radius-sm);padding:1rem;background:#0b0c10b8}.preview-card strong{font-size:1.65rem}.preview-card small,.preview-card span{color:var(--text-secondary)}.score-ring{display:grid;width:min(220px,64vw);aspect-ratio:1;place-items:center;justify-self:center;border-radius:50%;background:conic-gradient(var(--accent) var(--score),#2a2e38 0)}.score-ring>div{display:grid;width:78%;aspect-ratio:1;place-items:center;border-radius:50%;background:var(--surface);text-align:center}.score-ring strong{font-size:clamp(2rem,10vw,3.3rem);line-height:1}.score-ring span{color:var(--text-secondary);font-size:.8rem;font-weight:800;text-transform:uppercase}.waveform{width:100%;height:94px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.mode-band,.character-band,.pricing-band{padding:3rem 0}.section-heading{display:grid;gap:.5rem;margin-bottom:1rem}.section-heading h2{margin:0;font-size:clamp(1.7rem,8vw,3rem);line-height:1.05}.mode-grid,.character-grid,.pricing-band,.dashboard-grid,.test-grid{display:grid;gap:1rem}.mode-card,.character-card,.price-card{display:grid;gap:.8rem;padding:1rem}.mode-card svg,.price-card svg{color:var(--accent)}.mode-card h2,.mode-card h3,.character-card h3,.price-card h3{margin:0}.mode-card p,.character-card p,.price-card p{margin:0;color:var(--text-secondary)}.character-card span{display:grid;width:48px;aspect-ratio:1;place-items:center;border-radius:var(--radius-sm);background:#2c1f28;color:var(--amber);font-weight:900}.price-card strong{font-size:2rem}.badge{width:max-content;border-radius:var(--radius-sm);background:var(--amber);color:#15100a;padding:.2rem .45rem;font-size:.78rem;font-weight:900}.best-value{border-color:#f5a5248c}.auth-page,.placeholder-public{display:grid;min-height:calc(100vh - 90px);place-items:center;padding:1rem}.auth-card,.placeholder-card{display:grid;width:min(100%,480px);gap:1rem;padding:1rem}.auth-card.wide{width:min(100%,760px)}.auth-card h1,.placeholder-card h2{margin:0;font-size:clamp(2rem,10vw,3.2rem);line-height:1}.auth-card p,.placeholder-card p{margin:0;color:var(--text-secondary)}.stack-form{display:grid;gap:.9rem}.stack-form label{display:grid;gap:.4rem;color:var(--text-secondary);font-weight:800}.stack-form input,.stack-form textarea,.test-panel textarea{width:100%;min-height:48px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#101218;color:var(--text-primary);padding:.78rem .9rem}.stack-form textarea,.test-panel textarea{min-height:126px;resize:vertical}.checkbox-row{grid-template-columns:22px 1fr;align-items:start}.checkbox-row input{min-height:auto;margin-top:.2rem}.form-footer{text-align:center}.form-footer a{color:var(--cyan);font-weight:800}.auth-alert{border:1px solid rgba(245,165,36,.48);border-radius:var(--radius-sm);background:#f5a5241a;color:#ffe2a2;padding:.8rem;font-weight:800}.app-shell{display:grid;min-height:100vh;background:linear-gradient(180deg,rgba(49,200,217,.07),transparent 520px),var(--background)}.sidebar{display:none}.app-main{width:min(100%,var(--content-max-width));margin-inline:auto;padding:max(1rem,env(safe-area-inset-top)) 1rem calc(96px + env(safe-area-inset-bottom))}.mobile-bottom-nav{position:fixed;right:0;bottom:0;left:0;z-index:30;display:grid;grid-template-columns:repeat(5,1fr);gap:.25rem;border-top:1px solid var(--border);background:#0b0c10f2;padding:.45rem .5rem calc(.45rem + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.mobile-bottom-nav a{display:grid;min-height:56px;place-items:center;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.74rem;font-weight:800}.mobile-bottom-nav a.active{background:#ff4d6d29;color:var(--text-primary)}.page-header{display:grid;gap:1rem;margin-bottom:1rem}.page-header h1{margin:.25rem 0 0;font-size:clamp(2rem,10vw,4rem);line-height:1}.page-header p{max-width:760px;margin:.55rem 0 0;color:var(--text-secondary)}.page-actions{display:flex;flex-wrap:wrap;gap:.75rem}.credit-badge{display:inline-flex;min-height:42px;align-items:center;gap:.45rem;width:max-content;max-width:100%;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-elevated);padding:.45rem .65rem;color:var(--text-primary);font-weight:900}.credit-badge svg{color:var(--amber)}.credit-badge small{color:var(--text-secondary);font-weight:700}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:1rem}.stat-card{display:grid;gap:.35rem;min-height:104px;padding:1rem}.stat-card span{color:var(--text-secondary);font-weight:800}.stat-card strong{font-size:clamp(1.6rem,8vw,2.5rem);line-height:1}.app-mode-grid{margin-bottom:1rem}.app-mode-card dl,.health-list{display:grid;gap:.45rem;margin:0}.app-mode-card dl div,.health-list div{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--border);padding-top:.55rem}.app-mode-card dt,.health-list dt{color:var(--text-secondary);font-weight:800}.app-mode-card dd,.health-list dd{margin:0;text-align:right}.dashboard-bottom{display:grid;gap:1rem}.challenge-card,.result-card,.health-card,.test-panel,.response-card{display:grid;gap:1rem;padding:1rem}.challenge-card h2,.result-card h2,.health-card h2,.test-panel h2,.response-card h2{margin:0}.challenge-card p,.result-card p{margin:0;color:var(--text-secondary)}.test-grid{margin-bottom:1rem}.test-panel textarea{min-height:116px}.button-stack{display:grid;gap:.75rem}.json-block{max-height:520px;overflow:auto;border:1px solid var(--border);border-radius:var(--radius-sm);background:#090a0d;color:#d6f7df;padding:1rem;white-space:pre-wrap;overflow-wrap:anywhere}.error-state{display:flex;align-items:flex-start;gap:.75rem;border:1px solid rgba(239,68,68,.45);border-radius:var(--radius-sm);background:#ef44441a;padding:.8rem}.error-state svg{flex:0 0 auto;color:var(--danger)}.error-state p{margin:.15rem 0 0;color:var(--text-secondary)}.skeleton-stack{display:grid;gap:.6rem}.skeleton-line{display:block;height:16px;border-radius:var(--radius-sm);background:linear-gradient(90deg,#20232d,#2a2e38,#20232d);background-size:220% 100%;animation:skeleton 1.2s ease-in-out infinite}.skeleton-line:nth-child(2){width:78%}.skeleton-line:nth-child(3){width:62%}@keyframes skeleton{0%{background-position:100% 0}to{background-position:0 0}}.toast-host{position:fixed;right:1rem;bottom:calc(92px + env(safe-area-inset-bottom));z-index:50;display:grid;gap:.6rem;width:min(360px,calc(100vw - 2rem))}.toast{display:flex;align-items:center;justify-content:space-between;gap:.75rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-elevated);padding:.75rem;box-shadow:0 14px 40px #00000052}.toast-success{border-color:#35c77a7a}.toast button{display:grid;width:32px;height:32px;place-items:center;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer}.placeholder-card{min-height:220px;align-content:center}.back-me-up-layout{display:grid;gap:1rem;align-items:start}.vent-panel,.empty-response-card,.empathy-response{display:grid;gap:1rem;padding:1rem}.mode-status-row{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;justify-content:space-between}.session-pill-group{display:flex;flex-wrap:wrap;gap:.55rem}.session-pill{display:inline-flex;min-height:34px;align-items:center;border:1px solid var(--border);border-radius:var(--radius-sm);background:#101218;color:var(--text-secondary);padding:.35rem .55rem;font-size:.83rem;font-weight:900}.session-info-button{display:grid;width:36px;height:36px;place-items:center;border:1px solid var(--border);border-radius:var(--radius-sm);background:#101218;color:var(--text-secondary);cursor:pointer}.session-info-button:hover,.session-info-button:focus-visible{border-color:#e6e8ee6b;color:var(--text-primary);outline:none}.vent-input-label{color:var(--text-primary);font-size:1.05rem;font-weight:900}.vent-textarea-shell{position:relative}.vent-panel textarea{width:100%;min-height:190px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#15171d;color:var(--text-primary);padding:.95rem;resize:vertical}.vent-textarea-shell.is-loading textarea{padding-bottom:1.35rem}.textarea-loading-bar{position:absolute;right:.85rem;bottom:.65rem;left:.85rem;height:5px;overflow:hidden;border-radius:999px;background:#e6e8ee24}.textarea-loading-bar span{display:block;width:42%;height:100%;border-radius:inherit;background:#e6e8ee8f;animation:textarea-loading-slide 1.15s ease-in-out infinite}@keyframes textarea-loading-slide{0%{transform:translate(-120%)}to{transform:translate(260%)}}.textarea-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;color:var(--text-secondary);font-size:.84rem;font-weight:800}.intensity-group{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:#101218;padding:.35rem}.intensity-group button{min-height:48px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;font-size:.78rem;font-weight:900}.intensity-group button.active{border-color:#ff4d6d80;background:#ff4d6d29;color:var(--text-primary)}.primary-action-row{display:grid;gap:.75rem}.loading-copy{display:inline-flex;align-items:center;gap:.45rem;margin:0;color:var(--text-secondary);font-size:.9rem;font-weight:800}.loading-copy svg{flex:0 0 auto;color:var(--cyan)}.empty-response-card h2{margin:0;font-size:1.2rem}.empty-response-card p{margin:0;color:var(--text-secondary)}.session-info-popover{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:start center;padding:8rem 1rem 1rem}.session-info-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;border:0;background:#04050894;cursor:pointer}.session-info-dialog{position:relative;z-index:1;display:grid;width:min(420px,100%);gap:.8rem;padding:.9rem;box-shadow:0 24px 80px #0000006b}.session-info-heading{display:grid;grid-template-columns:auto 1fr auto;gap:.65rem;align-items:center}.session-info-heading svg{color:var(--accent)}.session-info-heading h2{margin:0;font-size:1rem}.session-info-heading button{display:grid;width:32px;height:32px;place-items:center;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer}.session-info-dialog p{margin:0;color:var(--text-secondary)}.session-info-dialog dl{display:grid;gap:.45rem;margin:0}.session-info-dialog dl div{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--border);padding-top:.55rem}.session-info-dialog dt{color:var(--text-secondary);font-weight:800}.session-info-dialog dd{margin:0;text-align:right}.response-section{display:grid;gap:1rem;margin-top:1rem}.message-turn{display:grid;gap:1rem}.empty-response-card{min-height:220px;align-content:center}.empty-response-card svg{color:var(--accent)}.chat-bubble{display:grid;gap:.35rem;max-width:860px;border:1px solid var(--border);border-radius:var(--radius-sm);padding:.85rem;overflow-wrap:anywhere}.chat-bubble span{color:var(--amber);font-size:.78rem;font-weight:900;text-transform:uppercase}.chat-bubble p{margin:0;color:var(--text-primary)}.user-bubble{justify-self:end;width:min(100%,760px);background:#31c8d91c}.empathy-response{background:linear-gradient(180deg,rgba(255,77,109,.08),transparent),color-mix(in srgb,var(--surface) 92%,#fff 8%)}.empathy-response p{margin:.25rem 0 0;color:var(--text-primary);overflow-wrap:anywhere;white-space:pre-line}.empathy-response blockquote{display:flex;align-items:flex-start;gap:.65rem;margin:0;border:1px solid rgba(53,199,122,.38);border-radius:var(--radius-sm);background:#35c77a14;padding:.8rem;color:#dcffe9;font-weight:800}.empathy-response blockquote svg{flex:0 0 auto;color:var(--success);margin-top:.15rem}.pending-response{opacity:.82}@media (min-width: 640px){.hero-actions{display:flex;flex-wrap:wrap}.mode-grid,.character-grid,.pricing-band,.two-column-form{grid-template-columns:repeat(2,minmax(0,1fr))}.two-column-form .error-state,.two-column-form .btn,.two-column-form .form-footer{grid-column:1 / -1}.primary-action-row{display:flex;flex-wrap:wrap}.public-header nav>a:not(.btn),.hide-mobile{display:inline-flex}}@media (min-width: 768px){.hero-section{grid-template-columns:minmax(0,1fr) minmax(320px,.85fr)}.dashboard-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.test-grid,.dashboard-bottom{grid-template-columns:repeat(2,minmax(0,1fr))}.back-me-up-layout{grid-template-columns:minmax(0,1fr)}}@media (min-width: 1024px){.public-header,.landing{padding-inline:2rem}.hero-section{min-height:calc(100vh - 76px);grid-template-columns:minmax(0,.9fr) minmax(460px,1fr)}.mode-grid,.pricing-band{grid-template-columns:repeat(3,minmax(0,1fr))}.character-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.app-shell{grid-template-columns:292px minmax(0,1fr)}.sidebar{position:sticky;top:0;display:grid;height:100vh;align-content:start;gap:1rem;border-right:1px solid var(--border);background:#0b0c10eb;padding:1.25rem}.sidebar-nav{display:grid;gap:.35rem}.sidebar-nav-link{display:flex;min-height:48px;align-items:center;gap:.75rem;border-radius:var(--radius-sm);color:var(--text-secondary);padding:.75rem;font-weight:800}.sidebar-nav-link.active{background:#ff4d6d29;color:var(--text-primary)}.sidebar-nav-group{display:grid;gap:.25rem}.sidebar-session-list{display:grid;gap:.2rem;border-left:1px solid rgba(42,46,56,.9);margin-left:1.4rem;padding-left:.45rem}.sidebar-session-link{display:grid;min-height:0;gap:.12rem;border-radius:var(--radius-sm);color:var(--text-muted);padding:.48rem .55rem;font-size:.8rem;font-weight:750;line-height:1.25}.sidebar-session-link:hover,.sidebar-session-link.is-selected{background:#31c8d91a;color:var(--text-primary)}.sidebar-session-link span{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.sidebar-session-link small{color:var(--text-muted);font-size:.68rem;font-weight:800}.sidebar-user{display:grid;gap:.75rem;margin-top:auto;border-top:1px solid var(--border);padding-top:1rem}.sidebar-user span{color:var(--text-secondary);font-weight:800;overflow-wrap:anywhere}.mobile-bottom-nav{display:none}.app-main{padding:1.5rem 2rem 3rem}.page-header{grid-template-columns:minmax(0,1fr) auto;align-items:end}.app-mode-grid,.test-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.health-card,.response-card{grid-column:span 2}.back-me-up-layout{grid-template-columns:minmax(0,980px)}.response-section{width:min(100%,980px)}}
