:root{
  --bg:#070707;--bg2:#0d0d0d;--bg3:#131313;--bg4:#1a1a1a;
  --card:#0f0f0f;
  --b0:rgba(255,255,255,0.03);--b1:rgba(255,255,255,0.07);
  --b2:rgba(255,255,255,0.13);--b3:rgba(255,255,255,0.24);
  --w100:#fff;--w90:rgba(255,255,255,.9);--w70:rgba(255,255,255,.7);
  --w50:rgba(255,255,255,.5);--w30:rgba(255,255,255,.3);
  --w15:rgba(255,255,255,.15);--w08:rgba(255,255,255,.08);--w04:rgba(255,255,255,.04);
  --card-w:168px;--card-img-ratio:142%;
  --r14:14px;--r10:10px;--r7:7px;--nav-h:56px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--w90);font-family:'Inter',sans-serif;min-height:100vh;overflow-x:hidden}
.hidden{display:none!important}

.noise{position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.016;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)'/%3E%3C/svg%3E")}
.cursor-glow{pointer-events:none;position:fixed;width:480px;height:480px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.022) 0%,transparent 65%);
  transform:translate(-50%,-50%);z-index:1;mix-blend-mode:screen;transition:left .06s,top .06s}

.navbar{position:fixed;top:12px;left:50%;transform:translateX(-50%);
  width:calc(100% - 40px);max-width:1380px;z-index:1000;
  background:rgba(8,8,8,.82);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);
  border:1px solid var(--b1);border-radius:var(--r14);
  box-shadow:0 1px 0 rgba(255,255,255,.055) inset,0 0 0 1px rgba(255,255,255,.02),0 4px 50px rgba(0,0,0,.8);
  transition:box-shadow .3s}
.navbar:hover{box-shadow:0 1px 0 rgba(255,255,255,.08) inset,0 0 0 1px rgba(255,255,255,.05),0 4px 50px rgba(0,0,0,.9),0 0 30px rgba(255,255,255,.025)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:0 18px;height:var(--nav-h);gap:10px}
.nav-left{flex:0 0 auto}.nav-center{flex:1;display:flex;align-items:center;justify-content:center;gap:3px}.nav-right{flex:0 0 auto}
.logo-wrap{display:flex;align-items:center;gap:10px;cursor:pointer;user-select:none;transition:opacity .2s,transform .2s}
.logo-wrap:hover{opacity:.85;transform:scale(1.02)}
.logo-svg{width:36px;height:36px}
.logo-text{display:flex;flex-direction:column;gap:1px}
.site-name{font-family:'Noto Serif JP',serif;font-size:1.05rem;font-weight:700;color:var(--w100);letter-spacing:2px;
  text-shadow:0 0 22px rgba(255,255,255,.35),0 0 45px rgba(255,255,255,.1);line-height:1}
.site-jp{font-family:'Noto Serif JP',serif;font-size:.5rem;color:var(--w30);letter-spacing:3px;line-height:1}
.nav-btn{display:flex;align-items:center;gap:7px;padding:7px 15px;background:transparent;
  border:1px solid transparent;border-radius:var(--r10);color:var(--w50);
  font-family:'Inter',sans-serif;font-size:.81rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}
.nav-btn svg{width:14px;height:14px;flex-shrink:0}
.nav-btn:hover{color:var(--w90);background:var(--w04);border-color:var(--b2);transform:scale(1.04)}
.nav-btn.active{color:var(--w100);background:linear-gradient(135deg,rgba(255,255,255,.1),rgba(255,255,255,.05));
  border-color:var(--b3);box-shadow:0 0 18px rgba(255,255,255,.07),0 1px 0 rgba(255,255,255,.1) inset}

.search-wrap{position:relative;display:flex;align-items:center}
.search-wrap.inline{width:270px}
.search-icon{position:absolute;left:10px;width:14px;height:14px;color:var(--w30);pointer-events:none;z-index:1}
.search-input{background:var(--w04);border:1px solid var(--b1);border-radius:var(--r10);color:var(--w90);
  font-family:'Inter',sans-serif;font-size:.8rem;padding:7px 11px 7px 32px;width:190px;outline:none;transition:all .25s}
