.eac-progress-room{position:fixed!important;inset:0;overflow:hidden;color:#f8eed3;background:#192027;font-family:Inter,sans-serif}.eac-progress-room *{box-sizing:border-box}.ep-scene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ep-heading{position:absolute;top:8%;left:calc(var(--portal-menu-width) + 7%);pointer-events:none;text-shadow:0 2px 10px #121618}.ep-heading:before{content:"";position:absolute;inset:-35px -70px;background:radial-gradient(ellipse,rgba(10,17,23,.42),transparent 72%);z-index:-1}.ep-heading h1{font:600 clamp(32px,3.65vw,64px)/1.06 'Cormorant Garamond',Georgia,serif;margin:0}.ep-heading p{font:500 clamp(18px,1.9vw,31px)/1.25 'Cormorant Garamond',Georgia,serif;margin:10px 0}.ep-stage{position:absolute;top:24%;bottom:4.5%;left:calc(var(--portal-menu-width) + 35px);right:clamp(100px,13vw,250px);display:flex;justify-content:center;align-items:flex-end;pointer-events:none}.ep-cabinet{position:relative;width:min(1100px,100%,122vh);pointer-events:auto;isolation:isolate}.ep-cabinet:after{content:"";position:absolute;bottom:3%;left:4%;width:92%;height:2.5%;border-radius:50%;background:#130b05;filter:blur(6px);opacity:.65;z-index:-1}.ep-art{width:100%;display:block;position:relative;z-index:1}.ep-reflection{position:absolute;top:92%;left:0;width:100%;transform:scaleY(-1);opacity:.15;filter:blur(2px);mask-image:linear-gradient(transparent 63%,#000);pointer-events:none;z-index:-2}.ep-niches{position:absolute;inset:0;z-index:2}.ep-niches button,.ep-crown{position:absolute;border:0!important;background:transparent!important;color:#f5df9d!important;font:500 clamp(14px,1.3vw,23px)/1.08 'Cormorant Garamond',Georgia,serif!important;text-shadow:0 2px 3px #000;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;padding:2px 12px!important}.ep-niches button{width:21.5%;height:8.2%}.ep-niches button>span:first-child{max-width:80%}.ep-niche-0,.ep-niche-3{left:12%}.ep-niche-1,.ep-niche-4{left:39%}.ep-niche-2,.ep-niche-5{left:66%}.ep-niche-0,.ep-niche-1,.ep-niche-2{top:41%}.ep-niche-3,.ep-niche-4,.ep-niche-5{top:74%}.ep-crown{z-index:3;left:37%;top:8.5%;width:27%;height:7%;font-size:clamp(13px,1.25vw,21px)!important}.ep-niches button:hover,.ep-crown:hover{filter:brightness(1.25);text-shadow:0 0 10px #fdd781}.ep-progress button:disabled,.eac-progress-room button:disabled{opacity:.5;cursor:default}.eac-progress-room :focus-visible{outline:2px solid #edbf59!important;outline-offset:3px}.ep-panel{position:fixed;inset:auto 0 1.5%;margin:0 auto;padding:0;border:0;overflow:visible;background:transparent;color:#132839;width:min(1420px,96vw,142vh);max-width:none;max-height:none;aspect-ratio:1.5;box-shadow:none;font-family:Inter,sans-serif}.ep-panel-art{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.ep-paper{position:absolute;left:14%;right:14%;top:12%;bottom:43%;display:grid;grid-template-columns:27% 1fr;gap:2.8%;font-size:clamp(12px,1vw,15px);color:#172e3b}.ep-side{border-right:1px solid #ad7e35;padding-right:10%;display:flex;flex-direction:column;gap:2px;justify-content:space-around}.ep-side a{display:flex;align-items:center;gap:7px;color:#192d39;text-decoration:none;font:600 clamp(14px,1.15vw,19px)/1.03 'Cormorant Garamond',Georgia,serif;padding:8px 9px;border:1px solid transparent;border-radius:10px;min-height:36px}.ep-side a>span:nth-child(2){flex:1}.ep-side a[aria-current]{background:linear-gradient(#233848,#081725);color:#f5df9d;border-color:#be9349;box-shadow:0 2px 5px #60481c55}.ep-symbol{font-size:1.8em;color:#966319}.ep-content{min-height:0;display:flex;flex-direction:column;min-width:0}.ep-panel-head{position:relative;padding-right:38px;flex-shrink:0;margin-bottom:10px}.ep-panel-head small{font:600 10px/1 Inter,sans-serif;letter-spacing:.16em;color:#946628}.ep-panel-head h2{font:600 clamp(22px,2.15vw,34px)/1 'Cormorant Garamond',Georgia,serif;margin:4px 0}.ep-close{position:absolute;right:3px;top:3px;width:30px;height:30px;border-radius:50%!important;padding:0!important;font-size:22px!important}.ep-body{overflow:auto;min-height:0;padding:0 8px 4px 0;scrollbar-width:thin;scrollbar-color:#b28c4d #dfc99744}.ep-body p{line-height:1.5;margin:5px 0 10px}.ep-body h3{font:600 clamp(18px,1.5vw,24px)/1.1 'Cormorant Garamond',Georgia,serif;margin:0 0 4px}.ep-panel button,.ep-record-action a{border:1px solid #bd9145;border-radius:9px;background:linear-gradient(#273d4a,#0a1a29);color:#f9e9bd;padding:8px 12px;cursor:pointer;font:500 inherit}.ep-panel button:hover,.ep-record-action a:hover{filter:brightness(1.14)}.ep-intro{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.15em}.ep-next{display:flex;align-items:center;gap:12px;border:1px solid #af7c38;box-shadow:inset 0 0 7px #bd985355;padding:10px 13px;border-radius:10px;margin:10px 0}.ep-next div{flex:1}.ep-next p{font-size:.85em;margin:0}.ep-next button{white-space:nowrap}.ep-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ep-summary button{text-align:left;display:grid;grid-template-columns:28px 1fr;gap:5px;padding:12px}.ep-summary button>span{grid-row:1/4;font-size:25px;color:#deb55b}.ep-summary strong{font:600 1.25em/1.1 'Cormorant Garamond',Georgia,serif}.ep-summary small{font-size:.8em;line-height:1.3}.ep-summary em{font-size:.8em;font-style:normal;text-decoration:underline}.ep-journey-title{margin-top:14px!important}.ep-journey{display:flex;justify-content:space-between;border-top:1px solid #bc985d;margin-top:14px}.ep-journey a{color:#614719;font-family:Georgia,serif;font-size:.9em;padding-top:10px;position:relative}.ep-journey a:before{content:"";width:10px;height:10px;border:2px solid #b98732;border-radius:50%;background:#eed8af;position:absolute;top:-6px;left:40%}.ep-note{font-size:.72em;color:#625b4d;margin-top:14px!important}.ep-notice{background:#ead9b966;border-left:3px solid #a77932;padding:9px;font-size:.9em}.ep-state{padding:22px 12px;background:#f8f0dc88;border-radius:8px}.ep-tools{margin-bottom:8px}.ep-records{list-style:none;margin:0;padding:0}.ep-records>li{display:flex;flex-wrap:wrap;gap:12px;padding:12px 0;border-bottom:1px solid #aa8a4d55}.ep-record-main{flex:1;min-width:150px}.ep-record-main>small{font-size:.75em;color:#73562b}.ep-record-main h3{margin:6px 0}.ep-record-main p{font-size:.85em}.ep-status{display:inline-block;border:1px solid #bda679;border-radius:5px;padding:3px 7px;font-size:.75em}.ep-record-action{display:flex;flex-direction:column;gap:7px;justify-content:center;align-items:center}.ep-record-action a{font-size:.82em;text-decoration:none}.ep-score{font:600 28px/1 'Cormorant Garamond',Georgia,serif}.ep-score small{font-size:14px}.ep-pages{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:15px;font-size:.8em}.ep-pages button{padding:6px 9px}.ep-detail{flex-basis:100%;padding:14px;background:#fff7e9aa;border-radius:8px;white-space:pre-wrap;overflow-wrap:anywhere}.ep-detail h4{font-size:1em}.ep-detail audio{max-width:100%;display:block;margin:12px 0}.ep-state button{margin-top:10px}
.eac-progress-room{position:relative!important;inset:auto!important;width:100%;height:100vh;min-height:620px;isolation:isolate}.ep-scene{z-index:-2}.ep-heading{z-index:1}.ep-panel button{font-family:Inter,sans-serif;font-size:inherit;font-weight:500}.ep-side{min-height:0;overflow:auto;scrollbar-width:thin;padding-bottom:5px}.ep-side a{flex-shrink:0}.ep-paper{bottom:44.5%}.ep-cabinet:after{bottom:auto;top:94.5%;height:1.4%;left:2%;width:96%;filter:blur(2px);z-index:0}.ep-reflection{top:90.7%;mask-image:linear-gradient(to top,#000,transparent 25%);opacity:.2}
@media(max-width:1100px){.ep-panel{width:100vw;aspect-ratio:1.35;bottom:5%}.ep-paper{left:13%;right:13%;top:12%;bottom:42%;grid-template-columns:28% 1fr;gap:2%}.ep-side a{font-size:14px;padding:4px;gap:4px}.ep-side .ep-symbol{display:none}.ep-summary{grid-template-columns:1fr}.ep-next{flex-wrap:wrap}.ep-heading{left:calc(var(--portal-menu-width) + 25px)}.ep-stage{right:70px}}
@media(prefers-reduced-motion:reduce){.ep-cabinet,.ep-panel{animation:none!important;transition:none!important}}
.ep-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ep-tools label{font-size:.8em;font-weight:500}.ep-tools select{margin-left:6px;padding:6px;border:1px solid #b59051;border-radius:5px;background:#fff3dc;color:#192e3b}.ep-tools button{font-size:.8em}
.eac-progress-room .ep-heading h1,.eac-progress-room .ep-heading p{color:#fff4dc!important}
/* Floor contact uses the stone edge at y=894/941, not the transparent image box.
   Calibrated floor plane: 96.5% of the room viewport, both existing room videos. */
.eac-progress-room .ep-stage{bottom:3.5%}
.eac-progress-room .ep-cabinet{transform:translateY(4.9946865%)}
.eac-progress-room .ep-cabinet:after{top:95.0053135%;left:1%;width:98%;height:1.3%;transform:translateY(-35%);background:radial-gradient(ellipse,rgba(24,13,5,.82) 0%,rgba(24,13,5,.56) 50%,transparent 75%);filter:blur(2px);opacity:.85;z-index:0}
.eac-progress-room .ep-reflection{top:90.010627%;opacity:.16;filter:blur(1px);mask-image:linear-gradient(to top,#000,transparent 18%)}
/* Both furnishings share the same room floor. The video is never a backdrop. */
.eac-progress-room .ep-stage{perspective:1800px}
.eac-progress-room .ep-cabinet{opacity:1;visibility:visible;transform-origin:50% 95.0053135%;will-change:transform,opacity}
.eac-progress-room .ep-panel.ep-in-scene{position:absolute;inset:auto 0 0;width:min(1280px,100%,116vh);aspect-ratio:1.5;margin:0 auto;transform:translateY(4.19921875%);transform-origin:50% 95.80078125%;opacity:0;visibility:hidden;pointer-events:none;isolation:isolate;will-change:transform,opacity}
.eac-progress-room.is-panel-open .ep-cabinet{opacity:0;visibility:hidden;pointer-events:none}
.eac-progress-room.is-panel-open .ep-panel{opacity:1;visibility:visible;pointer-events:auto}
.eac-progress-room.is-furniture-moving .ep-cabinet,.eac-progress-room.is-furniture-moving .ep-panel{visibility:visible;pointer-events:none}
.eac-progress-room .ep-console-art{clip-path:inset(63.4% 0 0);z-index:1}
.eac-progress-room .ep-scroll-art{clip-path:inset(0 0 42.3%);z-index:1}
.eac-progress-room .ep-scroll-roller{clip-path:inset(54.5% 0 36.5%);z-index:2}
.eac-progress-room .ep-side a{font-size:clamp(13px,1.1vw,17px);padding:4px 8px;min-height:32px}
.eac-progress-room .ep-paper{z-index:3}
.eac-progress-room .ep-unroll-light{position:absolute;left:13%;right:13%;top:10%;height:1.5%;background:linear-gradient(90deg,transparent,#ffe8a5 30%,#fff7d4 50%,#ffe8a5 70%,transparent);filter:blur(5px);opacity:0;pointer-events:none;z-index:2}
.eac-progress-room .ep-console-reflection{position:absolute;top:91.6015625%;left:0;width:100%;height:100%;transform:scaleY(-1);opacity:.14;filter:blur(1px);mask-image:linear-gradient(to top,#000,transparent 15%);pointer-events:none;z-index:0}
.eac-progress-room .ep-panel:after{content:"";position:absolute;top:95.8%;left:14%;right:14%;height:1%;background:linear-gradient(90deg,#170d08 0 10%,transparent 13% 86%,#170d08 90%);opacity:.6;filter:blur(2px);z-index:0;pointer-events:none}
.eac-progress-room .ep-close{right:8px;top:2px}
@media(prefers-reduced-motion:reduce){.eac-progress-room .ep-unroll-light{display:none}}
/* Layout v5: more paper, a lower console, and seven permanently visible links.
   Stretch only the decorative layers: real text remains unscaled. Console
   scaling is pinned to opaque foot y=981/1024, preserving the floor plane. */
.eac-progress-room .ep-heading{top:3.5%}
.eac-progress-room .ep-cabinet{aspect-ratio:1672/941}
.eac-progress-room .ep-panel.ep-in-scene{width:min(1380px,100%,125vh)}
.eac-progress-room .ep-console-art{transform:scaleY(.72);transform-origin:50% 95.80078125%}
.eac-progress-room .ep-scroll-art,.eac-progress-room .ep-scroll-roller{transform:scaleY(1.1430943);transform-origin:50% 0}
.eac-progress-room .ep-paper{top:13.717%;bottom:36.56%;grid-template-columns:27% minmax(0,1fr)}
.eac-progress-room .ep-side{display:grid;grid-template-rows:repeat(7,minmax(0,1fr));gap:3px;overflow:visible;padding:0 8% 0 0;min-width:0}
.eac-progress-room .ep-side a{min-height:0;min-width:0;margin:0;padding:3px 6px;gap:6px;font-size:clamp(13px,1.12vw,18px);line-height:1.05;align-self:stretch}
.eac-progress-room .ep-side a>span:nth-child(2){min-width:0}
.eac-progress-room .ep-side .ep-symbol{flex:0 0 22px;font-size:1.45em;text-align:center}
.eac-progress-room .ep-console-reflection{top:78.77734375%;transform:scaleY(-.72)}
@media(max-width:1500px){.eac-progress-room.is-book-open .ep-side a{font-size:14px;padding:0 4px;gap:4px}.eac-progress-room.is-book-open .ep-side .ep-symbol{display:none}}

/* Functional goal items remain inside the approved right-hand scrolling area. */
.ep-goal-items{grid-column:1/-1;display:grid;gap:12px;width:100%}.ep-goal-item{padding:12px 14px;border:1px solid #b59b62;border-radius:8px;background:#fff8e52e}.ep-goal-item h4{margin:0 0 8px;font:600 1.12em Georgia,serif}.ep-goal-item a{display:table;margin-top:10px;padding:8px 14px;border:1px solid #b59b62;border-radius:8px;background:#102333;color:#fff4d7;text-decoration:none}.ep-goal-item [data-state="review-pending"]{background:#ead7a0}.ep-goal-item [data-state="completed"],.ep-goal-item [data-state="reviewed"]{background:#dce5cd}

/* Plate labels are centered on the painted marble artwork, not on label + arrow.
   Size follows the furnishing (including an open book menu), never viewport text. */
.eac-progress-room .ep-cabinet{container-type:inline-size}
.eac-progress-room .ep-niches button{width:21.8%;height:9.4%;padding:0!important;gap:0;display:grid;grid-template-columns:minmax(0,1fr);place-items:center;font-size:clamp(11px,1.64cqw,19px)!important;line-height:1.12!important;text-align:center}
.eac-progress-room .ep-niches button>span:first-child{display:block;width:74%;max-width:none;margin:0;text-align:center;white-space:normal;text-wrap:balance}
.eac-progress-room .ep-niches button>span:last-child{position:absolute;right:6%;top:50%;transform:translateY(-50%);margin:0;font-size:.95em;line-height:1;pointer-events:none}
.eac-progress-room .ep-niche-0,.eac-progress-room .ep-niche-3{left:11.9%}
.eac-progress-room .ep-niche-1,.eac-progress-room .ep-niche-4{left:39.15%}
.eac-progress-room .ep-niche-2,.eac-progress-room .ep-niche-5{left:66.5%}
.eac-progress-room .ep-niche-0,.eac-progress-room .ep-niche-1,.eac-progress-room .ep-niche-2{top:40.05%}
.eac-progress-room .ep-niche-3,.eac-progress-room .ep-niche-4,.eac-progress-room .ep-niche-5{top:73.75%}

/* Narrow paper keeps readable links in its existing scroll lane. Decorative geometry is unchanged. */
@media(max-width:1100px){.eac-progress-room .ep-side{grid-template-rows:none;grid-auto-rows:max-content;align-content:start;overflow:auto}.eac-progress-room .ep-side a{min-height:32px}}
