/* One eyebrow. The same small uppercase label above a heading was rendering at 8, 9, 10, 11
   and 14px across the site, at weights 700 and 800, depending on which page you were on —
   audited 12 Sept across 17 pages. The site's own small-label idiom is 11px/700, which the
   nav sheet's group heads and the picker's title already use. A spot that genuinely cannot
   take 11px may step down, but it says so here rather than in a media query nobody reads. */
/* Sunlight in your room — Codex's layout, in Sol's dress. Every geometry
   rule below is the original; what changed is the skin: the night palette,
   one rounded family, white-hierarchy ink, chip-dressed controls, hairline
   dividers, round strokes, and the living sky inside the scene. */
.room-page{background:var(--night-0);color:var(--ink);font-family:var(--round);font-size:15px;line-height:1.5}
.room-mast{height:100px;max-width:1536px;padding:0 56px;margin:auto;display:flex;align-items:center;gap:40px;border-bottom:1px solid var(--hairline)}
.room-logo{display:block;width:66px;height:58px;overflow:hidden;flex:none}.room-logo .sol-wordmark{width:66px;height:58px;max-width:none;object-fit:contain;transform:none}
.room-parent{font-size:13px;font-weight:600;color:var(--ink-2);text-decoration:none;flex:1}.room-parent span{margin:0 12px;color:var(--ink-3)}.room-parent strong{font-weight:700;color:var(--ink)}
.room-mast .chip-dress{font-size:12.5px;gap:14px}
/* ONE EDGE, ON A WIDE PAGE. The site's edge is max(gutter, (100% - --content)/2), and the mast
   above this takes it from styles.css. This layout used to run its own system — a 1536px box
   centred with 56px of padding — so at 1920 the wordmark stood at 400 and the trail beneath it at
   248, and the gap grew with the window. The room needs a wider column than the site's 1120 for
   its scene, so it says so: it widens --content and re-derives --edge from it, and the mast, the
   layout and the signature all move together onto the one edge the page now has. */
