:root{font-family:Arial,Helvetica,sans-serif;color:#292929;background:#fafaf9;font-synthesis:none;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:300px;overflow-x:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,#stage:focus-visible{outline:2px solid #6866ce;outline-offset:5px}button:disabled{cursor:default}a{color:inherit}.masthead{height:94px;position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;padding:0 44px}.wordmark{font-size:24px;font-weight:650;text-decoration:none;letter-spacing:-1.2px;display:flex;align-items:center;gap:9px}.wordmark-dot{margin-left:-10px;color:#aaa}.mark{font-size:22px;font-weight:400;line-height:1;color:#30302e}.edition{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;letter-spacing:1.4px;color:#979792;position:absolute;left:50%;transform:translateX(-50%);white-space:nowrap}.edition span{margin:0 8px;color:#bbb}.info-toggle{border:1px solid #d9d9d6;background:transparent;border-radius:50%;font:13px Georgia,serif;width:26px;height:26px;color:#80807b}.info-toggle:hover{border-color:#666;color:#111}main{min-height:calc(100svh - 155px);display:flex;flex-direction:column;align-items:center}.object-stage{position:relative;flex:none;width:100%;height:clamp(330px,calc(100svh - 332px),730px);min-height:330px;outline:none;touch-action:none;cursor:grab;isolation:isolate}.object-stage.dragging{cursor:grabbing}.object-stage canvas{display:block;width:100%;height:100%}#render-target{position:absolute;inset:0;z-index:2}.floor-shadow{position:absolute;bottom:5%;left:50%;width:360px;height:34px;transform:translateX(-42%) rotate(-4deg);border-radius:50%;background:#565950;opacity:.1;filter:blur(19px);z-index:-1;transition:width 600ms,opacity 600ms}.object-ui{display:flex;align-items:center;flex-direction:column;position:relative;margin-top:7px;z-index:3}.disc-caption{display:flex;gap:11px;align-items:center;height:22px;line-height:1}.disc-index{font:9px ui-monospace,SFMono-Regular,Consolas,monospace;color:#a2a29e;letter-spacing:.5px}h1{font-size:12px;font-weight:500;line-height:1;margin:0;letter-spacing:.2px}.disc-detail{font:11px Georgia,serif;font-style:italic;color:#99998f;border-left:1px solid #deded8;padding-left:11px}.interaction-hint{font-size:10px;color:#92928c;letter-spacing:.25px;margin:17px 0 13px}.mobile-hint{display:none}.hint-dot{margin:0 7px;color:#b3b3ad}.control-dock{display:flex;align-items:center;gap:6px;background:rgba(255,255,255,.85);border:1px solid #e9e9e5;box-shadow:0 3px 6px #1c1b1610,0 16px 30px #30292005,inset 0 1px 0 #fff;border-radius:22px;padding:10px 12px;backdrop-filter:blur(20px)}.disc-options{display:flex;gap:11px;align-items:center}.disc-option{position:relative;border:0;background:none;padding:3px;width:43px;height:43px;border-radius:50%;transition:transform .25s}.disc-option img{display:block;width:37px;height:37px;object-fit:contain;border-radius:50%;filter:saturate(.45);opacity:.65;transition:opacity .25s,filter .25s,transform .3s;box-shadow:0 2px 4px #24221e16}.disc-option:hover img,.disc-option.selected img{filter:saturate(1);opacity:1}.disc-option:hover{transform:translateY(-3px)}.disc-option.selected:after{content:"";position:absolute;bottom:-7px;left:calc(50% - 2px);width:4px;height:4px;border-radius:50%;background:#3f403b}.dock-divider{height:27px;width:1px;background:#ecece7;margin:0 5px 0 9px}.action-button{position:relative;width:42px;height:42px;border:0;background:transparent;border-radius:50%;color:#41423d;display:grid;place-items:center;transition:color .2s,background .2s,transform .2s}.action-button svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.action-button:hover{background:#f0f0ec;transform:translateY(-1px)}.action-button[aria-pressed=true]{background:#292a26;color:#fff}.tooltip{pointer-events:none;position:absolute;bottom:calc(100% + 20px);left:50%;transform:translate(-50%,5px);white-space:nowrap;background:#30312b;color:#fff;border-radius:7px;padding:7px 9px;font-size:10px;opacity:0;transition:opacity .15s,transform .15s;box-shadow:0 4px 15px #0001}.tooltip kbd{margin-left:6px;color:#babab2;font:9px Arial,sans-serif}.disc-option:hover .tooltip,.action-button:hover .tooltip,.action-button:focus-visible .tooltip{opacity:1;transform:translate(-50%,0)}.keyboard-hint{font:10px Georgia,serif;color:#afafa6;margin:18px 0 0;font-style:italic}footer{display:flex;justify-content:space-between;align-items:center;padding:24px 44px;height:61px;font:8px ui-monospace,SFMono-Regular,Consolas,monospace;color:#a6a69d;letter-spacing:1px}footer button{background:none;border:0;color:#92928a;font:10px Arial,sans-serif;letter-spacing:0;padding:8px 0}footer button span{margin-left:5px;font-size:13px}footer button:hover{color:#333}.loading{position:absolute;inset:0;z-index:4;display:flex;align-items:center;justify-content:center;gap:10px;background:#fafaf9;color:#a6a69d;font-size:11px;transition:opacity .3s}.loading span{width:13px;height:13px;border:1px solid #d4d4cc;border-top-color:#6e6e67;border-radius:50%;animation:load 1s linear infinite}@keyframes load{to{transform:rotate(360deg)}}.loading.ready{opacity:0;pointer-events:none}#info-panel{position:fixed;z-index:20;top:80px;right:30px;width:min(350px,calc(100vw - 32px));padding:32px;background:rgba(255,255,255,.97);border:1px solid #ecece5;box-shadow:0 15px 80px #26231818;border-radius:20px;backdrop-filter:blur(25px)}#info-close{position:absolute;right:20px;top:14px;background:none;border:0;color:#8d8d84;font-size:22px}.eyebrow{font:8px ui-monospace,monospace;color:#93938b;letter-spacing:1.3px}h2{font:27px Georgia,serif;letter-spacing:-.7px;line-height:1.18;margin:20px 0}#info-panel p{font-size:12px;line-height:1.7;color:#818178}#info-panel a{font-size:10px;text-decoration-color:#b9b9ad;text-underline-offset:4px;color:#7c7c70}.shortcuts{display:grid;grid-template-columns:1fr auto;gap:11px;font-size:10px;border-top:1px solid #eeeee7;margin-top:23px;padding:22px 0;color:#77776e}.shortcuts kbd{font:10px ui-monospace,monospace}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.fallback-scene{display:none;position:absolute;inset:0;perspective:1300px;z-index:1;align-items:center;justify-content:center}.fallback-scene.visible{display:flex}.fallback-object{width:var(--case-size,420px);height:var(--case-size,420px);position:relative;transform-style:preserve-3d;will-change:transform}.fallback-base,.fallback-lid{position:absolute;inset:0;transform-style:preserve-3d;backface-visibility:visible}.fallback-base{border-radius:15px;background:linear-gradient(135deg,#f8fafb2a,#fff1 48%,#c0c4c535);box-shadow:3px 6px 0 -2px #9c9e9f8c,5px 9px 0 -4px #fff,6px 10px 0 -4px #969b9e88,12px 26px 29px #51504e15}.fallback-base svg,.fallback-lid svg{height:100%;width:100%;display:block;overflow:visible}.fallback-lid{transform-origin:1.7% 50%;transform:translateZ(10px);will-change:transform}.fallback-lid:after{content:"";position:absolute;inset:3px;border-radius:13px;background:linear-gradient(115deg,transparent 12%,#fff8 12.3%,#fff0 13.1%,transparent 67%,#fff7 67.3%,#fff0 68.8%);pointer-events:none;opacity:.45}.fallback-disc{transform-origin:220px 215px}.fallback-gloss{mix-blend-mode:screen;opacity:.35}.fallback-warning{font-size:9px;color:#c1c1b7}
@media(min-width:1600px){.object-stage{height:calc(100svh - 360px);max-height:850px}.masthead{height:110px}.object-ui{margin-top:12px}}@media(max-width:600px){.masthead{height:72px;padding:0 24px}.wordmark{font-size:21px}.edition{font-size:8px;letter-spacing:.8px;left:auto;right:66px;transform:none}.edition span{margin:0 4px}.info-toggle{width:24px;height:24px}.object-stage{height:clamp(320px,calc(100svh - 319px),670px);min-height:320px}.control-dock{padding:9px 10px;gap:3px;border-radius:21px}.disc-options{gap:5px}.disc-option{width:41px;height:41px}.action-button{width:38px;height:38px}.dock-divider{margin:0 4px 0 7px}.disc-caption{gap:9px}.disc-detail{font-size:10px;padding-left:9px}.interaction-hint{margin-top:15px}.keyboard-hint{margin-top:17px}footer{padding:20px 24px;font-size:7px;letter-spacing:.5px;height:58px}.desktop-hint{display:none}.mobile-hint{display:inline}main{min-height:calc(100svh - 130px)}.floor-shadow{width:250px;bottom:6%;filter:blur(15px)}.tooltip{display:none}#info-panel{right:16px;top:66px}}@media(max-width:360px){.edition{display:none}.disc-detail{display:none}.control-dock{padding:8px;gap:2px}.disc-options{gap:2px}.action-button{width:35px;height:35px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;transition-duration:.001ms!important}.loading span{animation:none}}

.object-stage:focus-visible{outline:1px dashed #aeaea2;outline-offset:-18px}
/* The record shelf grows; the familiar case controls keep their place. */
.control-dock{max-width:calc(100vw - 32px);width:max-content}.disc-options{position:relative;min-width:0;max-width:440px;overflow-x:auto;overflow-y:hidden;padding:4px 2px 10px;margin-bottom:-6px;scrollbar-width:none;overscroll-behavior-x:contain;scroll-snap-type:x proximity}.disc-options::-webkit-scrollbar{display:none}.disc-option{flex:0 0 43px;scroll-snap-align:center}.disc-option .tooltip{display:none}.disc-option.selected:after{bottom:-5px}.dock-divider,.action-button{flex-shrink:0}.disc-caption{max-width:calc(100vw - 30px);height:auto;min-height:22px;flex-wrap:wrap;justify-content:center;row-gap:6px}.disc-detail.album-artist{font-family:Arial,Helvetica,sans-serif;font-style:normal;font-size:10px;letter-spacing:.1px}.keyboard-hint a{color:#a0a094;text-decoration:none;font-family:Arial,Helvetica,sans-serif;font-style:normal;font-size:9px;letter-spacing:.15px}.keyboard-hint a:hover{text-decoration:underline;text-underline-offset:3px;color:#626257}
@media(max-width:600px){.control-dock{width:min(460px,calc(100vw - 32px))}.disc-options{flex:1;max-width:none;padding-right:7px}.disc-option{flex-basis:41px}.disc-options:after{content:"";flex:0 0 2px}.disc-options{mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 7px),transparent 100%)}.disc-caption .disc-detail.album-artist{display:inline}}
@media(max-width:360px){.disc-caption{column-gap:7px}.disc-caption h1{font-size:11px}.disc-caption .disc-detail.album-artist{font-size:9px;padding-left:7px}.disc-options{min-width:122px}}
.shelf-navigation{display:flex;align-items:center;justify-content:center;gap:12px;margin:-5px 0 7px;height:18px;color:#b0b0a5}.shelf-navigation span{font:8px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.2px}.shelf-navigation span span{margin:0 3px;color:#cecec5}.shelf-navigation button{padding:0;border:0;background:transparent;color:#8d8d81;line-height:18px;min-width:26px;font-size:15px}.shelf-navigation button:hover:not(:disabled){color:#333}.shelf-navigation button:disabled{opacity:.25}.shelf-navigation.no-overflow{visibility:hidden}.object-ui{margin-top:1px}.interaction-hint{margin-top:12px}.disc-options{max-width:494px}
/* Keep quiet copy readable and the study connected to its collection. */
.edition,.disc-index,.disc-detail,.interaction-hint,.keyboard-hint,.keyboard-hint a,footer,footer button,.eyebrow,.shelf-navigation,.shelf-navigation button,#info-panel p,#info-panel a{color:#68685f}
.masthead,.object-ui,footer,#info-panel{text-transform:lowercase}
footer{gap:16px;height:auto;min-height:61px;flex-wrap:wrap}footer nav{display:flex;gap:18px}footer nav a{text-decoration:none;font:11px Arial,sans-serif;letter-spacing:0;padding:8px 0}footer nav a:hover{text-decoration:underline}
#info-panel{max-height:calc(100dvh - 100px);overflow-y:auto;overscroll-behavior:contain}.disc-options:focus-within{scroll-snap-type:none}.disc-option:focus-visible{outline-offset:-1px}
.script-message{padding:20px;text-align:center;font-size:13px}body:has(.script-message) .loading{display:none}
@media(max-width:600px){#info-panel{max-height:calc(100dvh - 82px)}footer{justify-content:center;padding:16px 24px}footer>span{display:none}.edition{letter-spacing:.3px}}
@media(max-width:600px){.disc-options{max-width:none}.shelf-navigation{margin-bottom:6px}.disc-caption{padding:0 6px}.disc-caption h1{max-width:calc(100vw - 110px)}.disc-caption .album-artist{white-space:nowrap}.object-stage{height:clamp(305px,calc(100svh - 337px),650px);min-height:305px}}
