:root{--bg:#0b0d12;--surface:#12151d;--surface-2:#181c26;--text:#e8e2d5;--text-dim:#a39c8d;--ice:#9fc4d8;--gold:#c9a227;--blood:#b03a3a;--line:rgba(232,226,213,0.12);--serif:Georgia,"Times New Roman","STZhongsong","Noto Serif SC","SimSun",serif;--sans:system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--sans);line-height:1.7;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.site-header{position:fixed;inset:0 0 auto 0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:.9rem clamp(1rem,5vw,4rem);background:linear-gradient(180deg,rgba(11,13,18,.85),transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.brand{font-family:var(--serif);font-size:1.15rem;letter-spacing:.35em;color:var(--text)}.site-nav{display:flex;gap:1.6rem;font-size:.92rem}.site-nav a{color:var(--text-dim);transition:color .2s}.site-nav a:hover{color:var(--text)}.hero{min-height:94vh;display:grid;place-items:center;background-size:cover;background-position:center 30%;text-align:center;padding:7rem 1.5rem 4rem}.hero__kicker{font-size:.78rem;letter-spacing:.5em;text-transform:uppercase;color:var(--ice);margin-bottom:1.2rem}.hero__title{font-family:var(--serif);font-size:clamp(2.6rem,8vw,5rem);letter-spacing:.28em;text-indent:.28em;font-weight:600;text-shadow:0 2px 24px rgba(0,0,0,.6)}.hero__sub{max-width:40rem;margin:1.4rem auto 0;color:var(--text-dim);font-size:clamp(.95rem,1.6vw,1.05rem)}.hero__cta{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:2.2rem}.btn{display:inline-block;padding:.72rem 1.6rem;border:1px solid;border-radius:2px;font-size:.95rem;letter-spacing:.12em;transition:background .25s,color .25s}.btn--gold{border-color:var(--gold);color:var(--gold)}.btn--gold:hover{background:var(--gold);color:#14100a}.btn--red{border-color:var(--blood);color:#e08585}.btn--red:hover{background:var(--blood);color:#fff}.hero__stats{display:flex;gap:clamp(1.5rem,5vw,4rem);justify-content:center;margin-top:3rem}.hero__stats dt{font-family:var(--serif);font-size:1.9rem;color:var(--text)}.hero__stats dd{font-size:.8rem;color:var(--text-dim);letter-spacing:.2em}.section{max-width:72rem;margin:0 auto;padding:4.5rem 1.5rem 2rem}.section__title{font-family:var(--serif);font-size:clamp(1.5rem,3.4vw,2.1rem);letter-spacing:.18em;text-align:center}.section__sub{text-align:center;color:var(--text-dim);margin:.7rem 0 2.6rem;font-size:.95rem}.series-grid{display:grid;grid-gap:1.4rem;gap:1.4rem;grid-template-columns:repeat(auto-fit,minmax(21rem,1fr))}.series-card{position:relative;border:1px solid var(--line);border-radius:4px;overflow:hidden;display:grid;grid-template-columns:10rem 1fr;min-height:21rem;transition:transform .25s,border-color .25s}.series-card:hover{transform:translateY(-4px);border-color:var(--line)}.series-card--gold:hover{border-color:rgba(201,162,39,.55)}.series-card--blood:hover{border-color:rgba(176,58,58,.6)}.series-card__wall{position:absolute;inset:0;background-size:cover;background-position:50%;z-index:0}.series-card__poster{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;align-self:start}.series-card__body{position:relative;z-index:1;padding:1.4rem 1.3rem;align-self:center}.series-card__en{font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--text-dim)}.series-card__name{font-family:var(--serif);font-size:1.55rem;letter-spacing:.14em;margin:.2rem 0 .4rem}.series-card__years{font-size:.82rem;color:var(--ice);letter-spacing:.1em}.series-card__desc{font-size:.88rem;color:var(--text-dim);margin:.7rem 0 1rem}.chip{display:inline-block;font-size:.72rem;letter-spacing:.2em;padding:.18rem .7rem;border:1px solid;border-radius:2px}.chip--gold{color:var(--gold);border-color:rgba(201,162,39,.5)}.chip--blood{color:#e08585;border-color:rgba(176,58,58,.55)}.module-grid{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr))}.module-card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:1.3rem 1.1rem 2.4rem;transition:border-color .25s,transform .25s}.module-card:hover{border-color:rgba(159,196,216,.45);transform:translateY(-3px)}.module-card__icon{font-size:1.5rem}.module-card__name{font-family:var(--serif);font-size:1.08rem;letter-spacing:.12em;margin:.5rem 0 .3rem}.module-card__desc{font-size:.82rem;color:var(--text-dim)}.module-card__phase{position:absolute;right:.9rem;top:.9rem;font-size:.7rem;letter-spacing:.15em;color:var(--ice);border:1px solid rgba(159,196,216,.4);padding:.05rem .45rem;border-radius:2px}.gallery{display:grid;grid-gap:.8rem;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}.gallery__item{overflow:hidden;border-radius:4px;border:1px solid var(--line)}.gallery__item img{width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform .4s}.gallery__item:hover img{transform:scale(1.05)}.site-footer{margin-top:4rem;border-top:1px solid var(--line);padding:2.6rem 1.5rem 3rem;text-align:center;color:var(--text-dim);font-size:.82rem}.site-footer__brand{font-family:var(--serif);letter-spacing:.3em;color:var(--text);margin-bottom:.8rem}.site-footer__meta{margin-top:.8rem;font-size:.74rem}@media (max-width:560px){.series-card{grid-template-columns:7.5rem 1fr;min-height:17rem}.site-nav{gap:1rem;font-size:.85rem}}.page{max-width:72rem;margin:0 auto;padding:6.5rem 1.5rem 3rem}.page__title{font-family:var(--serif);font-size:clamp(1.6rem,3.6vw,2.2rem);letter-spacing:.16em}.page__sub{color:var(--text-dim);margin:.5rem 0 1.8rem;font-size:.95rem}.section-inline{font-family:var(--serif);letter-spacing:.14em;margin:2.2rem 0 1rem;font-size:1.15rem}.empty{color:var(--text-dim);padding:1.5rem 0}.backlink{margin-top:2rem}.backlink a{color:var(--ice);font-size:.9rem}.filter-bar{display:flex;gap:.7rem;flex-wrap:wrap;margin-bottom:1.6rem;align-items:center}.filter-bar input,.filter-bar select{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:3px;padding:.5rem .7rem;font-size:.9rem;font-family:var(--sans)}.filter-bar input{flex:1 1;min-width:12rem}.seg{display:inline-flex;border:1px solid var(--line);border-radius:3px;overflow:hidden}.seg button{background:transparent;color:var(--text-dim);border:0;padding:.5rem .9rem;cursor:pointer;font-size:.85rem}.seg button.is-on{background:var(--surface-2);color:var(--text)}.char-grid{display:grid;grid-gap:.9rem;gap:.9rem;grid-template-columns:repeat(auto-fill,minmax(10.5rem,1fr))}.char-card{background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:1rem .9rem;display:flex;flex-direction:column;gap:.4rem;transition:border-color .2s,transform .2s}.char-card:hover{border-color:rgba(159,196,216,.5);transform:translateY(-2px)}.char-card__avatar{width:2.6rem;height:2.6rem;border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:1.15rem;color:#0b0d12;font-weight:700}.char-card__avatar--lg{width:4.6rem;height:4.6rem;font-size:2rem}.char-card__name{font-family:var(--serif);letter-spacing:.08em;font-size:.98rem}.char-card__meta{font-size:.74rem;color:var(--text-dim)}.char-page__head{display:flex;gap:1.2rem;align-items:center;margin-bottom:1.8rem}.char-page__name{margin:0}.char-page__aliases{color:var(--text-dim);font-size:.85rem;margin:.3rem 0 .6rem}.char-page__meta{display:flex;gap:.5rem;flex-wrap:wrap}.char-page__grid{display:grid;grid-gap:1.6rem;gap:1.6rem;grid-template-columns:17rem 1fr}@media (max-width:720px){.char-page__grid{grid-template-columns:1fr}}.infobox{background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:1.1rem 1.2rem;height:-moz-fit-content;height:fit-content}.infobox h2{font-family:var(--serif);font-size:1rem;letter-spacing:.2em;margin-bottom:.8rem}.infobox dl div{margin-bottom:.7rem}.infobox dt{font-size:.72rem;letter-spacing:.2em;color:var(--text-dim)}.infobox dd{font-size:.88rem;margin-top:.15rem}.char-page__body h2{font-family:var(--serif);letter-spacing:.16em;font-size:1.15rem;margin:1.6rem 0 .8rem}.char-page__body>p{color:var(--text);font-size:.95rem}.relation-list{list-style:none}.relation-list li{display:flex;gap:.6rem;align-items:baseline;padding:.45rem 0;border-bottom:1px dashed var(--line);flex-wrap:wrap}.relation-list__type{font-size:.74rem;color:var(--ice);border:1px solid rgba(159,196,216,.35);padding:.05rem .5rem;border-radius:2px;white-space:nowrap}.relation-list__target{color:var(--text)}.relation-list__target:hover{color:var(--gold)}.relation-list__note{font-size:.78rem;color:var(--text-dim)}.house-grid{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr))}.house-card{background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:1.1rem;display:flex;flex-direction:column;gap:.35rem;transition:border-color .2s,transform .2s}.house-card:hover{border-color:rgba(201,162,39,.5);transform:translateY(-2px)}.house-card__sigil{font-size:1.4rem}.house-card__name{font-family:var(--serif);font-size:1.05rem;letter-spacing:.1em}.house-card__words{color:var(--gold);font-size:.82rem}.house-card__meta{color:var(--text-dim);font-size:.76rem}.house-head{display:flex;gap:1.2rem;align-items:center;margin-bottom:1.4rem}.house-head__sigil{font-size:2.6rem}.house-head__aliases{color:var(--text-dim);font-size:.85rem}.house-head__words{color:var(--gold);font-size:.95rem;margin-top:.3rem}.house-seats{margin-bottom:1rem;display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;font-size:.9rem}.member-grid{display:grid;grid-gap:.8rem;gap:.8rem;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr))}.tree{border:1px solid var(--line);border-radius:4px;padding:1.2rem;background:var(--surface)}.tree__gen{margin-bottom:1rem}.tree__label{font-size:.72rem;letter-spacing:.25em;color:var(--ice);margin-bottom:.5rem}.tree__row{display:flex;gap:.6rem;flex-wrap:wrap}.tree__node{display:flex;flex-direction:column;background:var(--surface-2);border:1px solid var(--line);border-radius:3px;padding:.5rem .8rem;font-size:.88rem;transition:border-color .2s}.tree__node:hover{border-color:var(--gold)}.tree__spouse{font-size:.72rem;color:var(--text-dim)}.tree__note{font-size:.74rem;color:var(--text-dim);margin-top:.6rem}.season-block{margin-bottom:2.2rem}.season-block__title{font-family:var(--serif);letter-spacing:.14em;font-size:1.2rem;margin-bottom:.9rem}.season-block__count{color:var(--text-dim);font-size:.78rem;margin-left:.8rem;letter-spacing:.1em}.episode-list{list-style:none}.episode{display:flex;gap:1rem;padding:.75rem 0;border-bottom:1px dashed var(--line)}.episode__no{font-family:var(--serif);color:var(--ice);min-width:2.6rem;font-size:1rem}.episode__name{font-size:.95rem}.episode__en{color:var(--text-dim);font-size:.76rem;margin-left:.7rem;letter-spacing:.06em}.episode__synopsis{font-size:.85rem;color:var(--text-dim);margin-top:.2rem}.episode__chars{margin-top:.4rem;display:flex;gap:.4rem;flex-wrap:wrap}.timeline__group{margin-bottom:2rem}.timeline__bucket{font-family:var(--serif);color:var(--gold);letter-spacing:.2em;font-size:1.05rem;margin-bottom:.8rem}.timeline__list{list-style:none;border-left:1px solid var(--line);margin-left:.5rem}.timeline__item{position:relative;padding:0 0 1.4rem 1.4rem}.timeline__item:before{content:"";position:absolute;left:-.32rem;top:.45rem;width:.6rem;height:.6rem;border-radius:50%;background:var(--gold);border:2px solid var(--bg)}.timeline__year{position:absolute;left:1.4rem;top:-.1rem;font-size:.72rem;letter-spacing:.15em;color:var(--ice)}.timeline__year.is-bc{color:#c88}.timeline__body{margin-top:1.3rem}.timeline__body h3{font-family:var(--serif);letter-spacing:.1em;font-size:1.02rem}.timeline__body p{font-size:.87rem;color:var(--text-dim);margin-top:.25rem}.timeline__meta{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.5rem}.graph-wrap{border:1px solid var(--line);border-radius:4px;background:var(--surface);padding:1rem}.graph-svg{width:100%;height:560px;display:block}.graph-hint{color:var(--text-dim);font-size:.78rem}.legend{display:flex;gap:1rem;flex-wrap:wrap;padding:.8rem .4rem .2rem}.legend__item{display:inline-flex;align-items:center;gap:.35rem;font-size:.76rem;color:var(--text-dim)}.legend__dot{width:.65rem;height:.65rem;border-radius:50%;display:inline-block}.graph-footnote{color:var(--text-dim);font-size:.8rem;margin-top:1rem}.search__input{width:100%;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:3px;padding:.9rem 1rem;font-size:1rem;font-family:var(--sans);margin-bottom:1.4rem}.search__input:focus{outline:none;border-color:rgba(159,196,216,.5)}.search__group{margin-bottom:1.4rem}.search__type{font-family:var(--serif);color:var(--ice);letter-spacing:.2em;font-size:.9rem;margin-bottom:.5rem}.search__group ul{list-style:none}.search__group li a{display:flex;gap:.8rem;align-items:baseline;padding:.5rem .2rem;border-bottom:1px dashed var(--line)}.search__group li a:hover strong{color:var(--gold)}.search__sub{color:var(--text-dim);font-size:.8rem}.spoiler{filter:blur(5px);cursor:pointer;transition:filter .25s;display:inline;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-radius:2px}.spoiler:hover{filter:blur(3px)}.spoiler-toggle{background:transparent;border:1px solid var(--line);color:var(--text-dim);border-radius:3px;padding:.25rem .7rem;font-size:.78rem;cursor:pointer;font-family:var(--sans)}.spoiler-toggle.is-on{color:var(--gold);border-color:rgba(201,162,39,.5)}.spoiler-panel{position:absolute;right:clamp(1rem,5vw,4rem);top:3rem;z-index:20;background:var(--surface-2);border:1px solid var(--line);border-radius:4px;padding:1rem 1.1rem;min-width:15rem;display:flex;flex-direction:column;gap:.55rem}.spoiler-panel__row{display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.85rem}.spoiler-panel__row select{background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:3px;padding:.2rem .4rem}.spoiler-panel__hint{font-size:.72rem;color:var(--text-dim)}.hero--compact{min-height:62vh}.series-landing-cta{display:flex;gap:.8rem;flex-wrap:wrap;margin-bottom:2.4rem}.series-landing-cta .btn{border-color:var(--line);color:var(--text)}.series-landing-cta .btn:hover{background:var(--surface-2)}.loc-grid{display:grid;grid-gap:.9rem;gap:.9rem;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr))}.loc-card{background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:1rem;display:flex;flex-direction:column;gap:.3rem;transition:border-color .2s,transform .2s}.loc-card:hover{border-color:rgba(159,196,216,.5);transform:translateY(-2px)}.loc-card__kind{font-size:.7rem;letter-spacing:.25em;color:var(--ice)}.loc-card__name{font-family:var(--serif);font-size:1.02rem;letter-spacing:.08em}.loc-card__region{font-size:.76rem;color:var(--text-dim)}.char-card__avatar-img{width:2.6rem;height:2.6rem;border-radius:50%;object-fit:cover;border:1px solid var(--line)}.char-card__avatar-img--lg{width:4.6rem;height:4.6rem}.map-svg--tall{height:auto;aspect-ratio:1/1.15}.map-credit{font-size:.72rem;color:var(--text-dim);margin-top:.6rem}