[x-cloak]{display:none!important}
*,*::before,*::after{box-sizing:border-box}
:root{color-scheme:dark;--rose:#f4a7b9;--cream:#f8e4c4;--panel:rgba(255,255,255,.045)}
html{max-width:100%;overflow-x:clip}
*{scrollbar-width:thin;scrollbar-color:#3b333f transparent}
body{max-width:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#0f0d13;overflow-x:clip}.app-shell{max-width:100%;overflow-x:clip;padding-bottom:calc(5.75rem + env(safe-area-inset-bottom))}.mobile-bottom-nav{padding-bottom:max(.5rem,env(safe-area-inset-bottom))}
.font-serif{font-family:Georgia,"Times New Roman",serif}
.ambient{position:fixed;pointer-events:none;border-radius:999px;filter:blur(110px);opacity:.14;z-index:0}.ambient-one{width:34rem;height:34rem;background:#b34469;right:-10rem;top:8rem}.ambient-two{width:28rem;height:28rem;background:#7456a5;left:-12rem;top:50vh}
.nav-pill{display:flex;align-items:center;gap:.45rem;border-radius:999px;padding:.65rem .9rem;color:#9f9aa5;font-size:.85rem;transition:.2s}.nav-pill:hover{color:#fff;background:#ffffff0a}.nav-pill-active{background:#fff;color:#18151b!important}.icon-button{display:grid;height:2.7rem;width:2.7rem;place-items:center;border-radius:1rem;background:#ffffff0a;border:1px solid #ffffff0d;font-size:1.3rem;color:#ddd;transition:.2s}.icon-button:hover{background:#ffffff12;color:#fff}
.hero-card{position:relative;background:radial-gradient(circle at 78% 24%,rgba(244,167,185,.23),transparent 28%),radial-gradient(circle at 90% 75%,rgba(210,177,118,.13),transparent 34%),linear-gradient(135deg,#211924,#121016 60%,#17121b)}.hero-card:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 68%,rgba(255,255,255,.03));pointer-events:none}
.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:999px;padding:.72rem 1.05rem;font-size:.86rem;font-weight:700;transition:.2s;white-space:nowrap}.primary-button{background:linear-gradient(135deg,#f8c7d2,#f2d4a7);color:#21151c;box-shadow:0 8px 28px rgba(223,129,157,.16)}.primary-button:hover{transform:translateY(-1px);filter:brightness(1.04)}.primary-button:disabled{opacity:.45;cursor:not-allowed;transform:none}.secondary-button{border:1px solid #ffffff14;background:#ffffff08;color:#e7e2e8}.secondary-button:hover,.secondary-button-active{background:#ffffff12;border-color:#ffffff24;color:#fff}.text-button{font-size:.8rem;color:#b7b0bb;transition:.2s}.text-button:hover{color:#fff}
.content-section{margin-top:2.25rem}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1rem}.section-heading h2{font-family:Georgia,"Times New Roman",serif;font-size:1.55rem;line-height:1.15;color:#fff;font-weight:600}.eyebrow{font-size:.66rem;font-weight:800;letter-spacing:.19em;text-transform:uppercase;color:#b98d9b;margin-bottom:.35rem}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.7rem}.page-heading h1{font-family:Georgia,"Times New Roman",serif;font-size:2.65rem;line-height:1;color:#fff;font-weight:600}.page-heading p:not(.eyebrow){margin-top:.55rem;color:#77717b;font-size:.9rem}
.poster-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem .8rem}.compact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.media-card{min-width:0}.poster-frame{position:relative;overflow:hidden;border-radius:1rem;background:#1b1820;aspect-ratio:2/3;border:1px solid #ffffff0c;box-shadow:0 12px 28px rgba(0,0,0,.18)}.poster-frame img{height:100%;width:100%;object-fit:cover;transition:transform .35s ease}.media-card:hover .poster-frame img{transform:scale(1.035)}.poster-hover{position:absolute;inset:0;background:linear-gradient(to top,rgba(16,13,19,.2),transparent 50%);opacity:0;transition:.25s}.media-card:hover .poster-hover{opacity:1}.media-title{margin-top:.65rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;font-weight:650;color:#eeeaf0}.media-meta{margin-top:.15rem;font-size:.72rem;color:#726d76}.favorite-badge{position:absolute;right:.55rem;top:.55rem;display:grid;height:1.8rem;width:1.8rem;place-items:center;border-radius:999px;background:#1a1118d9;color:#ffb9ca;backdrop-filter:blur(10px)}
.media-card-actions{display:flex;align-items:center;gap:.4rem;margin-top:.55rem}.mini-action{display:inline-flex;align-items:center;gap:.25rem;min-width:0;border-radius:.7rem;border:1px solid #ffffff0c;background:#ffffff05;padding:.38rem .52rem;color:#8f8993;font-size:.66rem;transition:.2s}.mini-action:hover{background:#ffffff0b;color:#e8e3e9;border-color:#ffffff18}.mini-action-danger:hover{background:#e8798b0c;border-color:#e8798b24;color:#ef9aaa}
.horizontal-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(225px,36%);gap:1rem;overflow-x:auto;padding-bottom:.4rem;scroll-snap-type:x proximity}.continue-card{scroll-snap-align:start}.wide-poster{aspect-ratio:16/9;border-radius:1.15rem}.poster-shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(12,10,14,.95),rgba(12,10,14,.05) 75%)}
.empty-state{display:flex;min-height:13rem;flex-direction:column;align-items:center;justify-content:center;border:1px dashed #ffffff12;border-radius:1.5rem;background:#ffffff04;padding:2rem;text-align:center}.empty-state h3{font-family:Georgia,"Times New Roman",serif;font-size:1.2rem;color:#fff}.empty-state p{max-width:32rem;margin:.4rem 0 1rem;color:#6f6973;font-size:.82rem}.empty-icon{margin-bottom:.7rem;font-size:1.7rem;color:#d0a0ad}.error-panel{display:flex;min-height:12rem;flex-direction:column;align-items:center;justify-content:center;gap:1rem;border:1px solid #fda4af2a;border-radius:1.5rem;background:#fb71850d;padding:2rem;color:#fecdd3;text-align:center}
.skeleton-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.skeleton-card{aspect-ratio:2/3;border-radius:1rem;background:linear-gradient(110deg,#ffffff05 8%,#ffffff0b 18%,#ffffff05 33%);background-size:200% 100%;animation:shimmer 1.25s linear infinite}.skeleton-backdrop{height:30rem;border-radius:2rem;background:#ffffff08;animation:pulse 1.2s ease-in-out infinite}.skeleton-lines{margin-top:1rem;height:8rem;border-radius:1rem;background:#ffffff05;animation:pulse 1.2s ease-in-out infinite}@keyframes shimmer{to{background-position-x:-200%}}@keyframes pulse{50%{opacity:.45}}
.search-bar{display:flex;align-items:center;gap:.8rem;border:1px solid #ffffff10;background:#ffffff06;padding:.45rem .45rem .45rem 1rem;border-radius:1.25rem}.search-bar>span{font-size:1.3rem;color:#77717b}.search-bar input{min-width:0;flex:1;background:transparent;outline:none;color:#fff;font-size:1rem}.search-bar input::placeholder{color:#5c5760}
.filter-panel{display:grid;gap:.7rem;border-radius:1.3rem;border:1px solid #ffffff0a;background:#ffffff04;padding:1rem}.filter-input,.filter-select,.status-select,.note-area{border:1px solid #ffffff10;background:#18151d;color:#e9e5ea;outline:none;transition:.2s}.filter-input:focus,.filter-select:focus,.status-select:focus,.note-area:focus{border-color:#d6a0af66;box-shadow:0 0 0 3px #d6a0af12}.filter-input,.filter-select{min-height:2.75rem;border-radius:.85rem;padding:0 .85rem;font-size:.82rem}.favorite-filter{display:flex;align-items:center;gap:.55rem;min-height:2.75rem;border-radius:.85rem;border:1px solid #ffffff10;padding:0 .85rem;color:#bdb7c0;font-size:.82rem;cursor:pointer}.favorite-filter input{accent-color:#df9aaf}.trash-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px solid #ffffff0a;background:#ffffff04;border-radius:1rem;padding:.65rem .8rem}.trash-row img{width:3.1rem;aspect-ratio:2/3;border-radius:.55rem;object-fit:cover;background:#201c24}
.detail-main-grid{min-width:0;max-width:100%}.detail-primary-column{min-width:0;max-width:100%}.detail-hero{position:relative;min-height:34rem;overflow:hidden;border-radius:2rem;border:1px solid #ffffff0a;background:#1b1720;background-image:var(--backdrop);background-size:cover;background-position:center 25%}.detail-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,11,16,.96) 0%,rgba(14,11,16,.78) 44%,rgba(14,11,16,.52) 100%),linear-gradient(to top,#100d13 0%,transparent 60%)}.detail-poster{width:100%;max-width:240px;aspect-ratio:2/3;object-fit:cover;border-radius:1.15rem;border:1px solid #ffffff14;box-shadow:0 24px 45px #0008}.back-button{position:absolute;left:1.2rem;top:1.2rem;z-index:20;border-radius:999px;background:#0f0c12b8;border:1px solid #ffffff12;padding:.55rem .85rem;font-size:.78rem;color:#ddd;backdrop-filter:blur(10px)}.chip{display:inline-flex;align-items:center;border-radius:999px;background:#ffffff0b;border:1px solid #ffffff0f;padding:.34rem .58rem;font-size:.68rem;color:#ccc5cf}.status-select{border-radius:999px;padding:.72rem 2.1rem .72rem 1rem;font-size:.85rem;font-weight:700}.side-card{border:1px solid #ffffff0a;background:#ffffff04;border-radius:1.25rem;padding:1rem}.rating-star{font-size:1.8rem;color:#3f3943;transition:.18s}.rating-star:hover:not(:disabled){transform:translateY(-1px);color:#f6c7d2}.rating-star-active{color:#f0b9c8}.note-area{margin-top:.7rem;width:100%;resize:vertical;border-radius:.9rem;padding:.8rem;font-size:.82rem;line-height:1.45}.danger-link{font-size:.78rem;color:#d98c9a}.danger-link:hover{text-decoration:underline}.tmdb-credit{background:#0d0b10}
.cast-row{display:grid;min-width:0;max-width:100%;grid-auto-flow:column;grid-auto-columns:105px;gap:.9rem;overflow-x:auto;padding-bottom:.5rem;overscroll-behavior-inline:contain}.cast-card{text-align:center}.cast-avatar{margin:0 auto .55rem;display:grid;height:74px;width:74px;place-items:center;overflow:hidden;border-radius:999px;background:#211c25;border:1px solid #ffffff0d;color:#746d77}.cast-avatar img{height:100%;width:100%;object-fit:cover}.season-pill{flex:0 0 auto;border-radius:999px;border:1px solid #ffffff0d;background:#ffffff05;padding:.55rem .8rem;font-size:.75rem;color:#96909a}.season-pill-active{border-color:#e4aabc40;background:#e4aabc14;color:#f7d7df}.episode-row{display:flex;width:100%;align-items:center;gap:.9rem;border:1px solid #ffffff0a;background:#ffffff04;border-radius:1rem;padding:.8rem;transition:.2s}.episode-row:hover{background:#ffffff07}.episode-watched{border-color:#b4d0ba20;background:#9ec5a90b}.episode-number{display:grid;height:2.4rem;width:2.4rem;flex:0 0 auto;place-items:center;border-radius:.75rem;background:#ffffff07;color:#a8a2aa;font-weight:700;font-size:.78rem}.watch-check{display:grid;height:1.6rem;width:1.6rem;flex:0 0 auto;place-items:center;border:1px solid #ffffff12;border-radius:999px;color:#afd0b7;font-size:.75rem}.episode-watched .watch-check{background:#99bba218;border-color:#a3c4ab38}.episode-resume{border-color:#e4aabc55;background:#e4aabc0d;box-shadow:inset 3px 0 0 #e4aabc99}.episode-next-label{display:inline-flex;margin-top:.25rem;border-radius:999px;background:#e4aabc16;padding:.16rem .42rem;font-size:.62rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#efbecd}
.mobile-nav{display:flex;min-height:2.75rem;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;border-radius:.8rem;padding:.45rem .2rem;color:#66616a;font-size:.62rem;touch-action:manipulation}.mobile-nav-active{color:#f0c0ce}.toast{pointer-events:auto;display:flex;gap:.75rem;align-items:flex-start;border:1px solid #ffffff12;background:#1b171fd9;border-radius:1rem;padding:.85rem 1rem;box-shadow:0 16px 40px #0006;backdrop-filter:blur(18px);font-size:.8rem;color:#e8e4e9}.toast>span{display:grid;height:1.35rem;width:1.35rem;place-items:center;border-radius:999px;background:#9bc0a516;color:#a9d0b3}.toast-error>span{background:#d8899915;color:#efadba}
@media(min-width:640px){.poster-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem 1rem}.compact-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.skeleton-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.filter-panel{grid-template-columns:2fr 1fr 1fr}.favorite-filter{grid-column:span 1}}
@media(min-width:900px){.poster-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.compact-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.skeleton-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.filter-panel{grid-template-columns:2fr 1fr 1fr 1.1fr auto}.horizontal-row{grid-auto-columns:minmax(280px,28%)}}
@media(min-width:1180px){.poster-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.compact-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.skeleton-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}

/* Live search */
.search-shell{position:relative}.search-spinner{height:1rem;width:1rem;flex:0 0 auto;border:2px solid #ffffff18;border-top-color:#eab5c5;border-radius:999px;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.search-suggestions{position:absolute;left:0;right:0;top:calc(100% + .55rem);z-index:60;overflow:hidden;border:1px solid #ffffff12;border-radius:1.25rem;background:#151218f5;box-shadow:0 24px 65px #000a;backdrop-filter:blur(24px)}
.search-suggestion{display:flex;width:100%;align-items:center;gap:.85rem;padding:.65rem .8rem;border-bottom:1px solid #ffffff08;transition:.15s}.search-suggestion:last-of-type{border-bottom:0}.search-suggestion:hover,.search-suggestion-active{background:#ffffff0b}.search-suggestion img{height:3.7rem;width:2.5rem;flex:0 0 auto;border-radius:.5rem;object-fit:cover;background:#211c25}.search-suggestion-state{padding:1rem;text-align:center;font-size:.78rem;color:#77717b}.search-suggestion-error{color:#efb1bc}.search-all-results{display:block;width:100%;padding:.8rem 1rem;text-align:center;font-size:.75rem;font-weight:700;color:#d9a9b7;background:#ffffff04;border-top:1px solid #ffffff08}.search-all-results:hover{background:#ffffff08;color:#f3d2da}

.owned-search-tag{position:absolute;left:.55rem;top:.55rem;z-index:4;display:inline-flex;align-items:center;border:1px solid #f3c7d63d;border-radius:999px;background:#171018e8;padding:.3rem .52rem;color:#f5ced9;font-size:.62rem;font-weight:800;letter-spacing:.03em;box-shadow:0 .35rem .9rem #0008;backdrop-filter:blur(10px)}
.owned-search-tag-inline{position:static;padding:.18rem .42rem;background:#d99aad12;box-shadow:none;font-size:.58rem}

/* Visual shelf */
.shelf-stage{
  --shelf-row-height:13rem;
  --shelf-row-count:1;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  width:100%;
  max-width:72rem;
  min-height:calc(var(--shelf-row-height) * var(--shelf-row-count));
  margin:0 auto;
  border:1px solid #8d674735;
  border-radius:1.25rem;
  background:#100a07;
  box-shadow:0 34px 84px #000c,0 12px 30px #0009,inset 0 0 0 1px #f4d0a40a;
}
.shelf-stage:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:30;
  pointer-events:none;
  background:linear-gradient(90deg,#0007 0,transparent 3.2%,transparent 96.8%,#0007 100%);
  mix-blend-mode:multiply;
}
.shelf-grid{
  position:relative;
  z-index:2;
  display:grid;
  min-height:calc(var(--shelf-row-height) * var(--shelf-row-count));
  grid-template-columns:repeat(6,minmax(0,1fr));
  grid-auto-rows:var(--shelf-row-height);
  gap:0;
  padding:0 4.6%;
  background-image:url('/static/assets/shelf/photo/shelf-row-desktop.webp');
  background-size:100% var(--shelf-row-height);
  background-repeat:repeat-y;
  background-position:center top;
}
.shelf-entry{
  position:relative;
  z-index:4;
  display:flex;
  height:var(--shelf-row-height);
  min-width:0;
  align-items:flex-end;
  justify-content:center;
  padding:.75rem .3rem 1.45rem;
}
.shelf-entry:after{
  content:"";
  position:absolute;
  left:23%;
  right:23%;
  bottom:1.24rem;
  height:.42rem;
  border-radius:50%;
  background:#000e;
  filter:blur(.25rem);
  opacity:.86;
  pointer-events:none;
}
.shelf-card{
  position:relative;
  z-index:3;
  display:flex;
  height:100%;
  width:100%;
  min-width:0;
  flex-direction:column;
  align-items:center;
  justify-content:flex-end;
  border:0;
  background:transparent;
  padding:0;
}
.shelf-poster{
  position:relative;
  overflow:hidden;
  width:min(100%,7rem);
  aspect-ratio:2/3;
  border-radius:.25rem;
  background:#141013;
  border:1px solid #fff4df28;
  box-shadow:0 1rem 1.45rem #000e,0 .13rem .12rem #000f,-.12rem 0 .38rem #0008,.12rem 0 .38rem #0008;
  transform-origin:bottom center;
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;
}
.shelf-poster:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:linear-gradient(108deg,#fff7dd24 0,transparent 17%,transparent 69%,#0005 100%);
  mix-blend-mode:screen;
}
.shelf-poster:after{
  content:"";
  position:absolute;
  left:7%;
  right:7%;
  bottom:-.12rem;
  height:.24rem;
  border-radius:50%;
  background:#000f;
  filter:blur(.11rem);
  pointer-events:none;
}
.shelf-poster img{display:block;height:100%;width:100%;object-fit:cover}
.shelf-entry:nth-child(8n+2) .shelf-poster{transform:rotate(.38deg) translateX(.03rem)}
.shelf-entry:nth-child(9n+5) .shelf-poster{transform:rotate(-.32deg) translateX(-.03rem)}
.shelf-entry:nth-child(11n+7) .shelf-poster{transform:rotate(.2deg) translateY(.02rem)}
.shelf-media-card:hover .shelf-poster,.shelf-media-card:focus-visible .shelf-poster{transform:translateY(-.2rem) scale(1.025);box-shadow:0 1.2rem 1.65rem #000f,0 .16rem .16rem #000f;filter:brightness(1.05)}
.shelf-title{
  position:absolute;
  z-index:9;
  left:50%;
  bottom:1.62rem;
  max-width:calc(100% - .4rem);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  border:1px solid #ffffff14;
  border-radius:.6rem;
  background:#0d090ee8;
  padding:.3rem .48rem;
  color:#f5edf0;
  font-size:.65rem;
  font-weight:650;
  box-shadow:0 .55rem 1.2rem #000b;
  opacity:0;
  pointer-events:none;
  transform:translate(-50%,.25rem);
  transition:opacity .16s ease,transform .16s ease;
  backdrop-filter:blur(.45rem);
}
.shelf-stage:not(.shelf-stage-editing-covers) .shelf-title{opacity:0}
.shelf-stage:not(.shelf-stage-editing-covers) .shelf-media-card:hover .shelf-title,.shelf-stage:not(.shelf-stage-editing-covers) .shelf-media-card:focus-visible .shelf-title,.shelf-stage-editing-covers .shelf-title{opacity:1;transform:translate(-50%,0)}
.shelf-decoration-layer{position:absolute;inset:0;z-index:14;pointer-events:none}
.shelf-decoration-free{
  position:absolute;
  width:clamp(5.7rem,8vw,8.8rem);
  max-height:10rem;
  transform-origin:bottom center;
  pointer-events:none;
  user-select:none;
  transition:filter .16s ease;
  will-change:left,top,transform;
}
.shelf-decoration-asset{display:block;width:100%;max-height:9.5rem;object-fit:contain;object-position:center bottom;opacity:1;filter:brightness(.9) saturate(.96) contrast(1.02);pointer-events:none;-webkit-user-drag:none}
.shelf-decoration-type-plant{width:clamp(6.6rem,9vw,10rem)}
.shelf-decoration-type-candle{width:clamp(4.3rem,5vw,5.8rem)}
.shelf-decoration-type-frame{width:clamp(5rem,6vw,6.8rem)}
.shelf-decoration-type-books{width:clamp(4.5rem,5.5vw,6.4rem)}
.shelf-decoration-type-clapper{width:clamp(6.4rem,8vw,9rem)}
.shelf-decoration-type-globe{width:clamp(5.7rem,7vw,8rem)}
.shelf-decoration-type-sculpture{width:clamp(4.4rem,5.5vw,6.1rem)}
.shelf-decoration-type-vine{width:clamp(6.8rem,9.2vw,10.2rem)}
.shelf-decoration-type-lantern{width:clamp(5.6rem,7vw,7.8rem)}
.shelf-decoration-type-camera{width:clamp(5.2rem,6.5vw,7.2rem)}
.shelf-decoration-type-bowl{width:clamp(5.2rem,6.5vw,7.3rem)}
.shelf-decoration-type-pothos{width:clamp(6.8rem,9.2vw,10.2rem)}
.shelf-decoration-type-monstera{width:clamp(6.6rem,9vw,10rem)}
.shelf-decoration-type-zamioculcas{width:clamp(6.2rem,8.3vw,9.1rem)}
.shelf-decoration-type-fern{width:clamp(6.8rem,9.2vw,10.2rem)}
.shelf-decoration-type-tablelamp{width:clamp(5.8rem,7.2vw,8rem)}
.shelf-decoration-type-ambientlight{width:clamp(4.2rem,4.9vw,5.4rem)}
.shelf-decoration-type-bookstack{width:clamp(5rem,6vw,6.8rem)}
.shelf-decoration-type-filmreel{width:clamp(5.8rem,7.2vw,8rem)}
.shelf-decoration-type-projector{width:clamp(5.8rem,7vw,7.6rem)}
.shelf-decoration-type-artprint{width:clamp(5rem,6vw,6.8rem)}
.shelf-decoration-type-award{width:clamp(4.2rem,5.1vw,5.8rem)}

/* Overview */
.overview-filter-panel{grid-template-columns:1fr}.overview-grid{display:grid;grid-template-columns:1fr;gap:.75rem}.overview-card{position:relative;display:flex;align-items:stretch;border:1px solid #ffffff0a;border-radius:1.15rem;background:#ffffff04;transition:.18s}.overview-card:hover{border-color:#ffffff14;background:#ffffff06}.overview-main{display:flex;min-width:0;flex:1;align-items:center;gap:.9rem;padding:.7rem}.overview-main img{height:5.8rem;width:3.9rem;flex:0 0 auto;border-radius:.62rem;background:#1b1820;object-fit:cover}.overview-menu-wrap{position:relative;display:flex;align-items:flex-start;padding:.65rem .65rem 0 0}.kebab-button{display:grid;height:2.25rem;width:2.25rem;place-items:center;border-radius:999px;border:1px solid #ffffff0d;background:#ffffff04;color:#918b95;font-size:1.25rem;line-height:1;transition:.15s}.kebab-button:hover{background:#ffffff0b;color:#fff}.overview-menu{position:absolute;right:.55rem;top:3rem;z-index:35;min-width:13rem;overflow:hidden;border:1px solid #ffffff12;border-radius:.9rem;background:#18141cf5;box-shadow:0 18px 45px #0009;backdrop-filter:blur(20px)}.overview-menu button{display:block;width:100%;padding:.72rem .85rem;text-align:left;font-size:.74rem;color:#c9c2cc;transition:.15s}.overview-menu button:hover{background:#ffffff0a;color:#fff}.overview-menu .overview-menu-danger{color:#e9a0ad}.overview-menu .overview-menu-danger:hover{background:#d96d7f0e;color:#ffc0ca}

/* Cast + person profile */
.cast-card{border-radius:1rem;padding:.3rem .15rem .55rem;transition:.18s}.cast-card:hover{background:#ffffff05;transform:translateY(-2px)}.cast-name{min-height:2.25rem;white-space:normal;overflow-wrap:anywhere;word-break:normal;line-height:1.12rem}.person-loading{max-width:70rem;margin:0 auto}.person-hero{display:grid;gap:1.7rem;align-items:start;border:1px solid #ffffff0b;border-radius:2rem;background:linear-gradient(145deg,#211721,#121016 68%);padding:1.2rem;box-shadow:0 28px 70px #0005}.person-portrait{overflow:hidden;border-radius:1.4rem;background:#1b1820;aspect-ratio:2/3;box-shadow:0 20px 45px #0008}.person-portrait img{height:100%;width:100%;object-fit:cover}.person-placeholder{display:grid;height:100%;place-items:center;font-size:4rem;color:#6b6370}.person-biography{max-width:52rem}

@media(min-width:640px){.overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.person-hero{grid-template-columns:220px 1fr;padding:1.6rem}.overview-filter-panel{grid-template-columns:2fr 1fr 1fr}}
@media(min-width:900px){.overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-filter-panel{grid-template-columns:2fr 1fr 1fr 1fr 1.1fr auto}.person-hero{grid-template-columns:260px 1fr;padding:2rem}}
@media(min-width:1180px){.overview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Shelf editor */
.shelf-page-heading{align-items:center}
.shelf-edit-toolbar{display:flex;flex-direction:column;gap:1rem;margin:-.45rem auto 1rem;max-width:72rem;border:1px solid #d8a0b21f;border-radius:1.25rem;background:linear-gradient(135deg,#d59aaf0d,#ffffff04);padding:1rem}
.shelf-edit-hint{max-width:48rem;color:#8e8791;font-size:.78rem;line-height:1.5}
.shelf-edit-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem}
.shelf-edit-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.shelf-edit-mode-switch{display:flex;flex-wrap:wrap;gap:.4rem;border:1px solid #ffffff0d;border-radius:.9rem;background:#0e0b11b8;padding:.3rem}.shelf-edit-mode-button{border:1px solid transparent;border-radius:.7rem;padding:.58rem .8rem;color:#918993;font-size:.74rem;font-weight:700;transition:.16s}.shelf-edit-mode-button:hover{color:#e8dce1;background:#ffffff08}.shelf-edit-mode-button-active{border-color:#d8a0b238;background:#d8a0b214;color:#f5dbe4}.shelf-edit-context{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid #ffffff0a;padding-top:.85rem}
.shelf-saving{font-size:.72rem;color:#bda7b0}
.shelf-decoration-palette{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin:0 auto 1rem;max-width:72rem;border:1px solid #ffffff0d;border-radius:1.2rem;background:#ffffff04;padding:.75rem}
.shelf-decoration-choice{display:flex;align-items:center;gap:.65rem;border:1px solid #ffffff0c;border-radius:.9rem;background:#151218;padding:.58rem .7rem;text-align:left;color:#bbb4bf;font-size:.76rem;transition:.16s}
.shelf-decoration-choice:hover{border-color:#e0a9ba2c;background:#ffffff09;color:#fff}
.shelf-decoration-choice:disabled{opacity:.45}
.shelf-decoration-choice-asset{height:3.2rem;width:3.2rem;object-fit:contain;opacity:1;filter:brightness(.92) saturate(.97)}
.shelf-stage-editing{border-color:#d7a0b34a;box-shadow:0 38px 95px #000b,inset 0 0 0 1px #f0a9bc26,0 0 0 1px #d7a0b31a}
.shelf-stage-editing-covers .shelf-entry{touch-action:none;cursor:grab}
.shelf-stage-editing-covers .shelf-entry:active{cursor:grabbing}
.shelf-entry-dragging{opacity:.48;transform:scale(.97)}
.shelf-card-editing{user-select:none}
.shelf-card-editing .shelf-poster{outline:1px dashed #f0bfd06b;outline-offset:4px}
.shelf-drag-grip{position:absolute;left:.2rem;top:.2rem;z-index:12;display:grid;height:1.55rem;min-width:1.55rem;place-items:center;border-radius:.5rem;background:#0d0a0eea;border:1px solid #ffffff1c;color:#e4c4cf;font-size:.65rem;letter-spacing:-.14rem;padding-right:.14rem;box-shadow:0 .4rem .9rem #0008}
.shelf-stage-editing-decorations .shelf-decoration-free{pointer-events:auto;cursor:grab;touch-action:none;outline:1px dashed #f0bfd055;outline-offset:.3rem;border-radius:.5rem}
.shelf-stage-editing-decorations .shelf-decoration-free:active,.shelf-decoration-dragging{cursor:grabbing;filter:brightness(1.08)}
.shelf-decoration-grip{position:absolute;left:-.65rem;top:-.65rem;z-index:18;display:grid;height:1.65rem;width:1.65rem;place-items:center;border-radius:.55rem;background:#0d0a0eea;border:1px solid #ffffff1c;color:#e4c4cf;font-size:.75rem;box-shadow:0 .4rem .9rem #0008}
.shelf-decoration-remove{position:absolute;right:-.7rem;top:-.7rem;z-index:19;display:grid;height:1.7rem;width:1.7rem;place-items:center;border-radius:999px;background:#2a151ced;border:1px solid #e89caf32;color:#efabba;font-size:1rem;box-shadow:0 .45rem .9rem #0008}
.shelf-decoration-remove:hover{background:#4b202d;color:#fff}
.shelf-decoration-nudge-pad{position:absolute;left:50%;bottom:.2rem;z-index:20;display:grid;grid-template-columns:repeat(4,1.35rem);gap:.12rem;transform:translateX(-50%);padding:.16rem;border:1px solid #ffffff1a;border-radius:.62rem;background:#0d0a0ee6;box-shadow:0 .4rem .9rem #0008;backdrop-filter:blur(.4rem)}
.shelf-decoration-nudge-pad button{display:grid;height:1.35rem;width:1.35rem;place-items:center;border-radius:.42rem;color:#f5d6de;font-size:.72rem;line-height:1;touch-action:manipulation}
.shelf-decoration-nudge-pad button:hover{background:#ffffff12;color:#fff}
.shelf-decoration-scale{position:absolute;right:-.75rem;display:grid;height:1.55rem;width:1.55rem;place-items:center;border-radius:999px;background:#160f14f3;border:1px solid #ffffff1f;color:#f5d6de;font-size:.92rem;box-shadow:0 .35rem .8rem #0008;z-index:19}
.shelf-decoration-scale:hover{background:#2a1921;color:#fff}
.shelf-decoration-scale-down{bottom:.5rem}
.shelf-decoration-scale-up{bottom:2.2rem}
@media(max-width:639px){
  .shelf-stage{--shelf-row-height:12.4rem;border-radius:1rem}
  .shelf-grid{grid-template-columns:repeat(4,minmax(0,1fr));padding:0 3.2%;background-image:url('/static/assets/shelf/photo/shelf-row-mobile.webp')}
  .shelf-entry{padding:.6rem .08rem 1.35rem}
  .shelf-entry:after{bottom:1.14rem;left:16%;right:16%}
  .shelf-poster{width:min(100%,5.15rem)}
  .shelf-title{bottom:1.5rem;max-width:calc(100% - .3rem);font-size:.61rem}
  .shelf-decoration-free{width:clamp(5.2rem,24vw,7.2rem)}
  .shelf-decoration-type-plant{width:clamp(6.2rem,28vw,8.4rem)}
}
@media(min-width:640px){
  .shelf-stage{--shelf-row-height:12.7rem}
  .shelf-grid{grid-template-columns:repeat(4,minmax(0,1fr));padding:0 5%}
  .shelf-poster{width:min(100%,6.4rem)}
  .shelf-decoration-palette{grid-template-columns:repeat(5,minmax(0,1fr))}
  .shelf-edit-toolbar{flex-direction:column;align-items:stretch;justify-content:flex-start}
}
@media(min-width:900px){
  .shelf-stage{--shelf-row-height:13rem}
  .shelf-grid{grid-template-columns:repeat(6,minmax(0,1fr));padding:0 4.6%}
  .shelf-poster{width:min(100%,7rem)}
  .shelf-decoration-palette{grid-template-columns:repeat(5,minmax(0,1fr))}
}

/* v11.19 – Meine Übersicht als funktionale Verwaltungszentrale */
.overview-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}
.overview-summary>button{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:.8rem;border:1px solid #ffffff0a;border-radius:1rem;background:#ffffff04;padding:.8rem .9rem;color:#a8a2ac;text-align:left;font-size:.78rem;transition:.16s}
.overview-summary>button:hover{border-color:#ffffff16;background:#ffffff07;color:#e8e3e9}
.overview-summary>button strong{display:grid;min-width:1.9rem;height:1.9rem;place-items:center;border-radius:999px;background:#ffffff08;color:#d8d1da;font-size:.74rem;font-weight:600}
.overview-summary>button.overview-summary-active{border-color:#d69aae4d;background:#d69aae12;color:#f6e9ed}
.overview-summary>button.overview-summary-active strong{background:#d69aae22;color:#ffdbe5}
.filter-reset-button{min-height:2.75rem;border:1px dashed #ffffff14;border-radius:.85rem;padding:0 .85rem;color:#9d96a1;font-size:.78rem;transition:.15s}
.filter-reset-button:hover{border-color:#d69aae40;background:#d69aae0a;color:#f1dce2}
.overview-filter-info{min-height:1.25rem}
.overview-title{display:block;white-space:normal;overflow-wrap:anywhere;color:#fff;font-weight:600;line-height:1.3}
.overview-meta{display:block;margin-top:.3rem;color:#a9a2ad;font-size:.75rem;line-height:1.35}
.overview-genres{display:block;margin-top:.28rem;color:#8f8792;font-size:.75rem;line-height:1.35;white-space:normal;overflow-wrap:anywhere}
.overview-card{flex-direction:column;overflow:visible}
.overview-main{width:100%}
.overview-quick-actions{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:.5rem;border-top:1px solid #ffffff09;padding:.55rem .65rem .65rem}
.overview-status-select{min-width:0;height:2.3rem;border:1px solid #ffffff0e;border-radius:.7rem;background:#18151d;padding:0 .65rem;color:#bbb4be;font-size:.72rem;outline:none}
.overview-status-select:focus{border-color:#d6a0af66;box-shadow:0 0 0 3px #d6a0af12}
.overview-favorite-button,.overview-detail-button{height:2.3rem;border:1px solid #ffffff0e;border-radius:.7rem;background:#ffffff04;color:#aaa3ad;transition:.15s}
.overview-favorite-button{width:2.3rem;font-size:1rem}
.overview-detail-button{padding:0 .75rem;font-size:.72rem}
.overview-favorite-button:hover,.overview-detail-button:hover{background:#ffffff0a;color:#fff}
.overview-favorite-button.overview-favorite-active{border-color:#d69aae3d;background:#d69aae10;color:#ffb4c8}
.overview-quick-actions .overview-menu-wrap{padding:0;align-items:center}
.overview-quick-actions .kebab-button{height:2.3rem;width:2.3rem}
.overview-quick-actions .overview-menu{right:0;top:2.7rem}
@media(min-width:640px){.overview-summary{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:480px){.overview-quick-actions{grid-template-columns:minmax(0,1fr) auto auto}.overview-detail-button{display:none}.overview-main img{height:5.2rem;width:3.5rem}}

@media (max-width:639px){.shelf-edit-header,.shelf-edit-context{align-items:stretch;flex-direction:column}.shelf-edit-mode-switch{display:grid;grid-template-columns:1fr 1fr}.shelf-edit-mode-button{padding:.65rem .55rem}.shelf-edit-actions .secondary-button{width:100%}}


/* v11.22 – Mobile/PWA/Navigation polish */
@media(min-width:768px){.app-shell{padding-bottom:2rem}}
@media(max-width:639px){.detail-hero{min-height:0;border-radius:1.35rem}.detail-poster{max-width:10rem;margin-inline:auto}.person-hero{border-radius:1.35rem;padding:1rem}.person-portrait{width:min(100%,13rem);margin-inline:auto}.back-button,.primary-button,.secondary-button{min-height:2.75rem;touch-action:manipulation}.page-heading{align-items:flex-start;flex-direction:column}.page-heading>div:last-child{width:100%}.search-bar{min-height:3rem}.cast-card{min-width:6.5rem;touch-action:manipulation}.overview-summary>button{min-height:3rem}.overview-filter-panel>*{min-width:0}}
