/* Values from night-source-20261026.1 / source/2b.html. */
:root{color-scheme:dark;--bg:#1B552D;--panel:#2B6A40;--ink:#fff;--soft:#CFE3D5;--accent:#FE6C1F;--on-accent:#3A1B16;--leaf:#A9C7B1;--focus:#FFC87D}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Roboto,Arial,sans-serif;min-height:100vh;display:flex;flex-direction:column}button{font:700 clamp(18px,1.35vw,26px)/1.25 Roboto,Arial,sans-serif;border:0;border-radius:999px;padding:20px 30px;min-height:64px;background:var(--accent);color:var(--on-accent);cursor:pointer;touch-action:manipulation}button:hover{filter:brightness(1.06)}button:active{transform:scale(.97)}button:disabled{background:var(--panel);color:var(--leaf);cursor:default}button:focus-visible{outline:4px solid var(--focus);outline-offset:5px}.secondary{background:transparent;color:var(--ink);border:2px solid var(--ink)}header{display:flex;align-items:center;gap:30px;padding:28px 3.5vw}header img{width:auto;height:76px}header span{font-size:clamp(16px,1.5vw,25px);flex:1}header button{font-size:18px}.demo{color:var(--focus);text-align:center;padding:12px 20px;font-size:16px;border-block:1px solid var(--panel)}main{width:min(1500px,93vw);margin:34px auto;flex:1;display:flex;flex-direction:column;justify-content:center}h1{font-size:clamp(34px,4.5vw,80px);line-height:1.04;letter-spacing:-.02em;text-wrap:balance;margin:0 0 28px;max-width:17ch}h2{font-size:clamp(28px,2.9vw,48px);line-height:1.15;margin:0 0 22px;text-wrap:balance}p{font-size:clamp(20px,1.75vw,28px);line-height:1.45;max-width:65ch;margin:0 0 24px}.intro{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:70px}.intro aside{border-radius:32px;background:var(--panel);padding:36px}.intro aside h2{font-size:32px}.intro ol{font-size:24px;line-height:1.65;padding-left:28px}.actions{display:flex;gap:18px;flex-wrap:wrap;margin-top:28px}.taskhead{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:26px}.counter{font-size:22px;font-variant-numeric:tabular-nums;color:var(--soft)}.domains{display:flex;gap:12px;flex-wrap:wrap;padding:0;list-style:none;margin:0 0 28px}.domains li{border-radius:999px;padding:12px 20px;background:var(--panel);color:var(--soft);font-size:18px}.domains li.done{background:var(--leaf);color:var(--bg)}.scenario{display:grid;grid-template-columns:1fr 1.05fr;gap:50px;align-items:start}.situation{padding:32px;background:var(--panel);border-radius:32px}.situation strong{font-size:24px;color:var(--focus)}.situation p{margin-top:18px}.answers{display:grid;gap:18px}.answers button{border-radius:26px;text-align:left;min-height:98px;padding:26px 32px;background:var(--panel);color:var(--ink);border:2px solid var(--soft)}.answers button:hover{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.feedback{background:var(--panel);padding:34px;border-radius:32px}.feedback h2{color:var(--focus)}.checklist{padding-left:30px;max-width:65ch;font-size:clamp(20px,1.6vw,27px);line-height:1.5}.checklist li{padding:6px 0}footer{display:flex;gap:24px;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:24px 3.5vw;color:var(--soft);font-size:16px}footer button{font-size:16px;min-height:48px;padding:12px 20px}#error{background:var(--on-accent);color:var(--ink);padding:24px;margin:20px auto;max-width:90vw;border-radius:16px}::selection{background:var(--accent);color:var(--on-accent)}a{color:var(--focus);text-underline-offset:.2em}*{scrollbar-color:var(--leaf) var(--bg)}[hidden]{display:none!important}
@media(max-width:850px){header{gap:16px;padding:20px}header img{height:54px}header span{font-size:15px}header button{font-size:16px;padding:14px;min-height:52px}main{margin:28px auto}.intro,.scenario{grid-template-columns:1fr;gap:26px}.intro aside{padding:26px}.intro ol{font-size:20px}.domains{gap:8px}.domains li{font-size:15px;padding:10px 14px}.taskhead{align-items:flex-start;flex-direction:column;gap:12px}.situation{padding:24px}.answers button{padding:20px 24px;min-height:80px}.actions button{flex:1}.demo{font-size:14px}footer{padding:22px;gap:16px}h1{max-width:18ch}.counter{font-size:18px}}
@media(max-width:600px){header{flex-wrap:wrap}header span{order:3;flex-basis:100%}header button{margin-left:auto}header img{max-width:45vw;object-fit:contain}.intro aside h2{font-size:28px}}
@media(prefers-reduced-motion:reduce){button:active{transform:none}}

/* Generated scene supports the canonical Night Reserve surfaces. */
body{isolation:isolate}body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(27,85,45,.97),rgba(27,85,45,.88)),url("assets/happy-home-v1.webp") center/cover no-repeat}header,footer{background:var(--bg)}.intro{grid-template-columns:.95fr 1.05fr;gap:56px}.home-art{margin:0;min-width:0}.home-art img{display:block;width:100%;height:auto;border-radius:32px;box-shadow:0 24px 60px rgba(20,50,31,.3)}.home-art figcaption{font-size:clamp(17px,1.3vw,22px);line-height:1.4;color:var(--soft);margin-top:20px}.domains li{display:flex;align-items:center;gap:10px}.domains li span{font-variant-numeric:tabular-nums}.leaf{width:22px;height:22px;flex:none}.result-view{display:grid;grid-template-columns:1.1fr 1fr;gap:50px;align-items:center}.result-art{width:100%;height:auto;display:block;border-radius:32px}.answers button{transition:background-color .16s ease-out,color .16s ease-out,transform .16s ease-out}.answers button:focus-visible{background:var(--accent);color:var(--on-accent)}.home-art{animation:home-enter .55s cubic-bezier(.16,1,.3,1) both}@keyframes home-enter{from{transform:translateY(18px)}to{transform:translateY(0)}}
@media(max-width:850px){.intro,.result-view{grid-template-columns:1fr;gap:28px}.home-art img,.result-art{border-radius:24px}.domains li{gap:7px}.leaf{width:18px;height:18px}.home-art{max-width:680px}.result-art{max-width:680px}}
@media(prefers-reduced-motion:reduce){.home-art{animation:none}.answers button{transition:none}}

