@import url('./theme.css?v=20261012-flat-copper');
*{box-sizing:border-box}html{overscroll-behavior:none}body{margin:0;background:#09090b;color:#f3eee8;font-family:var(--sans);font-size:14px}a{color:inherit;text-decoration:none}button,input{font:inherit}input[type=range]{accent-color:var(--ornament,#c9a063)}button{cursor:pointer}button,a,input{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,canvas:focus-visible{outline:2px solid var(--interaction,#c9a063);outline-offset:4px}[hidden]{display:none!important}.lab-header{height:70px;padding:0 30px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--rule,#45392d);gap:20px;background:#09090b}.lab-return{font-size:12px;padding:10px 15px;border:1px solid var(--edge,#786349);color:#f3eee8}.lab-wordmark{font:19px var(--serif);letter-spacing:3px}.lab-wordmark i{font-style:normal;color:#c4b3b8;margin:0 13px}.music-link{font-size:11px;color:#c4b3b8}.lab-tabs{height:68px;border-bottom:1px solid var(--rule,#45392d);display:flex;justify-content:center;gap:65px;background:#09090b}.lab-tabs a{height:100%;display:flex;align-items:center;gap:16px;position:relative;color:#c4b3b8;font-size:14px;letter-spacing:1px}.lab-tabs small{font:11px Georgia;color:#c4b3b8}.lab-tabs span{font-size:10px;letter-spacing:0}.lab-tabs a[aria-current=page]{color:#f3eee8}.lab-tabs a[aria-current=page]:after{content:'';position:absolute;height:2px;background:var(--gold,#c9a063);bottom:-1px;left:26px;right:0}.lab-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;min-height:calc(100svh - 138px)}.lab-viewport{height:calc(100svh - 138px);min-height:580px;position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 52% 47%,#28191d,#151115 48%,#09090b 84%)}.lab-stage{position:absolute;inset:0;touch-action:none;overscroll-behavior:none}.lab-stage canvas{display:block;width:100%;height:100%;cursor:grab;touch-action:none}.lab-stage canvas:active{cursor:grabbing}.lab-title{position:absolute;top:26px;left:30px;pointer-events:none;z-index:2;max-width:250px}.lab-kicker{font:8px var(--sans);letter-spacing:1.7px;color:#c4b3b8}.lab-title h1{font:34px var(--serif);font-weight:400;letter-spacing:2px;margin:12px 0}.lab-title p{font-size:11px;line-height:1.9;color:#c4b3b8;max-width:220px;margin:0}.lab-camera{position:absolute;right:20px;top:24px;display:flex;gap:5px;z-index:3}.lab-camera button,.surface-toggle{padding:7px 9px;border:1px solid var(--edge,#786349);color:#c4b3b8;background:#151115de;font-size:10px}.lab-camera button:hover,.surface-toggle:hover{border-color:var(--interaction,#c9a063);color:#f3eee8}.lab-scene-note{position:absolute;left:30px;bottom:24px;font-size:10px;line-height:1.9;color:#c4b3b8;pointer-events:none}.lab-scene-note span{display:block;font-size:8px;letter-spacing:1px;color:#c4b3b8}.lab-loader{position:absolute;inset:0;display:grid;place-content:center;text-align:center;background:#09090b;z-index:8;color:var(--ornament,#c9a063);font-size:12px;line-height:2}.lab-loader b{font:36px Georgia;color:var(--ornament,#c9a063);font-weight:400}.lab-loader progress{width:160px;height:3px;margin-top:20px;accent-color:var(--ornament,#c9a063)}.lab-error{position:absolute;inset:0;padding:25%;display:grid;place-content:center;color:#c4b3b8;background:#09090b;z-index:8;line-height:2}.lab-side{border-left:1px solid var(--rule,#45392d);padding:27px 25px 24px;background:linear-gradient(150deg,#151115,#09090b);max-height:calc(100svh - 138px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--edge,#786349) transparent}.side-heading{font:22px var(--serif);font-weight:400;color:#f3eee8;margin:11px 0 20px}.lab-side p{font-size:12px;line-height:1.9;color:#c4b3b8}.lab-panel-label{font-size:8px;letter-spacing:1.6px;color:#c4b3b8}.lab-primary{width:100%;text-align:left;border:1px solid var(--brand-red,#b43a2e);background:var(--brand-red,#b43a2e);color:#f3eee8;padding:13px 14px;font-size:14px;font-weight:500}.lab-primary:disabled{opacity:.35;cursor:default}.lab-primary span{float:right}.lab-actions{display:flex;gap:6px;margin:9px 0 16px}.lab-actions button,.small-action{border:1px solid var(--edge,#786349);background:#151115;color:#c4b3b8;padding:10px;font-size:11px;flex:1}.lab-actions button:disabled,.small-action:disabled{opacity:.35;cursor:default}.lab-actions button[aria-pressed=true]{color:var(--interaction,#c9a063);border-color:var(--edge,#786349);background:#30201b}.drum-hit-buttons{display:flex;gap:6px;margin:14px 0 20px}.drum-hit-buttons button{flex:1;border:1px solid var(--edge,#786349);background:radial-gradient(ellipse at top,#28191d,#151115);color:#f3eee8;padding:13px 4px;font:15px var(--serif)}.drum-hit-buttons small{font:8px var(--sans);display:block;margin-top:6px;color:#c4b3b8}.rhythm-strip{min-height:51px;display:flex;align-items:center;gap:4px;padding:10px 0;border-top:1px solid var(--rule,#45392d);border-bottom:1px solid var(--rule,#45392d);overflow:hidden}.rhythm-strip .empty-rhythm{font-size:10px;color:#c4b3b8}.rhythm-dot{flex:1;min-width:3px;max-width:10px;height:12px;background:var(--gold,#c9a063);transition:background .1s}.rhythm-dot[data-edge=true]{background:#758993}.rhythm-dot.active{background:var(--interaction,#c9a063);box-shadow:0 0 14px var(--interaction,#c9a063)}.record-status{min-height:42px;margin:8px 0 20px!important;font-size:10px!important;color:#c4b3b8!important}.recording{background:var(--brand-red,#b43a2e);border-color:var(--edge,#786349);color:#f3eee8}.knowledge{margin-top:24px;padding-top:20px;border-top:1px solid var(--rule,#45392d)}.part-tabs{display:flex;gap:5px;margin:12px 0}.part-tabs button{border:1px solid var(--edge,#786349);background:transparent;color:#c4b3b8;flex:1;padding:8px 4px;font-size:11px}.part-tabs button[aria-pressed=true]{background:#30201b;border-color:var(--edge,#786349);color:#f3eee8}.knowledge h3{font:19px var(--serif);font-weight:400;color:#f3eee8;line-height:1.5;margin:14px 0 7px}.knowledge p{font-size:11px;margin:0}.lab-sources{margin-top:25px;border-top:1px solid var(--rule,#45392d);padding-top:17px;font-size:10px;color:#c4b3b8}.lab-sources summary{cursor:pointer}.lab-sources p{font-size:10px}.lab-sources a{color:var(--ornament,#c9a063);line-height:2}.lab-object-link{display:block;font-size:10px;color:var(--ornament,#c9a063);margin-top:22px}.model-label{position:absolute;pointer-events:none;padding:7px 10px;border:1px solid var(--edge,#786349);background:#151115e8;color:#f3eee8;font-size:11px;z-index:3;transform:translate(-50%,-50%);white-space:nowrap}.model-label:after{content:'';position:absolute;width:1px;height:19px;top:100%;left:50%;background:var(--edge,#786349)}.lift-handle{pointer-events:auto;touch-action:none;cursor:ns-resize;color:#f3eee8;background:#30201bec;border-color:var(--edge,#786349);padding:10px 15px;font-size:12px}.lift-handle:after{height:25px}.lab-surface-control{position:absolute;bottom:25px;right:22px;z-index:3}.lab-steps{display:flex;gap:5px;margin:20px 0}.lab-step{flex:1;height:3px;background:var(--rule,#45392d)}.lab-step.done{background:var(--gold,#c9a063)}.lab-step.current{background:var(--interaction,#c9a063);box-shadow:0 0 14px color-mix(in srgb, var(--interaction,#c9a063) 20%, transparent)}.task-number{font:42px Georgia;color:var(--ornament,#c9a063);line-height:1}.vessel-task h2{font:26px var(--serif);font-weight:400;margin:10px 0 9px;color:#f3eee8;line-height:1.5}.vessel-task>p{font-size:12px;min-height:46px;margin:0 0 20px}.lift-slider{margin:22px 0}.lift-slider label{display:flex;justify-content:space-between;font-size:11px;color:#c4b3b8;margin-bottom:13px}.lift-slider input{width:100%;accent-color:var(--ornament,#c9a063);cursor:ns-resize}.ice-counter{display:flex;align-items:center;gap:7px;font-size:10px;color:#8da8a5;margin:10px 0 20px}.ice-counter i{width:18px;height:18px;background:#173233;border:1px solid #476968;transform:rotate(-8deg)}.ice-counter i.filled{background:#a4d2cd80;border-color:#c7e5da;box-shadow:inset 0 0 6px #e2ffff75}.wine-meter{height:4px;background:var(--rule,#45392d);overflow:hidden;margin:10px 0 18px}.wine-meter i{display:block;height:100%;width:0;background:#d0ad6a;transition:width .1s}.cool-meter{padding:12px 0}.cool-meter .labels{display:flex;justify-content:space-between;font-size:10px;color:#c4b3b8}.cool-meter .track{height:6px;background:linear-gradient(90deg,#957251,#76666c,#74a9a0);margin-top:10px;position:relative}.cool-meter .marker{position:absolute;left:0;top:-3px;height:12px;width:3px;background:#f3eee8;box-shadow:0 0 8px #d8b7b4}.vessel-feedback{min-height:40px;margin:10px 0!important;font-size:11px!important;color:var(--ornament,#c9a063)!important}.cutaway-toggle{width:100%;margin-top:8px}.done-label{color:var(--ornament,#c9a063);font-size:11px;margin:10px 0}.lab-loading{text-align:center;padding:100px;font-size:13px;color:#c4b3b8}.touch-hint{font-size:9px!important;color:#c4b3b8!important}.lab-footer-note{font-size:9px!important;color:#c4b3b8!important}.pour-stream-label{color:#d4bb87;border-color:#796d43}
@media(min-width:1500px){.lab-layout{grid-template-columns:minmax(0,1fr) 380px}.lab-side{padding:35px}.lab-title{top:35px;left:40px}.lab-title h1{font-size:42px}.lab-title p{font-size:13px;max-width:260px}}
@media(max-width:1050px){.lab-layout{grid-template-columns:minmax(0,1fr) 310px}.lab-side{padding:22px 20px}.lab-title{left:22px;top:23px;max-width:210px}.lab-title h1{font-size:28px}.lab-title p{max-width:200px;font-size:10px}.lab-camera{top:20px;right:16px;max-width:115px;flex-wrap:wrap;justify-content:flex-end}.lab-camera button{font-size:9px;padding:6px 7px}.lab-viewport{min-height:610px}.lab-scene-note{left:20px;font-size:9px;max-width:190px}.lab-surface-control{right:15px}}
@media(max-width:760px){.lab-header{height:62px;padding:0 14px;gap:8px}.lab-return{font-size:10px;padding:9px}.lab-wordmark{font-size:14px;letter-spacing:1px}.lab-wordmark i{margin:0 4px}.music-link{font-size:9px}.lab-tabs{height:64px;gap:32px;padding:0 15px}.lab-tabs a{font-size:12px;gap:10px}.lab-tabs span{display:none}.lab-tabs small{font-size:9px}.lab-layout{display:flex;flex-direction:column}.lab-viewport{height:64svh;min-height:450px;max-height:660px}.lab-title{top:19px;left:18px}.lab-title h1{font-size:25px;margin:9px 0}.lab-title p{display:none}.lab-kicker{font-size:7px;letter-spacing:1px}.lab-camera{top:17px;right:14px}.lab-side{max-height:none;border-left:0;border-top:1px solid var(--rule,#45392d);padding:25px 22px}.lab-side p{font-size:12px}.lab-sources{margin-top:20px}.lab-scene-note{font-size:9px;bottom:16px;left:17px;max-width:170px}.lab-scene-note span{font-size:7px}.lab-surface-control{bottom:18px}.surface-toggle{font-size:9px;padding:7px}.lab-panel-label{font-size:9px}.model-label{font-size:10px;padding:7px 9px}.lift-handle{font-size:11px}.drum-hit-buttons button{font-size:17px}.knowledge p{font-size:12px}.lab-object-link{margin-bottom:8px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Keep the introductory text above the object instead of over its silhouette. */
.lab-stage{inset:118px 0 45px}.lab-title{max-width:430px}.lab-title h1{white-space:nowrap;font-size:30px}.lab-title p{max-width:420px;white-space:nowrap;font-size:10px}.lab-viewport .model-label{max-width:calc(100% - 30px)}
@media(max-width:760px){.lab-stage{inset:80px 0 38px}.lab-title h1{font-size:25px}.lab-title{max-width:70%}}

.lab-title p{white-space:normal;max-width:min(430px,calc(100vw - 620px));font-size:10px;line-height:1.75}.lab-title h1{line-height:1.25}
@media(max-width:1050px) and (min-width:761px){.lab-title p{max-width:360px}}

/* Keep the object in sight while the phone controls scroll independently. */
@media(max-width:760px){.lab-layout{height:calc(100svh - 126px);min-height:0;display:grid;grid-template-columns:1fr;grid-template-rows:54% 46%}.lab-viewport{position:relative;height:100%;min-height:0;max-height:none}.lab-side{min-height:0;max-height:100%;overflow-y:auto;padding-top:20px}.lab-side .lab-steps{margin:10px 0}.vessel-task>p{min-height:0;margin-bottom:14px}.task-number{font-size:29px}.vessel-task h2{font-size:23px;margin:6px 0}.lab-title h1{font-size:23px}}

/* Use a bright interaction cue without changing the artifact material. */
.lab-sources a:hover,.lab-object-link:hover{color:var(--interaction,#c9a063)}
.lab-primary:hover{border-color:var(--interaction,#c9a063);box-shadow:inset 0 0 0 1px var(--interaction,#c9a063)}
.lab-actions button:hover,.small-action:hover,.part-tabs button:hover,.drum-hit-buttons button:hover{color:var(--interaction,#c9a063);border-color:var(--interaction,#c9a063)}
input[type=range]:is(:hover,:focus-visible){accent-color:var(--interaction,#c9a063)}
