:root{color-scheme:dark;--cream:#f3e3bd;--gold:#bf9755;--ink:#251813;--burgundy:#641e2d}*{box-sizing:border-box}body{margin:0;background:#120e0c;color:var(--cream);font:1rem/1.55 Georgia,serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer;min-height:48px;border:1px solid var(--gold);border-radius:7px;padding:11px 20px;background:#f3e3bd;color:var(--ink);box-shadow:0 3px 12px #0006}button:hover{background:#fff1ce}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #fbd182;outline-offset:4px}button:disabled{opacity:.5;cursor:default}.secondary{background:#2c1a17;color:var(--cream)}.secondary:hover{background:#482a22}.scene{position:relative;min-height:100svh;background-image:linear-gradient(90deg,#0004,#0001),var(--scene);background-size:cover;background-position:center;background-attachment:fixed;isolation:isolate;padding:24px clamp(18px,4vw,64px) 40px}.scene:before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#000a,transparent 60%);z-index:-1}.top{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.room-title h1{font-size:clamp(1.9rem,4vw,3rem);line-height:1.1;margin:5px 0 10px;text-shadow:0 2px 8px #000}.eyebrow{font: .9rem/1.5 system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase}.instruction{display:inline-block;background:#130e0dde;border:1px solid #ae854a88;padding:8px 14px;border-radius:4px;font:1rem/1.5 system-ui,sans-serif;max-width:350px}.tools{display:flex;gap:8px;flex-wrap:wrap}.tools button{font-size:.9rem;padding:7px 13px}.start{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.start .welcome{width:min(540px,100%);margin-left:12%;background:#100b09a6;padding:25px;border-radius:8px;text-shadow:0 2px 6px #000}.welcome h1{font-size:clamp(2.8rem,7vw,5.4rem);line-height:1;letter-spacing:.015em;margin:12px 0;color:#f3e5c2}.welcome h1 span{color:#c55357}.subtitle{font-size:1.3rem}.welcome form{text-shadow:none;text-align:left}.fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.fields label{display:grid;gap:5px;font:1rem/1.5 system-ui,sans-serif}input,select,textarea{width:100%;padding:10px;background:#fff6e2;color:#231a16;border:1px solid #ae854a;border-radius:4px;min-height:48px}textarea{min-height:95px}.welcome button{width:100%;font-size:1.2rem}.fine{font: .875rem/1.5 system-ui,sans-serif}.interactive-area{min-height:56svh;position:relative}.inspect{position:absolute;left:24%;top:55%;background:#100b0abb;color:#ffe4a0;border:2px solid #dbb56c;font-size:1.1rem}.inspect:after{content:'Inspect';display:block;font-size:.875rem}.panel{width:min(680px,100%);margin:28px auto;background:#f0e2c4;color:var(--ink);border:2px solid var(--gold);border-radius:9px;box-shadow:0 8px 40px #0009;padding:clamp(18px,3vw,32px)}.panel h2{font-size:1.65rem;line-height:1.2;margin:0 0 16px}.panel h3{font-size:1.15rem;margin:20px 0 10px}.panel p{margin:10px 0}.clue{border-left:3px solid #80633c;margin:12px 0;padding:2px 0 2px 17px}.clue blockquote{margin:8px 0;font-size:1.05rem;line-height:1.6}.panel .fine{color:#524535}.choices{border:0;padding:0;margin:16px 0}.choices legend{font-weight:bold;margin-bottom:10px}.choice{display:flex;gap:12px;align-items:flex-start;background:#fffaee;border:1px solid #b99b75;border-radius:6px;padding:12px;margin:9px 0;cursor:pointer}.choice:has(input:checked){outline:2px solid #72323c;background:#f5dfdc}.choice input{width:20px;height:20px;min-height:20px;flex:0 0 20px;margin-top:3px;accent-color:#71333c}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.actions button{background:#651f2e;color:#fff0cf}.actions .secondary{background:#ebe0cb;color:#34251b}.classification{display:grid;gap:12px}.classification label{background:#fff8e9;padding:12px;border:1px solid #b99b75;border-radius:5px}.classification select{margin-top:8px}.order-list{list-style:none;padding:0;display:grid;gap:12px}.order-list li{display:flex;gap:12px;align-items:center;background:#fff8e9;padding:12px;border:1px solid #b99b75}.order-list .moves{display:flex;flex-direction:column;gap:6px;margin-left:auto}.moves button{font: .875rem system-ui,sans-serif;padding:5px 10px;min-height:38px}.number{font-size:1.5rem;color:#742535}.door-bar{display:flex;justify-content:center;gap:12px;padding:10px}.key{font-size:3rem;text-align:center}dialog{border:0;padding:0;background:transparent;color:var(--ink);width:min(820px,94vw);max-height:90svh;overflow:auto}dialog::backdrop{background:#000b}.poe-dialog{display:grid;grid-template-columns:200px 1fr;align-items:end;gap:16px}.poe-dialog img{max-width:100%;max-height:410px;object-fit:contain;filter:drop-shadow(0 8px 15px #000)}.bubble{background:#f4e5c4;border:2px solid #bf9755;border-radius:18px;padding:25px;box-shadow:0 10px 40px #0009}.bubble h2{font-size:2.3rem;margin:0}.bubble p{font-size:1.1rem}.hint{background:#e5d2a9;padding:12px;border-radius:5px}.report{max-width:760px}.report details{margin-top:18px}.report summary{cursor:pointer}.room-nav{display:flex;gap:8px;flex-wrap:wrap}.room-nav button{min-width:48px}.notice{background:#231510dd;padding:8px 14px;border-radius:4px;font:.875rem/1.5 system-ui,sans-serif}.footer{max-width:680px;margin:25px auto 0;background:#150e0dde;padding:15px;border:1px solid #705b3b;border-radius:5px;font:.875rem/1.6 system-ui,sans-serif}.footer a{color:#f0d298}.footer summary{cursor:pointer}#report-status{font:1rem/1.5 system-ui,sans-serif}.status{padding:8px 0;min-height:25px}.success-heading{text-align:center}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(max-width:700px){.scene{background-attachment:scroll;padding:18px 16px 30px}.start .welcome{margin-left:0;margin-top:23svh;background:#140e0dcc;padding:20px}.fields{grid-template-columns:1fr}.poe-dialog{grid-template-columns:90px 1fr;gap:5px}.poe-dialog img{max-height:220px}.bubble{padding:18px}.bubble h2{font-size:1.8rem}.bubble .actions{display:grid}.interactive-area{min-height:50svh}.inspect{left:20%;top:50%}.panel{margin-top:22px}.top .tools{margin-top:8px}}@media(prefers-reduced-motion:no-preference){.panel,.bubble{animation:appear .25s ease-out}@keyframes appear{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}}
/* Object exploration: artwork and hotspots share one uncropped coordinate space. */
.house-page{min-height:100svh;background:#100c0b;display:flex;flex-direction:column;align-items:center;padding:12px 14px 24px}.room-stage{position:relative;width:min(100%,calc((100svh - 170px)*1.333333),1448px);aspect-ratio:4/3;container-type:inline-size;flex-shrink:0;isolation:isolate}.room-art{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;border-radius:3px;user-select:none}.room-header{width:min(100%,1200px);padding:6px 4px 16px}.room-header .room-title h1{font-size:clamp(1.65rem,3vw,2.5rem);margin:2px 0 7px}.room-header .instruction{background:transparent;border:0;padding:0;max-width:none}.hotspot{position:absolute;left:var(--x);top:var(--y);width:var(--w);height:var(--h);transform:translate(-50%,-50%);min-width:44px;min-height:44px;padding:0;border:1px solid #e6b86966;border-radius:45%;background:transparent;color:#fff1cd;box-shadow:0 0 13px #ebb35b66,inset 0 0 12px #ebb35b22;z-index:2}.hotspot.primary{border-color:#f2c572aa;box-shadow:0 0 18px #ffd27888,inset 0 0 14px #ffd27844}.hotspot:hover,.hotspot:focus-visible{background:#f2c57213;border-color:#ffe2a3;box-shadow:0 0 25px #ffd278bb,inset 0 0 18px #ffd27855}.hotspot-label{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);width:max-content;max-width:200px;background:#140f0fee;padding:5px 10px;border:1px solid #aa854e;border-radius:4px;font:1rem/1.4 system-ui,sans-serif;opacity:0;pointer-events:none}.hotspot:hover .hotspot-label,.hotspot:focus-visible .hotspot-label{opacity:1}.entrance-page{padding:0 10px 18px}.entrance-page .room-stage{width:min(100%,calc((100svh - 108px)*1.333333),1448px)}.entrance-title{position:absolute;top:5%;left:27%;width:43%;text-align:center;color:#f5e4bc;text-shadow:0 3px 10px #000,0 0 20px #000;pointer-events:none}.entrance-title h1{font-size:clamp(1.55rem,5.2cqw,4.7rem);line-height:1.06;margin:0 0 10px}.entrance-title h1 span{color:#cb7678}.entrance-title .subtitle{font-size:clamp(1rem,2cqw,1.65rem);margin:8px 0}.entrance-title p:last-child{font-size:clamp(1rem,1.6cqw,1.3rem);margin:8px -20% 0}.entrance-caption{text-align:center;width:100%;padding:0 10px}.entrance-caption>p{margin:5px 0 9px}.entrance-tools{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.entrance-tools button{box-shadow:none;min-height:44px;padding:6px 12px;font:.875rem/1.5 system-ui,sans-serif;background:transparent;border-color:#86623866}.room-caption{font:1rem/1.5 system-ui,sans-serif;margin:8px 0;text-align:center}.teacher-notes{font:1rem/1.6 system-ui,sans-serif}.teacher-notes>summary{display:none}.teacher-notes a{color:#602b31}dialog>.panel{margin:0 auto}.discovery .eyebrow{color:#6b4d29;font-size:.875rem;margin-bottom:12px}dialog{padding:8px 0}.scene:has(.report){background-image:linear-gradient(#0009,#0009),var(--scene)}
@media(max-width:700px){.room-stage,.entrance-page .room-stage{width:100%}.house-page{padding:10px 8px 24px}.room-header{padding:2px 6px 14px}.room-header .tools{margin-top:5px}.room-header .instruction{max-width:100%;font-size:1rem}.entrance-title{top:4%;left:26%;width:47%}.entrance-title h1{font-size:clamp(1.5rem,6cqw,2.8rem)}.entrance-title p:last-child{display:none}.entrance-caption{margin-top:14px}.hotspot-label{font-size:.875rem;max-width:150px}.hotspot{min-width:44px;min-height:44px}.room-page .room-stage{margin-top:5px}.house-page.entrance-page{justify-content:center}.entrance-tools{margin-top:15px}}
@media(prefers-reduced-motion:no-preference){.hotspot{animation:glimmer 3s ease-in-out infinite}@keyframes glimmer{50%{box-shadow:0 0 23px #ffd27899,inset 0 0 16px #ffd27833}}}

.reflection-ideas{border-left:3px solid #9c774b;padding:1px 0 1px 17px;margin:20px 0}.reflection-ideas h3{margin:10px 0}.reflection-ideas ul{padding-left:22px;margin:12px 0}.reflection-ideas li{margin:10px 0}
