/* Keep the workshop world; bring learning ahead of the progress dashboard. */
.numeris-home{max-width:1120px;margin:1.5rem auto;padding:clamp(1.25rem,3vw,2.5rem)}
.numeris-home .product-bar{margin-bottom:1rem;padding-bottom:1rem}.numeris-home .product-badge{width:auto;height:auto;border-radius:4px;padding:.65rem .8rem;font-size:.75rem;white-space:nowrap;box-shadow:none}.numeris-home .home-header{margin:1.5rem 0 1rem;text-align:left}.numeris-home .home-header__greeting{display:none}.numeris-home .home-header__title{font-size:clamp(1.65rem,3vw,2.3rem);margin-bottom:.65rem}.numeris-home .home-header__title::before,.numeris-home .home-header__title::after{display:none}.numeris-home .home-header__subtitle{font-size:1rem;line-height:1.55}.numeris-home .daily-card{margin-bottom:1.8rem}.numeris-home .daily-card__title{font-size:1.3rem}.numeris-starters{margin:1.5rem 0 2rem}.numeris-starters h2{font-size:1.25rem;margin:0 0 1rem;color:#4d391c}.numeris-starter-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.numeris-starter-grid a{display:flex;flex-direction:column;gap:.45rem;padding:1.15rem;background:#233e4e;color:#f4e6c0;border:1px solid #9b8142;border-radius:7px;text-decoration:none;box-shadow:0 5px 12px #372b2218}.numeris-starter-grid svg{width:100%;height:90px}.numeris-starter-grid span{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:#ecd29b}.numeris-starter-grid strong{font-size:1.12rem;line-height:1.3;font-family:Nunito,Arial,sans-serif}.numeris-starter-grid small{font-size:.8rem;line-height:1.5;color:#f0e6d0}.numeris-starter-grid a:hover{background:#2d4c5b}.numeris-starter-grid a:focus-visible{outline:3px solid #a34327;outline-offset:4px}.numeris-home .topic-grid{gap:1rem}.numeris-home .topic-card{box-shadow:0 3px 8px #372b2210;border:1px solid #b49d6b;padding:1.25rem}.numeris-home .topic-card__title{font-size:1rem}.numeris-home .topic-card__icon{box-shadow:none;width:40px;height:40px;font-size:1.2rem}.numeris-device-progress{margin-top:1.75rem;border-top:1px solid #b49d6b;padding-top:1rem}.numeris-device-progress summary{font-weight:700;cursor:pointer;padding:.5rem;color:#4d391c}.numeris-device-progress .character-card{margin-top:1rem}.numeris-device-progress .snapshot-grid{margin-bottom:0}
@media(max-width:640px){.numeris-home{margin:12px;max-width:none;padding:1.1rem}.numeris-home .product-title{font-size:1.65rem}.numeris-home .product-kicker{font-size:.68rem}.numeris-home .product-bar{gap:12px}.numeris-home .product-badge{font-size:.65rem;padding:.5rem}.numeris-home .home-header__title{font-size:1.7rem}.numeris-home .daily-card{padding:1rem;gap:.7rem}.numeris-starter-grid{grid-template-columns:1fr}.numeris-starter-grid a{display:grid;grid-template-columns:88px 1fr;gap:.3rem .8rem;padding:1rem}.numeris-starter-grid svg{grid-row:span 3;align-self:center;width:88px;height:auto}.numeris-starter-grid strong{font-size:1rem}.numeris-starter-grid small{font-size:.76rem}.numeris-home .topic-grid{grid-template-columns:1fr 1fr;gap:.7rem}.numeris-home .topic-card{padding:.9rem}.numeris-home .topic-card__title{font-size:.82rem}.numeris-home .topic-card__desc{font-size:.8rem}.numeris-home .progress-label{font-size:.7rem}}
.banner-choice{border-color:#d4b87c66;background:#fff2cc09}.banner-choice:focus-visible{outline:3px solid #f4d57d;outline-offset:3px}.premium-room-topbar>.btn--back{color:#f2dba8}
@media(max-width:560px){.fraction-room__choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.banner-choice{min-height:94px;padding:9px 6px}.fraction-room__reference-stand::before,.fraction-room__reference-stand::after{display:none}.fraction-room__reference-stand{max-width:280px}.fraction-room__choices .fraction-banner__cloth{height:36px}.fraction-room__table{padding:12px 8px}.fraction-room__actions{gap:.6rem}.premium-room-topbar{margin-bottom:1rem}.premium-room-topbar>p{font-size:.85rem}}

/* All 72 workshops: readable work surfaces, shared controls, responsive room layouts.
   The room illustrations, mathematical diagrams and topic accents remain distinct. */
#app:has(.premium-room-page){max-width:1240px;padding:22px 20px 64px}
#app .premium-room-page{padding:0;min-height:0;--room-paper:#fff3d9;--room-edge:#b5a077;--room-ink:#20333a}
#app .premium-room-topbar{background:#152c35;border:1px solid #a393673f;border-radius:6px;padding:14px 18px;gap:18px;align-items:center}
#app .premium-room-topbar strong{font-size:1.25rem;line-height:1.25;color:#fff0d1;letter-spacing:0}
#app .premium-room-topbar span,#app .premium-room-topbar p{color:#d8ccb0;font-weight:600;line-height:1.4}
#app .premium-room-page .btn,#app .consecration-screen .btn{font-family:var(--font-body);font-size:.95rem;line-height:1.25;font-weight:800;letter-spacing:.01em;text-transform:none;min-height:44px;padding:11px 19px;border-radius:5px;box-shadow:none;text-shadow:none}
#app .premium-room-page .btn--primary,#app .consecration-screen .btn--primary{background:#f0cd80;color:#252b27;border:1px solid #f7dfa7;box-shadow:0 3px 0 #614e30}
#app .premium-room-page .btn--secondary,#app .consecration-screen .btn--secondary{background:#183b45;color:#fff1d1;border:1px solid #a89872}
#app .premium-room-page .btn--back{background:transparent;color:#f6e4bb;border:1px solid #9c926b66}
#app .premium-room-page button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}
#app .premium-room-page :is(button,input,select):focus-visible{outline:3px solid #82def0;outline-offset:4px;box-shadow:0 0 0 6px #18353b}
#app .premium-room-page button:not(:disabled){touch-action:manipulation}
#app .premium-room-page input[type=range]{accent-color:#c29337;min-height:44px;max-width:100%}
#app .premium-room-page input[type=number]{min-height:44px;font-size:1.125rem}
#app .premium-room-page [class*="-room__scene"]::before{pointer-events:none}
#app .premium-room-page :is(.angle-room__scene,
  .anvil-room__scene,
  .backward-room__scene,
  .balance-table-room__scene,
  .basin-room__scene,
  .bell-room__scene,
  .best-room__scene,
  .bridge-room__scene,
  .case-room__scene,
  .catalog-room__scene,
  .chance-room__scene,
  .clock-room__scene,
  .clue-room__scene,
  .comp-room__scene,
  .corner-room__scene,
  .counting-room__scene,
  .crowd-room__scene,
  .cutter-room__scene,
  .drawbag-room__scene,
  .expression-scriptorium-room__scene,
  .factor-room__scene,
  .floor-room__scene,
  .fold-room__scene,
  .fours-room__scene,
  .fraction-room__scene,
  .function-press-room__scene,
  .gap-room__scene,
  .gate-room__scene,
  .glass-room__scene,
  .inequality-gate-room__scene,
  .inverse-room__scene,
  .lattice-room__scene,
  .lens-room__scene,
  .measure-room__scene,
  .meeting-room__scene,
  .mirror-room__scene,
  .mosaic-room__scene,
  .mystery-room__scene,
  .pair-room__scene,
  .pattern-room__scene,
  .pillar-room__scene,
  .press-room__scene,
  .prime-room__scene,
  .road-room__scene,
  .ruler-room__scene,
  .scale-room__scene,
  .scriptorium-room__scene,
  .selection-room__scene,
  .shadow-room__scene,
  .shape-room__scene,
  .sign-room__scene,
  .slide-room__scene,
  .slope-room__scene,
  .sort-room__scene,
  .spinner-room__scene,
  .square-room__scene,
  .stack-room__scene,
  .stair-room__scene,
  .strike-room__scene,
  .substitution-bench-room__scene,
  .target-room__scene,
  .tree-room__scene,
  .tri-room__scene,
  .truth-room__scene,
  .twin-room__scene,
  .twindevice-room__scene,
  .vault-room__scene,
  .vine-room__scene,
  .wager-room__scene,
  .wild-room__scene,
  .wing-room__scene,
  .yard-room__scene) {
position:relative;display:flex;flex-direction:column;gap:20px;height:auto;min-height:0;aspect-ratio:auto;padding:24px;overflow:hidden;isolation:isolate;border:1px solid #a79a765c;border-radius:8px;box-shadow:0 14px 32px #0003;
}
#app .premium-room-page :is(.angle-room__prompt,
  .anvil-room__prompt,
  .backward-room__prompt,
  .basin-room__prompt,
  .bell-room__prompt,
  .best-room__prompt,
  .bridge-room__prompt,
  .case-room__prompt,
  .catalog-room__prompt,
  .chance-room__prompt,
  .clock-room__prompt,
  .clue-room__prompt,
  .comp-room__prompt,
  .corner-room__prompt,
  .counting-room__prompt,
  .crowd-room__prompt,
  .cutter-room__prompt,
  .drawbag-room__prompt,
  .factor-room__prompt,
  .floor-room__prompt,
  .fold-room__prompt,
  .fours-room__prompt,
  .fraction-room__prompt,
  .gap-room__prompt,
  .gate-room__prompt,
  .glass-room__prompt,
  .lattice-room__prompt,
  .lens-room__prompt,
  .measure-room__prompt,
  .meeting-room__prompt,
  .mirror-room__prompt,
  .mosaic-room__prompt,
  .mystery-room__prompt,
  .pair-room__prompt,
  .pattern-room__prompt,
  .pillar-room__prompt,
  .press-room__prompt,
  .prime-room__prompt,
  .road-room__prompt,
  .ruler-room__prompt,
  .scale-room__prompt,
  .selection-room__prompt,
  .shadow-room__prompt,
  .shape-room__prompt,
  .sign-room__prompt,
  .slide-room__prompt,
  .slope-room__prompt,
  .sort-room__prompt,
  .spinner-room__prompt,
  .square-room__prompt,
  .stack-room__prompt,
  .stair-room__prompt,
  .strike-room__prompt,
  .target-room__prompt,
  .tree-room__prompt,
  .tri-room__prompt,
  .truth-room__prompt,
  .twindevice-room__prompt,
  .vault-room__prompt,
  .vine-room__prompt,
  .wager-room__prompt,
  .wild-room__prompt,
  .wing-room__prompt,
  .yard-room__prompt) {
position:relative;inset:auto;transform:none;order:0;max-width:none;width:100%;margin:0;padding:16px 22px;text-align:left;background:#152d36f5;border:1px solid #c4b37b66;border-left:4px solid #e2ba68;border-radius:4px;text-shadow:none;z-index:4;
}
#app .premium-room-page :is(.angle-room__prompt,
  .anvil-room__prompt,
  .backward-room__prompt,
  .basin-room__prompt,
  .bell-room__prompt,
  .best-room__prompt,
  .bridge-room__prompt,
  .case-room__prompt,
  .catalog-room__prompt,
  .chance-room__prompt,
  .clock-room__prompt,
  .clue-room__prompt,
  .comp-room__prompt,
  .corner-room__prompt,
  .counting-room__prompt,
  .crowd-room__prompt,
  .cutter-room__prompt,
  .drawbag-room__prompt,
  .factor-room__prompt,
  .floor-room__prompt,
  .fold-room__prompt,
  .fours-room__prompt,
  .fraction-room__prompt,
  .gap-room__prompt,
  .gate-room__prompt,
  .glass-room__prompt,
  .lattice-room__prompt,
  .lens-room__prompt,
  .measure-room__prompt,
  .meeting-room__prompt,
  .mirror-room__prompt,
  .mosaic-room__prompt,
  .mystery-room__prompt,
  .pair-room__prompt,
  .pattern-room__prompt,
  .pillar-room__prompt,
  .press-room__prompt,
  .prime-room__prompt,
  .road-room__prompt,
  .ruler-room__prompt,
  .scale-room__prompt,
  .selection-room__prompt,
  .shadow-room__prompt,
  .shape-room__prompt,
  .sign-room__prompt,
  .slide-room__prompt,
  .slope-room__prompt,
  .sort-room__prompt,
  .spinner-room__prompt,
  .square-room__prompt,
  .stack-room__prompt,
  .stair-room__prompt,
  .strike-room__prompt,
  .target-room__prompt,
  .tree-room__prompt,
  .tri-room__prompt,
  .truth-room__prompt,
  .twindevice-room__prompt,
  .vault-room__prompt,
  .vine-room__prompt,
  .wager-room__prompt,
  .wild-room__prompt,
  .wing-room__prompt,
  .yard-room__prompt) :is(h1,h2) {
font-size:clamp(1.15rem,2vw,1.65rem);font-weight:600;line-height:1.3;color:#fff2d6;max-width:56ch;margin:3px 0 0;text-shadow:none;
}
#app .premium-room-page :is(.angle-room__prompt,
  .anvil-room__prompt,
  .backward-room__prompt,
  .basin-room__prompt,
  .bell-room__prompt,
  .best-room__prompt,
  .bridge-room__prompt,
  .case-room__prompt,
  .catalog-room__prompt,
  .chance-room__prompt,
  .clock-room__prompt,
  .clue-room__prompt,
  .comp-room__prompt,
  .corner-room__prompt,
  .counting-room__prompt,
  .crowd-room__prompt,
  .cutter-room__prompt,
  .drawbag-room__prompt,
  .factor-room__prompt,
  .floor-room__prompt,
  .fold-room__prompt,
  .fours-room__prompt,
  .fraction-room__prompt,
  .gap-room__prompt,
  .gate-room__prompt,
  .glass-room__prompt,
  .lattice-room__prompt,
  .lens-room__prompt,
  .measure-room__prompt,
  .meeting-room__prompt,
  .mirror-room__prompt,
  .mosaic-room__prompt,
  .mystery-room__prompt,
  .pair-room__prompt,
  .pattern-room__prompt,
  .pillar-room__prompt,
  .press-room__prompt,
  .prime-room__prompt,
  .road-room__prompt,
  .ruler-room__prompt,
  .scale-room__prompt,
  .selection-room__prompt,
  .shadow-room__prompt,
  .shape-room__prompt,
  .sign-room__prompt,
  .slide-room__prompt,
  .slope-room__prompt,
  .sort-room__prompt,
  .spinner-room__prompt,
  .square-room__prompt,
  .stack-room__prompt,
  .stair-room__prompt,
  .strike-room__prompt,
  .target-room__prompt,
  .tree-room__prompt,
  .tri-room__prompt,
  .truth-room__prompt,
  .twindevice-room__prompt,
  .vault-room__prompt,
  .vine-room__prompt,
  .wager-room__prompt,
  .wild-room__prompt,
  .wing-room__prompt,
  .yard-room__prompt) p {
font-size:1rem;line-height:1.5;font-weight:600;color:#f3e5c4;margin:8px 0 0;text-shadow:none;
}
#app .premium-room-page :is(.angle-room__prompt,
  .anvil-room__prompt,
  .backward-room__prompt,
  .basin-room__prompt,
  .bell-room__prompt,
  .best-room__prompt,
  .bridge-room__prompt,
  .case-room__prompt,
  .catalog-room__prompt,
  .chance-room__prompt,
  .clock-room__prompt,
  .clue-room__prompt,
  .comp-room__prompt,
  .corner-room__prompt,
  .counting-room__prompt,
  .crowd-room__prompt,
  .cutter-room__prompt,
  .drawbag-room__prompt,
  .factor-room__prompt,
  .floor-room__prompt,
  .fold-room__prompt,
  .fours-room__prompt,
  .fraction-room__prompt,
  .gap-room__prompt,
  .gate-room__prompt,
  .glass-room__prompt,
  .lattice-room__prompt,
  .lens-room__prompt,
  .measure-room__prompt,
  .meeting-room__prompt,
  .mirror-room__prompt,
  .mosaic-room__prompt,
  .mystery-room__prompt,
  .pair-room__prompt,
  .pattern-room__prompt,
  .pillar-room__prompt,
  .press-room__prompt,
  .prime-room__prompt,
  .road-room__prompt,
  .ruler-room__prompt,
  .scale-room__prompt,
  .selection-room__prompt,
  .shadow-room__prompt,
  .shape-room__prompt,
  .sign-room__prompt,
  .slide-room__prompt,
  .slope-room__prompt,
  .sort-room__prompt,
  .spinner-room__prompt,
  .square-room__prompt,
  .stack-room__prompt,
  .stair-room__prompt,
  .strike-room__prompt,
  .target-room__prompt,
  .tree-room__prompt,
  .tri-room__prompt,
  .truth-room__prompt,
  .twindevice-room__prompt,
  .vault-room__prompt,
  .vine-room__prompt,
  .wager-room__prompt,
  .wild-room__prompt,
  .wing-room__prompt,
  .yard-room__prompt) >span {
font-size:.72rem;letter-spacing:.1em;color:#e6c780;font-weight:700;
}
#app .premium-room-page :is(.angle-steps,
  .anvil-steps,
  .backward-steps,
  .basin-steps,
  .bell-steps,
  .best-steps,
  .bridge-steps,
  .case-steps,
  .catalog-steps,
  .chance-steps,
  .clock-steps,
  .clue-steps,
  .comp-steps,
  .corner-steps,
  .counting-steps,
  .crowd-steps,
  .drawbag-steps,
  .factor-steps,
  .floor-steps,
  .fold-steps,
  .fours-steps,
  .gap-steps,
  .gate-steps,
  .lattice-steps,
  .lens-steps,
  .meeting-steps,
  .mirror-steps,
  .mystery-steps,
  .pair-steps,
  .pattern-path-steps,
  .pillar-steps,
  .press-steps,
  .prime-steps,
  .road-steps,
  .ruler-steps,
  .scale-steps,
  .selection-steps,
  .shadow-steps,
  .shape-steps,
  .sign-steps,
  .slide-steps,
  .slope-steps,
  .sort-steps,
  .spinner-steps,
  .square-steps,
  .stack-steps,
  .stair-steps,
  .strike-steps,
  .target-steps,
  .tree-steps,
  .tri-steps,
  .truth-steps,
  .twindevice-steps,
  .vault-steps,
  .vine-steps,
  .wager-steps,
  .wild-steps,
  .yard-steps) {
position:relative;inset:auto;transform:none;order:1;width:100%;max-width:none;margin:0;z-index:4;display:flex;flex-wrap:wrap;gap:8px;
}
#app .premium-room-page :is(.angle-steps,
  .anvil-steps,
  .backward-steps,
  .basin-steps,
  .bell-steps,
  .best-steps,
  .bridge-steps,
  .case-steps,
  .catalog-steps,
  .chance-steps,
  .clock-steps,
  .clue-steps,
  .comp-steps,
  .corner-steps,
  .counting-steps,
  .crowd-steps,
  .drawbag-steps,
  .factor-steps,
  .floor-steps,
  .fold-steps,
  .fours-steps,
  .gap-steps,
  .gate-steps,
  .lattice-steps,
  .lens-steps,
  .meeting-steps,
  .mirror-steps,
  .mystery-steps,
  .pair-steps,
  .pattern-path-steps,
  .pillar-steps,
  .press-steps,
  .prime-steps,
  .road-steps,
  .ruler-steps,
  .scale-steps,
  .selection-steps,
  .shadow-steps,
  .shape-steps,
  .sign-steps,
  .slide-steps,
  .slope-steps,
  .sort-steps,
  .spinner-steps,
  .square-steps,
  .stack-steps,
  .stair-steps,
  .strike-steps,
  .target-steps,
  .tree-steps,
  .tri-steps,
  .truth-steps,
  .twindevice-steps,
  .vault-steps,
  .vine-steps,
  .wager-steps,
  .wild-steps,
  .yard-steps) >span {
flex:1 1 140px;font-size:.75rem;line-height:1.3;letter-spacing:.02em;padding:9px 12px;border-radius:4px;box-shadow:none;
}
#app .premium-room-page :is(.angle-workbench,
  .anvil-workbench,
  .backward-workbench,
  .balance-work,
  .basin-room__work,
  .bell-workbench,
  .best-workbench,
  .bridge-workbench,
  .case-workbench,
  .catalog-workbench,
  .chance-workbench,
  .clock-workbench,
  .clue-workbench,
  .comp-workbench,
  .corner-workbench,
  .counting-workbench,
  .crowd-workbench,
  .cutter-room__work,
  .drawbag-workbench,
  .factor-workbench,
  .floor-workbench,
  .fold-workbench,
  .fours-workbench,
  .fraction-room__workbench,
  .function-workshop,
  .gap-workbench,
  .gate-bench,
  .gate-workbench,
  .glass-room__work,
  .inverse-worktable,
  .lattice-workbench,
  .lens-workbench,
  .measure-room__workbench,
  .meeting-workbench,
  .mirror-workbench,
  .mosaic-room__work,
  .mystery-workbench,
  .pair-workbench,
  .pattern-workbench,
  .pillar-workbench,
  .press-workbench,
  .prime-workbench,
  .road-workbench,
  .ruler-workbench,
  .scale-room__work,
  .scriptorium-desk,
  .selection-workbench,
  .shadow-workbench,
  .shape-workbench,
  .sign-workbench,
  .slide-workbench,
  .slope-workbench,
  .sort-workbench,
  .spinner-workbench,
  .square-workbench,
  .stack-workbench,
  .stair-workbench,
  .strike-workbench,
  .substitution-workbench,
  .target-workbench,
  .tree-workbench,
  .tri-workbench,
  .truth-workbench,
  .twin-worktable,
  .twindevice-workbench,
  .vault-workbench,
  .vine-workbench,
  .wager-workbench,
  .wild-workbench,
  .wing-room__work,
  .yard-workbench) {
position:relative;inset:auto;transform:none;order:2;width:100%;max-width:none;height:auto;min-height:0;margin:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start;z-index:4;
}
#app .premium-room-page :is(.angle-card,
  .angle-counter-panel,
  .anvil-tools,
  .anvil-workbench__main,
  .backward-tray,
  .backward-workbench__main,
  .balance-chain,
  .balance-prompt,
  .balance-scale,
  .balance-steps,
  .basin-room__left,
  .basin-station,
  .bell-main-panel,
  .bell-question-card,
  .best-card,
  .best-control-panel,
  .bridge-main-panel,
  .bridge-problem-card,
  .case-evidence,
  .case-final,
  .catalog-card,
  .catalog-total-panel,
  .chance-controls,
  .chance-device-panel,
  .clock-workbench__main,
  .clue-candidate-panel,
  .clue-card,
  .comp-card,
  .comp-control-panel,
  .corner-card,
  .corner-proof-panel,
  .counting-grid-panel,
  .counting-problem-card,
  .crowd-main-panel,
  .crowd-problem-card,
  .cutter-room__station,
  .cutter-room__wall,
  .drawbag-main-panel,
  .drawbag-problem-card,
  .factor-main-panel,
  .factor-stone-card,
  .floor-main-panel,
  .floor-problem-card,
  .fold-card,
  .fold-counter-panel,
  .fours-tools,
  .fours-workbench__main,
  .fraction-room__actions,
  .fraction-room__runes,
  .fraction-room__table,
  .function-candidates,
  .function-machine,
  .function-plaque,
  .function-steps,
  .gap-control-panel,
  .gap-rail-card,
  .gate-card,
  .gate-chain,
  .gate-numberline,
  .gate-prompt,
  .gate-scale,
  .gate-truth-panel,
  .glass-room__mini-rack,
  .glass-room__station,
  .inverse-steps,
  .lattice-main-panel,
  .lattice-question-card,
  .lens-card,
  .lens-control-panel,
  .measure-stand,
  .meeting-main-panel,
  .meeting-question-card,
  .mirror-main-panel,
  .mirror-problem-card,
  .mosaic-room__station,
  .mosaic-room__wall,
  .mystery-main-panel,
  .mystery-question-card,
  .pair-card,
  .pair-control-panel,
  .pattern-counter-panel,
  .pattern-path-card,
  .pillar-main-panel,
  .pillar-stone-pair,
  .pin-tray,
  .press-controls,
  .press-workbench__main,
  .prime-main-panel,
  .prime-stone-card,
  .question-board,
  .road-main-panel,
  .road-problem-card,
  .ruler-main-panel,
  .ruler-problem-card,
  .scaling-bench,
  .scriptorium-board,
  .scriptorium-desk__left,
  .scriptorium-steps,
  .scriptorium-work,
  .selection-card,
  .selection-tray-panel,
  .shadow-main-panel,
  .shadow-problem-card,
  .shape-card,
  .shape-choice-panel,
  .sign-controls,
  .sign-workbench__main,
  .slide-main-panel,
  .slide-problem-card,
  .slope-main-panel,
  .slope-problem-card,
  .sort-card,
  .sort-region-panel,
  .spinner-device-panel,
  .spinner-marking-panel,
  .square-control-panel,
  .square-main-panel,
  .stack-card,
  .stack-total-panel,
  .stair-card,
  .stair-control-panel,
  .strike-card,
  .strike-choices,
  .substitution-steps,
  .substitution-workbench__grid,
  .target-action-stack,
  .target-card,
  .tree-main-panel,
  .tree-root-card,
  .tri-card,
  .tri-control-panel,
  .truth-card,
  .truth-table-panel,
  .twin-steps,
  .twin-worktable__grid,
  .twindevice-main-panel,
  .twindevice-problem-card,
  .vault-main-panel,
  .vault-problem-card,
  .vine-card,
  .vine-control-panel,
  .wager-main-panel,
  .wager-problem-card,
  .wild-card,
  .wild-control-panel,
  .wing-room__station,
  .wing-room__wall,
  .yard-card,
  .yard-control-panel) {
position:relative;inset:auto;transform:none;min-width:0;max-width:100%;width:100%;margin:0;align-self:start;border-radius:6px;
}
#app .premium-room-page :is(.angle-aldra,
  .anvil-master,
  .backward-guide,
  .balance-solen,
  .basin-veth,
  .bell-aldra,
  .best-pellan,
  .bridge-aldra,
  .case-guide,
  .catalog-guide,
  .chance-solen,
  .clock-master,
  .clue-guide,
  .comp-pellan,
  .corner-veth,
  .counting-aldra,
  .crowd-aldra,
  .drawbag-veth,
  .factor-solen,
  .floor-solen,
  .fold-pellan,
  .fours-master,
  .function-aldra,
  .gap-solen,
  .gate-aldra,
  .gate-guide,
  .inverse-veth,
  .lattice-veth,
  .lens-veth,
  .meeting-pellan,
  .mirror-aldra,
  .mosaic-pellan,
  .mystery-veth,
  .pair-pellan,
  .pattern-solen,
  .pillar-pellan,
  .press-master,
  .prime-aldra,
  .road-veth,
  .ruler-aldra,
  .scale-veth,
  .scriptorium-pellan,
  .scriptorium-solen,
  .selection-guide,
  .shadow-veth,
  .shape-solen,
  .sign-master,
  .slide-pellan,
  .slope-veth,
  .sort-guide,
  .spinner-solen,
  .square-aldra,
  .stack-guide,
  .stair-aldra,
  .strike-solen,
  .substitution-pellan,
  .target-solen,
  .tree-solen,
  .tri-aldra,
  .truth-guide,
  .twin-veth,
  .twindevice-pellan,
  .vault-veth,
  .vine-pellan,
  .wager-veth,
  .wild-veth,
  .wing-pellan,
  .yard-pellan) {
position:relative;inset:auto;transform:none;order:4;grid-column:1/-1;min-height:0;height:auto;width:100%;max-width:none;padding:0;margin:0;background:none;border:0;box-shadow:none;
}
#app .premium-room-page :is(.angle-aldra,
  .anvil-master,
  .backward-guide,
  .balance-solen,
  .basin-veth,
  .bell-aldra,
  .best-pellan,
  .bridge-aldra,
  .case-guide,
  .catalog-guide,
  .chance-solen,
  .clock-master,
  .clue-guide,
  .comp-pellan,
  .corner-veth,
  .counting-aldra,
  .crowd-aldra,
  .drawbag-veth,
  .factor-solen,
  .floor-solen,
  .fold-pellan,
  .fours-master,
  .function-aldra,
  .gap-solen,
  .gate-aldra,
  .gate-guide,
  .inverse-veth,
  .lattice-veth,
  .lens-veth,
  .meeting-pellan,
  .mirror-aldra,
  .mosaic-pellan,
  .mystery-veth,
  .pair-pellan,
  .pattern-solen,
  .pillar-pellan,
  .press-master,
  .prime-aldra,
  .road-veth,
  .ruler-aldra,
  .scale-veth,
  .scriptorium-pellan,
  .scriptorium-solen,
  .selection-guide,
  .shadow-veth,
  .shape-solen,
  .sign-master,
  .slide-pellan,
  .slope-veth,
  .sort-guide,
  .spinner-solen,
  .square-aldra,
  .stack-guide,
  .stair-aldra,
  .strike-solen,
  .substitution-pellan,
  .target-solen,
  .tree-solen,
  .tri-aldra,
  .truth-guide,
  .twin-veth,
  .twindevice-pellan,
  .vault-veth,
  .vine-pellan,
  .wager-veth,
  .wild-veth,
  .wing-pellan,
  .yard-pellan) >:not([class*="__bubble"]):not([class*="__line"]) {
display:none;
}
#app .premium-room-page :is(.angle-aldra,
  .anvil-master,
  .backward-guide,
  .balance-solen,
  .basin-veth,
  .bell-aldra,
  .best-pellan,
  .bridge-aldra,
  .case-guide,
  .catalog-guide,
  .chance-solen,
  .clock-master,
  .clue-guide,
  .comp-pellan,
  .corner-veth,
  .counting-aldra,
  .crowd-aldra,
  .drawbag-veth,
  .factor-solen,
  .floor-solen,
  .fold-pellan,
  .fours-master,
  .function-aldra,
  .gap-solen,
  .gate-aldra,
  .gate-guide,
  .inverse-veth,
  .lattice-veth,
  .lens-veth,
  .meeting-pellan,
  .mirror-aldra,
  .mosaic-pellan,
  .mystery-veth,
  .pair-pellan,
  .pattern-solen,
  .pillar-pellan,
  .press-master,
  .prime-aldra,
  .road-veth,
  .ruler-aldra,
  .scale-veth,
  .scriptorium-pellan,
  .scriptorium-solen,
  .selection-guide,
  .shadow-veth,
  .shape-solen,
  .sign-master,
  .slide-pellan,
  .slope-veth,
  .sort-guide,
  .spinner-solen,
  .square-aldra,
  .stack-guide,
  .stair-aldra,
  .strike-solen,
  .substitution-pellan,
  .target-solen,
  .tree-solen,
  .tri-aldra,
  .truth-guide,
  .twin-veth,
  .twindevice-pellan,
  .vault-veth,
  .vine-pellan,
  .wager-veth,
  .wild-veth,
  .wing-pellan,
  .yard-pellan) >:is([class*="__bubble"],[class*="__line"]) {
display:block;position:relative;inset:auto;transform:none;background:#fff1d7;color:#354139;border:1px solid #baa67c;border-left:3px solid #687d52;border-radius:4px;width:100%;max-width:none;padding:12px 16px;margin:0;line-height:1.5;font-weight:600;font-size:.9rem;box-shadow:none;
}
#app .premium-room-page :is(.angle-aldra,
  .anvil-master,
  .backward-guide,
  .balance-solen,
  .basin-veth,
  .bell-aldra,
  .best-pellan,
  .bridge-aldra,
  .case-guide,
  .catalog-guide,
  .chance-solen,
  .clock-master,
  .clue-guide,
  .comp-pellan,
  .corner-veth,
  .counting-aldra,
  .crowd-aldra,
  .drawbag-veth,
  .factor-solen,
  .floor-solen,
  .fold-pellan,
  .fours-master,
  .function-aldra,
  .gap-solen,
  .gate-aldra,
  .gate-guide,
  .inverse-veth,
  .lattice-veth,
  .lens-veth,
  .meeting-pellan,
  .mirror-aldra,
  .mosaic-pellan,
  .mystery-veth,
  .pair-pellan,
  .pattern-solen,
  .pillar-pellan,
  .press-master,
  .prime-aldra,
  .road-veth,
  .ruler-aldra,
  .scale-veth,
  .scriptorium-pellan,
  .scriptorium-solen,
  .selection-guide,
  .shadow-veth,
  .shape-solen,
  .sign-master,
  .slide-pellan,
  .slope-veth,
  .sort-guide,
  .spinner-solen,
  .square-aldra,
  .stack-guide,
  .stair-aldra,
  .strike-solen,
  .substitution-pellan,
  .target-solen,
  .tree-solen,
  .tri-aldra,
  .truth-guide,
  .twin-veth,
  .twindevice-pellan,
  .vault-veth,
  .vine-pellan,
  .wager-veth,
  .wild-veth,
  .wing-pellan,
  .yard-pellan) >:is([class*="__bubble"],[class*="__line"])::after {
display:none;
}
#app .premium-room-page :is(.basin-room__actions,
  .cutter-room__actions,
  .glass-room__actions,
  .measure-room__actions,
  .mosaic-room__actions,
  .scale-room__actions,
  .wing-room__actions) {
position:relative;inset:auto;transform:none;order:3;width:100%;margin:0;display:flex;flex-wrap:wrap;gap:10px;justify-content:center;z-index:4;
}
#app .premium-room-page :is(.angle-shelf,
  .anvil-shelf,
  .backward-shelf,
  .balance-shelf,
  .basin-shelf,
  .bell-shelf,
  .best-shelf,
  .bridge-shelf,
  .case-shelf,
  .catalog-shelf,
  .chance-shelf,
  .clock-shelf,
  .clue-shelf,
  .comp-shelf,
  .corner-shelf,
  .counting-shelf,
  .crowd-shelf,
  .drawbag-shelf,
  .factor-shelf,
  .floor-shelf,
  .fold-shelf,
  .fours-shelf,
  .function-shelf,
  .gap-shelf,
  .gate-shelf,
  .inverse-shelf,
  .lattice-shelf,
  .lens-shelf,
  .master-stack,
  .meeting-shelf,
  .mirror-shelf,
  .mystery-shelf,
  .pair-shelf,
  .pattern-shelf,
  .pillar-shelf,
  .press-shelf,
  .prime-shelf,
  .road-shelf,
  .ruler-shelf,
  .scriptorium-shelf,
  .selection-shelf,
  .shadow-shelf,
  .shape-shelf,
  .sign-shelf,
  .slide-shelf,
  .slope-shelf,
  .sort-shelf,
  .spinner-shelf,
  .square-shelf,
  .stack-shelf,
  .stair-shelf,
  .strike-shelf,
  .substitution-shelf,
  .target-shelf,
  .tree-shelf,
  .tri-shelf,
  .truth-shelf,
  .twin-shelf,
  .twindevice-shelf,
  .vault-shelf,
  .vine-shelf,
  .wager-shelf,
  .wild-shelf,
  .yard-shelf) {
position:relative;inset:auto;transform:none;order:5;width:100%;max-width:none;margin:4px 0 0;padding:12px 16px;min-height:0;height:auto;background:#132b34ee;color:#f9edcf;border:1px solid #bba77577;border-radius:6px;box-shadow:none;z-index:4;
}

