.page{padding-block:calc(68px + env(safe-area-inset-top,0px) + clamp(40px,7vw,80px)) clamp(80px,10vw,140px);min-height:70vh}
.page-loading{display:grid;place-items:center;min-height:40vh}

/* Anmeldung */
.auth-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(40px,6vw,96px);align-items:center}
@media (max-width:860px){.auth-layout{grid-template-columns:1fr}}
.auth-intro{display:flex;flex-direction:column;gap:24px}
.perks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.perks li{display:flex;align-items:center;gap:12px;font-size:16px}
.perks svg{width:20px;height:20px;color:var(--gold)}
.auth-card{display:flex;flex-direction:column;gap:20px;padding:clamp(22px,3vw,36px);border-radius:24px;border:1px solid var(--line);background:var(--night-2);box-shadow:0 40px 80px -40px var(--shadow)}
.fineprint{margin:0;color:var(--mute);font-size:13px;line-height:1.5}
.fineprint a{color:var(--ink)}

/* Sammlung */
.lib-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px 40px;margin-bottom:clamp(32px,5vw,56px)}
.lib-who{margin:18px 0 0;color:var(--mute)}
.lib-who b{color:var(--ink);font-weight:600;word-break:break-all}
.lib-stats{display:flex;gap:36px}
.lib-stats div{display:flex;flex-direction:column;gap:4px}
.lib-stats b{font:800 34px/1 var(--f-display);font-variant-numeric:tabular-nums}
.lib-stats span{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
#order-banner{margin-bottom:32px}

.library{display:flex;flex-direction:column;gap:20px}
.lib-album{display:grid;grid-template-columns:clamp(120px,16vw,180px) minmax(0,1fr);gap:clamp(18px,3vw,36px);padding:clamp(16px,2.4vw,28px);border-radius:22px;border:1px solid var(--line);background:var(--night-2);transition:border-color .4s,box-shadow .4s}
.lib-album.highlight{border-color:var(--gold);box-shadow:0 0 0 4px var(--gold-haze)}
.lib-cover{position:relative;align-self:start}
.lib-cover img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:4px;box-shadow:0 24px 40px -20px var(--shadow),0 0 0 1px var(--line)}
.lib-main{display:flex;flex-direction:column;gap:6px;min-width:0}
.lib-kicker{margin:0;font:600 12px/1.2 var(--f-body);letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.lib-title{margin:2px 0 0;font:800 clamp(28px,3vw,40px)/1 var(--f-display);text-transform:uppercase;text-wrap:balance}
.lib-facts{margin:0;color:var(--mute);font-size:14px}
.lib-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:16px}
.dl-main small{font:500 13px/1 var(--f-body);opacity:.75}
.files{list-style:none;margin:14px 0 0;padding:0;border-top:1px solid var(--line)}
.files li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:16px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}
.files .fname{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.files .fsize{color:var(--mute);font-variant-numeric:tabular-nums;white-space:nowrap}
.files a{display:inline-flex;align-items:center;gap:6px;color:var(--gold);text-decoration:none;font-weight:600;white-space:nowrap}
.files a:hover{text-decoration:underline}
.files svg{width:16px;height:16px}
.lib-pending{margin-top:14px}
@media (max-width:620px){
  .lib-album{grid-template-columns:96px minmax(0,1fr)}
  .lib-actions{grid-column:1 / -1}
  .lib-actions .btn{width:100%}
  .files{grid-column:1 / -1}
}
.lib-empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:64px 20px;text-align:center;border:1px dashed var(--line-strong);border-radius:22px}
.lib-empty .btn{margin-top:12px}
.empty-disc{width:120px;height:120px;margin-bottom:10px;border-radius:50%;opacity:.7;
  background:radial-gradient(circle,var(--night) 0 6%,var(--gold) 6.5% 18%,#0b0b0e 18.5% 20%,transparent 20.5%),repeating-radial-gradient(circle,#101115 0 1.2px,#191a20 1.7px 2.8px);animation:spin 6s linear infinite}

.lib-section{margin-top:clamp(56px,8vw,96px);display:flex;flex-direction:column;gap:20px}
.account-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:20px;align-items:start}
.account-card{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:24px;border-radius:20px;border:1px solid var(--line);background:var(--night-2)}
.account-card .field{width:100%}
.account-card p{margin:0}
.account-card-title{font:700 16px/1.3 var(--f-body)}

/* Rechtstexte */
.legal{max-width:72ch}
.legal-body{margin-top:32px;color:var(--ink);font-size:16px;line-height:1.7}
.legal-body p{margin:0 0 1em}
.legal-body h2{margin:1.8em 0 .5em;font:700 20px/1.3 var(--f-body)}
