/* The active experience owns exactly one viewport; the surrounding site retains its scroll position. */
.discover-playing .blackout{position:fixed;inset:0;z-index:100;height:100vh;height:100dvh;min-height:0;width:100%;overflow:hidden;overscroll-behavior:none;touch-action:none;cursor:none;background:#020405}
.discover-playing>.header,.discover-playing>.footer{visibility:hidden}
.discover-playing>.skip{display:none}
.room-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.blackout .room-depth,.blackout .room-noise,.blackout .light-pool,.blackout .effect-layer{display:none}
.blackout .room-title{top:max(25px,env(safe-area-inset-top));left:max(30px,env(safe-area-inset-left));right:max(30px,env(safe-area-inset-right));z-index:4;align-items:flex-start;color:#c9bd9f;font-size:.64rem;letter-spacing:.18em;text-shadow:0 2px 8px #000;pointer-events:none}
.room-title>span:first-child{font-size:.7rem;color:#e2d8bd;font-weight:600;white-space:nowrap}
.room-title [data-room-status]{max-width:380px;text-align:center;line-height:1.6;letter-spacing:.04em;color:#a7a397;text-transform:none}
.room-title [data-progress]{white-space:nowrap;font-variant-numeric:tabular-nums;color:#afa68d}
.blackout .room-actions{right:max(28px,env(safe-area-inset-right));top:calc(max(25px,env(safe-area-inset-top)) + 40px);gap:8px;z-index:6}
.room-actions button,.room-instrument button{cursor:pointer;touch-action:manipulation;background:#171b19ba;border:1px solid #8d836440;color:#d7cfba;border-radius:3px;font-size:.69rem;padding:10px 12px;letter-spacing:.025em}
.room-actions button:hover,.room-instrument button:hover{background:#34372a;color:#fff0c7;border-color:#a39369}
.blackout .light-tools{left:50%;right:auto;bottom:calc(22px + env(safe-area-inset-bottom));transform:translateX(-50%);gap:3px;max-width:calc(100% - 44px);padding:7px;border:1px solid #7b745342;background:linear-gradient(145deg,#20231ded,#0b1010f2);border-radius:8px;box-shadow:0 20px 60px #0008,inset 0 1px #a69c7026;backdrop-filter:blur(18px);touch-action:pan-x;cursor:auto}
.light-tools button{position:relative;min-width:92px;min-height:78px;padding:9px 10px;background:transparent;border-radius:4px;border:1px solid transparent;text-align:center;color:#a09f90;cursor:pointer;touch-action:manipulation}
.light-tools button:hover{background:#b1a27312;color:#ece5d1}
.light-tools button[aria-pressed=true]{background:linear-gradient(#5b51342b,#a8975424);border-color:#cbb77677;color:#f4e8bf;box-shadow:inset 0 0 18px #e8c0620c}
.light-tools strong{font-size:.68rem;font-weight:500;white-space:nowrap}
.light-tools small{display:none}
.light-tools .tool-icon{display:block;width:auto;height:29px;margin:0 0 5px;background:none;box-shadow:none;color:#bba67a;font-family:Georgia,serif;font-size:1.35rem;line-height:26px}
.light-tools button[aria-pressed=true] .tool-icon{color:#fae2a4;text-shadow:0 0 16px #edb34e66}
.room-instrument{position:absolute;z-index:4;left:max(30px,env(safe-area-inset-left));bottom:calc(145px + env(safe-area-inset-bottom));width:min(265px,35%);display:grid;gap:7px;pointer-events:none;text-shadow:0 2px 10px #000}
.instrument-label{font-size:.55rem;letter-spacing:.24em;color:#9b927b}
.room-instrument strong{font:500 1.5rem Georgia,serif;color:#e7dcc0}
.room-instrument [data-tool-note]{font-size:.74rem;line-height:1.55;color:#a9a99b;max-width:255px}
.room-instrument button{width:max-content;margin-top:7px;pointer-events:auto}
.charge-track{display:grid;grid-template-columns:1fr auto;align-items:center;gap:9px;font-size:.6rem;color:#b6c8ad}
.charge-track meter{width:100%;height:8px;accent-color:#b2d5ad}
.room-hint{position:absolute;z-index:4;left:50%;transform:translateX(-50%);bottom:calc(124px + env(safe-area-inset-bottom));font-size:.52rem;letter-spacing:.17em;color:#838779;white-space:nowrap;pointer-events:none}
.room-accessible-link{position:absolute;z-index:5;bottom:calc(146px + env(safe-area-inset-bottom));right:max(30px,env(safe-area-inset-right));color:#b2ae9d;font-size:.64rem;text-decoration:underline;text-underline-offset:4px;cursor:pointer;touch-action:manipulation}
.blackout .discoveries{pointer-events:none}
.blackout .discovery{min-width:74px;max-width:160px;padding:16px 8px;border:1px solid transparent;border-radius:4px;transition:opacity .3s ease,background .3s;opacity:0!important;pointer-events:none;color:#fbf0ce;text-shadow:0 1px 5px #000,0 1px 14px #000;background:transparent;cursor:pointer;touch-action:manipulation}
.blackout .discovery.is-lit{opacity:1!important;pointer-events:auto;transform:translate(-50%,-50%)}
.blackout .discovery.is-lit:hover,.blackout .discovery.is-lit:focus-visible{transform:translate(-50%,-50%);border-color:#d5c88b66;background:#15191185;outline:1px solid #e7d49a77;outline-offset:3px}
.blackout .discovery.is-disarmed{pointer-events:none!important;animation:expelliarmus .82s cubic-bezier(.22,.8,.35,1) forwards!important}
.wand-spells{display:flex;gap:5px;margin-top:8px}.wand-spells button{padding:6px 8px;border:1px solid #758098;background:#0b1117;color:#b7c6d9;font-size:.62rem}.wand-spells button[aria-pressed=true]{border-color:#b8dcff;color:#eff9ff;box-shadow:0 0 15px #91cfff40}
.discovery .project-sigil{width:17px;height:17px;border-color:#ebdab0;box-shadow:0 0 11px #ddbe7844;background:linear-gradient(135deg,#87755577,transparent);margin:auto}
.discovery .project-sigil+span{font-size:.63rem;letter-spacing:.09em;margin-top:9px;line-height:1.5}
.blackout .discovery-dialog{position:fixed;z-index:110;max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;touch-action:pan-y;border-color:#898265;background:linear-gradient(135deg,#282b23,#101815);border-radius:5px;box-shadow:0 30px 100px #000}
.discovery-dialog .eyebrow{color:#bba878}.discovery-dialog h2{font-family:Georgia,serif;color:#f3e9cc}.discovery-dialog p{color:#bcbfb0}.discovery-dialog .button{background:#e2d5a7;color:#19221d;border-color:#e2d5a7}.discovery-dialog .button.secondary{background:transparent;color:#d0ccb9;border-color:#727861}
.discover-text-link{margin-top:23px;color:#bdb8a6;font-size:.8rem;text-decoration:underline;text-underline-offset:4px}
.discover-intro{background:radial-gradient(ellipse at 85% 40%,#4c43262b,transparent 44%),linear-gradient(130deg,#080d0d,#151b18);max-width:none;width:100%}
.discover-intro h1{color:#ede5cf;font-family:Georgia,serif;font-weight:400;letter-spacing:-.045em;font-size:clamp(3.8rem,8vw,7rem)}
.discover-intro>p{max-width:660px;color:#a9afa4}.discover-intro>.button{margin-top:30px;background:#dfd1a6;color:#1a241d;border-color:#dfd1a6}.discover-intro .eyebrow{color:#a89f80}
.blackout button:focus-visible,.blackout a:focus-visible{outline:2px solid #efd493;outline-offset:4px}
@media(max-width:760px){
 .blackout .room-title{top:calc(17px + env(safe-area-inset-top));left:18px;right:18px;display:grid;grid-template-columns:1fr auto;gap:10px}
 .room-title [data-room-status]{grid-column:1/-1;grid-row:2;text-align:left;font-size:.64rem;max-width:calc(100% - 125px);min-height:38px;letter-spacing:.015em}
 .room-title [data-progress]{grid-column:2;grid-row:1;font-size:.6rem}
 .blackout .room-actions{right:16px;top:calc(49px + env(safe-area-inset-top));flex-direction:column;gap:5px}
 .room-actions button{font-size:.61rem;padding:7px 8px;min-height:32px}
 .blackout .light-tools{left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));max-width:none;transform:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:5px;gap:2px;overflow:visible}
 .light-tools button{min-width:0;min-height:54px;padding:4px 2px}.light-tools .tool-icon{font-size:1.05rem;height:20px;line-height:20px;margin-bottom:2px}.light-tools strong{font-size:.59rem}
 .room-instrument{left:18px;bottom:calc(168px + env(safe-area-inset-bottom));width:calc(100% - 40px);max-width:265px;gap:4px}
 .room-instrument strong{font-size:1.2rem}.room-instrument [data-tool-note]{font-size:.66rem;max-width:245px}.room-instrument button{font-size:.67rem;min-height:36px;margin-top:2px}
 .room-hint{display:none}.room-accessible-link{bottom:calc(141px + env(safe-area-inset-bottom));right:18px;font-size:.6rem}
 .blackout .discovery{max-width:100px;min-width:58px;padding:12px 3px}.discovery .project-sigil+span{font-size:.55rem;letter-spacing:.025em}
}
@media(max-height:520px){
 .blackout .light-tools{display:flex;bottom:calc(6px + env(safe-area-inset-bottom));left:50%;right:auto;transform:translateX(-50%);max-width:calc(100% - 20px);overflow-x:auto}.light-tools button{min-width:72px;min-height:49px;padding:4px}.light-tools .tool-icon{height:18px;font-size:1rem}.light-tools strong{font-size:.58rem}
 .room-instrument{bottom:80px;max-width:200px}.room-instrument [data-tool-note]{font-size:.6rem}.room-instrument strong{font-size:1rem}.instrument-label{display:none}.room-accessible-link{bottom:80px}.room-hint{display:none}
}
@media(prefers-reduced-motion:reduce){.blackout .discovery{transition:none}}
@keyframes expelliarmus{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}35%{filter:brightness(3);box-shadow:0 0 32px #b6dcff}100%{opacity:0;transform:translate(65vw,-42vh) rotate(52deg) scale(.55)}}
@media(prefers-reduced-motion:reduce){.blackout .discovery.is-disarmed{animation:none!important;opacity:0!important}}
