/* Cinema: Posterarchiv mit warmen Akzenten und kantiger Typografie. */
.detail-dialog{width:min(620px,calc(100% - 28px))}
.detail-titlebar{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:26px}
.detail-titlebar h2{font:600 25px/1.25 "DM Sans",sans-serif;letter-spacing:-.7px}
.detail-titlebar .close-detail{float:none;flex-shrink:0}
.detail-progress{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;background:#2b2b20;border:1px solid #444331;padding:19px;margin-bottom:28px}
.detail-caption{display:block;color:var(--muted);font-size:9px;letter-spacing:1.4px;margin-bottom:8px}
.detail-progress strong{display:block;font-size:18px;font-weight:500}
.detail-progress p{font-size:12px;color:var(--muted);margin:6px 0 0}
.detail-progress>.progress{grid-column:1/-1}
.detail-section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}
.detail-section-heading h3{font-size:14px;font-weight:600;margin:0}
.detail-section-heading>span{font-size:11px;color:var(--muted)}
.compact-season{display:grid;grid-template-columns:1fr 90px 100px;gap:16px;align-items:center;min-height:62px;border-bottom:1px solid var(--line)}
.season-name strong{display:block;font-size:13px;font-weight:500}
.season-name span{display:block;color:var(--muted);font-size:11px;margin-top:4px}
.season-complete{border:1px solid #414136;background:transparent;color:var(--text);font-size:11px;padding:8px}
.progress-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}
.progress-undo{min-height:42px;border:0;background:transparent;color:var(--muted);font-size:11px;padding:8px 10px}
.progress-undo:hover:not(:disabled){background:#383729;color:var(--text)}
#progressResetError{color:#ffb5aa;font-size:13px}
.season-complete:hover:not(:disabled){background:#383729}
.season-complete:disabled{border-color:transparent;color:var(--accent);opacity:1}
.detail-rating{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:24px 0}
.detail-rating label{margin:0;font-size:13px}
.detail-rating select{width:150px;height:38px;font-size:12px}
.detail-manage{border-top:1px solid var(--line);padding-top:18px}
.detail-manage summary{cursor:pointer;font-size:13px;color:var(--text)}
.detail-manage summary span{color:var(--muted);font-size:11px;margin-left:10px}
.manage-content .action-row{margin-top:17px}
.manage-seasons{margin:0 0 20px}
.manage-seasons>div{display:flex;align-items:center;justify-content:space-between;padding:8px 0;font-size:12px;border-bottom:1px solid var(--line)}
.manage-remove{padding:7px 9px;border:0;background:transparent;color:#ffb5aa;font-size:12px}
.manage-remove:hover:not(:disabled){background:#42282b}
@media(max-width:500px){.detail-progress{grid-template-columns:1fr}.detail-progress>.button-primary{width:100%}.compact-season{grid-template-columns:1fr 85px;gap:10px}.compact-season>.progress{display:none}.detail-manage summary span{display:block;margin:7px 0 0}.detail-titlebar h2{font-size:22px}}
#seasonCountLabel[hidden]{display:none}
#seasonError{color:#ffb5aa;font-size:13px}
.season-line{flex-wrap:wrap}
.season-line>span{flex:1;min-width:120px}
:root{--bg:#121211;--panel:#1d1d1a;--line:#35352f;--text:#f5f2e9;--muted:#aaa89d;--accent:#f3e48b}
body{background:var(--bg)}
main{max-width:1600px;padding:0 5vw 64px}
.topbar{height:88px;border-bottom:0}
.brand-name{font-family:"Orbitron","DM Sans",sans-serif;font-size:23px;letter-spacing:3px;font-weight:500;font-style:normal;text-transform:uppercase}
.brand-mark{width:30px;height:30px;background:var(--accent)}
.brand-mark i{border-left-color:#242316}
.brand-name{color:var(--text)}
.brand-name span{color:var(--accent)}
.add-button,.button-primary{background:var(--accent);color:#292719;padding:12px 19px}
.add-button:hover,.button-primary:hover{background:#fff0a2}
.page-nav{gap:36px;padding-top:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.page-nav a{font-size:12px;text-transform:uppercase;letter-spacing:1.3px;padding:17px 0}
.page-nav a[aria-current]{text-shadow:none;color:var(--accent)}
.studio-intro{padding:42px 0 36px;align-items:center}
.studio-kicker{font-size:9px;letter-spacing:2px;color:var(--muted);margin-bottom:13px}
.studio-kicker:before{background:var(--accent);width:18px;height:2px}
.studio-intro h1{font-family:"Playfair Display",Georgia,serif;font-size:clamp(35px,4vw,58px);font-weight:600;letter-spacing:-1.6px}
.studio-description{font-size:13px;margin-top:14px}
.studio-total{border-left:0;text-align:right;padding-left:20px}
.studio-total strong{font-size:48px;font-weight:400;color:var(--accent);letter-spacing:-2px}
.studio-total span{font-size:9px;letter-spacing:1.7px}
.filter-bar{gap:8px;border:0;background:#191916;padding:7px;margin-bottom:26px;width:fit-content;max-width:100%}
.filter{border:0;padding:9px 18px;font-size:12px}
.filter.active{background:var(--accent);color:#292719}
.filter:hover:not(.active){background:#303029;color:var(--text)}
.small-cards{grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:30px 20px}
.media-card{display:block;min-height:0;padding:0;border:0;background:transparent;content-visibility:auto;contain-intrinsic-size:auto 345px}
.media-card:hover{background:transparent;box-shadow:none}
.poster{width:100%;aspect-ratio:2/3;min-height:0;border:1px solid #ffffff12;padding:18px;transition:border-color .18s,filter .18s}
.media-card:hover .poster{border:1px solid var(--accent);filter:brightness(1.08)}
.poster:after{background:linear-gradient(180deg,#0001,transparent 35%,#0009)}
.poster-title{font-family:"Playfair Display",Georgia,serif;font-weight:600;font-size:27px;line-height:1.12;letter-spacing:-.7px}
.placeholder-cover .poster-title{display:none}
.media-card h3,.media-card:has(.status-pill) h3{font-size:14px;font-weight:500;margin:10px 0 5px;line-height:1.4;letter-spacing:0}
.media-card p{font-size:11px;margin:0;color:var(--muted)}
.media-label{position:static;display:block;font-size:9px;line-height:1.6;letter-spacing:1px;color:var(--accent);margin:9px 0 0}
.favorite{background:#161611d9;border:1px solid #ffffff26;color:#eee9d4;top:9px;right:9px;width:30px;height:30px;font-size:18px}
.favorite:hover{background:#494533;color:var(--accent)}
.favorite.on{color:var(--accent)}
.section-header{border-color:var(--line)}
.section-title{font-size:10px;letter-spacing:1.5px}
.resume-row{background:#212119;border-color:#3c3c2d;border-left:3px solid var(--accent)}
.resume-cover{background:#39392d;color:var(--accent)}
.resume-button{background:#373729;border-color:#55553e;color:var(--accent)}
.resume-button:hover{background:#4d4b31}
.progress{background:#434334}
.empty-state{background:#1b1b17;border-color:var(--line)}
.empty-symbol{background:#313024;border-color:#53503a;color:var(--accent)}
.empty-state h2{font-family:"Playfair Display",Georgia,serif}
.dialog{background:#20201c;border-color:#454539;box-shadow:0 30px 100px #000a}
.dialog-heading{border-color:var(--line)}
.dialog h2{font-family:"Playfair Display",Georgia,serif;font-weight:600;font-size:28px}
.dialog label{color:#d1cfc3}
.dialog input,.dialog select{background:#151511;border-color:#454538;color:var(--text)}
.dialog input::file-selector-button{background:#3b3a2e;color:#ece5c2}
.close,.close-detail{background:#38372c;color:var(--text)}
.close:hover,.close-detail:hover{background:#53503c}
.button-secondary,.detail-action{background:#29291f;border-color:#4b4b39;color:var(--text)}
.button-secondary:hover,.detail-action:hover{background:#3c3b2c}
.detail-action.primary{background:var(--accent);color:#292719;border-color:var(--accent)}
.detail-action.danger{background:#352322;border-color:#794944;color:#ffb5aa}
.detail-action.danger:hover{background:#4b2e2b}
.login-gate{background:var(--bg)}
.login-card{background:var(--panel);border-color:var(--line)}
.login-card input{background:#151511;border-color:#454538}
.studio-footer{border-color:var(--line);color:var(--muted)}
@media(max-width:700px){
  main{padding-inline:20px}.topbar{height:76px}.brand-name{font-size:21px}
  .page-nav{gap:28px}.page-nav a{font-size:10px}
  .studio-intro{padding:28px 0}.studio-intro h1{font-size:34px}
  .studio-total strong{font-size:34px}.studio-kicker{font-size:8px;letter-spacing:1.3px}
  .small-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 14px}
  .poster{padding:12px}.poster-title{font-size:22px}
  .filter{padding:9px 14px}.dialog h2{font-size:25px}
}
