:root{--color-ink:#101828;--color-ink-subtle:#344054;--color-muted:#475467;--color-muted-soft:#667085;--color-canvas:#eef2f6;--color-surface:#fff;--color-surface-soft:#f8fafc;--color-surface-cool:#e8edf2;--color-border:#cbd5e1;--color-outline:#98a2b3;--color-border-soft:#0f172a14;--color-border-strong:#0f172a1f;--color-signal:#2563eb;--color-focus:#1d4ed8;--color-signal-soft:#dbeafe;--color-danger:#b42318;--color-danger-soft:#fef3f2;--color-info-soft:#eff8ff;--radius-control:.75rem;--radius-preview:.8rem;--radius-editor:.9rem;--radius-panel:1rem;--radius-pill:999px;--shadow-panel:0 18px 50px #0f172a14;--shadow-control:0 4px 12px #0f172a14;--motion-quick:.14s;--motion-standard:.22s;--ease-out:cubic-bezier(.2, .8, .2, 1);--font-size-section:1.1rem;--font-size-caption:.875rem;--font-size-compact:.75rem;color:var(--color-ink);background:var(--color-canvas);font-family:Avenir Next,Segoe UI,sans-serif;line-height:1.5}*{box-sizing:border-box}html{scrollbar-color:var(--color-outline) var(--color-canvas)}body{margin:0}::selection{background:var(--color-signal-soft);color:var(--color-ink)}input,textarea{caret-color:var(--color-signal)}button,input,select{transition:border-color var(--motion-quick) var(--ease-out), background-color var(--motion-quick) var(--ease-out), color var(--motion-quick) var(--ease-out), box-shadow var(--motion-quick) var(--ease-out)}.app-shell{min-height:100vh;padding:2rem max(2rem, env(safe-area-inset-right)) max(2rem, env(safe-area-inset-bottom)) max(2rem, env(safe-area-inset-left));background:radial-gradient(circle at top right, #b7dbff73, transparent 28rem), linear-gradient(180deg, var(--color-surface-soft) 0%, var(--color-canvas) 100%)}.app-header,.app-loading,.studio{max-width:80rem;margin-inline:auto}.app-header{margin-bottom:1.5rem}.app-header h1{letter-spacing:-.035em;margin:0;font-size:clamp(2rem,4vw,3rem);line-height:1.08}.app-intro{max-width:38rem;color:var(--color-muted);margin:.5rem 0 1.5rem}.app-loading{color:var(--color-muted)}.studio{grid-template-columns:minmax(15rem,18rem) minmax(0,1fr) minmax(18rem,24rem);grid-template-areas:"checklist scene inspector";align-items:start;gap:1.5rem;display:grid}.studio__checklist,.studio__scene,.studio__inspector{border:1px solid var(--color-border-soft);border-radius:var(--radius-panel);min-width:0;box-shadow:var(--shadow-panel);background:#ffffffeb;padding:1.25rem}.studio__scene{background:linear-gradient(#e1eeffd9,#fffffff5);flex-direction:column;grid-area:scene;min-height:32rem;display:flex}.studio__checklist{grid-area:checklist}.studio__inspector{grid-area:inspector}.studio__scene-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.studio__scene-header .studio__section-title{margin-bottom:.25rem}.studio__scene-status{border-radius:var(--radius-pill);background:var(--color-surface);font-size:var(--font-size-compact);flex:none;padding:.35rem .65rem;font-weight:600}.studio__scene p{max-width:28rem;color:var(--color-ink-subtle);margin:0}.studio__section-title{font-size:var(--font-size-section);margin:0 0 1rem}.room-canvas{border:1px solid var(--color-border-strong);border-radius:var(--radius-preview);background:var(--color-surface-cool);flex:1;min-height:27rem;overflow:hidden}.room-canvas canvas{display:block}.scene-loading,.scene-fallback{border:1px dashed var(--color-outline);border-radius:var(--radius-preview);text-align:center;min-height:16rem;color:var(--color-muted);background:#f8fafce6;flex:1;place-content:center;gap:1rem;padding:1.5rem;display:grid}.scene-fallback p{margin:0}.scene-fallback button,.studio__history button,.project-actions button,.project-save__retry,.inspector__navigation button,.inspector__disclosure,.room-summary button,.room-complete button,.opening-editor__actions button,.opening-editor__footer button,.opening-editor__confirm button{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-ink);font:inherit;padding:.625rem .95rem}.scene-fallback button,.project-actions button,.project-save__retry,.inspector__navigation button,.inspector__disclosure,.room-summary button,.room-complete button,.opening-editor__actions button,.opening-editor__footer button,.opening-editor__confirm button,.studio__history button:not(:disabled){cursor:pointer}.scene-fallback button{justify-self:center}.scene-fallback button:hover,.studio__history button:not(:disabled):hover,.project-actions button:hover,.project-save__retry:hover,.inspector__navigation button:not(:disabled):hover,.inspector__disclosure:hover,.room-summary button:hover,.room-complete button:hover,.opening-editor__actions button:hover,.opening-editor__footer button:hover,.opening-editor__confirm button:hover{border-color:var(--color-outline);background:var(--color-surface-soft);box-shadow:var(--shadow-control)}.studio__inspector{gap:1.25rem;display:grid}.studio__inspector-toolbar{border-bottom:1px solid var(--color-border-soft);justify-content:space-between;align-items:center;gap:.75rem;padding-bottom:.9rem;display:flex}.studio__history{gap:.5rem;display:flex}.studio__history button{font-size:var(--font-size-caption);padding:.45rem .7rem}.studio__history button:disabled{cursor:not-allowed;opacity:.55}.project-save{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.project-save__retry{cursor:pointer}.project-actions{gap:.75rem;padding-top:.85rem;display:grid}.project-actions__buttons{flex-wrap:wrap;gap:.75rem;display:flex}.project-actions__status,.project-actions__error,.project-actions__confirm p,.project-actions__recovery p{margin:0}.project-actions__status{color:var(--color-muted);font-size:var(--font-size-caption)}.project-actions__error,.inspector__error{color:var(--color-danger)}.project-actions__confirm,.project-actions__recovery{border-radius:var(--radius-control);background:var(--color-danger-soft);gap:.75rem;padding:.85rem 1rem;display:grid}.project-actions__confirm p,.project-actions__recovery p,.opening-editor__confirm p{overflow-wrap:anywhere}.project-actions__recovery{background:var(--color-info-soft)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.checklist__current{border-radius:var(--radius-control);background:var(--color-signal-soft);align-items:center;gap:.75rem;padding:.85rem;display:flex}.checklist__current>span:last-child{display:grid}.checklist__signal{background:var(--color-signal);border-radius:50%;width:.65rem;height:.65rem;box-shadow:0 0 0 .3rem #2563eb1f}.checklist__current-note{color:var(--color-muted);font-size:var(--font-size-caption)}.checklist__up-next{border-top:1px solid var(--color-border-soft);margin-top:1.25rem;padding-top:1rem}.checklist__up-next h3{margin:0 0 .35rem;font-size:1rem}.checklist__up-next p{color:var(--color-muted);margin:0}.checklist__up-next .checklist__note{color:var(--color-muted-soft);font-size:var(--font-size-caption);margin-top:.5rem}.inspector{gap:1.25rem;display:grid}.inspector__header{gap:.35rem;display:grid}.inspector__header h2,.room-summary h2,.room-complete h2{font-size:var(--font-size-section);letter-spacing:-.02em;margin:0}.inspector__header p,.room-summary p,.room-complete p{color:var(--color-muted);margin:0}.inspector__header>p:first-child{color:var(--color-signal);font-size:var(--font-size-caption);font-weight:700}.inspector__progress{border-radius:var(--radius-pill);background:var(--color-surface-cool);height:.25rem;margin-top:.65rem;overflow:hidden}.inspector__progress span{transform-origin:0;border-radius:inherit;background:var(--color-signal);width:100%;height:100%;transition:transform var(--motion-standard) var(--ease-out);display:block}.inspector__step{opacity:1;min-height:20rem;transition:transform var(--motion-standard) var(--ease-out), opacity var(--motion-standard) var(--ease-out);align-content:start;gap:1rem;display:grid;transform:none}@starting-style{.inspector[data-step-direction=forward] .inspector__step{opacity:0;transform:translate(.35rem)}}@starting-style{.inspector[data-step-direction=backward] .inspector__step{opacity:0;transform:translate(-.35rem)}}.inspector__guidance{border-radius:var(--radius-control);background:var(--color-info-soft);color:var(--color-ink-subtle);font-size:var(--font-size-caption);margin:0;padding:.85rem}.inspector__fieldset{border:0;margin:0;padding:0}.inspector__legend{margin-bottom:.75rem;padding:0;font-weight:700}.inspector__grid,.opening-editor__grid{gap:1rem;display:grid}.inspector__grid--nested{border-radius:var(--radius-control);background:var(--color-surface-soft);padding:1rem}.inspector__group,.opening-editor__group{gap:.35rem;display:grid}.inspector__label{font-weight:600}.inspector__choices{flex-wrap:wrap;gap:.75rem;display:flex}.inspector__choice{cursor:pointer;align-items:center;gap:.5rem;min-height:2.75rem;display:inline-flex}.inspector__measurement{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.5rem;display:grid}.inspector__input{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);width:100%;min-height:2.75rem;font:inherit;padding:.7rem .85rem}.inspector__input:hover{border-color:var(--color-outline)}.inspector__unit,.inspector__hint{color:var(--color-muted)}.inspector__hint,.inspector__error{font-size:var(--font-size-caption);margin:0}.inspector__navigation{border-top:1px solid var(--color-border-soft);justify-content:space-between;gap:.75rem;padding-top:1rem;display:flex}.inspector__completion-action{text-align:right;justify-items:end;gap:.5rem;display:grid}.inspector__completion-action p{font-size:var(--font-size-caption);margin:0}.inspector__navigation button:disabled{cursor:not-allowed;opacity:.55}.inspector__disclosure{text-align:left;justify-content:space-between;align-items:center;gap:1rem;display:flex}.inspector__disclosure span:first-child{font-weight:700}.inspector__disclosure span:last-child{color:var(--color-muted);font-size:var(--font-size-caption)}.inspector__navigation .inspector__primary-action,.room-summary .inspector__primary-action{border-color:var(--color-signal);background:var(--color-signal);color:#fff}.inspector__navigation .inspector__primary-action:hover,.room-summary .inspector__primary-action:hover{border-color:var(--color-focus);background:var(--color-focus)}.room-summary,.room-complete{gap:1.25rem;display:grid}.room-summary__facts,.room-complete__summary{gap:.75rem;margin:0;display:grid}.room-summary__facts div,.room-complete__summary div{border-bottom:1px solid var(--color-border-soft);justify-content:space-between;align-items:baseline;gap:1rem;padding-bottom:.6rem;display:flex}.room-summary__facts dt,.room-complete__summary dt{color:var(--color-muted);font-size:var(--font-size-caption)}.room-summary__facts dd,.room-complete__summary dd{text-align:right;margin:0;font-weight:600}.room-summary__device-note{font-size:var(--font-size-caption)}.room-complete__mark{background:var(--color-signal-soft);width:2.75rem;height:2.75rem;stroke:var(--color-signal);stroke-width:2px;fill:none;stroke-linecap:round;stroke-linejoin:round;border-radius:50%;padding:.55rem}.project-utilities{border-top:1px solid var(--color-border-soft);padding-top:.9rem}.project-utilities summary{cursor:pointer;color:var(--color-muted);font-size:var(--font-size-caption);font-weight:700}.opening-editor{gap:1rem;display:grid}.opening-editor__header,.opening-editor__actions,.opening-editor__footer{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.opening-editor__header{justify-content:space-between}.opening-editor__list{gap:1rem;display:grid}.opening-editor__fieldset{border-radius:var(--radius-editor);background:#fcfcfd;border:1px solid #d0d5dd;margin:0;padding:1rem}.opening-editor__issues{margin:.75rem 0 0;padding-inline-start:1.1rem}.opening-editor__actions button:disabled{cursor:not-allowed;opacity:.55}.opening-editor__confirm{border-radius:var(--radius-control);background:var(--color-danger-soft);margin-top:.75rem;padding:.85rem 1rem}.opening-editor__confirm p{margin:0 0 .75rem}:focus-visible{outline:3px solid var(--color-focus);outline-offset:.25rem}@media (width<=72rem){.studio{grid-template-columns:minmax(0,1.3fr) minmax(18rem,.7fr);grid-template-areas:"scene inspector""checklist inspector"}.studio__checklist{align-self:stretch}.studio__scene{min-height:28rem;position:sticky;top:1rem}.room-canvas{min-height:23rem}}@media (width<=48rem){.app-shell{padding:1rem max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left))}.app-header{margin-bottom:1rem}.studio{grid-template-columns:minmax(0,1fr);grid-template-areas:"scene""checklist""inspector";gap:1rem}.studio__scene{min-height:20rem;position:static}.studio__checklist,.studio__scene,.studio__inspector{padding:1rem}.room-canvas{min-height:16rem}.studio__scene-header{display:grid}.studio__scene-status{justify-self:start}.studio__inspector-toolbar{align-items:flex-start}.inspector__step{min-height:0}.room-summary__facts div{align-items:flex-start}.project-actions__buttons>button,.studio__history button,.opening-editor__actions button,.opening-editor__footer button,.opening-editor__confirm button{min-height:2.75rem}}@media (prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}.inspector__progress span{transition:none}.inspector__step{transition:opacity var(--motion-quick) var(--ease-out);transform:none}.inspector[data-step-direction] .inspector__step{transform:none}@starting-style{.inspector[data-step-direction] .inspector__step{opacity:0;transform:none}}}
