/* Local-clock controls appear only inside the admitted house. */
.world-dock{position:fixed;inset-block-start:17px;inset-inline-start:50%;transform:translateX(-50%);z-index:5;display:flex;align-items:center;gap:7px;padding:5px;background:#10121be6;border:1px solid #9e8ab745;border-radius:14px;box-shadow:0 6px 24px #0002}
[dir=rtl] .world-dock{transform:translateX(50%)}
.world-dock button{display:flex;align-items:center;gap:8px;font-size:11px;min-height:38px;padding:6px 11px;border:0;border-radius:10px;box-shadow:none;background:transparent;line-height:1.3}
.world-dock button:hover{background:#ffffff12}
.world-symbol{font-size:16px;line-height:1;color:#d9fa89;width:16px}
.world-time-button{border-inline-start:1px solid #ffffff20!important;border-start-start-radius:0!important;border-end-start-radius:0!important;flex-direction:column;gap:1px!important;min-width:98px}
.world-time-button time{font-size:15px;line-height:1.2;font-variant-numeric:tabular-nums}
.world-time-button small{font-size:7px;line-height:1.3;color:#bcb7c7;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.experience-ready[data-world-light=day]:not(.read-mode) .world-dock{background:#f1f2eeed;border-color:#5e626348;color:#1d2327}
.experience-ready[data-world-light=day]:not(.read-mode) .world-dock button{color:#1d2327}
.experience-ready[data-world-light=day]:not(.read-mode) .world-dock button:hover{background:#242b3410}
.experience-ready[data-world-light=day]:not(.read-mode) .world-symbol{color:#4e6034}
.experience-ready[data-world-light=day]:not(.read-mode) .world-time-button{border-inline-start-color:#2227!important}
.experience-ready[data-world-light=day]:not(.read-mode) .world-time-button small{color:#5d6469}
.experience-ready[data-world-light=day]:not(.read-mode) .header-tools button,.experience-ready[data-world-light=day]:not(.read-mode) .hud button{background:#edf0eee8;color:#20242b;border-color:#7c748c55}
.experience-ready[data-world-light=day]:not(.read-mode) .header-tools button:hover,.experience-ready[data-world-light=day]:not(.read-mode) .hud button:hover{background:#ffffff}
.experience-ready[data-world-light=day]:not(.read-mode) .stage::after{background:linear-gradient(180deg,#080c1830,transparent 23%,transparent 74%,#080c1850)}
.experience-ready[data-world-light=day]:not(.read-mode) .light-toggle[aria-pressed=true] .lamp-icon{color:#53682e}
.experience-ready[data-world-light=day]:not(.read-mode) .light-toggle[aria-pressed=false] .lamp-icon{color:#697079}
.experience-ready[data-world-light=day]:not(.read-mode) .lamp-motion svg [stroke]{stroke:currentColor!important}
.experience-ready[data-world-light=day]:not(.read-mode) dialog{--ink:#22272b;--muted:#586168;--violet:#7150a3;--edge:#b7b3bf;color:var(--ink);background:#f3f3efef;border-color:#96919f70;box-shadow:0 24px 90px #090d1840}
.experience-ready[data-world-light=day]:not(.read-mode) dialog::backdrop{background:#0c122650}
.experience-ready[data-world-light=day]:not(.read-mode) .dialog-bar{background:#f3f3effa}
.experience-ready[data-world-light=day]:not(.read-mode) dialog p,.experience-ready[data-world-light=day]:not(.read-mode) .help-copy{color:#4b555d}
.experience-ready[data-world-light=day]:not(.read-mode) dialog button{color:#252b31;background:#e8e7eb;border-color:#bab6c4}
.experience-ready[data-world-light=day]:not(.read-mode) dialog button:hover{background:#dcd8e6;border-color:#7150a3}
.experience-ready[data-world-light=day]:not(.read-mode) .rooms-list>.room-group,.experience-ready[data-world-light=day]:not(.read-mode) .rooms-list>section{background:#e9e7ec88;border-color:#bab6c466}
.experience-ready[data-world-light=day]:not(.read-mode) .room-choice>.room-link{background:#e5dcef}
.experience-ready[data-world-light=day]:not(.read-mode) .note{background:#e7e4ee}
.experience-ready[data-world-light=day]:not(.read-mode) .help-copy kbd{background:#e5e2e9;color:#35313e}
.experience-ready[data-world-light=day]:not(.read-mode) .memorial-dialog{background:#f1f0eaef;border-color:#b2aa9c}
.experience-ready[data-world-light=day]:not(.read-mode) .memorial-dialog .dialog-bar{background:#f1f0eafa}
.experience-ready[data-world-light=day]:not(.read-mode) .memorial-dialog #dialog-copy{color:#514d46}
.experience-ready[data-world-light=day]:not(.read-mode) button:focus-visible,.experience-ready[data-world-light=day]:not(.read-mode) a:focus-visible{outline-color:#7150a3}
@media(max-width:1050px){.world-dock{inset-block-start:76px;inset-inline-start:auto;inset-inline-end:24px;transform:none!important}.world-dock button{min-height:35px}.world-time-button{min-width:90px}}
@media(max-width:760px){.world-dock{inset-block-start:74px;inset-inline-end:14px;padding:4px;border-radius:12px;gap:3px}.world-dock button{font-size:10px;padding:4px 8px;min-height:34px}.world-time-button time{font-size:13px}.world-time-button small{font-size:7px;max-width:98px}.world-symbol{font-size:14px}}
@media(max-width:380px){.world-dock{inset-block-start:97px;inset-inline-end:12px}.world-dock button{font-size:9px}.world-time-button small{max-width:86px}}
@media(max-height:590px) and (orientation:landscape){.world-dock{inset-block-start:67px;inset-inline-end:14px}}

/* A small native sheet keeps the room visible while a color is selected. */
.lighting-dialog{inset:auto;inset-inline-end:24px;inset-block-end:98px;margin:0;width:340px;max-width:calc(100vw - 28px);max-height:calc(100svh - 160px);padding:20px;border-radius:20px;background:#16151cf5}
.lighting-dialog::backdrop{background:#080c180c;backdrop-filter:none}
.lighting-dialog .dialog-bar{margin-bottom:8px;background:transparent!important}
.lighting-dialog .eyebrow{font-size:8px;letter-spacing:1.5px;line-height:1.5}
.lighting-dialog h2{font-size:24px;line-height:1.3;margin:10px 0 8px;letter-spacing:-.6px}
.lighting-dialog p{font-size:11px;line-height:1.65;margin:0 0 14px;color:var(--muted)}
.lighting-dialog .close-button{font-size:11px;min-height:36px;padding:6px 10px}
.lighting-label{display:block;font-size:11px;font-weight:600;margin:0 0 7px}
.lighting-dialog select{font:inherit;font-size:12px;color:var(--ink);background:#24212d;border:1px solid #675974;border-radius:10px;min-height:44px;width:100%;padding:9px 12px;margin-bottom:15px;white-space:normal}
.lighting-dialog option{color:#eee9f6;background:#24212d}
.lighting-presets{display:grid;grid-template-columns:1fr 1fr;gap:8px;border:0;margin:0 0 15px;padding:0;min-width:0}
.lighting-presets legend{font-size:11px;font-weight:600;margin-bottom:8px}
.lighting-presets button{display:flex;align-items:center;justify-content:flex-start;gap:8px;text-align:start;font-size:11px;line-height:1.4;padding:9px 10px;min-height:44px;border-radius:10px;background:#24212d}
.lighting-presets button[aria-pressed=true]{background:#4f3d68;border-color:#d6b8ff;box-shadow:inset 0 0 0 1px #d6b8ff}
.color-dot{width:14px;height:14px;flex-shrink:0;border-radius:50%;border:1px solid #ffffff70;box-shadow:0 0 10px #ffffff16}
.color-warm{background:#ffe1b7}.color-violet{background:#b285ff}.color-lime{background:#d8ff84}.color-ice{background:#80dfff}
.lighting-custom{display:flex;align-items:center;gap:10px;margin-bottom:15px;font-size:11px}
.lighting-custom label{flex:1;font-weight:600}.lighting-custom input{cursor:pointer;min-width:44px;width:44px;height:44px;border:1px solid #877494;background:transparent;border-radius:9px;padding:4px}
.lighting-custom output{font-size:10px;font-family:ui-monospace,monospace;min-width:65px;color:var(--muted)}
.lighting-actions{display:flex;gap:8px}.lighting-actions button{flex:1;min-height:44px;font-size:11px;line-height:1.4;padding:8px 9px}
.lighting-dialog .lighting-footnote{font-size:10px;margin:12px 0 0}
.lighting-dialog :is(select,input):focus-visible{outline:2px solid #d8ff84;outline-offset:3px}
[dir=rtl] .lighting-dialog .eyebrow{letter-spacing:0;font-size:9px}
[dir=rtl] .lighting-dialog h2{letter-spacing:0;line-height:1.6;font-size:23px}
.experience-ready[data-world-light=day]:not(.read-mode) .lighting-dialog select,.experience-ready[data-world-light=day]:not(.read-mode) .lighting-dialog option{color:#252b31;background:#e8e7eb;border-color:#bab6c4}
.experience-ready[data-world-light=day]:not(.read-mode) .lighting-presets button[aria-pressed=true]{background:#d7c4e9;border-color:#7150a3;box-shadow:inset 0 0 0 1px #7150a3}
.experience-ready[data-world-light=day]:not(.read-mode) .lighting-dialog :is(select,input):focus-visible{outline-color:#7150a3}
.lighting-dialog .dialog-bar{position:sticky;top:-20px;background:#16151c!important;z-index:1;padding-block:2px}
.experience-ready[data-world-light=day]:not(.read-mode) .lighting-dialog .dialog-bar{background:#f3f3ef!important}
@media(max-width:760px){.lighting-dialog{inset-inline-end:14px;inset-block-end:90px;width:330px;max-height:min(62svh,calc(100svh - 160px));padding:16px}.lighting-dialog h2{font-size:21px;margin-block:8px}.lighting-dialog p{margin-bottom:10px}.lighting-dialog .dialog-bar{top:-16px}.lighting-dialog .eyebrow{letter-spacing:1px}.lighting-dialog select{margin-bottom:12px}.lighting-presets{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:12px}.lighting-presets button{flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:7px;min-height:59px;padding:7px 3px;font-size:9px}.lighting-custom{margin-bottom:12px}.lighting-dialog .lighting-footnote{margin-top:9px}.world-dock #lighting-open{min-width:44px}}
@media(max-height:590px) and (orientation:landscape){.lighting-dialog{inset-block-end:65px;max-height:calc(100svh - 92px);width:300px;padding:14px}.lighting-dialog h2{font-size:20px}.lighting-dialog .lighting-footnote{display:none}}

/* Keep native focus clear of the sticky lighting-sheet close bar. */
.lighting-dialog{scroll-padding-block:64px 18px}
.lighting-dialog :is(button,select,input){scroll-margin-block:54px 16px}
/* Landscape keeps lighting above the right thumb, with comfortable tap targets. */
@media(pointer:coarse) and (orientation:landscape),(max-width:700px) and (orientation:landscape){
  body .world-dock{inset-block-start:max(64px,calc(env(safe-area-inset-top) + 58px));inset-inline-start:auto;inset-inline-end:max(14px,env(safe-area-inset-right));transform:none!important;max-width:260px;padding:3px;gap:3px}
  body .world-dock button{min-height:44px;font-size:10px;padding:4px 9px}
  body .world-time-button time{font-size:13px}
}

/* A native, explicit visitor choice instead of an undiscoverable mode cycle. */
.world-mode-control{display:flex;align-items:center;gap:5px;padding-inline-start:8px;min-width:0}
.world-mode-control select{appearance:auto;font:inherit;font-size:11px;color:#f1eef8;background:transparent;border:0;border-radius:10px;min-height:44px;min-width:82px;max-width:110px;padding:6px 4px;cursor:pointer}
.world-mode-control option{background:#14151d;color:#f1eef8}
.world-mode-control select:focus-visible{outline:2px solid #bca1f4;outline-offset:1px}
.experience-ready[data-world-light=day] .world-mode-control select{color:#1d2327}
.experience-ready[data-world-light=day] .world-mode-control option{background:#f1f2ee;color:#1d2327}
@media(max-width:760px),(pointer:coarse){.world-mode-control{padding-inline-start:4px;gap:2px}.world-mode-control select{font-size:10px;max-width:100px;min-width:78px}}

/* Leave a clear gap when the narrow portrait header wraps onto two rows. */
@media(max-width:440px) and (orientation:portrait){
  html:not([dir=rtl]) .world-dock{inset-block-start:max(106px,calc(env(safe-area-inset-top) + 94px))}
}
@media(max-width:380px) and (orientation:portrait){
  [dir=rtl] .world-dock{inset-block-start:max(106px,calc(env(safe-area-inset-top) + 94px))}
}
