.companion-intro{padding-bottom:20px}.companion-intro h1{font-size:clamp(43px,5.5vw,68px)}.companion-prototype{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--bark);font-weight:800}.companion-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px;margin:10px 0 70px}.companion-stage{position:relative;aspect-ratio:1;isolation:isolate;overflow:clip;max-width:560px;width:100%;margin:auto}.companion-stage::before{content:'';position:absolute;z-index:-1;inset:13% 3% 2%;border-radius:48% 52% 46% 54%;background:var(--sage);opacity:.48;transition:opacity 1s}.companion-stage img,.companion-stage canvas,.companion-stage video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.companion-stage canvas{transform:scale(1.2);transform-origin:50% 65%}.companion-stage.a-little-hello::before{opacity:.85}.companion-stage.sitting-together::before{animation:companion-presence 8s ease-in-out infinite}.companion-slogan{text-align:center;font-size:15px;margin-top:14px}.companion-message{font-size:clamp(23px,2.6vw,32px);line-height:1.45;letter-spacing:-.025em;min-height:4.4em;margin:28px 0;color:var(--ink)}.companion-actions{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0}.companion-actions .button{padding:12px 19px;min-height:48px;font-size:14px;gap:10px}.companion-customise{border-top:1px solid var(--line);padding-top:18px;margin:25px 0}.companion-customise summary,.companion-closet summary{font-weight:800;cursor:pointer;min-height:44px;line-height:1.4;padding-block:10px}.companion-customise form{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-top:20px}.companion-customise label{font-size:14px;display:block}.companion-customise input{max-width:100%;width:240px;min-height:46px;margin-top:5px;border:1px solid var(--line);border-radius:12px;padding:10px;background:var(--paper)}.companion-settings{margin-top:18px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.companion-settings label{font-size:14px}.companion-settings select{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:10px;min-height:44px}.companion-session progress{width:100%;height:12px;accent-color:var(--bark)}.companion-timer{display:flex;justify-content:space-between;gap:20px;font-size:13px;margin:12px 0}.companion-closet{border-block:1px solid var(--line);padding:20px 0;margin:45px 0}.companion-look-label{font-size:14px;line-height:1.5;max-width:540px}.companion-choices{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin:25px 0}.companion-choice{border:1px solid var(--line);border-radius:20px;background:transparent;padding:10px 8px 14px;font-size:12px;font-weight:700;line-height:1.4;min-width:0}.companion-choice img{width:100%;height:auto;aspect-ratio:1;object-fit:contain}.companion-choice[aria-pressed=true]{border:2px solid var(--bark);padding:9px 7px 13px;background:#e7e8db}.companion-saved{display:flex;flex-direction:column;gap:10px;margin-block:20px}.companion-saved-look{text-align:left;padding:14px 18px;border:1px solid var(--line);border-radius:14px;font-size:14px;min-height:48px}.companion-disclosure{max-width:850px;margin:70px auto}.companion-disclosure h2{font-size:34px}.companion-offline{background:#e7e8db;border-radius:14px;padding:15px 20px;font-size:14px}.companion-link{display:inline-block;margin-top:15px}.companion-stage[aria-busy=true]{opacity:.7}.offline-recovery-status{min-height:2em}.offline-recovery-controls{display:flex;align-items:center;flex-wrap:wrap;gap:20px}
@keyframes companion-presence{0%,100%{opacity:.35}50%{opacity:.68}}
@media(max-width:1050px){.companion-layout{gap:35px}.companion-choices{grid-template-columns:repeat(5,1fr)}}@media(max-width:760px){.companion-layout{grid-template-columns:1fr;gap:22px;margin-bottom:40px}.companion-stage{max-width:365px}.companion-intro h1{font-size:43px}.companion-message{min-height:3em;font-size:24px}.companion-actions{gap:9px}.companion-actions .button{font-size:13px;padding-inline:15px}.companion-choices{grid-template-columns:repeat(3,1fr);gap:10px}.companion-choice{border-radius:15px}.companion-disclosure{margin:45px 0}.companion-disclosure h2{font-size:31px}.companion-customise form{gap:10px}.companion-customise input{width:220px}}
@media(prefers-reduced-motion:reduce){.companion-stage::before{animation:none!important;transition:none!important}}
.companion-account{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.companion-account summary{font-weight:800;min-height:44px;padding-block:10px;cursor:pointer}.companion-account form{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:18px 0}.companion-account form p{flex-basis:100%}.companion-account label{display:block;font-size:14px;max-width:100%}.companion-account input{display:block;background:var(--paper);border:1px solid var(--line);border-radius:12px;min-height:46px;padding:10px;margin-top:5px;width:240px;max-width:100%}.companion-account .button{min-height:46px;font-size:14px;padding:11px 18px}.companion-account .account-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px}.companion-account [role=status]{font-size:14px;min-height:1.5em;overflow-wrap:anywhere}.companion-account .account-manage{margin-top:20px}.companion-account .account-manage>.text-link{display:block;margin:14px 0}.companion-account [hidden]{display:none!important}.companion-account input:focus-visible,.companion-account button:focus-visible{outline:3px solid var(--bark);outline-offset:3px}

.companion-account input{font-size:16px}.companion-account .text-link{min-height:44px;padding-block:10px}

/* A quiet place within the existing KNODD palette. Character artwork is unchanged. */
.companion-stage{overflow:clip}.companion-stage::before{inset:7% 2% 5%;background:linear-gradient(165deg,#B2C8BA66,#F4F0E600);opacity:1;border-radius:48% 48% 43% 43%}.companion-stage canvas{transform:scale(1.08)}.companion-stage>img,.companion-stage>video{transform:scale(.9)}.companion-room{position:absolute;inset:0;z-index:-1;pointer-events:none}.companion-window{position:absolute;left:19%;top:14%;width:28%;height:41%;border-radius:48% 48% 10% 10%;background:linear-gradient(160deg,#F4F0E6CC,#F4F0E600);border:1px solid #80644B12}.companion-floor{position:absolute;left:10%;right:10%;bottom:7%;height:18%;border-radius:50%;background:radial-gradient(ellipse,#80644B20,transparent 68%)}.companion-stage[data-space=open-air]::before{background:linear-gradient(165deg,#B2C8BAA0,#F4F0E600)}.companion-stage[data-space=open-air] .companion-window{left:55%;top:14%;height:23%;width:23%;border:0;border-radius:50%;background:radial-gradient(circle,#F4F0E6E0,#D69A7D26 65%,transparent 70%)}.companion-stage[data-space=evening-glow]::before{background:linear-gradient(145deg,#80644B38,#D69A7D42 60%,#F4F0E600)}.companion-stage[data-space=evening-glow] .companion-window{left:57%;top:18%;width:19%;height:30%;border:0;background:radial-gradient(ellipse,#F4F0E6D0,#D69A7D08 70%)}.companion-stage.a-little-hello::before{opacity:1}.companion-stage.sitting-together::before{animation:companion-presence 8s ease-in-out infinite}.companion-room,.companion-stage::before{transition:background 700ms ease-in-out}
@media(prefers-reduced-motion:reduce){.companion-room,.companion-stage::before{transition:none!important}}
