@import"https://fonts.googleapis.com/css2?family=Nunito+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&display=swap";@font-face{font-family:Oktah Round;src:url(/assets/fonts/Fontspring-DEMO-oktah_round_light-BF6407f0f62843b.otf) format("opentype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Oktah Round;src:url(/assets/fonts/Fontspring-DEMO-oktah_round_book-BF6407f0f65dbd6.otf) format("opentype");font-weight:350;font-style:normal;font-display:swap}@font-face{font-family:Oktah Round;src:url(/assets/fonts/Fontspring-DEMO-oktah_round_regular-BF6407f0f67a04a.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Oktah Round;src:url(/assets/fonts/Fontspring-DEMO-oktah_round_medium-BF6407f0f67e293.otf) format("opentype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Oktah Round;src:url(/assets/fonts/Fontspring-DEMO-oktah_round_bold-BF6407f0f645dd5.otf) format("opentype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Oktah Round;src:url(/assets/fonts/Fontspring-DEMO-oktah_round_light_italic-BF6407f0f68acb5.otf) format("opentype");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:Oktah Round;src:url(/assets/fonts/Fontspring-DEMO-oktah_round_regular_italic-BF6407f0f67d91f.otf) format("opentype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Oktah Round;src:url(/assets/fonts/Fontspring-DEMO-oktah_round_medium_italic-BF6407f0f68e125.otf) format("opentype");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:Oktah Round;src:url(/assets/fonts/Fontspring-DEMO-oktah_round_bold_italic-BF6407f0f63e453.otf) format("opentype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Oktah Round Hero;src:url(/assets/fonts/Oktah%20Round%20Light/Oktah%20Round%20Light.woff2) format("woff2"),url(/assets/fonts/Oktah%20Round%20Light/Oktah%20Round%20Light.woff) format("woff");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Oktah Round Hero;src:url(/assets/fonts/Oktah%20Round%20Bold/Oktah%20Round%20Bold.woff2) format("woff2"),url(/assets/fonts/Oktah%20Round%20Bold/Oktah%20Round%20Bold.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}:root{color:#192231;background-color:#f4f7fc;--theme-primary-rgb: 233, 238, 246;--theme-accent-rgb: 78, 108, 150;--font-display: "Oktah Round";--font-body: "Nunito Sans";--font-hero-title: "Oktah Round Hero"}*{box-sizing:border-box}html,body{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar,body::-webkit-scrollbar{display:none}body{margin:0;min-height:100vh;font-family:var(--font-body);font-synthesis:none;background:radial-gradient(circle at 16% 12%,rgba(var(--theme-accent-rgb),.35) 0,transparent 48%),radial-gradient(circle at 84% 9%,rgba(var(--theme-accent-rgb),.28) 0,transparent 46%),radial-gradient(circle at 32% 76%,rgba(var(--theme-accent-rgb),.22) 0,transparent 50%),radial-gradient(circle at 52% 90%,rgba(var(--theme-primary-rgb),.72) 0,transparent 52%),linear-gradient(160deg,#f5f9ff,#edf4fd 56%,#e5eefb);transition:background .36s ease}body.viewer-open{overflow:hidden}.home-card,.auth-card{width:min(1160px,100%);border:1px solid rgba(var(--theme-accent-rgb),.2);border-radius:18px;background:#ffffffc7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:1.4rem;box-shadow:0 14px 34px #1f304824;transition:background-color .36s ease,border-color .36s ease}.home-card{min-height:220px}.brand-text{margin:0;font-family:var(--font-display);font-size:clamp(1.9rem,4vw,3rem);font-weight:700;letter-spacing:.01em;line-height:1}.home-copy{margin:1.2rem 0 0;color:#192231c7;font-family:var(--font-body);font-size:1.02rem;max-width:50ch}.theme-debug{margin:.45rem 0 0;color:#192231a8;font-family:var(--font-body);font-size:.78rem;line-height:1.35}.db-status{margin:.85rem 0 0;font-family:var(--font-body);font-size:.95rem}.db-ok{color:#1f9e61}.db-error{color:#be3b3b}.list-section{margin-top:1.1rem}.list-heading{margin:0;font-family:var(--font-display);font-size:1.04rem;letter-spacing:.01em}.record-list{list-style:none;margin:.55rem 0 0;padding:0;border:1px solid rgba(var(--theme-accent-rgb),.2);border-radius:10px;overflow:hidden}.record-list li{display:flex;justify-content:space-between;align-items:center;gap:.7rem;padding:.5rem .65rem;border-bottom:1px solid rgba(var(--theme-accent-rgb),.12);font-family:var(--font-body);font-size:.93rem}.record-list li:last-child{border-bottom:0}.record-link{color:#1b2737;text-decoration:none}.record-link:hover{text-decoration:underline}.list-meta{color:#1b2737a3;white-space:nowrap;font-size:.86rem}.empty-row{color:#1b27379e}.list-error{margin:.9rem 0 0;color:#be3b3b;font-family:var(--font-body)}.compact-copy{margin-top:.55rem;font-size:.92rem}.white-space-pre-wrap{white-space:pre-wrap}.landing{min-height:calc(100vh - 72px);width:min(1320px,100%);margin:0 auto;display:flex;flex-direction:column;gap:1rem;align-items:center;padding:1.25rem .75rem}.site-topbar{position:relative;z-index:50;width:100%;border-bottom:1px solid rgba(255,255,255,.14);background:#0d1014eb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 10px 28px #0000004d;transition:background-color .36s ease}.site-topbar-inner{width:100%;margin:0;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 1rem}.site-brand{display:inline-flex;align-items:center;gap:.55rem;text-decoration:none}.site-brand-logo{width:48px;height:auto}.site-brand-text{color:#f4f6fb;font-family:var(--font-body);font-size:1.1rem;font-weight:600;letter-spacing:.01em}.site-nav{display:inline-flex;align-items:center;gap:1rem}.site-nav-search-wrap{position:relative;display:inline-flex;align-items:center}.site-nav-search,.site-nav-link{color:#d8deef;text-decoration:none;font-family:var(--font-body);font-size:.95rem;display:inline-flex;align-items:center;gap:.35rem}.site-nav-search{border:0;background:transparent;cursor:pointer;padding:0}.site-nav-search:hover,.site-nav-link:hover{color:rgb(var(--theme-accent-rgb))}.site-nav-search:focus-visible,.site-search-result:focus-visible{outline:2px solid rgba(var(--theme-accent-rgb),.78);outline-offset:2px}.site-nav-search-wrap-open .site-nav-search{color:rgb(var(--theme-accent-rgb))}.site-nav-link-active{color:rgb(var(--theme-accent-rgb));text-shadow:0 0 14px rgba(var(--theme-accent-rgb),.35)}.site-nav-management{font-weight:700}.search-icon{width:14px;height:14px;border:2px solid currentColor;border-radius:50%;display:inline-block;position:relative}.search-icon:after{content:"";position:absolute;width:8px;height:2px;border-radius:1px;background:currentColor;right:-6px;bottom:-3px;transform:rotate(38deg)}.site-search-panel{position:absolute;top:50%;right:calc(100% + .7rem);transform:translateY(-50%) scaleX(.82);width:0;opacity:0;pointer-events:none;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;z-index:20;transform-origin:right center;transition:width .24s cubic-bezier(.22,.8,.24,1),transform .24s cubic-bezier(.22,.8,.24,1),opacity .15s ease}.site-nav-search-wrap-open .site-search-panel{width:min(20rem,calc(100vw - 5rem));opacity:1;pointer-events:auto;transform:translateY(-50%) scaleX(1)}.site-search-input-shell{width:100%;overflow:hidden;border-radius:12px}.site-search-input{width:100%;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:#f7faff14;color:#f4f7fc;padding:.72rem .85rem;font-family:var(--font-body);font-size:.95rem}.site-search-input::placeholder{color:#d8deef75}.site-search-input:focus-visible{outline:none;border-color:rgba(var(--theme-accent-rgb),.72);box-shadow:inset 0 0 0 1px rgba(var(--theme-accent-rgb),.38)}.site-search-results{position:absolute;top:calc(100% + .45rem);left:0;width:100%;overflow:visible}.site-search-result-list{list-style:none;margin:0;padding:0;display:grid;gap:0}.site-search-result{width:100%;border:0;border-radius:0;border-bottom:1px solid rgba(255,255,255,.12);background:transparent;color:inherit;padding:.7rem 0;display:flex;align-items:center;gap:.7rem;text-align:left;cursor:pointer;transition:background .14s ease,transform .14s ease}.site-search-result:hover{background:transparent;transform:translateY(-1px)}.site-search-result-list li:last-child .site-search-result{border-bottom:0}.site-search-result-cover{width:42px;height:42px;border-radius:9px;object-fit:cover;display:block;flex-shrink:0;border:1px solid rgba(255,255,255,.12);background:#ffffffe6}.site-search-result-cover-fallback{background:linear-gradient(140deg,rgba(var(--theme-primary-rgb),.95),rgba(var(--theme-accent-rgb),.42))}.site-search-result-copy{min-width:0;display:flex;flex-direction:column;gap:.12rem}.site-search-result-title,.site-search-result-artist{font-family:var(--font-body)}.site-search-result-title{color:#1b2737;font-size:.94rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.site-search-result-artist{color:#1b2737b8;font-size:.84rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 720px){.site-topbar{padding:0}.site-topbar-inner{flex-direction:column;align-items:stretch;gap:.65rem;padding:.65rem .75rem}.site-brand{width:100%}.site-brand-logo{width:42px}.site-brand-text{font-size:1.02rem}.site-nav{width:100%;flex-wrap:nowrap;gap:.8rem;overflow-x:auto;overflow-y:visible;scrollbar-width:none;-webkit-overflow-scrolling:touch}.site-nav::-webkit-scrollbar{display:none}.site-nav-search-wrap{display:none}.site-nav-search,.site-nav-link{white-space:nowrap;font-size:.98rem}.site-search-panel{left:0;right:auto;top:calc(100% + .6rem);transform:translateY(0) scaleX(.96);width:0;transform-origin:left top}.site-nav-search-wrap-open .site-search-panel{width:min(calc(100vw - 1.5rem),22rem);transform:translateY(0) scaleX(1)}}.home-hero{position:relative;width:100%;height:clamp(140px,18vh,220px);overflow:hidden;border-bottom:1px solid rgba(var(--theme-accent-rgb),.18);background:linear-gradient(180deg,rgba(var(--theme-primary-rgb),.92),rgba(var(--theme-primary-rgb),.76));transition:background-color .36s ease}.home-hero-shell{position:relative}.home-hero-vinyl{position:absolute;left:clamp(1.2rem,6vw,5rem);bottom:-2px;transform:translateY(50%);width:clamp(110px,13vw,190px);aspect-ratio:1 / 1;z-index:3;border-radius:50%;overflow:hidden;filter:drop-shadow(0 12px 26px rgba(0,0,0,.45));pointer-events:none;transition:background-color .22s ease}.home-hero-vinyl svg{width:100%;height:100%;display:block;color:#18202ce0;transition:color .22s ease;animation:hero-vinyl-spin 6s linear infinite}@keyframes hero-vinyl-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.home-hero:before{content:"";position:absolute;top:-18px;right:-18px;bottom:-18px;left:-18px;background-image:var(--hero-image-url);background-position:center;background-size:cover;transform:scale(1.08);filter:blur(16px);z-index:0}.home-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#f6faff61,#f6faffa3),linear-gradient(90deg,rgba(var(--theme-accent-rgb),.22),rgba(var(--theme-accent-rgb),.04));z-index:1}.home-hero-copy{position:absolute;left:calc(clamp(1.2rem,6vw,5rem) + clamp(110px,13vw,190px) + clamp(.7rem,1.8vw,1.3rem));right:1rem;top:50%;transform:translateY(-50%);z-index:2;color:#172231;text-shadow:0 4px 14px rgba(255,255,255,.5);max-width:min(980px,calc(100% - 2rem))}.home-hero-kicker,.home-hero-artist,.home-hero-genres,.recent-records-label,.recent-track-title,.recent-track-artist,.recent-track-played,.top-record-title,.top-record-plays{font-family:var(--font-body)}.home-hero-kicker{margin:0;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:#172231b8}.home-hero-title{margin:.25rem 0 0;font-family:var(--font-hero-title);font-weight:300;font-size:clamp(1.35rem,2.8vw,2.2rem);line-height:1.08}.home-hero-title-link{color:inherit;text-decoration:none}.home-hero-title-link:hover{text-decoration:underline}.home-hero-title-row{display:flex;align-items:flex-end;gap:clamp(.8rem,2vw,1.4rem);flex-wrap:wrap}.home-hero-artist{margin:0;font-size:clamp(1rem,1.8vw,1.3rem);color:#172231e0}.home-hero-genres{margin:0;font-size:.98rem;color:#172231b8}.home-hero-meta{margin-top:0;display:flex;flex-direction:row;align-items:baseline;gap:.65rem;flex-wrap:wrap;text-align:left}.home-feed{width:min(1280px,calc(100% - 2.5rem));padding:0;margin-top:7rem;margin-left:auto;margin-right:auto;align-self:center}.home-dashboard-grid{display:grid;width:100%;grid-template-columns:minmax(0,1.75fr) minmax(17rem,.9fr);column-gap:clamp(2rem,4.8vw,5.5rem);row-gap:clamp(1rem,2vw,1.5rem);align-items:start;--dashboard-table-label-size: clamp(.87rem, calc(.75rem + .09vw) , .97rem);--dashboard-table-row-padding-y: clamp(.56rem, calc(.4rem + .15vw) , .72rem);--dashboard-table-row-padding-x: clamp(.68rem, calc(.5rem + .14vw) , .84rem);--dashboard-table-gap: clamp(.72rem, calc(.48rem + .21vw) , .98rem);--dashboard-recent-cover-size: clamp(43px, calc(33px + .68vw) , 53px);--dashboard-top-cover-size: clamp(31px, calc(23px + .5vw) , 38px);--dashboard-recent-title-size: clamp(.98rem, calc(.85rem + .09vw) , 1.09rem);--dashboard-recent-meta-size: clamp(.91rem, calc(.81rem + .08vw) , 1rem);--dashboard-time-size: clamp(.87rem, calc(.77rem + .08vw) , .96rem);--dashboard-top-title-size: clamp(.91rem, calc(.79rem + .09vw) , 1.01rem);--dashboard-top-meta-size: clamp(.83rem, calc(.73rem + .08vw) , .92rem)}.recent-tracks-section,.top-records-panel{margin-top:0;min-width:0}.recent-records-label{margin:0 0 .45rem;color:#1b2737bd;font-size:var(--dashboard-table-label-size);letter-spacing:.04em;text-transform:uppercase}.recent-tracks-list,.top-records-list{list-style:none;margin:0;padding:0;border-top:1px solid rgba(var(--theme-accent-rgb),.14)}.recent-tracks-list{background:transparent}.recent-track-row{display:flex;align-items:center;justify-content:space-between;gap:var(--dashboard-table-gap);padding:var(--dashboard-table-row-padding-y) var(--dashboard-table-row-padding-x);border-bottom:1px solid rgba(var(--theme-accent-rgb),.12)}.recent-track-row:last-child,.top-records-list li:last-child{border-bottom:0}.recent-track-link,.top-record-link{color:inherit;text-decoration:none}.recent-track-link{min-width:0;flex:1;display:flex;align-items:center;gap:var(--dashboard-table-gap)}.top-record-link{display:flex;align-items:center;gap:clamp(.5rem,calc(.36rem + .14vw),.68rem);padding:var(--dashboard-table-row-padding-y) 0}.recent-track-link:hover .recent-track-title,.top-record-link:hover .top-record-title{text-decoration:underline}.recent-track-cover,.top-record-cover{object-fit:cover;display:block;border:1px solid rgba(var(--theme-accent-rgb),.22);background:#fff;flex-shrink:0}.recent-track-cover{width:var(--dashboard-recent-cover-size);height:var(--dashboard-recent-cover-size);border-radius:6px}.top-record-cover{width:var(--dashboard-top-cover-size);height:var(--dashboard-top-cover-size);border-radius:5px}.recent-track-cover-fallback,.top-record-cover-fallback{background:linear-gradient(140deg,rgba(var(--theme-primary-rgb),.95),rgba(var(--theme-accent-rgb),.3))}.recent-track-copy,.top-record-copy{min-width:0}.top-record-copy{display:flex;flex-direction:column;gap:.12rem}.recent-track-title,.recent-track-artist,.top-record-title{color:#1b2737;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-track-title,.top-record-title{font-weight:600}.recent-track-title{margin:0;font-size:var(--dashboard-recent-title-size)}.recent-track-artist{margin:.08rem 0 0;color:#1b2737b8;font-size:var(--dashboard-recent-meta-size)}.recent-track-played{color:#1b27379e;font-size:var(--dashboard-time-size);white-space:nowrap;flex-shrink:0}.top-records-list li{border-bottom:1px solid rgba(var(--theme-accent-rgb),.14)}.top-record-title{font-size:var(--dashboard-top-title-size);line-height:1.3}.top-record-plays{color:#1b2737a3;font-size:var(--dashboard-top-meta-size)}@media (max-width: 1120px){.home-dashboard-grid{grid-template-columns:minmax(0,1.45fr) minmax(15rem,.85fr);column-gap:clamp(1.3rem,3.4vw,2.6rem)}}@media (max-width: 860px){.home-hero-copy{left:1rem}.home-hero-title-row{flex-direction:column;align-items:flex-start;gap:.25rem}}@media (max-width: 720px){.home-hero{height:clamp(210px,38vh,290px)}.home-hero-vinyl{display:block;width:auto;height:100%;left:0;right:auto;top:0;bottom:0;transform:translate(-50%);z-index:1;opacity:.32;filter:drop-shadow(0 14px 26px rgba(0,0,0,.2))}.home-feed{width:min(1280px,calc(100% - 1.5rem));margin-top:1rem}.home-hero-copy{left:.95rem;right:.95rem}.home-hero-title{font-size:clamp(1.12rem,8.2vw,1.95rem)}.home-hero-meta{gap:.35rem}.home-dashboard-grid{grid-template-columns:1fr;row-gap:.9rem}.recent-track-row{align-items:flex-start;flex-direction:column;gap:.45rem}.recent-track-played{margin-left:calc(42px + .7rem)}}.collection-feed{width:min(1160px,100%);margin-top:1rem}.collection-artist-group{margin-top:1.25rem}.collection-artist-name{margin:0 0 .4rem;color:#1b2737cc;font-family:var(--font-body);font-size:1.15rem}.collection-record-list{list-style:none;margin:0;padding:0;border-top:1px solid rgba(var(--theme-accent-rgb),.14)}.collection-record-row{display:flex;align-items:baseline;justify-content:space-between;gap:.8rem;padding:.52rem .2rem;border-bottom:1px solid rgba(var(--theme-accent-rgb),.12)}.collection-record-main{min-width:0}.collection-record-link{color:#1b2737;text-decoration:none;font-family:var(--font-body);font-size:.98rem;font-weight:600;display:inline-flex;align-items:center;gap:.65rem;min-width:0}.collection-record-link:hover{text-decoration:underline}.collection-record-cover{width:34px;height:34px;border-radius:7px;object-fit:cover;display:block;border:1px solid rgba(var(--theme-accent-rgb),.22);background:#fff;flex-shrink:0}.collection-record-cover-fallback{background:linear-gradient(140deg,rgba(var(--theme-primary-rgb),.95),rgba(var(--theme-accent-rgb),.3))}.collection-record-meta{color:#1b27379e;font-family:var(--font-body);font-size:.85rem;white-space:nowrap}@media (max-width: 720px){.collection-record-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.55rem}.collection-record-main{min-width:0}.collection-record-link{width:100%;gap:.55rem}.collection-record-link>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.collection-record-meta{text-align:right}}.record-detail-shell{border:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;padding:0}.record-title{font-family:var(--font-hero-title);font-weight:300;line-height:1.08;font-size:clamp(1.6rem,3vw,2.2rem)}.record-detail-shell .recent-records-label,.record-detail-shell .list-heading{font-family:var(--font-body);font-size:.87rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#1b2737bd;margin:0 0 .45rem}.record-title-link{color:inherit;text-decoration:none}.record-title-link:hover{text-decoration:underline}.record-title-link:focus-visible,.record-summary-cover-button:focus-visible{outline:2px solid rgba(var(--theme-accent-rgb),.82);outline-offset:3px}.record-detail-hero{grid-template-columns:minmax(0,1fr) 280px;column-gap:2.5rem}.record-summary-card{display:flex;align-items:center;gap:1rem;padding:.55rem .65rem .55rem 0;border-top:1px solid rgba(var(--theme-accent-rgb),.14);overflow:visible}.record-summary-cover-stack{--record-vinyl-flip-shift: clamp(-125px, -10vw, -75px);position:relative;display:flex;align-items:center;justify-content:flex-start;width:clamp(128px,18vw,212px);min-height:clamp(96px,14vw,156px);flex-shrink:0;perspective:1400px}.record-summary-vinyl{position:absolute;top:50%;right:0;transform:translateY(-50%);width:clamp(86px,12vw,142px);aspect-ratio:1 / 1;border-radius:50%;overflow:hidden;filter:drop-shadow(0 12px 22px rgba(0,0,0,.22));z-index:0;pointer-events:none;transform-style:preserve-3d;transition:transform .76s cubic-bezier(.22,.8,.24,1)}.record-summary-vinyl svg{width:100%;height:100%;display:block;color:#18202ce0;animation:hero-vinyl-spin 6s linear infinite}.record-summary-cover-button{position:relative;z-index:1;padding:0;border:0;background:transparent;cursor:pointer;border-radius:12px;flex-shrink:0;width:clamp(128px,18vw,212px);min-height:clamp(96px,14vw,156px);perspective:inherit}.record-summary-cover-flip{position:relative;display:block;width:clamp(128px,18vw,212px);min-height:clamp(96px,14vw,156px);transform-style:preserve-3d;transition:transform .76s cubic-bezier(.22,.8,.24,1)}.record-summary-cover-face{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:flex-start;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform-style:preserve-3d}.record-summary-cover-face-back{transform:rotateY(180deg)}.record-summary-cover-button-flippable:hover .record-summary-cover-flip,.record-summary-cover-button-flippable:focus-visible .record-summary-cover-flip{transform:rotateY(180deg)}.record-summary-cover-button-flippable:hover .record-summary-vinyl,.record-summary-cover-button-flippable:focus-visible .record-summary-vinyl{transform:translate3d(var(--record-vinyl-flip-shift),-50%,0) rotateY(180deg)}.record-summary-cover,.record-summary-cover-fallback{width:clamp(96px,14vw,156px);aspect-ratio:1 / 1;border-radius:12px;display:block;flex-shrink:0}.record-summary-cover{object-fit:cover;border:1px solid rgba(var(--theme-accent-rgb),.22);background:#fff}.record-summary-cover-fallback{background:linear-gradient(140deg,rgba(var(--theme-primary-rgb),.95),rgba(var(--theme-accent-rgb),.3))}.record-summary-copy{min-width:0}.record-summary-artist,.record-summary-meta,.review-quote,.review-subtitle{font-family:var(--font-body)}.record-summary-artist{margin:.35rem 0 0;color:#1b2737c7;font-size:1.02rem;font-weight:600}.record-summary-meta{margin:.24rem 0 0;color:#1b2737a3;font-size:.9rem}.record-facts-list{list-style:none;margin:0;padding:0;border-top:1px solid rgba(var(--theme-accent-rgb),.14)}.record-facts-list li{display:flex;justify-content:space-between;align-items:baseline;gap:.8rem;padding:.52rem 0;border-bottom:1px solid rgba(var(--theme-accent-rgb),.14);font-family:var(--font-body);font-size:.88rem}.record-facts-list .list-meta{display:inline-block;max-width:30ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}.rating-stars{display:inline-grid;grid-template-areas:"stars";color:#1b2737a3;font-size:.9rem;line-height:1;justify-items:start}.rating-stars-track,.rating-stars-fill{grid-area:stars;letter-spacing:.1em;white-space:nowrap}.rating-stars-track{color:rgba(var(--theme-accent-rgb),.24)}.rating-stars-fill{overflow:hidden;color:#d39a1a;justify-self:start}.rating-stars-value{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.record-detail-tables{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:1.25rem;align-items:start;margin-top:.8rem}.record-detail-table-section{margin-top:1.1rem}.record-detail-notes{margin-top:1.35rem}.detail-table-list{margin-top:0;border:0;border-top:1px solid rgba(var(--theme-accent-rgb),.14);border-radius:0;overflow:visible;background:transparent}.detail-table-list li{padding:.55rem .65rem}.tracklist-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;align-items:start}.recent-plays-section{width:100%}.review-editor-section{margin-top:1rem}.review-editor-form{margin-top:.65rem;display:grid;gap:.7rem}.review-editor-label,.review-editor-input,.review-editor-button{font-family:var(--font-body)}.review-editor-label{font-size:.88rem;font-weight:600;letter-spacing:.03em;color:#1b2737c7}.review-editor-input{width:100%;border-radius:10px;border:1px solid rgba(var(--theme-accent-rgb),.24);background:rgba(var(--theme-primary-rgb),.38);color:#1a2536;padding:.62rem .74rem;font-size:.95rem;transition:border-color .14s ease,background-color .14s ease,box-shadow .14s ease}.review-editor-input::placeholder{color:#1b27378a}.review-editor-input:focus{outline:none;border-color:rgba(var(--theme-accent-rgb),.52);background:rgba(var(--theme-primary-rgb),.5);box-shadow:0 0 0 2px rgba(var(--theme-accent-rgb),.2)}.review-editor-input:disabled{opacity:.7;cursor:not-allowed}.review-editor-button{border:1px solid rgba(var(--theme-accent-rgb),.3);border-radius:999px;background:rgba(var(--theme-accent-rgb),.16);color:#16212ee6;padding:.58rem 1rem;font-size:.84rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:background-color .14s ease,border-color .14s ease,transform .14s ease}.review-editor-button:hover:enabled{border-color:rgba(var(--theme-accent-rgb),.42);background:rgba(var(--theme-accent-rgb),.24)}.review-editor-button:focus-visible{outline:2px solid rgba(var(--theme-accent-rgb),.72);outline-offset:2px}.review-editor-button:disabled{opacity:.55;cursor:not-allowed}.review-editor-controls{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center}.review-rating-select{max-width:10rem}.review-rating-preview{display:flex;align-items:center;gap:.8rem}.review-textarea{min-height:7.5rem;resize:vertical}.review-format-toolbar{display:flex;gap:.45rem}.review-format-button{border:1px solid rgba(27,39,55,.2);border-radius:999px;background:rgba(var(--theme-primary-rgb),.38);color:#1b2737d1;font:inherit;font-size:.76rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:.26rem .72rem;cursor:pointer}.review-format-button:hover:enabled{border-color:rgba(var(--theme-accent-rgb),.34);background:rgba(var(--theme-primary-rgb),.54)}.review-format-button:disabled{opacity:.45;cursor:not-allowed}.review-display-section{margin-top:1.4rem}.review-heading-row{display:flex;align-items:baseline;gap:.55rem;flex-wrap:wrap}.review-quote{margin:0;color:#1b2737a3;font-size:.94rem;font-style:italic;font-weight:500}.review-subtitle{margin:.28rem 0 0;color:#1b2737a8;font-size:.94rem}.review-display-divider{margin:.7rem 0 .65rem;border-top:1px solid rgba(var(--theme-accent-rgb),.14)}.review-display-copy{max-width:none;margin-top:0}.record-image-viewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:1rem;background:#080a0ed1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.record-image-viewer-panel{position:relative;width:min(92vw,980px);max-height:92vh;display:grid;gap:.75rem;justify-items:center}.record-image-viewer-image{display:block;width:auto;max-width:100%;max-height:calc(92vh - 4rem);border-radius:16px;box-shadow:0 24px 64px #0000006b}.record-image-viewer-meta,.record-image-viewer-close,.record-image-viewer-nav{font-family:var(--font-body)}.record-image-viewer-meta{margin:0;padding:.45rem .8rem;border-radius:999px;background:#0b1018c7;border:1px solid rgba(255,255,255,.14);color:#f7f4eceb;font-size:.92rem;box-shadow:0 10px 28px #00000038;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.record-image-viewer-close,.record-image-viewer-nav{position:absolute;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:#0b1018cc;color:#f7f4ecf0;padding:.6rem .9rem;font-size:1.05rem;font-weight:700;cursor:pointer;box-shadow:0 10px 28px #00000038;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:background .14s ease,border-color .14s ease,transform .14s ease}.record-image-viewer-close:hover,.record-image-viewer-nav:hover{background:#161e2be6;border-color:#ffffff3d}.record-image-viewer-close:focus-visible,.record-image-viewer-nav:focus-visible{outline:2px solid rgba(247,244,236,.7);outline-offset:2px}.record-image-viewer-close{top:.75rem;right:.75rem}.record-image-viewer-nav{top:50%;transform:translateY(-50%);min-width:3rem;min-height:3rem;display:grid;place-items:center}.record-image-viewer-nav-prev{left:.75rem}.record-image-viewer-nav-next{right:.75rem}@media (max-width: 860px){.record-detail-hero{grid-template-columns:1fr;row-gap:.8rem}.record-detail-tables,.tracklist-columns{grid-template-columns:1fr;gap:0}}@media (max-width: 720px){.record-summary-card{align-items:flex-start;flex-direction:column;gap:.8rem;padding-right:0}.record-summary-copy{width:100%}.record-title{font-size:clamp(1.45rem,9vw,2rem);line-height:1.05;overflow-wrap:anywhere}.record-facts-list li{display:grid;grid-template-columns:minmax(6.25rem,35%) 1fr;align-items:start;gap:.45rem;padding-right:0}.record-facts-list .list-meta{max-width:none;overflow:visible;text-overflow:clip;white-space:normal;text-align:left;overflow-wrap:anywhere}}.admin-page{border:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;padding:0}.admin-page-title,.admin-page-label,.admin-page-status,.admin-page-error,.admin-page-button,.admin-page-input,.admin-page-unlocked,.route-link{font-family:var(--font-body)}.admin-page-inner{width:min(28rem,100%);margin:clamp(1.2rem,8vh,4rem) auto 0}.admin-page-title{text-align:center}.admin-page-form,.admin-page-panel{margin-top:.85rem;padding-top:.85rem;border-top:1px solid rgba(var(--theme-accent-rgb),.14);display:grid;gap:.62rem}.admin-page-label{font-size:.88rem;font-weight:600;letter-spacing:.03em;color:#1b2737c7}.admin-page-input{width:100%;max-width:28rem;border-radius:10px;border:1px solid rgba(var(--theme-accent-rgb),.24);background:rgba(var(--theme-primary-rgb),.38);color:#1a2536;padding:.62rem .74rem;font-size:.95rem;transition:border-color .14s ease,background-color .14s ease,box-shadow .14s ease}.admin-page-input:focus{outline:none;border-color:rgba(var(--theme-accent-rgb),.52);background:rgba(var(--theme-primary-rgb),.5);box-shadow:0 0 0 2px rgba(var(--theme-accent-rgb),.2)}.admin-page-button{justify-self:center;border:1px solid rgba(var(--theme-accent-rgb),.3);border-radius:999px;background:rgba(var(--theme-accent-rgb),.16);color:#16212ee6;padding:.58rem 1rem;font-size:.84rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:background-color .14s ease,border-color .14s ease}.admin-page-button:hover:enabled{border-color:rgba(var(--theme-accent-rgb),.42);background:rgba(var(--theme-accent-rgb),.24)}.admin-page-button:focus-visible{outline:2px solid rgba(var(--theme-accent-rgb),.72);outline-offset:2px}.admin-page-button:disabled{opacity:.7;cursor:not-allowed}.admin-page-status{margin:0;color:#192231c7;font-size:.95rem;text-align:center}.admin-page-unlocked{border:1px solid rgba(var(--theme-accent-rgb),.22);background:rgba(var(--theme-accent-rgb),.1);border-radius:10px;color:#192231d1;padding:.6rem .74rem;text-align:center}.admin-page-error{margin:.85rem 0 0;color:#be3b3b;text-align:center}.route-link{display:inline-block;margin-top:1rem;color:rgb(var(--theme-accent-rgb));text-decoration:none}.route-link:hover{text-decoration:underline}.management-page{border:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;padding:0}.management-table-wrap{margin-top:.9rem;overflow-x:auto}.management-register-panel{margin-top:1rem;padding:.7rem 0;border-top:1px solid rgba(var(--theme-accent-rgb),.14);border-bottom:1px solid rgba(var(--theme-accent-rgb),.14)}.management-register-controls{display:flex;gap:.55rem;align-items:center;margin-top:.55rem}.management-register-select{min-width:220px}.management-register-button{padding:.48rem .64rem;font-size:.82rem;white-space:nowrap}.management-table,.management-input,.management-color-clear,.management-action-button{font-family:var(--font-body)}.management-table{width:100%;border-collapse:collapse;font-size:.91rem;border-top:1px solid rgba(var(--theme-accent-rgb),.14)}.management-table th,.management-table td{text-align:left;padding:.58rem .55rem;border-bottom:1px solid rgba(var(--theme-accent-rgb),.14)}.management-table th{color:#192231d6;font-size:.82rem;text-transform:uppercase;letter-spacing:.03em}.management-table td{color:#192231c7}.management-artist-row td{padding:.52rem .55rem;border-bottom:1px solid rgba(var(--theme-accent-rgb),.2);background:rgba(var(--theme-accent-rgb),.08);color:#192231db;font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.management-index-cell{color:#1b27379e;font-size:.82rem;font-weight:700;width:3rem}.management-input{width:100%;min-width:120px;border-radius:10px;border:1px solid rgba(var(--theme-accent-rgb),.24);background:rgba(var(--theme-primary-rgb),.38);color:#1a2536;padding:.44rem .54rem;font-size:.9rem;transition:border-color .14s ease,background-color .14s ease,box-shadow .14s ease}.management-input:focus{outline:none;border-color:rgba(var(--theme-accent-rgb),.52);background:rgba(var(--theme-primary-rgb),.5);box-shadow:0 0 0 2px rgba(var(--theme-accent-rgb),.2)}.management-color-control{display:flex;align-items:center;gap:.4rem}.management-color-picker{width:2rem;height:2rem;border:1px solid rgba(var(--theme-accent-rgb),.24);border-radius:10px;padding:.1rem;background:rgba(var(--theme-primary-rgb),.45);cursor:pointer;flex-shrink:0}.management-color-hex{min-width:96px}.management-color-clear,.management-action-button{border:1px solid rgba(var(--theme-accent-rgb),.3);background:rgba(var(--theme-accent-rgb),.16);color:#16212ee6;border-radius:999px;letter-spacing:.04em;cursor:pointer;transition:background-color .14s ease,border-color .14s ease}.management-color-clear{padding:.36rem .62rem;font-size:.74rem;text-transform:uppercase;font-weight:700;white-space:nowrap}.management-actions{white-space:nowrap}.management-action-button{padding:.38rem .66rem;font-size:.74rem;text-transform:uppercase;font-weight:700;margin-right:.35rem}.management-action-button:last-child{margin-right:0}.management-color-clear:hover,.management-action-button:hover:enabled{border-color:rgba(var(--theme-accent-rgb),.42);background:rgba(var(--theme-accent-rgb),.24)}.management-color-clear:focus-visible,.management-action-button:focus-visible{outline:2px solid rgba(var(--theme-accent-rgb),.72);outline-offset:2px}.management-action-button:disabled{opacity:.6;cursor:not-allowed}.management-delete-button{border-color:#a61c1c73;background:#a61c1c24;color:#590c0cf2}.management-delete-button:hover:enabled{border-color:#a61c1ca6;background:#a61c1c38}@media (max-width: 720px){.management-register-controls{flex-direction:column;align-items:stretch}.management-register-select{min-width:0}}.about-page{width:min(1040px,100%);margin:0 auto;padding:3rem .55rem 3.4rem;display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.9rem}.about-logo{width:min(300px,62vw);height:auto;display:block;filter:drop-shadow(0 12px 24px rgba(10,14,20,.3))}.about-copy{width:min(820px,100%);margin-top:.35rem}.about-title{margin:0;font-family:var(--font-display);font-size:clamp(1.6rem,4vw,2.3rem);letter-spacing:.01em;color:#1a2435}.about-text{margin:1.15rem auto 0;font-family:var(--font-body);font-size:clamp(1rem,2.2vw,1.08rem);line-height:1.72;color:#1a2435d4;max-width:60ch}@media (max-width: 720px){.about-page{padding:2rem .45rem 2.4rem;gap:1.45rem}.about-logo{width:min(240px,62vw)}}
