/* 合并样式（build-performance.py 生成，不要手改）：section-ui.css navigation-label.css live.css story-reader.css site-v2.css */
/* ===== section-ui.css ===== */
.collection-heading.floral-heading{position:relative;isolation:isolate;overflow:hidden;min-height:118px;padding:24px 42px;gap:25px;border:4px solid transparent;border-image:url('assets/ui/gilded-frame.webp?v=4277067976') 90 / 23px / 0 stretch;background:linear-gradient(105deg,#fff9ecb8,#fff4ed66 48%,#efc3d01a),url('assets/ui/peony-paper.webp?v=b8e9df8532') right 52% / auto 410px no-repeat,#f3c9c6;background-clip:padding-box;box-shadow:0 8px 26px #59372a2e,0 0 30px #ffd4e338,inset 0 0 24px #fffcf394;margin-bottom:28px}
.collection-heading.floral-heading:before{content:"";position:absolute;inset:14px;z-index:-1;width:auto;height:auto;opacity:.58;background:radial-gradient(ellipse at 20% 50%,#fffdf4c9,transparent 60%),linear-gradient(115deg,transparent 28%,#fffdf8a1 43%,transparent 58%);mask-image:none;pointer-events:none}
.collection-heading.floral-heading:after{content:"";position:absolute;inset:auto 14px 14px auto;z-index:-1;width:57%;height:38px;opacity:.66;background:url('assets/ui/cloud-sill.webp?v=2f1664d4fd') right bottom / auto 45px no-repeat;mask-image:linear-gradient(90deg,transparent,#000 35%);pointer-events:none}
.floral-heading h2{font-family:var(--serif);font-size:clamp(32px,3.2vw,46px);font-weight:400;line-height:1.3;letter-spacing:.14em;color:#813952;text-shadow:0 1px #fff9ee,0 2px 0 #efbba5,0 0 17px #fffaf5;position:relative}
.floral-heading small{font-family:var(--serif);font-size:21px;line-height:1.25;letter-spacing:.08em;color:#904c3d;min-width:34px;padding:8px 3px;text-align:center;border-block:1px solid #b07849a3;transform:rotate(-3deg)}
.edge-directory{position:fixed;inset:145px auto 80px 0;width:20px;z-index:64;pointer-events:auto}
.edge-directory[data-open="true"]{z-index:66}
.edge-directory-toggle{position:absolute;left:0;top:50%;transform:translateY(-50%);width:39px;min-height:106px;padding:12px 9px;border:1px solid #f9ddb5a6;border-left:0;border-radius:0 18px 18px 0;color:#fff7e8;background:linear-gradient(100deg,#6e4c40de,#9e5a74a3 70%,#eac7be61);backdrop-filter:blur(10px);box-shadow:0 0 18px #f4b3c73b;cursor:pointer;font:20px/1.3 var(--serif);writing-mode:vertical-rl;letter-spacing:.2em;transition:opacity .25s,transform .35s}
.edge-directory-toggle:focus-visible{outline:2px solid #fff0c9;outline-offset:3px}
.edge-directory-panel{position:absolute;top:50%;left:14px;width:296px;max-width:calc(100vw - 32px);max-height:calc(100svh - 200px);overflow-y:auto;overscroll-behavior:contain;padding:41px 39px 49px;border:3px solid transparent;border-image:url('assets/ui/gilded-frame.webp?v=4277067976') 90 / 17px / 0 stretch;isolation:isolate;color:#51352b;transform:translate(-115%,-50%);opacity:0;visibility:hidden;pointer-events:none;background:linear-gradient(100deg,#fff8eceb,#fff1e6c9 62%,#fbdce55c);background-clip:padding-box;box-shadow:12px 12px 40px #24171238;backdrop-filter:blur(16px)}
.edge-directory-panel:before{content:"";position:absolute;inset:14px;z-index:-1;background:url('assets/ui/peony-paper.webp?v=b8e9df8532') 85% 60% / auto 100%;opacity:.5;mask-image:linear-gradient(100deg,#000 8%,#0008 65%,transparent);pointer-events:none}
.edge-directory-panel:after{content:"";position:absolute;inset:auto 14px 14px;height:34px;z-index:-1;background:url('assets/ui/cloud-sill.webp?v=2f1664d4fd') right bottom / auto 34px;opacity:.55;mask-image:linear-gradient(90deg,#000,transparent);pointer-events:none}
.edge-directory[data-open="true"] .edge-directory-panel{transform:translate(0,-50%);opacity:1;visibility:visible;pointer-events:auto;transition:opacity .26s ease,transform .56s var(--ync-pop),visibility 0s}
.edge-directory[data-open="true"] .edge-directory-toggle{opacity:0;pointer-events:none;transform:translate(-110%,-50%)}
.edge-directory .directory-caption{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px;border-bottom:1px solid #9d5a6559;padding-bottom:13px}
.edge-directory .directory-caption strong{font:29px/1.3 var(--serif);letter-spacing:.2em;color:#813952}
.edge-directory .directory-close{display:grid;place-items:center;width:36px;height:36px;border:1px solid #9451645c;border-radius:50%;background:#fff8ee8f;color:#6e483a;font:24px/1 sans-serif;cursor:pointer}
.edge-directory .directory-links{display:grid;gap:8px}
.edge-directory .directory-links a{display:flex;align-items:center;gap:12px;min-height:48px;padding:10px 11px;border:1px solid transparent;border-radius:3px;font-size:15px;line-height:1.6;transition:background .2s,border-color .2s,transform .2s}
.edge-directory .directory-links a span{font:18px var(--serif);color:#a2663c}
.edge-directory .directory-links a:hover,.edge-directory .directory-links a:focus-visible,.edge-directory .directory-links a[aria-current="location"]{background:linear-gradient(95deg,#f4acc061,#fff6e34d);border-color:#ac6d6663;box-shadow:inset 3px 0 #ad5875;color:#6a4030}
.edge-directory a:focus-visible,.edge-directory button:focus-visible{outline:2px solid #a5496c;outline-offset:2px}
.edge-directory .directory-top{display:block;margin-top:20px;padding:10px 12px 0;border-top:1px solid #9d5a653b;font-size:14px;color:#83524b}
@media(max-width:760px){
.collection-heading.floral-heading{min-height:101px;padding:28px 28px;gap:13px;border-width:3px;border-image-width:17px;background-size:auto,auto 310px}
.floral-heading h2{font-size:32px;letter-spacing:.06em;line-height:1.4}
.floral-heading small{font-size:17px;min-width:27px;padding-block:6px}
.collection-heading.floral-heading:before{inset:10px}
.collection-heading.floral-heading:after{right:10px;bottom:10px;width:65%;height:27px;background-size:auto 32px}
.edge-directory-panel{padding:36px 32px 44px}
}
@media(max-width:370px){.collection-heading.floral-heading{padding-inline:20px;gap:9px}.floral-heading h2{font-size:29px;letter-spacing:0}}
@media(prefers-reduced-motion:reduce){.edge-directory-panel,.edge-directory-toggle,.edge-directory .directory-links a{transition:none}}
.edge-directory-panel{transition:opacity .22s ease,transform .28s var(--ync-glide),visibility 0s linear .28s}
@media(prefers-reduced-motion:reduce){.edge-directory-panel,.edge-directory[data-open="true"] .edge-directory-panel{transition:none}}
@media(max-width:760px){.tools-tucked .edge-directory:not([data-open="true"]) .edge-directory-toggle:not(:focus-visible){opacity:0;pointer-events:none;transform:translate(-110%,-50%)}}
.floral-heading h2{text-wrap:balance}
@media (pointer:coarse),(max-width:760px){.edge-directory-toggle::after{content:"";position:absolute;top:0;bottom:0;left:0;width:44px}}
@media(max-width:900px),(hover:none){
.edge-directory{top:155px;bottom:110px;inset:auto auto calc(12px + env(safe-area-inset-bottom,0px)) 12px;width:auto}
.edge-directory-toggle{font-size:18px;position:relative;left:auto;top:auto;display:flex;align-items:center;gap:8px;width:auto;min-height:40px;padding:0 14px 0 12px;border:1px solid #e2c398a8;border-radius:4px;color:var(--gold);background:linear-gradient(#5a3236d6,#30221ee0),url('assets/art/silk-pattern.webp?v=ce71f709ec') center/cover;box-shadow:0 4px 22px #0003;font:15px/1 var(--serif);letter-spacing:.14em;writing-mode:horizontal-tb;transform:none;transition:opacity .25s,transform .3s cubic-bezier(.22,1,.36,1)}
.edge-directory-toggle:before{content:"";flex:none;width:13px;height:11px;background:linear-gradient(currentColor 0 0) 0 0/100% 1.5px no-repeat,linear-gradient(currentColor 0 0) 0 50%/70% 1.5px no-repeat,linear-gradient(currentColor 0 0) 0 100%/100% 1.5px no-repeat}
.edge-directory-panel{position:fixed;top:auto;left:8px;bottom:calc(64px + env(safe-area-inset-bottom,0px));max-height:calc(100svh - 150px);transform:translate(-115%,0)}
@media(max-height:500px){.edge-directory-panel{bottom:calc(8px + env(safe-area-inset-bottom,0px));max-height:calc(100svh - 16px - env(safe-area-inset-bottom,0px))}}
.edge-directory[data-open="true"] .edge-directory-panel{transform:none}
.edge-directory[data-open="true"] .edge-directory-toggle,.tools-tucked .edge-directory:not([data-open="true"]) .edge-directory-toggle:not(:focus-visible){opacity:0;pointer-events:none;transform:translateY(calc(100% + 24px))}
body:has(.ync-welcome-tip,.story-resume.is-shown) .edge-directory:not([data-open="true"]){display:none}
}
/* ===== navigation-label.css ===== */
@media(max-width:1200px) and (min-width:761px){
:root{--island-space:156px}
.site-header{display:grid;grid-template-columns:1fr auto;border-radius:35px;padding:10px 24px;gap:2px 16px}
.site-header .brand{grid-column:1;grid-row:1}
.site-header .header-note{grid-column:2;grid-row:1;display:block}
.site-header nav{grid-column:1 / -1;grid-row:2;justify-content:center}
}
@media(max-width:760px){
:root{--island-space:188px}
.site-header{width:calc(100% - 24px);padding:8px 12px 11px;gap:3px}
.site-header nav{flex-wrap:wrap;gap:2px 4px;justify-content:center}
.site-header nav a{padding:6px 8px}
}
@media(max-width:420px){.site-header nav a{padding-inline:4px}}
@media(max-width:1439px) and (min-width:761px){
:root{--island-space:156px}
.site-header{display:grid;grid-template-columns:1fr auto;border-radius:35px;padding:10px 24px;gap:2px 16px}
.site-header .brand{grid-column:1;grid-row:1}
.site-header .header-end{grid-column:2;grid-row:1;justify-self:end}
.site-header nav{grid-column:1 / -1;grid-row:2;justify-content:center}
}
@media(max-width:1000px) and (min-width:761px){.site-header nav{font-size:13px}.site-header nav a{padding-inline:7px}.site-header .nav-chevron{margin-left:3px}}
@media(max-width:879px) and (min-width:761px){
:root{--island-space:204px}
.site-header nav{flex-wrap:wrap;row-gap:1px}
.site-header nav:after{content:"";flex-basis:100%;order:1}
.site-header nav>.nav-item:nth-child(n+5){order:2}
}
/* ===== live.css ===== */
.site-header .header-me{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;min-height:40px;padding:4px 14px 4px 5px;border:1px solid #ffefd42e;border-radius:999px;background:linear-gradient(135deg,#ffffff1f,#ffffff08);box-shadow:inset 0 1px 0 #ffffff1c;color:#cbd3d9;font:14px/1.6 var(--sans);text-decoration:none;white-space:nowrap;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s}
.site-header .header-me:hover,.site-header .header-me:focus-visible,.site-header .header-me[aria-current]{color:var(--gold);border-color:#e2c39866;background:linear-gradient(135deg,#ffffff29,#ffffff0c);box-shadow:inset 0 1px 0 #fff2,0 3px 12px #1e120e14}
.site-header .header-me:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.site-header .header-search{position:relative;display:inline-grid;place-items:center;flex-shrink:0;width:40px;height:40px;padding:0;border:1px solid #ffefd42e;border-radius:50%;background:linear-gradient(135deg,#ffffff1f,#ffffff08);box-shadow:inset 0 1px 0 #ffffff1c;color:#cbd3d9;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s}
.site-header .header-search svg{display:block}
.site-header .header-search:hover,.site-header .header-search:focus-visible,.site-header .header-search[aria-expanded="true"]{color:var(--gold);border-color:#e2c39866;background:linear-gradient(135deg,#ffffff29,#ffffff0c);box-shadow:inset 0 1px 0 #fff2,0 3px 12px #1e120e14}
.site-header .header-search:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.site-header .header-search::after{content:attr(data-tip);position:absolute;top:calc(100% + 10px);left:50%;padding:5px 11px;border:1px solid #ffffff2e;border-radius:10px;background:linear-gradient(160deg,#ffffff1c,#ffffff06 55%),#2a2320f2;box-shadow:inset 0 1px 0 #fff2,0 8px 22px #1e120e4d;color:var(--ink);font:12px/1.5 var(--sans);white-space:nowrap;pointer-events:none;opacity:0;transform:translate(-50%,-3px);transition:opacity .15s,transform .15s}
@media(hover:hover) and (pointer:fine){.site-header .header-search:hover::after,.site-header .header-search:focus-visible::after{opacity:1;transform:translate(-50%,0)}}
.site-header .header-search[aria-expanded="true"]::after{opacity:0}
:root:not([data-daypart]) .site-header .header-search{display:none}
.header-me-face{display:grid;place-items:center;width:30px;height:30px;flex-shrink:0;overflow:hidden;border-radius:50%;border:1px solid #e2c39880;background:#2a2320b3;color:var(--gold)}
.header-me-face img{width:100%;height:100%;object-fit:cover;display:block}
.site-header .header-end{display:flex;align-items:center;gap:16px;flex-shrink:0}
@media(max-width:1200px) and (min-width:761px){.site-header .header-end{grid-column:2;grid-row:1;justify-self:end}}
@media(max-width:760px){
.site-header .header-end{display:contents}
.site-header .header-me{position:absolute;top:13px;right:13px;min-height:0;padding:3px;gap:0}
.site-header .header-search{position:absolute;top:13px;left:13px;width:40px;height:40px}
.site-header .header-search::after{content:none}
.site-header .header-me-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.header-me-face{width:32px;height:32px}
}
.dm-layer{position:fixed;inset:0;z-index:58;pointer-events:none;overflow:hidden}
.dm-layer[hidden]{display:none}
.dm{position:absolute;left:0;top:0;display:flex;gap:7px;white-space:nowrap;padding:4px 14px;border:1px solid #ffffff38;border-radius:999px;background:#2a232085;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 14px #1e120e26;color:#f4efe8;font:14px/1.55 var(--sans);opacity:.86;transform:translateX(var(--dm-from,100vw));animation:dm-fly var(--dm-dur,9s) linear forwards;will-change:transform}
.dm.is-measuring{visibility:hidden;animation:none}
.dm-who{color:var(--gold)}
.dm-guard{border-color:#e2c398b0;box-shadow:inset 0 0 0 1px #e2c39833,0 4px 14px #1e120e26}
.dm-layer.is-dense .dm{-webkit-backdrop-filter:none;backdrop-filter:none;background:#2a2320e0}
@media(max-width:760px),(pointer:coarse){.dm{-webkit-backdrop-filter:none;backdrop-filter:none;background:#2a2320e0}}
@keyframes dm-fly{from{transform:translateX(var(--dm-from,100vw))}to{transform:translateX(-100%)}}
@media(max-width:375px){.dm{font-size:12px;padding:3px 10px}}
.who-hint{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:2px 14px;margin:0 0 18px;padding:10px 16px;border-radius:14px;background:#efe2dc;color:var(--p-brown-deep);font-size:14px;line-height:1.7;text-align:center}
.who-hint[hidden]{display:none}
.who-hint a{color:inherit;font-weight:700;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;white-space:nowrap}
.who-hint a:hover{text-decoration-thickness:2px}
.who-hint a:focus-visible{outline:2px solid currentColor;outline-offset:3px;border-radius:4px}
.home-page .home-live{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px 18px;align-items:center;margin:22px 0 0;padding:18px 22px 16px;border:1px solid #d4b38db0;border-radius:12px;box-shadow:inset 0 0 24px #efc49615,0 8px 28px #130d1933;color:inherit;text-decoration:none;transition:transform .25s,box-shadow .25s,border-color .25s}
.home-page .home-live:focus-visible{transform:translateY(-3px);border-color:#e2c398;box-shadow:inset 0 0 24px #efc49626,0 10px 30px #c78d5933;outline:2px solid var(--gold);outline-offset:3px}
@media(hover:hover){.home-page .home-live:hover{transform:translateY(-3px);border-color:#e2c398;box-shadow:inset 0 0 24px #efc49626,0 10px 30px #c78d5933}}
.home-live-face{position:relative;display:grid;place-items:center;width:66px;height:66px;border-radius:50%;border:2px solid #d4b38d;background:radial-gradient(circle at 35% 30%,#7a5560,#3a2830);box-shadow:0 0 0 4px #2a232099}
.home-live-face img{position:absolute;inset:0;width:100%;height:100%;border-radius:50%;object-fit:cover}
.home-live-face i{font-style:normal;font-family:var(--serif);font-weight:800;font-size:26px;color:var(--gold)}
.home-live-face:before,.home-live-face:after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid #f0647a;opacity:0;pointer-events:none}
.home-live[data-state="live"] .home-live-face{border-color:#f0647a}
.home-live[data-state="live"] .home-live-face:before{animation:live-ring 2.4s ease-out infinite}
.home-live[data-state="live"] .home-live-face:after{animation:live-ring 2.4s ease-out 1.2s infinite}
@keyframes live-ring{0%{opacity:.8;transform:scale(.92)}100%{opacity:0;transform:scale(1.35)}}
.home-live-body{display:grid;gap:1px;min-width:0}
.home-live-eyebrow{color:#d2bcab;font-size:12px;letter-spacing:.12em}
.home-live-name{color:#f4efe8;font-family:var(--serif);font-weight:800;font-size:21px;line-height:1.5;letter-spacing:.08em}
.home-live-status{grid-column:1 / -1;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"tag title arrow" "sub sub arrow";gap:3px 10px;align-items:center;padding:9px 12px 9px 10px;border:1px solid #ffffff1f;border-radius:10px;background:#ffffff0d}
.home-live-tag{grid-area:tag;display:inline-flex;align-items:center;gap:5px;padding:1px 9px;border-radius:999px;background:#ffffff1f;color:#d2bcab;font:12px/1.7 var(--sans);font-weight:400}
.home-live[data-state="live"] .home-live-tag{background:#d63b53;color:#fff}
.home-live[data-state="live"] .home-live-tag:before{content:"";width:6px;height:6px;border-radius:50%;background:#fff;animation:live-blink 1.4s ease-in-out infinite}
@keyframes live-blink{50%{opacity:.35}}
.home-live-title{grid-area:title;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#f4efe8;font-size:15px}
.home-live-sub{grid-area:sub;color:#c4cdd4;font-size:12.5px;line-height:1.7;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.home-live-arrow{grid-area:arrow;color:var(--gold);font-size:22px;line-height:1;transition:transform .3s cubic-bezier(.22,1,.36,1)}
@media(hover:hover){.home-page .home-live:hover .home-live-arrow{transform:translateX(4px)}}
a.home-live-status{color:inherit;text-decoration:none;transition:border-color .2s,background-color .2s}
a.home-live-status:hover{border-color:#e2c39866;background:#ffffff14}
a.home-live-status:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.home-live-links{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.home-live-link{display:grid;justify-items:center;align-content:center;gap:1px;min-width:0;padding:8px 6px 7px;border:1px solid #ffffff1f;border-radius:10px;background:#ffffff0d;color:#f4efe8;font:inherit;text-align:center;text-decoration:none;cursor:pointer;transition:border-color .2s,background-color .2s,transform .3s cubic-bezier(.22,1,.36,1)}
.home-live-link strong{font-family:var(--serif);font-weight:800;font-size:15px;line-height:1.5;letter-spacing:.06em}
.home-live-link small{display:inline-flex;align-items:center;gap:4px;max-width:100%;color:#c4cdd4;font-size:12px;line-height:1.6;white-space:nowrap;overflow:hidden}
.home-live-link small svg{flex:none}
.home-live-link:hover{border-color:#e2c398;background:#ffffff17;transform:translateY(-2px)}
.home-live-link:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.home-live-group.is-copied{border-color:#e2c398}
.home-live-group.is-copied small{color:var(--gold)}
@media(max-width:420px){.home-live-links{gap:6px}.home-live-link{padding-left:3px;padding-right:3px}.home-live-qq{display:none}}
@media(max-width:760px){.home-page .home-live{padding:15px 16px 14px;gap:10px 14px}.home-live-face{width:56px;height:56px}.home-live-name{font-size:19px}}
.home-page .home-live{isolation:isolate;overflow:hidden;background:linear-gradient(100deg,#4a3240f5 0%,#4a3040f2 38%,#5e3044ee 66%,#7d3a4cea 100%)}
.home-page .home-live:before,.home-page .home-live:after{content:"";position:absolute;inset:0;pointer-events:none;background-repeat:no-repeat}
.home-page .home-live:before{z-index:-2;background-image:radial-gradient(70% 120% at 100% 0%,#9b435080,#86485233 45%,transparent 75%),radial-gradient(60% 90% at 0% 100%,#2f2130b3,transparent 70%);transition:opacity .6s}
.home-page .home-live:after{z-index:-1;background-image:url('assets/opt/archive/heart-qilin-card.webp?v=e57716c526');background-size:auto 225%;background-position:right -8px top -150px;opacity:.92;
-webkit-mask-image:linear-gradient(90deg,transparent calc(100% - 270px),#000 calc(100% - 120px)),linear-gradient(180deg,#000 38%,transparent 68%);-webkit-mask-composite:source-in;
mask-image:linear-gradient(90deg,transparent calc(100% - 270px),#000 calc(100% - 120px)),linear-gradient(180deg,#000 38%,transparent 68%);mask-composite:intersect}
.home-page .home-live[data-state="live"]:before{background-image:radial-gradient(70% 120% at 100% 0%,#b04a5c99,#86485240 45%,transparent 75%),radial-gradient(60% 90% at 0% 100%,#2f2130b3,transparent 70%)}
.home-page .home-live .home-live-status,.home-page .home-live .home-live-link{background:#2b1d28a8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.home-page .home-live a.home-live-status:hover,.home-page .home-live .home-live-link:hover{background:#3a2834b8}
@media(max-width:760px){
.home-page .home-live:after{background-size:auto 200%;background-position:right -14px top -112px;
-webkit-mask-image:linear-gradient(90deg,transparent calc(100% - 170px),#000 calc(100% - 60px)),linear-gradient(180deg,#000 34%,transparent 62%);
mask-image:linear-gradient(90deg,transparent calc(100% - 170px),#000 calc(100% - 60px)),linear-gradient(180deg,#000 34%,transparent 62%)}
}
.live-dock{position:fixed;left:0;top:0;z-index:65;opacity:0;touch-action:none;will-change:transform}
.live-dock.is-ready{opacity:1;transition:opacity .3s ease,transform .45s cubic-bezier(.22,1,.36,1),translate .45s cubic-bezier(.22,1,.36,1)}
.live-dock.is-placing{transition:none}
.live-dock.is-dragging{transition:none}
.live-dock-bubble{position:relative;display:block;width:56px;height:56px;margin:0;padding:0;border:0;border-radius:50%;background:none;cursor:grab;touch-action:none;-webkit-tap-highlight-color:transparent;transition:transform .25s cubic-bezier(.22,1,.36,1)}
.live-dock.is-dragging .live-dock-bubble{cursor:grabbing;transform:scale(1.08)}
.live-dock-bubble:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.live-dock-face{position:relative;display:grid;place-items:center;box-sizing:border-box;width:100%;height:100%;padding:4px;border-radius:50%;background:conic-gradient(from 210deg,#fbe9c4,#e6be85 16%,#c99562 32%,#e9c48e 50%,#fbe6bf 62%,#c99562 80%,#fbe9c4);box-shadow:0 6px 16px #1e120e66,0 0 0 1px #7c4f2e55}
.live-dock-face:after{content:"";position:absolute;inset:3px;border-radius:50%;box-shadow:inset 0 0 0 1px #7c4f2e99,inset 0 0 8px #1e120e40;pointer-events:none}
.live-dock-face:before{content:"";position:absolute;inset:4px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#7a5560,#3a2830)}
.live-dock-face img{position:absolute;inset:4px;width:calc(100% - 8px);height:calc(100% - 8px);border-radius:50%;object-fit:cover;z-index:1;pointer-events:none;-webkit-user-drag:none;user-select:none}
.live-dock-face i{position:relative;font-style:normal;font-family:var(--serif);font-weight:800;font-size:21px;color:var(--gold)}
.live-dock-face.is-small{width:40px;height:40px;flex:none;padding:3px;box-shadow:0 2px 6px #1e120e59}
.live-dock-face.is-small img{inset:3px;width:calc(100% - 6px);height:calc(100% - 6px)}
.live-dock-face.is-small:before{inset:3px}
.live-dock-face.is-small:after{inset:2px}
.live-dock-face.is-small i{font-size:16px}
@property --sweep{syntax:'<angle>';inherits:false;initial-value:210deg}
.live-dock[data-state="live"] .live-dock-bubble .live-dock-face{background:conic-gradient(from var(--sweep),#fff4dc,#f0c98a 12%,#d9805f 26%,#e9c48e 44%,#fff1d2 56%,#d9805f 74%,#fff4dc);animation:ball-sweep 4s linear infinite}
@keyframes ball-sweep{to{--sweep:570deg}}
.live-dock.will-snap .live-dock-face{box-shadow:0 6px 16px #1e120e66,0 0 0 4px #f3d7a066,0 0 18px #f3d7a0aa}
.live-dock-tag{position:absolute;left:50%;bottom:-9px;z-index:2;transform:translateX(-50%);display:none;align-items:center;gap:4px;padding:0 8px 0 7px;border:1px solid #e2c398c0;border-radius:999px;background:linear-gradient(#8a5256,#45342e);color:#f7e2b8;font:10.5px/16px var(--sans);font-weight:400;letter-spacing:.08em;box-shadow:0 2px 6px #1e120e59;white-space:nowrap}
.live-dock[data-state="live"] .live-dock-tag{display:inline-flex}
.live-dock-tag:before{content:"";width:5px;height:5px;border-radius:50%;background:#ffb3c1;box-shadow:0 0 6px #ff8fa5;animation:live-blink 1.4s ease-in-out infinite}
.live-dock.is-tucked{opacity:.9}
.live-dock.is-tucked[data-edge="right"]{transform:translateX(22%)}
.live-dock.is-tucked[data-edge="left"]{transform:translateX(-22%)}
.live-dock.is-tucked[data-edge="top"]{transform:translateY(-22%)}
.live-dock.is-tucked[data-edge="bottom"]{transform:translateY(22%)}
.live-dock-card{position:absolute;width:min(272px,calc(100vw - 32px));padding:14px 14px 12px;border:1px solid #ffffff33;border-radius:18px;background:linear-gradient(160deg,#ffffff1c,#ffffff06 55%,#ffffff0d),#2a2320d9;-webkit-backdrop-filter:blur(24px) saturate(145%);backdrop-filter:blur(24px) saturate(145%);box-shadow:inset 0 1px 0 #fff2,0 16px 38px #1e120e59;color:#f4efe8;cursor:auto}
.live-dock-card[hidden]{display:none}
.live-dock[data-edge="free"][data-side="left"] .live-dock-card{right:calc(100% + 12px);top:calc(50% - 86px);transform-origin:right center}
.live-dock[data-edge="free"][data-side="right"] .live-dock-card{left:calc(100% + 12px);top:calc(50% - 86px);transform-origin:left center}
.live-dock[data-edge="right"] .live-dock-card{right:calc(100% + 12px);top:calc(50% - 86px);transform-origin:right center}
.live-dock[data-edge="left"] .live-dock-card{left:calc(100% + 12px);top:calc(50% - 86px);transform-origin:left center}
.live-dock[data-edge="top"] .live-dock-card{top:calc(100% + 14px);left:calc(50% - 136px);transform-origin:center top}
.live-dock[data-edge="bottom"] .live-dock-card{bottom:calc(100% + 14px);left:calc(50% - 136px);transform-origin:center bottom}
.live-dock-head{display:flex;align-items:center;gap:10px}
.live-dock-names{display:grid;flex:1;min-width:0}
.live-dock-names small{color:#d2bcab;font-size:11.5px;letter-spacing:.06em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.live-dock-names strong{font-family:var(--serif);font-weight:800;font-size:16px;letter-spacing:.06em}
.live-dock-state{flex:none;padding:1px 9px;border-radius:999px;background:#ffffff1f;color:#d2bcab;font:12px/1.7 var(--sans);font-weight:400}
.live-dock[data-state="live"] .live-dock-state{background:#d63b53;color:#fff}
.live-dock-title{margin:10px 0 0;font-size:14.5px;line-height:1.6;overflow-wrap:anywhere}
.live-dock-sub,.live-dock-meta{margin:3px 0 0;color:#c4cdd4;font-size:12.5px;line-height:1.7}
.live-dock-meta[hidden]{display:none}
.live-dock-go{display:flex;justify-content:center;align-items:center;gap:6px;margin-top:12px;min-height:38px;border:1px solid #e2c398a8;border-radius:999px;background:linear-gradient(#7b474ba8,#45342eb8),url('assets/art/silk-pattern.webp?v=ce71f709ec') center/cover;color:var(--gold);font-size:14px;text-decoration:none;transition:background-color .2s,border-color .2s}
.live-dock-go:hover,.live-dock-go:focus-visible{border-color:var(--gold);background-color:#a56956}
.live-dock-go:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
@media(max-width:760px){
.live-dock-bubble{width:48px;height:48px}
.live-dock-face i{font-size:18px}
}
@media print{.live-dock,.dm-layer{display:none}}
@media(prefers-reduced-motion:reduce){.site-header .header-me,.home-page .home-live,.home-page .home-live:before,.home-live-arrow,.home-live-link,.live-dock,.live-dock.is-ready,.live-dock-bubble,.live-dock-go{transition:none}
.home-live-face:before,.home-live-face:after,.live-dock-tag:before,.home-live-tag:before,.live-dock[data-state="live"] .live-dock-bubble .live-dock-face{animation:none}}
.motion-paused .site-header .header-me,.motion-paused .home-live,.motion-paused .home-live-arrow,.motion-paused .home-live-link,.motion-paused .live-dock,.motion-paused .live-dock-bubble{transition:none}
.motion-paused .home-live-face:before,.motion-paused .home-live-face:after,.motion-paused .live-dock-tag:before,.motion-paused .home-live-tag:before,.motion-paused .live-dock[data-state="live"] .live-dock-bubble .live-dock-face{animation:none}
@media(max-width:760px){
body.tools-tucked .live-dock.is-ready:not(.is-open):not(.is-dragging):not(:focus-within){opacity:0;pointer-events:none}
body.tools-tucked .live-dock.is-ready[data-edge="right"]:not(.is-open):not(.is-dragging):not(:focus-within){transform:translateX(calc(100% + 24px))}
body.tools-tucked .live-dock.is-ready[data-edge="left"]:not(.is-open):not(.is-dragging):not(:focus-within){transform:translateX(calc(-100% - 24px))}
body.tools-tucked .live-dock.is-ready[data-edge="top"]:not(.is-open):not(.is-dragging):not(:focus-within){transform:translateY(calc(-100% - 24px))}
body.tools-tucked .live-dock.is-ready[data-edge="bottom"]:not(.is-open):not(.is-dragging):not(:focus-within){transform:translateY(calc(100% + 24px))}
body.tools-tucked .live-dock.is-ready[data-edge="free"]:not(.is-open):not(.is-dragging):not(:focus-within){transform:scale(.6)}
}
html.ss-open{overflow:hidden}
.live-dock-tag{font-size:12px}
@media (pointer:coarse),(max-width:760px){.who-hint a{position:relative}.who-hint a::after{content:"";position:absolute;inset:-10px -6px}}
.live-dock.is-tucked:is([data-edge="left"],[data-edge="right"]),.live-dock.is-tucked:is([data-edge="left"],[data-edge="right"]) .live-dock-bubble{touch-action:pan-y}
.live-dock-card:focus{outline:none}
@media(max-width:760px),(hover:none){
.live-dock.is-tucked[data-edge="right"]{transform:translateX(9px) scale(.76)}
.live-dock.is-tucked[data-edge="left"]{transform:translateX(-9px) scale(.76)}
.live-dock.is-tucked[data-edge="top"]{transform:translateY(-9px) scale(.76)}
.live-dock.is-tucked[data-edge="bottom"]{transform:translateY(9px) scale(.76)}
.live-dock[data-state="live"] .live-dock-bubble .live-dock-face{box-shadow:0 6px 16px #1e120e66,0 0 0 2px #fff1d2e6,0 0 16px 3px #f3d7a0b3}
.live-dock.is-tucked[data-state="off"]{opacity:.68}
.live-dock.is-tucked[data-state="off"] .live-dock-face{scale:.86}
}
@media(max-width:760px){.story-read .live-dock[data-state="off"]:not(.is-open){visibility:hidden;pointer-events:none}}
/* ===== story-reader.css ===== */
.reader-page .page-shell{width:min(960px,calc(100% - 48px))}
.reader-page{--col:calc(720px * var(--story-scale,1))}
.story-crumbs{flex-wrap:wrap;row-gap:4px}
.story-crumbs span[aria-current]{color:#f3e4d0}
.story-sheet{position:relative;isolation:isolate;margin:0 auto 34px}
.story-sheet[data-era="past"]{background:var(--o-sheet-plain);color:var(--o-ink);border:6px solid #d9ab70;border-image:linear-gradient(135deg,#fbe9c4,#e6be85 30%,#c99562 55%,#e9c48e 80%,#fbe6bf) 1;box-shadow:0 14px 34px #1d100c66;padding:58px clamp(22px,6.5vw,76px) 46px}
.story-sheet[data-era="past"]:before{content:"";position:absolute;inset:6px;border:22px solid transparent;border-image:url('assets/ui/gilded-frame.webp?v=4277067976') 90 / 22px stretch;pointer-events:none;z-index:-1;opacity:.9}
.story-sheet[data-era="present"]{background:var(--p-sheet);color:var(--p-ink);border:3px solid var(--p-rose);border-radius:18px;box-shadow:0 14px 34px #1d100c55;padding:78px clamp(22px,6.5vw,72px) 46px}
.story-sheet[data-era="present"]:before{content:"";position:absolute;inset:52px 9px 9px;border:1.5px dotted #d7bba9;border-top:0;border-radius:0 0 11px 11px;pointer-events:none;z-index:-1}
.story-sheet[data-era="present"]:after{content:"";position:absolute;top:-3px;right:18px;width:66px;height:42px;background:url('assets/era/p-bow.webp?v=9dbe635354') center/contain no-repeat;pointer-events:none}
.story-head{max-width:var(--col);margin:0 auto 34px;text-align:center}
.story-sheet .eyebrow{display:inline-block;margin:0 0 16px;padding:3px 14px;font:800 13px/1.6 var(--serif);letter-spacing:.2em}
.story-sheet[data-era="past"] .eyebrow{background:linear-gradient(#fdf0d2,#f1d29c);color:var(--o-deep);box-shadow:inset 0 0 0 1px #d69260,inset 0 0 0 2px #fffaf0}
.story-sheet[data-era="present"] .eyebrow{background:var(--p-brown);color:#fbf1ea}
.story-no{margin:0 0 4px;font:800 16px/1.6 var(--serif);letter-spacing:.32em}
.story-sheet h1{margin:0 0 14px;font:800 clamp(28px,4.2vw,42px)/1.35 var(--serif);letter-spacing:.12em}
.story-sheet[data-era="past"] h1,.story-sheet[data-era="past"] .story-no{color:var(--o-deep)}
.story-sheet[data-era="present"] h1,.story-sheet[data-era="present"] .story-no{color:var(--p-ink)}
.story-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 18px;margin:0;font-size:13px;letter-spacing:.06em}
.story-sheet[data-era="past"] .story-meta{color:var(--o-muted)}
.story-sheet[data-era="present"] .story-meta{color:var(--p-muted)}
.story-tools{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:14px;font-size:13px}
:root:not([data-daypart]) .story-tools[hidden]{display:none}.story-tools[hidden]{visibility:hidden}
.story-tools button{min-width:40px;height:30px;padding:0 10px;border-radius:999px;font:13px/1 var(--sans);cursor:pointer;transition:background .2s,color .2s}
.story-sheet[data-era="past"] .story-tools button{border:1.5px solid var(--o-copper);background:#fffaf0;color:var(--o-deep)}
.story-sheet[data-era="present"] .story-tools button{border:1.5px solid var(--p-rose);background:#fffdfb;color:var(--p-brown)}
.story-tools button:disabled{opacity:.4;cursor:default}
.story-head:after{content:"";display:block;width:180px;height:22px;margin:22px auto 0;background:url('assets/era/p-bowline.webp?v=d293da4d9b') center/auto 22px no-repeat;opacity:.85}
.story-sheet[data-era="past"] .story-head:after{filter:sepia(.6) saturate(1.4) hue-rotate(-12deg)}
.story-text{max-width:var(--col);margin:0 auto;font-family:var(--sans);font-size:calc(18px * var(--story-scale,1));line-height:2.05;letter-spacing:.02em}
.story-text p{margin:0 0 .95em;text-indent:2em;text-align:justify}
.story-sheet[data-era="past"] .story-text{color:var(--o-ink)}
.story-sheet[data-era="present"] .story-text{color:var(--p-ink)}
.story-h2,.story-h3{max-width:var(--col);margin-left:auto;margin-right:auto;font-family:var(--serif);font-weight:800}
.story-h2{margin-top:1.9em;margin-bottom:.7em;font-size:24px;line-height:1.5;letter-spacing:.12em;padding-bottom:8px;border-bottom:1px dashed currentColor}
.story-h3{display:flex;align-items:center;gap:8px;margin-top:1.5em;margin-bottom:.4em;font-size:19px;line-height:1.6;letter-spacing:.08em}
.story-h3:before{content:"";width:18px;height:15px;flex:none;background:url('assets/era/p-flower.webp?v=2b866a00e0') center/contain no-repeat}
.story-sheet[data-era="past"] .story-h2{color:var(--o-deep)}
.story-sheet[data-era="past"] .story-h3{color:var(--o-red)}
.story-sheet[data-era="present"] .story-h2{color:var(--p-ink)}
.story-sheet[data-era="present"] .story-h3{color:var(--p-crimson)}
.story-h2+.story-text,.story-h3+.story-text{margin-top:0}
.story-illus{position:relative;isolation:isolate;margin:2.3em auto 2.5em;text-align:center;text-indent:0}
.story-illus img{display:inline-block;vertical-align:top;width:auto;height:auto;max-width:100%;max-height:560px}
.story-illus:before{content:"";position:absolute;left:50%;bottom:calc(1.9em - 8px);z-index:-1;width:min(300px,70%);height:46px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(closest-side,#d6926040,#d6926000)}
.story-sheet[data-era="present"] .story-illus:before{background:radial-gradient(closest-side,#e1b1ac55,#e1b1ac00)}
.story-illus figcaption{margin:.7em 0 0;font:600 14px/1.6 var(--serif);letter-spacing:.24em}
.story-sheet[data-era="past"] .story-illus figcaption{color:var(--o-deep)}
.story-sheet[data-era="present"] .story-illus figcaption{color:var(--p-brown)}
@media(max-width:760px){.story-illus{margin:1.9em auto 2.1em}.story-illus img{max-height:440px}}
.author-note,.story-preface{max-width:var(--col);box-sizing:border-box;margin:0 auto 30px;padding:16px 22px 6px;border:1.5px dashed;border-radius:12px;background:#fffdf680}
.story-sheet[data-era="past"] .author-note,.story-sheet[data-era="past"] .story-preface{border-color:#d5845088}
.story-sheet[data-era="present"] .author-note,.story-sheet[data-era="present"] .story-preface{border-color:#e1b1ac}
.author-note-title{margin:0 0 8px;font:800 14px/1.6 var(--serif);letter-spacing:.18em;opacity:.85}
.author-note .story-text,.story-preface .story-text{font-size:calc(15.5px * var(--story-scale,1));line-height:1.95}
.story-preface{margin-top:28px;text-align:left}
.story-pager{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;max-width:var(--col);margin:46px auto 0;padding-top:26px;border-top:1px dashed currentColor}
.story-sheet[data-era="past"] .story-pager{border-top-color:#d5845088}
.story-sheet[data-era="present"] .story-pager{border-top-color:#e1b1ac}
.story-pager a{display:flex;flex-direction:column;justify-content:center;gap:2px;min-height:64px;padding:10px 18px;border-radius:14px;text-decoration:none;transition:background .2s,color .2s,transform .2s,box-shadow .2s}
.story-pager a small{font-size:12px;letter-spacing:.14em;opacity:.8}
.story-pager a span{font:800 15px/1.5 var(--serif);letter-spacing:.06em}
.story-pager a>span{word-break:keep-all;overflow-wrap:anywhere}
.story-pager a>span>i{font-style:normal;white-space:nowrap}
.story-pager .pager-prev{text-align:left}
.story-pager .pager-next,.story-pager .pager-latest{text-align:right}
.story-pager .pager-latest i{font-style:normal}
.story-pager .pager-bili{white-space:nowrap}
.story-pager .pager-toc{text-align:center;min-width:92px}
.story-sheet[data-era="past"] .story-pager a{background:#fffaf0;color:var(--o-deep);border:1.5px solid var(--o-copper)}
.story-sheet[data-era="past"] .story-pager a:hover,.story-sheet[data-era="past"] .story-pager a:focus-visible{background:linear-gradient(#fff6e4,#f6d9b0);color:var(--o-deep);border-color:#c98546;box-shadow:0 0 0 3px #f3c98d40,0 6px 14px #8a5a3a26;transform:translateY(-2px)}
.story-sheet[data-era="present"] .story-pager a{background:#fffdfb;color:var(--p-brown);border:1.5px solid var(--p-rose)}
.story-sheet[data-era="present"] .story-pager a:hover,.story-sheet[data-era="present"] .story-pager a:focus-visible{background:var(--p-brown);color:#fbf1ea;border-color:var(--p-brown);transform:translateY(-2px);box-shadow:0 6px 16px #604f4e33}
.story-pager a:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.story-cover{text-align:center}
.story-cover h1{font-size:clamp(32px,5vw,48px)}
.story-blurb{margin:0 auto 12px;max-width:34em;line-height:1.9}
.story-sheet[data-era="past"] .story-blurb{color:var(--o-muted)}
.story-sheet[data-era="present"] .story-blurb{color:var(--p-muted)}
.story-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px}
.story-actions a{display:inline-block;padding:11px 28px;border-radius:999px;font:800 16px/1.5 var(--serif);letter-spacing:.14em;text-decoration:none;transition:background .2s,transform .2s,box-shadow .2s}
.story-sheet[data-era="past"] .story-actions a{background:linear-gradient(#fffdf6e6,#f9e2c2f0),url('assets/art/silk-pattern.webp?v=ce71f709ec') center/cover;color:var(--o-deep);border:1.5px solid #d69260;box-shadow:inset 0 0 0 2px #fffaf0,inset 0 0 0 3px #efc98f,0 4px 12px #8a5a3a26}
.story-sheet[data-era="past"] .story-actions a:hover,.story-sheet[data-era="past"] .story-actions a:focus-visible{background:linear-gradient(#fff8eae0,#f6d6aeeb),url('assets/art/silk-pattern.webp?v=ce71f709ec') center/cover;color:var(--o-deep);border-color:#c98546;box-shadow:inset 0 0 0 2px #fffaf0,inset 0 0 0 3px #f3c98d,0 0 0 3px #f3c98d40,0 8px 18px #8a5a3a33}
.story-sheet[data-era="present"] .story-actions a{background:var(--p-brown);color:#fbf1ea;border:1.5px solid var(--p-brown)}
.story-actions a:hover,.story-actions a:focus-visible{transform:translateY(-2px);box-shadow:0 8px 18px #1d100c33}
.story-toc-title{margin:0 auto 18px;max-width:var(--col);font:800 26px/1.4 var(--serif);letter-spacing:.3em;text-align:center}
.story-sheet[data-era="past"] .story-toc-title{color:var(--o-deep)}
.story-sheet[data-era="present"] .story-toc-title{color:var(--p-ink)}
.story-toc{list-style:none;max-width:var(--col);margin:0 auto;padding:0}
.story-toc li{margin:0}
.story-toc a{display:grid;grid-template-columns:6.2em minmax(0,1fr) auto auto;align-items:center;gap:6px 14px;padding:13px 12px;border-bottom:1px dashed;text-decoration:none;transition:background .2s,padding .2s}
.story-sheet[data-era="past"] .story-toc a{border-bottom-color:#d5845066;color:var(--o-ink)}
.story-sheet[data-era="present"] .story-toc a{border-bottom-color:#e1b1ac99;color:var(--p-ink)}
.story-sheet[data-era="past"] .story-toc a:hover,.story-sheet[data-era="past"] .story-toc a:focus-visible{background:#fff4dc;padding-left:18px}
.story-sheet[data-era="present"] .story-toc a:hover,.story-sheet[data-era="present"] .story-toc a:focus-visible{background:#fbeeea;padding-left:18px}
.story-toc .toc-no{font:800 14px/1.5 var(--serif);letter-spacing:.12em;opacity:.8}
.story-toc .toc-title{font:800 17px/1.6 var(--serif);letter-spacing:.06em}
.story-toc .toc-len{font-size:12px;opacity:.7;white-space:nowrap}
.story-toc .toc-state{min-width:3.4em;font-size:12px;text-align:right;white-space:nowrap}
.story-toc a[data-state="done"] .toc-state:before{content:"已读 ✓";opacity:.75}
.story-toc a[data-state="reading"] .toc-state:before{content:attr(data-progress);color:#b8472d}
.story-toc a[data-new] .toc-title:after{content:"新";display:inline-block;margin-left:8px;padding:0 6px;border:1px solid #c9a27a;border-radius:4px;font:600 12px/1.6 var(--sans);letter-spacing:.1em;color:#7a5a36;vertical-align:2px}
.story-sheet[data-era="present"] .story-toc a[data-state="reading"] .toc-state:before{color:var(--p-crimson)}
.story-source{max-width:var(--col);margin:26px auto 0;font-size:12.5px;line-height:1.8;text-align:center;opacity:.72}
.story-drawer .directory-links .story-toc{display:grid;gap:6px}
.story-drawer .story-toc a{display:flex;align-items:baseline;gap:10px;min-height:44px;padding:9px 11px;border:1px solid transparent;border-radius:3px;color:#5b3a33;font-size:15px;line-height:1.5;grid-template-columns:none}
.story-drawer .story-toc a:hover,.story-drawer .story-toc a:focus-visible,.story-drawer .story-toc a[aria-current="page"]{background:linear-gradient(95deg,#f4acc061,#fff6e34d);border-color:#ac6d6663;padding-left:11px}
.story-drawer .story-toc .toc-no{flex:none;font:15px var(--serif);color:#a2663c;letter-spacing:.04em}
.story-drawer .story-toc .toc-title{font:15px/1.5 var(--sans);letter-spacing:0}
.story-drawer .story-toc .toc-len{display:none}
.story-drawer .story-toc .toc-state{margin-left:auto;min-width:0}
.story-drawer .story-toc a[data-state="done"] .toc-state:before{content:"✓"}
.story-drawer .story-toc a[aria-current="page"] .toc-state:before{content:"在读";color:#a8323f;opacity:1}
.story-progress{position:fixed;inset:0 0 auto;height:3px;z-index:70;pointer-events:none}
.story-progress i{display:block;height:100%;background:linear-gradient(90deg,#f6dfae,#e6bd80 55%,#c99562);transform-origin:0 50%;transform:scaleX(var(--p,0))}
.story-present .story-progress i{background:linear-gradient(90deg,#e1b1ac,#c47a77 55%,#a8323f)}
.story-resume{position:fixed;left:50%;bottom:22px;z-index:66;display:flex;align-items:center;gap:10px;max-width:calc(100% - 32px);padding:8px 8px 8px 18px;border:1px solid #ffd9a88c;border-radius:999px;background:#2a1d18f0;color:#ffe8c8;font-size:14px;box-shadow:0 8px 24px #1d0f0a66;transform:translate(-50%,160%);opacity:0;transition:transform .35s cubic-bezier(.2,.7,.25,1),opacity .3s}
.story-resume.is-shown{transform:translate(-50%,0);opacity:1}
.story-resume button{height:32px;padding:0 14px;border:0;border-radius:999px;font:14px var(--sans);cursor:pointer}
.story-resume .resume-go{background:#e7b66d;color:#3a2418}
.story-resume .resume-close{padding:0 10px;background:transparent;color:#ffe8c8;font-size:18px}
@media(max-width:760px){
.reader-page .page-shell{width:calc(100% - 20px)}
.story-sheet[data-era="past"]{padding:44px 20px 32px;border-width:4px}
.story-sheet[data-era="past"]:before{border-width:14px;border-image-width:14px}
.story-sheet[data-era="present"]{padding:66px 18px 32px}
.story-text{font-size:calc(17px * var(--story-scale,1));line-height:2}
.story-head{margin-bottom:26px}
.story-pager{grid-template-columns:1fr 1fr;margin-top:34px}
.story-pager .pager-toc{grid-column:1 / -1;grid-row:2;min-height:48px}
.story-pager .is-empty{display:none}
.story-toc .toc-len{display:none}
.story-toc .toc-title{font-size:16px}
.author-note,.story-preface{padding:14px 16px 4px}
}
@media(prefers-reduced-motion:reduce){.story-resume,.story-pager a,.story-toc a,.story-actions a{transition:none}}
@media print{.story-progress,.story-resume,.story-drawer,.story-pager,.story-tools{display:none!important}}
.story-drawer .edge-directory-panel{width:340px;display:flex;flex-direction:column;overflow:hidden}
.story-drawer .directory-links{min-height:0;overflow-y:auto;overscroll-behavior:contain;margin:-4px;padding:4px}
.story-drawer .story-toc .toc-no{min-width:4.4em;font-size:14px}
@view-transition{navigation:auto}
::view-transition-old(root){animation:.2s ease both story-vt-out}
::view-transition-new(root){animation:.42s var(--ync-glide) both story-vt-in}
@keyframes story-vt-out{to{opacity:0}}
@keyframes story-vt-in{from{opacity:0;transform:translateY(14px)}}
@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}}
.story-crumbs{width:fit-content;max-width:100%;box-sizing:border-box;margin:20px 0 12px;padding:6px 14px;border:1px solid #ffffff1f;border-radius:12px;background:linear-gradient(160deg,#ffffff14,#ffffff05 55%,#ffffff0a),#2a2320d9;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:inset 0 1px 0 #ffffff1a,0 6px 18px #1e120e33}
.story-head h1,.story-cover h1,.story-toc .toc-title{text-wrap:balance}
.story-head h1,.story-toc .toc-title{word-break:keep-all;overflow-wrap:anywhere}
.story-drawer .story-toc .toc-state{font-size:12px}
@media(max-width:760px){
.story-toc a{padding:12px 6px;grid-template-columns:5em minmax(0,1fr) auto;gap:4px 10px}
.story-toc .toc-no{white-space:nowrap}
.story-toc .toc-state{min-width:0}
}
/* ===== site-v2.css ===== */
body.inner-page{--v2-ease:cubic-bezier(.16,1,.3,1)}
html body.inner-page .hub-intro h1 .v2-ch{display:inline-block}
html.v2p-js body.inner-page .hub-intro h1 .v2-ch{opacity:0;transform:translateY(.45em);filter:blur(6px);transition:opacity .8s var(--v2-ease),transform 1s var(--v2-ease),filter .8s var(--v2-ease);transition-delay:calc(var(--c) * 60ms + 120ms)}
html.v2p-js body.inner-page .hub-intro h1.is-in .v2-ch{opacity:1;transform:none;filter:none}
html.v2p-js body.inner-page .v2p-reveal{opacity:0;transform:translateY(36px);transition:opacity 1s var(--v2-ease),transform 1.2s var(--v2-ease)}
html.v2p-js body.inner-page .v2p-reveal.is-in{opacity:1;transform:none}
@media (min-width:1100px){
html body.inner-page.catalog-page .era-section[data-era] .video-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px}
}
html body.inner-page .facts{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}
html body.inner-page .facts>div{position:relative;padding:15px 18px 14px;border:1px solid #e7c89933;border-left:2px solid #e7c899aa;border-radius:4px;background:linear-gradient(160deg,#2c1b1ecc,#2c1b1e59);transition:border-color .4s,transform .5s var(--v2-ease)}
html body.inner-page .facts>div:hover{border-color:#e7c89977;transform:translateY(-3px)}
html body.inner-page .facts dt{font-size:12px;letter-spacing:.14em;color:#e7c899}
html body.inner-page .facts dd{margin:7px 0 0;font:800 16px/1.5 var(--serif);letter-spacing:.03em}
html body.inner-page .facts dd small{margin-top:4px;font:400 12px/1.6 var(--sans);letter-spacing:.04em}
html body.inner-page .values-grid{gap:14px}
html body.inner-page .values-grid>div{position:relative;padding:22px 24px 20px;border:1px solid #e7c89930;border-radius:4px;background:linear-gradient(160deg,#2c1b1ec4,#2c1b1e4d);overflow:hidden}
html body.inner-page .values-grid>div:before{content:attr(data-no);position:absolute;right:16px;top:10px;font:800 40px/1 var(--serif);color:#e7c89924;pointer-events:none}
html body.inner-page .values-grid h3{margin:0 0 8px;letter-spacing:.08em}
html body.inner-page .values-grid p{margin:0;line-height:1.95}
html body.inner-page .reading-list{padding-left:0;list-style:none}
html body.inner-page .reading-list li{position:relative;padding-left:26px}
html body.inner-page .reading-list li:before{content:"✦";position:absolute;left:2px;top:0;font-size:12px;line-height:32px;color:#e7c899}
html body.inner-page .performer-intro{gap:18px;padding:48px 0 34px}
html body.inner-page .performer-intro>section{padding:30px 32px 32px;border:1px solid #e7c89933;border-radius:4px;background:linear-gradient(160deg,#2c1b1ed1,#2c1b1e66);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
html body.inner-page .performer-intro h2{margin-top:0}
html body.inner-page .performer-intro+.about-entry-wrap{margin-top:0}
html body.inner-page.showcase-page #illustrations .design-grid.v2p-rows{display:flex;flex-wrap:wrap;gap:24px}
html body.inner-page.showcase-page #illustrations .design-grid.v2p-rows .design-piece{flex:none}
html body.inner-page.showcase-page #illustrations .design-grid.v2p-rows .design-piece img{height:auto;max-height:none;object-fit:cover}
html body.inner-page.showcase-page .design-piece p{text-wrap:pretty}
@media (max-width:760px){
html body.inner-page .facts{grid-template-columns:1fr 1fr;gap:10px}
html body.inner-page .facts>div{padding:13px 14px 12px}
html body.inner-page .facts dd{font-size:15.5px}
html body.inner-page .performer-intro>section{padding:24px 20px 26px}
html body.inner-page .values-grid>div{padding:18px 18px 16px}
}
html.v2p-js body.inner-page.motion-paused .v2p-reveal,html.v2p-js body.inner-page.motion-paused .hub-intro h1 .v2-ch{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}
@media (prefers-reduced-motion:reduce){
html.v2p-js body.inner-page .v2p-reveal,html.v2p-js body.inner-page .hub-intro h1 .v2-ch{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}
}
html body.inner-page .prose-section.xy-has-art{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto auto 1fr;column-gap:40px;align-items:start}
.xy-has-art>:not(.xy-art){grid-column:1}
.xy-has-art>.quiet-link{justify-self:start}
.xy-art{grid-column:2;grid-row:1 / -1;position:relative;margin:0;padding-top:66px}
.xy-orn{position:absolute;top:0;left:50%;width:60px;height:60px;margin-left:-30px;border-radius:50%;background:radial-gradient(closest-side,#1d1416b3,#1d141600)}
.xy-frame{position:relative;display:block;padding:9px;border-radius:3px;background:linear-gradient(160deg,#3a2724f0,#1d1416f0);box-shadow:0 0 0 1px #e7c8995c,0 16px 38px #00000080,0 0 70px #e1b48624}
.xy-frame:before{content:"";position:absolute;inset:4px;border:1px solid #e7c89930;border-radius:2px;pointer-events:none}
.xy-frame img{display:block;height:auto;border-radius:2px}
.xy-art--portrait .xy-frame img{width:220px}
.xy-art--scroll .xy-frame img{width:auto;height:220px}
@media(max-width:1000px){
html body.inner-page .prose-section.xy-has-art{grid-template-columns:minmax(0,1fr);grid-template-rows:none}
.xy-art{grid-column:1;grid-row:auto;justify-self:center;margin:24px 0 0;padding-top:62px}
.xy-art--portrait .xy-frame img{width:190px}
.xy-art--scroll .xy-frame img{height:210px}
}
.singer-page .sr-note{position:absolute!important;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.singer-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 28px;margin:26px 0 0}
.singer-actions .button,.singer-actions .quiet-link{margin-top:0}
html body.inner-page .singer-block{position:relative;isolation:isolate;margin:0 0 30px;padding:32px 36px 32px;border:1px solid #e7c89933;border-radius:3px;background:radial-gradient(60% 80% at 0% 0%,#e1b4861f,#0000 65%),linear-gradient(160deg,#2c1b1ee6,#2c1b1e8c);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
html body.inner-page .performer-hero+.singer-block{margin-top:48px}
.singer-block:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:url('assets/art/silk-pattern.webp?v=ce71f709ec') left/170px auto repeat;mix-blend-mode:soft-light;opacity:.13;pointer-events:none}
.singer-head{display:grid;grid-template-columns:64px minmax(0,1fr);gap:22px;align-items:start;margin-bottom:26px}
.singer-mark{display:block;width:64px;height:64px}
.singer-head .eyebrow{margin:0 0 6px}
html body.inner-page .singer-head h2{margin:0 0 8px}
.singer-head p:not(.eyebrow){margin:0;max-width:44em;line-height:1.9;color:var(--muted)}
.singer-block>.quiet-link{margin-top:22px}
.singer-songs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}
.singer-song{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none;border:1px solid #e7c8992e;border-radius:3px;background:linear-gradient(180deg,#3a2724d9,#2a1d1bd9);overflow:hidden;transition:border-color .2s,background-color .2s}
.singer-song:hover,.singer-song:focus-visible{border-color:#e7c89999}
.singer-song .video-cover{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:radial-gradient(circle at 50% 45%,#6a4440,#2c1d1d 75%)}
.singer-song .video-thumb{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.singer-song:hover .video-thumb,.singer-song:focus-visible .video-thumb{transform:scale(1.05)}
.singer-play{position:absolute;right:10px;bottom:10px;z-index:1;width:34px;height:34px;border:1px solid #e7c899b3;border-radius:50%;background:#1d1416b8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.video-cover:not(.has-cover) .singer-play{right:calc(50% - 22px);bottom:calc(50% - 22px);width:44px;height:44px}
.singer-play:after{content:"";position:absolute;left:50%;top:50%;margin:-7px 0 0 -4px;border-style:solid;border-width:7px 0 7px 11px;border-color:#0000 #0000 #0000 #e7c899}
.singer-song-text{display:block;padding:12px 15px 15px}
.singer-song strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;font-size:17px;font-weight:600;line-height:1.55;color:#f3e6d3}
.singer-song small{display:block;margin-top:6px;font-size:12.5px;color:var(--muted)}
.singer-doors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.singer-door{display:flex;flex-direction:column;align-items:flex-start;gap:5px;margin:0;padding:18px 20px 19px;border:1px solid #e7c89940;border-radius:3px;background:linear-gradient(135deg,#4a302cd9,#2d201dd9);color:#f3e6d3;font:inherit;text-align:left;text-decoration:none;cursor:pointer;transition:border-color .2s,background-color .2s}
.singer-door small{font-size:12.5px;letter-spacing:.08em;color:#e1b486}
.singer-door strong{font-size:23px;font-weight:600;letter-spacing:.05em;font-variant-numeric:tabular-nums}
.singer-door>span{font-size:13.5px;color:#d9c2a8}
.singer-door:hover,.singer-door:focus-visible{border-color:#e7c899a6}
.singer-door.is-copied{border-color:#e7c899}
.singer-note{margin:18px 0 0;font-size:14px;color:var(--muted)}
.singer-looks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.singer-looks a{display:flex;flex-direction:column;align-items:center;gap:11px;color:#f3e6d3;text-decoration:none}
.look-frame{display:flex;align-items:flex-end;justify-content:center;width:100%;height:300px;padding:16px 10px 0;box-sizing:border-box;border:1px solid #e7c8992e;border-radius:3px;background:radial-gradient(55% 45% at 50% 62%,#e1b48633,#0000 72%),linear-gradient(180deg,#2c1e1ccc,#3e2a26cc);overflow:hidden;transition:border-color .2s}
.look-frame picture{display:flex;align-items:flex-end;justify-content:center;width:100%;height:100%}
.look-frame img{display:block;width:auto;height:100%;max-width:100%;object-fit:contain;transition:transform .4s ease;transform-origin:50% 100%}
.singer-looks a:hover .look-frame,.singer-looks a:focus-visible .look-frame{border-color:#e7c89999}
.singer-looks a:hover img,.singer-looks a:focus-visible img{transform:scale(1.03)}
.singer-looks strong{font-size:15px;font-weight:500;letter-spacing:.06em}
@media(prefers-reduced-motion:reduce){.singer-song .video-thumb,.look-frame img{transition:none;transform:none!important}}
.motion-paused .singer-song .video-thumb,.motion-paused .look-frame img{transition:none;transform:none!important}
@media(max-width:760px){
html body.inner-page .singer-block{padding:24px 18px 24px;margin-bottom:22px}
html body.inner-page .performer-hero+.singer-block{margin-top:30px}
.singer-head{grid-template-columns:44px minmax(0,1fr);gap:14px;margin-bottom:18px}
.singer-mark{width:44px;height:44px}
.singer-songs{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.singer-song strong{font-size:15px}
.singer-song-text{padding:10px 11px 12px}
.singer-song small{display:grid;gap:1px}
.singer-dur i{display:none}
.singer-play{width:28px;height:28px;right:7px;bottom:7px}
.singer-play:after{margin:-5px 0 0 -3px;border-width:5px 0 5px 8px}
.singer-doors{grid-template-columns:1fr;gap:10px}
.singer-door{padding:14px 16px}
.singer-door strong{font-size:20px}
.singer-looks{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.look-frame{height:230px}
}
