@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,500;1,500&display=swap');
:root{color-scheme:dark;--bg:#0c1425;--panel:#141f34;--muted:#97a5bc;--ink:#ede8df;--gold:#d6b28a;--line:#29364b}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 88% 16%,#35425955,transparent 42%),var(--bg);color:var(--ink);font:14px 'DM Sans',system-ui,sans-serif}body:before{content:'';position:fixed;inset:0;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.7' filter='url(%23n)'/%3E%3C/svg%3E")}button,input,select,textarea{font:inherit}button{cursor:pointer;transition:.2s}button:hover{filter:brightness(1.2)}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:4px}header{height:94px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;margin:0 6%;gap:20px}.brand{text-decoration:none;color:var(--gold);font-family:Georgia,serif;font-size:32px;display:flex;align-items:center;gap:16px}.brand span{font-family:system-ui;font-size:10px;letter-spacing:3px;color:var(--ink)}.private,.eyebrow{font-size:10px;letter-spacing:2.5px;color:var(--gold)}.quiet{background:none;color:var(--muted);border:1px solid var(--line);padding:10px 15px;border-radius:4px}main{max-width:1240px;padding:0 44px;margin:auto}.hero{display:grid;grid-template-columns:1.1fr 1fr;min-height:540px;align-items:center;gap:40px}.eyebrow{margin:0 0 25px}h1{font:500 clamp(56px,6vw,84px)/1.05 'Playfair Display',Georgia,serif;letter-spacing:-3px;margin:0 0 25px}h1 em{color:var(--gold)}.intro{line-height:2;color:var(--muted);margin-bottom:27px}.primary{background:var(--gold);color:#131c2c;border:0;border-radius:3px;padding:13px 22px;font-weight:600}.local{font-size:11px;color:#72809a;margin-top:16px}.art{height:390px;position:relative}.disc{position:absolute;width:320px;height:320px;border-radius:50%;right:0;top:32px;background:repeating-radial-gradient(circle,#0a101a 0 2px,#1b2637 3px 4px);box-shadow:12px 10px 35px #0005}.disc:after{content:'';position:absolute;inset:110px;border-radius:50%;background:radial-gradient(circle,#10192b 0 7px,#a48262 8px 11px,#263347 12px 100%)}.cover{position:absolute;width:285px;height:315px;top:16px;left:12px;transform:rotate(-7deg);padding:24px;background:radial-gradient(ellipse at 52% 56%,#acb6c966 0,transparent 42%),linear-gradient(155deg,#718098,#243b60 48%,#131c2c);box-shadow:0 18px 50px #0006;border:1px solid #8190aa44}.cover>span{font:25px/1 Georgia,serif;letter-spacing:-1px}.moon{width:110px;height:110px;margin:30px auto 17px;background:radial-gradient(circle at 30% 25%,#f2dec9,#c2b2a1 60%,#697791);border-radius:50%;box-shadow:0 0 60px #f6ddbf33}.cover small{font-size:9px;letter-spacing:2px}.stars{position:absolute;right:12px;top:-25px;font-size:50px;color:var(--gold)}.art-caption{position:absolute;bottom:0;left:25px;font-size:8px;letter-spacing:2px;color:var(--muted)}.collection{border-top:1px solid var(--line);padding-top:34px}.section-top{display:flex;justify-content:space-between;align-items:center}.section-top .eyebrow{margin-bottom:10px;font-size:9px}h2{font-size:25px;font-weight:500;margin:0 0 24px}h2 span{font-size:12px;color:var(--muted);margin-left:12px}.view{background:#080f1c;padding:4px;border-radius:5px;display:flex}.view button{border:0;background:none;padding:9px 16px;color:var(--muted);border-radius:3px}.view .active{color:var(--ink);background:#26334a}.filters{display:flex;gap:12px}.search{display:flex;flex:1;align-items:center;gap:10px;background:var(--panel);border:1px solid var(--line);padding:0 15px;border-radius:4px;font-size:23px}input,textarea,select{color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:11px;width:100%}input::placeholder,textarea::placeholder{color:#74839d}.search input{border:0;background:none;padding-left:0;outline:none;font-size:13px}.filters select{width:140px}.tags{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 30px}.tag{border:1px solid var(--line);background:none;color:var(--muted);font-size:11px;border-radius:30px;padding:6px 13px}.tag.active{border-color:var(--gold);color:var(--gold)}.year{font:30px Georgia;color:var(--gold);margin:30px 0 22px}.entry{display:grid;grid-template-columns:115px 1fr;position:relative;margin-bottom:20px}.date{color:var(--muted);font-size:11px;padding-top:20px;letter-spacing:1px}.card{border:1px solid var(--line);background:linear-gradient(110deg,#17243b99,#121c2ecc);border-radius:5px;padding:23px;position:relative}.entry:before{content:'';position:absolute;left:94px;top:0;bottom:-20px;border-left:1px solid var(--line)}.entry:after{content:'';position:absolute;left:90px;top:24px;width:7px;height:7px;background:var(--gold);border-radius:50%;box-shadow:0 0 0 5px var(--bg)}.card-head{display:flex;gap:10px;align-items:center;margin-bottom:12px}.kind,.demo{font-size:9px;letter-spacing:1px;border:1px solid #546783;color:#b1bed1;border-radius:3px;padding:4px 7px}.demo{border-color:#71634e;color:var(--gold)}.star{margin-left:auto;background:none;border:0;color:var(--gold);font-size:22px;padding:0}.card h3{font-size:19px;font-weight:500;margin:5px 0 12px}.note{white-space:pre-wrap;line-height:1.9;color:var(--muted);margin:0 0 15px;overflow-wrap:anywhere}.card-bottom{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.card-bottom a{color:var(--gold);font-size:12px;text-decoration:none}.actions{margin-left:auto;display:flex;gap:12px}.actions button{background:none;border:0;padding:5px;color:var(--muted);font-size:11px}.images{display:flex;gap:10px;overflow:auto;margin-bottom:16px}.images img{height:155px;width:auto;max-width:100%;object-fit:contain;border-radius:3px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.grid .year{grid-column:1/-1}.grid .entry{display:block;margin:0}.grid .entry:before,.grid .entry:after{display:none}.grid .date{padding:0 0 8px}.empty{border:1px dashed var(--line);text-align:center;padding:70px 20px;color:var(--muted)}footer{margin-top:70px;border-top:1px solid var(--line);padding:25px 0;display:flex;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:2px;color:var(--muted)}dialog{background:#121e32;color:var(--ink);border:1px solid #3b4a61;border-radius:8px;width:min(560px,94vw);padding:30px;max-height:90vh;overflow:auto}dialog::backdrop{background:#030915cc;backdrop-filter:blur(8px)}.modal-head{display:flex;justify-content:space-between;align-items:flex-start}.close{background:none;border:0;color:var(--muted);font-size:25px;line-height:1}form label,.import{display:block;color:var(--muted);font-size:12px;margin-bottom:17px}form label input,form label select,form label textarea,.import input{margin-top:8px}.two{display:grid;grid-template-columns:1fr 1fr;gap:15px}#photoPreview{display:flex;gap:8px;flex-wrap:wrap}#photoPreview img{height:70px}#backup p{color:var(--muted);line-height:1.8;font-size:12px}#backup .import{margin-top:25px}#toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:var(--gold);color:var(--bg);padding:12px 22px;border-radius:4px;display:none;z-index:10}#formError{color:#edaba4} @media(max-width:760px){header{height:75px;margin:0 20px}.private{display:none}.brand span{font-size:8px;letter-spacing:1px}main{padding:0 20px}.hero{grid-template-columns:1fr;gap:20px;padding:50px 0 35px}.art{height:300px;width:340px;max-width:100%;margin:auto}.cover{width:225px;height:255px}.disc{width:240px;height:240px;top:25px}.disc:after{inset:80px}.moon{width:80px;height:80px;margin:20px auto}.stars{font-size:30px;top:0}.filters{flex-wrap:wrap}.search{flex-basis:100%}.filters select{flex:1;min-width:90px}.filters .quiet{font-size:11px}.entry{grid-template-columns:65px 1fr}.entry:before{left:53px}.entry:after{left:49px}.date{font-size:9px}.card{padding:17px}.grid{grid-template-columns:1fr}.section-top h2{font-size:22px}.view button{padding:8px 10px}footer span{display:none}}

.source-fields{border:1px solid var(--line);border-radius:5px;margin:0 0 20px;padding:16px}.source-fields legend{color:var(--gold);padding:0 6px;font-size:12px}.source-row{border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:14px}.source-row label{margin-bottom:10px}.field-hint{font-size:11px;color:var(--muted);line-height:1.8}.source-list{border-top:1px solid var(--line);padding:15px 0}.source-list a{color:var(--gold);font-size:12px}.source-list p{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted);font-size:12px;line-height:1.8;margin:6px 0 16px}.video-list figure{margin:0 0 18px}.video-list video{width:100%;max-height:360px;background:#080f1c;border-radius:4px}.video-list figcaption{color:var(--muted);font-size:12px;line-height:1.8;white-space:pre-wrap;margin-top:8px}

.provenance{border-left:2px solid var(--gold);padding:7px 12px;margin:0 0 17px;background:#d6b28a09}.provenance span{color:var(--gold);font-size:10px;letter-spacing:1px}.provenance p{color:var(--muted);font-size:12px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;margin:5px 0 0}

.provenance-chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.provenance-chips .tag{color:var(--gold);letter-spacing:0;font-size:11px}

#records{position:relative}.entry{position:relative}.thread-layer{position:absolute;inset:0;pointer-events:none;z-index:2;overflow:visible}.gold-thread{fill:none;stroke:#eac485;stroke-width:1.6;filter:drop-shadow(0 0 3px #e9b65b) drop-shadow(0 0 7px #c58d3955);opacity:.85}.thread-end{fill:#ffe4aa;filter:drop-shadow(0 0 5px #ffd58c)}.callback-links{border-top:1px solid #d6b28a33;margin:16px 0;padding-top:12px}.callback-link{padding:8px 0}.callback-link button{border:0;background:none;color:var(--gold);text-align:left;padding:0;line-height:1.8;max-width:100%;overflow-wrap:anywhere}.thread-icon{text-shadow:0 0 8px #ffcd79;font-size:22px}.callback-kind{display:block;font-size:10px;color:#a88b67;margin:4px 0}.callback-link p{white-space:pre-wrap;color:var(--muted);font-size:12px;line-height:1.8;margin:7px 0}.callback-link a{color:var(--gold);font-size:11px}.callback-row{padding:14px 0;border-bottom:1px solid var(--line);margin-bottom:12px}.thread-focus .card{border-color:var(--gold);box-shadow:0 0 22px #e2b56833;transition:.3s}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

#records:not(.grid){padding-right:62px}.thread-layer{overflow:hidden}@media(max-width:760px){#records:not(.grid){padding-right:32px}}

.music-panel{position:fixed;right:24px;top:105px;width:366px;max-width:calc(100vw - 32px);padding:17px;background:#121e32;border:1px solid #d6b28a55;border-radius:8px;box-shadow:0 16px 70px #0008;z-index:20;max-height:calc(100dvh - 125px);overflow:auto}.music-panel[hidden]{display:none}.music-head{display:flex;align-items:flex-start;justify-content:space-between}.music-head .eyebrow{font-size:8px;margin-bottom:9px}.music-head h2{font-size:20px;margin-bottom:15px}.music-panel iframe{display:block;width:100%;height:450px;border:0;border-radius:5px;background:#fff}.music-fallback{display:inline-block;color:var(--gold);font-size:12px;margin-top:14px;text-decoration:none}header{flex-wrap:wrap}.private{margin-right:auto}#musicToggle{white-space:nowrap}@media(max-width:760px){header{height:auto;min-height:100px;gap:10px;padding:12px 0}.brand{flex-basis:100%}.music-panel{right:16px;top:115px;max-height:calc(100dvh - 135px)}header #settings{margin-left:auto}}

/* Midnight record sleeve */
#musicToggle{display:inline-flex;align-items:center;gap:10px;border-radius:24px;padding:9px 15px;color:var(--gold);border-color:#d6b28a45;background:linear-gradient(120deg,#d6b28a0d,#14223888);font-size:12px;box-shadow:inset 0 1px 0 #ffffff08}#musicToggle:hover,#musicToggle[aria-expanded="true"]{border-color:#d6b28a99;background:#d6b28a14}.music-button-disc{width:19px;height:19px;display:block;border-radius:50%;border:1px solid #c5a17c;background:repeating-radial-gradient(circle,#101a2a 0 2px,#43516a 2px 3px);position:relative}.music-button-disc:after{content:'';position:absolute;width:5px;height:5px;top:6px;left:6px;border-radius:50%;background:var(--gold)}.music-button-arrow{font-size:14px;transition:transform .2s}#musicToggle[aria-expanded="true"] .music-button-arrow{transform:rotate(180deg)}
.music-panel{top:104px;right:5%;width:376px;border-radius:14px;padding:22px;background:radial-gradient(ellipse at 90% 5%,#8e715b22,transparent 44%),linear-gradient(150deg,#1b2c45f5,#0c1729fa);backdrop-filter:blur(22px);border-color:#d6b28a50;box-shadow:0 25px 90px #0009,0 0 35px #d6b28a08,inset 0 1px 0 #ead2ad1a;animation:music-reveal .22s ease-out;scrollbar-width:thin;scrollbar-color:#5a4c40 #101a2c}.music-head{align-items:center;margin-bottom:10px}.music-edition{color:#bda384;font-size:8px;letter-spacing:1.8px}.music-head .close{width:28px;height:28px;border:1px solid #d6b28a30;border-radius:50%;font-size:19px;color:var(--gold);display:grid;place-items:center}.music-head .close:hover{background:#d6b28a18}.music-artwork{position:relative;height:154px;max-width:260px;margin:15px auto 20px}.music-sleeve{position:absolute;width:139px;height:139px;left:24px;top:5px;z-index:1;padding:13px;background:radial-gradient(ellipse at 90% 20%,#b2a9a84a,transparent 60%),linear-gradient(140deg,#6c7e98,#324660 60%,#1b293e);border:1px solid #d4c5b233;box-shadow:0 12px 25px #0006;transform:rotate(-6deg)}.music-sleeve>span{font-size:8px;letter-spacing:3px;color:#f0d2ac}.music-sleeve i{display:block;font:italic 26px/.95 'Playfair Display',Georgia,serif;color:#efe4d4;margin-top:12px}.music-sleeve small{display:block;font-size:5px;letter-spacing:1.2px;margin-top:15px;color:#ddc8aa}.music-vinyl{position:absolute;right:14px;top:9px;width:134px;height:134px;border-radius:50%;background:repeating-radial-gradient(circle,#080d15 0 2px,#283245 2.5px 3px);box-shadow:8px 9px 20px #0006}.music-vinyl:after{content:'';position:absolute;inset:47px;border-radius:50%;background:radial-gradient(circle,#101a29 0 3px,#c5a178 4px 100%);border:1px solid #e8cfa355}.music-spark{position:absolute;right:8px;top:-2px;font-size:22px;color:var(--gold);text-shadow:0 0 15px #d6b28a44}.music-title-row{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #d6b28a20;padding-top:19px}.music-title-row .eyebrow{font-size:7px;letter-spacing:1.7px;margin-bottom:8px;color:#bba385}.music-title-row h2{font:500 25px/1.2 Georgia,'Songti SC',serif;letter-spacing:2px;margin:0;color:#f0dfc6}.music-volume-label{font-size:8px;letter-spacing:2px;color:#9d8e7d;writing-mode:vertical-rl}.music-dedication{color:#9aa8bd;font-size:11px;letter-spacing:.5px;margin:12px 0 20px}.music-player-frame{border:1px solid #d6b28a22;border-radius:8px;padding:6px;background:#ffffff05;overflow:hidden}.music-player-caption{display:flex;justify-content:space-between;padding:5px 4px 10px;color:#a99782;font-size:8px;letter-spacing:1px}.music-panel iframe{border-radius:4px;max-width:100%;height:450px}.music-panel-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;padding-top:16px}.music-panel-foot .music-fallback{margin:0;font-size:10px}.music-panel-foot>span{font-size:8px;color:#7f8da4}.music-fallback span{margin-left:8px}@keyframes music-reveal{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:760px){.music-panel{right:16px;top:115px;width:356px;padding:18px}.music-artwork{height:135px;margin-top:8px;margin-bottom:12px;transform:scale(.9);transform-origin:center center}.music-dedication{margin-bottom:14px}}@media(prefers-reduced-motion:reduce){.music-panel{animation:none}.music-button-arrow{transition:none}}

/* Sequins in midnight light */
body{background:radial-gradient(ellipse at 80% 12%,#63749625,transparent 42%),radial-gradient(ellipse at 10% 55%,#b28a5611,transparent 38%),var(--bg);isolation:isolate}body:before{z-index:-1}.midnight-glitter{position:fixed;inset:0;pointer-events:none;z-index:-1;overflow:hidden}.glitter-dust{position:absolute;inset:0;opacity:.75;background-image:radial-gradient(circle,#efd9bba8 0 .6px,transparent 1.4px),radial-gradient(circle,#d6e6ff80 0 .6px,transparent 1.3px),radial-gradient(circle,#d0ac765c 0 .8px,transparent 1.5px);background-size:67px 79px,113px 127px,173px 157px;background-position:13px 22px,40px 17px,89px 61px;mask-image:linear-gradient(90deg,#000b,transparent 24%,transparent 74%,#000c)}.glitter-stars{position:absolute;inset:0}.glitter-stars i{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);background:#f3ddb5;border-radius:50%;box-shadow:0 0 5px #ffe3bda0,0 0 12px #e1bf7a40;animation:sequin-twinkle var(--duration) ease-in-out var(--delay) infinite;opacity:.35}.glitter-stars i:nth-child(3n){background:#d9e6ff;box-shadow:0 0 5px #dceaffaa,0 0 12px #a5c4ff33}.glitter-stars i:nth-child(6n){background:linear-gradient(transparent 40%,#fff0d5 48% 52%,transparent 60%),linear-gradient(90deg,transparent 40%,#fff0d5 48% 52%,transparent 60%);border-radius:0;box-shadow:none;filter:drop-shadow(0 0 3px #f4d098)}header{border-bottom-color:#c3a57842;background:linear-gradient(90deg,transparent,#dcc8a707,transparent)}.brand{color:#e5c89f;text-shadow:0 0 18px #d8b68130}.hero h1 em{background:linear-gradient(115deg,#b58e62 0%,#f3dfbc 30%,#c29d71 48%,#fff3df 60%,#c7a578 85%);background-clip:text;-webkit-background-clip:text;color:transparent;text-shadow:0 0 35px #d6b28a18}.eyebrow{color:#d8bd98}.primary{background:radial-gradient(circle at 20% 20%,#fff3d8aa 0 .7px,transparent 1.4px),radial-gradient(circle at 70% 70%,#fff9e6aa 0 .7px,transparent 1.4px),linear-gradient(115deg,#b99065,#edd5af 45%,#cda67a);background-size:13px 17px,19px 23px,100% 100%;border:1px solid #ffe7c266;box-shadow:inset 0 1px 0 #fff0d477,0 4px 22px #dab77a16}.primary:hover{box-shadow:inset 0 1px 0 #fff0d488,0 4px 28px #dab77a35}.card{background:radial-gradient(ellipse at 100% 0,#d8c2a210,transparent 38%),linear-gradient(110deg,#17243bed,#121c2eeb);border-color:#9d8d703c;box-shadow:inset 0 1px 0 #e8d2ad09,0 7px 25px #00000014}.card:before{content:'';position:absolute;left:15px;right:15px;top:0;height:1px;background:linear-gradient(90deg,transparent,#eed6a665,#d2e5ff44,transparent);pointer-events:none}.card:hover{border-color:#d0b28066;box-shadow:inset 0 1px 0 #e8d2ad15,0 0 24px #d0b2800c;transition:border-color .25s,box-shadow .25s}.tag.active{background:linear-gradient(120deg,#d6b28a16,#c4d7fc0a);box-shadow:0 0 12px #d6b28a10}.cover{border-color:#e4d3b959;box-shadow:0 18px 50px #0006,0 0 45px #dfcba019}.cover:after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle,#e9ddc999 0 .6px,transparent 1.3px);background-size:19px 23px;mask-image:linear-gradient(145deg,#0008,transparent 35%,transparent 75%,#0008)}.stars{text-shadow:0 0 18px #f8db9877}.moon{box-shadow:0 0 65px #f6ddbf45,0 0 100px #bfcfed15}.section-top h2{color:#efe4d2}.collection{border-top-color:#c6ad8044}.year{text-shadow:0 0 20px #d6b28a25}.music-panel{box-shadow:0 25px 90px #0009,0 0 40px #d6b28a12,inset 0 1px 0 #ead2ad33}.music-panel:before{content:'';position:absolute;top:0;left:15%;right:15%;height:1px;background:linear-gradient(90deg,transparent,#f1d5a5,transparent);pointer-events:none}dialog{border-color:#cab08755;box-shadow:0 0 50px #d6b28a10}.gold-thread{filter:drop-shadow(0 0 3px #ffe2a7) drop-shadow(0 0 8px #d8a34b88)}@keyframes sequin-twinkle{0%,100%{opacity:.18;transform:scale(.75)}45%{opacity:.65;transform:scale(1)}65%{opacity:.28;transform:scale(.85)}}@media(prefers-reduced-motion:reduce){.glitter-stars i{animation:none;opacity:.35}}@media(max-width:760px){.glitter-stars i:nth-child(2n){display:none}.glitter-dust{opacity:.5}}

.readonly-badge{display:inline-block;color:var(--gold);border:1px solid #d6b28a50;border-radius:30px;padding:12px 20px;background:#d6b28a09}.load-video{width:100%;padding:25px;color:var(--gold);border:1px solid #d6b28a44;background:#d6b28a08}.load-video:disabled{opacity:.6}video[hidden],button[hidden]{display:none!important}