/* Feedback and rewards stay reachable as their content grows. */
#app .premium-room-page [class*="-room__scene"] > :is([class$="-celebration"],[class$="-feedback"],[class*="-room__feedback"]){position:relative;inset:auto;transform:none;order:3;max-width:100%;width:100%;margin:0;padding:18px;background:#173b35;color:#f7efce;border:1px solid #b5caa0;border-radius:6px;z-index:6}
#app .premium-room-page [class*="-room__scene"] > :is([class$="-reward"],[class$="-reward-screen"]){position:relative;inset:auto;transform:none;min-height:450px;max-width:100%;width:100%;z-index:6}
#app .premium-room-page [class*="-room__scene"] > :is([class$="-celebration"],[class$="-feedback"]) p{font-size:1rem;line-height:1.6}
#app .premium-room-page [class*="-room__scene"] > [aria-hidden="true"]{pointer-events:none}
#app .premium-room-page :is([class$="-counter"],[class$="-stepper"]) button{min-width:44px;min-height:44px}
/* Early fraction rooms use a shared bench with the collection on one side. */
#app .premium-room-page :is(.glass-room__work,.cutter-room__work,.mosaic-room__work,.wing-room__work){grid-template-columns:minmax(0,1fr)}
#app .premium-room-page :is(.glass-room__mini-rack,.cutter-room__wall,.mosaic-room__wall,.wing-room__wall){order:4;position:relative;inset:auto;width:100%;max-width:none}
#app .premium-room-page .fraction-room__reference-stand{position:relative;inset:auto;transform:none;order:1;margin:0 auto;max-width:400px;width:100%}
#app .premium-room-page .fraction-room__workbench{grid-template-columns:minmax(0,1fr)}
#app .premium-room-page .fraction-room__runes{display:none}
#app .premium-room-page .fraction-room__table{width:100%}
#app .premium-room-page .fraction-room__choices{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
#app .premium-room-page .fraction-room__actions{grid-column:1/-1;margin:0}
#app .premium-room-page .measure-room__workbench{grid-template-columns:1fr}
#app .premium-room-page .measure-stand{max-width:800px;margin:0 auto}
#app .premium-room-page .scriptorium-desk{padding:20px;grid-template-columns:minmax(0,1fr)}
#app .premium-room-page .scriptorium-desk__left{display:none}
#app .premium-room-page .scriptorium-work{width:100%;max-width:800px;margin:auto}
#app .premium-room-page :is(.balance-work,.gate-bench,.function-workshop){display:flex;flex-direction:column;align-items:stretch;padding:20px;gap:18px}
#app .premium-room-page :is(.balance-prompt,.gate-prompt){position:relative;inset:auto;width:100%;max-width:none;margin:0}
#app .premium-room-page :is(.substitution-workbench,.inverse-worktable,.twin-worktable){display:block;padding:20px}
#app .premium-room-page .target-expression--builder{flex-wrap:wrap;max-width:100%;min-width:0}
#app .premium-room-page :is(.mosaic-room__task,.wing-room__task){grid-template-columns:1fr;gap:8px}
@media(max-width:760px){
 #app:has(.premium-room-page){padding:12px 10px 40px}
 #app .premium-room-topbar{display:grid;grid-template-columns:1fr auto;padding:12px;gap:10px}
 #app .premium-room-topbar>.btn--back{grid-column:1/-1;justify-self:start;font-size:.8rem;min-height:38px;padding:7px 10px}
 #app .premium-room-topbar>div{text-align:left;min-width:0}
 #app .premium-room-topbar strong{font-size:1rem}
 #app .premium-room-topbar>p{font-size:.75rem;text-align:right}
#app .premium-room-page :is(.angle-room__scene,
  .anvil-room__scene,
  .backward-room__scene,
  .balance-table-room__scene,
  .basin-room__scene,
  .bell-room__scene,
  .best-room__scene,
  .bridge-room__scene,
  .case-room__scene,
  .catalog-room__scene,
  .chance-room__scene,
  .clock-room__scene,
  .clue-room__scene,
  .comp-room__scene,
  .corner-room__scene,
  .counting-room__scene,
  .crowd-room__scene,
  .cutter-room__scene,
  .drawbag-room__scene,
  .expression-scriptorium-room__scene,
  .factor-room__scene,
  .floor-room__scene,
  .fold-room__scene,
  .fours-room__scene,
  .fraction-room__scene,
  .function-press-room__scene,
  .gap-room__scene,
  .gate-room__scene,
  .glass-room__scene,
  .inequality-gate-room__scene,
  .inverse-room__scene,
  .lattice-room__scene,
  .lens-room__scene,
  .measure-room__scene,
  .meeting-room__scene,
  .mirror-room__scene,
  .mosaic-room__scene,
  .mystery-room__scene,
  .pair-room__scene,
  .pattern-room__scene,
  .pillar-room__scene,
  .press-room__scene,
  .prime-room__scene,
  .road-room__scene,
  .ruler-room__scene,
  .scale-room__scene,
  .scriptorium-room__scene,
  .selection-room__scene,
  .shadow-room__scene,
  .shape-room__scene,
  .sign-room__scene,
  .slide-room__scene,
  .slope-room__scene,
  .sort-room__scene,
  .spinner-room__scene,
  .square-room__scene,
  .stack-room__scene,
  .stair-room__scene,
  .strike-room__scene,
  .substitution-bench-room__scene,
  .target-room__scene,
  .tree-room__scene,
  .tri-room__scene,
  .truth-room__scene,
  .twin-room__scene,
  .twindevice-room__scene,
  .vault-room__scene,
  .vine-room__scene,
  .wager-room__scene,
  .wild-room__scene,
  .wing-room__scene,
  .yard-room__scene) {
gap:14px;padding:14px 10px;background-position:center top;
}
#app .premium-room-page :is(.angle-room__prompt,
  .anvil-room__prompt,
  .backward-room__prompt,
  .basin-room__prompt,
  .bell-room__prompt,
  .best-room__prompt,
  .bridge-room__prompt,
  .case-room__prompt,
  .catalog-room__prompt,
  .chance-room__prompt,
  .clock-room__prompt,
  .clue-room__prompt,
  .comp-room__prompt,
  .corner-room__prompt,
  .counting-room__prompt,
  .crowd-room__prompt,
  .cutter-room__prompt,
  .drawbag-room__prompt,
  .factor-room__prompt,
  .floor-room__prompt,
  .fold-room__prompt,
  .fours-room__prompt,
  .fraction-room__prompt,
  .gap-room__prompt,
  .gate-room__prompt,
  .glass-room__prompt,
  .lattice-room__prompt,
  .lens-room__prompt,
  .measure-room__prompt,
  .meeting-room__prompt,
  .mirror-room__prompt,
  .mosaic-room__prompt,
  .mystery-room__prompt,
  .pair-room__prompt,
  .pattern-room__prompt,
  .pillar-room__prompt,
  .press-room__prompt,
  .prime-room__prompt,
  .road-room__prompt,
  .ruler-room__prompt,
  .scale-room__prompt,
  .selection-room__prompt,
  .shadow-room__prompt,
  .shape-room__prompt,
  .sign-room__prompt,
  .slide-room__prompt,
  .slope-room__prompt,
  .sort-room__prompt,
  .spinner-room__prompt,
  .square-room__prompt,
  .stack-room__prompt,
  .stair-room__prompt,
  .strike-room__prompt,
  .target-room__prompt,
  .tree-room__prompt,
  .tri-room__prompt,
  .truth-room__prompt,
  .twindevice-room__prompt,
  .vault-room__prompt,
  .vine-room__prompt,
  .wager-room__prompt,
  .wild-room__prompt,
  .wing-room__prompt,
  .yard-room__prompt) {
padding:13px 14px;
}
#app .premium-room-page :is(.angle-workbench,
  .anvil-workbench,
  .backward-workbench,
  .balance-work,
  .basin-room__work,
  .bell-workbench,
  .best-workbench,
  .bridge-workbench,
  .case-workbench,
  .catalog-workbench,
  .chance-workbench,
  .clock-workbench,
  .clue-workbench,
  .comp-workbench,
  .corner-workbench,
  .counting-workbench,
  .crowd-workbench,
  .cutter-room__work,
  .drawbag-workbench,
  .factor-workbench,
  .floor-workbench,
  .fold-workbench,
  .fours-workbench,
  .fraction-room__workbench,
  .function-workshop,
  .gap-workbench,
  .gate-bench,
  .gate-workbench,
  .glass-room__work,
  .inverse-worktable,
  .lattice-workbench,
  .lens-workbench,
  .measure-room__workbench,
  .meeting-workbench,
  .mirror-workbench,
  .mosaic-room__work,
  .mystery-workbench,
  .pair-workbench,
  .pattern-workbench,
  .pillar-workbench,
  .press-workbench,
  .prime-workbench,
  .road-workbench,
  .ruler-workbench,
  .scale-room__work,
  .scriptorium-desk,
  .selection-workbench,
  .shadow-workbench,
  .shape-workbench,
  .sign-workbench,
  .slide-workbench,
  .slope-workbench,
  .sort-workbench,
  .spinner-workbench,
  .square-workbench,
  .stack-workbench,
  .stair-workbench,
  .strike-workbench,
  .substitution-workbench,
  .target-workbench,
  .tree-workbench,
  .tri-workbench,
  .truth-workbench,
  .twin-worktable,
  .twindevice-workbench,
  .vault-workbench,
  .vine-workbench,
  .wager-workbench,
  .wild-workbench,
  .wing-room__work,
  .yard-workbench) {
grid-template-columns:minmax(0,1fr);gap:14px;padding:0;
}
#app .premium-room-page :is(.angle-shelf,
  .anvil-shelf,
  .backward-shelf,
  .balance-shelf,
  .basin-shelf,
  .bell-shelf,
  .best-shelf,
  .bridge-shelf,
  .case-shelf,
  .catalog-shelf,
  .chance-shelf,
  .clock-shelf,
  .clue-shelf,
  .comp-shelf,
  .corner-shelf,
  .counting-shelf,
  .crowd-shelf,
  .drawbag-shelf,
  .factor-shelf,
  .floor-shelf,
  .fold-shelf,
  .fours-shelf,
  .function-shelf,
  .gap-shelf,
  .gate-shelf,
  .inverse-shelf,
  .lattice-shelf,
  .lens-shelf,
  .master-stack,
  .meeting-shelf,
  .mirror-shelf,
  .mystery-shelf,
  .pair-shelf,
  .pattern-shelf,
  .pillar-shelf,
  .press-shelf,
  .prime-shelf,
  .road-shelf,
  .ruler-shelf,
  .scriptorium-shelf,
  .selection-shelf,
  .shadow-shelf,
  .shape-shelf,
  .sign-shelf,
  .slide-shelf,
  .slope-shelf,
  .sort-shelf,
  .spinner-shelf,
  .square-shelf,
  .stack-shelf,
  .stair-shelf,
  .strike-shelf,
  .substitution-shelf,
  .target-shelf,
  .tree-shelf,
  .tri-shelf,
  .truth-shelf,
  .twin-shelf,
  .twindevice-shelf,
  .vault-shelf,
  .vine-shelf,
  .wager-shelf,
  .wild-shelf,
  .yard-shelf) {
padding:10px;
}

 #app .premium-room-page [class*="-room__scene"] > :is([class*="__arches"],[class*="__lamps"],[class*="__rafters"],[class*="__gears"]){opacity:.25}
 #app .premium-room-page :is([class$="-shelf__rail"],[class$="-shelf__slots"]){grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
 #app .premium-room-page .fraction-room__choices{grid-template-columns:repeat(2,minmax(0,1fr))}
 #app .premium-room-page .fraction-room__reference-stand{max-width:280px}
 #app .premium-room-page :is(.scriptorium-desk,.balance-work,.gate-bench,.function-workshop,.substitution-workbench,.inverse-worktable,.twin-worktable){padding:12px}
 #app .premium-room-page :is(.cutter-peg-rail,.cutter-room__bench,.mosaic-room__field-row){max-width:100%;min-width:0}
 #app .premium-room-page .cutter-room__bench{grid-template-columns:1fr}
 #app .premium-room-page .cutter-room__station{padding:12px}
 #app .premium-room-page .mosaic-room__field-row{display:flex;flex-wrap:wrap;justify-content:center}
 #app .premium-room-page .btn{padding:11px 15px;font-size:.9rem;white-space:normal}
}

