/* wester.live Series Graph */
.sg{max-width:980px;margin:0 auto}
.sg h1{margin:0 0 4px}
.sg-sub{color:var(--mut);font-size:15px;margin:0 0 14px}
.sg-top{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.sg-back{flex:none;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:var(--fg);background:var(--card);border:1px solid var(--line)}
.sg-back .i{width:18px;height:18px}
.sg-sb{position:relative;flex:1}
.sg-sb .i{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--mut);pointer-events:none}
.sg-sb input{width:100%;height:46px;padding-left:40px;border-radius:14px}
.sg-sb.sm input{height:40px}
.sg-res{display:flex;flex-direction:column;gap:6px;margin:8px 0}
.sg-res:empty{display:none}
.sg-res .li{display:flex;align-items:center;gap:12px;padding:8px;border-radius:14px;background:var(--card);border:1px solid var(--line);color:var(--fg)}
.sg-res .li img{width:40px;height:58px;object-fit:cover;border-radius:8px;flex:none}
.sg-res .li h3{margin:0;font-size:15px}
.sg-res .li p{margin:2px 0 0;font-size:13px;color:var(--mut)}

/* header */
.sg-hd{display:flex;gap:14px;margin:12px 0 4px;align-items:flex-start}
.sg-po{width:112px;aspect-ratio:2/3;object-fit:cover;border-radius:14px;border:1px solid var(--line);flex:none}
.sg-in{min-width:0;flex:1}
.sg-sc{display:flex;align-items:baseline;gap:6px}
.sg-star{color:#f5b50a;font-size:20px}
.sg-sc b{font-size:22px}
.sg-sc small{color:var(--mut);font-size:15px}
.sg-in h1{font-size:28px;line-height:1.1;margin:4px 0 2px;overflow-wrap:anywhere}
.sg-yr{margin:0;color:var(--mut);font-size:15px}
.sg-mt{margin:6px 0 0;font-size:13px;color:var(--mut)}
.sg-gn{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0 0}
.sg-gn span{font-size:12px;padding:3px 9px;border-radius:999px;border:1px solid var(--line);background:var(--card)}
.sg-act{display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin-top:10px}
.sg-act>*{display:inline-flex;align-items:center;gap:9px;padding:7px 0;font-size:16px;font-weight:500;color:var(--acc);background:none;border:0;text-decoration:none;cursor:pointer}
.sg-act .i{width:20px;height:20px}
@media(min-width:720px){.sg-act{flex-direction:row;flex-wrap:wrap;gap:8px 18px}.sg-po{width:150px}}

/* controls */
.sg-ctl{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:16px 0 12px}
.sg-sel{position:relative;display:inline-flex;align-items:center}
.sg-sel .i{position:absolute;left:11px;width:17px;height:17px;color:var(--mut);pointer-events:none}
.sg-sel select{appearance:none;-webkit-appearance:none;height:40px;padding:0 14px 0 36px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--fg);font-size:15px;font-weight:500}
.sg-tg{display:inline-flex;align-items:center;gap:9px;font-size:15px;font-weight:500}
.sg-lg{display:flex;flex-wrap:wrap;gap:8px 10px;margin:4px 0 14px}
.sg-l{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;font-size:14px;font-weight:500;color:var(--fg);background:none;border:1px solid transparent;cursor:pointer}
.sg-l i{width:15px;height:15px;border-radius:50%;flex:none}
.sg-l.on{border-color:var(--acc);background:var(--card)}

/* grid */
.sg-gw{overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;margin:0 -4px;padding:0 4px 6px}
.sg-g{display:grid;gap:5px;align-items:stretch;width:max-content;min-width:100%}
.sg-h{display:grid;place-items:center;font-size:15px;font-weight:500;color:var(--fg);min-height:30px;background:none;border:0}
.sg-h.r{justify-items:start;color:var(--mut);font-size:13px}
.sg-h.b{cursor:pointer;border-radius:8px}
.sg-h.b:active{background:var(--card)}
.sg-c{display:grid;place-items:center;min-height:52px;border-radius:7px;border:0;font-size:24px;font-weight:600;font-variant-numeric:tabular-nums;cursor:pointer;transition:opacity .15s,transform .1s;padding:0}
.sg-c:active{transform:scale(.95)}
.sg-c.dim{opacity:.18}
.sg-c.nr{background:rgba(255,255,255,.06);color:var(--mut);font-size:18px;font-weight:500}
.sg-c.av{cursor:default}
@media(max-width:480px){.sg-c{min-height:50px;font-size:23px}}
.sg-avs{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.sg-avs>b{width:100%;font-size:13px;color:var(--mut);font-weight:600;letter-spacing:.03em;text-transform:uppercase}
.sg-av{display:inline-flex;align-items:center;gap:7px;padding:4px 5px 4px 10px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--fg);font-size:13px;cursor:pointer}
.sg-av em,.sg-se summary em,.sg-r em,.sg-brow em{font-style:normal;font-weight:700;font-size:13px;padding:3px 9px;border-radius:999px;font-variant-numeric:tabular-nums;background:rgba(255,255,255,.08);min-width:42px;text-align:center}