.room-page{--content:1536px;--edge:max(var(--gutter), calc((100% - var(--content)) / 2))}
.room-layout{padding:44px var(--edge) 34px;display:grid;grid-template-columns:280px minmax(0,1fr);gap:56px;align-items:start}
.room-sidebar{padding-top:16px}.room-eyebrow{display:block;color:var(--ink-3);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin:0 0 16px}
.room-sidebar h1{font-size:clamp(48px,5vw,68px);font-weight:300;line-height: 1.06;letter-spacing:-.02em;margin:0 0 24px;text-wrap:balance}.room-intro{color:var(--ink-2);font-size:15px;font-weight:600;line-height:1.65;margin:0 0 36px}
.room-page label{display:block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.room-page select,.room-page input[type=date],.room-page input[type=number]{width:100%;height:42px;min-width:0;color:var(--ink);background:var(--lift-08);border:none;border-radius:999px;padding:8px 16px;margin:7px 0 0;font-family:var(--round);font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;outline-offset:3px;-webkit-appearance:none;appearance:none}
.room-page select{padding-right:34px;background-image:linear-gradient(45deg,transparent 50%,var(--ink-2) 50%),linear-gradient(135deg,var(--ink-2) 50%,transparent 50%);background-position:calc(100% - 20px) 55%,calc(100% - 15px) 55%;background-size:5px 5px;background-repeat:no-repeat}
.room-page option{background:var(--night-2);color:var(--ink)}.room-page input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.8)}
.room-location select{font-size:15px;height:48px}.room-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}.room-fields input[type=date]{font-size:12px;padding:8px 10px}
.room-seasons{display:flex;gap:6px;margin-top:14px}.room-page button{cursor:pointer;font-family:var(--round);font-weight:700;color:inherit}.room-seasons button{flex:1;background:var(--lift-04);border:none;border-radius:999px;font-size:12px;padding:8px 4px;color:var(--ink-2);transition:background .2s,color .2s}.room-seasons button:hover{background:var(--lift-08)}.room-seasons button[aria-pressed=true]{background:var(--lift-14);color:var(--ink)}
.room-dimensions{margin-top:26px;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);padding:16px 0}.room-dimensions summary{list-style:none;font-size:13px;font-weight:700;color:var(--ink);cursor:pointer;display:flex;justify-content:space-between;align-items:center}.room-dimensions summary::-webkit-details-marker{display:none}.room-dimensions summary span{font-size:18px;color:var(--ink-3);transition:transform .3s}.room-dimensions[open] summary span{transform:rotate(45deg)}.room-dimensions p{font-size:12px;font-weight:600;color:var(--ink-3);line-height:1.65;margin:12px 0}.room-dimensions .room-fields{margin-top:12px;gap:10px}.room-skyline{margin-top:16px}.room-detail-link{font-size:13px;font-weight:700;display:flex;justify-content:space-between;margin-top:20px;color:var(--ink-2);text-decoration:none}.room-detail-link:hover{color:var(--ink)}
.room-instrument{min-width:0}.room-scene{height:550px;position:relative;isolation:isolate;overflow:hidden;border-radius:22px;background:var(--night-2);touch-action:pan-y}
.room-scene #sky-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:0}.room-scene .sky-readout,.room-scene .sky-inspector{display:none}
.room-scene-header{position:absolute;z-index:2;top:22px;left:24px;right:24px;display:flex;justify-content:space-between;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);pointer-events:none}.room-scene-header span:last-child{letter-spacing:.04em;text-transform:none;color:var(--ink-2)}
#room-render{position:absolute;inset:0;z-index:1;cursor:grab}#room-render:active{cursor:grabbing}#room-render canvas,#room-render svg{display:block;width:100%;height:100%;outline-offset:-5px}
.room-scene-answer{position:absolute;z-index:2;left:28px;top:62px;pointer-events:none;max-width:60%}.room-scene-answer p{font-size:23px;font-weight:300;letter-spacing:-.01em;line-height:1.2;margin:0 0 2px;text-wrap:balance}.room-scene-answer span{color:var(--ink-2);font-size:12.5px;font-weight:600}
.room-view-controls{position:absolute;z-index:3;bottom:20px;left:22px;display:flex;align-items:center;gap:3px;border-radius:999px;background:var(--lift-08);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:3px}.room-view-controls button{border:0;background:transparent;border-radius:999px;min-height:32px;min-width:32px;font-size:11.5px;padding:5px 11px;color:var(--ink-2);transition:background .18s,color .18s}.room-view-controls button:hover,.room-view-controls button[aria-pressed=true]{background:var(--lift-14);color:var(--ink)}.room-view-controls button:first-child,.room-view-controls button:nth-child(3){font-size:17px}.room-view-controls button:last-child{margin-left:4px}
.room-hint{position:absolute;bottom:30px;right:24px;pointer-events:none;font-size:11px;font-weight:600;color:var(--ink-3);transition:opacity .25s}.room-hint span{margin-right:7px}.room-north{position:absolute;top:63px;right:24px;font-size:12px;font-weight:700;color:var(--ink-2);pointer-events:none}
.room-probe{position:absolute;z-index:5;border-radius:999px;background:var(--lift-08);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:5px 12px;font-size:12.5px;font-weight:700;color:var(--ink);pointer-events:none;max-width:260px;white-space:nowrap}
.room-time-deck{padding:24px 8px 0}.room-time-heading{display:flex;align-items:center;gap:22px}.room-time-heading>div{min-width:140px}.room-time-heading .room-eyebrow{margin:0 0 2px}.room-time-heading strong{font-weight:300;font-size:32px;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.room-time-heading p{flex:1;color:var(--ink-3);font-size:12.5px;font-weight:600}.room-play{width:42px;height:42px;flex:none;border-radius:50%;background:var(--lift-08);border:none;font-size:12px!important;transition:transform .35s,background .2s}.room-play:hover{background:var(--lift-14)}.room-play:active{transform:scale(.93)}.room-play:disabled{opacity:.3;cursor:default}
.room-track{height:40px;position:relative;margin-top:8px}.room-track input[type=range]{position:absolute;inset:0;width:100%;height:40px;z-index:2;margin:0;background:transparent}.room-track input[type=range]::-webkit-slider-runnable-track{background:transparent;height:5px}.room-track input[type=range]::-moz-range-track{background:transparent;height:5px}.room-track input[type=range]::-moz-range-progress{background:transparent}.room-track input[type=range]::-webkit-slider-thumb{height:16px;width:16px;margin-top:-5.5px;background:var(--ink);border:none;box-shadow:0 0 0 4px rgba(255,255,255,.08)}.room-track input[type=range]::-moz-range-thumb{height:16px;width:16px;background:var(--ink);border:none}
.room-lit-intervals{position:absolute;left:8px;right:8px;height:5px;top:17.5px;border-radius:6px;overflow:hidden;background:var(--lift-08)}.room-lit-intervals i{position:absolute;top:0;height:100%;background:linear-gradient(90deg,rgba(255,196,130,.85),rgba(255,226,180,1),rgba(255,196,130,.85));border-radius:4px}
.room-time-ticks{margin-top:10px;display:flex;justify-content:space-between;color:var(--ink-3);font-size:10.5px;font-weight:700;letter-spacing:.04em;font-variant-numeric:tabular-nums}.room-time-actions{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:16px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.room-time-actions>span{display:flex;align-items:center;gap:7px}.room-time-actions i{width:6px;height:6px;border-radius:50%;background:rgba(255,226,180,1)}.room-time-actions button{border:0;background:transparent;font-size:12.5px;letter-spacing:0;text-transform:none;color:var(--ink-2);padding:7px 0}.room-time-actions button:hover{color:var(--ink)}.room-time-actions button:disabled{opacity:.4;cursor:default}
.room-results{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;max-width:1424px;margin:0 auto;padding:32px 0;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}.room-results>div{padding-left:0}.room-results span{display:block;font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--ink-3)}.room-results strong{display:block;font-size:29px;font-weight:300;letter-spacing:-.01em;margin:8px 0;font-variant-numeric:tabular-nums;color:var(--ink)}.room-results p{font-size:12.5px;font-weight:600;color:var(--ink-2);margin:0}
.room-footer{max-width:1424px;margin:auto;padding:48px 0;display:grid;grid-template-columns:1fr 1fr;gap:80px}.room-footer h2{font-size:20px;letter-spacing:0;font-weight:700;margin:0 0 10px}.room-footer p{font-size:14px;line-height:1.75;color:var(--ink-2);max-width:520px}.room-footer .chip-dress{font-size:12.5px;gap:14px;margin-top:12px}.room-method h2{font-size:14px}.room-method p{font-size:12.5px}.room-method a{font-size:12.5px;font-weight:700;color:var(--ink-2)}.room-method a:hover{color:var(--ink)}
.room-signature{max-width:1424px;margin:0 auto;padding:22px 0 30px;border-top:1px solid var(--hairline);display:flex;justify-content:space-between;font-size:12.5px;font-weight:600;color:var(--ink-3)}#room-share-status{font-size:12.5px;font-weight:600;display:block;margin-top:8px;color:var(--ink-2)}
.room-noscript{padding:30px}.room-page [hidden]{display:none!important}
@media(min-width:1536px){.room-scene{height:600px}.room-layout{gap:68px;grid-template-columns:300px minmax(0,1fr)}}
@media(max-width:1535px){.room-results,.room-footer,.room-signature{margin-left:56px;margin-right:56px}}
@media(max-width:1100px){.room-layout{padding:32px var(--edge);gap:32px;grid-template-columns:250px minmax(0,1fr)}.room-mast{padding:0 32px}.room-scene{height:520px}.room-results,.room-footer,.room-signature{margin-left:32px;margin-right:32px}.room-hint{bottom:72px;left:24px}.room-time-heading p{font-size:11px}.room-results{gap:28px}}
@media(max-width:760px){.room-mast{height:78px;padding:0 22px;gap:18px}.room-logo{width:52px;height:48px}.room-logo .sol-wordmark{width:52px;height:48px;transform:none}.room-parent{font-size:11px}.room-parent span,.room-parent strong{display:none}.room-mast .chip-dress{font-size:11px;gap:8px;padding:8px 12px;min-height:36px}.room-layout{padding:28px 20px;display:flex;flex-direction:column;gap:24px}.room-sidebar{padding:0;width:100%;display:grid;grid-template-columns:1fr 1fr;column-gap:16px}.room-sidebar>.room-eyebrow{grid-column:1/-1;margin-bottom:12px}.room-sidebar h1{font-size:44px;grid-column:1/-1;margin:0 0 12px}.room-sidebar h1 br{display:none}.room-intro{grid-column:1/-1;font-size:13.5px;margin-bottom:22px}.room-intro br{display:none}.room-location{grid-column:1/-1}.room-location select{height:44px;font-size:14px}.room-fields{grid-column:1/-1;margin-top:14px}.room-fields input[type=date]{font-size:13px}.room-seasons{grid-column:1/-1}.room-dimensions{grid-column:1/-1;margin-top:18px}.room-detail-link{grid-column:1/-1;margin-top:14px}.room-instrument{width:100%}.room-scene{height:410px;border-radius:16px}.room-scene-header{left:16px;right:16px;top:17px;font-size:9px}.room-scene-answer{left:18px;top:44px}.room-scene-answer p{font-size:20px}.room-scene-answer span{font-size:11px}.room-view-controls{left:12px;bottom:12px}.room-view-controls button{font-size:10px;padding:4px 8px}.room-hint{bottom:59px;left:18px;font-size:10px}.room-north{right:16px;top:48px;font-size:10px}.room-time-deck{padding:18px 0 0}.room-time-heading{gap:12px}.room-time-heading>div{min-width:122px}.room-time-heading strong{font-size:30px}.room-time-heading p{font-size:10.5px;max-width:110px;margin-left:auto}.room-play{width:36px;height:36px}.room-time-actions{font-size:9.5px}.room-time-actions button{font-size:11px}.room-results{grid-template-columns:1fr;gap:22px;margin:0 20px;padding:26px 0}.room-results>div{display:grid;grid-template-columns:1fr auto;gap:0 16px;align-items:center}.room-results span{font-size:9.5px}.room-results strong{grid-column:2;grid-row:1/3;font-size:25px;margin:0}.room-results p{grid-column:1;font-size:11px;margin-top:6px}.room-footer{display:block;margin:0 20px;padding:30px 0}.room-method{margin-top:30px}.room-signature{margin:0 20px;font-size:10.5px}.room-footer h2{font-size:20px}.room-method h2{font-size:14px}}
@media(prefers-reduced-motion:reduce){.room-page *,.room-page *::before,.room-page *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.room-webgl,.room-plan-svg{position:absolute;inset:0}.room-view-controls button:disabled{opacity:.35;cursor:default}
/* On a phone the scene comes first; room settings remain a short scroll away. */
@media(max-width:760px){
  /* The reorder below lifts the eyebrow out of the sidebar and up under the mast, where it
     was landing 28px from the wordmark. The logo keeps a clear band of 0.6x its own height
     on any side something approaches from (owner rule, tests/grid.cjs): the mark is 53px
     here, so 32px is the floor and this leaves 36. The band is put on the layout rather
     than on the eyebrow, so whatever the reorder promotes next inherits it. */
  .room-layout{gap:0;margin-top:8px}.room-sidebar{display:contents}.room-sidebar>*{order:3;width:100%}
  .room-sidebar>.room-eyebrow,.room-sidebar>h1,.room-sidebar>.room-intro{order:0}
  .room-instrument{order:1;margin:0 0 28px}.room-sidebar>h1{font-size:40px}
  .room-sidebar>.room-intro{margin:0 0 20px}.room-location{margin-top:0}
  .room-seasons button{min-height:42px}.room-view-controls button{min-height:40px}
  .room-dimensions summary{min-height:30px}.room-detail-link{margin-bottom:4px}
  .room-time-actions button{min-height:38px}
}

/* type over the scene follows the ethos over the scene: medium, never bold, never full white */
.room-scene-header span,#room-view-label,.room-north,#room-light-detail,.room-hint,.room-hint span{font-weight:500}#room-light-state{color:rgba(244,247,252,.92)}

@media(max-width:760px){.room-hint{bottom:74px;right:22px}}   /* on a phone the hint sits above the view buttons, not beside them */

/* ── Apartment decisions: named studies, compared, and sent ─────────────────
   Growth loop 3. A study is this room plus a name; two or three of them are
   held up against the same day and the same two solstices. The section wears
   the site's own dress — chip controls, white hierarchy, hairline rules,
   white at 9% for every lift and never a solid grey, never a ring — and the
   comparison is one drawing, not a table. */
.room-study{max-width:1424px;margin:0 auto;padding:44px 0 8px;border-top:1px solid var(--hairline)}
.room-study .room-eyebrow{margin:0 0 12px}
.room-study .rc-head{font-size:clamp(23px,2.5vw,31px);font-weight:300;letter-spacing:-.02em;line-height:1.18;margin:0;max-width:24ch;text-wrap:balance}
.room-study .first-frame{margin:18px 0 0;max-width:64ch;font-size:14px;line-height:1.6}
.room-study .call-chips{margin-top:26px;margin-bottom:0;align-items:center}   /* the state line belongs to this row, so it stays with it */
.rc-field{gap:12px;padding:4px 6px 4px 18px}
.rc-field label{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);white-space:nowrap}
.room-page .rc-field input{width:206px;height:36px;margin:0;padding:6px 14px;border-radius:999px;background:var(--lift-08);font-size:13.5px;font-weight:600;letter-spacing:0}
.room-page .rc-field input::placeholder{color:var(--ink-3);font-weight:600}   /* an example, plainly a step quieter than a name the visitor typed */
.rc-state{display:block;margin-top:18px;font-size:13.5px;font-weight:600;color:var(--ink-2);max-width:62ch;line-height:1.55}

/* the studies in play: one chip each, pressed when it is in the comparison */
.rc-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.rc-chip{display:inline-flex;align-items:center;max-width:100%;background:var(--lift-08);border-radius:999px;overflow:hidden}
.rc-chip:hover{background:var(--lift-14)}
/* a button's text centres by default, so a name that wraps inside a chip would sit
   ragged in the middle of it; these read from the left like every other label */
.room-page .rc-chip button{background:transparent;border:0;min-width:0;min-height:44px;font-size:13.5px;font-weight:600;letter-spacing:0;text-align:left;color:var(--ink-2);padding:10px 8px 10px 18px;display:flex;align-items:center;gap:9px;flex-wrap:wrap;transition:color .18s}
.room-page .rc-chip button[aria-pressed=true]{color:var(--ink)}
.rc-chip button i{width:9px;height:9px;border-radius:50%;background:var(--lift-14);flex:none;font-style:normal}
.rc-chip button[aria-pressed=true] i{background:rgba(255,214,150,.95)}   /* sunlight is light and may carry colour; every label stays white */
.rc-chip small{font-weight:600;font-size:12px;color:var(--ink-2);letter-spacing:0}
.room-page .rc-chip .rc-forget{min-width:40px;padding:10px 16px 10px 8px;font-size:15px;color:var(--ink-2)}
.room-page .rc-chip .rc-forget:hover{color:var(--ink)}

/* the season the figure prints brightest: one rail at white 9%, the chosen one lifted */
.rc-seasons{display:inline-flex;gap:3px;margin-top:30px;padding:3px;border-radius:999px;background:var(--lift-08)}
.room-page .rc-seasons button{background:transparent;border:0;border-radius:999px;min-height:38px;padding:8px 18px;font-size:12.5px;font-weight:600;letter-spacing:0;color:var(--ink-2);transition:background .2s,color .2s}
.room-page .rc-seasons button:hover{color:var(--ink)}
.room-page .rc-seasons button[aria-pressed=true]{background:var(--lift-14);color:var(--ink)}
.rc-figure{margin-top:28px}
.rc-figure svg{display:block;width:100%;height:auto}
.rc-figure:empty{margin-top:0}
.rc-note{margin-top:28px}
@media(max-width:1535px){.room-study{margin-left:56px;margin-right:56px}}
@media(max-width:1100px){.room-study{margin-left:32px;margin-right:32px}}
@media(max-width:760px){
  .room-study{margin-left:20px;margin-right:20px;padding-top:34px}
  .room-study .rc-head{font-size:25px;max-width:none}
  .room-study .call-chips{margin-top:22px}
  .rc-field{width:100%;padding-left:16px}
  .room-page .rc-field input{width:auto;flex:1;min-width:0}
  .rc-list{margin-top:22px}
  .rc-seasons{margin-top:24px;display:flex}
  .room-page .rc-seasons button{flex:1;padding:8px 10px;min-height:42px}
}