/* Quiet topic-specific architectural drawings replace baked-in prototype interfaces. */
#app[data-workshop-topic="fractions"]{--review-room-art:url("/images/workshop-atmospheres/fractions.svg")}
#app[data-workshop-topic="geometry"]{--review-room-art:url("/images/workshop-atmospheres/geometry.svg")}
#app[data-workshop-topic="patterns"]{--review-room-art:url("/images/workshop-atmospheres/patterns.svg")}
#app[data-workshop-topic="operations"]{--review-room-art:url("/images/workshop-atmospheres/operations.svg")}
#app[data-workshop-topic="logic"]{--review-room-art:url("/images/workshop-atmospheres/logic.svg")}
#app[data-workshop-topic="prealgebra"]{--review-room-art:url("/images/workshop-atmospheres/prealgebra.svg")}
#app[data-workshop-topic="probability"]{--review-room-art:url("/images/workshop-atmospheres/probability.svg")}
#app[data-workshop-topic="coordinates"]{--review-room-art:url("/images/workshop-atmospheres/coordinates.svg")}
#app[data-workshop-topic="numbertheory"]{--review-room-art:url("/images/workshop-atmospheres/numbertheory.svg")}

#app .premium-room-page [class*="-room__scene"]{background:var(--review-room-art) center top / 1120px 740px repeat-y,#172e35}
#app .premium-room-page [class*="-room__scene"]::before,#app .premium-room-page [class*="-room__scene"]::after{display:none}
#app .premium-room-page [class*="-room__scene"] > [aria-hidden="true"]:not([class*="light"]){opacity:.12}
#app .premium-room-page [class$="-steps"]{flex-direction:row;align-items:stretch;height:auto;min-height:0}
#app .premium-room-page [class$="-steps"]>span{height:auto;min-height:0;flex:1 1 0;min-width:75px;font-size:.72rem;line-height:1.4;text-align:center;background:#1c383e;color:#ddd3b5;border:1px solid #ad9f6c66}
#app .premium-room-page [class$="-steps"]>span.is-current{background:#e2bb65;color:#27312a;border-color:#f3d592}
#app .premium-room-page [class$="-steps"]>span.is-done{background:#40694e;color:#fff0cd}
#app .premium-room-page button{font-family:var(--font-body);text-shadow:none}
#app .premium-room-page :is([class$="-lock"],[class$="-lock-step"],[class$="-lock-final"],[class$="-split"],[class$="-submit"]){min-height:44px;border-radius:5px;box-shadow:0 3px 0 #52472e;font-weight:800;font-size:1rem}
#app .premium-room-page :is(.cutter-peg-rail,.cutter-room__bench){display:grid;grid-template-columns:1fr;gap:16px}
#app .premium-room-page .cutter-pegs{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;width:100%;min-width:0}
#app .premium-room-page .cutter-peg{min-width:0;width:100%;min-height:44px;height:auto;font-size:1rem}
#app .premium-room-page .cutter-room__trays{position:relative;inset:auto;display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%;min-width:0}
#app .premium-room-page .cutter-tray{position:relative;inset:auto;transform:none;min-width:0;width:100%;height:auto;min-height:200px}
#app .premium-room-page .pane-cutter{display:none}
#app .premium-room-page .cutter-assembly{position:relative;inset:auto;width:100%;min-width:0;max-width:none;padding:14px}
#app .premium-room-page .cutter-assembly__frame{width:100%;min-height:140px;max-height:200px}
#app .premium-room-page .fraction-room__actions{padding:0;justify-content:center}
#app .premium-room-page .cutter-room__station::before,#app .premium-room-page .cutter-room__station::after{display:none}
@media(max-width:760px){#app .premium-room-page .cutter-pegs{grid-template-columns:repeat(5,minmax(0,1fr))}#app .premium-room-page [class$="-steps"]{gap:6px}#app .premium-room-page [class$="-steps"]>span{padding:8px 5px;font-size:.65rem}}
#app .premium-room-page .cutter-room__bench{grid-template-areas:none}
#app .premium-room-page .cutter-room__bench>*{grid-area:auto;grid-column:auto;grid-row:auto}
#app .premium-room-page .cutter-room__trays>*{grid-area:auto;grid-column:auto;grid-row:auto}
#app .premium-room-page :is(.scriptorium-counter__value,.scriptorium-equation .variable){color:#785123}
/* Small captions on parchment need ink contrast, including unselected choices. */
#app .premium-room-page :is(.twin-card>span,.corner-square-counter__label>span,.strike-choice>span,.anvil-tile>span,.fours-tile>span,.clock-choice>span,.sort-token>span,.clue-candidate__copy>span){color:#5b5145}
#app .premium-room-page :is(.anvil-page,.fours-page) button[data-tile]>span,#app .premium-room-page :is(.anvil-page,.fours-page) button[data-room-action=open]>span{color:#5b5145}
#app .premium-room-page .clue-candidate button[data-room-action=choose]{color:#205563}
#app .premium-room-page .corner-square-counter__value{grid-template-columns:44px minmax(0,1fr) 44px}
@media(max-width:900px){#app .premium-room-page .corner-square-grid{grid-template-columns:1fr}#app .premium-room-page .corner-square-counter__label>span{font-size:.75rem}#app .premium-room-page .corner-square-counter__quick{grid-template-columns:repeat(3,minmax(0,1fr))}}

#app[data-workshop-topic="operations"] :is(button[data-choice],button[data-tile],button[data-room-action="open"],button[data-room-action="choose"])>span{color:#5b5145}
#app .sort-page button[data-room-action="select-object"]>span{color:#5b5145}
#app .workshop-coordinate-controls{grid-column:1/-1;display:flex;align-items:end;flex-wrap:wrap;gap:10px;margin:12px 0;padding:12px;background:#fff3d9;color:#253a40;border:1px solid #b9a77c;border-radius:5px}
#app .workshop-coordinate-controls p{flex-basis:100%;font-size:.8rem;line-height:1.4;margin:0}
#app .workshop-coordinate-controls label{display:grid;gap:4px;font-size:.85rem;font-weight:800;flex:1 1 60px}
#app .workshop-coordinate-controls select{min-height:44px;padding:7px 10px;border:1px solid #6b7e72;background:#fffaf0;color:#243b41;border-radius:4px;font:inherit;font-size:1rem}
#app .workshop-coordinate-controls button{min-height:44px;padding:9px 14px;background:#234e57;color:#fff7de;border:1px solid #234e57;border-radius:4px;font-size:.9rem;font-weight:800;cursor:pointer}
#app .premium-room-page .twin-card strong span{display:inline;margin:0;font:inherit;text-transform:none}
@media(max-width:760px){#app .premium-room-page .wager-table-row{grid-template-columns:1fr}#app .premium-room-page .wager-counter__buttons button{min-height:44px;font-size:.9rem}#app .premium-room-page .wager-table-card__felt{height:70px}}

/* The atlas, lesson pages, daily question and results use the same book-like shell. */
#app .screen{border:1px solid #b4a079;border-radius:6px;box-shadow:0 12px 32px #07131f33;padding:clamp(20px,3vw,36px)}
#app .screen::before,#app .screen::after{display:none}
#app .screen .btn{font-family:var(--font-body);font-size:.95rem;line-height:1.35;letter-spacing:.01em;text-transform:none;font-weight:800;min-height:44px;padding:11px 18px;border-radius:5px;text-shadow:none;box-shadow:none}
#app .screen .btn--primary{background:#234b49;color:#fff5d9;border:1px solid #173f3d;box-shadow:0 3px 0 #172e2d}
#app .screen .btn--secondary{background:#fff5dc;color:#30433a;border:1px solid #8a8467}
#app .screen .btn--back{padding:8px 10px;border:1px solid #a0967877;color:#3e5544}
#app .screen :is(button,[role="button"],input,select):focus-visible{outline:3px solid #1e686f;outline-offset:4px}
#app .topic-header{gap:18px;margin:24px 0}
#app .topic-header__icon{box-shadow:none;border-radius:6px;font-size:1.9rem}
#app .topic-header__title{font-size:clamp(1.5rem,3vw,2.1rem);letter-spacing:0;line-height:1.2}
#app .level-list{gap:10px}
#app .level-item{padding:18px;border-radius:5px;box-shadow:none;background:#fff6df;border:1px solid #b8a177}
#app .level-item__title{letter-spacing:0;line-height:1.3}
#app .lesson-hero{gap:18px;margin:22px 0 28px}
#app .lesson-hero h1{font-size:clamp(1.5rem,3vw,2.1rem);line-height:1.2;letter-spacing:0}
#app .lesson-hero p{line-height:1.6;font-size:1rem}
#app .lesson-hero__sigil{box-shadow:none;border-radius:6px}
#app .lesson-layout{gap:20px;align-items:start}
#app .lesson-stage{background:#173a3c;border:1px solid #b8a177;border-radius:6px;box-shadow:none;padding:24px;min-width:0}
#app .lesson-panel{background:#fff8e6;border:1px solid #b8a177;border-radius:6px;box-shadow:none;padding:24px;min-width:0}
#app .lesson-panel p,#app .lesson-panel li{font-size:1rem;line-height:1.6}
#app .lesson-panel h2{font-size:1.35rem;line-height:1.3;letter-spacing:0}
#app .lesson-trap{line-height:1.5;background:#f3e8cb;border-left:3px solid #9b652e;box-shadow:none}
#app .lesson-checkpoint{margin-top:24px;padding:24px;background:#fff8e6;border:1px solid #b8a177;border-top:4px solid #416451;border-radius:6px;box-shadow:none}
#app .lesson-checkpoint h2{font-size:1.2rem;line-height:1.5;letter-spacing:0}
#app .lesson-choice{min-height:48px;padding:13px 16px;line-height:1.45;font-family:var(--font-body);font-size:1rem;border-radius:5px;box-shadow:none}
#app .lesson-actions{gap:12px;flex-wrap:wrap;margin-top:20px}
#app .results-screen{max-width:800px;margin:auto}
#app .results-screen__title{font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.2;letter-spacing:0}
#app .results-actions{gap:12px;flex-wrap:wrap}
#app [class*="consecration-topbar"]{gap:14px;align-items:center;border-bottom:1px solid #b8a177;padding-bottom:16px}
#app [class*="consecration-topbar"] strong{font-size:clamp(1.15rem,2.4vw,1.6rem);line-height:1.3;letter-spacing:0}
@media(max-width:760px){
 #app:has(.screen){padding:12px 10px 40px}
 #app .screen{padding:20px 16px}
 #app .lesson-layout{grid-template-columns:1fr}
 #app .lesson-hero{align-items:start;gap:12px}
 #app .lesson-hero__sigil{width:50px;height:50px;flex-basis:50px;font-size:1.5rem}
 #app .lesson-stage,#app .lesson-panel,#app .lesson-checkpoint{padding:18px 14px}
 #app .level-item{padding:14px 12px;gap:12px}
 #app .level-item__title{font-size:1rem;white-space:normal}
 #app .level-item__subtitle{font-size:.8rem;line-height:1.5;white-space:normal}
 #app .screen .btn{font-size:.9rem;padding:11px 14px;white-space:normal}
 #app [class*="consecration-topbar"]{display:flex;flex-direction:column;align-items:start}
 #app [class*="consecration-topbar"]>div{text-align:left}
}
#app .lesson-stage__label{color:#fff0c9;font-size:1rem;letter-spacing:.035em}
#app .lesson-rule-ribbon{color:#254c43;background:#f0e2bc;border:1px solid #a59166;border-radius:4px;font-size:1rem;text-shadow:none}
#app .lesson-hero h1,#app .topic-header__title{color:#594326}

/* Each capstone keeps its central artifact, now with readable, reachable dialogue. */
#app [class*="consecration-stage"]{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:start;height:auto;min-height:0;overflow:hidden;padding:22px;background:var(--review-room-art) center top / 1120px 740px repeat-y,#172e35;border:1px solid #a99b73;border-radius:6px;isolation:isolate}
#app [class*="consecration-stage"]::before,#app [class*="consecration-stage"]::after{display:none}
#app [class*="consecration-stage"]>[aria-hidden="true"]{display:none}
#app [class*="consecration-stage"]>:is([class*="consecration-cue"],.consecration-cue){position:relative;inset:auto;transform:none;grid-column:1/-1;order:0;max-width:none;width:100%;margin:0;padding:18px;text-align:left;border:1px solid #c3a866;border-left:4px solid #dfbb6e;background:#10252b;color:#f8edcc;border-radius:5px;box-shadow:none}
#app [class*="consecration-cue"] h1{font-size:clamp(1.15rem,2.3vw,1.7rem);line-height:1.25;letter-spacing:0;margin:6px 0}
#app [class*="consecration-cue"] p{font-size:1rem;line-height:1.5}
#app [class*="consecration-stage"]>:is(.gbc-blueprint,.opc-clock,.ptc-garden,.prob-tree,.lgc-stand,.ntc-lattice,.coord-map,.solution-board){position:relative;inset:auto;transform:none;grid-column:1/-1;order:2;width:100%;max-width:none;height:auto;min-height:0;margin:0;padding:18px;border-width:2px;border-radius:6px;box-shadow:none;overflow:hidden}
#app [class*="consecration-stage"] :is([class$="__groups"],.prob-tree__roots,.solution-board__slots){position:relative;inset:auto;transform:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;width:100%;height:auto;min-height:0}
#app [class*="consecration-stage"] :is([class$="__groups"],.prob-tree__roots,.solution-board__slots)>*{position:relative;inset:auto;transform:none;width:100%;height:auto;min-width:0;min-height:0;opacity:1;filter:none}
#app [class*="consecration-stage"] :is(.gbc-blueprint,.opc-clock,.ptc-garden,.prob-tree,.lgc-stand,.ntc-lattice,.coord-map,.solution-board)>button{position:relative;inset:auto;transform:none;display:block;width:100%;max-width:none;height:auto;min-height:180px;margin:16px 0 0}
#app [class*="consecration-stage"] :is([class$="-core"],.coord-map-path,.solution-parchment,.lgc-plaque,.prob-tree-root)>svg{position:relative;inset:auto;width:100%;max-width:520px;height:auto;max-height:180px;margin:0 auto}
#app [class*="consecration-stage"] :is([class$="-core"],.coord-map-path,.solution-parchment,.lgc-plaque,.prob-tree-root)>:is(span,strong,em){position:relative;inset:auto;transform:none;display:block;width:auto;margin:8px 12px;line-height:1.4;font-size:1rem}
#app [class*="consecration-stage"]>:is([class*="-master"],[class*="-apprentice"]){position:relative;inset:auto;transform:none;order:3;min-width:0;width:100%;height:auto;min-height:170px;margin:0;padding:14px;display:flex;flex-direction:column;align-items:center;gap:5px;background:#243c3ef5;color:#f8edcc;border:1px solid #c2a66c77;border-radius:6px;box-shadow:none;font-family:var(--font-body)}
#app [class*="consecration-stage"]>:is([class*="-master"],[class*="-apprentice"]).is-target{order:1;grid-column:1/-1;background:#294942;border-color:#f0cf83;min-height:160px;box-shadow:inset 0 0 0 2px #c2a66c55}
#app [class*="consecration-stage"]>:is([class*="-master"],[class*="-apprentice"])>span[class*="__sprite"]{position:relative;inset:auto;transform:none;display:block;width:76px;height:88px;flex-shrink:0;margin:0 auto}
#app [class*="consecration-stage"]>:is([class*="-master"],[class*="-apprentice"])>:is(strong,[class*="__name"],[class*="__role"],[class*="__line"]){position:relative;inset:auto;transform:none;display:block;width:100%;max-width:none;margin:0;padding:2px 0;line-height:1.4;text-align:center;color:#f8edcc;background:none;border:0;box-shadow:none;font-size:.85rem}
#app [class*="consecration-stage"]>:is([class*="-master"],[class*="-apprentice"])>[class*="__line"]{font-size:1rem;font-family:var(--font-body);padding-top:8px}
#app [class*="consecration-stage"]>:is([class*="-master"],[class*="-apprentice"]):disabled{opacity:.72}
#app [class*="consecration-stage"]>.rose-wrap{position:relative;inset:auto;transform:none;order:2;grid-column:1/-1;justify-self:center;width:min(280px,100%);height:auto;margin:0}
#app [class*="consecration-stage"] .rose-window{height:auto;width:100%;aspect-ratio:1;border-width:6px}
#app [class*="consecration-stage"]>.altar{position:relative;inset:auto;transform:none;order:2;grid-column:1/-1;width:100%;max-width:650px;justify-self:center;height:200px;margin:0}
#app [class*="consecration-title-card"]{padding:32px 18px;border-radius:6px}
#app [class*="consecration-title-card"] h1{font-size:clamp(1.5rem,4vw,2.8rem);line-height:1.2;letter-spacing:0}
@media(max-width:760px){
 #app [class*="consecration-stage"]{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px}
 #app [class*="consecration-stage"] :is([class$="__groups"],.prob-tree__roots,.solution-board__slots){grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 #app [class*="consecration-stage"] :is(.gbc-blueprint,.opc-clock,.ptc-garden,.prob-tree,.lgc-stand,.ntc-lattice,.coord-map,.solution-board){padding:12px 8px}
 #app [class*="consecration-stage"] :is([class$="__title"],[class*="group__label"]){flex-wrap:wrap;gap:4px}
 #app [class*="consecration-stage"] :is([class$="__title"],[class*="group__label"]) strong{font-size:1rem;line-height:1.25}
}
#app [class*="consecration-stage"] :is(.coord-compass,.gbc-blueprint-seal,.opc-clock-seal,.ptc-bloom-seal,.ntc-quarry-seal,.prob-lockbox){position:relative;inset:auto;transform:none;margin:18px auto 0;z-index:2}

/* Title ceremonies have nine distinct class names but share a readable final card. */
#app section[role="dialog"][class$="title-card"]{height:auto;min-height:480px;padding:44px 20px;display:grid;grid-template-columns:minmax(0,1fr);align-content:center;gap:24px;box-shadow:none}
#app section[role="dialog"][class$="title-card"] h1{font-size:clamp(1.5rem,4vw,3.5rem);line-height:1.12;letter-spacing:0;width:100%;max-width:900px;overflow-wrap:normal;text-shadow:none;margin:0}
#app section[role="dialog"][class$="title-card"] p{max-width:45ch;line-height:1.5}
#app section[role="dialog"][class$="title-card"]>[aria-hidden="true"]{opacity:.25}
#app .solution-board__slots{grid-template-rows:none;grid-auto-rows:minmax(100px,auto)}
#app [class*="consecration-stage"] .solution-board__slots>.solution-slot{min-height:100px;padding:30px 8px 16px;color:#fff3d8}
#app .solution-slot strong{font-size:.85rem;line-height:1.35}
#app .prob-tree__trunks{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
#app .prob-trunk{opacity:1}
#app .prob-trunk__label{min-height:40px}
#app .prob-trunk__label strong{font-size:.9rem;line-height:1.4}
#app .prob-artifact{min-height:95px;padding:28px 8px 10px}
#app .prob-artifact strong{font-size:.8rem;line-height:1.3}
@media(max-width:760px){#app .prob-tree__trunks{grid-template-columns:repeat(2,minmax(0,1fr))}}