/* list + bars */
.sg-ls{display:flex;flex-direction:column;gap:8px}
.sg-se{border:1px solid var(--line);border-radius:16px;background:var(--card);overflow:hidden}
.sg-se summary{display:flex;align-items:center;gap:10px;padding:12px 14px;cursor:pointer;list-style:none}
.sg-se summary::-webkit-details-marker{display:none}
.sg-se summary b{flex:1}
.sg-se summary span{color:var(--mut);font-size:13px}
.sg-r{display:flex;align-items:center;gap:10px;width:100%;padding:9px 14px;color:var(--fg);text-align:left;background:none;border:0;border-top:1px solid var(--line);cursor:pointer}
.sg-r b{width:44px;flex:none;color:var(--mut);font-size:13px;font-weight:600}
.sg-r span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px}
.sg-r.dim{opacity:.25}
.sg-bar{flex:none;width:72px;height:6px;border-radius:3px;background:rgba(255,255,255,.08);overflow:hidden;display:block}
.sg-bar u{display:block;height:100%;border-radius:3px;text-decoration:none}
.sg-sb2{display:flex;flex-direction:column;gap:6px}
.sg-brow{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;border:1px solid var(--line);background:var(--card);color:var(--fg);cursor:pointer}
.sg-brow b{width:84px;text-align:left;font-size:14px}
.sg-brow .sg-bar{flex:1;width:auto;height:10px;border-radius:5px}

