:root{color:#1d2a2c;background:#f4f0e8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #1d2a2c;--muted: #68716e;--line: #dcded4;--panel: #fffdf8;--soft: #f8f6f0;--green: #17634d;--green-dark: #104636;--green-soft: #dfece4;--amber: #d28a35;--red: #a14e42}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;min-height:100vh;margin:0;background:radial-gradient(circle at 86% 0%,#dcebe0 0 12rem,transparent 30rem),#f4f0e8}button,input,textarea,select{font:inherit}button,select{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #0b5c4a;outline-offset:2px}.skip-link{position:fixed;z-index:20;top:.75rem;left:.75rem;padding:.7rem .9rem;color:#fff;background:var(--ink);border-radius:.45rem;transform:translateY(-180%);transition:transform .12s ease}.skip-link:focus{transform:translateY(0)}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.page-shell{width:min(100% - 2rem,1180px);min-height:100vh;margin:0 auto;padding:1.25rem 0 4rem}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.35rem 0 2rem}.topbar-search{display:flex;flex:1;align-items:center;gap:.65rem;max-width:42rem}.topbar-search .search-wrap{display:flex;flex:1;align-items:center;gap:.6rem;min-width:0;padding:0 .9rem;background:#f8f7f2;border:1px solid #d7ddd5;border-radius:.75rem}.topbar-search .search-wrap>span:not(.sr-only){color:var(--muted);font-size:1.1rem}.topbar-search input{width:100%;min-width:0;min-height:2.75rem;padding:.7rem 0;color:var(--ink);background:transparent;border:0;outline:0}.topbar-search .primary-button{min-height:2.75rem;padding:.7rem 1rem;border-radius:.75rem}.topbar-back-link{color:var(--green-dark);font-size:.82rem;font-weight:800;text-decoration:none}.topbar-back-link:hover{color:var(--green)}.account-menu{position:relative;flex:0 0 auto}.account-menu summary{list-style:none}.account-menu summary::-webkit-details-marker{display:none}.user-chip{display:inline-flex;align-items:center;gap:.55rem;padding:.4rem .65rem .4rem .4rem;color:var(--green-dark);background:var(--green-soft);border:1px solid transparent;border-radius:999px;font-size:.82rem;font-weight:750;cursor:pointer}.user-chip:hover,.account-menu[open] .user-chip{border-color:#b8d2c0;background:#d4e7db}.user-chip:after{margin-left:.1rem;color:var(--green);content:"⌄";font-size:.9rem}.avatar{display:grid;width:1.65rem;height:1.65rem;place-items:center;color:#fff;background:var(--green);border-radius:50%;font-size:.7rem}.account-dropdown{position:absolute;z-index:5;top:calc(100% + .55rem);right:0;display:grid;min-width:10rem;gap:.2rem;padding:.35rem;background:var(--panel);border:1px solid var(--line);border-radius:.8rem;box-shadow:0 1rem 3rem #26302a17}.account-dropdown a,.account-dropdown button{display:block;width:100%;padding:.65rem .75rem;color:var(--muted);background:transparent;border:0;border-radius:.55rem;font-size:.82rem;font-weight:750;text-align:left;text-decoration:none}.account-dropdown a:hover,.account-dropdown button:hover,.account-dropdown a[aria-current=page]{color:var(--green-dark);background:var(--green-soft)}.hero{width:min(100%,86rem);margin:0 auto;padding:clamp(1.25rem,4vw,3.5rem);background:var(--panel);border:1px solid var(--line);border-radius:1.5rem;box-shadow:0 1.5rem 4rem #23304417}.eyebrow,.status-label,.set-kicker,.state-kicker,.player-kicker,.rating-label{margin:0;color:#5e7189;font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}h1,h2,h3,p{overflow-wrap:anywhere}h1{margin:.75rem 0 1rem;color:var(--ink);font-size:clamp(2.75rem,8vw,5rem);letter-spacing:-.06em;line-height:.95}.lede{max-width:42rem;margin:0;color:#526176;font-size:clamp(1.05rem,2vw,1.25rem);line-height:1.6}.auth-panel{display:grid;gap:1rem;margin-top:1.25rem;padding:1.25rem;background:#fbfcfc;border:1px solid #e3e8ee;border-radius:.9rem}.account-security-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;margin-top:2rem;padding:1.15rem 1.25rem;background:var(--panel);border:1px solid var(--line);border-radius:.9rem}.account-security-card h2{margin:.3rem 0 0;color:var(--ink);font-size:1.1rem;letter-spacing:-.025em}.account-security-copy{margin:.45rem 0 0;color:var(--muted);font-size:.88rem;line-height:1.45}.account-security-card .form-message{grid-column:1 / -1}.panel-heading,.catalogue-heading,.account-route-heading,.admin-heading,.set-card-heading,.rating-input-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.panel-heading h2,.catalogue-heading h2,.account-route-heading h2,.admin-heading h2{margin:.35rem 0 0;color:var(--ink);font-size:clamp(1.4rem,3vw,2rem);letter-spacing:-.035em}.mode-switch,.filter-switch{display:flex;gap:.35rem;padding:.25rem;background:#edf1f3;border-radius:.6rem}.mode-switch button,.filter-switch button,.text-button{border:0;color:#526176;background:transparent}.mode-switch button,.filter-switch button{flex:1;padding:.55rem .75rem;border-radius:.4rem;white-space:nowrap}.mode-switch button.selected,.filter-switch button.selected{color:var(--ink);background:#fff;box-shadow:0 1px 3px #2330441f}.text-button{padding:.25rem 0;text-decoration:underline;text-underline-offset:.2rem}.account-actions{display:flex;align-items:center;justify-content:flex-end;gap:.9rem;flex-wrap:wrap}.account-navigation{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap}.account-navigation a[aria-current=page]{color:var(--ink);font-weight:700}.auth-form{display:grid;gap:.85rem}.auth-form label,.artist-search label,.sort-control{display:grid;gap:.35rem;color:#526176;font-size:.88rem;font-weight:600}.form-label{margin:0;color:#526176;font-size:.88rem;font-weight:600}.auth-form input,.artist-search input,.sort-control select{width:100%;min-height:2.75rem;padding:.7rem .75rem;color:var(--ink);background:#fff;border:1px solid #cfd8e1;border-radius:.5rem}.sort-control select{padding-right:2.2rem}.auth-form .cf-turnstile{min-height:65px}.turnstile-field{display:grid;gap:.35rem;min-width:0}.primary-button,.secondary-button{min-height:2.75rem;padding:.7rem 1rem;border-radius:.5rem;font-weight:700}.primary-button{color:#fff;background:var(--green);border:0}.secondary-button{color:#245744;background:var(--green-soft);border:1px solid #c5ded4}.primary-button:disabled,.secondary-button:disabled,.rating-half-button:disabled,.remove-rating-button:disabled{cursor:wait;opacity:.6}.form-help,.muted,.form-message,.form-error{margin:0;font-size:.85rem;line-height:1.5}.form-help,.muted{color:#6d7d90}.form-message{color:var(--green)}.form-error{color:var(--red)}input[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--red);box-shadow:0 0 0 1px var(--red)}.catalogue-section,.account-route{margin-top:2.75rem;padding-top:2rem;border-top:1px solid #e3e8ee}.account-route-heading{align-items:flex-end}.account-route-heading h2{margin-top:.35rem}.account-back-link{flex:0 0 auto;text-decoration:none}.account-route .account-history{margin-top:2rem}.catalogue-heading{align-items:flex-end}.catalogue-lede{max-width:48rem;margin:.7rem 0 0;color:var(--muted);line-height:1.55}.catalogue-count{flex:0 0 auto;padding:.45rem .7rem;color:#245744;background:var(--green-soft);border-radius:999px;font-size:.82rem;font-weight:700}.catalogue-controls{display:grid;grid-template-columns:minmax(16rem,1fr) minmax(9rem,12rem) auto;align-items:end;gap:.85rem;margin-top:1.5rem;padding:1rem;background:var(--soft);border:1px solid #e3e8ee;border-radius:.85rem}.search-row{display:flex;align-items:center;gap:.5rem}.search-row input{min-width:0}.search-row .text-button{flex:0 0 auto}.filter-switch{min-height:2.75rem}.submission-placeholder{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.85rem;padding:.9rem 1rem;background:#fffaf2;border:1px solid #f0dfc1;border-radius:.75rem}.submission-placeholder p:not(.state-kicker){max-width:52rem;margin:.25rem 0 0;color:#765d39;font-size:.84rem;line-height:1.45}.submission-placeholder .secondary-button{flex:0 0 auto}.dialog-backdrop{position:fixed;z-index:10;inset:0;display:grid;place-items:center;padding:1rem;background:#1d2a2c94}.submission-dialog{width:min(100%,34rem);max-height:min(100%,42rem);overflow:auto;padding:clamp(1.25rem,4vw,2rem);background:var(--panel);border:1px solid var(--line);border-radius:1rem;box-shadow:0 1.5rem 4rem #26302a40}.auth-dialog .mode-switch,.auth-dialog .auth-form,.password-dialog .password-form{margin-top:1.25rem}.auth-dialog>.form-error{margin-top:1rem}.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.dialog-heading h2{margin:.35rem 0 0;color:var(--ink);font-size:clamp(1.35rem,3vw,1.8rem);letter-spacing:-.04em}.dialog-close{width:2.2rem;height:2.2rem;flex:0 0 auto;color:var(--muted);background:var(--soft);border:1px solid var(--line);border-radius:50%;font-size:1.5rem;line-height:1}.dialog-description{margin:1rem 0 0;color:var(--muted);font-size:.9rem;line-height:1.55}.submission-form{display:grid;gap:.65rem;margin-top:1.25rem}.submission-form label{color:var(--ink);font-size:.88rem;font-weight:700}.submission-form input{width:100%;min-height:2.85rem;padding:.7rem .75rem;color:var(--ink);background:#fff;border:1px solid #cfd8e1;border-radius:.5rem}.dialog-help,.dialog-result p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.5}.dialog-actions{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;margin-top:.5rem}.dialog-result{display:grid;gap:1rem;margin-top:1.25rem}.dialog-result .primary-button{justify-self:start}.dialog-result-success{padding:1rem;background:var(--green-soft);border-radius:.7rem}.catalogue-notice{margin:1rem 0 0;padding:.75rem .9rem;color:#245744;background:var(--green-soft);border-radius:.6rem;font-size:.88rem}.catalogue-results{min-height:12rem;margin-top:1.25rem}.loading-grid,.set-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.catalogue-skeleton{min-height:34rem;background:linear-gradient(110deg,#f1f4f5 8%,#fafbfb 18%,#f1f4f5 33%);background-size:200% 100%;border:1px solid #e5eaed;border-radius:1rem;animation:catalogue-shimmer 1.4s linear infinite}@keyframes catalogue-shimmer{to{background-position-x:-200%}}.catalogue-state{max-width:42rem;margin:0 auto;padding:2.5rem 1.25rem;text-align:center;background:var(--soft);border:1px dashed #cfd9df;border-radius:1rem}.catalogue-state h3{margin:.55rem 0;color:var(--ink);font-size:1.25rem}.catalogue-state p:not(.state-kicker){max-width:34rem;margin:0 auto 1rem;color:var(--muted);line-height:1.55}.catalogue-error-state{border-color:#e3c9c4}.set-card{display:grid;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:1rem;box-shadow:0 .6rem 1.6rem #2330440d}.set-artwork{display:grid;aspect-ratio:16 / 8;place-items:center;overflow:hidden;background:linear-gradient(135deg,rgb(47 110 87 / 18%),transparent),#dfe9e7}.set-artwork img{width:100%;height:100%;object-fit:cover}.artwork-fallback{color:#5b897e;font-size:2.25rem;font-weight:800;letter-spacing:-.08em}.set-card-body{display:grid;gap:1rem;padding:1.15rem}.set-card-heading{display:block}.set-card-heading h3{margin:.35rem 0 .2rem;color:var(--ink);font-size:clamp(1.2rem,2vw,1.45rem);letter-spacing:-.035em}.set-artist{margin:0;color:var(--muted);font-weight:600}.aggregate-card{display:grid;gap:.2rem;padding:.75rem;background:#f7f9fa;border:1px solid #e6ecef;border-radius:.65rem}.set-details{color:var(--muted);border-top:1px solid #e8edef;border-bottom:1px solid #e8edef}.set-details summary{padding:.75rem 0;color:#365d58;cursor:pointer;font-size:.86rem;font-weight:700}.set-details dl{display:grid;gap:.55rem;margin:0 0 .8rem}.set-details dl div{display:flex;justify-content:space-between;gap:1rem;font-size:.82rem}.set-details dt{color:var(--muted)}.set-details dd{margin:0;color:var(--ink);font-weight:600;text-align:right}.source-link{display:inline-block;margin-bottom:.9rem;color:#2f6e57;font-size:.82rem;font-weight:700;text-underline-offset:.2rem}.player-placeholder{display:grid;align-content:center;gap:.55rem;min-height:12rem;padding:.9rem;box-sizing:border-box;background:#f7f9fa;border:1px solid #e3e9ec;border-radius:.7rem}.player-placeholder p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.45}.player-placeholder .secondary-button{justify-self:start;min-height:2.35rem;padding:.5rem .8rem;font-size:.82rem}.player-frame{display:grid;grid-template-rows:minmax(0,1fr) auto;height:12rem;box-sizing:border-box;overflow:hidden;min-height:10rem;background:#f7f9fa;border:1px solid #e3e9ec;border-radius:.7rem}.player-frame iframe{display:block;width:100%;height:100%;min-height:0;border:0}.player-fallback{padding:.7rem .85rem;border-top:1px solid #e3e9ec}.player-fallback summary{color:#365d58;cursor:pointer;font-size:.82rem;font-weight:700}.player-fallback p{margin:.6rem 0;color:var(--muted);font-size:.78rem;line-height:1.45}.rating-input{display:grid;gap:.7rem;padding:1rem;background:#fbfcfc;border:1px solid #e3e9ec;border-radius:.75rem}.rating-identity,.rating-help,.rating-feedback{margin:0;color:var(--muted);font-size:.78rem;line-height:1.4}.rating-identity{margin-top:.15rem}.rating-value{flex:0 0 auto;color:var(--ink);font-size:.92rem;font-weight:800}.rating-stars{display:flex;gap:.08rem;align-items:center;width:max-content}.rating-stars-row{display:flex;align-items:center;justify-content:flex-start;gap:.75rem;width:max-content;max-width:100%;min-height:2.35rem}.rating-star{position:relative;display:block;width:2.1rem;height:2.35rem}.rating-star-visual{position:absolute;inset:0;color:#d3dce1;font-size:2.15rem;line-height:2.35rem;pointer-events:none}.rating-star-fill{position:absolute;inset:0;overflow:hidden;color:var(--amber);white-space:nowrap}.rating-half-button{position:absolute;top:0;z-index:1;width:50%;height:100%;padding:0;background:transparent;border:0}.rating-half-button-left{left:0;border-radius:.4rem 0 0 .4rem}.rating-half-button-right{right:0;border-radius:0 .4rem .4rem 0}.remove-rating-button{display:grid;flex:0 0 auto;place-items:center;width:2rem;height:2rem;margin-left:0;padding:0;color:var(--red);background:transparent;border:1px solid #e7c8c2;border-radius:50%;font-size:1.25rem;line-height:1}.remove-rating-button:hover{background:#fff4f1}.rating-feedback-success{color:var(--green)}.rating-feedback-error,.catalogue-load-error{color:var(--red)}.toast{position:fixed;right:1rem;bottom:1rem;z-index:30;width:max-content;max-width:min(26rem,calc(100vw - 2rem));padding:.8rem 1rem;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:.7rem;box-shadow:0 1rem 2.5rem #26302a29;font-size:.84rem;font-weight:750;line-height:1.35;pointer-events:none;animation:toast-in .18s ease-out}.toast-success{color:#245744;border-color:#b8d2c0}.toast-error{color:var(--red);border-color:#e7c8c2}@keyframes toast-in{0%{opacity:0;transform:translateY(.4rem)}to{opacity:1;transform:translateY(0)}}.load-more-row{display:flex;justify-content:center;margin-top:1.25rem}.admin-section,.admin-users-section{margin-top:2.75rem;padding-top:2rem;border-top:1px solid #e3e8ee}.admin-heading{align-items:flex-end}.admin-heading h2{margin-top:.35rem}.admin-lede{max-width:48rem;margin:.7rem 0 0;color:var(--muted);line-height:1.55}.admin-controls{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.5rem;padding:1rem;background:var(--soft);border:1px solid #e3e8ee;border-radius:.85rem}.admin-user-controls{display:flex;gap:.9rem;margin-top:1.25rem}.admin-user-controls label{display:grid;gap:.35rem;color:var(--muted);font-size:.78rem;font-weight:700}.admin-user-controls select,.admin-table select{min-height:2.5rem;padding:.5rem .65rem;color:var(--ink);background:#fff;border:1px solid #cfd8e1;border-radius:.5rem;font:inherit}.admin-filter-switch{display:flex;gap:.35rem;padding:.25rem;background:#edf1f3;border-radius:.6rem}.admin-filter-switch button{min-width:6rem;padding:.55rem .75rem;color:#526176;background:transparent;border:0;border-radius:.4rem;white-space:nowrap}.admin-filter-switch button.selected{color:var(--ink);background:#fff;box-shadow:0 1px 3px #2330441f}.admin-count{flex:0 0 auto;padding:.45rem .7rem;color:#245744;background:var(--green-soft);border-radius:999px;font-size:.82rem;font-weight:700}.admin-notice{margin:1rem 0 0;padding:.75rem .9rem;color:#245744;background:var(--green-soft);border-radius:.6rem;font-size:.88rem;line-height:1.45}.admin-results{min-height:12rem;margin-top:1.25rem}.admin-user-results{min-height:8rem;margin-top:1.25rem;width:100%}.admin-table-wrap{overflow-x:auto;margin-top:1.25rem;background:var(--panel);border:1px solid var(--line);border-radius:.9rem}.admin-table{width:max(100%,48rem);min-width:48rem;border-collapse:collapse;text-align:left}.admin-table th,.admin-table td{padding:.85rem 1rem;border-bottom:1px solid var(--line);vertical-align:middle}.admin-table thead th{color:var(--muted);background:var(--soft);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.admin-table tbody tr:last-child th,.admin-table tbody tr:last-child td{border-bottom:0}.admin-table tbody th{color:var(--ink);font-size:.92rem;font-weight:800}.admin-table tbody td{color:var(--muted);font-size:.84rem}.admin-table .admin-protected-role{display:block;min-width:9.5rem}.admin-set-table{width:max(100%,68rem);min-width:68rem}.admin-set-title-cell{min-width:18rem}.admin-set-title{display:flex;align-items:center;gap:.7rem}.admin-set-title img{width:2.75rem;height:2.75rem;flex:0 0 auto;object-fit:cover;border-radius:.45rem}.admin-set-title>div{display:grid;gap:.2rem}.admin-set-title strong{color:var(--ink)}.admin-set-title span{color:var(--muted);font-size:.8rem;font-weight:500}.admin-table .admin-set-details{margin-top:.65rem;border-top:0;border-bottom:0}.admin-table .admin-set-details summary{padding:0;font-size:.78rem}.admin-table .admin-set-details dl{margin-top:.7rem}.admin-table .admin-set-details dl div{font-size:.76rem}.admin-table-ratings{display:grid;gap:.2rem;min-width:9rem}.admin-table-ratings strong{color:var(--ink);font-size:1.05rem}.admin-table-ratings span{font-size:.76rem}.admin-set-table .admin-actions{min-width:11rem}.admin-user-skeleton{min-height:8rem;background:linear-gradient(110deg,#f1f4f5 8%,#fafbfb 18%,#f1f4f5 33%);background-size:200% 100%;border:1px solid #e5eaed;border-radius:.85rem;animation:catalogue-shimmer 1.4s linear infinite}.admin-protected-role{color:#765d39;font-size:.8rem;font-weight:700}.admin-loading-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.admin-skeleton{min-height:30rem;background:linear-gradient(110deg,#f1f4f5 8%,#fafbfb 18%,#f1f4f5 33%);background-size:200% 100%;border:1px solid #e5eaed;border-radius:1rem;animation:catalogue-shimmer 1.4s linear infinite}.admin-state{max-width:42rem;margin:0 auto;padding:2.5rem 1.25rem;text-align:center;background:var(--soft);border:1px dashed #cfd9df;border-radius:1rem}.admin-state h3{margin:.55rem 0;color:var(--ink);font-size:1.25rem}.admin-state p:not(.state-kicker){max-width:34rem;margin:0 auto 1rem;color:var(--muted);line-height:1.55}.admin-access-state .secondary-button{margin-top:.35rem}.admin-error-state{border-color:#e3c9c4}.admin-set-card{display:grid;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:1rem;box-shadow:0 .6rem 1.6rem #2330440d}.admin-set-artwork{display:grid;aspect-ratio:16 / 8;place-items:center;overflow:hidden;background:linear-gradient(135deg,rgb(47 110 87 / 18%),transparent),#dfe9e7}.admin-set-artwork img{width:100%;height:100%;object-fit:cover}.admin-set-body{display:grid;gap:1rem;padding:1.15rem}.admin-set-heading{display:block}.admin-set-heading h3{margin:.35rem 0 .2rem;color:var(--ink);font-size:clamp(1.2rem,2vw,1.45rem);letter-spacing:-.035em}.admin-status{display:inline-block;padding:.3rem .55rem;border-radius:999px;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.admin-status-published{color:#245744;background:var(--green-soft)}.admin-status-hidden{color:#7d4d22;background:#fff1dc}.admin-rating-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.admin-rating-summary div{display:grid;gap:.2rem;padding:.75rem;background:#f7f9fa;border:1px solid #e6ecef;border-radius:.65rem}.admin-rating-summary span{color:var(--muted);font-size:.75rem}.admin-rating-summary strong{color:var(--ink);font-size:1.15rem}.admin-set-details{color:var(--muted);border-top:1px solid #e8edef;border-bottom:1px solid #e8edef}.admin-set-details summary{padding:.75rem 0;color:#365d58;cursor:pointer;font-size:.86rem;font-weight:700}.admin-set-details dl{display:grid;gap:.55rem;margin:0 0 .8rem}.admin-set-details dl div{display:flex;justify-content:space-between;gap:1rem;font-size:.82rem}.admin-set-details dt{color:var(--muted)}.admin-set-details dd{max-width:70%;margin:0;color:var(--ink);font-weight:600;text-align:right;overflow-wrap:anywhere}.admin-id,.admin-merge-note code,.dialog-result code,.admin-confirmation code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.78em}.admin-merge-note{margin:0;padding:.7rem .8rem;color:#765d39;background:#fffaf2;border:1px solid #f0dfc1;border-radius:.65rem;font-size:.82rem;line-height:1.45}.admin-actions{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}.admin-hide-button{color:#7d3f36;background:#fff4f1;border-color:#e7c8c2}.admin-merge-button{color:#365d58}.admin-load-error{margin-top:1rem}.admin-action-dialog{width:min(100%,38rem);max-height:min(100%,44rem);overflow:auto;padding:clamp(1.25rem,4vw,2rem);background:var(--panel);border:1px solid var(--line);border-radius:1rem;box-shadow:0 1.5rem 4rem #17223540}.admin-action-form{display:grid;gap:.65rem;margin-top:1.25rem}.admin-action-form label{display:grid;gap:.35rem;color:var(--ink);font-size:.88rem;font-weight:700}.admin-action-form input,.admin-action-form textarea{width:100%;padding:.7rem .75rem;color:var(--ink);background:#fff;border:1px solid #cfd8e1;border-radius:.5rem;resize:vertical}.admin-action-form input{min-height:2.85rem}.admin-confirmation{display:grid;gap:.8rem;margin-top:1.25rem;padding:1rem;background:#fffaf2;border:1px solid #f0dfc1;border-radius:.75rem}.admin-confirmation p{margin:0;color:#765d39;line-height:1.5}.admin-confirmation .dialog-actions{margin-top:.2rem}.app-content{display:flex;flex-direction:column}.app-content>.catalogue-section,.app-content>.account-route,.app-content>.admin-section,.app-content>.admin-users-section{order:1}.app-content>.auth-panel{order:2;margin-top:2.5rem}.catalogue-section{margin-top:0;padding-top:.5rem;border-top:0}.app-content>.account-route,.app-content>.admin-section{margin-top:0;padding-top:.5rem;border-top:0}.catalogue-heading{align-items:center;margin-bottom:1rem}.catalogue-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;flex:0 0 auto}.catalogue-heading h2{margin:0;color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:clamp(1.65rem,3vw,2.15rem);font-weight:500;letter-spacing:-.06em}.catalogue-count{padding:.45rem 0;color:var(--muted);background:transparent;border-radius:0;font-size:.82rem;font-weight:750}.catalogue-controls{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 1.25rem;padding:.5rem;background:#fffdf8b8;border:1px solid var(--line);border-radius:.9rem}.filter-switch{display:flex;gap:.25rem;padding:0;background:transparent;border-radius:.6rem}.filter-switch button{padding:.55rem .8rem;color:var(--muted);background:transparent;border:0;border-radius:.6rem;font-size:.82rem;font-weight:800;white-space:nowrap}.filter-switch button:hover,.filter-switch button.selected{color:var(--green-dark);background:var(--green-soft);box-shadow:none}.catalogue-actions{display:flex;align-items:center;gap:.35rem}.sort-control{display:block}.sort-control select{min-height:2.35rem;padding:.55rem .7rem;color:var(--muted);background:transparent;border:1px solid transparent;border-radius:.6rem;font-size:.82rem}.sort-control select:hover{border-color:var(--line)}.view-toggle{display:inline-flex;align-items:center;gap:.1rem;min-height:2.35rem;padding:.2rem;color:var(--muted);background:#f8f7f2;border:1px solid var(--line);border-radius:.65rem;white-space:nowrap}.view-toggle button{min-height:1.9rem;padding:.4rem .65rem;color:var(--muted);background:transparent;border:0;border-radius:.45rem;font-size:.78rem;font-weight:800}.view-toggle button:hover,.view-toggle button.selected{color:var(--green-dark);background:var(--green-soft)}.view-toggle-divider{color:#c2c9c4;font-size:.78rem;-webkit-user-select:none;user-select:none}.submit-button{min-height:2.35rem;padding:.55rem .75rem;font-size:.78rem}.catalogue-results{min-height:12rem;margin-top:0}.loading-grid,.set-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.set-card{display:grid;grid-template-rows:auto 1fr;overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:1rem;box-shadow:none;transition:transform .16s ease,box-shadow .16s ease}.set-card:hover{transform:translateY(-3px);box-shadow:0 1rem 2rem #26302a1a}.set-artwork{position:relative;display:grid;aspect-ratio:16 / 8;place-items:center;overflow:hidden;background:linear-gradient(135deg,#224c44,#8ea77a 52%,#e5b76e)}.set-artwork:after{position:absolute;right:-3rem;bottom:-4rem;width:13rem;height:13rem;border:1px solid rgb(255 255 255 / 45%);border-radius:50%;box-shadow:0 0 0 1.25rem #ffffff1c,0 0 0 2.5rem #ffffff14;content:""}.set-artwork img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover}.artwork-fallback{position:relative;z-index:1;color:#fffc;font-family:Georgia,Times New Roman,serif;font-size:4.5rem;font-weight:500;letter-spacing:-.08em}.set-card-body{display:grid;gap:1rem;padding:1rem}.set-card-heading h3{margin:.25rem 0 0;color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:1.45rem;font-weight:500;letter-spacing:-.045em;line-height:1.02}.set-kicker{color:var(--green);font-size:.73rem;font-weight:850;letter-spacing:.15em}.set-artist{margin:.4rem 0 0;color:var(--muted);font-size:.84rem;font-weight:500}.aggregate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.aggregate-card{display:grid;gap:.2rem;padding:.7rem;background:var(--soft);border:1px solid var(--line);border-radius:.65rem}.aggregate-label,.aggregate-count{color:var(--muted);font-size:.75rem}.aggregate-card strong{color:var(--ink);font-size:1.15rem}.player-placeholder,.player-frame{background:var(--soft);border-color:var(--line)}.rating-input{padding:.9rem 0 0;background:transparent;border:0;border-top:1px solid var(--line);border-radius:0}.rating-star-visual{color:#d4d8d0}.rating-star-fill{color:var(--amber)}.list-view{grid-template-columns:1fr}.list-view .set-card{display:block;overflow:visible;background:transparent;border:0;box-shadow:none;perspective:1200px}.list-view .set-card-inner{--list-row-height: 12rem;display:grid;min-height:var(--list-row-height);position:relative;transform-style:preserve-3d;transition:transform .46s cubic-bezier(.2,.7,.2,1)}.list-view .set-card-face{grid-area:1 / 1;min-width:0;min-height:var(--list-row-height);backface-visibility:hidden}.list-view .set-card-front{display:grid;grid-template-columns:8rem minmax(0,1fr);grid-template-rows:1fr;overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:1rem}.list-view .set-card-back{position:absolute;inset:0;visibility:hidden;transform:rotateY(180deg)}.list-view .set-card.is-listen-side .set-card-inner{transform:rotateY(180deg)}.list-view .set-card.is-listen-side .set-card-front{visibility:hidden}.list-view .set-card.is-listen-side .set-card-back{visibility:visible}.list-view .set-artwork{aspect-ratio:auto;min-height:8rem}.list-view .set-card-body{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"heading aggregate" "rating action";align-items:center;gap:.55rem 1rem;padding:.7rem}.list-view .set-card-heading h3{font-size:1.25rem}.list-view .set-card-heading .set-artist{margin-top:.2rem}.list-view .aggregate-card{padding:.5rem}.list-view .aggregate-card strong{font-size:1rem}.list-view .set-details{display:none}.list-view .rating-input{min-width:0;gap:.3rem}.list-view .rating-identity,.list-view .rating-help{display:none}.list-view .rating-input-heading{align-items:center}.list-view .rating-label{margin:0}.list-view .listen-side-trigger{grid-area:action;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;width:auto;min-height:2.7rem;padding:.65rem .85rem;color:var(--green-dark);background:var(--green-soft);border:1px solid #b8d2c0;border-radius:.65rem;font-size:.82rem;font-weight:850;text-align:center}.listen-side-label{font-size:.86rem}.listen-side-icon{font-size:.7rem}.list-view .set-listen-side{display:grid;grid-template-columns:minmax(10rem,.75fr) minmax(16rem,1.5fr) auto;align-items:center;gap:1rem;height:100%;min-height:var(--list-row-height);padding:.8rem;background:var(--panel);border:1px solid var(--line);border-radius:1rem}.list-view .set-listen-side-heading{display:grid;gap:.4rem;min-width:0}.set-listen-side-heading h3{margin:.25rem 0 0;color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:1.35rem;font-weight:500;letter-spacing:-.045em;line-height:1.05}.list-view .set-listen-side-heading .rating-input{grid-area:auto;align-self:auto;gap:.3rem;padding:0;background:transparent;border:0}.list-view .set-listen-side-heading .rating-input-heading{display:block}.list-view .set-listen-side-heading .rating-identity,.list-view .set-listen-side-heading .rating-help{display:none}.list-view .set-listen-side-heading .rating-label{margin:0}.list-view .set-listen-side .player-placeholder,.list-view .set-listen-side .player-frame{width:100%;height:10rem;min-height:10rem}.set-listen-back{justify-self:end;white-space:nowrap}.list-view .set-card-heading{grid-area:heading}.list-view .aggregate-grid{grid-area:aggregate}.list-view .set-details{grid-area:details}.list-view .player-placeholder,.list-view .player-frame{height:8rem;min-height:8rem}.list-view .rating-input{grid-area:rating;align-self:end;padding-top:0;border-top:0}@media(max-width:720px){.page-shell{width:min(100% - 1.25rem,1180px);padding-top:.8rem}.topbar{align-items:stretch;flex-direction:column-reverse;gap:.75rem;padding-bottom:1.2rem}.topbar-search{max-width:none}.account-menu{align-self:flex-end}.hero{padding:1.15rem;border-radius:1rem}.catalogue-controls,.loading-grid,.set-grid,.admin-loading-grid{grid-template-columns:1fr}.catalogue-controls{align-items:stretch;flex-direction:column}.catalogue-actions{justify-content:space-between;flex-wrap:wrap}.list-view .set-card{perspective:1000px}.list-view .set-card-front{grid-template-columns:7rem minmax(0,1fr)}.list-view .set-card-inner{--list-row-height: 16rem}.list-view .set-listen-side{grid-template-columns:1fr;align-content:center;height:auto}.list-view .set-card-back{position:relative;inset:auto;grid-area:1 / 1}.list-view .set-listen-back{justify-self:start}.list-view .set-card-body{grid-template-columns:1fr auto;grid-template-areas:"heading aggregate" "rating action"}.list-view .rating-input{justify-self:stretch}.catalogue-heading{display:block}.catalogue-heading-actions{justify-content:space-between;margin-top:.75rem}.account-route-heading{display:block}.account-security-card{grid-template-columns:1fr;align-items:start}.account-security-card .secondary-button{justify-self:start}.admin-heading{display:block}.admin-heading>.text-button{display:inline-block;margin-top:.8rem}.admin-controls{align-items:stretch;flex-direction:column}.admin-user-controls{flex-direction:column}.admin-filter-switch{width:100%}.admin-filter-switch button{flex:1}.submission-placeholder{align-items:flex-start;flex-direction:column}.dialog-actions,.search-row{flex-wrap:wrap}.search-row input{flex:1 1 100%}.catalogue-count{display:inline-block;margin-top:.8rem}.filter-switch{width:100%}.catalogue-skeleton{min-height:24rem}}@media(max-width:460px){.panel-heading,.rating-input-heading{display:block}.panel-heading .text-button,.rating-value{display:inline-block;margin-top:.6rem}.account-navigation{margin-top:.6rem}.search-row,.topbar-search{flex-wrap:wrap}.topbar-search .search-wrap{flex:1 1 100%}.topbar-search .primary-button{flex:1}.search-row input{flex:1 1 100%}.aggregate-grid{grid-template-columns:1fr}.list-view .set-card{perspective:900px}.list-view .set-card-front{grid-template-columns:1fr;grid-template-rows:auto 1fr}.list-view .set-card-body{grid-template-columns:1fr;grid-template-areas:none}.list-view .set-card-body>*{grid-area:auto}.list-view .rating-input{padding-top:.9rem;border-top:1px solid var(--line)}.admin-rating-summary{grid-template-columns:1fr}.admin-set-details dl div{align-items:flex-start;flex-direction:column;gap:.15rem}.admin-set-details dd{max-width:100%;text-align:left}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
