:root{--biki-color-ink:#0a0c11;--biki-color-surface-1:#11141c;--biki-color-surface-2:#181c27;--biki-color-surface-3:#232837;--biki-color-line:#2b3142;--biki-color-text:#eef0f6;--biki-color-text-dim:#a4abbe;--biki-color-text-faint:#6f778c;--biki-color-accent:#ffb23e;--biki-color-accent-ink:#1a1100;--biki-color-signal:#37d6bd;--biki-color-danger:#ff6b6b;--biki-color-warning:#ffd166;--biki-color-success:#5fd38d;--biki-radius-sm:6px;--biki-radius-md:10px;--biki-radius-lg:16px;--biki-radius-pill:999px;--biki-space-1:4px;--biki-space-2:8px;--biki-space-3:12px;--biki-space-4:16px;--biki-space-5:24px;--biki-space-6:32px;--biki-space-7:48px;--biki-space-8:72px;--biki-font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--biki-font-display:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--biki-motion-fast:.12s;--biki-motion-base:.22s;--biki-motion-ease:cubic-bezier(.2,.7,.2,1);--biki-poster-aspect:2 / 3;--biki-poster-railWidth:176px}*,:before,:after{box-sizing:border-box}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background:var(--biki-color-ink);color:var(--biki-color-text);font:400 15px/1.5 var(--biki-font-sans);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,p{margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit;color:inherit}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--biki-color-accent);outline-offset:2px;border-radius:4px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--biki-color-text-dim)}code{background:var(--biki-color-surface-2);word-break:break-all;border-radius:4px;padding:1px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}.skip-link{background:var(--biki-color-accent);color:var(--biki-color-accent-ink);z-index:100;border-radius:8px;padding:8px 14px;font-weight:600;position:absolute;top:-48px;left:8px}.skip-link:focus{top:8px}.brand-logo{line-height:0;display:inline-flex}.brand-logo img{max-width:100%;height:auto;display:block}.brand-logo--md img{width:auto;height:36px}.brand-logo--lg img{aspect-ratio:1;width:min(220px,60vw)}.topbar__brand{align-items:center;display:inline-flex}.btn{border-radius:var(--biki-radius-pill);border:1px solid var(--biki-color-line);background:var(--biki-color-surface-2);cursor:pointer;min-height:42px;transition:background var(--biki-motion-fast), transform var(--biki-motion-fast);justify-content:center;align-items:center;gap:8px;padding:0 18px;font-weight:600;display:inline-flex}.btn:hover{background:var(--biki-color-surface-3)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--biki-color-accent);color:var(--biki-color-accent-ink);border-color:#0000}.btn--primary:hover{background:#ffc266}.btn--ghost{background:0 0}.btn--block{width:100%}.link{color:var(--biki-color-accent);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.shell{min-height:100vh}.topbar{z-index:20;background:linear-gradient(var(--biki-color-ink), #0a0c11db);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid #ffffff0d;align-items:center;gap:24px;padding:12px clamp(16px,4vw,48px);display:flex;position:sticky;top:0}.topbar__nav{scrollbar-width:none;flex:1;gap:4px;min-width:0;display:flex;overflow-x:auto}.topbar__nav a{border-radius:var(--biki-radius-pill);color:var(--biki-color-text-dim);white-space:nowrap;padding:8px 14px;font-weight:600}.topbar__nav a:hover{color:var(--biki-color-text)}.topbar__nav a.active{color:var(--biki-color-text);background:var(--biki-color-surface-2)}.searchbox{position:relative}.searchbox input{border-radius:var(--biki-radius-pill);border:1px solid var(--biki-color-line);background:var(--biki-color-surface-1);width:min(260px,32vw);height:38px;padding:0 34px 0 36px}.searchbox__icon{color:var(--biki-color-text-dim);pointer-events:none;position:absolute;top:11px;left:13px}.searchbox input:focus{border-color:var(--biki-color-accent);outline:none}.searchbox__clear{width:28px;height:28px;color:var(--biki-color-text-dim);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:5px;right:6px}.btn svg,.chip svg,.rating svg{flex:none}.topbar__user{color:var(--biki-color-text-dim);align-items:center;gap:8px;display:inline-flex}.topbar__user:hover{color:var(--biki-color-text)}.rating{vertical-align:bottom;align-items:center;gap:4px;display:inline-flex}.rating svg{color:var(--biki-color-accent)}.avatar{background:var(--biki-color-signal);color:#031512;border-radius:50%;place-items:center;width:36px;height:36px;font-weight:800;display:grid}.main{outline:none;padding:0 0 72px}.main>:not(.home):not(.detail){padding-inline:clamp(16px,4vw,48px)}.banner{padding:10px clamp(16px,4vw,48px);font-size:14px}.banner--warn{color:var(--biki-color-warning);background:#3a2a05;border-bottom:1px solid #5c4410}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-block:28px 20px;display:flex}.page-head h1{letter-spacing:-.02em;font-size:clamp(24px,3vw,34px)}.toolbar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.select{color:var(--biki-color-text-dim);align-items:center;gap:8px;display:inline-flex}.select select,.field input{border-radius:var(--biki-radius-md);border:1px solid var(--biki-color-line);background:var(--biki-color-surface-1);height:40px;padding:0 12px}.select select{color:var(--biki-color-text)}.check{cursor:pointer;align-items:center;gap:8px;display:inline-flex}.check input{width:18px;height:18px;accent-color:var(--biki-color-accent)}.poster{width:100%;aspect-ratio:var(--biki-poster-aspect);object-fit:cover;background:var(--biki-color-surface-2);border-radius:var(--biki-radius-md)}.poster--empty{color:var(--biki-color-text-faint);background:linear-gradient(160deg, var(--biki-color-surface-2), var(--biki-color-surface-1));place-items:center;font-size:42px;font-weight:800;display:grid}.card{border-radius:var(--biki-radius-md);display:block;position:relative}.card__art{border-radius:var(--biki-radius-md);transition:transform var(--biki-motion-base) var(--biki-motion-ease), box-shadow var(--biki-motion-base);position:relative;overflow:hidden}.card:hover .card__art,.card:focus-visible .card__art{transform:translateY(-4px)scale(1.02);box-shadow:0 14px 30px #00000080}.card--wide .poster{aspect-ratio:16/9}.card__badge{width:24px;height:24px;color:var(--biki-color-success);background:#0a0c11cc;border-radius:50%;place-items:center;font-size:13px;font-weight:800;display:grid;position:absolute;top:8px;right:8px}.card__progress{background:#fff3;height:4px;position:absolute;bottom:0;left:0;right:0}.card__progress span{background:var(--biki-color-accent);height:100%;display:block}.card__meta{flex-direction:column;padding:8px 2px 0;display:flex}.card__title{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.card__sub{color:var(--biki-color-text-dim);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.rail{padding:28px 0 0 clamp(16px,4vw,48px)}.rail__head{align-items:center;gap:12px;padding-right:clamp(16px,4vw,48px);display:flex}.rail__head h2{letter-spacing:-.01em;flex:1;font-size:20px}.rail__nav{gap:6px;display:flex}.rail__nav button{border:1px solid var(--biki-color-line);background:var(--biki-color-surface-1);width:34px;height:34px;color:inherit;cursor:pointer;border-radius:50%;place-items:center;padding:0;display:grid}.rail__nav button:hover{background:var(--biki-color-surface-3)}.rail__list{scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--biki-color-surface-3) transparent;gap:16px;margin:14px 0 0;padding:6px clamp(16px,4vw,48px) 14px 0;list-style:none;display:flex;overflow-x:auto}.rail__item{flex:0 0 var(--biki-poster-railWidth);scroll-snap-align:start}.rail__item--wide{flex-basis:300px}.grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:24px 16px;margin:0;padding:0 clamp(16px,4vw,48px);list-style:none;display:grid}.grid-foot{color:var(--biki-color-text-dim);justify-content:center;align-items:center;gap:16px;padding:32px 0;display:flex}.hero{align-items:flex-end;min-height:min(62vh,560px);display:flex;position:relative;overflow:hidden}.hero__img{aspect-ratio:auto;object-position:center 20%;border-radius:0;width:100%;height:100%;position:absolute;inset:0}.hero__shade{background:linear-gradient(90deg, #0a0c11f0 5%, #0a0c1173 55%, transparent), linear-gradient(0deg, var(--biki-color-ink) 2%, transparent 45%);position:absolute;inset:0}.hero__body{flex-direction:column;gap:10px;max-width:760px;padding:0 clamp(16px,4vw,48px) 40px;display:flex;position:relative}.hero__kicker{color:var(--biki-color-accent);letter-spacing:.12em;text-transform:uppercase;font-size:12px;font-weight:700}.hero__title{letter-spacing:-.03em;font-size:clamp(32px,5vw,56px);line-height:1.05}.hero__episode{color:var(--biki-color-text-dim);font-size:18px}.hero__facts{color:var(--biki-color-text-dim)}.hero__overview{-webkit-line-clamp:3;color:#d6d9e4;-webkit-box-orient:vertical;max-width:62ch;display:-webkit-box;overflow:hidden}.hero__actions{flex-wrap:wrap;gap:12px;margin-top:8px;display:flex}.state{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:64px 0;display:flex}.state h2{font-size:22px}.state p{color:var(--biki-color-text-dim);max-width:52ch}.state--error h2{color:var(--biki-color-danger)}.notice{border-radius:var(--biki-radius-md);background:var(--biki-color-surface-2);border:1px solid var(--biki-color-line);margin:16px clamp(16px,4vw,48px);padding:10px 14px}.notice--warn{color:var(--biki-color-warning);background:#2a2008;border-color:#5c4410}.skeleton{background:linear-gradient(90deg, var(--biki-color-surface-1), var(--biki-color-surface-3), var(--biki-color-surface-1));border-radius:var(--biki-radius-md);background-size:200% 100%;animation:1.4s linear infinite shimmer}.skeleton--hero{border-radius:0;height:46vh}.skeleton--title{width:220px;height:22px;margin-bottom:14px}.skeleton--poster{aspect-ratio:2/3}.skeleton--line{width:70%;height:14px;margin-top:10px}@keyframes shimmer{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skeleton,.spinner{animation:none}.card__art{transition:none}}.spinner{border:2px solid var(--biki-color-line);border-top-color:var(--biki-color-accent);vertical-align:-3px;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin;display:inline-block}.spinner--lg{border-width:4px;width:48px;height:48px}@keyframes spin{to{transform:rotate(360deg)}}.loading-line{color:var(--biki-color-text-dim);padding:48px clamp(16px,4vw,48px)}.login{background:radial-gradient(1200px 600px at 20% -10%, #2a1f0a 0%, transparent 60%), radial-gradient(900px 500px at 100% 100%, #08262a 0%, transparent 60%), var(--biki-color-ink);place-items:center;min-height:100vh;padding:24px;display:grid}.login__card{border:1px solid var(--biki-color-line);border-radius:var(--biki-radius-lg);background:#11141ce6;flex-direction:column;gap:16px;width:min(420px,100%);padding:32px;display:flex;box-shadow:0 30px 80px #00000080}.login__brand{place-items:center;display:grid}.login__title{text-align:center;font-size:22px}.login__server{color:var(--biki-color-text-dim);align-items:center;gap:8px;font-size:14px;display:flex}.login__server--down{color:var(--biki-color-danger)}.login__hint{color:var(--biki-color-text-faint);font-size:13px}.dot{border-radius:50%;flex:none;width:9px;height:9px;display:inline-block}.dot--ok{background:var(--biki-color-success)}.dot--bad{background:var(--biki-color-danger)}.form{flex-direction:column;gap:14px;display:flex}.field{flex-direction:column;gap:6px;font-size:14px;font-weight:600;display:flex}.field input{width:100%}.field__row{gap:8px;display:flex}.field__row input{flex:1}.form__error{color:var(--biki-color-danger);font-size:14px}.detail{padding-bottom:32px;position:relative}.detail__backdrop{z-index:-1;opacity:.5;height:70vh;position:absolute;inset:0 0 auto;overflow:hidden;-webkit-mask-image:linear-gradient(#000 20%,#0000);mask-image:linear-gradient(#000 20%,#0000)}.detail__backdrop .poster{aspect-ratio:auto;object-fit:cover;border-radius:0;width:100%;height:100%}.detail__back{margin:16px clamp(16px,4vw,48px) 0}.detail__main{grid-template-columns:minmax(150px,280px) 1fr;align-items:start;gap:clamp(20px,4vw,48px);padding:24px clamp(16px,4vw,48px);display:grid}.detail__poster{border-radius:var(--biki-radius-md);overflow:hidden;box-shadow:0 20px 50px #0000008c}.detail__info{flex-direction:column;gap:14px;min-width:0;display:flex}.detail__info h1{letter-spacing:-.03em;font-size:clamp(28px,4vw,46px);line-height:1.08}.detail__kicker,.detail__facts{color:var(--biki-color-text-dim)}.detail__kicker a{color:var(--biki-color-accent)}.detail__tagline{color:var(--biki-color-text-dim);font-style:italic}.detail__overview{color:#d6d9e4;max-width:70ch}.detail__actions,.detail__secondary{flex-wrap:wrap;gap:12px;display:flex}.chips{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.chip{border-radius:var(--biki-radius-pill);background:var(--biki-color-surface-3);margin-left:8px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.chips .chip{margin-left:0}.kv{grid-template-columns:max-content 1fr;gap:6px 20px;margin:0;display:grid}.kv dt{color:var(--biki-color-text-dim)}.kv dd{margin:0}.kv--compact{font-size:14px}.episodes{padding:8px clamp(16px,4vw,48px) 0}.episodes__head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.episodes__head h2{font-size:22px}.eplist{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.ep{border-radius:var(--biki-radius-md);grid-template-columns:200px 1fr auto;align-items:center;gap:16px;padding:12px;display:grid}.ep:hover{background:var(--biki-color-surface-1)}.ep__art{border-radius:var(--biki-radius-sm);display:block;position:relative;overflow:hidden}.ep__art .poster{aspect-ratio:16/9;border-radius:var(--biki-radius-sm)}.ep__body h3{font-size:16px}.ep__body a:hover{color:var(--biki-color-accent)}.ep__overview{color:var(--biki-color-text-dim);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:4px;font-size:14px;display:-webkit-box;overflow:hidden}.panel{background:var(--biki-color-surface-1);border:1px solid var(--biki-color-line);border-radius:var(--biki-radius-lg);flex-direction:column;align-items:flex-start;gap:12px;max-width:720px;margin-bottom:16px;padding:20px;display:flex}.panel h2{font-size:18px}.diag{word-break:break-word;flex-direction:column;gap:4px;margin:0;padding:0;font-family:ui-monospace,monospace;font-size:12px;list-style:none;display:flex}.modal{z-index:60;background:#000000a6;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal__box{background:var(--biki-color-surface-1);border:1px solid var(--biki-color-line);border-radius:var(--biki-radius-lg);flex-direction:column;gap:14px;width:min(640px,100%);max-height:88vh;padding:24px;display:flex;overflow:auto}.modal__foot{justify-content:flex-end;display:flex}.sublist{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.sublist li{border-radius:var(--biki-radius-md);background:var(--biki-color-surface-2);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.sublist li>div{flex-direction:column;min-width:0;display:flex}.sublist strong{overflow-wrap:anywhere}.confirm{border:1px solid var(--biki-color-accent);border-radius:var(--biki-radius-md);flex-direction:column;gap:10px;padding:14px;display:flex}.player-page,.player-wait{background:#000;position:fixed;inset:0}.player-wait{background:var(--biki-color-ink);place-content:center;justify-items:center;gap:16px;display:grid}.player-badge{z-index:5;border-radius:var(--biki-radius-pill);color:var(--biki-color-text-dim);background:#0a0c11cc;padding:4px 12px;font-size:12px;position:absolute;top:76px;right:20px}.player-fail,.next-up{z-index:8;border-radius:var(--biki-radius-lg);border:1px solid var(--biki-color-line);background:#11141cf5;flex-direction:column;gap:10px;max-width:340px;padding:16px;display:flex;position:absolute;bottom:120px;right:24px}.player-fail{text-align:center;border-color:var(--biki-color-danger);max-width:480px;bottom:50%;left:50%;right:auto;transform:translate(-50%)}@media (max-width:720px){.topbar{flex-wrap:wrap;gap:12px}.topbar__nav{flex-basis:100%;order:3}.searchbox{flex:1}.searchbox input{width:100%}.detail__main{grid-template-columns:1fr}.detail__poster{max-width:200px}.ep{grid-template-columns:120px 1fr}.ep__actions{grid-column:1/-1}.grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:18px 12px}.rail__nav{display:none}.rail__item{flex-basis:132px}.rail__item--wide{flex-basis:240px}.hero{min-height:52vh}}
