/**

 * 主题覆盖：夜境 / 沉浸模式

 * ------------------------------------------------------------------

 * 由原 dist/*.css 合并而来：只在合并完全相同的规则时做了删除，

 * 其余规则一律原样搬运，规则之间不重新排序。

 * 加载顺序见 index.html，顺序即优先级。

 */


/* Night Realm — the second, immersive visual system. */

#theme-toggle{position:fixed;right:20px;bottom:20px;z-index:60;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:9px 14px;border:1px solid #7695aa55;background:#edf9fbd9;color:#32325d;box-shadow:0 8px 28px #0b263125;backdrop-filter:blur(18px);font-size:12px;letter-spacing:1px;transition:transform .2s ease,background .2s ease,color .2s ease}

#theme-toggle:hover{transform:translateY(-2px);background:#fff}

#theme-toggle span{font-size:18px;line-height:1}

#theme-toggle b{font-weight:500}

html[data-theme=gothic]{--veil:rgba(4,8,14,.55);--paper:#080b11;--white:#111721;--ink:#e7f2fb;--muted:#9babbc;--accent:#9edaff;--line:#7890a52e;--mint:#111a24;color-scheme:dark;background:#05070b}

html[data-theme=gothic] body{color:var(--ink);background:#05070b;font-family:"Segoe UI","Microsoft YaHei",sans-serif}

html[data-theme=gothic] body:before{background-image:linear-gradient(90deg,#020307 0%,#020307c7 26%,#02030733 64%,#020307b8 100%),var(--world-image);background-position:center center;filter:none}

html[data-theme=gothic] body:after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 62% 28%,#9ad8ff16,transparent 25%),linear-gradient(180deg,#03060b24,#03060bd4)}

html[data-theme=gothic] #theme-toggle{background:#0c121be8;color:#d9efff;border-color:#b6dcf03d;box-shadow:0 10px 35px #0009,0 0 24px #8fd7ff10}

html[data-theme=gothic] #theme-toggle:hover{background:#162231;border-color:#a6dbf36e}

html[data-theme=gothic] .hero{color:#eff8ff}

html[data-theme=gothic] .hero:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 65%,#05070b 100%)}

html[data-theme=gothic] .hero-copy{z-index:1;text-shadow:0 2px 24px #000}

html[data-theme=gothic] .hero h1,html[data-theme=gothic] h1,html[data-theme=gothic] h2,html[data-theme=gothic] .games-heading h1,html[data-theme=gothic] .anime-heading h1,html[data-theme=gothic] .novel-heading h1{font-family:"STKaiti","KaiTi","Noto Serif SC",serif;color:#eaf6ff;text-shadow:0 1px 22px #8bd3ff16}

html[data-theme=gothic] .eyebrow{color:#9edaff;letter-spacing:4px}

html[data-theme=gothic] .topbar,html[data-theme=gothic] .page-home .topbar{background:#070b11cf;border-color:#b9dff321;box-shadow:0 8px 28px #0004}

html[data-theme=gothic] .topbar a{}

html[data-theme=gothic] .topbar a:hover,html[data-theme=gothic] .topbar a[aria-current=page]{}

html[data-theme=gothic] .sidebar-zone .header{background:#080d15df;border-color:#b8dff31d;box-shadow:16px 0 50px #0008}

html[data-theme=gothic] .sidebar-zone #nav a:hover,html[data-theme=gothic] .sidebar-zone #nav a[aria-current=page]{background:#9ccce916;color:#e7f6ff}

html[data-theme=gothic] #sidebar-toggle{background:#101925c9}

html[data-theme=gothic] #sidebar-toggle span{background:#b8d9eb}

html[data-theme=gothic] main{color:var(--ink)}

html[data-theme=gothic] .portal-article{background:#101925b8;border-color:#a9d7ef1c}

html[data-theme=gothic] .portal-article:hover{background:#152231;box-shadow:0 12px 28px #0005}

html[data-theme=gothic] .portal-nav a:hover,html[data-theme=gothic] .portal-nav a[aria-current=location],html[data-theme=gothic] .portal-subpages a,html[data-theme=gothic] .portal-tabs a,html[data-theme=gothic] .portal-section>header>a,html[data-theme=gothic] .portal-tags span{background:#8fcff013;color:#cfeeff}

html[data-theme=gothic] .portal-profile>img{filter:saturate(.72) brightness(.78);border:1px solid #badff22b}

html[data-theme=gothic] .portal-panel p,html[data-theme=gothic] .portal-section>header p,html[data-theme=gothic] .portal-card-bottom,html[data-theme=gothic] .small,html[data-theme=gothic] .source,html[data-theme=gothic] .games-note,html[data-theme=gothic] .anime-meta{color:var(--muted)!important}

html[data-theme=gothic] input,html[data-theme=gothic] textarea,html[data-theme=gothic] select,html[data-theme=gothic] dialog{background:#090f17;color:#e6f2fb;border-color:#9fcfe83b}

html[data-theme=gothic] input::placeholder,html[data-theme=gothic] textarea::placeholder{color:#708292}

html[data-theme=gothic] .chip{background:#0b121c;border-color:#94c9e33b;color:#c7d8e5}

html[data-theme=gothic] .chip:hover{background:#172331}

html[data-theme=gothic] .chip.active,html[data-theme=gothic] .chip[aria-pressed=true],html[data-theme=gothic] .button,html[data-theme=gothic] .pager-num[aria-current=page],html[data-theme=gothic] .pager-num:hover,html[data-theme=gothic] .pager-step:hover:not(:disabled){background:#c6eaff;color:#071018;border-color:#c6eaff}

html[data-theme=gothic] .button:hover{background:#fff;color:#05090d}

html[data-theme=gothic] .game-tile:after{background:linear-gradient(transparent 42%,#03070aea 100%)}

html[data-theme=gothic] .game-detail-facts>div{background:#121c28;border-color:#b3dcef24}

html[data-theme=gothic] .game-detail-facts dt{color:#91a6b7}

html[data-theme=gothic] .game-detail-facts dd{color:#e2f2fc}

html[data-theme=gothic] .anime-tier>header{filter:saturate(.45) brightness(.68);color:#eef8ff}

html[data-theme=gothic] .paper-note{--note-tint:#0d151f!important;color:#d5e5ef!important}

html[data-theme=gothic] .notes-simple-heading h1,html[data-theme=gothic] .gallery-heading h1{color:#edf7ff;text-shadow:0 2px 18px #000}

html[data-theme=gothic] .page-gallery .topbar a{color:#c6d7e3}

html[data-theme=gothic] footer{color:#8fa0ad;border-color:#9fcfe820;background:#05080db8}

html[data-theme=gothic] .mind-map{background:radial-gradient(ellipse,#162737aa,#070b11 70%)}

html[data-theme=gothic] .mind-map circle{fill:#8dc9e6;stroke:#152330}

html[data-theme=gothic] .mind-map text{fill:#dcecf5}

@media(max-width:600px){
  #theme-toggle{right:14px;bottom:14px;padding:8px 12px}
  html[data-theme=gothic] body:before{background-position:61% center!important}
}

@media(prefers-reduced-motion:reduce){#theme-toggle{transition:none}#theme-toggle:hover{transform:none}}

.topbar{position:fixed;inset:0 0 auto 0;z-index:30;height:76px;display:flex;justify-content:center;align-items:center}

.topbar #page-nav{display:flex;align-items:center}

.topbar a{position:relative}

.topbar a:hover{}

.topbar a[aria-current=page]:after{content:"";position:absolute;bottom:7px;left:2px;right:4px;height:1px;background:currentColor}

.sidebar-zone #nav a[aria-current=location]{background:#ffffff60;color:#235f72}


.scene-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:30px 70px;align-items:center;position:relative}

.scene-layout .region-heading{margin:0}

.scene-layout .region-heading h2{font-size:64px;letter-spacing:8px}

.scene-layout .scene-line{font-size:16px;letter-spacing:1px;line-height:2}

.scene-card{min-height:310px;padding:42px}

.scene-card h3{font-size:29px;letter-spacing:2px;line-height:1.65}

.scene-pagination{font-size:12px;letter-spacing:4px;color:#4e7782}

.scene-extra{font-size:13px;letter-spacing:1px;text-align:right;line-height:2}

.inner-page main{}

body{background:var(--paper);isolation:isolate}

/* 首屏底图：全站只有 --world-image 一个来源（tokens.css 定义，服务端把晴空底图注入 --background-sky）。
   之前这里有 world.webp / cloud-sea.webp / var(--world-image) 三条互相打架的声明，谁都可能先画出来。 */
body:before{content:"";position:fixed;inset:0;z-index:-2;background:var(--world-image) center/cover no-repeat;pointer-events:none}

html{scroll-snap-type:y proximity;scroll-padding-top:0}


.hero{background:none;height:100svh;min-height:600px;max-height:none;scroll-snap-align:start}

.hero-copy{animation:none}

.hero h1{font-family:var(--title-font);font-weight:400;color:#f5fdff;text-shadow:0 2px 18px #276b8390,0 1px 3px #276b8360;opacity:0;animation:title-emerge 1.8s .5s cubic-bezier(.2,.65,.3,1) forwards}

.hero-description{font-family:var(--title-font);min-height:42px;line-height:1.8;margin:0;}

.typing-caret{display:inline-block;width:1px;height:22px;background:currentColor;margin-left:5px;vertical-align:-3px;opacity:0}

.typing-caret.typing{animation:caret-pulse .8s steps(1) infinite}

.scroll-cue{position:absolute;bottom:38px;left:50%;width:40px;height:50px;display:grid;place-items:center;opacity:0;animation:title-emerge 1.2s 3.6s forwards}

.scroll-cue span{height:30px;width:1px;background:#447b88;position:relative}

.scroll-cue span:after{content:"";position:absolute;bottom:0;left:-3px;width:6px;height:6px;border-right:1px solid #447b88;border-bottom:1px solid #447b88;transform:rotate(45deg)}

.sidebar-zone{position:fixed;inset:0 auto 0 0;width:42px;z-index:40}

.sidebar-zone .header,.inner-page .sidebar-zone .header{position:fixed;top:0;bottom:0;left:0;height:100svh;display:flex;flex-direction:column;align-items:stretch;justify-content:start;border:0;border-right:1px solid #ffffff80;background:#eaf7fa80;backdrop-filter:blur(28px) saturate(115%);-webkit-backdrop-filter:blur(28px) saturate(115%);transform:translateX(-100%);visibility:hidden;transition:transform .4s ease,visibility .4s;box-shadow:10px 0 60px #365d6a10;overflow-y:auto}

.sidebar-zone:hover .header,.sidebar-zone:focus-within .header,.sidebar-zone.pinned .header{transform:translateX(0);visibility:visible}

.sidebar-zone .brand{font-size:16px;gap:10px}

.sidebar-zone .brand small{font-size:8px;letter-spacing:1.5px}

.sidebar-zone .brand-mark{font-size:32px}

.sidebar-zone .header #nav{display:flex;flex-direction:column;position:static;padding:0;background:none;border:0;align-items:stretch}

.sidebar-zone #nav a{font-size:15px;letter-spacing:2px;border-radius:10px}

.sidebar-zone #nav a:hover,.sidebar-zone #nav a[aria-current=page]{background:#ffffff60;color:#235f72}

.sidebar-zone #nav a[aria-current=page]:after{display:none}

.sidebar-zone .header-tools{margin-top:auto;padding-left:7px}

.sidebar-zone #menu{display:none}

#sidebar-toggle{position:absolute;left:12px;top:calc(50% - 25px);width:28px;height:50px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:4px;border-radius:20px;background:#f1fbff60;backdrop-filter:blur(8px);transition:opacity .3s}

#sidebar-toggle span{display:block;width:12px;height:1px;background:#416d7b}

.sidebar-zone:hover #sidebar-toggle,.sidebar-zone:focus-within #sidebar-toggle,.sidebar-zone.pinned #sidebar-toggle{opacity:0;pointer-events:none}

.full-region{min-height:100svh;display:flex;align-items:center;justify-content:center;padding:85px max(7%,calc((100vw - 1200px)/2));position:relative;scroll-snap-align:start}



.region-content{width:100%;max-width:1160px}

.region-heading{margin-bottom:48px}

.region-heading .eyebrow{font-size:12px;letter-spacing:4px;margin-bottom:20px;color:#426f7d}

.region-heading h2{font-family:var(--title-font);font-size:52px;line-height:1.5;letter-spacing:5px;font-weight:400;margin:0 0 15px}

.region-heading p{font-size:16px;letter-spacing:2px;color:var(--muted);margin-bottom:0}








.region-foot{margin-top:28px;text-align:right;font-size:14px;letter-spacing:2px}

.page-home footer{display:none}

.inner-page main{min-height:100svh;padding-top:45px;padding-bottom:35px}



.inner-page .reading{padding:55px 50px 70px}

.page-heading h1,.reading h1,.section-heading h2{font-family:var(--title-font);color:var(--ink)}

footer{background:#eff9fc88;backdrop-filter:blur(16px);max-width:none;padding-left:7%;padding-right:7%}

@keyframes title-emerge{from{opacity:0;filter:blur(8px);transform:translateY(12px)}to{opacity:1;filter:blur(0);transform:translateY(0)}}

@keyframes caret-pulse{0%,49%{opacity:.8}50%,100%{opacity:0}}

@media(prefers-reduced-motion:reduce){.hero h1,.scroll-cue{opacity:1;filter:none;transform:none}.typing-caret{display:none}html{scroll-behavior:auto;scroll-snap-type:none}}

body.reduce-motion .hero h1,body.reduce-motion .scroll-cue{opacity:1;filter:none;transform:none}

body.reduce-motion .typing-caret{display:none}


.sidebar-zone .header,.inner-page .sidebar-zone .header{width:var(--sidebar-width);padding:28px 32px;gap:20px}

.sidebar-profile{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:6px 0 20px;border-bottom:1px solid #ffffff60}

.profile-avatar{display:block;width:86px;height:86px;border-radius:50%;overflow:hidden;border:3px solid #ffffffb0;box-shadow:0 6px 25px #3a798825}

.profile-avatar img{width:100%;height:100%;object-fit:cover;object-position:53% 30%;transform:scale(2.7);transform-origin:53% 30%}

.profile-name{font-family:var(--title-font);font-size:22px;letter-spacing:2px}

.sidebar-profile small{font-size:12px;letter-spacing:2px;color:var(--muted)}

.sidebar-zone #nav a{padding:11px 18px}

.sidebar-zone .header #nav{gap:4px}

.hero-copy{left:50%;top:48%;width:calc(100% - 160px);text-align:center;transform:translate(-50%,-50%)}

.hero h1{font-size:clamp(64px,6.2vw,100px);letter-spacing:10px;line-height:1.5;white-space:nowrap;margin-bottom:22px}

.hero-description{font-size:25px;letter-spacing:5px;color:#f5fdff;text-shadow:0 2px 12px #24596f,0 1px 3px #24596f;max-width:none}

.scroll-cue{margin-left:-20px}

.topbar-zone{position:fixed;inset:0 0 auto 0;height:22px;z-index:30}

.topbar{left:0;transform:translateY(-100%);opacity:0;pointer-events:none;transition:transform .38s ease,opacity .3s ease,left .4s ease}

.topbar-zone:hover .topbar,.topbar-zone:focus-within .topbar,.past-opening .topbar,.inner-page .topbar{transform:translateY(0);opacity:1;pointer-events:auto}

.topbar #page-nav{}

body:has(.sidebar-zone:hover) .topbar,body:has(.sidebar-zone:focus-within) .topbar,body:has(.sidebar-zone.pinned) .topbar{left:var(--sidebar-width)}

.scene-more{grid-column:2;display:flex;align-items:center;justify-content:center;gap:28px;justify-self:end;min-width:160px;min-height:48px;padding:12px 22px;border:1px solid #ffffffb0;border-radius:30px;background:#ffffff38;backdrop-filter:blur(12px);font-size:14px;letter-spacing:2px;transition:background .25s}

.scene-more:hover{background:#ffffff70}

.scene-extra{grid-column:2}

.background-manager{display:grid;grid-template-columns:1fr 1.15fr;gap:36px;margin-bottom:48px;padding:30px;background:#ffffff70;border:1px solid #fff;border-radius:18px}

.background-manager h2{font-family:var(--title-font);font-size:30px;font-weight:400}

.background-manager .eyebrow{margin-bottom:15px}

.background-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}

#background-preview{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:12px;background:#dcecf2}

#background-feedback{font-size:14px;line-height:1.8}