/* chart */
.sg-chw{overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:16px;background:var(--card);padding:8px 4px}
.sg-ch{display:block;max-width:none}
.sg-ch .gl{stroke:rgba(255,255,255,.1);stroke-width:1}
.sg-ch .gt{fill:var(--mut);font-size:11px}
.sg-ch .band{fill:rgba(255,255,255,.035)}
.sg-ch .ln{fill:none;stroke:rgba(255,255,255,.35);stroke-width:1.4;stroke-linejoin:round}
.sg-ch .tr{stroke:var(--acc);stroke-width:2;stroke-dasharray:6 5;opacity:.9}
.sg-ch .avl{stroke:rgba(255,255,255,.45);stroke-width:1.5}
.sg-ch .pt{cursor:pointer;stroke:#121212;stroke-width:1.2}
.sg-ch .pt.dim{opacity:.15}
.sg-hint{margin:6px 2px 0;color:var(--mut)}

/* stats */
.sg-stats{margin-top:24px}
.sg-stg{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.sg-st{padding:12px 14px;border-radius:16px;border:1px solid var(--line);background:var(--card)}
.sg-st p{margin:0;font-size:12px;color:var(--mut);font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.sg-st b{display:block;font-size:24px;margin:4px 0 2px}
.sg-st b.up{color:#27b061}.sg-st b.dn{color:#e74c3c}
.sg-st small{color:var(--mut);font-size:12px}
.sg-two{display:grid;grid-template-columns:1fr;gap:16px;margin-top:16px}
@media(min-width:720px){.sg-two{grid-template-columns:1fr 1fr}}
.sg-two h3{margin:0 0 6px;font-size:15px}
.sg-two .sg-r{border:0;border-top:1px solid var(--line);padding-left:2px;padding-right:2px}
.sg-two .sg-r b{width:54px}

/* compare */
.sg-cmp{margin-top:26px}
.sg-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px}
.sg-chip{display:inline-flex;align-items:center;gap:7px;padding:5px 5px 5px 10px;border-radius:999px;background:var(--card);border:1px solid var(--c)}
.sg-chip i{width:10px;height:10px;border-radius:50%;background:var(--c)}
.sg-chip button{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;color:var(--mut);background:none;border:0}
.sg-chip .i{width:13px;height:13px}
.sg-tbw{overflow-x:auto;margin-top:12px}
.sg-tb{width:100%;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums}
.sg-tb th,.sg-tb td{padding:9px 10px;text-align:center;border-bottom:1px solid var(--line);white-space:nowrap}
.sg-tb th:first-child,.sg-tb td:first-child{text-align:left}
.sg-tb th{color:var(--mut);font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.sg-tb a{display:inline-flex;align-items:center;gap:8px;color:var(--fg)}
.sg-tb a i{width:10px;height:10px;border-radius:50%}
.sg-cr{margin-top:22px;color:var(--mut)}

/* link injected into series pages */
.sg-link{display:inline-flex;align-items:center;gap:8px;margin-top:10px;font-size:14px;font-weight:600;color:var(--acc)}
.sg-link .i{width:18px;height:18px}

/* episode popup */
#sgd{position:fixed;inset:0;z-index:2147482500;display:none}
#sgd.show{display:block}
.sgd-bd{position:absolute;inset:0;background:#000a}
.sgd-c{position:absolute;left:50%;bottom:0;width:min(560px,100%);max-height:88dvh;overflow-y:auto;overscroll-behavior:contain;transform:translateX(-50%);background:var(--surf,#1a1a1f);color:var(--fg);border:1px solid var(--line);border-bottom:0;border-radius:24px 24px 0 0;padding-bottom:calc(14px + env(safe-area-inset-bottom,0px));animation:sgup .26s ease-out}
.sgd-c[style*="translateY"]{transform:translateX(-50%) translateY(0)}
@keyframes sgup{from{transform:translateX(-50%) translateY(40px);opacity:0}to{transform:translateX(-50%);opacity:1}}
.sgd-h{width:40px;height:4px;border-radius:3px;background:var(--line);margin:8px auto}
.sgd-x{position:absolute;top:10px;right:10px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:#fff;background:#0009;border:0;z-index:2}
.sgd-x .i{width:18px;height:18px}
.sgd-im{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.sgd-b{padding:14px 18px 6px}
.sgd-tt{display:flex;align-items:flex-start;gap:12px}
.sgd-tt>div{flex:1;min-width:0}
.sgd-k{margin:0;font-size:12px;color:var(--mut);font-weight:600;letter-spacing:.03em}
.sgd-tt h2{margin:3px 0 0;font-size:22px;line-height:1.15}
.sgd-r{flex:none;font-size:26px;font-weight:700;padding:6px 12px;border-radius:12px;background:rgba(255,255,255,.08);font-variant-numeric:tabular-nums}
.sgd-m{color:var(--mut);font-size:13px;margin:8px 0 0}
.sgd-o{font-size:15px;line-height:1.55;margin:12px 0 0}
.sgd-bt{display:flex;gap:8px;margin-top:16px}
.sgd-bt .btn{flex:1;justify-content:center;margin:0}
.sgd-bt .btn[disabled]{opacity:.35}

.sg-toast{position:fixed;left:50%;bottom:calc(84px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:2147483100;background:#000d;color:#fff;padding:10px 16px;border-radius:999px;font-size:14px;transition:opacity .3s}
.sg-toast.out{opacity:0}

/* ===== EpiScore redesign ===== */
.ep{max-width:980px}
.sg-l i{background:transparent!important;border:3.5px solid var(--c);width:17px;height:17px}
.ep-ti{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--mut)}
.ep-ti i{width:12px;height:12px;border-radius:50%;border:3px solid var(--c)}
.ep-tiers{display:flex;flex-wrap:wrap;gap:6px 14px;margin:4px 2px 18px}
.ep-lh{position:relative;padding:26px 18px 20px;border-radius:24px;overflow:hidden;border:1px solid var(--line);background:var(--card);margin-bottom:14px}
.ep-lh-bg{position:absolute;inset:0;background:radial-gradient(60% 80% at 10% 0%,#7dd3fc33,transparent 70%),radial-gradient(60% 80% at 100% 100%,#86efac2b,transparent 70%);pointer-events:none}
.ep-lh>*{position:relative}
.ep-kick{display:inline-flex;align-items:center;gap:7px;margin:0 0 6px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#7dd3fc}
.ep-kick .i{width:16px;height:16px}
.ep-lh h1{font-size:32px;line-height:1.08;margin:0 0 6px}
.ep-lh h1 em{font-style:normal;background:linear-gradient(90deg,#7dd3fc,#86efac,#fcd34d);-webkit-background-clip:text;background-clip:text;color:transparent}
.ep-qa,.ep-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.ep-chips{margin:0 0 12px}
.ep-pill{display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 15px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--fg);font-size:14px;font-weight:600;cursor:pointer}
.ep-pill .i{width:16px;height:16px}
.ep-pill.on{background:#7dd3fc;color:#06202e;border-color:#7dd3fc}
.ep-hero{position:relative;margin:-6px -14px 14px;padding:12px 16px 16px;overflow:hidden;border-radius:0 0 28px 28px;isolation:isolate}
.ep-bg{position:absolute;inset:-24px;background-size:cover;background-position:center 20%;filter:blur(14px) saturate(1.2);transform:scale(1.08);opacity:.62;z-index:-2}
.ep-ov{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,14,.45) 0%,rgba(10,10,14,.72) 55%,var(--bg,#121212) 100%);z-index:-1}
.ep-hero .sg-sb input{background:rgba(0,0,0,.4);backdrop-filter:blur(8px);border-color:rgba(255,255,255,.14)}
.ep-hero .sg-back{background:rgba(0,0,0,.4);backdrop-filter:blur(8px)}
.ep-hc{display:flex;gap:14px;align-items:flex-end;margin-top:14px}
.ep-hc .sg-po{width:118px;box-shadow:0 14px 34px rgba(0,0,0,.55)}
.ep-in{min-width:0;flex:1}
.ep-in h1{font-size:26px;text-shadow:0 2px 12px rgba(0,0,0,.6)}
.ep-ring{--p:0;width:74px;height:74px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--c) calc(var(--p)*1%),rgba(255,255,255,.14) 0);position:relative}
.ep-ring::before{content:"";position:absolute;inset:6px;border-radius:50%;background:rgba(12,12,16,.88)}
.ep-ring div{position:relative;text-align:center;line-height:1}
.ep-ring b{display:block;font-size:24px}
.ep-ring small{font-size:8.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--mut)}
.ep-tier{margin:6px 0 4px;font-weight:700;font-size:14px}
.ep-tier span{color:var(--mut);font-weight:500}
.ep-acts{display:flex;gap:8px;overflow-x:auto;margin-top:14px;padding-bottom:2px;scrollbar-width:none}
.ep-acts::-webkit-scrollbar{display:none}
.ep-b{flex:none;display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 15px;border-radius:999px;background:rgba(255,255,255,.1);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.16);color:#fff;font-size:14px;font-weight:600;text-decoration:none;cursor:pointer}
.ep-b .i{width:17px;height:17px}
.ep-b.on{background:#7dd3fc;border-color:#7dd3fc;color:#06202e}
.ep-ov-t{margin:0 0 14px;color:var(--mut);font-size:14.5px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.ep-score-chip{display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 14px;border-radius:12px;background:linear-gradient(90deg,#7dd3fc33,#86efac33);border:1px solid #7dd3fc66;font-weight:700;font-size:15px}
.ep-score-chip .i{width:16px;height:16px}
.ep-rt{margin:0 0 14px;padding:14px 16px;border-radius:18px;border:1px solid var(--line);background:var(--card)}
.ep-rt-h{font-weight:700;font-size:14px;display:flex;align-items:center;gap:8px}
.ep-rt-h em{font-style:normal;font-size:11px;padding:2px 8px;border-radius:999px;background:#fcd34d;color:#2b2000}
.ep-rt-g{display:flex;gap:28px;margin:8px 0}
.ep-rt-g b{display:block;font-size:30px;line-height:1.1}
.ep-rt-g small{color:var(--mut);font-size:12px}
#sgcmp:not(:empty){margin:0 0 16px;padding:12px 14px;border-radius:20px;border:1px solid #7dd3fc55;background:var(--card)}
#sgcmp .sg-cmp{margin-top:0}
.sg-c{border-radius:10px}
.sg-ch .pt{stroke:#0c0c10}

/* ===== EpiScore v2 : neutral theme, compact layout ===== */
.ep-lh-bg{display:none}
.ep-kick{color:var(--mut);letter-spacing:0;text-transform:none;font-size:14px}
.ep-lh h1 em{background:none;-webkit-background-clip:initial;background-clip:initial;color:var(--fg);font-style:normal;opacity:.7}
.ep-pill.on,.ep-b.on{background:var(--fg);color:#111;border-color:var(--fg)}
#sgcmp:not(:empty){border-color:var(--line)}
.sg-avs>b,.sg-st p,.sg-tb th{text-transform:none;letter-spacing:0}
.ep-hc{align-items:flex-start}
.ep-pc{flex:none;width:112px;display:flex;flex-direction:column;gap:8px}
.ep-pc .sg-po{width:100%}
.ep-watch{display:flex;align-items:center;justify-content:center;gap:6px;height:36px;border-radius:12px;background:var(--fg);color:#111;font-weight:700;font-size:14px;text-decoration:none}
.ep-watch .i{width:16px;height:16px}
.ep-in h1{font-size:24px;margin:2px 0}
.ep-ring{width:64px;height:64px}
.ep-ring::before{inset:5px}
.ep-ring b{position:relative;font-size:22px;font-weight:700}
.ep-tier{margin:5px 0 2px;font-size:13px;font-weight:600}
.ep-tier span{color:inherit;font-weight:700}
.ep-in .sg-yr{font-size:14px}.ep-in .sg-mt{font-size:12.5px;margin-top:3px}
.ep-in .sg-gn{margin-top:6px}.ep-in .sg-gn span{font-size:11.5px;padding:2px 8px}
.ep-acts{flex-direction:row;flex-wrap:wrap;gap:2px 16px;overflow:visible;margin-top:8px;padding:0}
.ep-b{height:auto;padding:4px 0;border:0;background:none;backdrop-filter:none;border-radius:0;font-size:13.5px;font-weight:600;gap:6px}
.ep-b .i{width:16px;height:16px}
.ep-b.c1{color:#8fb4ff}.ep-b.c2{color:#7fd6a0}.ep-b.c3{color:#e8a0c0}.ep-b.c4{color:#e0c07a}
.ep-b.on{background:none;color:var(--fg);border:0}
.ep-hero{margin-bottom:10px}
.ep-rt{display:flex;align-items:center;gap:14px;margin:0 0 12px;padding:9px 14px;border-radius:14px;border:1px solid var(--line);background:var(--card)}
.ep-rt-h{font-weight:700;font-size:13.5px;flex:1;white-space:nowrap}
.ep-rt-v{display:flex;flex-direction:column;align-items:center;line-height:1.1}
.ep-rt-v b{font-size:19px}.ep-rt-v small{font-size:11px;color:var(--mut)}
.ep-rt .lk{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.08);color:var(--fg);text-decoration:none;font-size:15px}
.sg-ctl{margin:8px 0 6px;gap:8px 14px;justify-content:space-between;flex-wrap:nowrap}
.sg-sel select{height:34px;font-size:14px;padding:0 12px 0 32px}
.sg-sel .i{left:9px;width:15px;height:15px}
.sg-tg{font-size:14px}
.sg-lg{margin:0 0 10px;gap:4px 6px}
.sg-l{padding:4px 8px;font-size:13px;gap:6px}
.sg-l i{width:13px;height:13px;border-width:3px}
.sg-imst:empty{display:none}

/* ===== EpiScore v3 ===== */
/* back + search on one line */
.sg-top{display:flex;align-items:center;gap:8px}
.sg-back{width:40px;height:40px;margin:0}
.sg-sb{display:flex;align-items:center;margin:0}
.sg-sb input,.sg-sb .in,.sg-sb.sm input{height:40px;margin:0;padding-top:0;padding-bottom:0}
/* poster column: compact, centred watch button */
.ep-pc{width:104px;gap:6px}
.ep-watch{height:32px;border-radius:10px;font-size:13.5px;line-height:1;padding:0}
/* actions: two aligned columns, no colours */
.ep-acts{display:grid;grid-template-columns:auto auto;justify-content:start;gap:4px 26px;margin-top:8px}
.ep-b,.ep-b.c1,.ep-b.c2,.ep-b.c3,.ep-b.c4,.ep-b.on{color:var(--fg);justify-content:flex-start;text-align:left;padding:5px 0;background:none;border:0}
/* controls: compact, not stretched */
.sg-ctl{justify-content:flex-start;gap:8px 16px}
.sg-ctl .sg-tg:last-child{margin-left:auto}
.sg-sel{flex:none;width:auto}
.sg-sel select{width:auto;min-width:0;padding-right:26px}
.sg-gw{display:block}
/* popup: never shift sideways, don't chain scroll */
.sgd-c{touch-action:pan-y;overscroll-behavior:contain}
.sgd-bd{touch-action:none}

/* v4 */
.sg-sel select{width:116px !important;max-width:116px}
.sg-sel{flex:none !important;width:auto !important}
.sg-ctl{flex-wrap:nowrap;gap:6px 12px}
.sg-ctl .sg-tg{flex:none;gap:7px}
.sg-c.av{font-weight:700;box-shadow:inset 0 0 0 2px rgba(0,0,0,.28)}