.search-wrap.inline .search-input{width:100%}
.search-input::placeholder{color:var(--w30)}
.search-input:focus{background:rgba(255,255,255,.06);border-color:var(--b3);box-shadow:0 0 18px rgba(255,255,255,.04);width:235px}
.search-wrap.inline .search-input:focus{width:100%}
.search-results{position:absolute;top:calc(100% + 8px);right:0;width:340px;background:var(--bg2);
  border:1px solid var(--b2);border-radius:var(--r14);overflow:hidden;z-index:2000;
  box-shadow:0 16px 60px rgba(0,0,0,.95),0 0 0 1px rgba(255,255,255,.02)}
.search-result-item{display:flex;align-items:center;gap:12px;padding:10px 13px;cursor:pointer;
  border-bottom:1px solid var(--b0);transition:background .14s}
.search-result-item:last-child{border-bottom:none}
.search-result-item:hover{background:var(--w04)}
.search-result-item img{width:33px;height:47px;object-fit:cover;border-radius:5px;flex-shrink:0;background:var(--bg3)}
.sr-name{font-size:.82rem;font-weight:500;color:var(--w90)}
.sr-meta{font-size:.69rem;color:var(--w30);margin-top:2px}

main{padding-top:calc(var(--nav-h) + 28px);position:relative;z-index:2}
.page-section{padding:0 24px 70px;max-width:1380px;margin:0 auto}

.hero-section{position:relative;width:calc(100% - 48px);max-width:1380px;margin:0 auto 52px;
  height:540px;overflow:hidden;border-radius:var(--r14);
  box-shadow:0 0 0 1px rgba(255,255,255,.04),0 20px 80px rgba(0,0,0,.7)}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center 20%;
  transition:opacity .9s ease;transform:scale(1.04);filter:brightness(.65) contrast(1.1) saturate(.8)}
.hero-overlay{position:absolute;inset:0;
  background:linear-gradient(100deg,rgba(7,7,7,.97) 0%,rgba(7,7,7,.78) 40%,rgba(7,7,7,.12) 100%),
              linear-gradient(0deg,rgba(7,7,7,.9) 0%,transparent 52%)}
.hero-content{position:absolute;bottom:56px;left:52px;max-width:560px;z-index:2}
.hero-badges{display:flex;gap:7px;margin-bottom:13px}
.hero-badge{padding:3px 10px;border-radius:6px;font-size:.66rem;font-weight:700;letter-spacing:1.5px;
  text-transform:uppercase;background:var(--w08);border:1px solid var(--b2);color:var(--w90)}
.hero-badge.hd{background:linear-gradient(135deg,rgba(255,255,255,.15),rgba(255,255,255,.07));
  border-color:var(--b3);color:var(--w100);box-shadow:0 0 10px rgba(255,255,255,.07)}
