/* YIXI: one layout and visual system. Secondary controls never compete with the character. */
:root{color-scheme:light;--paper:#fafaf9;--ink:#252725;--muted:#737771;--line:#e5e7e3;--accent:#252725;--soft:#f2f3f0;--green:#486454;--green-soft:#edf2ed;--green-line:#bbc9be;--serif:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;font-family:var(--serif);font-size:16px}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);min-height:100svh}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;line-height:1.5;transition:background .2s,color .2s,border-color .2s}button:disabled{cursor:default;opacity:.5}button,a,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}a{color:inherit}button:active:not(:disabled){transform:translateY(1px)}[hidden]{display:none!important}::selection{background:#dfe9df;color:var(--ink)}:is(button,a,summary,input,textarea,select):focus-visible{outline:2px solid var(--green);outline-offset:5px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{height:88px;padding:0 40px;max-width:1280px;margin:auto;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:5}.brand{display:flex;align-items:center;gap:11px;text-decoration:none}.brand svg{width:23px;height:23px;fill:none;stroke:var(--green);stroke-width:1.5;stroke-linecap:round}.brand>span{font-size:22px;font-weight:500;letter-spacing:4px}.brand small{font-size:12px;letter-spacing:2px;color:var(--muted);margin-left:10px}.site-header nav{display:flex;align-items:center;gap:22px}.nav-button,.voice-entry{border:0;background:none;font-size:14px;padding:10px 0;color:#565b54}.round-button{display:grid;place-items:center;flex:none;width:36px;height:36px;border:0;border-radius:50%;background:none;font-size:18px;color:#72786f}.round-button:hover,.round-button[aria-pressed=true]{background:var(--soft)}.round-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.primary-button{display:flex;justify-content:center;align-items:center;gap:10px;min-height:54px;width:100%;padding:14px 24px;border:0;border-radius:12px;background:var(--accent);color:white;font-size:16px;font-weight:500;letter-spacing:.3px}.primary-button:hover:not(:disabled){background:#111611}.primary-button:disabled{background:#e6e8e3;color:#83887e;opacity:1}.subtle-button{border:1px solid var(--line);background:none;border-radius:10px;min-height:48px;padding:12px 18px;font-size:14px}.text-button{border:0;background:none;color:var(--muted);font-size:14px;padding:10px 0}.text-button:hover,.nav-button:hover,.voice-entry:hover{color:var(--ink)}.quiet-note{font-size:14px;line-height:1.8;color:var(--muted)}.small-label,.eyebrow{font-size:14px;line-height:1.7;color:var(--muted)}
#space{max-width:1180px;min-height:calc(100svh - 88px);margin:auto;padding:22px 40px 32px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);column-gap:72px;align-content:start}.entry-loading{grid-column:1/-1;margin:70px auto;color:var(--muted);font-size:14px}.space-footer{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:16px;grid-column:1/-1;position:static;margin:35px 0 0;text-align:center;color:#8b9086;font-size:12px;line-height:1.8;letter-spacing:.3px;pointer-events:none}.space-footer .text-button{pointer-events:auto;font-size:12px;padding:6px 0;color:#8b9086}.edition{display:none}
/* The entry is a quiet question, not a stack of cards. */
body[data-stage=onboarding] .site-header nav,body[data-stage=onboarding] .intro,body[data-stage=onboarding] .landing-actions,body[data-stage=onboarding] .avatar-stage,body[data-stage=onboarding] .space-footer{display:none}body[data-stage=onboarding] #space{display:block;padding-top:38px}body:not([data-stage=onboarding]) .onboarding{display:none}
.onboarding{width:100%;max-width:410px;margin:0 auto;padding:18px 0 48px}.entry-top{font-size:14px;color:var(--muted);margin-bottom:34px}.onboarding h1{font-family:var(--serif);font-weight:500;font-size:34px;line-height:1.6;letter-spacing:.5px;margin:0 0 28px;outline:none}.entry-description{font-size:16px;line-height:1.8;color:var(--muted);margin:-12px 0 32px}.entry-options{border-top:1px solid var(--line)}.entry-options button{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:6px;text-align:left;width:100%;min-height:90px;padding:22px 40px 22px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:none}.entry-options strong{font-size:18px;font-weight:500}.entry-options span{font-size:14px;line-height:1.8;color:var(--muted)}.entry-options button::after{content:'';position:absolute;right:8px;top:50%;transform:translateY(-50%);width:16px;height:16px;border:1px solid #bfc5bc;border-radius:50%}.entry-options button.selected{background:linear-gradient(90deg,transparent,var(--green-soft));color:var(--green)}.entry-options button.selected::after{border:5px solid var(--green)}.entry-options button:hover:not(.selected){background:var(--soft)}.entry-actions{margin-top:40px}
/* Mobile: title, character, then actions. Desktop: open companion and text columns. */
.intro{grid-column:1;grid-row:1;align-self:end;padding-top:56px}.eyebrow{margin:0 0 18px}.intro h1{font-size:48px;line-height:1.4;font-weight:500;letter-spacing:1px;margin:0}.intro-copy{font-size:16px;line-height:1.9;color:var(--muted);max-width:320px;margin:22px 0 0}.landing-actions{grid-column:1;grid-row:2;align-self:start;padding-top:28px;max-width:340px}.companion-picker{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 24px}.companion-picker button{font-size:14px;border:1px solid var(--line);border-radius:9px;padding:10px 18px;background:transparent}.companion-picker button.selected{border-color:var(--green-line);background:var(--green-soft);color:var(--green)}.companion-picker button span{font-size:12px;color:var(--muted);margin-left:7px}.companion-picker .custom-avatar-entry{border:0;padding:8px 0;background:none;color:var(--muted);flex-basis:calc(50% - 5px);text-align:left}#edit-entry{display:block;margin:10px auto 0}#avatar-animation-note{margin:0 0 18px;max-width:100%}
body:not([data-stage=landing]) :is(.intro,.landing-actions){display:none}body[data-stage=landing] #space{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);column-gap:40px}body[data-stage=landing] .avatar-stage{grid-column:2;grid-row:1/3;height:580px}.avatar-stage{grid-column:1;grid-row:1;position:relative;min-width:0;height:600px;align-self:start}.avatar-visual{position:relative;width:100%;height:100%}.avatar-canvas{position:absolute;inset:0;touch-action:pan-y;cursor:pointer}.avatar-canvas canvas{display:block;width:100%;height:100%;outline:none}.ambient-light{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 42%,#ffffffa0,transparent 65%)}.greet-target{position:absolute;inset:13% 22% 10%;border:0;background:transparent;pointer-events:none}.greet-target:focus-visible{pointer-events:auto}.avatar-invite{position:absolute;right:0;top:27%;max-width:150px;padding:10px 14px;font-size:14px;line-height:1.8;color:var(--muted);background:#ffffffd9;border-radius:12px;pointer-events:none}.avatar-visual:has(.greeting-bubble:not([hidden])) .avatar-invite{opacity:0}body:not([data-stage=landing]) .avatar-invite{display:none}
.model-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;font-size:14px;color:var(--muted);pointer-events:none}.loading-line{width:72px;height:2px;background:var(--green);animation:loading 2s ease-in-out infinite}.model-error{position:absolute;inset:38% 20px auto;text-align:center;font-size:14px;z-index:4}.model-error p{line-height:1.8}.avatar-status-tag{position:absolute;left:20px;bottom:20px;padding:7px 10px;background:#fafafae6;color:var(--muted);border-radius:8px;font-size:12px;pointer-events:none;z-index:2}
.greeting-bubble{position:absolute;z-index:4;top:50px;left:calc(100% + 42px);width:350px;padding:22px 0;background:none;border:0;line-height:1.9}.greeting-bubble p{font-size:18px;margin:12px 0}.speaker-name{font-size:14px;color:var(--green)}#skip-greeting{margin-top:12px}.scene-caption{display:none}.environment-loading{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);white-space:nowrap;background:#fffffff0;border-radius:10px;padding:14px 18px;font-size:14px;z-index:5;pointer-events:none}#avatar-canvas[data-world-ready=true]~.environment-loading{display:none}
body[data-stage=landing] .greeting-bubble{left:auto;right:0;top:22%;width:200px;padding:16px 18px;background:#fffffff0;border-radius:12px}body[data-stage=landing] .greeting-bubble p{font-size:14px}.conversation{grid-column:2;grid-row:1;width:100%;position:relative;padding:30px 0 0;align-self:start;min-width:0;background:none;border:0;border-radius:0;box-shadow:none}.panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.panel-header h2{font-size:15px;font-weight:500;margin:0}.panel-header .small-label{display:none}.panel-header .round-button{font-size:24px}body[data-stage=plan] .panel-header{position:absolute;right:0;top:15px;margin:0}body[data-stage=plan] .panel-header h2{display:none}body[data-stage=plan] .plan-top{padding-right:44px}.messages{min-height:130px;max-height:320px;overflow-y:auto}.message{font-size:16px;line-height:1.9;margin:0 0 18px;max-width:94%}.message.user{margin-left:auto;padding:12px 16px;background:var(--soft);border-radius:10px}.quick-replies{display:flex;flex-wrap:wrap;gap:8px;margin:25px 0}.quick-replies button{border:1px solid var(--line);border-radius:8px;background:none;padding:10px 12px;font-size:14px}.quick-replies button:hover{border-color:var(--green-line);background:var(--green-soft)}
textarea{resize:vertical;font-size:16px;line-height:1.8}textarea::placeholder{color:#8d9288}#message-form{display:flex;gap:12px;align-items:flex-end;border-bottom:1px solid #cdd3c9;padding:8px 0 14px}#feeling{min-width:0;flex:1;border:0;background:none;min-height:36px;max-height:140px;padding:0;resize:vertical}#send{flex:none;width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:50%;background:var(--ink);color:white}#send svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
/* The suggested exercise stays above a small settings list. */
#plan-reply{display:none}.plan-top{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px;color:var(--muted)}#practice-label{color:var(--green)}.practice-profile{font-size:14px;line-height:1.6}#practice-title{font-size:30px;line-height:1.55;font-weight:500;letter-spacing:.2px;margin:12px 0 16px}.practice-why{font-size:16px;line-height:1.9;color:var(--muted);margin:0 0 30px}.plan-duration{border-top:1px solid var(--line);padding:18px 0}.plan-time-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px}.plan-field-label{font-size:14px}.time-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.time-picker button{min-height:43px;border:0;border-radius:8px;background:var(--soft);font-size:14px}.time-picker button.selected{background:var(--green-soft);color:var(--green);box-shadow:inset 0 0 0 1px var(--green-line)}
details{border-top:1px solid var(--line)}summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:58px;padding:16px 0;font-size:14px;cursor:pointer}summary::-webkit-details-marker{display:none}summary::after{content:'+';font-size:19px;font-weight:300;color:var(--muted)}details[open]>summary::after{content:'−'}summary>span{margin-left:auto;font-size:14px;color:var(--muted);max-width:65%;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}#custom-duration{border:0}#custom-duration summary{min-height:24px;padding:0;color:var(--muted)}#custom-duration summary::after{display:none}#custom-duration label{display:flex;align-items:center;gap:12px;font-size:14px;margin:12px 0 4px}#minutes{width:68px;min-height:40px;border:1px solid var(--line);border-radius:8px;padding:7px 9px;text-align:center;background:white;font-size:16px}select{width:100%;min-width:0;border:1px solid var(--line);border-radius:8px;background:white;padding:12px;font-size:16px}.preferences-body{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px 16px;align-items:center;padding:2px 0 22px;font-size:14px;color:var(--muted)}.preferences-body .text-button,.preferences-body .background-note{grid-column:2;margin:0;padding:0;text-align:left}.background-note:empty{display:none}#start{margin-top:24px;background:var(--green)}#start:hover:not(:disabled){background:#314b3b}.back-chat{display:block;margin:12px auto 0}
.world-picker{display:flex;gap:12px;margin:4px 0 22px}.world-picker button{min-width:0;flex:1;border:1px solid transparent;border-radius:10px;background:none;padding:0 0 10px;overflow:hidden;font-size:14px;color:var(--muted)}.world-picker button.selected{border-color:var(--green-line);background:var(--green-soft);color:var(--green)}.world-picker img{display:block;width:100%;height:74px;object-fit:cover;margin-bottom:10px;border-radius:8px}.world-picker span{white-space:nowrap}#world-loading{margin:0 0 18px}.scene-caption{position:absolute;left:20px;bottom:18px;color:white;text-shadow:0 1px 8px #0008;font-size:14px;pointer-events:none}body[data-environment] .ambient-light{display:none}body[data-environment] .avatar-visual{border-radius:16px;overflow:hidden}body[data-environment] .avatar-canvas{cursor:default}body[data-environment] .scene-caption{display:block}body[data-stage=greeting] .avatar-visual{overflow:visible}body[data-stage=greeting][data-environment] .avatar-canvas{border-radius:16px;overflow:hidden}
/* A practice is a viewing state, including while paused. */
body[data-stage=session] .avatar-canvas,body[data-stage=session] .avatar-canvas:active{pointer-events:none;cursor:default;touch-action:pan-y}#session-view{text-align:center}#phase{display:block;color:var(--green);font-size:14px}#session-clock{display:flex;justify-content:center;align-items:center;margin:28px auto 22px;--session-progress:0%}.timer{font-size:58px;font-weight:300;line-height:1.1;letter-spacing:-2px;font-variant-numeric:tabular-nums}.guidance{font-size:16px;line-height:1.9;min-height:62px;margin:0 0 24px;color:#555e51}#progress{appearance:none;display:block;width:100%;height:2px;border:0;margin:0 0 24px;background:var(--line);accent-color:var(--green)}#progress::-webkit-progress-bar{background:var(--line)}#progress::-webkit-progress-value{background:var(--green)}#progress::-moz-progress-bar{background:var(--green)}.session-controls{display:flex;gap:14px;align-items:center}.session-controls>*{flex:1;min-width:0}.session-controls .subtle-button{border:0;color:var(--muted)}.session-audio{margin-top:24px;text-align:left}.volume-control{display:grid;grid-template-columns:auto 1fr;gap:16px 18px;padding:10px 0 20px;align-items:center;font-size:14px;color:var(--muted)}input[type=range]{width:100%;accent-color:var(--green)}#session-view>.quiet-note{font-size:12px;margin:12px 0 0}#skip-arrival{display:block;margin:0 auto 18px}body[data-stage=session] .panel-header{display:none}
.finish-title{font-size:30px;line-height:1.7;font-weight:400;margin:20px 0}.completed-text{font-size:16px;line-height:1.9;color:var(--muted);margin:0 0 30px}fieldset{padding:0;border:0;margin:26px 0}legend{font-size:14px;color:var(--muted);margin-bottom:14px}.feedback-options{display:flex;gap:8px}.feedback-options button{flex:1;min-width:0;min-height:44px;padding:10px 6px;border:1px solid var(--line);border-radius:8px;background:none;font-size:14px}.feedback-options button.selected{background:var(--green-soft);border-color:var(--green-line);color:var(--green)}.feedback-duration{margin-top:22px}.feedback-duration fieldset{margin:10px 0 20px}#again{margin-top:26px}
/* Secondary surfaces inherit the same quiet type, rows and controls. */
dialog{width:calc(100% - 40px);max-width:500px;max-height:calc(100svh - 48px);overflow-y:auto;border:1px solid var(--line);border-radius:18px;background:var(--paper);padding:32px;color:var(--ink);box-shadow:0 20px 90px #00000012;line-height:1.8;scrollbar-width:thin;scrollbar-color:#d8ddd4 transparent}dialog::backdrop{background:#191e193d;backdrop-filter:blur(6px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:30px}.dialog-head h2{font-size:25px;line-height:1.6;font-weight:500;margin:0}.dialog-head .small-label{margin:0 0 8px}.dialog-head .round-button{font-size:24px}.voice-help{font-size:16px;color:var(--muted);margin:0 0 24px;line-height:1.8}.voice-options{display:grid;gap:0}.voice-option{display:flex;gap:12px;align-items:center;border-top:1px solid var(--line);background:none}.voice-option.selected{background:linear-gradient(90deg,var(--green-soft),transparent)}.voice-pick{min-width:0;flex:1;padding:22px 8px;border:0;background:none;text-align:left}.voice-pick strong{display:block;font-size:18px;font-weight:500}.voice-source{margin-top:24px}.voice-source summary{font-size:14px;min-height:44px;padding:10px 0}.voice-source p{font-size:12px}.voice-pick span{display:block;font-size:14px;line-height:1.7;margin-top:7px;color:var(--muted)}.voice-play{flex:none;border:1px solid var(--line);background:none;border-radius:8px;padding:9px 14px;font-size:14px}.voice-silent{padding:18px 8px;text-align:left;background:none;border:0;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}.voice-silent[aria-pressed=true]{color:var(--green)}.voice-sample{font-size:14px;line-height:1.9;color:var(--muted);margin:22px 0}#voice-preview-status:empty{display:none}#voice-dialog>.primary-button{margin-top:24px}
.partner-section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.partner-section-head h3{font-size:18px;font-weight:500;margin:0}.partner-section-head>span{font-size:14px;color:var(--muted)}.default-avatar-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.default-avatar-options button{padding:18px 12px;border:1px solid var(--line);border-radius:10px;background:none;text-align:left}.default-avatar-options button.selected{border-color:var(--green-line);background:var(--green-soft)}.default-avatar-options strong{display:block;font-size:16px;font-weight:500}.default-avatar-options span{display:block;font-size:14px;line-height:1.7;margin-top:8px;color:var(--muted)}.avatar-library{border-top:1px solid var(--line);padding-top:24px;margin-top:26px;outline:none}.library-help{margin:0 0 20px}.avatar-library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.saved-avatar{position:relative;min-width:0;background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden}.saved-avatar.is-selected{border-color:var(--green-line)}.saved-avatar-picture{aspect-ratio:1;display:grid;place-items:center;background:var(--soft);overflow:hidden}.saved-avatar-picture img{width:100%;height:100%;object-fit:contain}.saved-avatar-placeholder{font-size:28px;font-weight:300;color:#9aa292}.saved-avatar-copy{padding:16px 12px}.saved-avatar-copy h4{font-size:16px;font-weight:500;line-height:1.7;margin:0 0 6px}.saved-avatar-copy time{font-size:12px;line-height:1.8;color:var(--muted)}.saved-avatar-use{width:100%;min-height:44px;background:none;border:1px solid var(--line);border-radius:8px;font-size:14px;padding:8px;margin-top:16px}.saved-avatar-use[aria-pressed=true]{border-color:var(--green-line);background:var(--green-soft);color:var(--green)}.saved-avatar-status{position:absolute;top:10px;right:10px;font-size:12px;color:var(--green);background:#ffffffe8;border-radius:6px;padding:4px 8px}.avatar-library-empty{padding:38px 0;text-align:left;border-top:1px solid var(--line)}.avatar-library-empty p{font-size:21px;line-height:1.7;margin:0 0 12px}.avatar-library-empty span{display:block;font-size:14px;line-height:1.8;color:var(--muted)}.avatar-library-empty button{color:var(--green);margin-top:18px}#custom-dialog[data-view=library]:has(#avatar-library-empty:not([hidden])) #tripo-custom-details{display:none}.library-more{width:100%;margin-top:20px}#avatar-library-status:empty{display:none}
.tripo-custom{margin-top:28px;padding-top:8px}.tripo-custom>summary{font-size:16px}.tripo-methods{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line);margin:0 0 28px;gap:24px}.tripo-methods button{border:0;border-bottom:2px solid transparent;background:none;padding:12px 0 16px;font-size:16px;color:var(--muted)}.tripo-methods button[aria-pressed=true]{border-bottom-color:var(--green);color:var(--ink)}.tripo-input-label{display:block;font-size:16px;margin:18px 0 12px}#tripo-prompt,#tripo-completion-prompt{display:block;width:100%;min-height:150px;border:1px solid var(--line);border-radius:10px;padding:18px;background:white;font-size:16px;line-height:1.9}#tripo-completion-prompt{min-height:100px}.tripo-input-meta{display:flex;justify-content:space-between;gap:14px;font-size:12px;color:var(--muted);line-height:1.8;margin:10px 0 0}#tripo-prompt-count{white-space:nowrap}.reference-label{display:block;background:white;border:1px dashed #bdc6b7;border-radius:10px;padding:22px 18px;font-size:16px}.reference-label input{display:block;margin-top:18px;width:100%;font-size:14px}.reference-label input::file-selector-button{border:1px solid var(--line);background:var(--soft);border-radius:6px;padding:8px 12px;margin-right:10px;font:inherit}.reference-preview{display:block;max-height:230px;max-width:100%;object-fit:contain;margin:20px auto;border-radius:10px}.optional{font-size:12px;margin-left:10px;color:var(--muted)}.tripo-custom-body>.primary-button{margin-top:20px}.tripo-cost-note{font-size:12px;line-height:1.8}.custom-avatar-result{display:grid;grid-template-columns:86px minmax(0,1fr);gap:16px;align-items:center;border-top:1px solid var(--line);padding:20px 0;margin-top:20px}.custom-avatar-result img{width:86px;height:110px;object-fit:contain;border-radius:8px;background:var(--soft)}.custom-avatar-result strong{font-size:16px;font-weight:500}.custom-avatar-result p{font-size:14px;line-height:1.8;color:var(--muted);margin:8px 0}.custom-avatar-result small{font-size:12px;line-height:1.7;color:var(--muted);overflow-wrap:anywhere}.custom-avatar-result button,.tripo-download{grid-column:1/-1}.tripo-download{font-size:14px;text-align:center;color:var(--muted);padding:8px}#custom-dialog[data-view=create] .tripo-custom,#custom-dialog[data-view=library] .avatar-library{border:0;margin:0;padding:0}#custom-dialog[data-view=create] .tripo-custom>summary,#custom-dialog[data-view=library] #avatar-library-title{display:none}
#custom-form{border-top:1px solid var(--line);margin-top:26px;padding-top:8px}#custom-form>label{display:block;font-size:14px;margin:20px 0 10px;color:var(--muted)}#custom-form>input{width:100%;border:1px solid var(--line);border-radius:8px;padding:13px 15px;background:white;font-size:16px}.tone-options{display:flex;flex-wrap:wrap;gap:20px;font-size:14px}.tone-options input{accent-color:var(--green)}#custom-form>.primary-button{margin-top:28px}.credit,.practice-sources{border-top:1px solid var(--line);margin-top:22px;padding-top:16px}.credit{font-size:12px;color:var(--muted)}.credit a,.practice-sources a{color:var(--green);text-underline-offset:3px}#info-dialog>p,.practice-sources p{font-size:14px;line-height:1.9;color:var(--muted)}.notice{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);z-index:30;max-width:calc(100% - 32px);background:var(--ink);color:white;border-radius:10px;padding:14px 20px;font-size:14px;line-height:1.8}
@keyframes loading{50%{opacity:.3;transform:scaleX(.6)}}
@media(max-width:980px) and (min-width:761px){#space{column-gap:36px;padding-left:30px;padding-right:30px}.avatar-stage{height:560px}body[data-stage=landing] .avatar-stage{height:540px}.greeting-bubble{left:calc(100% + 28px);width:290px}.intro h1{font-size:40px}}
@media(max-width:760px){
 .site-header{height:72px;padding:0 24px}.brand small{display:none}.brand>span{font-size:20px;letter-spacing:3px}.brand svg{width:20px;height:20px}.site-header nav{gap:14px}.round-button{width:30px;height:36px}.voice-entry,.nav-button{font-size:14px}
 #space,body[data-stage=landing] #space{display:flex;flex-direction:column;max-width:500px;min-height:calc(100svh - 72px);padding:0 24px 28px;gap:0}.space-footer{margin-top:28px;font-size:12px}
 body[data-stage=onboarding] #space{padding-top:20px}.onboarding{max-width:410px;margin:0 auto;padding:16px 0 40px}.entry-top{margin-bottom:30px}.onboarding h1{font-size:32px;line-height:1.6;margin-bottom:30px}.entry-options button{min-height:88px}.entry-actions{margin-top:36px}
 .intro{order:1;padding-top:12px;text-align:center;align-self:stretch}.eyebrow{font-size:12px;margin-bottom:10px}.intro h1{font-size:30px;line-height:1.5}.intro-copy{font-size:14px;line-height:1.8;max-width:290px;margin:12px auto 0}.landing-actions{order:3;padding:4px 0 0;align-self:center;width:100%;max-width:340px}.companion-picker{justify-content:center;gap:10px;margin-bottom:16px}.companion-picker .custom-avatar-entry{flex-basis:calc(50% - 5px);text-align:center;font-size:14px;padding:4px 0}.companion-picker button[data-avatar-choice]{min-width:105px}.companion-picker button{padding:9px 16px}#edit-entry{margin-top:8px}
 .avatar-stage,body[data-stage=landing] .avatar-stage{order:2;width:100%;height:360px;flex:none;align-self:stretch;margin:12px 0 0}.avatar-invite{right:0;top:28%;font-size:14px;max-width:100px;padding:9px 12px}body[data-stage=landing] .greeting-bubble{right:0;top:18%;width:150px;padding:12px 14px}.avatar-status-tag{left:12px;bottom:12px;max-width:calc(100% - 24px)}
 body[data-environment] .avatar-stage{height:300px;margin-top:8px}body[data-stage=plan] .avatar-stage{height:240px}body[data-stage=greeting] .avatar-stage{height:340px;margin-bottom:190px}body[data-stage=greeting] .greeting-bubble{top:100%;left:0;width:100%;padding:24px 0;max-width:none}.greeting-bubble p{font-size:16px}body[data-environment] .avatar-visual,body[data-stage=greeting][data-environment] .avatar-canvas{border-radius:14px}.scene-caption{left:15px;bottom:14px;font-size:12px}.conversation{order:4;align-self:stretch;padding:22px 0 0}.panel-header{margin-bottom:20px}.panel-header .round-button{height:30px}.space-footer{order:5}
 #practice-title{font-size:26px;line-height:1.6;margin:10px 0 12px}.practice-why{font-size:16px;line-height:1.8;margin-bottom:24px}.plan-top,.practice-profile{font-size:12px}.plan-duration{padding:16px 0}#start{margin-top:20px}.back-chat{margin-top:8px}
 body[data-stage=session] .avatar-stage{height:clamp(260px,40svh,360px)}body[data-stage=session] .conversation{padding-top:24px}#session-clock{margin:20px auto 18px}.timer{font-size:48px}.guidance{min-height:58px;margin-bottom:22px}#progress{margin-bottom:22px}.session-audio{margin-top:18px}body[data-stage=session] .space-footer{display:none}.finish-title{font-size:26px}
 dialog{padding:28px 24px;max-width:500px;max-height:calc(100svh - 28px);width:calc(100% - 24px);border-radius:16px}.dialog-head{margin-bottom:24px}.dialog-head h2{font-size:23px}.voice-pick strong{font-size:17px}.avatar-library-grid{gap:12px}.tripo-methods{gap:18px}.preferences-body{column-gap:12px}
}
@media(max-width:370px){.site-header{padding:0 20px}.site-header nav{gap:10px}#space,body[data-stage=landing] #space{padding-left:20px;padding-right:20px}.brand{gap:8px}.brand>span{font-size:18px;letter-spacing:2px}.site-header nav .round-button{width:24px}.onboarding h1{font-size:29px}.feedback-options button{font-size:12px}.world-picker{gap:8px}.world-picker span{font-size:12px}}
body[data-text-only=true] #avatar-stage{display:none}body[data-text-only=true] .conversation{grid-column:1/-1;width:100%;max-width:500px;justify-self:center}body[data-text-only=true] .avatar-invite{display:none}
@media(pointer:coarse){dialog::backdrop{backdrop-filter:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