/* Product layout uses the immutable night-kit-20261026.1 component library. */
.shp-night{--bg:var(--shp-surface);--panel:var(--shp-raised);--ink:var(--shp-text);--soft:var(--shp-muted);--accent:var(--shp-accent);--on-accent:var(--shp-on-accent);--leaf:var(--shp-border);--focus:var(--shp-focus)}
.shp-night .shp-feedback--success h2{color:var(--shp-deep)}
.shp-night .shp-option:focus-visible{background:var(--shp-option);color:var(--shp-text)}
.shp-night .shp-button:hover{filter:none}

/* Illustrated situations: keep the scene visible through the decision and feedback. */
.shp-night #app[data-screen="task"]{justify-content:flex-start;margin-top:16px;gap:18px}
#app[data-screen="task"] .taskhead{margin:0;gap:24px}#app[data-screen="task"] .taskhead h2{margin:0}
#app[data-screen="task"] .domains{margin:0 0 4px}
.scenario,.feedback-scene{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:center;gap:36px}
.scene-card{margin:0;min-width:0;background:var(--shp-deep);border-radius:32px;overflow:hidden}
.scene-image{display:block;width:100%;height:auto;object-fit:contain;max-width:100%;background:var(--shp-deep)}
.scene-card figcaption{font-size:clamp(18px,1.45vw,26px);line-height:1.35;padding:20px 26px;color:var(--shp-text)}
.shp-night .choice-title{font-size:clamp(25px,2.5vw,40px);margin:0 0 24px}
.shp-night .answers .shp-option{font-size:clamp(18px,1.45vw,26px);font-weight:700;min-height:112px;padding:24px;gap:18px;border-color:var(--shp-border)}
.shp-night .answers .shp-option-number{width:44px;height:44px;font-size:24px}
.feedback-scene .feedback{padding:30px}.shp-night .feedback-scene .feedback h2{font-size:clamp(26px,2.6vw,44px)}
.choice-panel{min-width:0}
@media(max-width:850px){.scenario,.feedback-scene{grid-template-columns:1fr;gap:24px}.shp-night #app[data-screen="task"]{padding:20px 8px;gap:18px}.scene-card{border-radius:24px}.scene-card figcaption{padding:18px 20px}.shp-night .answers .shp-option{min-height:88px;padding:20px;font-size:18px}.shp-night .answers .shp-option-number{width:36px;height:36px;font-size:20px}.shp-night .choice-title{font-size:27px;margin-bottom:18px}#app[data-screen="task"] .domains{flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding-bottom:10px;scrollbar-width:thin}#app[data-screen="task"] .domains li{flex:none}#app[data-screen="task"] .taskhead{gap:10px}.feedback-scene .feedback{padding:24px}}
