@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:500;src:url(/build/assets/fraunces-latin-500-normal-DnGCNyPD.woff2)format("woff2"),url(/build/assets/fraunces-latin-500-normal-BTR4KCeb.woff)format("woff")}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/fraunces-latin-600-normal-BFCDtZfi.woff2)format("woff2"),url(/build/assets/fraunces-latin-600-normal-DL5QCzvS.woff)format("woff")}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:500;src:url(/build/assets/fraunces-latin-ext-500-normal-Z5DV8IzT.woff2)format("woff2"),url(/build/assets/fraunces-latin-ext-500-normal-BMcFk1Xs.woff)format("woff")}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/fraunces-latin-ext-600-normal-BtzmzP0X.woff2)format("woff2"),url(/build/assets/fraunces-latin-ext-600-normal-B0Dy4lqi.woff)format("woff")}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/outfit-latin-400-normal-BGsTXAXT.woff2)format("woff2"),url(/build/assets/outfit-latin-400-normal-DMwTpYkH.woff)format("woff")}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:500;src:url(/build/assets/outfit-latin-500-normal-DKnIMDSk.woff2)format("woff2"),url(/build/assets/outfit-latin-500-normal-ClnHRwRh.woff)format("woff")}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/outfit-latin-600-normal-B7SfZ07L.woff2)format("woff2"),url(/build/assets/outfit-latin-600-normal-BEfTtDA7.woff)format("woff")}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/outfit-latin-ext-400-normal-5tcqmc2S.woff2)format("woff2"),url(/build/assets/outfit-latin-ext-400-normal-DHm7mdGe.woff)format("woff")}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:500;src:url(/build/assets/outfit-latin-ext-500-normal-zeox_O30.woff2)format("woff2"),url(/build/assets/outfit-latin-ext-500-normal-DrCvqoFD.woff)format("woff")}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/outfit-latin-ext-600-normal-B85nYjL1.woff2)format("woff2"),url(/build/assets/outfit-latin-ext-600-normal-CWJcPgd7.woff)format("woff")}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0e0d0b;--bg-elevated:#171410;--ink:#f4efe6;--muted:#a89b8c;--brass:#d4a574;--brass-deep:#8c6239;--line:#f4efe624;--danger:#e08a7a;--danger-bg:#e08a7a1f;--wood:#241910;--shadow:0 24px 50px #00000061;--serif:"Fraunces", "Iowan Old Style", Palatino, Georgia, serif;--sans:"Outfit", "Avenir Next", "Segoe UI", sans-serif;font-family:var(--sans);background:var(--bg);color:var(--ink);font-size:16px;line-height:1.45}*{box-sizing:border-box}body{background:radial-gradient(ellipse at 50% -10%, #d4a57414, transparent 46%), var(--bg);min-height:100vh;margin:0}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}img{max-width:100%}::selection{background:#d4a57459}:focus-visible{outline:2px solid var(--brass);outline-offset:3px}.skip-link{background:var(--brass);color:#1a120c;z-index:20;border-radius:999px;padding:8px 12px;position:absolute;top:-40px;left:12px}.skip-link:focus{top:12px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app{min-height:100vh}.always-visible-home{place-items:center;min-height:100dvh;padding:32px 20px;display:grid}.always-visible-card{text-align:center;justify-items:center;gap:16px;max-width:26rem;display:grid}.always-visible-card p{color:var(--muted);margin:0}.topbar{z-index:5;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0e0d0be6;align-items:center;gap:12px;padding:14px 20px;display:flex;position:sticky;top:0}.brand{min-width:96px;color:inherit;align-items:center;gap:10px;text-decoration:none;display:flex}.brand-mark{flex:none;width:36px;height:36px;display:block}.brand-name{font-family:var(--serif);letter-spacing:.01em;font-size:1.35rem}.topbar nav{gap:6px;display:flex}.nav-btn,.side-tab,.record-actions button,.row-actions button{min-height:40px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:999px;padding:0 14px}.nav-btn[aria-current=page],.side-tab.is-selected{color:var(--ink);border-color:var(--line);background:#f4efe60f}.nav-create{align-items:center;gap:2px;margin-left:auto;display:flex}.float-nav{z-index:8;pointer-events:none;background:linear-gradient(#080706d1,#0000);align-items:center;gap:8px;padding:14px 18px 36px;display:flex;position:fixed;top:0;left:0;right:0}.float-nav>*{pointer-events:auto}.float-nav nav{gap:2px;display:flex}.nav-link,.text-button{color:#f4efe69e;background:0 0;border:0;border-radius:999px;min-height:40px;padding:0 8px}.nav-link[aria-current=page],.text-button.is-on{color:var(--ink)}.text-button.is-on{color:var(--brass)}.text-button svg{vertical-align:-2px;width:16px;height:16px}.app.is-immersive{height:100dvh;overflow:hidden}.stage-main{min-height:100vh}.app.is-immersive .stage-main{height:100%;min-height:0;overflow:hidden}.stage-main>.loading,.stage-main>.alert{width:min(640px,100% - 32px);margin:18vh auto 0}.button{background:var(--brass);color:#1c130d;border:0;border-radius:999px;min-height:44px;padding:0 16px;font-weight:600}a.button{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.button.ghost{color:var(--ink);border:1px solid var(--line);background:0 0}.button.danger{color:var(--danger);background:0 0;border:1px solid #e08a7a73}.icon-button{border:1px solid var(--line);width:44px;height:44px;color:var(--muted);background:0 0;border-radius:50%;place-items:center;display:grid}.icon-button.is-on{color:var(--brass);border-color:#d4a57480}.page{width:min(1180px,100% - 32px);margin:24px auto 64px}.loading{color:var(--muted)}.alert,.notice,.flip-prompt{border-radius:14px;padding:12px 14px}.alert{background:var(--danger-bg);color:#f3d2cb;border:1px solid #e08a7a59}.notice{color:var(--muted)}.flip-prompt{background:#d4a57414;border:1px solid #d4a57447;flex-wrap:wrap;align-items:center;gap:8px;display:flex}.flip-prompt p{margin:0 8px 0 0}.toast{box-shadow:var(--shadow);z-index:30;background:#241c16;border:1px solid #d4a57473;border-radius:999px;margin:0;padding:12px 16px;position:fixed;bottom:18px;left:50%;transform:translate(-50%)}.stage,.empty-hero{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);align-items:center;gap:28px;display:grid}.deck{min-height:420px;box-shadow:inset 0 1px 0 #ffffff14, var(--shadow);background:repeating-linear-gradient(90deg,#ffffff04 0 1px,#0000 1px 7px),linear-gradient(#3a2b22 0%,#241910 42%,#1a120e 100%);border-bottom:12px solid #140e0b;border-radius:28px;grid-template-columns:.72fr 1.15fr;align-items:center;gap:8px;padding:36px 22px 28px;display:grid;position:relative;overflow:hidden}.deck.is-empty{grid-template-columns:1fr;min-height:380px}.screw{background:radial-gradient(circle at 35% 35%,#b7aea2,#3a342c 62%);border-radius:50%;width:10px;height:10px;position:absolute}.screw-a{top:14px;left:14px}.screw-b{top:14px;right:14px}.screw-c{bottom:14px;left:14px}.screw-d{bottom:14px;right:14px}.lamp{background:#3a3028;border-radius:50%;width:8px;height:8px;margin-left:-4px;position:absolute;top:18px;left:50%;box-shadow:inset 0 0 0 1px #0006}.lamp.is-on{background:#f0c27a;box-shadow:0 0 10px #f0c27acc}.sleeve{filter:drop-shadow(14px 18px 12px #00000073);z-index:2;justify-self:end;width:min(100%,250px);transform:rotate(-7deg)}.platter-wrap{transition:transform .7s cubic-bezier(.22,.7,.2,1);position:relative}.deck.is-lift .platter-wrap{transform:translateY(-34px)scale(.97)}.deck.is-settle .platter-wrap{transform:translateY(0)scale(1)}.platter{aspect-ratio:1;width:min(100%,430px);margin-inline:auto;position:relative}.platter-ring{background:radial-gradient(circle at 50% 42%,#555 0 58%,#2a2a2a 68%,#111 72%,#0a0a0a 74%);border-radius:50%;position:absolute;inset:0;box-shadow:inset 0 0 0 10px #1c1c1c,inset 0 0 0 12px #ffffff0a,0 18px 30px #00000073}.vinyl-flip,.vinyl{border-radius:50%;position:absolute;inset:7%}.vinyl{background:radial-gradient(circle,#0000 0 31%,#ffffff0d 31.2% 31.6%,#0000 32%),repeating-radial-gradient(circle,#161616 0 1px,#0c0c0c 1px 2px,#1b1b1b 2px 3px),radial-gradient(circle at 32% 28%,#ffffff2e,#0000 38%),#101010;animation:1.8s linear infinite paused spin;box-shadow:inset 0 0 0 1px #ffffff14}.vinyl.is-playing{animation-play-state:running}.side-plate{text-align:center;letter-spacing:.16em;text-transform:uppercase;color:var(--brass);margin:8px 0 0;font-size:.72rem}.nav-icon{color:#f4efe6c7;border:0}.nav-icon[aria-current=page],.nav-icon.is-on{color:var(--ink)}.icon-button{width:42px;min-width:42px;height:42px;color:inherit;background:0 0;border:1px solid #f4efe647;border-radius:50%;place-items:center;padding:0;display:grid}.icon-button svg{width:18px;height:18px}.icon-button.is-on,.icon-button[aria-pressed=true]{color:var(--brass);border-color:var(--brass)}.float-nav .icon-button,.topbar .icon-button{background:0 0;border:0}@keyframes spin{to{transform:rotate(360deg)}}.cover{aspect-ratio:1;background:#1f3a34;place-items:center;width:100%;display:grid;position:relative;overflow:hidden}.cover img{object-fit:cover;width:100%;height:100%;display:block}.cover-initials{font-family:var(--serif);color:#f4efe6db;font-size:clamp(1.4rem,4vw,2.4rem)}.cover-scrim{text-align:left;background:linear-gradient(#0000,#000000c7);gap:2px;padding:28px 12px 12px;display:grid;position:absolute;bottom:0;left:0;right:0}.cover-scrim strong,.cover-scrim span{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.cover-scrim strong{font-family:var(--serif);font-size:1.05rem;font-weight:560}.sleeve .cover-initials{font-size:clamp(.95rem,2vw,1.7rem)}.sleeve .cover-scrim{padding:18px 8px 8px}.sleeve .cover-scrim strong{font-size:clamp(.72rem,1.5vw,1.2rem)}.sleeve .cover-scrim span{font-size:clamp(.62rem,1.1vw,.82rem)}.cover-scrim span{color:#f4efe6cc;font-size:.82rem}.now-panel,.empty-copy{align-content:start;gap:12px;display:grid}.kicker,.player-caption,.local-note,.artist-name{color:var(--muted);margin:0;font-size:.92rem}.now-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.now-heading h1,.empty-copy h1,.collection-head h1,.editor-fields h1{font-family:var(--serif);letter-spacing:-.03em;margin:0;font-size:clamp(2rem,4vw,3.4rem);font-weight:560;line-height:1.02}.track-name{margin:0;font-size:1.15rem}.description{color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.progress-block{gap:6px;display:grid}.progress{background:#f4efe61f;border-radius:999px;height:4px;overflow:hidden}.progress span{background:var(--brass);height:100%;display:block}.progress-times{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;font-size:.82rem;display:flex}.transport{align-items:center;gap:10px;display:flex}.transport-btn{border:1px solid var(--line);width:52px;height:52px;color:var(--ink);background:#171410;border-radius:50%;place-items:center;display:grid}.transport-btn svg{width:18px;height:18px}.transport-btn-main{background:var(--brass);color:#1c130d;border-color:#0000;border-radius:999px;gap:8px;width:auto;min-width:148px;padding:0 18px;font-weight:600;display:flex}.transport-btn-main[aria-pressed=true]{background:#f4efe6}.side-row,.side-actions,.filter-row,.cover-actions,.dialog-actions,.save-bar,.record-actions,.row-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.checkbox-row{color:var(--muted);align-items:center;gap:8px;min-height:44px;display:flex}.track-list,.editor-tracks{gap:6px;margin:0;padding:0;list-style:none;display:grid}.track-list{max-height:220px;overflow:auto}.track-row,.record-open{text-align:left;width:100%;color:inherit;background:0 0;border:0}.track-row{border-radius:12px;grid-template-columns:28px 1fr;align-items:center;gap:8px;min-height:44px;padding:0 10px;display:grid}.track-row.is-current{color:var(--brass);background:#d4a5741f}.edit-link{justify-self:start}.player-dock{gap:8px;display:grid}.player-frame{aspect-ratio:16/9;background:#000;border-radius:16px;width:100%;min-height:200px;position:relative;overflow:hidden}.player-frame iframe,.player-mount{border:0;width:100%;height:100%;position:absolute;inset:0}.collection-page,.editor-page{gap:22px;display:grid}.collection-head,.editor-grid,.toolbar,.add-track{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px;display:flex}.collection-head h1,.editor-fields h1{font-size:clamp(2.2rem,5vw,3.6rem)}.collection-head p{color:var(--muted);margin:6px 0 0}.toolbar,.add-track{align-items:end}.field{gap:6px;min-width:140px;display:grid}.field.grow{flex:1;min-width:min(100%,240px)}.field span,.side-block h3{color:var(--muted);font-size:.85rem}.field input,.field textarea,.field select{border:1px solid var(--line);background:#141210;border-radius:12px;width:100%;min-height:46px;padding:12px 14px}.field textarea{resize:vertical}.collection-scene{background:linear-gradient(#ffffff06,#0000 80px),#14110e;border:1px solid #ffffff0a;border-radius:24px;padding:22px 8px 8px}.collection-grid{border-bottom:16px solid #5a3e31;flex-wrap:wrap;align-items:flex-end;gap:22px 14px;padding:8px 16px 0;display:flex;box-shadow:0 12px #24160f}.record{width:148px;padding:0 0 14px}.record.is-current .cover{box-shadow:inset 0 0 0 2px var(--brass)}.record-open{border-radius:2px;padding:0;transition:transform .2s}.record:hover .record-open,.record:focus-within .record-open{transform:translateY(-8px)}.record-actions{padding-top:8px}.record-actions button{min-height:36px;padding:0 8px}.empty-shelf,.empty-copy{padding:28px 8px 36px}.empty-shelf{text-align:center}.empty-shelf h2,.fatal h1{font-family:var(--serif);margin:0 0 8px;font-size:2rem;font-weight:560}.empty-shelf p,.empty-copy p,.fatal p{color:var(--muted);margin:0 0 16px}.local-note{margin:0}.editor-grid{align-items:start}.editor-preview{gap:12px;width:min(100%,320px);display:grid}.editor-fields{flex:1;gap:14px;min-width:min(100%,280px);display:grid}.swatches{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.swatch{border:2px solid #0000;border-radius:50%;width:36px;height:36px;padding:0}.swatch[aria-pressed=true]{border-color:var(--ink)}.field .color-input{background:0 0;border:0;width:44px;height:36px;min-height:36px;padding:0}.file-button input{display:none}.side-block h3{letter-spacing:.08em;text-transform:uppercase;margin:16px 0 8px}.editor-tracks li{border-top:1px solid var(--line);gap:8px;padding:10px 0;display:grid}.editor-tracks strong,.editor-tracks small{display:block}.editor-tracks small{color:var(--muted);word-break:break-all}.row-actions button{border:1px solid var(--line);background:0 0;border-radius:999px;min-height:36px;padding:0 10px}.save-bar{padding-top:8px}.dialog{border:1px solid var(--line);width:min(440px,100% - 32px);color:var(--ink);background:#1b1714;border-radius:18px;padding:22px}.dialog h2{font-family:var(--serif);margin:0 0 8px;font-weight:560}.dialog p{color:var(--muted);margin:0 0 18px}.dialog::backdrop{background:#000000a8}.dialog-actions{justify-content:flex-end}.fatal{align-content:center;justify-items:start;gap:8px;min-height:100vh;padding:32px;display:grid}.room{background:radial-gradient(circle at 50% 46%, #ffffff09, transparent 34%), var(--room,#0c0b0a);place-items:center;height:100%;min-height:100%;padding:72px 0;display:grid;overflow:hidden}.disc-stage{grid-template-rows:minmax(0,1fr) auto;place-items:center;width:min(100%,100vw);height:100%;min-height:0;display:grid;position:relative}.disc-fit{place-items:center;width:100%;height:100%;min-height:0;display:grid;position:relative;container-type:size}.disc-fit>.seat-target,.disc-fit>.disc-anchor,.disc-fit>.disc-perspective,.disc-fit>.leaving-disc{aspect-ratio:1;width:min(100cqw,100cqh)}.room.is-table{background:var(--room,#0c0b0a)}.room.is-table .disc-stage{width:min(94vw,81.9672dvh - 12.2951rem,820px);height:auto}@media (width>=861px){.room.is-table{padding:76px 0 20px}.room.is-table .disc-stage{width:min(81.9672dvh - 10.6557rem,100vw - 2.5rem,860px);height:auto}.room.is-table .platter-caption{text-align:center;margin:12px auto 0;position:relative}}.room.is-table .disc-fit{aspect-ratio:1/1.22;background:linear-gradient(180deg, #fff3, transparent 24%), linear-gradient(165deg, color-mix(in srgb, var(--deck,#2a2c31) 82%, white) 0%, var(--deck,#2a2c31) 58%, color-mix(in srgb, var(--deck,#2a2c31) 68%, black) 100%);border-radius:3.2%;width:100%;height:auto;box-shadow:inset 0 1px #ffffff38,0 28px 46px #00000047}.room.is-table .disc-fit>.seat-target,.room.is-table .disc-fit>.disc-anchor,.room.is-table .disc-fit>.disc-perspective,.room.is-table .disc-fit>.leaving-disc{width:min(74cqw,62cqh);position:absolute;top:42%;left:50%;translate:-50% -50%}.room.is-table .disc-anchor.is-loose{translate:-2% -50%;scale:.64}.table-platter{aspect-ratio:1;pointer-events:none;background:radial-gradient(circle,#3a3a3a 0 70%,#d7d4ce 71.2%,#8d8a84 73%,#1a1a1a 74.5%,#0a0a0a 80%);border-radius:50%;width:min(80cqw,68cqh);position:absolute;top:42%;left:50%;translate:-50% -50%;box-shadow:inset 0 0 0 10px #151515,inset 0 10px 16px #ffffff0d,0 16px 22px #00000061}.tonearm-mount{z-index:6;aspect-ratio:240/210;pointer-events:none;width:62%;position:absolute;top:4%;right:-2%}.tonearm-mount .tonearm-svg{width:100%;height:100%;display:block;overflow:visible}.tonearm{transform-origin:70% 21.9%;filter:drop-shadow(0 10px 6px #00000073);transition:transform .95s cubic-bezier(.22,.7,.2,1);position:absolute;inset:0;transform:rotate(45deg)}.tonearm.is-down{transform:rotate(14deg)}.table-vent{background:repeating-linear-gradient(#2a241c 0 2px,#12100e 2px 5px);border-radius:3px;height:6.5%;position:absolute;bottom:3.2%;left:7%;right:7%;box-shadow:inset 0 0 0 1px #ffffff0d}.table-vent:before{content:"";background:#c4493a;border-radius:50%;width:7px;height:7px;position:absolute;top:50%;left:8px;translate:0 -50%;box-shadow:0 0 6px #c4493acc}.color-panel{background:#0c0b0a6b;border:1px solid #f4efe61f;border-radius:14px;gap:6px;width:min(300px,100%);padding:8px 10px;display:grid}.color-line{grid-template-columns:48px 1fr;align-items:center;gap:6px;display:grid}.color-line>span{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.68rem}.table-colors{flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:6px;margin:0;display:flex}.deck-links .text-button{white-space:nowrap}.table-colors button{border:2px solid #0000;border-radius:50%;width:22px;height:22px;padding:0;box-shadow:inset 0 0 0 1px #00000059}.table-colors button.is-on{border-color:var(--ink)}.table-colors .is-album{background-image:radial-gradient(circle,#f4efe6 0 2px,#0000 3px)}.table-color-custom input{background:0 0;border:0;width:22px;height:22px;padding:0}.app.is-ink-dark{--ink:#1c140e;--muted:#1c140eb8}.app.is-ink-dark .float-nav{background:linear-gradient(#fff8f0c7,#0000)}.app.is-ink-dark .nav-link,.app.is-ink-dark .float-nav .icon-button,.app.is-ink-dark .brand-name{color:#1c140ec7}.app.is-ink-dark .nav-link[aria-current=page],.room.is-ink-dark,.room.is-ink-dark .platter-caption,.room.is-ink-dark .platter-caption .track-name,.room.is-ink-dark .deck-controls,.room.is-ink-dark .deck-controls .transport-btn,.room.is-ink-dark .deck-controls .icon-button,.room.is-ink-dark .text-button{color:#1c140e}.room.is-ink-dark .deck-controls .transport-btn,.room.is-ink-dark .deck-controls .icon-button{border-color:#1c140e59}.platter-mat{aspect-ratio:1;background:radial-gradient(circle at 50% 46%,#3a3a3a 0 61%,#1a1a1a 70%,#090909 76%);border-radius:50%;position:absolute;top:-3%;left:-8%;right:-8%;box-shadow:0 28px 50px #00000073,inset 0 0 0 1px #ffffff0d}@property --turns{syntax:"<number>";inherits:true;initial-value:0}.disc-perspective,.leaving-disc{aspect-ratio:1;z-index:1;perspective:1100px;width:100%;transform-style:preserve-3d;position:relative}.leaving-disc{z-index:3;animation:.9s forwards leave-left;position:absolute;top:0;left:0;right:0}.disc-rotor,.disc-face{transform-style:preserve-3d;position:absolute;inset:0}.disc-anchor{touch-action:none;transition:translate .45s cubic-bezier(.22,.7,.2,1),transform .45s cubic-bezier(.22,.7,.2,1),scale .45s cubic-bezier(.22,.7,.2,1);position:relative}.disc-anchor.is-loose{cursor:grab;z-index:5;translate:42%;scale:.7}.disc-anchor.is-dragging{cursor:grabbing;transition:none}.disc-anchor>.disc-perspective{width:100%;height:100%;translate:none}.disc-rotor{transform-style:preserve-3d;transition:transform 1.2s cubic-bezier(.45,.02,.2,1)}.disc-rotor.is-reset{transition:none}.disc-face,.disc-face .vinyl{backface-visibility:hidden}.disc-face.is-back{transform:rotateX(180deg)}.vinyl{background:radial-gradient(circle at 50% 50%, transparent 0 30.5%, var(--shine,#ffffff38) 31%, transparent 31.8%), repeating-radial-gradient(circle at 50% 50%, var(--groove,#101010) 0 1px, var(--mid,#1b1b1b) 1px 2px, #070707 2px 3.2px), radial-gradient(circle at 50% 50%, var(--mid,#1b1b1b), var(--groove,#0b0b0b) 72%);border-radius:50%;animation:none;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #ffffff6b,inset 0 0 0 7px #0000008c,inset 0 14px 22px #ffffff0d,inset 0 -20px 26px #00000073,0 18px 28px #00000061}.vinyl:before{content:"";background:conic-gradient(from 210deg, transparent 0 54%, var(--shine,#fff3) 68%, transparent 80%), radial-gradient(ellipse 48% 18% at 30% 20%, #ffffff47, transparent 68%);pointer-events:none;border-radius:50%;position:absolute;inset:0}.vinyl.is-playing{animation:1.8s linear infinite spin}.vinyl.is-ghost{opacity:.28;animation:none}.vinyl-sheen{mix-blend-mode:screen;pointer-events:none;z-index:2;background:linear-gradient(128deg,#0000 30%,#ffffff29 42%,#0000 50%),radial-gradient(at 24% 18%,#fff3,#0000 22%);border-radius:50%;position:absolute;inset:4%}.label{z-index:1;border-radius:50%;width:33%;height:33%;position:absolute;top:33.5%;left:33.5%;overflow:hidden;box-shadow:0 0 0 5px #141414,0 0 0 6px #ffffff2e}.label .cover{border-radius:50%;width:100%;height:100%}.label-side{text-align:center;letter-spacing:.14em;color:#f4efe6db;text-shadow:0 1px 2px #0009;font-size:.72rem;position:absolute;bottom:16%;left:0;right:0}.spindle{border:2px solid var(--brass);z-index:4;background:#111;border-radius:50%;width:12px;height:12px;margin:-6px 0 0 -6px;position:absolute;top:50%;left:50%}.platter-caption{z-index:2;text-align:center;pointer-events:none;width:min(100%,28rem);margin:8px auto 0;position:relative}.platter-caption .text-button,.platter-caption .table-colors,.platter-caption .table-colors *{pointer-events:auto}.platter-caption h1{font-family:var(--serif);letter-spacing:-.03em;margin:0;font-size:clamp(1.05rem,2.2vw,1.45rem);font-weight:500}.platter-caption p,.platter-caption .kicker{color:var(--muted);margin:2px 0}.platter-caption .track-name{color:var(--ink)}.is-settling .disc-perspective{animation:1.15s cubic-bezier(.22,.8,.2,1) settle-in}.deck-controls{z-index:6;flex-direction:column;align-items:center;gap:10px;width:max-content;max-width:calc(100vw - 300px);display:flex;position:fixed;bottom:20px;right:20px}.deck-controls .transport-btn,.deck-controls .transport-btn-main{color:#f4efe6e6;background:0 0;border:1px solid #f4efe647;border-radius:50%;place-items:center;width:42px;min-width:42px;height:42px;padding:0;font-weight:400;display:grid}.deck-controls .transport-btn svg,.deck-controls .transport-btn-main svg{width:18px;height:18px;display:block}.deck-controls .transport-btn-main[aria-pressed=true]{color:var(--ink);background:#f4efe624}.deck-links{justify-content:center;align-items:center;gap:12px;display:flex}.box-transport{z-index:7;background:#0807066b;border-radius:999px;align-items:center;gap:12px;padding:6px 10px;display:flex;position:absolute;bottom:11%;left:50%;translate:-50%}.box-transport .transport-btn,.box-transport .transport-btn-main{color:#f4efe6eb;background:0 0;border:1px solid #f4efe647;border-radius:50%;place-items:center;width:40px;min-width:40px;height:40px;padding:0;font-weight:400;display:grid}.box-transport .transport-btn svg,.box-transport .transport-btn-main svg{width:18px;height:18px;display:block}.box-transport .transport-btn-main[aria-pressed=true]{color:#f4efe6;background:#f4efe629}.room:not(.is-table) .box-transport{top:calc(100% + 10px);bottom:auto}.deck-controls .progress-block{width:196px}.deck-controls .alert,.deck-controls .notice,.deck-controls .flip-prompt{text-align:center;width:min(280px,100%);margin:0;font-size:.82rem}.quiet-menu{width:min(240px,80vw);color:var(--muted);text-align:left;font-size:.85rem}.quiet-menu .track-list{text-align:left;max-height:160px;margin:6px 0}.quiet-menu .text-button,.quiet-menu .checkbox-row{display:flex}.player-dock{z-index:8;align-items:stretch;width:min(300px,100vw - 36px);transition:transform .35s cubic-bezier(.22,.7,.2,1);display:flex;position:fixed;bottom:24px;left:0;transform:translate(calc(28px - 100%))}.player-dock.is-open{transform:translate(0)}.player-drawer{background:#0c0b0af0;border-radius:0 12px 12px 0;flex:1;gap:6px;min-width:0;padding:8px;display:grid;box-shadow:0 16px 30px #0006}.player-tab{color:#f4efe6;writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:.08em;text-transform:uppercase;background:#1c1916;border:0;border-radius:0 10px 10px 0;flex:none;width:28px;font-size:.68rem}.player-frame{min-height:0;box-shadow:none;border-radius:10px}.player-caption{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.68rem;overflow:hidden}.stage-main.is-leaving,.stage-main.is-returning{pointer-events:none}.stage-main.is-leaving{animation:.46s forwards room-to-library}.stage-main.is-returning{animation:.46s forwards library-to-room}@keyframes room-to-library{to{opacity:0;transform:translateY(7vh)scale(.94)}}@keyframes library-to-room{to{opacity:0;transform:translateY(-7vh)scale(.94)}}.library{animation:.72s cubic-bezier(.22,.8,.2,1) library-arrive}.room{animation:.68s cubic-bezier(.22,.8,.2,1) room-arrive}@keyframes library-arrive{0%{opacity:0;transform:translateY(52px)}to{opacity:1;transform:none}}@keyframes room-arrive{0%{opacity:0;transform:translateY(-40px)scale(.97)}to{opacity:1;transform:none}}.app.is-still .library,.app.is-still .room,.app.is-still .stage-main.is-leaving,.app.is-still .stage-main.is-returning{animation:none}.library{background:radial-gradient(at 50% 0,#d4a57429,#0000 36%),linear-gradient(#14110e 0%,#0c0b0a 48%);flex-direction:column;width:100%;min-width:0;max-width:100%;height:100%;min-height:100%;padding:88px 24px 32px;display:flex;overflow:hidden}.library-head,.library-tools{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px;width:min(980px,100%);margin:0 auto;display:flex}.library-head h1{font-family:var(--serif);margin:0;font-size:clamp(2.2rem,5vw,3.4rem);font-weight:500}.library-head p,.local-note,.assemble .hint{color:var(--muted);margin:4px 0 0}.assemble{gap:10px;width:min(980px,100%);margin:18px auto 0;display:grid}.assemble-row{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.assemble-row .button{min-height:42px}.library-tools{margin-top:18px}.library .field input,.library .field select{background:0 0;border:0;border-bottom:1px solid #f4efe62e;border-radius:0;min-height:42px}.cabinet{background:linear-gradient(90deg,#00000047,#0000 7% 93%,#00000052),linear-gradient(#5a4032 0%,#3d291f 38%,#2b1c15 100%);border-radius:8px 8px 4px 4px;width:min(980px,100%);margin:28px auto 0;padding:22px 18px 16px;position:relative;box-shadow:inset 0 1px #ffffff2e,0 28px 50px #0006}.cabinet-lamp{background:radial-gradient(#f0c27af2,#0000 72%);border-radius:999px;width:120px;height:10px;margin:0 auto 6px;display:block;box-shadow:0 30px 40px #f0c27a29}.shelf-row{margin-top:8px}.shelf-records{align-items:flex-end;gap:16px;min-height:132px;padding:96px 10px 0;display:flex}.shelf-board{background:linear-gradient(#c4926a,#7a5138 42%,#4a2e22);border-radius:2px;height:16px;margin-top:8px;box-shadow:0 12px #1a100c,0 16px 18px #00000059}.sleeve-slot{flex:none;position:relative}.sleeve-slot.is-pulled{z-index:4}.sleeve-pull{background:0 0;border:0;width:124px;padding:0;display:block;position:relative}.peek-disc{z-index:0;aspect-ratio:1;filter:drop-shadow(0 10px 8px #00000059);width:84%;transition:transform .55s cubic-bezier(.22,.7,.2,1);position:absolute;top:0;left:8%;transform:translateY(42%)}.sleeve-slot.is-pulled .peek-disc{transform:translateY(-58%)}.shelf-records .sleeve-slot:nth-child(n+3) .float-note{left:auto;right:0}.sleeve-jacket{z-index:1;position:relative;box-shadow:10px 14px 16px #00000052}.sleeve-pull[aria-current=true] .sleeve-jacket{box-shadow:inset 0 0 0 2px var(--brass), 10px 14px 16px #00000052}.float-note{z-index:5;text-align:left;background:#100e0cf0;border:1px solid #f4efe61f;border-radius:16px;gap:4px;width:min(220px,70vw);padding:12px 12px 8px;display:grid;position:absolute;bottom:calc(100% + 52px);left:0}.float-note strong{font-family:var(--serif);font-weight:520}.float-note span{color:var(--muted);font-size:.82rem}.float-actions{flex-wrap:wrap;gap:2px;display:flex}.shelf-object{background:linear-gradient(#e6d3b8,#8d7356);border-radius:0 0 24px 24px;width:46px;height:22px;margin-bottom:6px}.ceremony{z-index:20;background:#08070673;position:fixed;inset:0}.ceremony-rig{left:var(--x);top:var(--y);width:var(--w);height:var(--h);animation:1.45s cubic-bezier(.22,.8,.2,1) forwards ceremony-move;position:fixed}.ceremony-jacket{z-index:2;position:absolute;inset:0;box-shadow:0 20px 30px #0006}.ceremony-disc{z-index:1;aspect-ratio:1;width:82%;animation:1.45s cubic-bezier(.22,.8,.2,1) forwards disc-extract;position:absolute;left:9%}@keyframes settle-in{0%{transform:translateY(3%)scale(.94)}to{transform:none}}@keyframes leave-left{to{opacity:0;transform:translate(-72vw)rotate(-8deg)}}@keyframes ceremony-move{to{left:calc(50vw - (var(--w) * .54));top:calc(58vh - (var(--h) * .5));width:calc(var(--w) * 1.08);height:calc(var(--h) * 1.08)}}@keyframes disc-extract{0%,40%{transform:translateY(4%)}to{transform:translateY(-16%)}}.seat-target{pointer-events:none;border-radius:50%;position:absolute;top:50%;left:50%;translate:-50% -50%}.disc-fit>.leaving-disc{position:absolute;top:50%;left:50%;right:auto;translate:-50% -50%}.disc-perspective{touch-action:none}.label-photo{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.label-ink{z-index:1;text-align:center;color:#f6f1ea;background:radial-gradient(circle,#00000014 10%,#0000009e);flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:16% 12% 18%;font-size:clamp(7px,1vw,11px);line-height:1.15;display:flex;position:absolute;inset:0;overflow:hidden}.label-ink strong,.label-ink span,.label-ink li{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.label-ink strong{font-family:var(--serif);font-size:1.2em;font-weight:560}.label-ink ol{margin:2px 0 0;padding:0;list-style:none}.label-ink .label-side{letter-spacing:.14em;text-transform:uppercase;position:static}.disc-rim{z-index:3;pointer-events:none;position:absolute;inset:2%}.disc-rim text{fill:#f4efe6d1;letter-spacing:.16em;text-transform:uppercase;font-size:4.4px;font-family:var(--sans)}.album-wall{flex:1;align-content:start;width:100%;min-width:0;max-width:100%;min-height:0;margin:12px auto 0;display:grid;overflow:hidden}.carousel-shell{width:100%;min-width:0;max-width:100%;position:relative}.disc-carousel{overscroll-behavior-x:contain;touch-action:pan-x;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scrollbar-width:none;gap:18px;width:100%;min-width:0;max-width:100%;padding:8px max(16px,50% - min(74vw,680px)/2) 4px;scroll-padding-inline:max(16px,50% - min(74vw,680px)/2);display:flex;overflow-x:auto}.disc-carousel::-webkit-scrollbar{display:none}.album-slide{scroll-snap-align:center;flex:0 0 min(74vw,680px);min-width:0;position:relative}.album-slide .cover{aspect-ratio:2;border-radius:20px}.carousel-bar{justify-content:center;align-items:center;gap:14px;margin-top:16px;display:flex}.carousel-arrow{width:42px;height:42px;color:var(--ink);background:#0c0b0a8c;border:1px solid #f4efe638;border-radius:50%;font-size:1.6rem;line-height:1}.carousel-arrow:disabled{opacity:.28}.carousel-dots{justify-content:center;gap:8px;margin:0;display:flex}.carousel-dots button{background:#f4efe659;border:0;border-radius:99px;width:8px;height:8px;padding:0}.carousel-dots button.is-on{background:#f4efe6;width:18px}.album-card h2{font-family:var(--serif);margin:10px 0 0;font-size:1.05rem;font-weight:520}.album-card>p{color:var(--muted);margin:2px 0 0;font-size:.86rem}.album-frame{background:0 0;border:1px solid #9fa0a866;border-radius:20px;width:100%;padding:0;transition:transform .35s;display:block;position:relative;overflow:hidden}.album-slide:has([aria-current=true]) .album-frame{box-shadow:inset 0 0 0 2px var(--brass)}.slide-hit{z-index:1;touch-action:pan-x;background:0 0;border:0;padding:0;position:absolute;inset:0}.album-overlay{z-index:2;text-align:left;pointer-events:none;background:linear-gradient(115deg,#0000 16%,#0c0a080d 46%,#0c0a08d1);align-content:end;justify-items:start;gap:6px;padding:22px;display:grid;position:absolute;inset:0}.album-overlay strong{font-family:var(--serif);font-size:clamp(1.2rem,3vw,2.1rem);font-weight:560}.album-overlay span{color:#f4efe6d1}.slide-choose{pointer-events:auto;color:#f4efe6;text-transform:uppercase;letter-spacing:.06em;background:#e9e6eb29;border:1px solid #9fa0a873;border-radius:12px;min-height:42px;margin-top:6px;padding:0 16px;font-size:.78rem}.slide-choose:is(:hover,:focus-visible){color:#14110e;background:#f4efe6}.album-actions{color:var(--muted);justify-items:start;gap:2px;margin-top:8px;font-size:.82rem;display:grid}.side-peek{z-index:7;opacity:.42;cursor:pointer;filter:drop-shadow(10px 14px 16px #00000073);background:0 0;border:0;width:148px;padding:0;transition:opacity .25s,translate .25s;position:fixed;top:50%;left:0;translate:-34% -50%}.side-peek:is(:hover,:focus-visible){opacity:.82;translate:-12% -50%}.side-peek .cover{border-radius:4px}.shelf-overlay{z-index:12;background:#080706db;place-items:center;animation:.4s shelf-in;display:grid;position:fixed;inset:0;overflow:visible}.shelf-overlay:focus{outline:none}.shelf-panel{touch-action:pan-x;justify-items:center;width:min(100%,1100px);min-width:0;display:grid;overflow:visible}.orbit-stage{width:min(100%,980px);height:min(62vh,520px);position:relative;overflow:visible}.orbit-pivot{position:absolute;inset:0;overflow:visible}.orbit-card{aspect-ratio:1;width:min(42vw,300px);z-index:var(--z);transform:translate(-50%, -50%) translate(var(--x), var(--y)) rotate(var(--rot)) scale(var(--scale));transition:transform .75s cubic-bezier(.22,.7,.2,1);position:absolute;top:40%;left:50%}.orbit-card:not(.is-active){filter:brightness(.72)}.orbit-card.is-active{z-index:6}.orbit-card.is-far{visibility:hidden;pointer-events:none}.shelf-sleeve{height:100%;position:relative}.shelf-disc{aspect-ratio:1;z-index:0;pointer-events:none;background:0 0;border:0;width:84%;padding:0;transition:translate .7s cubic-bezier(.22,.7,.2,1);position:absolute;top:8%;left:8%;translate:0 6%}.orbit-card.is-pulled .shelf-disc{pointer-events:auto;cursor:pointer;translate:0 58%}.shelf-disc .vinyl{position:absolute;inset:0}.shelf-hit{z-index:1;width:100%;height:100%;color:inherit;cursor:pointer;background:0 0;border:0;padding:0;display:block;position:relative}.shelf-hit .cover{aspect-ratio:auto;border-radius:6px;width:100%;height:100%;box-shadow:10px 18px 24px #0000006b}.shelf-meta{text-align:center;justify-items:center;gap:2px;min-height:4.6rem;margin-top:8px;display:grid}.shelf-meta strong{font-family:var(--serif);font-size:1.35rem;font-weight:560}.shelf-meta span{color:var(--muted)}.shelf-meta.is-open{margin-top:7.5rem}@keyframes shelf-in{0%{opacity:0}to{opacity:1}}@media (width<=860px){.topbar{flex-wrap:wrap}.room{align-content:start;justify-items:center;padding:88px 0 28px;overflow:auto}.room:not(.is-table) .disc-stage{width:min(86vw,520px);height:auto}.room:not(.is-table) .disc-fit{aspect-ratio:1;width:100%;height:auto}.room.is-table .disc-stage{width:min(94vw,81.9672dvh - 13.1148rem);margin:8px auto 0}.player-dock{width:min(300px,100vw - 28px);bottom:16px}.deck-controls{width:min(100% - 24px,360px);max-width:none;margin:10px auto 0;position:static;bottom:auto;left:auto;right:auto}.album-slide{flex-basis:min(86vw,680px)}.album-slide .cover{aspect-ratio:5/3}.disc-carousel{padding-inline:7vw;scroll-padding-inline:7vw}.album-overlay{padding:16px}.library{padding-inline:12px}.sleeve-pull{width:104px}.side-peek{opacity:.55;width:min(72vw,290px);top:108px;translate:-84%}.orbit-stage{height:min(52vh,420px)}.orbit-card{width:min(58vw,240px)}.cabinet{padding-inline:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.vinyl{animation:none}.record:hover .record-open,.record:focus-within .record-open{transform:none}}.nav-user{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:9rem;font-size:.88rem;overflow:hidden}.nav-leave{color:var(--brass)}.auth-page{place-items:center;min-height:100dvh;padding:28px 16px;display:grid}.auth-card{background:var(--bg-elevated);border:1px solid var(--line);border-radius:18px;gap:14px;width:min(26rem,100%);padding:28px 24px;display:grid}.auth-card h1{font-family:var(--serif);margin:0;font-size:2.1rem;font-weight:500}.auth-card p{color:var(--muted);margin:0}.auth-card a{color:var(--brass)}.auth-card .button{justify-self:start}.check-line{color:var(--muted);align-items:center;gap:8px;display:flex}.field-error{color:var(--danger);margin:0;font-size:.88rem}.gate-bar{justify-content:space-between;align-items:center;gap:16px;padding:18px 28px;display:flex}.gate-bar nav{align-items:center;gap:8px;display:flex}.gate-bar a.text-button{align-items:center;text-decoration:none;display:inline-flex}.app:has(.gate-bar){flex-direction:column;min-height:100dvh;display:flex}.app:has(.gate-bar) .auth-page{flex:1;min-height:0}.landing{--paper:#f3efe6;--ink:#2c241c;--muted:#6f6458;min-height:100dvh;color:var(--ink);background:radial-gradient(circle at 28% 48%,#f7f1e6,#e6d9c4 72%);flex-direction:column;display:flex;overflow-x:clip}.landing .gate-bar nav{gap:16px}.landing .brand,.landing .brand-name{color:var(--ink)}.landing .gate-bar nav a{color:var(--muted);font-size:.95rem;text-decoration:none}.landing .gate-bar nav a:hover{color:var(--ink)}.landing-stage{flex:1;grid-template-columns:minmax(0,1.15fr) minmax(220px,.85fr);align-items:center;gap:4vw;min-height:0;padding:0 6vw 4vh;display:grid}.landing-stage>*{min-width:0}.landing-record{aspect-ratio:1;width:min(62vmin,640px);margin-inline:auto;position:relative}.landing-record .label-ink{font-size:clamp(10px,1.5vmin,16px)}.landing-record .label-ink strong{font-size:1.45em}.landing-aside h1{font-family:var(--serif);letter-spacing:-.03em;margin:0;font-size:clamp(4.2rem,8vw,7.2rem);font-weight:500;line-height:.88}.landing-aside p{max-width:28ch;color:var(--muted);margin:16px 0 0;font-size:1.05rem}.landing-links{gap:18px;display:flex}.landing-links a{color:var(--ink)}.landing-links a:last-child{color:var(--muted)}@media (width<=860px){.gate-bar{padding:12px 14px}.gate-bar .button{padding:0 12px}.brand-name{font-size:1.2rem}.landing .gate-bar{gap:8px}.landing .gate-bar nav{gap:10px}.landing .gate-bar nav a{font-size:.88rem}.landing-stage{grid-template-columns:1fr;justify-items:center;gap:18px;padding:8px 18px 36px}.landing-record,.landing-aside{width:min(78vw,420px)}.landing-aside h1{font-size:3.4rem}}
