@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Serif+KR:wght@400;500;600&display=swap";:root{--bg:#eeeae1;--paper:#f8f5ee;--ink:#302e29;--muted:#817b71;--rule:#d6d0c4;--wine:#673543;--wine-dark:#4a2731}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-family:DM Sans,Apple SD Gothic Neo,Malgun Gothic,sans-serif;font-size:14px}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:8px;display:inline-flex}button:disabled{cursor:wait;opacity:.45}button:hover:not(:disabled){color:var(--wine)}a{color:inherit;text-decoration:none}button.primary{background:var(--wine);color:#fff8ee;border:1px solid var(--wine);padding:14px 22px}button.primary:hover:not(:disabled){background:var(--wine-dark);color:#fff}input,select,textarea{border:1px solid var(--rule);background:var(--paper);border-radius:0;min-width:0;padding:11px 12px}textarea{resize:vertical}.shell{max-width:1536px;margin:auto;padding:0 54px}header{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;height:88px;display:flex}.brand{letter-spacing:.15em;align-items:center;gap:11px;font-size:13px;font-weight:600;display:flex}.brand span{border-left:1px solid var(--rule);letter-spacing:0;color:var(--muted);margin-left:20px;padding-left:24px;font-size:11px;font-weight:400}.private{letter-spacing:.16em;color:var(--muted);align-items:center;gap:9px;font-size:9px;display:flex}.private i{background:#718773;border-radius:50%;width:5px;height:5px}.intro{justify-content:space-between;align-items:center;padding:56px 0 36px;display:flex}.eyebrow{letter-spacing:.2em;font-size:9px;font-weight:500}.intro .eyebrow{color:var(--wine);margin:0 0 15px}h1{letter-spacing:-.06em;margin:0 0 13px;font-family:Noto Serif KR,Georgia,serif;font-size:43px;font-weight:400}.subtitle{color:var(--muted);margin:0;font-size:12px}.intro>.primary{margin-top:26px}.overview{background:var(--paper);border:1px solid var(--rule);align-items:center;height:183px;display:flex;overflow:hidden}.overview-title{width:26%;padding-left:32px}.overview-title .eyebrow{color:var(--wine)}.overview-title p{letter-spacing:-.05em;margin:16px 0 0;font-family:Noto Serif KR,serif;font-size:20px;line-height:1.8}.overview-title em{color:var(--wine);font-style:normal}.metric{border-left:1px solid var(--rule);flex-direction:column;gap:12px;width:15%;height:84px;padding-left:30px;display:flex}.metric b{letter-spacing:-.06em;font-size:38px;font-weight:400;line-height:1}.metric span{color:var(--muted);font-size:10px}.sleeves{background:#e6dfd3;flex:1;align-self:stretch;margin-left:12px;position:relative;overflow:hidden}.sleeves div{background:var(--wine);color:#ead9ca;letter-spacing:-.05em;z-index:1;width:130px;height:150px;padding:22px 15px;font-size:22px;line-height:.95;position:absolute;top:29px;left:26px;transform:rotate(-9deg);box-shadow:5px 4px 10px #0002}.sleeves i{letter-spacing:0;font-family:Georgia,serif;font-size:14px;font-weight:400;line-height:1.8}.sleeves>svg{color:#bfae91;background:#35322f;border-radius:50%;width:167px;height:167px;position:absolute;top:42px;left:110px}.collection{padding-top:45px}.section-head{justify-content:space-between;align-items:center;display:flex}.section-head .eyebrow{color:var(--muted)}h2{letter-spacing:-.04em;margin:7px 0 25px;font-family:Noto Serif KR,serif;font-size:26px;font-weight:400}.tools{gap:14px;display:flex}.tools button{color:var(--muted);font-size:11px}.tabs{border-bottom:1px solid var(--rule);gap:27px;display:flex;overflow-x:auto}.tabs button{white-space:nowrap;color:var(--muted);border-bottom:2px solid #0000;gap:7px;padding:10px 0 16px;font-size:12px}.tabs button.active{border-color:var(--wine);color:var(--wine)}.tabs small{color:#a1988b;font-size:9px}.filters{gap:12px;margin-top:24px;display:flex}.search{background:var(--paper);border:1px solid var(--rule);color:var(--muted);flex:1;align-items:center;padding-left:14px;display:flex}.search input{background:0 0;border:0;width:100%;padding:12px;font-size:12px}.search button{padding:8px}.filters select{background:0 0;width:130px;font-size:11px}.filters .icon{border:1px solid var(--rule);width:43px}.view{border:1px solid var(--rule);padding:3px;display:flex}.view button{width:35px}.selected{background:var(--paper);color:var(--wine)}.results{color:var(--muted);letter-spacing:.12em;justify-content:space-between;padding:23px 0;font-size:9px;display:flex}.results span:last-child{letter-spacing:0}.album-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:35px 25px;display:grid}.album{min-width:0;position:relative}.album-open{text-align:left;width:100%;padding:0;display:block}.cover{aspect-ratio:1;background:#dfd8ca;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.cover img{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.cover-placeholder{color:#93826d;background:linear-gradient(135deg,#e4ddce,#d5cbbb);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex;position:absolute;inset:0}.cover-placeholder span{text-align:center;padding:0 20px;font-family:Georgia,serif;font-size:14px}.format-tag{letter-spacing:.1em;background:#f7f2e9e8;padding:5px 8px;font-size:9px;position:absolute;bottom:10px;left:10px}.album-text{padding-top:15px}.album-text p{color:var(--wine);margin:0 0 7px;font-size:10px}.album-text h3{overflow-wrap:anywhere;margin:0 0 8px;font-size:16px;font-weight:500;line-height:1.5}.album-text>span{color:var(--muted);font-size:10px}.album-text small{color:var(--muted);margin-top:6px;font-size:10px;display:block}.heart{width:30px;height:30px;color:var(--muted);background:#f7f2e9e8;border-radius:50%;position:absolute;top:8px;right:8px}.loved{color:var(--wine)}.album-list{gap:0;display:grid}.album-list .album{border-bottom:1px solid var(--rule);padding:15px 40px 15px 0}.album-list .album-open{align-items:center;gap:22px;display:flex}.album-list .cover{flex-shrink:0;width:100px}.album-list .album-text{padding:0}.album-list .heart{top:26px}.album-list .format-tag{font-size:7px;bottom:4px;left:4px}.empty{border:1px dashed var(--rule);text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:315px;padding:35px;display:flex}.empty-disc{color:#9c8975;margin-bottom:8px}.empty h3{letter-spacing:-.04em;margin:10px 0;font-family:Noto Serif KR,serif;font-size:19px;font-weight:400}.empty p{color:var(--muted);margin:0 0 22px;font-size:11px;line-height:1.8}.empty .primary{padding:12px 20px;font-size:11px}.text-button{text-underline-offset:4px;color:var(--muted);margin-top:15px;font-size:10px;text-decoration:underline}.empty>a{padding:12px}footer{border-top:1px solid var(--rule);color:var(--muted);justify-content:space-between;margin-top:60px;padding:24px 0 30px;font-size:9px;display:flex}footer span:first-child{letter-spacing:.16em}dialog{border:1px solid var(--rule);background:var(--paper);color:var(--ink);width:min(840px,100% - 28px);max-height:92dvh;padding:0;overflow:auto}dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#26201888}.dialog-header{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;padding:25px 28px 18px;display:flex}.dialog-header h2{margin-bottom:0;font-size:25px}.dialog-header button{padding:6px}.editor-body{grid-template-columns:220px 1fr;gap:32px;padding:28px;display:grid}.cover-editor p{color:var(--muted);font-size:9px}.cover-editor .field{margin-top:22px;font-size:10px}.upload-button{border:1px solid var(--rule);cursor:pointer;justify-content:center;align-items:center;gap:7px;margin-top:12px;padding:12px;font-size:11px;display:flex}.upload-button input{opacity:0;width:1px;height:1px;position:absolute}.editor-fields{gap:18px;display:grid}.field{flex-direction:column;gap:8px;font-size:11px;display:flex}.field>span{color:var(--wine)}.field input,.field select,.field textarea{background:0 0;width:100%;font-size:12px}.two{grid-template-columns:1fr 1fr;gap:14px;display:grid}.checks{align-items:center;gap:22px;font-size:11px;display:flex}.checks label{align-items:center;gap:6px;display:flex}input[type=checkbox]{accent-color:var(--wine)}details{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:14px 0}details summary{cursor:pointer;font-size:12px}details summary span{color:var(--muted);margin-left:8px;font-size:10px}details .field,details .two{margin-top:14px}.dialog-actions{background:var(--paper);border-top:1px solid var(--rule);z-index:3;justify-content:flex-end;align-items:center;gap:16px;padding:18px 28px;font-size:12px;display:flex;position:sticky;bottom:0}.dialog-actions>span{color:var(--muted);margin-right:auto;font-size:10px}.danger{color:var(--wine);margin-right:auto}.detail-body{grid-template-columns:280px 1fr;gap:30px;padding:28px;display:grid}.detail-body h2{overflow-wrap:anywhere;margin:12px 0;font-size:28px}.detail-artist{color:var(--wine);line-height:1.6}.detail-body dl{margin-top:24px}.detail-body dl>div{border-bottom:1px solid var(--rule);grid-template-columns:80px 1fr;gap:12px;padding:7px 0;font-size:11px;line-height:1.7;display:grid}dt{color:var(--muted)}dd{overflow-wrap:anywhere;margin:0}.detail-body h4{margin-top:25px;font-size:11px;font-weight:500}.multiline{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted);font-size:12px;line-height:1.9}.form-error{color:#9b3434;margin:0 28px 20px;font-size:12px}.toast{background:var(--wine-dark);color:var(--paper);z-index:10;align-items:center;gap:10px;width:max-content;max-width:90%;padding:14px 22px;font-size:12px;display:flex;position:fixed;bottom:25px;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #0002}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (min-width:1400px){.album-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (max-width:1000px){.shell{padding:0 30px}.sleeves{display:none}.overview-title{width:34%}.metric{width:22%;padding-left:25px}.album-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tabs{gap:23px}.brand span{display:none}}@media (max-width:640px){.shell{padding:0 20px}header{height:70px}.brand{gap:8px;font-size:11px}.private{letter-spacing:.08em;font-size:7px}h1{font-size:32px}.intro{align-items:flex-start;gap:10px;padding:33px 0 25px}.intro .eyebrow{font-size:7px}.intro>.primary{white-space:nowrap;gap:4px;margin-top:31px;padding:11px;font-size:10px}.intro>.primary svg{width:14px}.subtitle{max-width:210px;font-size:10px;line-height:1.8}.overview{height:125px}.overview-title{display:none}.metric{gap:12px;width:33.333%;height:66px;padding-left:20px}.metric:first-of-type{border:0}.metric b{font-size:31px}.metric span{font-size:9px}.collection{padding-top:30px}.section-head h2{font-size:23px}.tools{gap:8px}.tools button{padding:3px;font-size:10px}.tabs{gap:23px}.filters{flex-wrap:wrap;gap:8px;margin-top:18px}.search{flex-basis:100%;height:42px}.filters select{flex:1;width:100px;padding:10px;font-size:10px}.filters .icon{width:36px}.view button{width:29px}.album-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 16px}.album-text h3{font-size:14px}.album-text>span{font-size:9px}.empty{min-height:330px;padding:28px 14px}.empty h3{font-size:17px}.empty p{max-width:230px;font-size:10px}.results{font-size:8px}.editor-body{grid-template-columns:1fr;gap:24px;padding:20px}.cover-editor{width:100%;max-width:230px;margin:auto}.dialog-header{padding:20px}.dialog-actions{gap:10px;padding:14px 18px}.dialog-actions>span{display:none}.detail-body{grid-template-columns:1fr;padding:22px}.detail-body>.cover{width:100%;max-width:300px;margin:auto}.detail-body h2{font-size:25px}.dialog-actions .primary{padding:12px 15px}.dialog-actions button{font-size:11px}footer{gap:12px;margin-top:38px;font-size:8px}footer span:last-child{display:none}.toast{font-size:11px}.detail-body .cover-placeholder svg{width:80px}}@media (prefers-reduced-motion:reduce){.spin{animation:none}}

