:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f1114;--card:#181b20;--ink:#f2f4f7;--muted:#a3abb9;--emphasis:#c3d4ee;--line:#2a2f37;--chip:#232830;--accent:#3a86cf;--gold:#f0a640;--green:#43d4a0;--green-dot:#43d4a0;--green-bg:#12332b;--header:#13161b;--header-dark:#1d3652;--header-ink:#eef2f7;--abbr:#6fd3d3;--abbr-bg:#17343a;--sr:#9fb4c9;--sr-bg:#222c38;--stamp-top:#fff3c4;--stamp-mid:#e2b85a;--stamp-bottom:#a9741f;--visual:#3bbd2a;--visual-bg:#263317}body{background:var(--bg);color:var(--ink);margin:0;font-family:system-ui,sans-serif}main{max-width:600px;margin:0 auto;padding:16px}input,.sort{color:var(--ink);background:var(--card);border:1px solid var(--line);box-sizing:border-box;border-radius:8px;padding:8px 12px;font-family:inherit;font-size:15px}.toolbar{gap:8px;display:flex}.toolbar input{flex:1;min-width:0}.sort{flex:none}.message{text-align:center;color:var(--muted);padding:24px 0}.note{color:var(--muted);margin:8px 2px 0;font-size:13px;line-height:1.4}.site-header{background:var(--header);color:var(--header-ink);border-bottom:1px solid var(--line)}.site-inner{max-width:600px;margin:0 auto;padding:20px 16px 0}.site-header h1{margin:0 0 14px;font-size:26px;font-weight:800}.nav{gap:4px;display:flex}.nav-tab{color:var(--header-ink);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px 10px 0 0;padding:12px 18px;font-size:15px;font-weight:600}.nav-tab:hover{background:color-mix(in srgb, var(--header-dark) 55%, transparent)}.nav-tab.active{background:var(--header-dark)}.chip{border:1px solid var(--line);background:var(--card);color:var(--ink);font:inherit;cursor:pointer;border-radius:20px;padding:8px 16px;font-size:15px}.chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.filters{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;margin:10px 0;padding:12px}.card h3{margin:0;font-size:16px}.card p{color:var(--muted);margin:2px 0 0;font-size:14px}.card .big{color:var(--emphasis);font-size:18px;font-weight:700}.card .now{color:var(--green);align-items:center;gap:8px;font-size:18px;font-weight:700;display:flex}.card .sr-note{color:var(--sr);font-size:14px}.name-row{flex-wrap:wrap;align-items:center;gap:2px 8px;display:flex}.sr-note .badge{margin:0 2px 0 0}.character{isolation:isolate;gap:12px;display:flex;position:relative;overflow:hidden}.character.has-banner{align-items:center;min-height:128px}.character .banner{object-position:center 30%;width:46%}.avatar{z-index:1;width:56px;height:56px;color:var(--accent);flex:none;place-items:center;font-size:22px;font-weight:700;display:grid;position:relative}.avatar img{object-fit:contain;width:100%;height:100%}.info{z-index:1;min-width:0;text-shadow:0 1px 8px var(--card);position:relative}.badge{letter-spacing:.08em;color:var(--accent);border:1.5px solid var(--accent);vertical-align:middle;border-radius:6px;margin-left:6px;padding:1px 6px;font-size:11px;font-weight:800;display:inline-block}.banner{--fade:linear-gradient(to right, #0000 0%, #00000008 10%, #0000001a 20%, #00000038 30%, #00000059 40%, #00000080 50%, #000000a6 60%, #000000c7 70%, #000000e6 80%, #000000f7 90%, #000 100%);z-index:0;object-fit:cover;pointer-events:none;width:55%;height:100%;-webkit-mask-image:var(--fade);-webkit-mask-image:var(--fade);mask-image:var(--fade);position:absolute;top:0;right:0}.banner-wrap{border-radius:inherit;pointer-events:none;position:absolute;inset:0;overflow:hidden}.sr-stamp{z-index:1;letter-spacing:.02em;background:linear-gradient(180deg, var(--stamp-top) 0%, var(--stamp-mid) 55%, var(--stamp-bottom) 100%);-webkit-text-fill-color:transparent;filter:drop-shadow(1px 0 #2a1a08)drop-shadow(-1px 0 #2a1a08)drop-shadow(0 1px #2a1a08)drop-shadow(0 -1px #2a1a08)drop-shadow(0 3px 6px #0009);pointer-events:none;-webkit-background-clip:text;background-clip:text;padding:2px 6px;font-size:34px;font-style:italic;font-weight:900;line-height:1;position:absolute;top:50%;right:9%;transform:translateY(-50%)rotate(-6deg)}.sr-stamp.small{font-size:18px;top:auto;bottom:-2px;right:-6px;transform:rotate(-6deg)}.timeline{margin:16px 0 0 6px;padding-left:18px;position:relative}.timeline:before{content:"";border-left:2px solid var(--line);position:absolute;top:0;bottom:0;left:0}.year{color:var(--muted);margin:20px 0 8px;font-size:15px;font-weight:700}.event{background:var(--card);border:1px solid var(--line);border-radius:12px;margin:0 0 10px;padding:12px;position:relative}.event:after{content:"";background:var(--accent);border-radius:50%;width:10px;height:10px;position:absolute;top:17px;left:-23px}.event.chapter{border-style:dashed}.event.chapter:after{background:var(--gold)}.event.visual:after{background:var(--visual)}.event.current:after{background:var(--green-dot);box-shadow:0 0 0 4px #3aa57a33}.event-body{z-index:1;position:relative}.event h3{margin:0;font-size:16px}.event p{color:var(--muted);margin:2px 0 0;font-size:14px}.stats{border-top:1px solid var(--chip);margin-top:10px;padding-top:10px}.event p.big{color:var(--accent);margin:0;font-size:18px;font-weight:700}.event.chapter p.big{color:var(--gold)}.event.has-banner{align-items:center;min-height:128px;display:flex}.event.has-banner .event-body{flex:1;min-width:0}.event .banner{object-position:center 30%;width:46%}.tags{flex-wrap:wrap;gap:6px;display:flex}.tags+.tags .tag{margin-top:6px}.tag{background:var(--chip);border-radius:8px;margin-top:8px;padding:2px 8px;font-size:12px;font-weight:600}.tag.abbr{color:var(--abbr);background:var(--abbr-bg);letter-spacing:.04em}.badge.sr{color:var(--sr);border-color:var(--sr)}.tag.sr{color:var(--sr);background:var(--sr-bg)}.tag.gold{color:var(--gold)}.tag.rerun{color:var(--accent)}.tag.visual{color:var(--visual);background:var(--visual-bg)}.tag.live{color:var(--green);background:var(--green-bg);align-items:center;gap:6px;display:inline-flex}.eyebrow .tag{margin:0 0 6px;display:inline-flex}.dot{background:var(--green-dot);border-radius:50%;width:7px;height:7px;display:inline-block}@media (width<=600px){.site-inner,main{zoom:.65}.note{font-size:16px}input,.sort{padding:8px 14px;font-size:18px}.event .banner,.character .banner{width:38%}.info,.event-body{padding-right:28%}.card h3{font-size:1.17em}.card p{margin:4px 0 0;font-size:16px}.card .big{font-size:22px}.avatar{width:64px;height:64px}}
