:root{color-scheme:light;--paper:#eeebe4;--ink:#292827;--muted:#70685e;--gold:#cfab73;--panel:#252626;--line:rgba(255,255,255,.12)}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{background:var(--paper);color:var(--ink);font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.studio{height:100vh;height:100dvh;display:flex;flex-direction:column}.masthead{height:74px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 30px;border-bottom:1px solid #d4cec4;gap:15px}.identity,.header-actions{display:flex;align-items:center;gap:22px}.brand{font:25px Georgia,serif;white-space:nowrap}.edition,.eyebrow,.section-label{font-size:10px;letter-spacing:.14em;text-transform:uppercase}.edition{color:var(--muted)}.divider{width:1px;height:21px;background:#ccc1b1}.header-actions a,.text-button{color:var(--ink);font-size:12px;text-decoration:none;background:none;border:0;min-height:44px;display:inline-flex;align-items:center;gap:9px}.header-actions a:hover,.text-button:hover{color:#7e4c3e}.workspace{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 360px}.presentation{min-width:0;min-height:0}.stage{position:relative;width:100%;height:100%;overflow:hidden}canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab;outline-offset:-4px}canvas:active{cursor:grabbing}.stage-title{position:absolute;top:28px;left:32px;pointer-events:none}.eyebrow{margin:0 0 9px;color:var(--muted)}h1,h2{font-family:Georgia,serif;font-weight:400;line-height:1.08;margin:0}h1{font-size:clamp(32px,4vw,58px)}#finish-caption{font-size:12px;color:var(--muted);margin:9px 0}.live{position:absolute;right:26px;top:30px;display:flex;align-items:center;gap:7px;font-size:10px;color:#746d62;letter-spacing:.05em}.live span,.local-dot{width:5px;height:5px;border-radius:50%;background:#a78652;display:inline-block}.stage-bottom{position:absolute;left:30px;right:24px;bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:10px}.stage-note{font-size:11px;color:var(--muted);pointer-events:none}.stage-note span{padding:0 5px}.canvas-button{border:1px solid #d4cbc0;background:#f8f5eed9;border-radius:30px;font-size:12px;padding:0 15px;white-space:nowrap;backdrop-filter:blur(8px)}#status{position:absolute;inset:45% 20px auto;text-align:center;pointer-events:none}#status.error{background:var(--paper);padding:20px;color:#41080d;z-index:5}.rig{position:absolute;bottom:88px;left:26px;width:164px;pointer-events:none;background:#f5f2ebba;border:1px solid #dcd4c8;border-radius:12px;padding:11px 12px 8px;backdrop-filter:blur(12px)}.map-title{display:flex;justify-content:space-between;font-size:9px;color:#5d554a}.map-title span{color:#81776a}.rig svg{width:100%;display:block;overflow:visible}.rig p{font-size:9px;text-align:center;color:#746652;margin:5px 0 0;font-variant-numeric:tabular-nums}.inspector{background:var(--panel);color:#f1ede5;display:flex;flex-direction:column;min-height:0;color-scheme:dark;border-left:1px solid #383838}.inspector-heading{display:flex;justify-content:space-between;align-items:center;padding:26px 25px 20px}.inspector .eyebrow{font-size:8px;color:#bcb3a5;letter-spacing:.12em}.inspector h2{font-size:32px}.studio-mark{font-size:38px;color:var(--gold);font-weight:300}.tabs{display:flex;border-bottom:1px solid var(--line);padding:0 24px;gap:24px;flex:none}.tabs button{position:relative;flex:1;background:transparent;border:0;padding:0 0 11px;color:#b4afa7;border-radius:0;font-size:12px}.tabs button[aria-selected=true]{color:var(--gold)}.tabs button[aria-selected=true]:after{content:"";position:absolute;bottom:-1px;height:2px;left:0;right:0;background:var(--gold)}.panel-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#746957 transparent;scroll-padding:18px}.panel{padding:22px 25px 20px}.section-label{font-size:9px;color:var(--gold)}.panel-intro p{font-size:13px;color:#c4bdb2;margin:7px 0 22px}.control{margin:0 0 15px}.control label{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12px}.control output{font-size:11px;font-variant-numeric:tabular-nums;background:#353535;border:1px solid #48443e;padding:3px 9px;border-radius:5px;color:#ebd0a4;min-width:48px;text-align:center}fieldset{padding:0;margin:0;border:0;min-width:0}input[type=range]{width:100%;height:44px;margin:0;display:block;background:transparent;accent-color:var(--gold);cursor:ew-resize;appearance:none}input[type=range]::-webkit-slider-runnable-track{height:3px;background:linear-gradient(to right,var(--gold) var(--range-progress,50%),#4b4842 var(--range-progress,50%));border-radius:3px}input[type=range]::-webkit-slider-thumb{appearance:none;width:17px;height:17px;background:#ead7b7;border:3px solid #a98b5b;box-shadow:0 0 0 4px #cfab730f;border-radius:50%;margin-top:-7px}input[type=range]::-moz-range-track{height:3px;background:#4b4842}input[type=range]::-moz-range-progress{background:var(--gold);height:3px}input[type=range]::-moz-range-thumb{width:14px;height:14px;background:#ead7b7;border:2px solid #a98b5b;border-radius:50%}.scale{display:flex;justify-content:space-between;color:#a59d90;font-size:9px;margin-top:-5px}.light-presets{display:flex;gap:7px;margin:0 0 22px}.light-presets button{flex:1;font-size:10px;background:#303131;border:1px solid #494741}.light-presets button[aria-pressed=true]{border-color:#ad8c57;color:#ecd1a6;background:#453e32}button,select{font:inherit;color:inherit;min-height:44px;min-width:44px;cursor:pointer;border-radius:7px}button{border:1px solid #575046;padding:8px 12px;background:#363430}button:hover{filter:brightness(1.12)}button:disabled,select:disabled{opacity:.45;cursor:wait}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,canvas:focus-visible{outline:2px solid #ae7944;outline-offset:3px}.ambient-heading{border-top:1px solid var(--line);padding-top:19px;margin:20px 0 17px;display:flex;align-items:center;justify-content:space-between;gap:8px}.ambient-heading .section-label{font-size:8px;letter-spacing:.08em}#isolate-key{font-size:9px;border-radius:25px;background:transparent;padding:6px 10px}#isolate-key[aria-pressed=true]{background:#dfc397;color:#252626;border-color:#dfc397}.secondary,.primary{width:100%;font-size:12px}.secondary{background:transparent;color:#d1c8b9;border-color:#534f47}.primary{background:#dfc397;color:#232424;border:0}.hint{font-size:10px;line-height:1.65;color:#a9a297;margin:17px 0 0}.inspector-footer{display:flex;align-items:center;justify-content:center;gap:8px;border-top:1px solid var(--line);padding:12px 10px max(12px,env(safe-area-inset-bottom));font-size:9px;color:#aaa296;flex:none}.finish{display:grid;gap:9px;font-size:11px;color:#bbb2a5}.finish select{width:100%;height:44px;background:#333332;border:1px solid #585348;padding:0 12px;color:#f1ede5}.swatches{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.swatches button{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px 6px;background:#2d2e2e;border:1px solid #48463f;font-size:11px}.swatches button[aria-pressed=true]{border-color:#c9a66e;background:#36342e}.swatches i{width:32px;height:32px;border-radius:50%;box-shadow:inset 0 0 0 1px #ffffff40}.rose{background:linear-gradient(135deg,#9c6454,#f4cbb8 42%,#ae7863 65%,#ebbea2)}.gold{background:linear-gradient(135deg,#92713a,#eddba7 42%,#a68a4d 65%,#ebd795)}.silver{background:linear-gradient(135deg,#6b7175,#f5f4ec 42%,#999994 65%,#dddeda)}.twotone{background:linear-gradient(120deg,#eceae2 48%,#b2934f 49%,#efdaa8)}.view-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:22px 0}.view-controls button{height:52px;background:#303131;border-color:#514e47;font-size:20px}dialog{width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:24px;border:1px solid #cfc5b6;background:#f5f1e9;border-radius:14px;color:#292827;overflow:auto}dialog::backdrop{background:#141515a8;backdrop-filter:blur(7px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:18px}dialog h2{font-size:28px}dialog button{background:none;border-color:#d5cabb}dialog img{display:block;width:100%;max-height:55dvh;object-fit:contain;margin-top:20px}dialog>p{font-size:12px;color:var(--muted);margin-bottom:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:901px) and (max-height:740px){.inspector-heading{padding:16px 25px}.inspector h2{font-size:27px}.rig{width:130px;bottom:76px}.stage-title{top:20px}.panel{padding-top:16px}.panel-intro p{margin-bottom:16px}}
@media(max-width:1050px) and (min-width:901px){.workspace{grid-template-columns:minmax(0,1fr) 310px}.masthead{padding:0 22px}.edition{display:none}.divider{display:none}.rig{width:135px}.stage-title{left:24px}.live{font-size:9px;right:18px}.inspector-heading,.panel{padding-left:20px;padding-right:20px}}
@media(max-width:900px) and (orientation:portrait){.masthead{height:58px;padding:0 17px}.brand{font-size:21px}.edition,.divider,.header-actions a{display:none}.header-actions{gap:0}.text-button{font-size:11px}.workspace{grid-template-columns:1fr;grid-template-rows:minmax(0,46%) minmax(0,54%)}.inspector{border-left:0;border-top:1px solid #48453f;border-radius:20px 20px 0 0;box-shadow:0 -6px 25px #34312c12}.inspector-heading{display:none}.tabs{padding:0 23px;gap:24px;min-height:49px}.tabs button{padding:2px 0 0}.panel{padding:16px 22px 20px}.panel-intro{display:none}.control{margin-bottom:12px}.inspector-footer{padding-top:8px;padding-bottom:max(8px,env(safe-area-inset-bottom));font-size:8px}.stage-title{top:16px;left:20px}.stage-title .eyebrow{font-size:8px;margin-bottom:6px}h1{font-size:33px}#finish-caption{font-size:10px;margin:6px 0}.live{top:19px;right:19px;font-size:8px}.stage-bottom{left:20px;right:16px;bottom:10px}.stage-note{font-size:9px}.stage-note span{padding:0 2px}.canvas-button{padding:0 12px;font-size:17px}.canvas-button span{display:none}.rig{left:auto;right:12px;bottom:65px;width:102px;padding:7px 8px 5px;border-radius:9px}.map-title{font-size:8px}.map-title span{display:none}.rig p{font-size:7px}.swatches{margin-top:13px}.swatches button{flex-direction:row;padding:10px;gap:10px}.swatches i{width:24px;height:24px;flex:none}.view-controls{margin:14px 0}.ambient-heading{margin-top:13px}.hint{font-size:10px}}
@media(max-width:900px) and (orientation:landscape){.masthead{height:48px;padding:0 18px}.brand{font-size:20px}.edition,.divider{display:none}.workspace{grid-template-columns:minmax(0,1fr) 270px}.inspector-heading{display:none}.tabs{padding:0 17px;gap:15px}.panel{padding:15px 18px}.panel-intro{display:none}.inspector-footer{padding:6px;font-size:8px}.stage-title{top:12px;left:18px}h1{font-size:30px}.stage-title .eyebrow{display:none}.live{display:none}.rig{width:100px;left:auto;right:12px;bottom:61px;padding:7px}.map-title{font-size:8px}.map-title span{display:none}.rig p{font-size:7px}.stage-bottom{left:18px;right:12px;bottom:9px}.stage-note{font-size:8px}.canvas-button span{display:none}.canvas-button{font-size:16px;padding:0 11px}}
@media(prefers-reduced-motion:no-preference){button,a{transition:background .15s,color .15s,border-color .15s}.panel{animation:panel-in .18s ease-out}@keyframes panel-in{from{opacity:.5;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}}
/* Reserve space for the mobile title and tools so they never cover the metal. */
@media(max-width:900px) and (orientation:portrait){canvas{position:absolute;top:48px;left:0;height:calc(100% - 86px)}.stage-title{top:14px;display:flex;align-items:baseline;gap:10px}.stage-title .eyebrow{display:none}h1{font-size:27px}#finish-caption{margin:0}.rig{width:84px;right:10px;bottom:64px;padding:6px}.map-title{font-size:7px}.rig p{font-size:6px}.live{top:22px}.stage-note{font-size:8px}}
@media(max-width:900px) and (orientation:landscape){.rig{left:10px;right:auto;width:86px;bottom:64px}}

.rotation-settings{margin-top:24px}.rotation-settings .light-presets{margin-bottom:10px}#rotation-period{font-size:10px;color:#bcb3a5;margin:0 0 18px}.speed-presets button[aria-pressed=true]{border-color:#ad8c57;color:#ecd1a6;background:#453e32}

/* The same renderer serves the customer gallery without exposing studio controls. */
.ring-picker select{border:1px solid var(--line,#d1c6b8);border-radius:5px;padding:0 10px;min-height:40px;max-width:160px;font:inherit;color:inherit;background:transparent}.embedded .masthead,.embedded .inspector,.embedded .stage-title,.embedded .live,.embedded .rig,.embedded .stage-bottom{display:none}.embedded .studio,.embedded .workspace,.embedded .presentation,.embedded .stage{width:100%;height:100%;min-height:0;max-height:none;display:block}.embedded{background:#eeebe4}.embedded .presentation{border:0}.embedded canvas{border-radius:0}.embedded #status{font-size:14px}
@media(max-width:600px){.header-actions{gap:8px}.ring-picker select{max-width:110px;font-size:12px}.masthead .edition{display:none}}

.embedded canvas{position:static;top:auto;left:auto;width:100%;height:100%}.ring-picker select{min-height:44px}.ring-picker{color:#292827}