/* Firebase edition: original Record Shelf visual language, both color themes. */
:root{color-scheme:light;--wineDeep:var(--wine-dark);--cover:#dfd8ca;--tag:#f7f2e9eb}
:root.dark{color-scheme:dark;--bg:#201f1c;--paper:#292722;--ink:#eee8dc;--muted:#b0a799;--rule:#49443c;--wine:#d39ba8;--wine-dark:#754451;--cover:#36312b;--tag:#292722eb}
[hidden]{display:none!important}.accountTools{display:flex;align-items:center;gap:16px}.accountTools button{font-size:11px;padding:8px 0}.accountTools #theme{font-size:21px;width:32px;height:32px;border:1px solid var(--rule);padding:0}.brand{white-space:nowrap}.intro{border-bottom:1px solid var(--rule);padding-bottom:40px}.collection{padding-top:30px}.tools{flex-wrap:wrap;justify-content:flex-end}.tools button{padding:6px 0}#status{font-size:12px;color:var(--wine);line-height:1.8;white-space:pre-line;margin:0 0 20px}#status:empty{display:none}.albumGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:35px 25px}.albumCard{min-width:0;display:flex;flex-direction:column}.albumCover{aspect-ratio:1;width:100%;padding:0;background:var(--cover);position:relative;overflow:hidden;display:flex}.albumCover img{width:100%;height:100%;object-fit:contain}.albumCover.noImage::before{content:'';width:58%;aspect-ratio:1;border:1px solid var(--muted);border-radius:50%;opacity:.45;box-shadow:0 0 0 10px var(--cover),0 0 0 11px var(--rule)}.albumCover.noImage::after{content:'';width:10%;aspect-ratio:1;border:1px solid var(--muted);border-radius:50%;position:absolute;left:45%;top:45%}.format-tag{background:var(--tag);color:var(--ink);z-index:1}.albumMetaTop{padding-top:15px;margin-bottom:7px}.albumComposer{font-size:10px;color:var(--wine);line-height:1.6;overflow-wrap:anywhere}.albumTitle{font-family:inherit;font-size:16px;font-weight:500;line-height:1.5;letter-spacing:0;margin:0 0 8px;overflow-wrap:anywhere}.albumTitle button{text-align:left;display:block;padding:0;font:inherit;line-height:inherit}.albumDetails{color:var(--muted);font-size:10px;line-height:1.9;overflow-wrap:anywhere}.albumCardActions{display:flex;gap:16px;margin-top:12px;padding-top:10px;border-top:1px solid var(--rule)}.albumCardActions button{font-size:10px;color:var(--muted);padding:3px 0}.albumGrid.listMode{grid-template-columns:1fr;gap:0}.listMode .albumCard{display:grid;grid-template-columns:100px 1fr;column-gap:22px;border-bottom:1px solid var(--rule);padding:18px 0}.listMode .albumCover{grid-column:1;grid-row:1/5;align-self:start}.listMode .albumMetaTop{padding-top:0}.listMode .albumTitle,.listMode .albumDetails,.listMode .albumCardActions{grid-column:2}.listMode .albumCardActions{border:0;padding:0;margin-top:8px}.empty{color:var(--muted);font-size:12px;line-height:1.9;margin:0}.siteFooter{margin-top:60px}dialog{width:min(760px,calc(100% - 28px))}.dialogHead{height:auto;border-bottom:1px solid var(--rule);padding:23px 28px;margin:0}.dialogHead h2{font-family:'Noto Serif KR',Georgia,serif;font-size:24px;margin:0}.dialogHead>button{font-size:25px;padding:0 7px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:26px 28px}.fields label{display:flex;flex-direction:column;gap:8px;font-size:11px}.fields input,.fields select,.fields textarea{width:100%;background:transparent;font-size:12px}.fields .wide{grid-column:1/-1}.fields label>span{display:flex;align-items:center;gap:8px;color:var(--muted)}.fields input[type=checkbox]{width:auto}.fields input[type=file]{padding:12px;border:1px dashed var(--rule)}#coverPreview{width:150px;height:150px;object-fit:contain;background:var(--cover)}#formError{font-size:12px;color:var(--wine);white-space:pre-line;margin:0 28px 18px}.editorFooter{position:sticky;bottom:0;z-index:2;background:var(--paper);margin:0;padding:18px 28px;justify-content:flex-end;gap:15px;font-size:12px}#detailBody{padding:28px}#detailBody img{float:left;width:240px;max-width:44%;margin:0 28px 20px 0;background:var(--cover)}#detailBody h3{font-size:25px;font-family:'Noto Serif KR',Georgia,serif;font-weight:400;line-height:1.6;margin:0 0 20px;overflow-wrap:anywhere}#detailBody dl{display:grid;grid-template-columns:80px 1fr;gap:12px;font-size:11px;line-height:1.7}#detailBody dd{overflow-wrap:anywhere}#detailBody h4{clear:both;padding-top:20px;border-top:1px solid var(--rule);font-size:12px;font-weight:500}#detailBody p{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted);font-size:12px;line-height:1.9}#detailBody:after{content:'';display:block;clear:both}button:focus-visible{outline:2px solid var(--wine)}
@media(min-width:1400px){.albumGrid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:1000px){.albumGrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.albumGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 16px}.albumTitle{font-size:14px}.accountTools{gap:10px}.accountTools button{font-size:10px}.brand{letter-spacing:.1em}.intro{padding-bottom:28px}.section-head{align-items:flex-start;gap:12px}.section-head h2{margin-bottom:20px}.tools{max-width:220px;gap:5px 12px;padding-top:4px}.tools button{font-size:10px;white-space:nowrap}.filters .view{height:37px}.fields{padding:20px;grid-template-columns:1fr}.fields .wide{grid-column:auto}.dialogHead{padding:20px}#detailBody{padding:22px}#detailBody img{float:none;width:100%;max-width:280px;display:block;margin:0 auto 22px}#detailBody h3{font-size:22px}.listMode .albumCard{grid-template-columns:80px 1fr;column-gap:15px}.format-tag{font-size:8px;padding:4px 6px}.intro>.primary{padding:10px}.results{padding:20px 0}.siteFooter{margin-top:38px}.editorFooter{padding:15px 20px}.editorFooter .primary{padding:12px 20px}.editorFooter span{display:initial}}
@media(max-width:360px){.shell{padding:0 14px}.brand{font-size:10px}.brand svg{width:19px}.accountTools{gap:7px}.tools{max-width:180px}h1{font-size:29px}}

/* Minimal labels, no editorial subtitles. */
.intro{padding:44px 0 26px}.intro h1{font-family:"DM Sans",Arial,sans-serif;font-size:48px;letter-spacing:-.055em;margin:0}.intro>.primary{margin-top:0}.collection{padding-top:16px}.section-head{justify-content:flex-end;margin-bottom:14px}.filters{margin-bottom:25px}:root.dark button.primary{background:var(--wine-dark);border-color:var(--wine-dark);color:#fff8ee}@media(max-width:640px){.intro{padding:30px 0 24px}.intro h1{font-size:36px}.intro>.primary{margin-top:0}.collection{padding-top:12px}.section-head{margin-bottom:10px}.tools{max-width:none}.filters{margin-bottom:22px}}