.hero-title{font-family:'Noto Serif JP',serif;font-size:2.9rem;font-weight:900;letter-spacing:1px;
  line-height:1.06;margin-bottom:13px;
  background:linear-gradient(135deg,#fff 0%,#ccc 55%,#888 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-stars{display:flex;align-items:center;gap:3px;margin-bottom:12px}
.score-num{font-size:.78rem;color:var(--w50);margin-left:8px}
.hero-desc{font-size:.86rem;color:var(--w50);line-height:1.78;margin-bottom:19px;
  display:-webkit-box;line-clamp:3;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.hero-meta{display:flex;gap:17px;font-size:.76rem;color:var(--w30);margin-bottom:26px}
.hero-meta span{display:flex;align-items:center;gap:5px}
.hero-actions{display:flex;gap:9px}
.btn-watch{display:flex;align-items:center;gap:8px;padding:11px 28px;
  background:linear-gradient(135deg,#fff,#d8d8d8);border:none;border-radius:var(--r10);
  color:#000;font-family:'Inter',sans-serif;font-size:.86rem;font-weight:700;cursor:pointer;
  transition:all .22s;box-shadow:0 0 22px rgba(255,255,255,.2),0 4px 18px rgba(255,255,255,.1)}
.btn-watch svg{width:13px;height:13px}
.btn-watch:hover{transform:scale(1.06);box-shadow:0 0 38px rgba(255,255,255,.35),0 6px 24px rgba(255,255,255,.18)}
.btn-info{display:flex;align-items:center;gap:7px;padding:11px 20px;
  background:rgba(255,255,255,.07);border:1px solid var(--b2);border-radius:var(--r10);
  color:var(--w90);font-family:'Inter',sans-serif;font-size:.86rem;font-weight:500;cursor:pointer;transition:all .22s}
.btn-info svg{width:14px;height:14px}
.btn-info:hover{background:rgba(255,255,255,.12);transform:scale(1.04)}
.hero-dots{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);display:flex;gap:7px;z-index:3}
.hero-dot{width:6px;height:6px;border-radius:3px;background:rgba(255,255,255,.2);cursor:pointer;transition:all .3s}
.hero-dot.active{width:22px;background:var(--w100);box-shadow:0 0 8px rgba(255,255,255,.6)}
.hero-progress{position:absolute;bottom:0;left:0;right:0;height:2px;background:rgba(255,255,255,.06);z-index:3}
.hero-progress-bar{height:100%;background:linear-gradient(90deg,#fff,#aaa);width:0%;
  box-shadow:0 0 8px rgba(255,255,255,.7);transition:width .1s linear}

.section-block{padding:0 24px;max-width:1380px;margin:0 auto 50px}
.section-header{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.section-header svg{width:16px;height:16px;color:var(--w70);flex-shrink:0}
.section-header h2{font-family:'Noto Serif JP',serif;font-size:.85rem;font-weight:700;
  letter-spacing:3px;text-transform:uppercase;
  background:linear-gradient(90deg,#fff,#999);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.live-dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex-shrink:0;
  background:#e0e0e0;box-shadow:0 0 8px rgba(255,255,255,.9);
  margin-left:4px;animation:blink 1.8s ease-in-out infinite}
@keyframes blink{0%,100%{opacity:1;box-shadow:0 0 8px rgba(255,255,255,.9)}50%{opacity:.3;box-shadow:0 0 3px rgba(255,255,255,.3)}}

.cards-scroll{
  display:flex;gap:13px;overflow-x:auto;
  padding:12px 4px 16px 4px;
  scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.07) transparent;
  align-items:flex-start;
}
.cards-scroll::-webkit-scrollbar{height:3px}
.cards-scroll::-webkit-scrollbar-thumb{background:rgba(255,255,255,.08);border-radius:2px}

.anime-card{
  flex:0 0 var(--card-w);
  width:var(--card-w);
  min-width:var(--card-w);
  max-width:var(--card-w);
  height:auto;
  background:var(--card);
  border:1px solid var(--b1);
  border-radius:var(--r14);
  overflow:visible;
  cursor:pointer;
  position:relative;
  transition:transform .3s cubic-bezier(.34,1.56,.64,1),
             box-shadow .3s,
             border-color .3s;
  will-change:transform;
}
.anime-card:hover{
  transform:scale(1.07) translateY(-8px);
  border-color:var(--b3);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.11),
    0 14px 44px rgba(0,0,0,.88),
    0 0 38px rgba(255,255,255,.08),
    0 0 75px rgba(255,255,255,.03);
  z-index:10;
}

.card-inner{
  border-radius:var(--r14);
  overflow:hidden;
  background:var(--card);
  width:100%;
}

.card-img-wrap{
  position:relative;
  width:100%;
  padding-top:var(--card-img-ratio);
  overflow:hidden;
  background:var(--bg3);
}
.card-img-wrap img{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;
  transform:none !important;
  transition:none !important;
  background:var(--bg3);
}
.card-img-wrap::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:55%;
  background:linear-gradient(0deg,rgba(10,10,10,.92),transparent);
  pointer-events:none;z-index:1}
.card-flags{position:absolute;top:7px;right:7px;display:flex;flex-direction:column;gap:3px;align-items:flex-end;z-index:2}
.card-body{padding:9px 11px 12px}
.card-title{font-size:.78rem;font-weight:600;color:var(--w90);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:5px}
.card-meta{display:flex;align-items:center;gap:4px;font-size:.67rem;color:var(--w30);margin-bottom:3px}
.card-meta svg{width:9px;height:9px;flex-shrink:0}
.card-sub{font-size:.67rem;color:var(--w50);font-weight:500}

.resume-card{
  flex:0 0 var(--card-w);
  width:var(--card-w);
  min-width:var(--card-w);
  max-width:var(--card-w);
  background:var(--card);
  border:1px solid var(--b1);
  border-radius:var(--r14);
  overflow:visible;
  cursor:pointer;
  position:relative;
  transition:transform .28s cubic-bezier(.34,1.56,.64,1),box-shadow .28s,border-color .28s;
  will-change:transform;
}
.resume-card:hover{
  transform:scale(1.07) translateY(-8px);
  border-color:var(--b3);
  box-shadow:0 0 0 1px rgba(255,255,255,.11),0 12px 38px rgba(0,0,0,.85),0 0 30px rgba(255,255,255,.07);
  z-index:10;
}
.resume-card .card-inner{border-radius:var(--r14);overflow:hidden;background:var(--card);width:100%}
.resume-card .card-img-wrap{padding-top:130%}
.resume-bar{position:absolute;bottom:0;left:0;height:3px;
  background:linear-gradient(90deg,#fff,#888);box-shadow:0 0 6px rgba(255,255,255,.5);z-index:2}
.resume-time{position:absolute;bottom:7px;right:7px;font-size:.65rem;font-weight:600;
  background:rgba(0,0,0,.78);color:var(--w100);padding:2px 6px;border-radius:5px;backdrop-filter:blur(4px);z-index:3}

.resume-delete{
  position:absolute;
  top:-8px;right:-8px;
  width:22px;height:22px;
  border-radius:50%;
  background:rgba(210,40,40,.95);
  border:2px solid rgba(0,0,0,.6);
  color:#fff;
  font-size:11px;font-weight:700;line-height:1;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;
  z-index:20;
  box-shadow:0 2px 8px rgba(0,0,0,.7);
  transition:transform .18s,background .18s;
  opacity:.7;
}
.resume-card:hover .resume-delete{opacity:1}
.resume-delete:hover{transform:scale(1.25);background:rgb(255,20,20);opacity:1}

.trend-rank{
  position:absolute;top:7px;left:7px;
  width:22px;height:22px;border-radius:50%;
  background:rgba(0,0,0,.75);backdrop-filter:blur(4px);
  border:1px solid rgba(255,255,255,.2);
  color:var(--w100);font-size:.68rem;font-weight:700;
  display:flex;align-items:center;justify-content:center;
  z-index:2;box-shadow:0 1px 6px rgba(0,0,0,.6);
}
.trend-rank.gold{background:rgba(180,140,0,.85);border-color:rgba(255,215,0,.5);box-shadow:0 0 8px rgba(255,200,0,.3)}
.trend-rank.silver{background:rgba(120,120,130,.85);border-color:rgba(200,200,210,.5)}
.trend-rank.bronze{background:rgba(140,80,30,.85);border-color:rgba(200,130,60,.5)}

.flag-badge,.fi{display:inline-block;position:relative;overflow:hidden;
  border-radius:3px;flex-shrink:0;box-shadow:0 1px 5px rgba(0,0,0,.75);vertical-align:middle}
.flag-badge{width:22px;height:14px}
.flag-badge.sm{width:16px;height:10px}
.fi{width:20px;height:13px;margin-right:5px}
.fi-fr,.flag-fr{background:linear-gradient(90deg,#002395 33.3%,#fff 33.3% 66.6%,#ED2939 66.6%)}
.fi-jp,.flag-jp{background:#fff;position:relative}
.fi-jp::after,.flag-jp::after{content:'';position:absolute;
  width:55%;height:55%;border-radius:50%;background:#BC002D;top:50%;left:50%;transform:translate(-50%,-50%)}
.flag-en{background:#012169}
.flag-de{background:linear-gradient(180deg,#000 33.3%,#DD0000 33.3% 66.6%,#FFCE00 66.6%)}

.spinner-wrap{display:flex;align-items:center;justify-content:center;padding:80px;width:100%}
.spinner{width:26px;height:26px;border:2px solid rgba(255,255,255,.08);
  border-top-color:#fff;border-radius:50%;animation:spin .72s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

.page-header-block{display:flex;align-items:center;gap:14px;margin-bottom:30px;
  padding-bottom:17px;border-bottom:1px solid var(--b1)}
.page-header-block svg{width:22px;height:22px;color:var(--w70)}
.page-header-block h1{font-family:'Noto Serif JP',serif;font-size:1.5rem;font-weight:700;
  letter-spacing:4px;text-transform:uppercase;
  background:linear-gradient(135deg,#fff,#888);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.catalogue-count{font-size:.75rem;color:var(--w30);margin-left:4px;font-family:'Inter',sans-serif;font-weight:400}

.filter-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px;gap:12px;flex-wrap:wrap}
.lang-filters{display:flex;gap:6px}
.genre-filter-wrap{display:flex;gap:6px;flex-wrap:wrap;flex:1}
.filter-btn{display:flex;align-items:center;gap:6px;padding:6px 16px;
  background:transparent;border:1px solid var(--b1);border-radius:var(--r10);
  color:var(--w50);font-family:'Inter',sans-serif;font-size:.79rem;font-weight:500;cursor:pointer;transition:all .2s}
.filter-btn:hover{border-color:var(--b3);color:var(--w90);transform:scale(1.04)}
.filter-btn.active{background:rgba(255,255,255,.08);border-color:var(--b3);color:var(--w100);
  box-shadow:0 0 12px rgba(255,255,255,.05)}
.filter-btn.genre-btn{padding:5px 12px;font-size:.72rem}

.catalogue-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:14px}
.catalogue-grid .anime-card{flex:none;width:100%;min-width:0;max-width:none}

.load-more-wrap{display:flex;justify-content:center;padding:28px 0 0}
.load-more-btn{padding:10px 36px;background:rgba(255,255,255,.06);
  border:1px solid var(--b2);border-radius:var(--r10);color:var(--w70);
  font-family:'Inter',sans-serif;font-size:.82rem;cursor:pointer;transition:all .2s}
.load-more-btn:hover{background:rgba(255,255,255,.1);color:var(--w100);transform:scale(1.04)}
.load-more-btn.hidden{display:none}

.planning-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:13px}
.planning-card{background:var(--card);border:1px solid var(--b1);border-radius:var(--r14);
  padding:14px;display:flex;gap:13px;cursor:pointer;transition:all .25s}
.planning-card:hover{border-color:var(--b3);transform:scale(1.02);box-shadow:0 5px 25px rgba(0,0,0,.6)}
.planning-card img{width:52px;height:74px;object-fit:cover;border-radius:8px;flex-shrink:0;background:var(--bg3)}
.planning-info{flex:1;min-width:0}
.planning-title{font-size:.86rem;font-weight:600;margin-bottom:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.planning-time{font-size:.78rem;color:var(--w90);font-weight:600;margin-bottom:3px}
.planning-ep{font-size:.7rem;color:var(--w30)}

.aide-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:15px}
.aide-card{background:var(--card);border:1px solid var(--b1);border-radius:var(--r14);padding:22px;
  transition:all .25s;position:relative;overflow:hidden}
.aide-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.07),transparent)}
.aide-card:hover{border-color:var(--b2);transform:translateY(-4px);
  box-shadow:0 10px 38px rgba(0,0,0,.6),0 0 22px rgba(255,255,255,.03)}
.aide-icon{width:38px;height:38px;background:rgba(255,255,255,.04);border:1px solid var(--b1);
  border-radius:9px;display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.aide-icon svg{width:16px;height:16px;color:var(--w70)}
.aide-card h3{font-size:.91rem;font-weight:600;margin-bottom:8px;color:var(--w90)}
.aide-card p{font-size:.8rem;color:var(--w50);line-height:1.72}

.anime-page-wrap{max-width:1060px;margin:0 auto}
.anime-page-hero{display:flex;gap:32px;margin-bottom:42px;align-items:flex-start}
.anime-page-poster{width:200px;flex-shrink:0;border-radius:var(--r14);overflow:hidden;
  box-shadow:0 10px 52px rgba(0,0,0,.8),0 0 0 1px rgba(255,255,255,.05)}
.anime-page-poster img{width:100%;display:block;background:var(--bg3)}
.anime-page-info{flex:1}
.anime-page-info h1{font-family:'Noto Serif JP',serif;font-size:1.8rem;font-weight:900;
  letter-spacing:2px;margin-bottom:11px;
  background:linear-gradient(135deg,#fff 0%,#ccc 50%,#888 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.genre-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:13px}
.genre-tag{padding:3px 9px;background:var(--w04);border:1px solid var(--b1);border-radius:6px;font-size:.69rem;color:var(--w50)}
.ep-section-title{font-size:.68rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--w30);margin-bottom:9px}
.anime-lang-btns,.season-btns{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:13px}
.lang-btn,.season-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;
  background:transparent;border:1px solid var(--b1);border-radius:var(--r10);
  color:var(--w50);font-family:'Inter',sans-serif;font-size:.78rem;cursor:pointer;transition:all .2s}
.lang-btn:hover,.season-btn:hover{border-color:var(--b3);color:var(--w90);transform:scale(1.04)}
.lang-btn.active,.season-btn.active{background:rgba(255,255,255,.08);border-color:var(--b3);color:var(--w100);
  box-shadow:0 0 12px rgba(255,255,255,.05)}
.lang-btn .flag-badge{width:17px;height:11px}
.ep-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(62px,1fr));
  gap:5px;max-height:210px;overflow-y:auto;
  scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.07) transparent}
.ep-btn{padding:8px 4px;background:var(--card);border:1px solid var(--b1);border-radius:var(--r7);
  color:var(--w50);font-family:'Inter',sans-serif;font-size:.74rem;text-align:center;cursor:pointer;transition:all .17s}
.ep-btn:hover{border-color:var(--b3);color:var(--w90);transform:scale(1.06)}
.ep-btn.active{background:rgba(255,255,255,.09);border-color:var(--b3);color:var(--w100)}
.back-btn{display:inline-flex;align-items:center;gap:7px;padding:7px 15px;
  background:transparent;border:1px solid var(--b1);border-radius:var(--r10);
  color:var(--w50);font-family:'Inter',sans-serif;font-size:.79rem;cursor:pointer;
  margin-bottom:26px;transition:all .2s}
.back-btn:hover{border-color:var(--b3);color:var(--w90);transform:scale(1.03)}
.back-btn svg{width:13px;height:13px}
.stars-display{display:inline-flex;gap:2px}
.star{font-size:.78rem}
.no-results{text-align:center;padding:60px;color:var(--w30);font-size:.86rem}

.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.94);z-index:9000;
  display:flex;align-items:center;justify-content:center;padding:16px;backdrop-filter:blur(12px)}
.modal-box{background:var(--bg2);border:1px solid var(--b2);border-radius:var(--r14);
  width:100%;max-width:760px;position:relative;
  box-shadow:0 28px 90px rgba(0,0,0,1),0 0 0 1px rgba(255,255,255,.02);overflow:hidden}
.modal-close{position:absolute;top:11px;right:11px;background:rgba(255,255,255,.06);
  border:1px solid var(--b1);border-radius:8px;color:var(--w50);
  width:28px;height:28px;cursor:pointer;display:flex;align-items:center;justify-content:center;
  z-index:10;transition:all .2s}
.modal-close svg{width:12px;height:12px}
.modal-close:hover{background:rgba(220,50,50,.15);border-color:rgba(220,50,50,.3);color:#fff;transform:scale(1.1)}
.player-top{background:linear-gradient(180deg,var(--bg3),var(--bg2));
  border-bottom:1px solid var(--b1);padding:13px 46px 11px 15px}
.player-header{font-family:'Noto Serif JP',serif;font-size:.79rem;letter-spacing:2px;color:var(--w90);margin-bottom:8px}
.player-controls-top{display:flex;gap:6px;flex-wrap:wrap}
.player-wrap{position:relative;width:100%;padding-top:50%;background:#000}
.player-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:none}
.player-nav-btns{display:flex;justify-content:space-between;align-items:center;
  padding:10px 13px;gap:9px;background:var(--bg3)}
.player-nav-btns button{display:flex;align-items:center;gap:5px;padding:6px 14px;
  background:rgba(255,255,255,.04);border:1px solid var(--b1);border-radius:var(--r10);
  color:var(--w50);font-family:'Inter',sans-serif;font-size:.78rem;cursor:pointer;transition:all .2s}
.player-nav-btns button svg{width:13px;height:13px}
.player-nav-btns button:hover{border-color:var(--b3);color:var(--w90);transform:scale(1.04)}
.player-ep-info{font-size:.73rem;color:var(--w30);text-align:center}

.footer{background:linear-gradient(180deg,var(--bg2),var(--bg));
  border-top:1px solid var(--b1);margin-top:70px;position:relative;overflow:hidden}
.footer-glow-line{position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:600px;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent)}
.footer-inner{max-width:1380px;margin:0 auto;padding:48px 24px 36px;
  display:grid;grid-template-columns:2.1fr 1fr 1fr 1fr;gap:42px;position:relative;z-index:1}
.footer-tagline{font-size:.78rem;color:var(--w30);line-height:1.75;margin:12px 0 13px;max-width:260px}
.footer-badge{display:inline-flex;align-items:center;gap:7px;padding:5px 11px;
  background:var(--w04);border:1px solid var(--b1);border-radius:var(--r7);font-size:.67rem;color:var(--w50)}
.footer-col h4{font-size:.63rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--w30);margin-bottom:13px}
.footer-col ul{list-style:none}
.footer-col ul li{margin-bottom:8px}
.footer-col ul li a,.footer-col ul li span{font-size:.78rem;color:var(--w50);text-decoration:none;transition:color .2s}
.footer-col ul li a:hover{color:var(--w100)}
.footer-bottom{border-top:1px solid var(--b0);padding:15px 24px;position:relative;z-index:1}
.footer-bottom-inner{max-width:1380px;margin:0 auto;display:flex;align-items:center;gap:9px;font-size:.68rem;color:var(--w30)}
.fsep{color:var(--w15)}

.toast{position:fixed;top:78px;left:50%;transform:translateX(-50%);
  background:var(--bg2);border:1px solid var(--b2);
  color:var(--w90);padding:10px 20px;border-radius:var(--r10);
  font-size:.79rem;z-index:9999;box-shadow:0 8px 28px rgba(0,0,0,.8);
  pointer-events:none;opacity:0;animation:toastIn .25s ease forwards}
.toast.err{border-color:rgba(255,80,80,.3);color:rgba(255,150,150,.9)}
@keyframes toastIn{to{opacity:1}}

.player-source-bar{
  display:flex;gap:5px;flex-wrap:wrap;padding:9px 14px 8px;
  background:var(--bg3);border-bottom:1px solid var(--b1);
  align-items:center;
}
.player-source-bar::before{
  content:'SOURCE';font-size:.58rem;letter-spacing:2px;font-weight:700;
  color:var(--w30);margin-right:4px;white-space:nowrap;flex-shrink:0;
}
.source-tab{
  display:flex;align-items:center;gap:5px;padding:5px 11px;
  background:transparent;border:1px solid var(--b1);border-radius:8px;
  color:var(--w50);font-family:'Inter',sans-serif;font-size:.73rem;font-weight:500;
  cursor:pointer;transition:all .18s;white-space:nowrap;
}
.source-tab:hover{border-color:var(--b3);color:var(--w90);background:var(--w04)}
.source-tab.active{background:rgba(255,255,255,.1);border-color:var(--b3);color:var(--w100);
  box-shadow:0 0 10px rgba(255,255,255,.07)}
.source-tab .src-label{display:inline}

.player-loading{
  position:absolute;inset:0;display:none;flex-direction:column;
  align-items:center;justify-content:center;gap:11px;
  background:#000;z-index:5;color:var(--w50);font-size:.8rem;
}
.player-spinner{
  width:30px;height:30px;border:2px solid rgba(255,255,255,.1);
  border-top-color:rgba(255,255,255,.7);border-radius:50%;
  animation:spin .65s linear infinite;
}
.player-loading-tip{
  font-size:.69rem;color:var(--w30);text-align:center;padding:0 20px;
}

.search-toggle-btn{
  display:none;
  align-items:center;justify-content:center;
  width:36px;height:36px;
  background:transparent;border:1px solid var(--b1);border-radius:9px;
  color:var(--w50);cursor:pointer;transition:all .2s;flex-shrink:0;
}
.search-toggle-btn svg{width:16px;height:16px}
.search-toggle-btn:hover,.search-toggle-btn.active{border-color:var(--b3);color:var(--w90);background:var(--w04)}

.modal-box{transition:transform .22s cubic-bezier(.4,0,.2,1)}

@media(max-width:960px){
  .footer-inner{grid-template-columns:1fr 1fr}
  .hero-title{font-size:2.2rem}
  .anime-page-hero{flex-direction:column}
  .anime-page-poster{width:148px}
  .modal-box{max-width:98vw}
}

@media(max-width:700px){
  :root{--card-w:148px;--nav-h:52px}

  .navbar{width:calc(100% - 16px);top:6px;border-radius:12px}
  .nav-inner{padding:0 10px;gap:6px}
  .logo-text{display:none}
  .logo-svg{width:32px;height:32px}
  .nav-label{display:none}
  .nav-btn{padding:8px 10px;gap:0;border-radius:9px}
  .nav-btn svg{width:17px;height:17px}
  .search-wrap{
    display:none;
    position:fixed;top:calc(var(--nav-h) + 14px);
    left:8px;right:8px;width:auto;
    background:var(--bg2);border:1px solid var(--b2);
    border-radius:var(--r14);padding:10px 12px;
    box-shadow:0 8px 40px rgba(0,0,0,.9);
    z-index:1100;
  }
  .search-wrap.mobile-open{display:flex}
  .search-wrap .search-input{width:100%;font-size:.85rem}
  .search-wrap .search-icon{position:static;margin-right:8px;flex-shrink:0}
  .search-results{position:static;width:100%;margin-top:8px;box-shadow:none;border:1px solid var(--b1)}
  .search-toggle-btn{display:flex}

  .hero-section{height:320px;width:calc(100% - 16px)}
  .hero-content{left:14px;bottom:28px;max-width:calc(100% - 28px)}
  .hero-title{font-size:1.55rem;line-height:1.1}
  .hero-desc{display:none}
  .hero-meta{font-size:.68rem;gap:10px}
  .btn-watch,.btn-info{padding:9px 16px;font-size:.79rem}

  .cards-scroll{gap:10px;padding:8px 4px 12px}
  .card-body{padding:7px 8px 9px}
  .card-title{font-size:.73rem}

  .catalogue-grid{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:10px}

  .anime-page-hero{gap:16px}
  .anime-page-poster{width:120px}
  .anime-page-info h1{font-size:1.3rem}
  .ep-grid{grid-template-columns:repeat(auto-fill,minmax(54px,1fr))}

  .modal-overlay{padding:0;align-items:flex-end}
  .modal-box{border-radius:18px 18px 0 0;max-width:100%;width:100%;
    max-height:96vh;display:flex;flex-direction:column}
  .player-wrap{padding-top:54%;flex-shrink:0}
  .player-top{padding:10px 42px 9px 12px}
  .player-header{font-size:.72rem}
  .player-source-bar{padding:7px 10px 6px;gap:4px;overflow-x:auto;flex-wrap:nowrap}
  .player-source-bar::-webkit-scrollbar{display:none}
  .source-tab{padding:4px 9px;font-size:.68rem}
  .player-nav-btns{padding:8px 10px}
  .player-nav-btns button{padding:5px 10px;font-size:.72rem}
  .player-controls-top{flex-wrap:nowrap;overflow-x:auto}
  .player-controls-top::-webkit-scrollbar{display:none}

  .footer-inner{grid-template-columns:1fr;gap:24px;padding:28px 16px 20px}
  .footer-col:nth-child(3),.footer-col:nth-child(4){display:none}

  .planning-grid{grid-template-columns:1fr}
  .planning-card{padding:11px}

  .section-block{padding:0 10px}
  .page-section{padding:0 10px 50px}

  .search-input{width:130px}
  main{padding-top:calc(var(--nav-h) + 18px)}
}