:root{--ink:#050b18;--panel:#09152a;--panel2:#0d1f3e;--line:#243d69;--text:#f0f5ff;--muted:#a2b1cc;--blue:#639dff;--blue2:#2d64c8;--pale:#b9d0ff;--gold:#d8b178;--serif:"Noto Serif TC",serif;--sans:"Noto Sans TC",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--text);font:16px/1.8 var(--sans)}a{color:inherit;text-decoration:none}.site-header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,6vw,96px);position:fixed;inset:0 0 auto;z-index:10;background:linear-gradient(180deg,rgba(5,11,24,.97),rgba(5,11,24,.7),transparent);backdrop-filter:blur(5px)}.brand{display:flex;gap:12px;align-items:center;font:900 1.15rem var(--serif);letter-spacing:.12em}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--blue);color:var(--blue)}nav{display:flex;gap:30px;color:#c7d4ec;font-size:.9rem;letter-spacing:.1em}nav a{position:relative}nav a:hover,nav a.active{color:var(--blue)}nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:1px;background:var(--blue)}.menu-button{display:none;background:none;border:1px solid var(--line);color:white;padding:8px 12px}.hero{min-height:100svh;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:6vw;position:relative;padding:120px clamp(24px,8vw,128px) 80px;overflow:hidden;background:radial-gradient(circle at 76% 48%,rgba(46,99,200,.25),transparent 32%),linear-gradient(135deg,#08142b,#030713 78%)}.hero:before,.page-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(99,157,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(99,157,255,.045) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,black,transparent 92%)}.coordinates{position:absolute;top:105px;right:8vw;color:#60779e;font:500 .73rem monospace;letter-spacing:.18em}.hero-copy{position:relative;z-index:2}.eyebrow,.section-kicker,.tag{color:var(--blue);font-size:.75rem;font-weight:700;letter-spacing:.22em}.hero h1{font:900 clamp(4.8rem,11vw,9.5rem)/1 var(--serif);margin:18px 0 28px;letter-spacing:.12em;text-shadow:0 0 45px rgba(99,157,255,.18)}.lead{font:600 clamp(1.45rem,2.6vw,2.2rem)/1.6 var(--serif);margin:0 0 24px}.intro{max-width:650px;color:var(--muted)}.hero-actions{display:flex;gap:14px;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 24px;border:1px solid var(--blue);font-weight:600;letter-spacing:.08em}.button.primary{background:var(--blue);color:#041027}.button.ghost{color:var(--blue)}.choice-line{font-size:.84rem;color:#8297bc;letter-spacing:.1em;margin-top:16px}.axis-map{width:min(39vw,520px);aspect-ratio:1;position:relative;justify-self:center;border-left:1px solid rgba(99,157,255,.55)}.axis-map:after{content:"";position:absolute;left:-5px;top:49%;width:9px;height:9px;border-radius:50%;background:var(--blue);box-shadow:0 0 28px var(--blue)}.axis-label{position:absolute;left:20px;font:700 .75rem monospace;letter-spacing:.2em;color:var(--pale)}.axis-label.top{top:2%}.axis-label.bottom{bottom:2%}.horizontal{position:absolute;left:-38%;right:-6%;top:50%;display:flex;justify-content:space-between;border-top:1px solid rgba(99,157,255,.5);padding-top:14px;font:600 .65rem monospace;color:#7f94ba}.horizontal span{position:relative}.horizontal span:before{content:"";position:absolute;width:6px;height:6px;background:var(--blue);border-radius:50%;top:-18px;left:50%}.axis-core{position:absolute;left:-54px;top:calc(50% - 54px);width:108px;height:108px;display:grid;place-items:center;border:1px solid var(--blue);transform:rotate(45deg);font:700 .7rem monospace;color:var(--blue);background:rgba(5,11,24,.88)}.scroll-note{position:absolute;bottom:24px;left:8vw;font:500 .67rem monospace;color:#60779e;letter-spacing:.2em}.section-pad{padding:clamp(80px,10vw,150px) clamp(24px,8vw,128px)}.manifesto{text-align:center;background:#071126;border-block:1px solid #172a50}.manifesto blockquote{font:700 clamp(1.7rem,4vw,3.6rem)/1.65 var(--serif);margin:28px auto;max-width:1000px}.manifesto>p:last-child{color:var(--muted);max-width:760px;margin:auto}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:54px}.section-head h2,.split-explain h2,.rules h2,.author-page h2{font:700 clamp(2rem,4vw,3.5rem)/1.35 var(--serif);margin:8px 0}.section-head>p{max-width:500px;color:var(--muted)}.portal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.portal{background:var(--panel);padding:36px;min-height:330px;position:relative;transition:.25s}.portal:hover{background:var(--panel2);transform:translateY(-5px)}.portal.featured{background:linear-gradient(145deg,#102a55,#09162c)}.portal>span{font:900 4.5rem/1 monospace;color:#16305c}.portal h3,.cast-strip h3,.file-card h3{font:700 1.6rem var(--serif);margin:22px 0 10px}.portal>p:not(.tag){color:var(--muted)}.portal b{position:absolute;bottom:30px;color:var(--blue);font-size:.85rem}.featured-cast{background:#071124}.text-link{color:var(--blue)}.cast-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.portrait{height:280px;position:relative;overflow:hidden;background:linear-gradient(135deg,#152d56,#050b18);display:grid;place-items:center;border:1px solid var(--line)}.portrait:before{content:"";position:absolute;width:120px;height:180px;border:1px solid #416398;border-radius:50% 50% 40% 40%;opacity:.45}.portrait.divine{background:radial-gradient(circle,#274f99,#09152a 60%)}.portrait.divine:before{border-radius:50%;box-shadow:0 0 40px rgba(99,157,255,.3)}.portrait span{font:600 .7rem monospace;letter-spacing:.17em;color:#7f9acc;position:absolute;bottom:20px}.page-hero{min-height:74vh;display:flex;flex-direction:column;justify-content:end;position:relative;padding:150px clamp(24px,8vw,128px) 90px;background:radial-gradient(circle at 72% 25%,rgba(45,100,200,.22),transparent 32%),#050b18;overflow:hidden}.page-hero.compact{min-height:62vh}.page-hero>*{position:relative}.page-hero h1{font:800 clamp(2.8rem,7vw,6rem)/1.35 var(--serif);margin:15px 0;max-width:1000px}.page-hero>p:last-child{max-width:700px;color:var(--muted);font-size:1.05rem}.cosmos{background:#071126}.cosmos-diagram{max-width:1100px;margin:auto}.realm{min-height:190px;border:1px solid var(--line);display:grid;place-items:center;text-align:center;padding:30px;background:radial-gradient(circle,rgba(99,157,255,.18),transparent 55%)}.realm strong{font:700 2.4rem var(--serif);color:var(--pale)}.realm small{color:var(--blue);letter-spacing:.2em}.realm span{color:var(--muted)}.realm.hell{background:radial-gradient(circle,rgba(18,45,95,.3),transparent 58%),#030711}.world-axis{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin:34px 0;position:relative}.world-axis:before,.world-axis:after{content:"";position:absolute;left:50%;height:34px;border-left:1px solid var(--blue)}.world-axis:before{top:-34px}.world-axis:after{bottom:-34px}.world-axis article{background:var(--panel);padding:34px;min-height:250px}.world-axis article.focus{background:var(--panel2)}.world-axis b{font:900 2.7rem monospace;color:#1c3c73}.world-axis h3{font:700 1.55rem var(--serif)}.world-axis p,.split-explain p,.rule-grid p,.file-card>p:last-child,.book-card p,.author-page p{color:var(--muted)}.split-explain{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.rules{background:#071124}.rule-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.rule-grid article{background:var(--panel);padding:35px;min-height:260px}.rule-grid span,.group-title>span{font:900 3rem monospace;color:#1e417d}.rule-grid h3{font:700 1.45rem var(--serif)}.character-archive{background:#071124}.archive-group+.archive-group{margin-top:110px}.group-title{display:flex;align-items:center;gap:25px;margin-bottom:40px}.group-title h2{font:700 clamp(2rem,4vw,3.4rem) var(--serif);margin:0}.group-title p{margin:0}.character-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.file-card{border:1px solid var(--line);padding:18px;background:var(--panel)}.file-card .portrait{height:320px;margin-bottom:22px}.file-card h3{margin:8px 0}.file-card p{margin:5px 0}.file-card.pending{opacity:.58}.divine-group{border-top:1px solid var(--line);padding-top:90px}.divine-card{background:linear-gradient(145deg,#102854,#080f21)}.books{min-height:60vh;background:#071124}.book-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.book-card{border:1px solid var(--line);padding:34px;display:grid;grid-template-columns:42% 1fr;gap:30px;align-items:center;background:var(--panel)}.book-cover{aspect-ratio:2/3;background:linear-gradient(155deg,#173a75,#030711 72%);border:1px solid #426cb7;padding:22px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:12px 16px 0 #030711}.book-cover.alt{background:linear-gradient(155deg,#273f72,#050713 72%)}.book-cover span{color:var(--blue);font-size:.72rem}.book-cover strong{font:700 clamp(1.7rem,3vw,2.7rem) var(--serif);letter-spacing:.16em;writing-mode:vertical-rl;align-self:center}.book-cover small{font:500 .55rem monospace;color:#7e94bb}.book-card h2{font:700 1.7rem var(--serif)}.book-card .button{margin-top:14px;font-size:.88rem}.author-hero{min-height:66vh}.author-page{display:grid;grid-template-columns:1.2fr .8fr;gap:10vw;align-items:center;background:linear-gradient(120deg,#0b1e40,#050b18)}.status-panel{border:1px solid var(--line);padding:34px;display:flex;flex-direction:column;gap:12px;font:500 .8rem monospace;color:#8da1c5}.status-panel strong{color:var(--blue);font-size:2rem}.status-panel span:before{content:"▹ ";color:var(--gold)}footer{padding:42px clamp(24px,8vw,128px);display:flex;justify-content:space-between;border-top:1px solid var(--line);color:#7588aa;font-size:.8rem}footer div{display:flex;gap:18px}footer strong{color:white;font-family:var(--serif)}
@media(max-width:950px){.hero{grid-template-columns:1fr}.axis-map{position:absolute;right:-22%;top:22%;width:68vw;opacity:.48}.hero-copy{max-width:700px}.portal-grid,.rule-grid,.world-axis{grid-template-columns:1fr}.cast-strip{grid-template-columns:1fr 1fr}.character-grid{grid-template-columns:1fr 1fr}.book-grid{grid-template-columns:1fr}.section-head{align-items:start;flex-direction:column}.split-explain,.author-page{grid-template-columns:1fr}.world-axis:before,.world-axis:after{display:none}.world-axis article{min-height:auto}}
@media(max-width:650px){.site-header{height:68px}.menu-button{display:block}nav{display:none;position:absolute;top:64px;right:20px;flex-direction:column;gap:0;background:#09152a;border:1px solid var(--line);min-width:180px}nav.open{display:flex}nav a{padding:12px 18px;border-bottom:1px solid var(--line)}nav a.active:after{display:none}.hero{padding-inline:24px}.hero h1{font-size:4.5rem}.coordinates{right:24px;font-size:.58rem}.hero-actions{flex-direction:column}.section-pad,.page-hero{padding-inline:24px}.axis-map{right:-48%;top:30%}.portal-grid,.cast-strip,.character-grid{grid-template-columns:1fr}.portrait{height:300px}.book-card{grid-template-columns:1fr}.book-cover{width:190px;margin:auto}footer{flex-direction:column;gap:12px}footer div{flex-direction:column;gap:4px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.portal{transition:none}}

/* V3 — cover-derived industrial dossier system */
:root{--paper:#d8d9d7;--paper-light:#f0f1ef;--concrete:#b8bab9;--charcoal:#17191c;--soot:#090b0e;--ink-text:#111317;--blue:#3979e6;--blue2:#1e4f9d;--pale:#a9c7ff;--red:#d71920;--line:#6f7680;--panel:#22262c;--panel2:#11151b;--text:#f4f5f6;--muted:#b7bdc6}
body{background:var(--charcoal);color:var(--text);background-image:linear-gradient(100deg,rgba(255,255,255,.025),transparent 24%),repeating-linear-gradient(0deg,rgba(255,255,255,.012) 0,rgba(255,255,255,.012) 1px,transparent 1px,transparent 5px)}
.site-header{background:rgba(221,222,220,.94);border-bottom:1px solid #74787c;color:var(--ink-text);box-shadow:0 2px 0 rgba(0,0,0,.15)}
.brand{font-family:var(--sans);font-weight:900}.brand b{font-style:italic;font-size:.68rem;letter-spacing:.08em;margin-left:5px}.brand-mark{border:2px solid var(--blue);color:var(--blue);font-family:var(--sans);font-weight:900}nav{color:#272a2e;font-weight:700}nav a:hover,nav a.active{color:var(--red)}nav a.active:after{height:3px;background:var(--red)}
.hero{background:linear-gradient(to bottom,rgba(241,242,240,.96) 0%,rgba(199,201,200,.94) 53%,rgba(36,38,41,.98) 100%),repeating-linear-gradient(95deg,rgba(0,0,0,.05) 0,rgba(0,0,0,.05) 1px,transparent 1px,transparent 8px);color:var(--ink-text)}
.hero:before,.page-hero:before{background-image:radial-gradient(circle at 18% 25%,rgba(0,0,0,.08) 0 1px,transparent 2px),linear-gradient(100deg,transparent 0 48%,rgba(0,0,0,.055) 49%,transparent 51%);background-size:73px 81px,100% 100%;mask-image:none;opacity:.55}
.coordinates{color:#555b63;border-left:4px solid var(--red);padding-left:12px}.hero-copy{max-width:760px}.eyebrow{color:var(--red);font-weight:900}.title-lockup{position:relative;margin:4px 0 26px;padding-bottom:22px}.title-lockup h1{margin:0;font-family:var(--sans);font-size:clamp(4.6rem,10vw,9rem);letter-spacing:.02em;line-height:.95;text-shadow:8px 8px 0 rgba(255,255,255,.65);font-weight:900}.title-lockup strong{display:block;font:900 italic clamp(2.25rem,5vw,4.9rem)/1 Arial,sans-serif;letter-spacing:-.035em}.title-lockup span{display:block;margin-top:10px;color:var(--red);font:900 .77rem monospace;letter-spacing:.2em}.lead{font-family:var(--sans);font-weight:900}.intro{color:#31363c;font-weight:500}.choice-line{color:#3e454d}.button{border-width:2px}.button.primary{background:var(--blue);border-color:var(--blue);color:white;box-shadow:5px 5px 0 #101317}.button.ghost{border-color:#17191c;color:#17191c}.hero-target{position:absolute;left:5.5vw;top:29%;width:155px;height:155px;border:3px solid rgba(57,121,230,.6);border-radius:50%;opacity:.55}.hero-target:before,.hero-target:after{content:"";position:absolute;background:var(--blue)}.hero-target:before{width:210px;height:2px;left:-29px;top:75px}.hero-target:after{height:210px;width:2px;top:-29px;left:75px}.hero-target i{position:absolute;inset:30px;border:2px solid var(--blue);border-radius:50%}.axis-map{border-left-color:rgba(57,121,230,.7)}.axis-label{color:#253d67}.horizontal{color:#394b67;border-top-color:var(--blue)}.axis-core{background:rgba(216,217,215,.92);color:var(--blue);border-width:2px}.scroll-note{color:#d0d3d7}
.manifesto{background:linear-gradient(120deg,#25282c,#0c0e11);border-block:8px solid #151719;position:relative}.manifesto:before{content:"WARNING / CONTRACT BOUND";position:absolute;top:24px;right:5vw;color:var(--red);font:900 .7rem monospace;letter-spacing:.18em}.section-kicker,.tag{color:var(--blue);font-weight:900}.red{color:var(--red)!important}.home-portals{background:linear-gradient(160deg,#e4e5e3,#b5b7b7);color:var(--ink-text)}.home-portals .section-head>p{color:#41464c}.portal-grid{background:#6e7378;border-color:#6e7378;box-shadow:12px 14px 0 rgba(0,0,0,.22)}.portal{background:rgba(238,239,237,.9);color:#121519;border-top:7px solid #1d2024}.portal:hover{background:white}.portal.featured{background:#d7d9d8;border-top-color:var(--blue)}.portal>span{color:#a7aaab}.portal>p:not(.tag){color:#44494f}.portal b{color:var(--blue)}
.featured-cast,.character-archive,.books,.rules,.cosmos{background:linear-gradient(135deg,#292c31,#0c0e11)}.portrait{background:linear-gradient(145deg,#5e6368,#171a1f);border-color:#747b84;box-shadow:7px 8px 0 #080a0d}.portrait:before{border-color:#98a1ae}.portrait.divine{background:radial-gradient(circle,#315da9,#151a23 62%)}
.page-hero{background:linear-gradient(170deg,#e7e8e6 0%,#b9bbba 58%,#34373b 100%);color:var(--ink-text);border-bottom:10px solid #1b1e22}.page-hero h1{font-family:var(--sans);font-weight:900;letter-spacing:-.03em;text-shadow:6px 6px 0 rgba(255,255,255,.6)}.page-hero>p:last-child{color:#34393f;font-weight:500}.page-hero .section-kicker{color:var(--red)}
.cosmos-diagram,.world-axis,.rule-grid{box-shadow:12px 14px 0 rgba(0,0,0,.3)}.realm,.world-axis article,.rule-grid article{background:#252930}.world-axis article.focus{background:#182d52;border-top:5px solid var(--blue)}.split-explain{background:linear-gradient(160deg,#dedfdd,#afb2b2);color:var(--ink-text)}.split-explain p{color:#3e4349}.file-card{background:#24282e;border-color:#656c75;border-top:5px solid #747b84}.file-card:not(.pending){border-top-color:var(--blue)}.divine-card{background:linear-gradient(145deg,#193762,#10151d)}
.book-grid{gap:44px}.book-card{background:linear-gradient(145deg,#d7d8d6,#a9acab);color:var(--ink-text);border:0;border-top:8px solid #15181c;box-shadow:12px 14px 0 #07090c}.book-card p{color:#343a41}.official-cover{margin:0;position:relative}.official-cover img{display:block;width:100%;height:auto;box-shadow:10px 12px 0 rgba(0,0,0,.28)}.official-cover figcaption{margin-top:17px;color:var(--red);font:900 .75rem monospace;letter-spacing:.15em}.book-card .button.primary{box-shadow:5px 5px 0 #1b1e22}.book-card h2{font-family:var(--sans);font-weight:900}
.author-page{background:linear-gradient(150deg,#dfe0de,#a8aaaa);color:var(--ink-text)}.author-page p{color:#3b4046}.status-panel{background:#171a1f;border:0;border-left:7px solid var(--blue);color:#aeb5bf;box-shadow:10px 12px 0 rgba(0,0,0,.25)}footer{background:#0b0d10;border-top:5px solid var(--red)}
@media(max-width:950px){.hero-target{left:auto;right:4vw;top:20%;opacity:.3}.book-card{grid-template-columns:minmax(180px,34%) 1fr}}
@media(max-width:650px){.site-header{background:rgba(221,222,220,.97)}nav{background:#dedfdd;color:#111;border-color:#686d73}.brand b{display:none}.title-lockup h1{font-size:4.3rem}.title-lockup strong{font-size:2.15rem}.hero-target{right:-70px}.book-card{grid-template-columns:1fr}.official-cover{width:min(78%,300px);margin:auto}.page-hero h1{text-shadow:3px 3px 0 rgba(255,255,255,.55)}}

/* V4 — expanded archive content */
.cast-strip.five{grid-template-columns:repeat(5,1fr)}.cast-strip.five .portrait{height:240px}.portrait.robot:before{border-radius:12px;clip-path:polygon(15% 0,85% 0,100% 28%,92% 100%,8% 100%,0 28%)}
.policy{background:linear-gradient(150deg,#dfe0de,#aeb0b0);color:var(--ink-text)}.policy .section-head>p,.policy-grid p{color:#3c4249}.policy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.policy-grid article{padding:32px;background:#f0f1ef;border-top:6px solid var(--blue);box-shadow:9px 10px 0 rgba(0,0,0,.2)}.policy-grid h3{font:900 1.4rem var(--sans);margin-top:0}.policy blockquote{margin:70px 0 0;padding:30px;border-left:7px solid var(--red);background:#171a1f;color:white;font:700 clamp(1.3rem,2.5vw,2rem)/1.65 var(--serif)}
.file-card details{margin-top:18px;border-top:1px solid #555e69;padding-top:14px}.file-card summary{cursor:pointer;color:var(--blue);font-weight:700}.file-card details p{color:var(--muted)}.divine-two{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:1100px){.cast-strip.five{grid-template-columns:repeat(3,1fr)}}
@media(max-width:950px){.policy-grid{grid-template-columns:1fr}.cast-strip.five{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.cast-strip.five,.divine-two{grid-template-columns:1fr}.cast-strip.five .portrait{height:300px}}

/* V5 — complete character archive */
.directory-card{display:block;transition:transform .2s,border-color .2s}.directory-card:hover{transform:translateY(-5px);border-color:var(--pale)}.directory-card>b{display:inline-block;margin:20px 0 5px;color:var(--blue);font-size:.84rem}.character-hero{min-height:88svh;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:8vw;padding:130px clamp(24px,8vw,128px) 80px;background:linear-gradient(145deg,#e5e6e4 0%,#b7b9b8 57%,#25282d 57.2%,#0a0c10 100%);color:var(--ink-text)}.character-hero-copy{position:relative;z-index:1}.character-hero h1{font:900 clamp(3.6rem,8vw,7.7rem)/1.05 var(--sans);letter-spacing:-.04em;margin:12px 0}.character-role{font-weight:800;color:var(--blue2);letter-spacing:.08em}.character-hero blockquote{font:700 clamp(1.25rem,2.4vw,2rem)/1.7 var(--serif);margin:35px 0;max-width:700px}.button.light{border-color:#17191c;color:#17191c}.character-portrait{width:min(37vw,500px);height:auto;aspect-ratio:4/5;justify-self:center}.character-profile{display:grid;grid-template-columns:minmax(230px,.34fr) 1fr;gap:8vw;background:linear-gradient(135deg,#292c31,#0c0e11)}.character-profile aside{align-self:start;position:sticky;top:110px;border-top:7px solid var(--blue);background:#e2e3e1;color:var(--ink-text);padding:28px;box-shadow:9px 10px 0 #080a0d}.character-profile dl{margin:18px 0 0}.character-profile dl div{padding:12px 0;border-bottom:1px solid #a7aaad}.character-profile dt{font-size:.74rem;font-weight:800;color:#535a63}.character-profile dd{margin:2px 0 0;font-weight:700}.profile-copy>section{padding:0 0 65px;margin-bottom:65px;border-bottom:1px solid #505762}.profile-copy h2{font:800 clamp(1.8rem,3.5vw,3rem) var(--serif);margin:8px 0 24px}.profile-copy p{color:var(--muted)}.relation-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.relation-grid article{padding:24px;background:#20242a;border-left:5px solid var(--blue)}.relation-grid h3{margin:0;font:800 1.2rem var(--serif)}.character-ending{text-align:center;background:linear-gradient(150deg,#e1e2e0,#a9abab);color:var(--ink-text)}.character-ending blockquote{font:800 clamp(1.5rem,3.2vw,2.8rem)/1.65 var(--serif);max-width:940px;margin:25px auto 60px}.detail-actions{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center}.detail-actions a{font-weight:800;color:var(--blue2)}.detail-actions a:first-child{text-align:left}.detail-actions a:last-child{text-align:right}
@media(max-width:950px){.character-hero{grid-template-columns:1fr}.character-portrait{width:min(72vw,480px)}.character-profile{grid-template-columns:1fr}.character-profile aside{position:static}.relation-grid{grid-template-columns:1fr}}
@media(max-width:650px){.character-hero{padding-inline:24px;background:linear-gradient(160deg,#e5e6e4 0%,#b7b9b8 67%,#171a1f 67.2%)}.character-hero h1{font-size:3.6rem}.character-portrait{width:82vw}.detail-actions{grid-template-columns:1fr}.detail-actions a,.detail-actions a:first-child,.detail-actions a:last-child{text-align:center;padding:10px}}

/* Official emblem in the site header */
.brand .brand-mark{display:block;width:40px;height:40px;object-fit:contain;border:0;color:initial;flex:0 0 auto}
@media(max-width:650px){.brand .brand-mark{width:36px;height:36px}}

/* V6 — final character portraits and thirteen-file archive */
.portrait img{width:100%;height:100%;object-fit:cover;display:block;position:relative;z-index:1}.portrait:has(img):before{display:none}.portrait img+span{z-index:2;left:16px;right:auto;bottom:16px;padding:5px 8px;color:#fff;background:rgba(4,8,15,.72);border-left:3px solid var(--blue);text-shadow:0 1px 2px #000}.directory-card .portrait img{object-position:center top}.character-portrait-frame{width:min(40vw,540px);margin:0;justify-self:center;position:relative}.character-portrait-frame .character-portrait{width:100%;height:auto;aspect-ratio:4/5;box-shadow:14px 16px 0 #080a0d}.character-portrait img{object-position:center top}.portrait-secondary{position:absolute;right:-34px;bottom:-34px;width:34%;aspect-ratio:3/4;object-fit:cover;object-position:center top;border:5px solid #e0e1df;box-shadow:8px 9px 0 #080a0d;z-index:3}
@media(max-width:950px){.character-portrait-frame{width:min(72vw,480px)}}
@media(max-width:650px){.character-portrait-frame{width:80vw}.portrait-secondary{right:-12px;bottom:-24px;width:32%}}

/* Character detail scene artwork */
.character-hero{grid-template-columns:.9fr 1.1fr;gap:6vw;padding-inline:clamp(24px,6vw,96px)}
.character-portrait-frame.scene-frame{width:min(54vw,820px)}
.scene-frame .character-scene{width:100%;height:auto;aspect-ratio:3/2;box-shadow:14px 16px 0 #080a0d}
.character-scene img{object-position:center center}
.scene-frame .portrait-secondary{right:-18px;bottom:-34px;width:22%}
@media(max-width:950px){.character-hero{grid-template-columns:1fr}.character-portrait-frame.scene-frame{width:min(88vw,760px)}}
@media(max-width:650px){.character-portrait-frame.scene-frame{width:calc(100vw - 48px)}.scene-frame .character-scene{aspect-ratio:4/3}.scene-frame .portrait-secondary{right:8px;bottom:-22px;width:25%}}
