/* W446 · 英文站 OS 消息系统。自带节点与样式，不依赖岛本体。 */#w446-msg{position:fixed;z-index:9200;right:20px;bottom:20px;width:min(392px,calc(100vw - 40px));box-sizing:border-box;padding:14px 16px 13px 58px;border-radius:14px;background:rgba(22,28,42,.94);border:1px solid rgba(201,168,106,.26);box-shadow:0 10px 34px rgba(0,0,0,.42);color:#e9eef7;font:400 14px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .34s ease,transform .34s ease}#w446-msg.w446-on{opacity:1;transform:translateY(0);pointer-events:auto}#w446-msg .w446-av{position:absolute;left:14px;top:14px;width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;font:600 15px/1 inherit;letter-spacing:.01em}#w446-msg[data-w446-kind="voice"] .w446-av{color:#1b2233;background:linear-gradient(145deg,#f0d696,#c9a86a);box-shadow:0 1px 3px rgba(0,0,0,.35)}#w446-msg[data-w446-kind="quote"] .w446-av,#w446-msg[data-w446-kind="stat"] .w446-av,#w446-msg[data-w446-kind="nav"] .w446-av,#w446-msg[data-w446-kind="chapter"] .w446-av{color:#c9a86a;background:rgba(201,168,106,.12);border:1px solid rgba(201,168,106,.34)}#w446-msg .w446-k{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:#c9a86a;font-weight:600}#w446-msg[data-w446-kind="voice"] .w446-k{text-transform:none;letter-spacing:.02em;font-size:12.5px}#w446-msg .w446-t{margin-top:5px;color:#e9eef7}#w446-msg[data-w446-kind="voice"] .w446-t{background:rgba(255,255,255,.055);border:1px solid rgba(201,168,106,.22);border-radius:10px;padding:8px 11px;line-height:1.62}#w446-msg .w446-row{display:flex;align-items:center;gap:12px;margin-top:11px}#w446-msg .w446-go{appearance:none;-webkit-appearance:none;cursor:pointer;font:600 12.5px/1 inherit;letter-spacing:.03em;color:#1b2233;background:linear-gradient(145deg,#f0d696,#c9a86a);border:0;border-radius:999px;padding:8px 15px;animation:w446Breathe 2.6s ease-in-out infinite}#w446-msg .w446-go[hidden]{display:none}#w446-msg .w446-cd{font-size:11.5px;letter-spacing:.06em;color:rgba(233,238,247,.42);font-variant-numeric:tabular-nums}@keyframes w446Breathe{0%,100%{box-shadow:0 0 0 0 rgba(196,164,107,.40)}50%{box-shadow:0 0 0 7px rgba(196,164,107,0)}}@media(max-width:640px){#w446-msg{left:12px;right:12px;width:auto;bottom:calc(env(safe-area-inset-bottom,0px) + 104px)}}@media (prefers-reduced-motion:reduce){#w446-msg{transition:none}#w446-msg .w446-go{animation:none}}
/* 呼吸：和中文站 W434 同一条曲线、同一个节拍，只给主动作按钮 */
@keyframes gxW447Breathe{0%,100%{box-shadow:0 0 0 0 rgba(196,164,107,.40)}50%{box-shadow:0 0 0 7px rgba(196,164,107,0)}}
html[lang^="en"] #gi-al-go{animation:gxW447Breathe 2.6s ease-in-out infinite}
/* 倒计时：原位顶掉 Later，不再长得像按钮 */
html[lang^="en"] #gi-al-x.gx-w447-cd{animation:none;background:none!important;border:0!important;box-shadow:none!important;
 padding:2px 3px;font-size:11.5px;line-height:1.25;letter-spacing:.06em;cursor:default;
 color:rgba(233,238,247,.40);font-variant-numeric:tabular-nums}
html[lang^="en"] #gi-al-x.gx-w447-cd:hover{color:rgba(233,238,247,.60)}
/* 抽卡封闭死：选择条与「全部」收掉，只剩「再抽一张 / 保存这张」 */
html[lang^="en"] #gx-studio .gs-strip,html[lang^="en"] #gx-studio #gs-all{display:none!important}
@media (prefers-reduced-motion:reduce){html[lang^="en"] #gi-al-go{animation:none}}

/* ── ① 胶囊播放键外圈进度环 ── */
#gi-play{position:relative}
#gi-play .w481-ring{position:absolute;inset:-4px;width:calc(100% + 8px);height:calc(100% + 8px);
  transform:rotate(-90deg);pointer-events:none;overflow:visible}
#gi-play .w481-ring circle{fill:none;stroke-width:2.2;vector-effect:non-scaling-stroke}
#gi-play .w481-ring-bg{stroke:rgba(255,255,255,.12)}
#gi-play .w481-ring-fg{stroke:#f0d49a;stroke-linecap:round;transition:stroke-dashoffset .25s linear}
#gx-island[data-w481-has="0"] #gi-play .w481-ring{opacity:0}
#gx-island[data-w481-has="1"] #gi-play .w481-ring{opacity:1;transition:opacity .3s ease}

/* ── ② 面板进度条 ── */
#w481-seek{display:flex;align-items:center;gap:6px;margin:4px 2px 10px;user-select:none;-webkit-user-select:none}
#w481-seek .w481-t{font:600 11.5px/1 -apple-system,"PingFang SC",sans-serif;font-variant-numeric:tabular-nums;
  color:rgb(192,203,224);min-width:34px;text-align:center}
#w481-seek .w481-cur{color:#f0d49a}
#w481-seek .w481-skip{flex:0 0 auto;position:relative;width:44px;height:44px;border:0;border-radius:50%;
  background:transparent;color:rgb(222,229,242);display:grid;place-items:center;cursor:pointer;
  -webkit-tap-highlight-color:transparent;transition:transform .22s cubic-bezier(.34,1.56,.64,1),background .2s}
#w481-seek .w481-skip svg{width:22px;height:22px}
#w481-seek .w481-skip[data-d="15"] svg{transform:scaleX(-1)}
#w481-seek .w481-skip i{position:absolute;font:700 8px/1 -apple-system,sans-serif;font-style:normal;top:52%;left:50%;
  transform:translate(-50%,-50%);letter-spacing:-.02em}
#w481-seek .w481-skip:active{transform:scale(.88);background:rgba(255,255,255,.08)}
#w481-seek .w481-track{position:relative;flex:1 1 auto;height:44px;cursor:pointer;touch-action:none;outline:none}
#w481-seek .w481-rail{position:absolute;left:0;right:0;top:50%;height:4px;margin-top:-2px;border-radius:4px;
  background:rgba(255,255,255,.14);overflow:hidden;transition:height .18s ease,margin-top .18s ease}
#w481-seek .w481-buf{position:absolute;left:0;top:0;bottom:0;width:var(--b,0%);background:rgba(255,255,255,.14)}
#w481-seek .w481-fill{position:absolute;left:0;top:0;bottom:0;width:var(--f,0%);
  background:linear-gradient(90deg,#c9a86a,#f0d49a)}
#w481-seek .w481-knob{position:absolute;top:50%;left:var(--f,0%);width:14px;height:14px;margin:-7px 0 0 -7px;
  border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff7e3,#f0d49a 55%,#c9a86a);
  box-shadow:0 2px 6px rgba(0,0,0,.35),0 0 0 3px rgba(240,212,154,.18);
  transition:transform .2s cubic-bezier(.34,1.56,.64,1)}
#w481-seek .w481-tip{position:absolute;bottom:40px;left:var(--f,0%);transform:translateX(-50%) scale(.8);opacity:0;
  padding:5px 9px;border-radius:10px;background:rgba(240,212,154,.96);color:#0b1630;
  font:700 12px/1 -apple-system,sans-serif;font-variant-numeric:tabular-nums;pointer-events:none;
  box-shadow:0 6px 16px -4px rgba(0,0,0,.45);transition:opacity .15s ease,transform .2s cubic-bezier(.34,1.56,.64,1)}
#w481-seek[data-drag="1"] .w481-rail{height:8px;margin-top:-4px}
#w481-seek[data-drag="1"] .w481-knob{transform:scale(1.45)}
#w481-seek[data-drag="1"] .w481-tip{opacity:1;transform:translateX(-50%) scale(1)}
#w481-seek[data-drag="1"] .w481-fill,#w481-seek[data-drag="1"] .w481-knob,#w481-seek[data-drag="1"] .w481-tip{transition:none}
#w481-seek .w481-track:focus-visible .w481-knob{box-shadow:0 0 0 3px rgba(240,212,154,.75)}
#w481-seek[data-off="1"]{opacity:.42}
#w481-seek[data-off="1"] .w481-track,#w481-seek[data-off="1"] .w481-skip{pointer-events:none}
#w481-seek[data-off="1"] .w481-knob{opacity:0}

/* ── ④ 下拉收起时的跟手 ── */
#gi-sheet[data-w481-pull="1"]{transition:none!important}
#gi-sheet.w481-snap{transition:translate .42s cubic-bezier(.34,1.4,.64,1)!important}
#gi-title.w481-snap{transition:translate .38s cubic-bezier(.34,1.56,.64,1)}

/* ── ⑦ 面板展开时藏起浮窗章节盘（线上实测它压在面板上） ── */
#w451-dial{transition:opacity .2s ease}
html[data-w481-sheet="1"] #w451-dial{opacity:0!important;pointer-events:none!important}

@media (prefers-reduced-motion:reduce){
  #w481-seek *,#gi-play .w481-ring-fg{transition:none!important}
  #gi-sheet.w481-snap,#gi-title.w481-snap{transition:none!important}
}


/* ── 玻璃：面板 / 弹层 ── */
#gx-island #gi-sheet,#gx-island #gi-alert{
  background:radial-gradient(130% 60% at 18% 0%,rgba(255,255,255,0.06) 0%,rgba(255,255,255,0) 58%),linear-gradient(180deg,rgba(24,36,72,0.86) 0%,rgba(9,15,33,0.93) 100%)!important;
  -webkit-backdrop-filter:blur(28px) saturate(1.9)!important;backdrop-filter:blur(28px) saturate(1.9)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),inset 0 0 0 1px rgba(255,255,255,.05),
    0 0 0 1px rgba(201,168,106,.16),0 24px 60px -18px rgba(2,8,24,.72),0 6px 18px -6px rgba(2,8,24,.45)!important}
/* ── 玻璃：胶囊（morph 层要和胶囊同一身衣服，否则展开收起那一下会闪色） ── */
#gx-island .gi-cap,#gx-island .w443-morph{
  background:radial-gradient(130% 60% at 18% 0%,rgba(255,255,255,0.06) 0%,rgba(255,255,255,0) 58%),linear-gradient(180deg,rgba(24,36,72,0.86) 0%,rgba(9,15,33,0.93) 100%)!important;
  -webkit-backdrop-filter:blur(24px) saturate(1.9)!important;backdrop-filter:blur(24px) saturate(1.9)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),inset 0 0 0 1px rgba(255,255,255,.05),
    0 14px 34px -12px rgba(2,8,24,.6),0 3px 10px -4px rgba(2,8,24,.35)!important;
  transition:box-shadow .45s ease}
#gx-island[data-w481-playing="1"] .gi-cap{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 0 0 1px rgba(201,168,106,.42),
    0 14px 34px -12px rgba(2,8,24,.6),0 0 22px -6px rgba(201,168,106,.45)!important}

/* ── 字色：变透之后必须一起提亮（自检里有算式） ── */
#gx-island .gi-rk{color:rgb(192,203,224)!important}
#gx-island #gi-k{color:rgb(234,205,146)!important}

/* ── 气泡：分段容器 ── */
#gx-island .gi-seg,#gx-island #gx-tts-rates{
  background:rgba(255,255,255,0.06)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),inset 0 -1px 0 rgba(0,0,0,.18)!important;border-radius:15px!important}
#gx-island #gi-voice button,#gx-island #gx-tts-rates button,#gx-island #gi-modes button{
  color:rgb(214,222,236);border-radius:11px!important;
  transition:transform .26s cubic-bezier(.34,1.56,.64,1),background-color .2s ease,box-shadow .25s ease!important}
/* 未选中项的男女小字：底变透后按新底重算的门槛（见文件头） */
#gx-island #gi-voice button.w443-v[aria-checked="false"]>small{color:rgb(238,242,248)!important;opacity:0.82!important}
/* ── 气泡：选中态金泡（渐变只往亮走，最暗点＝原金） ── */
#gx-island #gi-voice button[aria-checked="true"],#gx-island #gx-tts-rates button.act,#gx-island #gi-modes button.act{
  background:linear-gradient(180deg,rgb(223,195,137) 0%,rgb(201,168,106) 55%,rgb(201,168,106) 100%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5),inset 0 -1px 0 rgba(120,90,40,.25),
    0 6px 16px -6px rgba(201,168,106,.7)!important}
/* 按下：弹一下 */
#gx-island #gi-voice button:active,#gx-island #gx-tts-rates button:active,#gx-island #gi-modes button:active,
#gx-island .gi-foot a:active,#gx-island #gi-card:active,#gx-island #gi-close:active,
#gx-island #gi-prev:active,#gx-island #gi-next:active,#gx-island #gi-stop:active{transform:scale(.93)!important;transition-duration:.08s!important}

/* ── 气泡：播放键是一颗带高光的金珠 ── */
#gx-island #gi-play,#gx-island #gi-pp{
  background:radial-gradient(circle at 34% 26%,#fbe9bf 0%,#e2c48a 30%,#c9a86a 62%,#b0904f 100%)!important;
  box-shadow:inset 0 1px 1px rgba(255,255,255,.55),inset 0 -2px 4px rgba(90,64,24,.3),
    0 6px 16px -6px rgba(201,168,106,.75)!important;
  transition:transform .28s cubic-bezier(.34,1.56,.64,1),box-shadow .35s ease!important}
#gx-island #gi-play:active,#gx-island #gi-pp:active{transform:scale(.9)!important;transition-duration:.08s!important}
#gx-island[data-w481-playing="1"] #gi-pp{animation:w482Breathe 2.8s ease-in-out infinite}
@keyframes w482Breathe{
  0%,100%{box-shadow:inset 0 1px 1px rgba(255,255,255,.55),inset 0 -2px 4px rgba(90,64,24,.3),0 0 0 0 rgba(201,168,106,.0),0 6px 16px -6px rgba(201,168,106,.75)}
  50%{box-shadow:inset 0 1px 1px rgba(255,255,255,.55),inset 0 -2px 4px rgba(90,64,24,.3),0 0 0 9px rgba(201,168,106,.13),0 8px 22px -6px rgba(201,168,106,.85)}}

/* ── 气泡：关闭键、明信片键 ── */
#gx-island #gi-close{background:rgba(255,255,255,.09)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 2px 6px -2px rgba(0,0,0,.35)!important;
  transition:transform .26s cubic-bezier(.34,1.56,.64,1)!important}
#gx-island #gi-card{background:linear-gradient(180deg,rgba(201,168,106,.24),rgba(201,168,106,.12))!important;
  box-shadow:inset 0 1px 0 rgba(255,236,190,.32),inset 0 0 0 1px rgba(201,168,106,.5),0 6px 16px -8px rgba(201,168,106,.6)!important;
  transition:transform .26s cubic-bezier(.34,1.56,.64,1)!important}

/* ── 可访问性：要求少透明 → 直接给实底；不支持毛玻璃 → 提高不透明度 ── */
@media (prefers-reduced-transparency:reduce){
  #gx-island #gi-sheet,#gx-island #gi-alert,#gx-island .gi-cap,#gx-island .w443-morph{
    background:rgb(12,20,42)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  #gx-island #gi-sheet,#gx-island #gi-alert,#gx-island .gi-cap,#gx-island .w443-morph{
    background:linear-gradient(180deg,rgba(24,36,72,.97),rgba(9,15,33,.98))!important}}
@media (prefers-reduced-motion:reduce){
  #gx-island[data-w481-playing="1"] #gi-pp{animation:none}
  #gx-island *{transition-duration:0s!important}}

/* W486 · 桌面通知＝macOS 横幅，右下角，右/下各 24px。只在桌面精确指针下生效。 */
@media (min-width:1024px) and (hover:hover) and (pointer:fine){
html.w486-on #gx-island-root>#gi-alert.gi-alert{
  position:fixed!important;left:auto!important;top:auto!important;
  right:var(--w486-r,24px)!important;bottom:var(--w486-b,24px)!important;z-index:120!important;
  width:360px!important;max-width:calc(100vw - 48px)!important;min-height:0!important;box-sizing:border-box!important;
  margin:0!important;padding:12px 14px 12px 60px!important;
  border-radius:18px!important;corner-shape:round!important;overflow:visible!important;
  -webkit-mask-image:none!important;mask-image:none!important;
  background:linear-gradient(180deg,rgba(30,42,78,.88) 0%,rgba(14,21,44,.92) 100%)!important;
  -webkit-backdrop-filter:blur(30px) saturate(1.8)!important;backdrop-filter:blur(30px) saturate(1.8)!important;
  box-shadow:inset 0 0 0 .5px rgba(255,255,255,.2),inset 0 1px 0 rgba(255,255,255,.08),0 0 0 .5px rgba(0,0,0,.5),
    0 12px 32px -8px rgba(2,8,24,.55),0 3px 10px -2px rgba(2,8,24,.35)!important;
  color:#eef2f8!important;text-align:left!important;cursor:default;
  -webkit-user-select:none;user-select:none;touch-action:pan-y;
  transform:translate3d(calc(100% + var(--w486-r,24px) + 24px),0,0)!important;transform-origin:100% 50%!important;
  opacity:0!important;visibility:hidden!important;pointer-events:none!important;
  transition:transform .36s cubic-bezier(.4,0,.9,.6),opacity .3s ease,visibility 0s linear .36s,bottom .3s cubic-bezier(.3,.7,.2,1),right .3s cubic-bezier(.3,.7,.2,1)!important}
html.w486-on #gx-island-root[data-w486="alert"]>#gi-alert.gi-alert{
  transform:translate3d(0,0,0)!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;
  transition:transform .42s cubic-bezier(.2,1.18,.32,1),opacity .2s ease,visibility 0s,bottom .3s cubic-bezier(.3,.7,.2,1),right .3s cubic-bezier(.3,.7,.2,1)!important}
html.w486-on #gx-island-root>#gi-alert.gi-alert.w486-drag{transition:none!important}
html.w486-on #gx-island-root>#gi-alert.gi-alert::after{display:none!important}
/* 应用图标：用岛自己给的头像字（data-gx-av），空的补品牌字 */
html.w486-on #gx-island-root>#gi-alert.gi-alert::before{content:attr(data-w486-av)!important;position:absolute!important;left:14px!important;top:13px!important;
  width:34px!important;height:34px!important;border-radius:9px!important;border:0!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  font:600 16px/1 -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif!important;
  color:#e7cf95!important;background:linear-gradient(160deg,#26386a,#0e1733)!important;
  box-shadow:inset 0 0 0 .5px rgba(224,196,134,.6),0 1px 2px rgba(0,0,0,.4)!important}
html.w486-on #gx-island-root>#gi-alert.gi-alert[data-gx-kind="voice"]::before{color:#1b2233!important;background:linear-gradient(145deg,#f0d696,#c9a86a)!important;
  box-shadow:0 1px 2px rgba(0,0,0,.4)!important}
/* 顶行：应用名 + 「现在」 */
html.w486-on #gx-island-root>#gi-alert.gi-alert .gi-al-k{margin:0!important;padding:0 52px 0 0!important;
  font:600 13px/18px -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif!important;letter-spacing:0!important;
  color:#e0c486!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
html.w486-on #gx-island-root>#gi-alert.gi-alert .w486-now{position:absolute;top:12px;right:14px;
  font:400 12px/18px -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;color:#b7c1d3;letter-spacing:0}
/* 正文 */
html.w486-on #gx-island-root>#gi-alert.gi-alert .gi-al-t{margin:2px 0 0!important;padding:0!important;background:none!important;border:0!important;border-radius:0!important;
  font:400 13px/1.46 -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif!important;color:#e9edf5!important;
  display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden!important}
html.w486-on #gx-island-root>#gi-alert.gi-alert .gi-al-t[hidden]{display:none!important}
/* 动作：右下角紧凑药丸 */
html.w486-on #gx-island-root>#gi-alert.gi-alert .gi-al-b{display:flex!important;justify-content:flex-end!important;gap:8px!important;margin:9px 0 0!important}
html.w486-on #gx-island-root>#gi-alert.gi-alert .gi-al-b:not(:has(#gi-al-go:not([hidden]))){display:none!important}
html.w486-on #gx-island-root>#gi-alert.gi-alert #gi-al-go{flex:0 0 auto!important;height:32px!important;min-height:32px!important;min-width:32px!important;
  padding:0 14px!important;border-radius:16px!important;border:0!important;
  font:600 12.5px/32px -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif!important;
  background:#c9a86a!important;color:#0b1630!important;animation:none!important;cursor:pointer;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.25)!important}
html.w486-on #gx-island-root>#gi-alert.gi-alert #gi-al-go:hover{background:#d6b87c!important}
/* 关闭：悬停才出现在左上角的小圆 ×（和 macOS 一样）；命中区 32px */
html.w486-on #gx-island-root>#gi-alert.gi-alert #gi-al-x{position:absolute!important;left:-10px!important;top:-10px!important;z-index:7!important;
  width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;
  margin:0!important;padding:0!important;border:0!important;border-radius:50%!important;flex:none!important;
  background:none!important;box-shadow:none!important;animation:none!important;
  font-size:0!important;line-height:0!important;color:transparent!important;cursor:pointer;
  opacity:0;pointer-events:none!important;transition:opacity .15s ease!important}
html.w486-on #gx-island-root>#gi-alert.gi-alert #gi-al-x::before{content:"";position:absolute;left:6px;top:6px;width:20px;height:20px;border-radius:50%;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M2 2l6 6M8 2L2 8' stroke='%23e9edf5' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") center/9px 9px no-repeat,rgb(62,72,102);
  box-shadow:0 0 0 .5px rgba(255,255,255,.28),0 1px 4px rgba(0,0,0,.45)}
html.w486-on #gx-island-root>#gi-alert.gi-alert:hover #gi-al-x,html.w486-on #gx-island-root>#gi-alert.gi-alert:focus-within #gi-al-x{opacity:1!important;pointer-events:auto!important}
html.w486-on #gx-island-root>#gi-alert.gi-alert #gi-al-x:hover::before{background-color:rgb(82,94,128)}
/* 英文站 W446 自己的消息框 #w446-msg：同一身 macOS 横幅、同一套边距（z-index 仍用 W446 自己的） */
html.w486-on #w446-msg{position:fixed!important;left:auto!important;top:auto!important;
  right:var(--w486-r,24px)!important;bottom:var(--w486-b,24px)!important;
  width:360px!important;max-width:calc(100vw - 48px)!important;box-sizing:border-box!important;
  margin:0!important;padding:12px 14px 12px 60px!important;border:0!important;border-radius:18px!important;overflow:visible!important;
  background:linear-gradient(180deg,rgba(30,42,78,.88) 0%,rgba(14,21,44,.92) 100%)!important;
  -webkit-backdrop-filter:blur(30px) saturate(1.8)!important;backdrop-filter:blur(30px) saturate(1.8)!important;
  box-shadow:inset 0 0 0 .5px rgba(255,255,255,.2),inset 0 1px 0 rgba(255,255,255,.08),0 0 0 .5px rgba(0,0,0,.5),
    0 12px 32px -8px rgba(2,8,24,.55),0 3px 10px -2px rgba(2,8,24,.35)!important;
  color:#eef2f8!important;cursor:default;-webkit-user-select:none;user-select:none;touch-action:pan-y;
  transform:translate3d(calc(100% + var(--w486-r,24px) + 24px),0,0)!important;
  opacity:0!important;visibility:hidden!important;pointer-events:none!important;
  transition:transform .36s cubic-bezier(.4,0,.9,.6),opacity .3s ease,visibility 0s linear .36s,bottom .3s cubic-bezier(.3,.7,.2,1),right .3s cubic-bezier(.3,.7,.2,1)!important}
html.w486-on #w446-msg.w446-on{transform:translate3d(0,0,0)!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;
  transition:transform .42s cubic-bezier(.2,1.18,.32,1),opacity .2s ease,visibility 0s,bottom .3s cubic-bezier(.3,.7,.2,1),right .3s cubic-bezier(.3,.7,.2,1)!important}
html.w486-on #w446-msg.w486-drag{transition:none!important}
html.w486-on #w446-msg .w446-av{left:14px!important;top:13px!important;width:34px!important;height:34px!important;border-radius:9px!important;border:0!important;
  font:600 16px/1 -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif!important;
  color:#e7cf95!important;background:linear-gradient(160deg,#26386a,#0e1733)!important;
  box-shadow:inset 0 0 0 .5px rgba(224,196,134,.6),0 1px 2px rgba(0,0,0,.4)!important}
html.w486-on #w446-msg[data-w446-kind="voice"] .w446-av{color:#1b2233!important;background:linear-gradient(145deg,#f0d696,#c9a86a)!important;box-shadow:0 1px 2px rgba(0,0,0,.4)!important}
html.w486-on #w446-msg .w446-k{padding:0 52px 0 0!important;font:600 13px/18px -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif!important;
  letter-spacing:0!important;text-transform:none!important;color:#e0c486!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
html.w486-on #w446-msg .w446-t{margin:2px 0 0!important;padding:0!important;background:none!important;border:0!important;border-radius:0!important;
  font:400 13px/1.46 -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif!important;color:#e9edf5!important;
  display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden!important}
html.w486-on #w446-msg .w446-row{justify-content:flex-end!important;gap:8px!important;margin:9px 0 0!important}
html.w486-on #w446-msg .w446-row:not(:has(.w446-go:not([hidden]))){display:none!important}
html.w486-on #w446-msg .w446-go{height:32px!important;min-height:32px!important;padding:0 14px!important;border-radius:16px!important;
  font:600 12.5px/32px -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif!important;letter-spacing:0!important;
  background:#c9a86a!important;color:#0b1630!important;animation:none!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.25)!important}
html.w486-on #w446-msg .w446-go:hover{background:#d6b87c!important}
html.w486-on #w446-msg .w446-cd{display:none!important}
html.w486-on #w446-msg .w486-now{position:absolute;top:12px;right:14px;
  font:400 12px/18px -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;color:#b7c1d3;letter-spacing:0}
html.w486-on #w446-msg .w486-x{position:absolute;left:-10px;top:-10px;z-index:7;width:32px;height:32px;margin:0;padding:0;border:0;border-radius:50%;
  background:none;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .15s ease;-webkit-appearance:none;appearance:none}
html.w486-on #w446-msg .w486-x::before{content:"";position:absolute;left:6px;top:6px;width:20px;height:20px;border-radius:50%;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M2 2l6 6M8 2L2 8' stroke='%23e9edf5' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") center/9px 9px no-repeat,rgb(62,72,102);
  box-shadow:0 0 0 .5px rgba(255,255,255,.28),0 1px 4px rgba(0,0,0,.45)}
html.w486-on #w446-msg:hover .w486-x,html.w486-on #w446-msg:focus-within .w486-x{opacity:1;pointer-events:auto}
html.w486-on #w446-msg .w486-x:hover::before{background-color:rgb(82,94,128)}
html.w486-on #w446-msg .w486-x:focus-visible{outline:2px solid #c9a86a;outline-offset:0}
/* 胶囊留在原地，不因为来了通知就藏起来 */
html.w486-on #gx-island[data-state=alert] .gi-cap{opacity:1!important;transform:none!important;pointer-events:auto!important}
/* 默认坞：右上角、页眉下方（--w486-it / --w486-ir 由脚本按真实页眉量出） */
html.w486-on #gx-island[data-w486-top="1"]:not([data-dragging="1"]){left:auto!important;right:var(--w486-ir,24px)!important;top:var(--w486-it,94px)!important;bottom:auto!important;
  max-width:none!important;transform:translate3d(0,-8px,0)!important}
html.w486-on #gx-island[data-w486-top="1"]:not([data-dragging="1"]).on{transform:none!important}
html.w486-on #gx-island[data-w486-top="1"]:not([data-dragging="1"])[data-state=expanded]{z-index:101!important}
html.w486-on #gx-island[data-w486-top="1"]:not([data-dragging="1"]) .gi-sheet{left:auto!important;right:0!important;top:0!important;bottom:auto!important;
  transform-origin:100% 0!important;transform:translate3d(0,-10px,0) scale(.96)!important;
  max-height:calc(100vh - var(--w486-it,94px) - 16px)!important;overflow-y:auto!important;overscroll-behavior:contain}
html.w486-on #gx-island[data-w486-top="1"]:not([data-dragging="1"])[data-state=expanded] .gi-sheet{transform:none!important}
html.w486-on #gx-island[data-w486-top="1"]:not([data-dragging="1"]) .w443-morph{left:auto!important;right:0!important;top:0!important;bottom:auto!important;transform:none!important}
}
@media (min-width:1024px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
html.w486-on #gx-island[data-w486-top="1"]:not([data-dragging="1"]){transition:opacity .5s ease,transform .6s var(--gi-ease),top .35s var(--gi-ease),right .35s var(--gi-ease)!important}
}
@media (min-width:1024px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:reduce){
html.w486-on #gx-island-root>#gi-alert.gi-alert,html.w486-on #gx-island-root[data-w486="alert"]>#gi-alert.gi-alert,html.w486-on #w446-msg,html.w486-on #w446-msg.w446-on{transform:none!important;transition:opacity .2s ease,visibility 0s linear .2s!important}
html.w486-on #gx-island-root[data-w486="alert"]>#gi-alert.gi-alert,html.w486-on #w446-msg.w446-on{transition:opacity .2s ease,visibility 0s!important}
}
@media (min-width:1024px) and (hover:hover) and (pointer:fine) and (prefers-reduced-transparency:reduce){
html.w486-on #gx-island-root>#gi-alert.gi-alert,html.w486-on #w446-msg{background:rgb(20,30,58)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
}

body>.gr-drum .gr-foot{padding-top:12px!important;padding-bottom:12px!important;position:relative}
body>.gr-drum .gr-scale{height:26px!important;cursor:grab;touch-action:none;outline:none}
body>.gr-drum .gr-scale>i{top:10px!important}
body>.gr-drum .gr-scale>i.on{top:6px!important;height:14px!important}
body>.gr-drum .gr-scale::before{content:"";position:absolute;left:0;right:0;top:12px;height:2px;border-radius:2px;background:rgba(255,255,255,.06)}
body>.gr-drum .gr-scale:hover>i{background:rgba(232,236,245,.55)}
body>.gr-drum .w497-knob{position:absolute;top:50%;left:var(--w497-p,0%);width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#fff3cf,#e6c982 55%,#b8924a);box-shadow:0 0 0 3px rgba(230,201,130,.18),0 2px 8px rgba(0,0,0,.45);
  pointer-events:none;transition:left .18s cubic-bezier(.32,.72,0,1),transform .15s}
body>.gr-drum .gr-scale.w497-drag{cursor:grabbing}
body>.gr-drum .gr-scale.w497-drag .w497-knob{transition:none;transform:scale(1.25)}
body>.gr-drum .w497-bub{position:absolute;bottom:calc(100% + 8px);left:var(--w497-p,0%);transform:translateX(-50%);max-width:220px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:5px 10px;border-radius:9px;background:rgba(9,18,44,.96);
  border:1px solid rgba(230,201,130,.35);color:#f3e6c6;font:600 12px/1.3 -apple-system,"PingFang SC",sans-serif;letter-spacing:.02em;
  opacity:0;pointer-events:none;transition:opacity .15s}
body>.gr-drum .gr-scale.w497-drag .w497-bub,body>.gr-drum .gr-scale:focus-visible .w497-bub{opacity:1}
body>.gr-drum .gr-scale:focus-visible{box-shadow:0 0 0 2px rgba(230,201,130,.7);border-radius:6px}
body>.gr-drum .w497-hint{display:block;text-align:center;padding:0 15px 10px;margin-top:-4px;font:500 11px/1.4 -apple-system,"PingFang SC",sans-serif;
  letter-spacing:.08em;color:rgba(230,201,130,.92);opacity:0;transform:translateY(-4px);transition:opacity .35s,transform .35s}
body>.gr-drum .w497-hint.on{opacity:1;transform:none}
@media (pointer:coarse){body>.gr-drum .gr-scale{height:44px!important}body>.gr-drum .gr-scale>i{top:19px!important}body>.gr-drum .gr-scale>i.on{top:15px!important}body>.gr-drum .gr-scale::before{top:21px}body>.gr-drum .w497-knob{width:18px;height:18px;margin:-9px 0 0 -9px}}
@media (prefers-reduced-motion:reduce){body>.gr-drum .w497-knob,body>.gr-drum .w497-hint{transition:none}}

#gi-alert,#w446-msg{touch-action:manipulation}
#gi-alert.w486-drag,#w446-msg.w486-drag{transform:none!important;opacity:1!important}
#gi-alert .w521-line{position:absolute;left:18px;right:18px;bottom:7px;height:1.5px;border-radius:2px;pointer-events:none;overflow:hidden;
  background:rgba(255,255,255,.08)}
#gi-alert .w521-line>i{position:absolute;inset:0;transform-origin:left center;background:linear-gradient(90deg,#c9a86a,#f0d49a);opacity:.75}
#gx-island[data-state=alert] #gi-alert .w521-line>i{animation:w521run var(--w521-ttl,5000ms) linear forwards}
#gi-alert:hover .w521-line>i,#gi-alert:focus-within .w521-line>i{animation-play-state:paused}
@keyframes w521run{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@media (prefers-reduced-motion:reduce){#gi-alert .w521-line{display:none}}

/* ══ A · 声音行 ══════════════════════════════════════════════ */
/* 岛在没有声音可选时给 #gi-voice-row 挂 hidden 属性（UA 样式 display:none）。
   我们填了内容才顶回来；只顶 display，不碰 visibility，
   否则面板收起时这一行会漏出来。 */
#gi-voice-row.w443-live{display:block!important}
/* 岛的 .gi-seg 写的是 display:flex!important / margin:0!important，
   行内 style 压不过它 —— 隐藏和间距都必须走带 !important 的类。 */
#gi-voice-row .w443-seg.w443-hide{display:none!important}
#gi-voice-row .w443-seg.w443-lang{margin-top:6px!important}
/* 中文页现在是三把声音并排（云健/云扬/晓晓），英文两把。
   按钮吃岛自己的 .gi-seg button 皮，这里只补三联排挤得下所需的收敛。 */
#gi-voice button.w443-v{position:relative;min-width:0;padding-left:2px;padding-right:2px}
#gi-voice button.w443-v>b{display:block;font-weight:600;
 white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#gi-voice button.w443-v>small{display:block;font:500 9.5px/1.25 -apple-system,"PingFang SC",sans-serif;
 opacity:.62;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#gi-voice button.w443-v:focus-visible{outline:2px solid #c9a86a;outline-offset:-2px}
#w443-msg{margin:6px 0 0;font:500 11px/1.5 -apple-system,"PingFang SC",sans-serif;
 color:#9aa8c2}
#w443-msg:empty{margin:0}
#w443-msg.warn{color:#d8b872}
body>#w443-fallback{position:fixed;right:14px;bottom:120px;z-index:93;
 display:flex;gap:3px;padding:3px;border-radius:999px;
 border:1px solid rgba(201,168,106,.28);background:rgba(9,15,31,.88);
 backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
 opacity:0;transform:translateY(6px);transition:opacity .6s ease,transform .6s ease}
body>#w443-fallback.on{opacity:1;transform:none}
body>#w443-fallback button{padding:6px 11px;border:0;border-radius:999px;
 background:transparent;color:#cdd8ec;cursor:pointer;
 font:600 11.5px/1 -apple-system,"PingFang SC",sans-serif}
body>#w443-fallback button[aria-checked=true]{background:rgba(201,168,106,.9);color:#0a1428}
body>#w443-fallback button:focus-visible{outline:2px solid #c9a86a;outline-offset:2px}
body>#w443-fallback.w443-hide{display:none}

/* ══ B · 庚辛岛 iOS 式交互 ═══════════════════════════════════ */
/* 1. 统一 spring：岛所有位移/缩放共用这一条（轻微过冲，收得住） */
#gx-island-root.w443-isl{--gi-ease:cubic-bezier(.32,.86,.28,1.06)}

/* 2. 真形变层：和胶囊、面板同在 #gx-island 这个居中 fixed 容器里，
      所以只插值宽/高/圆角就够，位置自动对齐 */
#gx-island .w443-morph{position:absolute;left:50%;bottom:0;
 transform:translateX(-50%);pointer-events:none;z-index:0;opacity:0;
 background:var(--gi-glass,rgba(9,15,31,.8));
 -webkit-backdrop-filter:blur(24px) saturate(1.6);backdrop-filter:blur(24px) saturate(1.6);
 box-shadow:inset 0 0 0 .5px var(--gi-hair,rgba(255,255,255,.1)),
 0 12px 32px -10px rgba(2,8,24,.5);
 will-change:width,height,border-radius,opacity}
/* 形变进行中把胶囊和面板的底压掉，免得三层底叠在一起发灰 */
#gx-island.w443-morphing .gi-cap{box-shadow:none;background:transparent}
#gx-island.w443-morphing .gi-sheet{box-shadow:none;background:transparent}

/* 3/4. 跟手：拖动中关掉过渡，松手再交还给 spring */
#gx-island.w443-drag .gi-cap{transition:none!important}

/* 5. 长按托住：一圈很淡的持握环，不是边框，是呼吸 */
#gx-island.w443-hold .gi-cap{box-shadow:inset 0 0 0 .5px var(--gi-hair,rgba(255,255,255,.1)),
 0 0 0 6px rgba(201,168,106,.10),0 12px 32px -10px rgba(2,8,24,.5)}

/* 6. 播放中的活条：接管岛那三根条，改由 rAF 给高度 */
#gx-island.w443-eq .gi-eq i{animation:none!important;
 transition:height .09s linear}

/* 7. 落定反馈：微弹 + 一道极短的高光掠过（代替 haptic） */
@keyframes w443-settle{0%{transform:scale(1)}38%{transform:scale(1.018)}100%{transform:scale(1)}}
#gx-island.w443-settle .gi-cap{animation:w443-settle .34s cubic-bezier(.32,.86,.28,1.06)}
#gx-island .w443-sheen{position:absolute;inset:0;border-radius:inherit;pointer-events:none;
 overflow:hidden;opacity:0;z-index:2}
#gx-island .w443-sheen::after{content:"";position:absolute;top:0;bottom:0;width:38%;
 left:-45%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.13),transparent)}
@keyframes w443-sheen{0%{opacity:0}12%{opacity:1}100%{opacity:0}}
@keyframes w443-sheen-x{0%{left:-45%}100%{left:112%}}
#gx-island .w443-sheen.on{animation:w443-sheen .5s linear}
#gx-island .w443-sheen.on::after{animation:w443-sheen-x .5s cubic-bezier(.4,0,.3,1)}

/* 收敛：动效全部让位给 reduced-motion（岛自己也有一条全局 none） */
@media (prefers-reduced-motion:reduce){
 body>#w443-fallback{transition:none;opacity:1;transform:none}
 #gx-island .w443-morph{display:none!important}
 #gx-island .w443-sheen{display:none!important}
 #gx-island.w443-settle .gi-cap{animation:none!important}
 #gx-island.w443-eq .gi-eq i{transition:none!important}}
@media print{body>#w443-fallback{display:none}}
/* W394 · 庚辛信条，全站统一。首页整屏，内页条带。 */
.gx-w394{background:#071b42;color:#f2f2f5;box-sizing:border-box;margin:0;position:relative;
 border-top:1px solid rgba(196,164,107,.28);border-bottom:1px solid rgba(196,164,107,.28)}
.gx-w394-in{width:100%;max-width:1240px;margin:0 auto;padding:0 max(22px,4vw);box-sizing:border-box}
.gx-w394-k{margin:0 0 14px;font:700 11px/1.4 Poppins,-apple-system,sans-serif;
 letter-spacing:.24em;text-transform:uppercase;color:#c4a46b}
.gx-w394-t{margin:0 0 18px;padding:0;border:0;color:#fff;font-weight:800;letter-spacing:-.025em;line-height:1.18;
 font-family:"Songti SC","Noto Serif SC","Source Han Serif SC",Georgia,serif}
.gx-w394-t .nb{display:block}
.gx-w394-t em{font-style:normal;color:#c4a46b}
.gx-w394-b{margin:0 0 20px;padding:16px 0 0;border-top:1px solid rgba(196,164,107,.28);
 color:#aebcd6;line-height:1.85;max-width:40em}
.gx-w394-c{margin:0;color:#e7ecf5;line-height:1.72;max-width:40em}
.gx-w394-c em{font-style:normal;color:#f6d67c;font-weight:700}
.gx-w394--full{display:flex;flex-direction:column;justify-content:center;padding:44px 0 40px;
 min-height:calc(100vh - var(--gx-hdr,100px));min-height:calc(100svh - var(--gx-hdr,100px))}
.gx-w394--full .gx-w394-t{font-size:clamp(28px,3.4vw,49px)}
.gx-w394--full .gx-w394-b{font-size:16px}
.gx-w394--full .gx-w394-c{font-size:18px}
.gx-w394--band{padding:clamp(40px,6vh,72px) 0}
.gx-w394--band .gx-w394-t{font-size:clamp(21px,2.3vw,31px)}
.gx-w394--band .gx-w394-b{font-size:15px}
.gx-w394--band .gx-w394-c{font-size:16px}
/* W396 · 信条补全 + 整块可点 */
.gx-w394 a.gx-w394-link{display:block;text-decoration:none;color:inherit}
.gx-w394 a.gx-w394-link:hover .gx-w394-t{color:#fff}
.gx-w394 a.gx-w394-link:focus-visible{outline:2px solid #c4a46b;outline-offset:6px}
.gx-w394-echo{margin:0 0 4px;color:#c4a46b;font-weight:700;letter-spacing:.01em}
.gx-w394--full .gx-w394-echo{font-size:clamp(17px,1.5vw,22px)}
.gx-w394--band .gx-w394-echo{font-size:15px}
.gx-w394-go{margin:22px 0 0;font:700 12px/1 Poppins,-apple-system,sans-serif;
 letter-spacing:.22em;text-transform:uppercase;color:#c4a46b}
.gx-w394-go span{border-bottom:1px solid rgba(196,164,107,.5);padding-bottom:4px}
.gx-w394 a.gx-w394-link:hover .gx-w394-go span{border-bottom-color:#f6d67c;color:#f6d67c}

/* ── W441 齿轮章节轮 ─────────────────────────────────────────── */
:root{--gr-gold:#c4a46b;--gr-gold2:#e6c982}

/* 表冠：中段右侧，小而不吵 */
body>#gr-crown{
  position:fixed;right:14px;top:50%;transform:translateY(-50%);z-index:100;
  width:38px;height:38px;padding:0;border-radius:50%;cursor:pointer;
  display:grid;place-items:center;appearance:none;
  border:.5px solid rgba(196,164,107,.42);
  background:rgba(7,21,53,.72);color:#e6d3a6;
  -webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);
  box-shadow:0 6px 18px -10px rgba(0,0,0,.7);
  transition:border-color .2s,background .2s,box-shadow .2s,opacity .25s}
body>#gr-crown:hover{border-color:rgba(196,164,107,.8);background:rgba(9,26,63,.88)}
body>#gr-crown[aria-expanded="true"]{border-color:var(--gr-gold);background:rgba(9,26,63,.94)}
body>#gr-crown .gr-tip{
  position:absolute;right:46px;top:50%;transform:translateY(-50%) translateX(5px);
  white-space:nowrap;font-size:10.5px;letter-spacing:.15em;text-transform:uppercase;
  color:rgba(232,236,245,.82);background:rgba(7,21,53,.9);
  border:.5px solid rgba(196,164,107,.3);border-radius:4px;padding:3px 8px;
  opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
body>#gr-crown:hover .gr-tip,body>#gr-crown:focus-visible .gr-tip{opacity:1;transform:translateY(-50%) translateX(0)}
@media(max-width:760px){body>#gr-crown{right:10px;width:34px;height:34px}
  body>#gr-crown .gr-tip{display:none}}
@media print{body>#gr-crown,body>.gr-drum{display:none!important}}

/* 书页底栏上的那一只（沿用原 目录 位置） */
#bk-bar .bkb-toc>summary{
  display:flex;align-items:center;gap:7px;padding:5px 11px 5px 6px;
  border-color:rgba(196,164,107,.30)}
#bk-bar .bkb-toc>summary .gr-lab{
  font-size:11.5px;letter-spacing:.14em;color:rgba(232,236,245,.72);
  font-variant-numeric:tabular-nums}
#bk-bar .bkb-toc>summary .gr-lab b{font-weight:600;color:#e6d3a6;letter-spacing:.02em}

/* 齿轮本体 */
.gr-gear{position:relative;width:26px;height:26px;flex:0 0 auto;display:block}
body>#gr-crown .gr-gear{width:22px;height:22px}
.gr-gear svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.gr-teeth{transform-origin:50% 50%}                 /* 连续读数，不加过渡 */
.gr-ring{transform-origin:50% 50%;
  transition:transform .46s cubic-bezier(.16,1.02,.3,1)}   /* 跨章跳一格，带擒纵 */
.gr-jewel{transform-origin:50% 50%}
[data-gr-open] .gr-jewel{animation:gr-beat 2s steps(1,end) infinite}
@keyframes gr-beat{0%,49%{opacity:1}50%,100%{opacity:.34}}

/* ── 转鼓：中段右侧 ── */
body>.gr-drum{
  position:fixed;right:62px;left:auto;top:50%;bottom:auto;
  transform:translateY(-50%);transform-origin:100% 50%;
  z-index:101;width:296px;min-width:0;padding:0;overflow:hidden;border-radius:15px;
  border:1px solid rgba(196,164,107,.26);
  background:linear-gradient(180deg,rgba(6,18,46,.985),rgba(5,14,36,.985));
  box-shadow:0 26px 60px -24px rgba(0,0,0,.92),inset 0 1px 0 rgba(255,255,255,.07);
  max-height:none;display:none}
body>.gr-drum.gr-show{display:block;
  animation:gr-in .32s cubic-bezier(.16,1.02,.3,1) both}
@keyframes gr-in{
  from{opacity:0;transform:translateY(-50%) translateX(14px) scale(.97)}
  to  {opacity:1;transform:translateY(-50%) translateX(0)    scale(1)}}
/* 没有表冠时（书页），转鼓贴右边 */
body.gr-nocrown>.gr-drum{right:18px}
/* 表冠刻牌 */
body>.gr-drum .gr-cap{display:flex;align-items:baseline;justify-content:space-between;
  padding:9px 15px 8px;border-bottom:.5px solid rgba(255,255,255,.09);
  font-size:10px;letter-spacing:.18em;color:rgba(232,236,245,.42);text-transform:uppercase}
body>.gr-drum .gr-cap b{font-weight:600;letter-spacing:.06em;font-size:11px;color:#e6d3a6;
  text-transform:none}
/* 左侧目录轨（W444）被拖到右边时，表冠和转鼓整体让开它的宽度。
   W444 不在场时 --rl-w 取默认 0px，这两条等于不存在。 */
html[data-rail-side="right"] body>#gr-crown{right:calc(14px + var(--rl-w,0px) + 10px)}
html[data-rail-side="right"] body>.gr-drum{right:calc(62px + var(--rl-w,0px) + 10px)}
/* W441 真正挂上之后，才隐藏 W92 那颗白色 ≡ —— 没挂上就别动它，免得一页没有目录入口。
   这是临时位：W451 浮窗入口上线后会正式接管，届时这条可以删。 */
html[data-gr-ready] #w92-toc{display:none!important}
/* 开着的时候，OS 通知让一让 */
html[data-gr-open] #gx-island,html[data-gr-open] #gi-scrim{
  opacity:.14!important;pointer-events:none!important;transition:opacity .25s}

body>.gr-drum .gr-case{position:relative;height:190px;overflow:hidden;
  perspective:620px;perspective-origin:50% 50%;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 26%,#000 74%,transparent);
          mask-image:linear-gradient(180deg,transparent,#000 26%,#000 74%,transparent)}
body>.gr-drum .gr-stage{position:absolute;inset:0;transform-style:preserve-3d;
  transition:transform .46s cubic-bezier(.16,1.02,.3,1)}
/* 圆柱轴心推到 z=-R，正中那一格正好落在 z=0，不被透视放大 */
body>.gr-drum .gr-stage.gr-drag{transition:none}
body>.gr-drum a.gr-it{
  position:absolute;left:0;right:0;top:50%;height:38px;margin-top:-19px;
  display:flex;align-items:center;gap:11px;padding:0 22px 0 16px;border-radius:0;
  color:#cfd7e6;text-decoration:none;font-size:13.5px;white-space:nowrap;
  background:none;backface-visibility:hidden;transform-style:preserve-3d}
body>.gr-drum a.gr-it:hover{background:none}
body>.gr-drum a.gr-it>i{font-style:normal;font-size:10.5px;letter-spacing:.1em;
  color:rgba(196,164,107,.78);font-variant-numeric:tabular-nums;
  width:20px;flex:0 0 auto;text-align:right}
body>.gr-drum a.gr-it>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;
  letter-spacing:.01em}
body>.gr-drum a.gr-it>em{font-style:normal;font-size:10.5px;
  color:rgba(232,236,245,.38);font-variant-numeric:tabular-nums;flex:0 0 auto}
body>.gr-drum a.gr-it.on{color:#f5e9cd}
body>.gr-drum a.gr-it.on>i{color:var(--gr-gold2)}
body>.gr-drum a.gr-it.on>em{color:rgba(232,236,245,.58)}
/* 走针窗 */
body>.gr-drum .gr-win{position:absolute;left:0;right:0;top:50%;height:38px;margin-top:-19px;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(196,164,107,.055),rgba(196,164,107,.02) 60%,transparent);
  border-top:.5px solid rgba(196,164,107,.52);
  border-bottom:.5px solid rgba(196,164,107,.52)}
body>.gr-drum .gr-win::before,body>.gr-drum .gr-win::after{
  content:"";position:absolute;top:50%;width:1.5px;height:11px;margin-top:-5.5px;
  background:var(--gr-gold);border-radius:1px}
body>.gr-drum .gr-win::before{left:5px}
body>.gr-drum .gr-win::after{right:5px}
/* 序号与篇名之间的发丝分栏线 */
body>.gr-drum .gr-case::after{content:"";position:absolute;left:47px;top:14px;bottom:14px;
  width:.5px;background:linear-gradient(180deg,transparent,rgba(255,255,255,.12),transparent);
  pointer-events:none}
/* 底部刻度尺 */
body>.gr-drum .gr-foot{display:flex;align-items:center;gap:10px;padding:8px 15px 9px;
  border-top:.5px solid rgba(255,255,255,.09);
  font-size:10px;letter-spacing:.16em;color:rgba(232,236,245,.4);
  font-variant-numeric:tabular-nums}
body>.gr-drum .gr-scale{flex:1;height:9px;position:relative}
body>.gr-drum .gr-scale>i{position:absolute;top:3px;width:1px;height:3px;
  background:rgba(232,236,245,.3);transition:height .3s,background .3s,top .3s,box-shadow .3s}
body>.gr-drum .gr-scale>i.on{top:0;height:9px;background:var(--gr-gold2);
  box-shadow:0 0 5px rgba(230,201,130,.8)}
body>.gr-drum .gr-now{color:var(--gr-gold2);letter-spacing:.08em}

body>#gr-crown:focus-visible,body>.gr-drum a.gr-it:focus-visible{
  outline:1.5px solid var(--gr-gold2);outline-offset:2px}
@media(prefers-reduced-motion:reduce){
  body>.gr-drum .gr-stage,.gr-ring{transition:none}
  body>.gr-drum.gr-show{animation:none}
  [data-gr-open] .gr-jewel{animation:none}}
@media(max-width:760px){
  body>.gr-drum{right:52px;width:min(296px,calc(100vw - 72px))}
  body.gr-nocrown>.gr-drum{right:12px;width:min(296px,calc(100vw - 24px))}
  #bk-bar .bkb-toc>summary .gr-lab{display:none}}
@media(max-height:470px){body>.gr-drum .gr-case{height:152px}}

/* W493 · 浮动件版面秩序。标记全由本层脚本挂在 <html> 上（data-w493-*），不靠 :has、不靠源码顺序。
   层级梯（不改数值，只写下来）：60 顶部阅读栏 · 70 字数签 · 90 阅读位置药丸 · 95 底部阅读栏 · 96 左轨
   · 97 三站切换 · 98 ▦/遮罩 · 99 岛 · 100 页眉/章节盘 · 101 转鼓/桌面展开的岛 · 120 通知 · 覆盖层（主屏/明信片）最上 */

/* ① 去重：章节盘在场时，右缘那对「上一章/下一章」隐形箭头（桌面悬停才显，触屏上常驻透明却吃点击）不再出 */
html[data-w493-dial] body .gx-page-arrow{display:none!important}
/* ② 去重：书页底栏在场时，右下「↑ 目录」药丸（被底栏整个压在下面，底栏自带「目录」）不再出 */
html[data-w493-bkbar="1"] body a.bk-up{display:none!important}
/* ③ 去重：≤820 有岛的页，三站切换（岛面板里已有 研究院/资本/人生）不再单独浮一条——W416 原意，研究院页漏了 */
@media (max-width:820px){html[data-w493-island] body #gx-w405{display:none!important}}
/* ④ 去重：≤640 阅读位置药丸（首页 W399 已藏 #gx-totem，门页的 .gx-nav 同理）；章节盘 + 岛已覆盖「分幕/回页首/进度」 */
@media (max-width:640px){html[data-w493-island] body [data-w493-role="pill"]{display:none!important}}
/* ⑤ 顶部阅读栏右侧给三站切换留位，不再压住栏里的链接 */
@media (min-width:821px){
 html[data-w493-w405] body #arc-top{padding-right:calc(var(--w493-w405w,176px) + 28px)!important;box-sizing:border-box!important}
 html[data-w493-w405] body #arc-top .arc-nav{min-width:0!important;flex-shrink:1!important}
 html[data-w493-w405] body nav.bk-top{padding-right:calc(var(--w493-w405w,176px) + 28px)!important;box-sizing:border-box!important}
}
/* ⑥ 桌面：岛已在右上角页眉下，转鼓在右侧中段，两者不相交——W434 那条「转鼓开时岛 .14」在桌面顶坞不再生效 */
@media (min-width:1024px) and (hover:hover) and (pointer:fine){
 html.w486-on[data-gr-open] body #gx-island.on[data-w486-top="1"]:not([data-dragging="1"]){opacity:1!important;pointer-events:auto!important}
}
/* ⑥b 桌面首屏章节盘还没「上膛」（W451：滚过一屏才出现）时，外壳本身 38×38 透明却吃点击——让它点穿 */
@media (hover:hover) and (pointer:fine){html[data-w493] body #w451-dial[data-armed="0"]:not([data-open="1"]){pointer-events:none!important}}
/* ⑦ 让位：暂时性卡片（通知 / 岛展开）盖到常驻药丸时，药丸淡出而不是被压着露半截；升不上去的件也走这里 */
html body [data-w493-under="1"]{opacity:0!important;pointer-events:none!important;visibility:hidden!important}
/* ⑧ 触屏命中区 ≥44：只给浮动件里偏小的圆钮补一圈透明外延（不改外观、不改排版） */
@media (hover:none),(pointer:coarse){
 html[data-w493] body #bk-bar #bkb-mark,html[data-w493] body #bk-bar #bkb-aa,html[data-w493] body #ins-bar #insb-aa,
 html[data-w493] body .gx-nav .gx-nav-ring,html[data-w493] body #w451-dial .w451-pet{position:relative}
 html[data-w493] body #bk-bar #bkb-mark::after,html[data-w493] body #bk-bar #bkb-aa::after,html[data-w493] body #ins-bar #insb-aa::after,
 html[data-w493] body .gx-nav .gx-nav-ring::after,html[data-w493] body #w451-dial .w451-pet::after{
  content:"";position:absolute;left:50%;top:50%;width:44px;height:44px;min-width:100%;min-height:100%;
  transform:translate(-50%,-50%);border-radius:50%;background:transparent}
 html[data-w493] body .gx-nav details.gx-acttoc>summary,html[data-w493] body .gx-nav .gx-nav-toc>summary,
 html[data-w493] body #gx-totem details.gx-acttoc>summary,
 html[data-w493] body #gx-island #gi-al-go,html[data-w493] body #gx-island #gi-al-x,html[data-w493] body #w446-msg .w446-go{min-height:44px!important}
}
@media print{html body [data-w493-under="1"]{display:none!important}}

@media (max-width:820px){
 html.w527-hdr body #w487-btn{position:fixed!important;top:var(--w527-t,12px)!important;bottom:auto!important;left:auto!important;
  right:var(--w527-r,96px)!important;margin:0!important;translate:none!important;transform:none!important;
  height:40px!important;min-height:40px!important;z-index:101!important;transition:opacity .2s!important}
 html.w527-hdr body #w487-btn.w510-mag{translate:none!important}
 /* W493 的让位引擎把「和页眉相交」判成被盖住而藏起来（data-w493-under）——在页眉里是本层有意为之，要显 */
 html.w527-hdr body #w487-btn[data-w493-under="1"]{opacity:1!important;visibility:visible!important;pointer-events:auto!important}
}
@media (max-width:820px){
 html.w527-bar body #w487-btn{display:none!important}
 .w527-bar-apps{flex:0 0 auto;display:inline-grid;place-items:center;width:36px;height:36px;margin-right:8px;padding:0;border-radius:11px;
  border:1px solid rgba(196,164,107,.42);background:rgba(255,255,255,.07);cursor:pointer;-webkit-appearance:none;appearance:none;
  transition:background .15s,transform .15s cubic-bezier(.32,.72,0,1)}
 .w527-bar-apps:active{transform:scale(.92);background:rgba(196,164,107,.2)}
 .w527-bar-apps svg{width:16px;height:16px;display:block}
}
@media (min-width:821px){.w527-bar-apps{display:none!important}}

@view-transition{navigation:auto}
@keyframes w487-vt-in{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}
@keyframes w487-vt-hold{from{opacity:1}to{opacity:1}}
html:active-view-transition-type(w487-app)::view-transition-group(root){animation-duration:.5s}
html:active-view-transition-type(w487-app)::view-transition-old(root){animation:w487-vt-hold .5s linear both}
html:active-view-transition-type(w487-app)::view-transition-new(root){animation:w487-vt-in .5s cubic-bezier(.32,.72,0,1) both}
@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}

html.w487-lock,html.w487-lock body{overflow:hidden!important}
#w487-btn{position:fixed;left:calc(16px + env(safe-area-inset-left,0px));bottom:var(--w487-b,88px);z-index:98;
 width:48px;height:48px;border-radius:50%;padding:0;margin:0;border:1px solid rgba(226,204,154,.38);
 background:rgba(6,22,63,.74);-webkit-backdrop-filter:blur(14px) saturate(1.5);backdrop-filter:blur(14px) saturate(1.5);
 box-shadow:0 8px 24px -8px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.12);color:#e2cc9a;cursor:pointer;
 display:grid;place-items:center;-webkit-tap-highlight-color:transparent;
 transition:transform .35s cubic-bezier(.34,1.56,.64,1),opacity .4s ease,bottom .35s cubic-bezier(.32,.72,0,1);opacity:0;transform:scale(.8)}
#w487-btn.on{opacity:1;transform:none}
#w487-btn.on.away{opacity:0;transform:scale(.8);pointer-events:none}
#w487-btn:hover{border-color:rgba(226,204,154,.7)}
#w487-btn:active{transform:scale(.9)}
#w487-btn:focus-visible{outline:2px solid #e2cc9a;outline-offset:3px}
#w487-btn svg{width:20px;height:20px;display:block;fill:currentColor}
/* v2：九宫格加字，成一颗胶囊 —— 阿康：「提高这里的点击率」「看不到」 */
#w487-btn{width:auto;min-width:48px;height:46px;border-radius:23px;padding:0 16px 0 13px;display:flex;align-items:center;gap:8px;
 border-color:rgba(226,204,154,.62);background:linear-gradient(180deg,rgba(24,46,102,.86),rgba(6,22,63,.86));
 box-shadow:0 10px 28px -10px rgba(0,0,0,.6),0 0 0 1px rgba(226,204,154,.10),inset 0 1px 0 rgba(255,255,255,.16)}
#w487-btn .w487-bl{font:600 14px/1 -apple-system,BlinkMacSystemFont,"PingFang SC",Poppins,sans-serif;letter-spacing:.06em;color:#f0dcae;white-space:nowrap}
#w487-btn:hover{background:linear-gradient(180deg,rgba(33,60,128,.92),rgba(9,28,78,.92))}
#w487-btn.nudge::after{content:"";position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;animation:w487nudge 1.6s cubic-bezier(.32,.72,0,1) 3}
@keyframes w487nudge{0%{box-shadow:0 0 0 0 rgba(226,204,154,.55)}100%{box-shadow:0 0 0 14px rgba(226,204,154,0)}}
#w487-btn .w487-tip{position:absolute;left:calc(100% + 12px);top:50%;transform:translate(-6px,-50%);opacity:0;pointer-events:none;
 padding:9px 13px;border-radius:12px;background:rgba(255,255,255,.97);color:#0b1c45;font:600 13px/1.3 -apple-system,BlinkMacSystemFont,"PingFang SC",Poppins,sans-serif;
 white-space:nowrap;box-shadow:0 12px 30px -12px rgba(4,22,63,.5),0 0 0 1px rgba(4,22,63,.08);transition:opacity .35s ease,transform .45s cubic-bezier(.32,.72,0,1)}
#w487-btn .w487-tip::before{content:"";position:absolute;left:-5px;top:50%;width:10px;height:10px;margin-top:-5px;background:inherit;transform:rotate(45deg);border-radius:2px}
#w487-btn.tip .w487-tip{opacity:1;transform:translate(0,-50%)}
@media (max-width:420px){#w487-btn .w487-tip{white-space:normal;width:170px}}
@media (min-width:769px){#w487-btn{left:24px;height:42px;border-radius:21px}}
@media (prefers-reduced-motion:reduce){#w487-btn.nudge::after{animation:none}#w487-btn .w487-tip{transition:none}}
@media print{#w487-btn,#w487-home,.w487-zoom{display:none!important}}

#w487-home{position:fixed;inset:0;z-index:2147482000;color:#fff;overflow:hidden;
 font:500 13px/1.25 -apple-system,BlinkMacSystemFont,"SF Pro Text","PingFang SC","Helvetica Neue",Poppins,sans-serif;
 -webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;
 letter-spacing:normal;text-transform:none;text-align:left;touch-action:none;overscroll-behavior:contain}
#w487-home[hidden]{display:none!important}
#w487-home *{box-sizing:border-box}
#w487-home a{color:inherit;text-decoration:none;-webkit-user-drag:none}
#w487-home a:focus{outline:none}
#w487-home a:focus-visible .w487-tile,#w487-home a.w487-wg:focus-visible,#w487-home button:focus-visible{outline:2px solid #fff;outline-offset:3px}

/* 壁纸：深蓝 + 金光 + 北坡山脊 */
.w487-wall{position:absolute;inset:-40px;transition:opacity .45s ease,transform .6s cubic-bezier(.32,.72,0,1);
 background:
  radial-gradient(70% 45% at 82% 6%,rgba(226,204,154,.30),rgba(226,204,154,0) 70%),
  radial-gradient(80% 55% at 8% 92%,rgba(52,98,206,.36),rgba(52,98,206,0) 70%),
  radial-gradient(60% 40% at 50% 48%,rgba(18,52,138,.45),rgba(18,52,138,0) 75%),
  linear-gradient(180deg,#0c2358 0%,#04163f 46%,#020a22 100%)}
.w487-wall i{position:absolute;inset:0;display:block;transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.w487-wall svg{position:absolute;left:0;right:0;bottom:0;width:100%;height:34%;display:block}
.w487-wall .w487-sky{background:radial-gradient(1px 1px at 20% 30%,rgba(255,255,255,.55),transparent),radial-gradient(1px 1px at 70% 18%,rgba(255,255,255,.45),transparent),
 radial-gradient(1.2px 1.2px at 42% 12%,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 88% 40%,rgba(255,255,255,.35),transparent),
 radial-gradient(1px 1px at 12% 58%,rgba(255,255,255,.3),transparent),radial-gradient(1.2px 1.2px at 58% 34%,rgba(226,204,154,.55),transparent)}

.w487-stage{position:absolute;inset:0;transform-origin:50% 55%;transition:transform .5s cubic-bezier(.32,.72,0,1),opacity .35s ease}

/* 状态栏 */
.w487-sbar{position:absolute;left:0;right:0;top:0;height:calc(var(--sb,50px) + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) 22px 0 30px;
 display:flex;align-items:center;justify-content:space-between;font:600 15px/1 -apple-system,BlinkMacSystemFont,"SF Pro Text","PingFang SC",sans-serif;
 letter-spacing:-.01em;font-variant-numeric:tabular-nums;z-index:3;transition:opacity .35s ease}
.w487-sbar .w487-sl{display:flex;align-items:baseline;gap:10px}
.w487-sbar .w487-sd{font-weight:500;font-size:13px;opacity:.72}
.w487-sbar .w487-sr{display:flex;align-items:center;gap:6px}
.w487-sbar svg{display:block;fill:#fff}

/* 网格页 */
.w487-pager{position:absolute;left:0;right:0;top:calc(var(--sb,50px) + env(safe-area-inset-top,0px) + 10px);height:var(--ph,600px);
 display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x}
.w487-pager::-webkit-scrollbar{display:none}
.w487-page{flex:0 0 100%;height:100%;scroll-snap-align:start;scroll-snap-stop:always;display:grid;justify-content:center;align-content:var(--ac,start);
 grid-template-columns:repeat(var(--cols),var(--ic));grid-template-rows:repeat(var(--rows),var(--ch));column-gap:var(--gx);row-gap:var(--gy);overflow:hidden;padding-top:var(--pt,0px)}
.w487-app{display:flex;flex-direction:column;align-items:center;gap:6px;width:var(--ic);position:relative;cursor:pointer;
 transition:transform .5s cubic-bezier(.32,.72,0,1),opacity .4s ease;transition-delay:var(--dl,0ms)}
.w487-app,.w487-wg{border:0;background:none;padding:0;margin:0;font:inherit;color:inherit;-webkit-appearance:none;appearance:none}
.w487-tile{position:relative;display:grid;place-items:center;width:var(--ic);height:var(--ic);border-radius:22.5%;corner-shape:squircle;overflow:hidden;
 box-shadow:inset 0 0 0 .5px rgba(255,255,255,.16),0 1px 1.5px rgba(0,0,0,.28),0 10px 22px -10px rgba(0,0,0,.6);
 transition:transform .38s cubic-bezier(.34,1.56,.64,1),filter .2s ease}
@supports (corner-shape:squircle){.w487-tile,.w487-wg{border-radius:28%}.w487-wg{border-radius:18%}}
.w487-tile::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,0) 46%);pointer-events:none}
.w487-tile svg{width:56%;height:56%;display:block;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.w487-tile svg .f,.w487-zg svg .f{fill:currentColor;stroke:none}
.w487-tile svg .tx,.w487-zg svg .tx{fill:currentColor;stroke:none;font-weight:600}
.w487-tile.w487-brand svg,.w487-zg.w487-brand svg{width:100%;height:100%;stroke:none}
.w487-app.pressed .w487-tile,.w487-wg.pressed{transform:scale(.9);transition-duration:.12s}
.w487-app.pressed .w487-tile{filter:brightness(.82)}
.w487-lb{display:block;max-width:calc(var(--ic) + var(--gx) - 6px);font-size:var(--lf,11.5px);line-height:1.2;font-weight:500;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
 text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.55),0 0 8px rgba(0,0,0,.35);letter-spacing:.01em}

.t-navy{background:linear-gradient(162deg,#21418a 0%,#0c245c 52%,#061640 100%);color:#e9d4a3}
.t-gold{background:linear-gradient(162deg,#f6e6bd 0%,#d8b777 50%,#a9854b 100%);color:#0a1f52}
.t-ivory{background:linear-gradient(162deg,#fffefa 0%,#f3ecdc 60%,#e3d7bd 100%);color:#0b2257}
.t-slate{background:linear-gradient(162deg,#46597f 0%,#26375c 55%,#18264a 100%);color:#fff}
.t-brand{background:#c6942f}

/* 小组件 */
.w487-wg{position:relative;display:flex;flex-direction:column;border-radius:22px;padding:var(--wp,14px);align-self:start;
 height:var(--wh);width:100%;cursor:default;color:#fff;
 background:linear-gradient(160deg,rgba(255,255,255,.17),rgba(255,255,255,.07));
 box-shadow:inset 0 0 0 .5px rgba(255,255,255,.2),0 14px 30px -14px rgba(0,0,0,.6);
 -webkit-backdrop-filter:blur(24px) saturate(1.6);backdrop-filter:blur(24px) saturate(1.6);
 transition:transform .5s cubic-bezier(.32,.72,0,1),opacity .4s ease;transition-delay:var(--dl,0ms)}
a.w487-wg{cursor:pointer}
.w487-wg .k{font-size:max(11px,calc(var(--wh) * .052));line-height:1.25;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#e2cc9a;max-width:100%}
.w487-inst .k{max-width:62%}
.w487-clock .d{font-size:13.5px;font-weight:600;margin-top:3px;opacity:.94;white-space:nowrap}
.w487-clock .t{font:200 calc(var(--wh) * .30)/1 -apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Poppins,sans-serif;letter-spacing:-.03em;
 font-variant-numeric:tabular-nums;margin-top:auto;color:#fff}
.w487-clock .l{font-size:11.5px;opacity:.62;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.w487-world{padding:13px 14px 11px!important}
.w487-world .w487-wc{list-style:none;margin:6px 0 0;padding:0;display:grid;align-content:space-evenly;flex:1 1 auto;min-height:0}
.w487-world .w487-wc li{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.w487-world .w487-wc .c{display:flex;flex-direction:column;min-width:0;font-size:max(12px,calc(var(--wh) * .074));font-weight:600;line-height:1.15;white-space:nowrap}
.w487-world .w487-wc .c em{font-style:normal;font-size:10.5px;font-weight:500;opacity:.62;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.w487-world .w487-wc .t{flex:0 0 auto;margin:0;font:300 max(18px,calc(var(--wh) * .13))/1 -apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Poppins,sans-serif;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:#fff}
.w487-world .w487-wc li:first-child .t{color:#f0d9a6}
.w487-world .w487-wc .t small{font-size:.55em;font-weight:400;opacity:.7;margin-left:1px;font-variant-numeric:tabular-nums;display:inline-block;min-width:1.9em;text-align:left}
.w487-world .l{margin-top:4px!important}
@media (max-width:639px){
 .w487-world .w487-wc{grid-template-columns:repeat(4,minmax(0,1fr));align-content:center;gap:0 6px;margin-top:10px}
 .w487-world .w487-wc li{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:4px;padding-left:8px;border-left:1px solid rgba(255,255,255,.12)}
 .w487-world .w487-wc li:first-child{padding-left:0;border-left:0}
 .w487-world .w487-wc .c{font-size:13px}
 .w487-world .w487-wc .c em{white-space:pre-line;line-height:1.3;margin-top:2px}
 .w487-world .w487-wc .t{font-size:24px;order:-1}
}
.w487-wx[hidden]{display:none!important}
.w487-inst{background:linear-gradient(160deg,#1b3a7e 0%,#0a2257 60%,#061741 100%)}
.w487-inst .q{margin-top:auto;font-size:calc(var(--wh) * .098);line-height:1.34;font-weight:600;letter-spacing:.01em}
.w487-wg .nw{display:inline-block;white-space:nowrap}
.w487-inst .s{font-size:11px;opacity:.6;margin-top:6px}
.w487-inst svg{position:absolute;right:var(--wp,14px);top:var(--wp,14px);width:28%;height:auto;fill:none;stroke:#e2cc9a;stroke-width:1.1;opacity:.75}
#w487-home .w487-book{background:linear-gradient(160deg,#fffdf7 0%,#f1e9d6 100%);color:#0b2257}
.w487-book .k{color:#7d6232}
.w487-book .q{margin-top:auto;font-size:calc(var(--wh) * .112);line-height:1.3;font-weight:600;max-width:82%}
.w487-book .s{font-size:11px;color:#56617a;margin-top:6px}
.w487-book svg{position:absolute;right:var(--wp,14px);top:var(--wp,14px);height:30%;width:auto;fill:none;stroke:#b8955a;stroke-width:1.1}
.w487-book .w487-wlb{color:#fff}
.w487-wlb{position:absolute;left:0;right:0;bottom:-20px;text-align:center;max-width:none}

/* 页点 */
.w487-dots{position:absolute;left:0;right:0;bottom:calc(var(--db) + var(--dh) + 10px + env(safe-area-inset-bottom,0px));display:flex;justify-content:center;gap:0;height:20px;align-items:center;z-index:2}
.w487-dots button{width:16px;height:20px;padding:0;margin:0;border:0;background:none;cursor:pointer;display:grid;place-items:center;min-height:0!important;min-width:0!important}
.w487-dots button i{display:block;width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.34);transition:background .3s ease,transform .3s ease}
.w487-dots button[aria-current="true"] i{background:#fff}
.w487-dots.one{display:none}

/* Dock */
.w487-dock{position:absolute;left:50%;bottom:calc(var(--db) + env(safe-area-inset-bottom,0px));transform:translateX(-50%);height:var(--dh);width:var(--dw);
 display:flex;align-items:center;justify-content:space-around;padding:0 var(--dp,14px);border-radius:var(--dr,34px);z-index:2;
 background:rgba(255,255,255,.16);-webkit-backdrop-filter:blur(30px) saturate(1.8);backdrop-filter:blur(30px) saturate(1.8);
 box-shadow:inset 0 0 0 .5px rgba(255,255,255,.22),0 20px 40px -20px rgba(0,0,0,.6);transition:transform .5s cubic-bezier(.32,.72,0,1),opacity .4s ease}
.w487-dock .w487-app{gap:3px}
.w487-dock .w487-tile{width:calc(var(--ic) * .8);height:calc(var(--ic) * .8)}
.w487-dock .w487-tile svg{transform:scale(.9)}
.w487-dock .w487-lb{display:block;font-size:10.5px;line-height:1.15;opacity:.94;max-width:calc(var(--ic) + 22px)}

/* Home 条 */
.w487-hi{position:absolute;left:0;right:0;bottom:0;height:calc(28px + env(safe-area-inset-bottom,0px));display:flex;align-items:flex-end;justify-content:center;
 padding:0 0 calc(8px + env(safe-area-inset-bottom,0px));border:0;margin:0;background:none;cursor:pointer;z-index:3;touch-action:none;min-height:0!important}
.w487-hi i{display:block;width:134px;height:5px;border-radius:3px;background:rgba(255,255,255,.88);box-shadow:0 0 6px rgba(0,0,0,.25);transition:transform .3s ease}
.w487-hi:hover i{transform:scaleX(1.06)}
.w487-hi span{position:absolute;bottom:calc(20px + env(safe-area-inset-bottom,0px));font-size:11px;opacity:0;transition:opacity .25s ease;color:rgba(255,255,255,.75);pointer-events:none;white-space:nowrap}
@media (hover:hover){.w487-hi:hover span{opacity:1}}

/* 进出场 */
#w487-home[data-st="pre"] .w487-wall{opacity:0;transform:scale(1.06)}
#w487-home[data-st="pre"] .w487-app,#w487-home[data-st="pre"] .w487-wg{opacity:0;transform:scale(1.22);transition:none}
#w487-home[data-st="pre"] .w487-dock{opacity:0;transform:translateX(-50%) translateY(24px)}
#w487-home[data-st="pre"] .w487-sbar,#w487-home[data-st="pre"] .w487-dots{opacity:0}
#w487-home[data-st="out"] .w487-wall{opacity:0;transition-duration:.34s}
#w487-home[data-st="out"] .w487-stage{opacity:0;transform:scale(1.12);transition-duration:.34s}
#w487-home[data-st="out"] .w487-sbar{opacity:0}
#w487-home[data-st="out"] .w487-app,#w487-home[data-st="out"] .w487-wg{transition-delay:0ms}
#w487-home.anim .w487-stage,#w487-home.anim .w487-app,#w487-home.anim .w487-wg{will-change:transform,opacity}
#w487-home.drag .w487-stage{transition:none}

/* app 打开动画 */
.w487-zoom{position:fixed;inset:0;z-index:2147482001;display:grid;place-items:center;pointer-events:none;will-change:clip-path}
.w487-zoom.t-brand{background:radial-gradient(circle at 0 100%,#f7e8a7 0%,#c6942f 55%,#b9821e 100%)}
.w487-zg{display:block;will-change:transform}
.w487-zg svg{width:100%;height:100%;display:block;fill:none;stroke:currentColor;stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round;overflow:visible}

@media (prefers-reduced-motion:reduce){
 #w487-home *,#w487-btn{transition-duration:.001s!important;transition-delay:0s!important}
 #w487-home .w487-wall,#w487-home .w487-stage,#w487-home .w487-sbar{transition:opacity .2s linear!important}
 #w487-home[data-st] .w487-app,#w487-home[data-st] .w487-wg,#w487-home[data-st] .w487-stage,#w487-home[data-st] .w487-wall{transform:none!important}
 #w487-home[data-st] .w487-dock{transform:translateX(-50%)!important}
}
@media (prefers-reduced-transparency:reduce){
 .w487-dock{background:#1d3160!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
 .w487-wg{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
 .w487-clock{background:#15295a!important}
 #w487-btn{background:#06163f!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
}

#w487-home .w510-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}
#w487-home .w487-tile.w510-has>svg{opacity:0}
.w487-zoom.w510-z{background-size:cover!important;background-position:center!important}
.w487-zoom.w510-z .w487-zg{opacity:0!important}
/* 天气 */
#w487-home .w487-wx{padding:10px 12px!important;gap:6px;overflow:hidden}
#w487-home .w487-wx[hidden]{display:none!important}
.w510-wx-h{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font:600 11px/1.2 -apple-system,"PingFang SC",sans-serif;letter-spacing:.04em;color:rgba(255,255,255,.72)}
.w510-wx-h b{color:#f0dcae;font-weight:700;letter-spacing:.08em}
.w510-wx-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:4px 6px;flex:1;align-content:space-evenly}
.w510-c{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:5px;align-items:center;min-width:0;padding:3px 4px;border-radius:9px;background:rgba(255,255,255,.06)}
.w510-c .n{grid-column:1/3;font:600 10.5px/1.25 -apple-system,"PingFang SC",sans-serif;color:rgba(255,255,255,.86);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.w510-c svg{width:16px;height:16px;fill:none;stroke:#f0dcae;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.w510-c .t{font:600 15px/1.1 -apple-system,"SF Pro Display","PingFang SC",sans-serif;color:#fff;font-variant-numeric:tabular-nums;letter-spacing:-.01em;white-space:nowrap}
.w510-c .t small{font:500 9.5px/1 -apple-system,sans-serif;color:rgba(255,255,255,.6);margin-left:3px;letter-spacing:0}
.w510-wx-f{font:500 9.5px/1.2 -apple-system,sans-serif;color:rgba(255,255,255,.5);text-align:right}
@media (prefers-reduced-transparency:reduce){.w510-c{background:rgba(255,255,255,.12)}}
/* ④ ▦ 入口：仙剑式对白气泡 + 磁吸 */
/* 与 W487 v2/v3 的白色提示条、脉冲二选一：只留仙剑气泡（e750f7 约定） */
#w487-btn .w487-tip{display:none!important}
#w487-btn.nudge::after{animation:none!important;display:none!important}
#w487-btn{transition:translate .45s cubic-bezier(.34,1.56,.64,1),scale .45s cubic-bezier(.34,1.56,.64,1),filter .3s ease}
#w487-btn.w510-mag{scale:1.04;filter:drop-shadow(0 0 10px rgba(230,201,130,.55)) drop-shadow(0 0 2px rgba(230,201,130,.8))}
#w510-say{position:fixed;z-index:99;display:flex;align-items:center;gap:10px;max-width:min(300px,calc(100vw - 32px));
  padding:10px 14px 10px 10px;border-radius:14px;cursor:pointer;
  background:linear-gradient(180deg,rgba(18,40,96,.94),rgba(6,20,56,.96));
  border:1px solid rgba(226,204,154,.62);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06),0 0 0 3px rgba(6,20,56,.35),0 14px 34px -12px rgba(0,0,0,.65);
  -webkit-backdrop-filter:blur(14px) saturate(1.5);backdrop-filter:blur(14px) saturate(1.5);
  color:#f5ecd6;font:600 13.5px/1.45 -apple-system,"PingFang SC","Songti SC",serif;letter-spacing:.03em;
  opacity:0;transform:translateY(6px) scale(.96);transform-origin:var(--w510-o,left center);pointer-events:none;
  transition:opacity .25s ease,transform .35s cubic-bezier(.34,1.56,.64,1)}
#w510-say.on{opacity:1;transform:none;pointer-events:auto}
#w510-say::before{content:"";position:absolute;width:12px;height:12px;background:inherit;border:inherit;border-width:0 0 1px 1px;
  left:var(--w510-tx,-7px);top:var(--w510-ty,calc(50% - 6px));transform:rotate(var(--w510-tr,45deg))}
#w510-say .w510-av{flex:0 0 auto;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;
  background:radial-gradient(circle at 30% 25%,#12306e,#061640);border:1px solid rgba(226,204,154,.45)}
#w510-say .w510-av img{width:28px;height:auto;display:block}
#w510-say .w510-tx{position:relative;min-height:1.45em;white-space:nowrap}
#w510-say .w510-tx i{font-style:normal;display:inline-block;width:.5em;animation:w510-caret 1s steps(1) infinite;color:#e6c982}
@keyframes w510-caret{50%{opacity:0}}
@media (prefers-reduced-motion:reduce){#w487-btn{transition:none}#w510-say{transition:opacity .2s}#w510-say .w510-tx i{display:none}}
/* W511 · 浏览模式（YouTube 式播放器）。样式都挂在 #w511-* / .w511-* / html.w511-on 上 */
html.w511-on{scroll-behavior:auto!important}
/* :is 里带三个 id：压过别层用 id 写的 !important（W486 的 #gi-alert） */
html.w511-on :is([data-w511-hide],#w511-x#w511-x#w511-x){opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:opacity .25s ease,visibility 0s linear .25s!important}
html.w511-on.w511-idle.w511-playing,html.w511-on.w511-idle.w511-playing body{cursor:none}
#w511-ui{--g:#c4a46b;--g2:#e2cc9a;--ink:#f4f6fb;--sub:rgba(232,236,245,.72);position:fixed;left:0;right:0;bottom:0;z-index:10040;height:0;
 font:500 13px/1.35 -apple-system,BlinkMacSystemFont,"PingFang SC","Helvetica Neue",var(--sans,system-ui),sans-serif;color:var(--ink);text-align:left;-webkit-font-smoothing:antialiased}
#w511-ui[hidden]{display:none}
:where(#w511-ui) button{appearance:none;-webkit-appearance:none;border:0;margin:0;background:transparent;color:inherit;font:inherit;cursor:pointer;position:relative;-webkit-tap-highlight-color:transparent}
#w511-ui button:focus-visible,#w511-ui [role=slider]:focus-visible,#w511-ui a:focus-visible{outline:2px solid var(--g2);outline-offset:2px;border-radius:8px}
#w511-ui svg{display:block;fill:currentColor}
.w511-bar{position:absolute;left:0;right:0;bottom:0;padding:34px max(16px,env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));
 background:linear-gradient(to top,rgba(3,9,24,.95),rgba(3,9,24,.88) 60%,rgba(3,9,24,0));transition:opacity .25s ease,transform .25s ease}
html.w511-idle .w511-bar{opacity:0;transform:translateY(12px);pointer-events:none}
.w511-mini{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(255,255,255,.18);opacity:0;transition:opacity .25s ease;pointer-events:none}
.w511-mini i{position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(90deg,var(--g),var(--g2))}
html.w511-idle .w511-mini{opacity:1}
/* 时间轴 */
.w511-tl{position:relative;height:22px;margin:0 0 2px;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;outline:none}
.w511-rail{position:absolute;left:0;right:0;top:50%;height:0;pointer-events:none}
.w511-seg{position:absolute;top:0;height:3px;transform:translateY(-50%);border-radius:2px;background:rgba(255,255,255,.24);overflow:hidden;transition:height .12s ease}
.w511-tl.on .w511-seg{height:5px}.w511-tl.on .w511-seg.hov{height:8px}
.w511-seg i{position:absolute;left:0;top:0;bottom:0;width:0}
.w511-seg .h{background:rgba(255,255,255,.34);display:none}.w511-tl.on .w511-seg .h{display:block}.w511-tl.drag .w511-seg .h{display:none}
.w511-seg .f{background-image:linear-gradient(90deg,var(--g),var(--g2));background-repeat:no-repeat}
.w511-knob{position:absolute;top:50%;left:0;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:#ead6a6;box-shadow:0 0 0 3px rgba(196,164,107,.3),0 2px 6px rgba(0,0,0,.5);transform:scale(0);transition:transform .12s ease;pointer-events:none}
.w511-tl.on .w511-knob,.w511-tl:focus-visible .w511-knob{transform:scale(1)}
@media (hover:none){.w511-knob{transform:scale(.8)}}
.w511-tip{position:absolute;bottom:0;left:0;min-width:110px;max-width:min(300px,calc(100vw - 20px));box-sizing:border-box;padding:7px 11px 8px;border-radius:10px;
 background:rgba(6,19,48,.97);border:1px solid rgba(196,164,107,.36);box-shadow:0 14px 36px -14px rgba(0,0,0,.8);pointer-events:none;opacity:0;visibility:hidden;transition:opacity .1s ease,visibility 0s linear .1s}
.w511-tip.on{opacity:1;visibility:visible;transition:opacity .1s ease,visibility 0s}
.w511-tip b{display:block;color:var(--g2);font-size:11.5px;font-weight:600;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.w511-tip span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:13px;font-weight:600}
.w511-tip span:empty{display:none}
.w511-tip small{display:block;margin-top:2px;color:#c9d0de;font-size:12px;font-variant-numeric:tabular-nums}
/* 按钮行 */
.w511-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px}
.w511-g{display:flex;align-items:center;gap:2px;min-width:0}
.w511-g.l{flex:1 1 auto}
.w511-b{width:42px;height:42px;display:grid;place-items:center;border-radius:10px;flex:0 0 auto;opacity:.92;transition:background .15s ease,opacity .15s ease}
.w511-b:hover{background:rgba(255,255,255,.1);opacity:1}
.w511-b svg{width:24px;height:24px}
.w511-b.big svg{width:30px;height:30px}
.w511-b.j svg,.w511-b.l10 svg{width:26px;height:26px}
.w511-b[aria-pressed="true"]{color:var(--g2)}
.w511-b[disabled]{opacity:.35;cursor:default}
.w511-sp{min-width:48px;width:auto;padding:0 8px;font-weight:700;font-size:13.5px;font-variant-numeric:tabular-nums;letter-spacing:.02em}
.w511-time{padding:0 8px;font-variant-numeric:tabular-nums;font-size:13px;color:var(--ink);white-space:nowrap;flex:0 0 auto}
.w511-time i{font-style:normal;color:var(--sub)}
.w511-chap{display:flex;align-items:center;gap:6px;min-width:0;max-width:46vw;height:34px;padding:0 10px;border-radius:9px;color:var(--ink);white-space:nowrap;overflow:hidden}
.w511-chap:hover{background:rgba(255,255,255,.1)}
.w511-chap em{font-style:normal;color:var(--g2);font-size:12px;letter-spacing:.04em;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;max-width:45%}
.w511-chap span{overflow:hidden;text-overflow:ellipsis;min-width:0;font-size:13px}
.w511-chap::after{content:"›";color:var(--sub);font-size:17px;line-height:1;flex:0 0 auto}
.w511-pg{color:var(--sub);font-size:12px;white-space:nowrap;padding:0 4px;font-variant-numeric:tabular-nums}
.w511-cap2{display:none}
/* 菜单：倍速 / 章节与播放列表 */
.w511-menu{position:absolute;right:max(16px,env(safe-area-inset-right,0px));bottom:92px;min-width:230px;max-width:calc(100vw - 32px);max-height:min(62vh,560px);overflow:auto;padding:8px;border-radius:14px;
 background:rgba(12,16,28,.94);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 18px 48px -16px rgba(0,0,0,.85),inset 0 1px 0 rgba(255,255,255,.08);box-sizing:border-box}
.w511-menu[hidden]{display:none}
.w511-menu h4{margin:6px 10px 4px;font-size:11px;font-weight:600;letter-spacing:.12em;color:var(--sub);text-transform:uppercase}
.w511-menu button{display:flex!important;align-items:center;gap:10px;width:100%;min-height:40px;padding:8px 12px;border-radius:9px;text-align:left;font-size:13.5px}
.w511-menu button:hover,.w511-menu button.cur{background:rgba(196,164,107,.18)}
.w511-menu button[aria-checked="true"]::before{content:"✓";color:var(--g2);width:14px;flex:0 0 auto}
.w511-menu button[aria-checked="false"]::before{content:"";width:14px;flex:0 0 auto}
.w511-menu button u{text-decoration:none;color:var(--g2);font-size:11px;letter-spacing:.06em;min-width:26px;flex:0 0 auto;font-variant-numeric:tabular-nums}
.w511-menu button small{margin-left:auto;color:var(--sub);font-size:11.5px;font-variant-numeric:tabular-nums;flex:0 0 auto}
.w511-menu button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.w511-menu hr{border:0;border-top:1px solid rgba(255,255,255,.1);margin:6px 4px}
.w511-list{left:max(16px,env(safe-area-inset-left,0px));right:auto;width:min(380px,calc(100vw - 32px))}
/* 章名字幕、暂停提示、中心闪一下、片头卡 */
.w511-toast{position:absolute;left:50%;bottom:120px;transform:translate(-50%,8px);max-width:min(720px,calc(100vw - 32px));box-sizing:border-box;padding:9px 16px 10px;border-radius:10px;
 background:rgba(3,9,24,.8);text-align:center;opacity:0;visibility:hidden;transition:opacity .3s ease,transform .3s ease,visibility 0s linear .3s;pointer-events:none}
.w511-toast.on{opacity:1;visibility:visible;transform:translate(-50%,0);transition:opacity .3s ease,transform .3s ease,visibility 0s}
.w511-toast em{display:block;font-style:normal;color:var(--g2);font-size:11.5px;letter-spacing:.1em;margin-bottom:2px}
.w511-toast b{display:block;font-size:17px;font-weight:600;line-height:1.4}
.w511-toast.big{bottom:auto;top:38vh;padding:16px 26px 18px}
.w511-toast.big b{font-size:clamp(22px,3.2vw,34px)}
html.w511-idle .w511-toast{bottom:40px}
.w511-paused{position:absolute;left:50%;bottom:112px;transform:translateX(-50%);padding:8px 16px;border-radius:999px;background:rgba(3,9,24,.82);border:1px solid rgba(196,164,107,.4);
 color:var(--ink);font-size:13.5px;white-space:nowrap;display:none}
html.w511-on.w511-paused-ui .w511-paused{display:block}
.w511-flash{position:fixed;left:50%;top:50%;width:78px;height:78px;margin:-39px 0 0 -39px;border-radius:50%;background:rgba(3,9,24,.62);display:grid;place-items:center;opacity:0;pointer-events:none}
.w511-flash svg{width:38px;height:38px}
.w511-flash.go{animation:w511-flash .6s ease-out}
@keyframes w511-flash{0%{opacity:1;transform:scale(.8)}100%{opacity:0;transform:scale(1.45)}}
/* 片尾：下一页卡 */
.w511-next{position:absolute;right:max(16px,env(safe-area-inset-right,0px));bottom:104px;width:min(360px,calc(100vw - 32px));box-sizing:border-box;padding:14px 16px 14px;border-radius:14px;
 background:rgba(12,16,28,.95);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 22px 56px -18px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.08)}
.w511-next[hidden]{display:none}
.w511-next .k{display:flex;align-items:center;gap:10px;color:var(--sub);font-size:12px;letter-spacing:.06em}
.w511-next .ring{width:34px;height:34px;flex:0 0 auto}
.w511-next .ring circle{fill:none;stroke-width:3}
.w511-next .ring .bg{stroke:rgba(255,255,255,.18)}
.w511-next .ring .fg{stroke:var(--g2);stroke-linecap:round;transform:rotate(-90deg);transform-origin:50% 50%}
.w511-next h5{margin:8px 0 2px;font-size:18px;font-weight:600;line-height:1.35;color:var(--ink)}
.w511-next p{margin:0 0 12px;color:var(--sub);font-size:12.5px}
.w511-next .acts{display:flex;gap:8px}
.w511-next .acts button{flex:1;min-height:44px;border-radius:10px;font-weight:600;font-size:14px}
.w511-next .acts .no{background:rgba(255,255,255,.1)}
.w511-next .acts .go{background:var(--g);color:#0b1630}
/* 入口按钮（W512 / #ins-bar / #bk-bar 上） */
.w511-entry{appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px 0 10px;border-radius:999px;margin:0;
 border:1px solid rgba(196,164,107,.5)!important;background:rgba(196,164,107,.14)!important;color:#ecd9ab!important;font:600 12.5px/1 var(--sans,system-ui,-apple-system,"PingFang SC",sans-serif)!important;
 white-space:nowrap;cursor:pointer;position:relative;flex:0 0 auto;-webkit-tap-highlight-color:transparent;transition:background .15s ease}
.w511-entry:hover{background:rgba(196,164,107,.26)!important}
.w511-entry:focus-visible{outline:2px solid #e2cc9a;outline-offset:2px}
.w511-entry svg{width:11px;height:11px;fill:currentColor;flex:0 0 auto}
.w511-entry::after{content:"";position:absolute;inset:-6px}
@media(max-width:760px){.w511-entry{width:36px;height:36px;padding:0;justify-content:center}.w511-entry .t{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.w511-entry svg{width:13px;height:13px}}
/* 手机 */
@media(max-width:760px),(pointer:coarse){.w511-b{width:44px;height:44px}.w511-tl{height:30px}}
@media(max-width:760px){
 .w511-bar{padding-top:40px}
 .w511-j,.w511-voice,.w511-pg{display:none!important}
 .w511-row{gap:4px}
 .w511-g.l .w511-chap{display:none}
 .w511-cap2{display:flex;align-items:baseline;gap:6px;width:100%;min-width:0;min-height:30px;padding:4px 2px 2px;white-space:nowrap;overflow:hidden;font-size:12.5px;text-align:left}
 .w511-cap2::after{content:"›";color:var(--sub);flex:0 0 auto}
 .w511-cap2 em{font-style:normal;color:var(--g2);font-size:11.5px;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;max-width:48%}
 .w511-cap2 span{overflow:hidden;text-overflow:ellipsis;min-width:0}
 .w511-time{padding:0 4px;font-size:12.5px}
 .w511-menu{bottom:118px;left:12px;right:12px;width:auto;max-width:none}
 .w511-next{left:12px;right:12px;width:auto;bottom:128px}
 .w511-toast{bottom:150px}.w511-paused{bottom:140px}
}
@media(max-width:420px){.w511-prev,.w511-lst{display:none!important}}
@media (prefers-reduced-motion:reduce){#w511-ui *,#w511-ui{transition:none!important;animation:none!important}}
@media print{#w511-ui{display:none!important}}

#w513-back{position:fixed;left:50%;top:12px;z-index:2147481500;display:flex;align-items:center;gap:2px;max-width:calc(100vw - 32px);
  transform:translate(-50%,-8px);opacity:0;pointer-events:none;transition:opacity .22s ease,transform .22s ease,top .22s ease;
  background:rgba(11,26,58,.93);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);
  border:1px solid rgba(196,164,107,.45);border-radius:24px;box-shadow:0 8px 28px rgba(5,12,32,.28);padding:0 2px 0 4px;
  font:500 14px/1.2 -apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;box-sizing:border-box}
#w513-back.on{opacity:1;transform:translate(-50%,0);pointer-events:auto}
#w513-back[hidden]{display:none!important}
#w513-back button{appearance:none;-webkit-appearance:none;border:0;background:transparent;color:#fff;cursor:pointer;font:inherit;margin:0;
  min-height:44px;display:inline-flex;align-items:center;border-radius:22px;-webkit-tap-highlight-color:transparent}
#w513-back .w513-bk-go{gap:8px;padding:0 10px 0 10px;min-width:0;flex:1 1 auto}
#w513-back .w513-bk-go svg{flex:0 0 auto;width:18px;height:18px;stroke:#f6d67c;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#w513-back .w513-bk-l{white-space:nowrap;font-weight:600}
#w513-back .w513-bk-s{color:#f6d67c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;max-width:42vw;font-weight:500}
#w513-back .w513-bk-s:empty{display:none}
#w513-back .w513-bk-x{width:44px;justify-content:center;color:#cdd8ec;flex:0 0 44px;font-size:18px;line-height:1}
#w513-back button:hover{background:rgba(255,255,255,.08)}
#w513-back button:focus-visible{outline:2px solid #f6d67c;outline-offset:-2px}
#w513-find{position:fixed;inset:0;z-index:2147482600;display:flex;justify-content:center;align-items:flex-start;
  font:400 15px/1.45 -apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;color:#0b1a3a}
#w513-find[hidden]{display:none!important}
#w513-find .w513-f-bd{position:absolute;inset:0;background:rgba(5,12,32,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);touch-action:none}
#w513-find .w513-f-pn{position:relative;margin-top:12vh;width:min(640px,calc(100vw - 32px));max-height:min(620px,76vh);display:flex;flex-direction:column;
  background:#fbfaf7;border-radius:16px;box-shadow:0 24px 70px rgba(5,12,32,.38);overflow:hidden;border:1px solid rgba(196,164,107,.35)}
#w513-find .w513-f-row{display:flex;align-items:center;gap:8px;padding:6px 8px 6px 16px;border-bottom:1px solid #e7e1d2}
#w513-find .w513-f-row svg{flex:0 0 auto;width:20px;height:20px;stroke:#7a4f00;fill:none;stroke-width:2;stroke-linecap:round}
#w513-find input{flex:1 1 auto;min-width:0;height:48px;border:0;outline:0;background:transparent;color:#0b1a3a;font:500 17px/1.2 inherit;font-family:inherit;padding:0;-webkit-appearance:none;appearance:none}
#w513-find input::placeholder{color:#6a7284}
#w513-find input::-webkit-search-cancel-button{display:none}
#w513-find .w513-f-x{appearance:none;border:0;background:transparent;color:#3d4a66;font:500 14px/1 inherit;font-family:inherit;min-width:44px;min-height:44px;padding:0 10px;border-radius:10px;cursor:pointer}
#w513-find .w513-f-x kbd{font:600 12px/1 ui-monospace,SFMono-Regular,Menlo,monospace;border:1px solid #cfc6b0;border-radius:6px;padding:4px 6px;color:#3d4a66;background:#fff}
#w513-find .w513-f-x:focus-visible,#w513-find .w513-it:focus-visible{outline:2px solid #7a4f00;outline-offset:-2px}
#w513-find ul{list-style:none;margin:0;padding:6px;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
#w513-find .w513-gh{padding:10px 10px 4px;font:600 12px/1.2 inherit;font-family:inherit;letter-spacing:.08em;color:#6b5320}
#w513-find .w513-it{display:flex;align-items:center;gap:12px;min-height:44px;padding:8px 10px;border-radius:10px;cursor:pointer;box-sizing:border-box}
#w513-find .w513-it[aria-selected="true"]{background:#f3ead3;box-shadow:inset 0 0 0 1px rgba(196,164,107,.55)}
#w513-find .w513-t{flex:1 1 auto;min-width:0;color:#0b1a3a;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
#w513-find .w513-t mark{background:transparent;color:#7a4f00;font-weight:700;text-decoration:underline;text-decoration-color:rgba(196,164,107,.9);text-underline-offset:3px}
#w513-find .w513-s{flex:0 0 auto;max-width:40%;color:#555f73;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#w513-find .w513-k2 .w513-t{font-weight:600}
#w513-find .w513-no{padding:18px 12px;color:#3d4a66}
#w513-find .w513-f-ft{display:flex;gap:14px;padding:8px 16px;border-top:1px solid #e7e1d2;color:#555f73;font-size:12px}
#w513-find .w513-f-ft kbd{font:600 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace;border:1px solid #cfc6b0;border-radius:5px;padding:2px 5px;background:#fff;color:#3d4a66;margin-right:4px}
@media (max-width:640px),(pointer:coarse){
  #w513-find .w513-f-pn{margin-top:0;width:100vw;max-height:88vh;border-radius:0 0 16px 16px;border-width:0 0 1px;padding-top:env(safe-area-inset-top)}
  #w513-find .w513-f-ft{display:none}
}
.w513-sp{position:absolute;z-index:5;display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:16px;border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.16);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;cursor:pointer;
  font:600 13px/1 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;-webkit-tap-highlight-color:transparent;appearance:none;-webkit-appearance:none}
.w513-sp::after{content:"";position:absolute;left:-4px;right:-4px;top:-6px;bottom:-6px}
.w513-sp svg{width:15px;height:15px;stroke:#fff;fill:none;stroke-width:2.2;stroke-linecap:round}
.w513-sp kbd{font:600 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:#e6ebf5;border:1px solid rgba(255,255,255,.3);border-radius:5px;padding:2px 4px;margin-left:2px}
.w513-sp:hover{background:rgba(255,255,255,.24)}
.w513-sp:focus-visible{outline:2px solid #f6d67c;outline-offset:2px}
@media (pointer:coarse){.w513-sp kbd{display:none}}
.w513-land{animation:w513land 1.6s ease-out 1;border-radius:6px}
@keyframes w513land{0%{background-color:rgba(246,214,124,.42);box-shadow:0 0 0 8px rgba(246,214,124,.42)}100%{background-color:rgba(246,214,124,0);box-shadow:0 0 0 8px rgba(246,214,124,0)}}
@media (prefers-reduced-motion:reduce){
  #w513-back{transition:none}
  .w513-land{animation:none;outline:2px solid rgba(196,164,107,.9);outline-offset:6px}
}
@media print{#w513-back,#w513-find,.w513-sp{display:none!important}}

html{
 --w5-gold:#c9a86a;--w5-gold-hi:#e8cf9a;--w5-navy:#04163f;
 --w5-r-xs:10px;--w5-r-sm:14px;--w5-r-md:20px;--w5-r-lg:26px;--w5-r-xl:34px;--w5-r-pill:999px;
 --w5-blur-thin:14px;--w5-blur:20px;--w5-blur-thick:30px;--w5-sat:180%;
 --w5-fill:linear-gradient(180deg,rgba(22,34,70,.82) 0%,rgba(8,15,34,.90) 100%);
 --w5-fill-thick:linear-gradient(180deg,rgba(20,31,66,.90) 0%,rgba(6,12,30,.95) 100%);
 --w5-fill-light:linear-gradient(180deg,rgba(255,255,255,.93) 0%,rgba(247,248,252,.88) 100%);
 --w5-sheen:radial-gradient(132% 64% at 18% 0%,rgba(255,255,255,.09) 0%,rgba(255,255,255,0) 58%);
 --w5-sheen-light:radial-gradient(132% 64% at 18% 0%,rgba(255,255,255,.55) 0%,rgba(255,255,255,0) 60%);
 --w5-mat:var(--w5-sheen),var(--w5-fill);
 --w5-mat-thick:var(--w5-sheen),var(--w5-fill-thick);
 --w5-mat-light:var(--w5-sheen-light),var(--w5-fill-light);
 --w5-rim:inset 0 0 0 .5px rgba(255,255,255,.16),inset 0 1px 0 rgba(255,255,255,.22),inset 0 -1px 0 rgba(226,204,154,.16);
 --w5-rim-light:inset 0 0 0 .5px rgba(4,22,63,.10),inset 0 1px 0 rgba(255,255,255,.90),inset 0 -1px 0 rgba(196,164,107,.22);
 --w5-s1:0 1px 2px rgba(1,7,20,.28),0 8px 20px -10px rgba(1,7,20,.55);
 --w5-s2:0 1px 2px rgba(1,7,20,.30),0 16px 38px -14px rgba(1,7,20,.62);
 --w5-s3:0 2px 5px rgba(1,7,20,.32),0 30px 72px -22px rgba(1,7,20,.76);
 --w5-ease:cubic-bezier(.32,.72,0,1);
 --w5-spring:cubic-bezier(.34,1.42,.64,1);
 --w5-t-press:120ms;--w5-t-state:420ms;--w5-t-sheet:520ms;
 --w5-fg:#fff;--w5-fg2:rgba(255,255,255,.82)}
@supports (transition-timing-function:linear(0,1)){html{
 --w5-spring:linear(0,.046,.159,.307,.465,.618,.752,.863,.95,1.012,1.052,1.074,1.083,1.082,1.074,1.062,1.049,1.036,1.024,1.014,1.006,1,.997,.994,.993 60%,1 82.5%,1)}}

html .site-header,
html #arc-top,html[data-gxtop] #arc-top,html nav.bk-top,
html #bk-bar,html #ins-bar,
html #gx-island .gi-cap,html #gx-island .w443-morph{
 background:var(--w5-mat)!important;
 -webkit-backdrop-filter:blur(var(--w5-blur)) saturate(var(--w5-sat))!important;
 backdrop-filter:blur(var(--w5-blur)) saturate(var(--w5-sat))!important;
 box-shadow:var(--w5-rim),var(--w5-s2)!important;
 border-color:transparent!important}
html .site-header,html #arc-top,html[data-gxtop] #arc-top,html nav.bk-top{box-shadow:var(--w5-rim),var(--w5-s1)!important}

html #gx-island #gi-sheet,html #gx-island-root #gi-sheet,
html #gx-island #gi-alert,html #gx-island-root #gi-alert,html #w446-msg,
html #act-toc,html .insb-menu,html .bkb-menu,html .gr-drum,
html #w510-say,html #w485-tip,html .w485-tip,html .w497-bub,
html #gx-studio .gs-top,html #gx-studio .gs-strip,html #gx-studio .gs-gal{
 background:var(--w5-mat-thick)!important;
 -webkit-backdrop-filter:blur(var(--w5-blur-thick)) saturate(var(--w5-sat))!important;
 backdrop-filter:blur(var(--w5-blur-thick)) saturate(var(--w5-sat))!important;
 box-shadow:var(--w5-rim),var(--w5-s3)!important;
 border-color:transparent!important}

html #gx-w405 a,html #gx-totem,html #w487-btn,html #w451-dial #w451-orb,html #w451-dial .w451-pet{
 background:var(--w5-mat)!important;
 -webkit-backdrop-filter:blur(var(--w5-blur-thin)) saturate(var(--w5-sat))!important;
 backdrop-filter:blur(var(--w5-blur-thin)) saturate(var(--w5-sat))!important;
 box-shadow:var(--w5-rim),var(--w5-s1)!important;
 border-color:transparent!important}
/* 三站切换里「当前站」是这一屏唯一的金块 —— 金只给一处 */
html #gx-w405 a.cur{
 background:linear-gradient(180deg,#e0c68f 0%,#c4a46b 100%)!important;color:#0a1a3a!important;
 -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
 box-shadow:inset 0 1px 0 rgba(255,255,255,.55),var(--w5-s1)!important}

/* 阅读设置面板：浅色玻璃（里面几十处深色文字，翻深底要逐条重算；
   浅玻璃在深页上 11.8:1，且跟 iOS 的 Aa 面板同源） */
html #rd-panel{
 background:var(--w5-mat-light)!important;
 -webkit-backdrop-filter:blur(var(--w5-blur-thick)) saturate(var(--w5-sat))!important;
 backdrop-filter:blur(var(--w5-blur-thick)) saturate(var(--w5-sat))!important;
 box-shadow:var(--w5-rim-light),var(--w5-s3)!important;
 border-color:transparent!important}

/* 桌面（Springboard）：底座本来就是白调清玻璃，只把参数并进同一张表 */
html #w487-home .w487-dock{
 -webkit-backdrop-filter:blur(var(--w5-blur-thick)) saturate(var(--w5-sat))!important;
 backdrop-filter:blur(var(--w5-blur-thick)) saturate(var(--w5-sat))!important;
 box-shadow:inset 0 0 0 .5px rgba(255,255,255,.26),inset 0 1px 0 rgba(255,255,255,.34),
   inset 0 -1px 0 rgba(226,204,154,.16),var(--w5-s3)!important}

html #gx-island .gi-cap,html #gx-island .w443-morph{border-radius:var(--w5-r-pill)!important}
html #gx-island #gi-sheet{border-radius:var(--w5-r-xl)!important}
html #gx-island #gi-alert,html #gx-island-root #gi-alert,html #w446-msg{border-radius:var(--w5-r-lg)!important}
html #bk-bar,html #ins-bar{border-radius:22px!important}
html #act-toc,html .insb-menu,html .bkb-menu,html .gr-drum,html #w510-say,
html #w485-tip,html .w485-tip,html #gx-studio .gs-top{border-radius:var(--w5-r-md)!important}
html #rd-panel{border-radius:var(--w5-r-lg)!important}
html #w487-home .w487-dock{border-radius:var(--w5-r-xl)!important}
html #gx-w405 a,html #gx-totem,html #w487-btn,html .w497-bub{border-radius:var(--w5-r-pill)!important}
/* 同心：#bk-bar 内边距 8 → 22−8=14；#rd-panel 16 → 26−16=10；#gi-sheet 18 → 34−18=16 */
html #bk-bar .bkb-ico,html #bk-bar .w527-bar-apps,html #bk-bar .bkb-toc>summary,
html #ins-bar .insb-ico,html #ins-bar .w527-bar-apps,html #ins-bar .insb-toc>summary{
 border-radius:var(--w5-r-sm)!important}
html #rd-panel .rd-seg,html #rd-panel #rd-q,html #rd-panel #rd-add,html #rd-panel .rd-none{
 border-radius:var(--w5-r-xs)!important}
html #gx-island #gi-sheet .gi-seg,html #gx-island #gi-sheet #gx-tts-rates{border-radius:16px!important}
html #gx-island #gi-sheet .gi-seg>button,html #gx-island #gi-sheet #gx-tts-rates>button{border-radius:13px!important}
html #act-toc a,html .insb-menu a,html .bkb-menu a{border-radius:var(--w5-r-xs)!important}

/* W418 分幕菜单：#gx-totem #act-toc{border-radius:14px!important} 两个 id 压过 html #act-toc */
html #gx-totem #act-toc{
 border-radius:var(--w5-r-md)!important;
 background:var(--w5-mat-thick)!important;
 -webkit-backdrop-filter:blur(var(--w5-blur-thick)) saturate(var(--w5-sat))!important;
 backdrop-filter:blur(var(--w5-blur-thick)) saturate(var(--w5-sat))!important;
 box-shadow:var(--w5-rim),var(--w5-s3)!important;border-color:transparent!important}
/* W486 桌面横幅：html.w486-on #gx-island-root>#gi-alert.gi-alert（2,2,1）—— 同一条加一个类压过去。
   桌面圆角 18 / 手机 44 就是这么分叉的，收成同一档 26 */
@media (min-width:1024px) and (hover:hover) and (pointer:fine){
 html.w486-on #gx-island-root>#gi-alert.gi-alert.gi-alert,
 html.w486-on #w446-msg#w446-msg{
  border-radius:var(--w5-r-lg)!important;
  background:var(--w5-mat-thick)!important;
  -webkit-backdrop-filter:blur(var(--w5-blur-thick)) saturate(var(--w5-sat))!important;
  backdrop-filter:blur(var(--w5-blur-thick)) saturate(var(--w5-sat))!important;
  box-shadow:var(--w5-rim),var(--w5-s3)!important}}

html #gx-island-root{--gi-ease:var(--w5-ease)}
html #bk-bar,html #ins-bar,html #act-toc,html .insb-menu,html .bkb-menu,html .gr-drum,
html #rd-panel,html #gx-w405 a,html #w487-btn,html #gx-totem,html .site-header,
html #arc-top,html nav.bk-top{transition-timing-function:var(--w5-ease)!important}
html #bk-bar .bkb-ico:active,html #ins-bar .insb-ico:active,
html #bk-bar .w527-bar-apps:active,html #ins-bar .w527-bar-apps:active,
html #gx-w405 a:active,html #w487-btn:active{
 transform:scale(.94)!important;transition-duration:var(--w5-t-press)!important}

html #bk-bar :focus-visible,html #ins-bar :focus-visible,html #gx-island :focus-visible,
html #rd-panel :focus-visible,html #gx-w405 a:focus-visible,html #w487-btn:focus-visible,
html #act-toc :focus-visible,html #gx-totem :focus-visible,html #w487-home :focus-visible,
html .gr-drum :focus-visible{outline:2px solid var(--w5-gold-hi)!important;outline-offset:3px!important}
html #rd-panel :focus-visible{outline-color:#27407a!important}
html #bk-bar,html #ins-bar,html #act-toc,html .insb-menu,html .bkb-menu{overflow:visible}

html .w485 .w485-seg{background:rgba(255,255,255,.34)!important;
 box-shadow:inset 0 -.5px 0 rgba(1,7,20,.30)!important}
html .w485.w485-on .w485-seg{background:rgba(255,255,255,.40)!important}
html .w485 .w485-seg.w485-hov{background:rgba(255,255,255,.52)!important}
html .w485 .w485-sh{background:rgba(255,255,255,.44)!important}
/* 正在读的这一段：金条只填了一半的那个 —— 底色再亮一档 */
html .w485 .w485-seg:has(>.w485-sf:not([style*="width: 0.000%"]):not([style*="width: 100.000%"])){
 background:rgba(255,255,255,.50)!important}

@supports (backdrop-filter:url(#w525-lens)){
 html.w525-refract #gx-island .gi-cap{
  -webkit-backdrop-filter:url(#w525-lens) blur(5px) saturate(var(--w5-sat))!important;
  backdrop-filter:url(#w525-lens) blur(5px) saturate(var(--w5-sat))!important;
  background:var(--w5-sheen),linear-gradient(180deg,rgba(22,34,70,.86) 0%,rgba(8,15,34,.92) 100%)!important}}

/* 注意：--w5-fill 是当 background-image 用的，这里必须还给一个 image。
   写成裸色值会解析成 none —— 实测那一版浮层整块没了底。 */
@media (prefers-reduced-transparency:reduce){html{
 --w5-fill:linear-gradient(#0c2358,#0c2358);--w5-fill-thick:linear-gradient(#081a42,#081a42);
 --w5-fill-light:linear-gradient(#fff,#fff);
 --w5-sheen:linear-gradient(transparent,transparent);--w5-sheen-light:linear-gradient(transparent,transparent);
 --w5-blur:0px;--w5-blur-thick:0px;--w5-blur-thin:0px;--w5-sat:100%}
 html.w525-refract #gx-island .gi-cap{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:#0c2358!important}
 html #w487-home .w487-dock{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:rgba(10,20,44,.92)!important}}
@media (prefers-contrast:more){html{
 --w5-fill:linear-gradient(#01091b,#01091b);--w5-fill-thick:linear-gradient(#01091b,#01091b);
 --w5-fill-light:linear-gradient(#fff,#fff);
 --w5-sheen:linear-gradient(transparent,transparent);--w5-sheen-light:linear-gradient(transparent,transparent);
 --w5-rim:inset 0 0 0 1px rgba(255,255,255,.85);--w5-rim-light:inset 0 0 0 1px #04163f;
 --w5-fg2:#fff}
 html .w485 .w485-seg{background:rgba(255,255,255,.72)!important}}
@media (prefers-reduced-motion:reduce){html{--w5-spring:var(--w5-ease);--w5-t-state:150ms;--w5-t-sheet:150ms}
 html #bk-bar .bkb-ico:active,html #ins-bar .insb-ico:active,html #gx-w405 a:active,
 html #w487-btn:active,html #bk-bar .w527-bar-apps:active,html #ins-bar .w527-bar-apps:active{transform:none!important}}
@media (forced-colors:active){
 html .site-header,html #arc-top,html nav.bk-top,html #bk-bar,html #ins-bar,
 html #gx-island .gi-cap,html #gx-island #gi-sheet,html #gx-island #gi-alert,html #w446-msg,
 html #act-toc,html .insb-menu,html .gr-drum,html #rd-panel,html #gx-w405 a,html #w487-btn{
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
  background:Canvas!important;color:CanvasText!important;border:1px solid CanvasText!important;box-shadow:none!important}}

/* 整排：一条顶线，列间不留缝（缝会让竖线看起来是「两个盒子之间」而不是「一条分隔」） */
#w472-gate-row-scope,.w472-gate-row{border-top:1px solid rgba(196,164,107,.22)!important;gap:0!important}
/* 每一扇：框/底/圆角/模糊全撤 */
.w472-gate-row>*{border:0!important;border-radius:0!important;background:transparent!important;
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:none!important;
  border-left:1px solid rgba(255,255,255,.10)!important;
  padding:18px 22px!important;box-sizing:border-box!important;transition:background .28s var(--lg-ease-out,ease)}
.w472-gate-row>*:first-child{border-left:0!important}
/* 去掉深底之后压在照片上，文字要自己站得住 */
.w472-gate-row>* *{text-shadow:0 1px 2px rgba(1,9,27,.55),0 0 14px rgba(1,9,27,.35)}
/* 悬停只上一层极淡的底，不把框加回来 */
.w472-gate-row>*:hover,.w472-gate-row>*:focus-visible{background:rgba(255,255,255,.055)!important}
.w472-gate-row>*:focus-visible{outline:2px solid rgba(226,204,154,.75);outline-offset:-2px}
@media (max-width:760px){
 .w472-gate-row>*{padding:14px 16px!important}
 /* 窄屏排成两列时，第一行两扇的左线规则要重算：靠行首的那一扇不画左线 */
 .w472-gate-row>*:nth-child(odd){border-left:0!important}
}
@media (prefers-contrast:more){
 .w472-gate-row>*{border-left-color:rgba(255,255,255,.28)!important}
 .w472-gate-row{border-top-color:rgba(196,164,107,.5)!important}
}

:root{--w538-press:var(--lg-dur-press,120ms);--w538-state:var(--lg-dur-state,480ms);
 --w538-spring:var(--lg-ease-spring,cubic-bezier(.34,1.45,.64,1));
 --w538-out:var(--lg-ease-out,cubic-bezier(.22,1,.36,1))}

/* ── 一、可点元素的按压手感 ───────────────────────────────────────────
   按下走 press 时长（快、线性收），松手走 state 时长 + 弹簧（慢、有回弹）。
   只给叶子级：Dock 图标、主屏图标、四扇门、岛上的按钮、阅读栏按钮、明信片。
   **没有一条选择器指向会包住 fixed 后代的容器**（见文件抬头 ①）。 */
.w487-app,.w487-dock a,.w487-dock button,.w472-gate-row>a,
#gx-island button,#gx-island a,#w487-btn,
#bk-bar button,#bk-bar a,#ins-bar button,#ins-bar a,
.w434-card,.w535-c,.gx-postcard{
 transition:transform var(--w538-state) var(--w538-spring),
            background-color var(--w538-state) var(--w538-out),
            box-shadow var(--w538-state) var(--w538-out),
            opacity var(--w538-state) var(--w538-out);
 -webkit-tap-highlight-color:transparent}
.w487-app:active,.w487-dock a:active,.w487-dock button:active,.w472-gate-row>a:active,
#gx-island button:active,#gx-island a:active,#w487-btn:active,
#bk-bar button:active,#bk-bar a:active,#ins-bar button:active,#ins-bar a:active,
.w434-card:active,.gx-postcard:active{
 transform:scale(.965);
 transition-duration:var(--w538-press);transition-timing-function:var(--w538-out)}
/* 图标类按下时连同标签一起缩，像 iOS 主屏 */
.w487-app:active{transform:scale(.93)}

/* ── 二、悬停：只在真有鼠标的设备上 ─────────────────────────────────
   触屏上 :hover 会「粘」在最后点过的元素上（W491 那次就是这么粘住的）。 */
@media (hover:hover) and (pointer:fine){
 .w487-app:hover,.w487-dock a:hover,#w487-btn:hover,
 #gx-island button:hover,#gx-island a:hover,.w535-c:hover{--lg-glow:.85}
 .w487-app:hover{transform:translateY(-2px)}
 #w487-btn:hover{transform:scale(1.03)}
}

/* ── 三、键盘焦点：一条金环，形状跟着元素自己的圆角 ───────────────── */
.w487-app:focus-visible,.w487-dock a:focus-visible,.w472-gate-row>a:focus-visible,
#gx-island button:focus-visible,#gx-island a:focus-visible,#w487-btn:focus-visible,
#bk-bar button:focus-visible,#ins-bar button:focus-visible,.w535-c:focus-visible{
 outline:2px solid var(--lg-focus-dark,#e2cc9a);outline-offset:2px}

/* ── 四、系统开关一律优先（苹果那套的硬要求：每个效果都要能关掉）── */
@media (prefers-reduced-motion:reduce){
 .w487-app,.w487-dock a,.w487-dock button,.w472-gate-row>a,
 #gx-island button,#gx-island a,#w487-btn,
 #bk-bar button,#bk-bar a,#ins-bar button,#ins-bar a,
 .w434-card,.w535-c,.gx-postcard{transition-duration:1ms!important}
 .w487-app:active,.w472-gate-row>a:active,#w487-btn:active,
 #gx-island button:active,.w487-app:hover,#w487-btn:hover{transform:none!important}
}
@media (forced-colors:active){
 .w487-app:focus-visible,#w487-btn:focus-visible{outline:2px solid CanvasText}
}

#w539-btn{display:none;align-items:center;gap:7px;border:0;cursor:pointer;
 font:600 12.5px/1 -apple-system,"PingFang SC",sans-serif;letter-spacing:.06em;
 color:var(--lg-fg-dark,#fff);background:var(--lg-fill-dark,rgba(4,22,63,.66));
 border-radius:var(--lg-r-pill,999px);padding:9px 14px;
 -webkit-backdrop-filter:blur(var(--lg-blur,18px)) saturate(var(--lg-sat,170%));
 backdrop-filter:blur(var(--lg-blur,18px)) saturate(var(--lg-sat,170%));
 box-shadow:inset 0 0 0 .5px var(--lg-rim-hi-dark,rgba(255,255,255,.62)),var(--lg-shadow-dark,0 8px 24px rgba(1,9,27,.5));
 transition:transform var(--lg-dur-state,480ms) var(--lg-ease-spring,cubic-bezier(.34,1.45,.64,1)),
            background-color var(--lg-dur-state,480ms) ease;
 -webkit-tap-highlight-color:transparent}
html.w539-ok #w539-btn{display:inline-flex}
#w539-btn:active{transform:scale(.96);transition-duration:var(--lg-dur-press,120ms)}
#w539-btn:focus-visible{outline:2px solid var(--lg-focus-dark,#e2cc9a);outline-offset:2px}
#w539-btn svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
#w539-btn.fixed{position:fixed;z-index:98;left:max(14px,env(safe-area-inset-left));
 bottom:calc(84px + env(safe-area-inset-bottom,0px))}
/* 全屏时收掉"边框类"导航，正文/阅读栏/岛一律保留 */
html.w539-on body>header,html.w539-on #top,html.w539-on #gx-w405,html.w539-on .gx-w117-gates{
 opacity:0!important;pointer-events:none!important;transition:opacity .38s ease}
html.w539-on{--w539:1}
@media (prefers-reduced-motion:reduce){
 #w539-btn{transition-duration:1ms}#w539-btn:active{transform:none}
 html.w539-on body>header,html.w539-on #top{transition:none}}
@media (max-width:640px){#w539-btn{padding:8px 12px;font-size:12px}#w539-btn .t{display:none}}

@media (max-width:640px){
 /* 关键不是「再压内边距」，而是**换版式**：原来是竖排（标签 18 + 按钮行 41 + 倒计时线），
    加上内边距就是 89–98。改成「左文字 / 右按钮」两列，高度就由按钮那 44px 决定，
    padding 上下各 10 → 64 上下，和系统通知一个量级。按钮**一点不缩**。 */
 #gx-island #gi-alert,#gi-alert{
  display:grid!important;grid-template-columns:1fr auto!important;
  align-items:center!important;column-gap:12px!important;row-gap:1px!important;
  padding:10px 12px 10px 14px!important;
  border-radius:20px!important;
  font-size:12.5px!important;
  line-height:1.3!important;
  position:relative!important}
 #gi-alert .gi-al-k{grid-column:1;grid-row:1;margin:0!important}
 #gi-alert .gi-al-t{grid-column:1;grid-row:2;margin:0!important}
 #gi-alert .gi-al-b{grid-column:2;grid-row:1/3;margin:0!important;display:flex;align-items:center;gap:10px}
 /* 倒计时那条 1px 的线压在卡片底边，不再占一行 */
 #gi-alert .w521-line{position:absolute!important;left:12px;right:12px;bottom:5px;grid-column:1/3}
 #gi-alert b,#gi-alert strong{font-size:13px!important;line-height:1.3!important}
 #gi-alert small,#gi-alert .w521-line{font-size:11px!important}
 /* 按钮：只收横向留白与字号，**高度守住 36px** —— 可点区域不参与瘦身 */
 #gi-alert button,#gi-alert a[role="button"],#gi-alert .gi-act{
  min-height:36px!important;height:36px!important;
  padding:0 16px!important;font-size:12.5px!important;border-radius:999px!important}
 /* 图标/头像那一颗也收一档，别让它撑高整张卡 */
 #gi-alert>svg,#gi-alert .gi-ic,#gi-alert img{width:26px!important;height:26px!important;flex:0 0 auto}
}
@media (max-width:400px){
 #gi-alert{padding:9px 11px 9px 12px!important;border-radius:18px!important}
 #gi-alert button,#gi-alert a[role="button"],#gi-alert .gi-act{padding:0 13px!important}
}

@media (max-width:640px){
 /* ── 底部控件排：应用 / 全屏 / 转盘 收成一行，贴在阅读栏之上 ── */
 html body #w487-btn,
 html body #w539-btn,
 html body #w451-dial{
  position:fixed!important;
  top:auto!important;
  bottom:calc(var(--w546-dock,92px) + env(safe-area-inset-bottom,0px))!important;
  z-index:97!important;
  transform:none!important;
  margin:0!important}
 html body #w487-btn{left:max(12px,env(safe-area-inset-left))!important;right:auto!important}
 html body #w539-btn{left:calc(max(12px,env(safe-area-inset-left)) + 96px)!important;right:auto!important}
 html body #w451-dial{right:max(12px,env(safe-area-inset-right))!important;left:auto!important}
 /* 控件不许比一行还高，否则又长回中间去 */
 html body #w487-btn,html body #w539-btn{max-height:40px!important}
 html body #w451-dial{max-width:52px!important;max-height:52px!important}

 /* ── 阅读区禁区：顶 96 / 底 132 之间不许有常驻浮层 ── */
 /* 这条只管"常驻"的：通知是瞬时的，走顶部横幅（W545），不在此列。 */
 html body [data-w546-parked]{
  top:auto!important;
  bottom:calc(var(--w546-dock,92px) + env(safe-area-inset-bottom,0px))!important}
}

@media (max-width:760px){
 /* ① 首屏文案块别再撑 1080 —— 这是两处被裁的共同根因 */
 .hero-copy{max-width:100%!important;width:auto!important;min-width:0!important;
   box-sizing:border-box!important;padding-left:max(16px,env(safe-area-inset-left))!important;
   padding-right:max(16px,env(safe-area-inset-right))!important}
 .hero-copy>*{max-width:100%!important;min-width:0!important}
 /* ② 首屏标语：让它换行而不是冲出屏幕 */
 .gx-hero-tagline{flex-wrap:wrap!important;row-gap:4px!important;max-width:100%!important}
 .gx-hero-tagline>*{max-width:100%!important;min-width:0!important}
 .gx-tagline-en{white-space:normal!important;word-break:normal!important;overflow-wrap:anywhere}
 /* ③ 四扇门：写死的 540px 两列改成自适应；窄屏单列，放得下就两列 */
 .w472-gate,.w472-gate-row{max-width:100%!important;width:auto!important;min-width:0!important;
   box-sizing:border-box!important}
 /* 阿康 0920：「首页这里不要竖着4个门 还是横排4个门」。
    手机上强制四等分。代价说清楚：375 宽下每扇只有约 84px，
    门名（5 字）放得下，那句 16px 的说明放不下（一行只容 5 字），所以 ≤640 收起说明。
    眉标和门名都留着；说明在门内页和宽屏上一个字不少。 */
 .w472-gate-row{grid-template-columns:repeat(4,1fr)!important;column-gap:0!important}
 .w472-gate-row>*{min-width:0!important;max-width:100%!important;
   padding:12px 6px!important;text-align:center!important;overflow:hidden}
 /* 门名：两行封顶，别把门撑歪 */
 .w472-gate-row>* b,.w472-gate-row>* strong,.w472-gate-row>* .t{
   font-size:12.5px!important;line-height:1.25!important;white-space:normal!important}
 /* 眉标收小但保留 */
 .w472-gate-row>* small,.w472-gate-row>* .k,.w472-gate-row>* em{font-size:7.5px!important;letter-spacing:.04em!important}
 /* 那句说明：窄屏收起（内容仍在 DOM 里，读屏与门内页都读得到） */
 .w472-gate-row>* p{display:none!important}
 /* ④ 首屏三个数字：窄屏别硬挤成一行 */
 .hero-facts{flex-wrap:wrap!important;gap:10px 18px!important;max-width:100%!important}
 .hero-facts>*{min-width:0!important}
}
@media (max-width:420px){
 /* 极窄屏仍然四横排——阿康要的是横排这个形态，不是放不下就退回竖排 */
 .w472-gate-row>*{padding:10px 3px!important}
 .w472-gate-row>* b,.w472-gate-row>* strong,.w472-gate-row>* .t{font-size:11.5px!important}
 .w472-gate-row>* small,.w472-gate-row>* .k,.w472-gate-row>* em{font-size:7px!important}
}

@media (max-width:640px){
 /* 脱离灵动岛，顶到系统横幅位 */
 #gx-island #gi-alert,#gi-alert{
  position:fixed!important;
  top:calc(env(safe-area-inset-top,0px) + 8px)!important;
  left:8px!important;right:8px!important;bottom:auto!important;
  width:auto!important;max-width:420px!important;margin:0 auto!important;
  z-index:2147483000!important;
  border-radius:22px!important;
  padding:10px 12px!important;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","PingFang SC","Helvetica Neue",sans-serif!important;
  /* 阿康 0920：「通知的字可能要小一些 不然看不全或者溢出」。
     他那张截图里正文被挤成窄窄一条——不是字太大，是**按钮抢了宽度**。
     所以两头都治：字号收小，同时给按钮封顶、把宽度让回文字列。 */
  font-size:12px!important;line-height:1.3!important;
  box-shadow:0 8px 28px -8px rgba(0,0,0,.5),inset 0 0 0 .5px rgba(255,255,255,.16)!important;
  animation:w545drop .34s cubic-bezier(.22,1,.36,1) both}
 #gi-alert .gi-al-k{font-size:11px!important;opacity:.82;line-height:1.25!important}
 #gi-alert .gi-al-t{font-size:12px!important;line-height:1.35!important;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
  word-break:normal;overflow-wrap:anywhere}
 /* 文字列拿大头，按钮封顶——不让按钮把正文挤成一条 */
 #gi-alert .gi-al-k,#gi-alert .gi-al-t{min-width:0!important}
 #gi-alert .gi-al-b{max-width:38%!important;min-width:0!important;flex:0 0 auto!important}
 #gi-alert>svg,#gi-alert .gi-ic,#gi-alert img{width:34px!important;height:34px!important;border-radius:9px!important}
 #gi-alert button,#gi-alert a[role="button"],#gi-alert .gi-act{
  min-height:36px!important;height:36px!important;padding:0 11px!important;
  font-size:11.5px!important;border-radius:999px!important;
  max-width:100%!important;white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis}
 /* 倒计时线贴着横幅底边，不占一行 */
 #gi-alert .w521-line{position:absolute!important;left:12px;right:12px;bottom:4px}
}
@keyframes w545drop{from{transform:translate3d(0,-120%,0);opacity:0}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){#gi-alert{animation:none!important}}

/* ① 通栏。W544 的 `.hero-copy>*{max-width:100%!important}` 是 (0,1,0)；
      这里 `html body .hero-copy>.w532` 是 (0,2,2)，靠特异度赢，不靠源码顺序。
      两个选择器都写：条带挂在 hero-copy 下是首页，挂在别处是研究院/人生。 */
html body .hero-copy>.w532,
html body .w532.w532-tick{
 width:100vw!important;
 max-width:100vw!important;
 min-width:0!important;
 margin-left:calc(50% - 50vw)!important;
 margin-right:calc(50% - 50vw)!important;
 box-sizing:border-box!important}

/* ② 两端渐隐：百分比在窄屏上太短（307 宽时只有 12px，看着就是剪断），改成固定 36px */
html body .w532.w532-tick{
 -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 36px,#000 calc(100% - 36px),transparent 100%)!important;
 mask-image:linear-gradient(90deg,transparent 0,#000 36px,#000 calc(100% - 36px),transparent 100%)!important}

/* ③ 呼吸：和上方内容拉开，行与行之间也给一点 */
@media (max-width:760px){
 html body .w532.w532-tick{margin-top:18px!important;padding:2px 0 4px!important}
 html body .w532 .w532-rows{row-gap:3px!important}
 html body .w532 .w532-i{line-height:1.5!important}
 /* 条目之间的间隔：挤在一起的另一半 */
 html body .w532 .w532-i{padding-left:9px!important;padding-right:9px!important}
}

@media (max-width:760px){
 /* ── ① 正文留白：比控件坞高，正文永远压不到 ──
       坞高 44 + 上下各 12 + 岛 52 + 富余 24 ≈ 148 */
 html body{padding-bottom:calc(148px + env(safe-area-inset-bottom,0px))!important}

 /* ── ② 控件收成等大圆钮：一排、等距、无字 ── */
 html body #w487-btn,
 html body #w539-btn,
 html body #w451-dial{
  width:44px!important;min-width:44px!important;max-width:44px!important;
  height:44px!important;min-height:44px!important;
  padding:0!important;
  border-radius:50%!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  gap:0!important;
  font-size:0!important;          /* 文字收起——图标是 svg，不受影响 */
  line-height:0!important;
  overflow:hidden!important}
 /* 图标本身不缩，且把字号还原给它（父级 font-size:0 会继承） */
 html body #w487-btn>svg,
 html body #w539-btn>svg,
 html body #w451-dial>svg{
  width:20px!important;height:20px!important;font-size:20px!important;flex:0 0 auto!important;display:block!important}
 /* 「应用」这类纯文字节点：收起但不删——读屏与静态抓取照样读得到 */
 html body #w487-btn>span:not([class*="ic"]),
 html body #w539-btn>span:not([class*="ic"]){
  position:absolute!important;width:1px!important;height:1px!important;
  overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}

 /* ── ③ 子页四扇门：四等分横排，和首页一致 ──
       这里是 nav.gx-w168-doors（两列 165.5px），不是首页那个 .w472-gate-row，
       W544 当时只改了首页，子页整个漏了。 */
 html body nav.gx-w168-doors{
  grid-template-columns:repeat(4,1fr)!important;
  column-gap:6px!important;row-gap:8px!important}
 html body nav.gx-w168-doors>.section-kicker{grid-column:1/-1!important}
 html body nav.gx-w168-doors>.gx-w168-door{
  min-width:0!important;max-width:100%!important;
  padding:10px 4px!important;text-align:center!important;
  overflow:hidden!important;
  display:flex!important;flex-direction:column!important;
  align-items:center!important;justify-content:center!important;gap:3px!important}
 /* 英文眉标收小、中文门名两行封顶——四等分后每扇只有约 84px */
 html body nav.gx-w168-doors>.gx-w168-door>*:first-child{
  font-size:7px!important;letter-spacing:.03em!important;line-height:1.2!important;
  word-break:normal!important;overflow-wrap:anywhere!important}
 html body nav.gx-w168-doors>.gx-w168-door>*:last-child{
  font-size:12.5px!important;line-height:1.25!important;white-space:nowrap!important}
}
@media (max-width:400px){
 html body nav.gx-w168-doors>.gx-w168-door{padding:9px 2px!important}
 html body nav.gx-w168-doors>.gx-w168-door>*:last-child{font-size:11.5px!important}
 html body nav.gx-w168-doors>.gx-w168-door>*:first-child{font-size:6.5px!important}
}

#w551-tray{
 position:fixed;
 pointer-events:none;           /* 只是一块底，一次点击都不拦 */
 border-radius:26px;
 opacity:0;
 transition:opacity .22s cubic-bezier(.2,0,0,1);
 background:rgb(8 14 30 / .58);
 -webkit-backdrop-filter:blur(18px) saturate(1.5);
 backdrop-filter:blur(18px) saturate(1.5);
 box-shadow:0 10px 30px -12px rgb(0 0 0 / .55),inset 0 0 0 .5px rgb(255 255 255 / .14)}
#w551-tray.on{opacity:1}
@media (prefers-color-scheme:light){
 :root:not([data-theme="dark"]) #w551-tray{
  background:rgb(250 250 252 / .72);
  box-shadow:0 10px 30px -12px rgb(16 22 38 / .28),inset 0 0 0 .5px rgb(16 22 38 / .10)}}
/* 桌面不需要——桌面控件在角落，不压正文列 */
@media (min-width:761px){#w551-tray{display:none}}
@media (prefers-reduced-motion:reduce){#w551-tray{transition:none}}

/* ── ① 四个研究所：竖排 → 2×2 ── */
html body ol.gx-w196-list{
 display:grid!important;
 grid-template-columns:repeat(2,minmax(0,1fr))!important;
 column-gap:28px!important;row-gap:22px!important;
 align-items:start!important}
html body ol.gx-w196-list>li{
 min-width:0!important;max-width:100%!important;
 margin:0!important;break-inside:avoid}
@media (max-width:420px){
 /* 极窄屏两列会把「维特根斯坦研究所」挤断，退一列——退的是这一档，不是全部 */
 html body ol.gx-w196-list{grid-template-columns:minmax(0,1fr)!important;row-gap:16px!important}
}

/* ── ② 被投公司卡片：挤空气，不缩字 ── */
html body .gx-port-grid>article{
 padding:14px 16px!important}
/* 编号和公司名同一行——原来编号占一整行，白吃 19px */
html body .gx-port-grid>article>h3{
 line-height:1.22!important;margin:2px 0 0!important;
 display:flex!important;align-items:baseline!important;
 column-gap:8px!important;flex-wrap:wrap!important}
html body .gx-port-grid>article>h3>*{
 display:inline-block!important;flex:0 0 auto!important;margin:0!important}
html body .gx-port-grid>article>p{margin:4px 0 0!important;line-height:1.35!important}
html body .gx-port-grid>article>.gx-deal{margin-top:6px!important;display:block!important}
html body .gx-port-grid>article>b{line-height:1.1!important;display:block!important}
/* 宽屏再多一列：1100 三列已经够松，1280 起走四列 */
@media (min-width:1280px){
 html body .gx-port-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}

/* ≥641：顶部靠右，像 macOS / Windows 的通知中心。
   底部那一条留给阅读条和控件——通知不再和它们抢。
   `--w548-top` 由脚本按页眉实际高度写入，页眉收起时自动上移。 */
@media (min-width:641px){
 /* 阿康 0920：「学习macos的通知 来做咱们的灵动岛通知」。
    照的是 macOS 横幅的几条硬特征，不是抄它的图形：
      · 贴右上角，宽 344（macOS 横幅就是这个量级），圆角 16
      · 材质是毛玻璃 vibrancy：强模糊 + 提饱和，不是一块实色
      · **从右边滑入**（macOS 是横向推进来的，不是从上掉下来）
      · 图标 38 方圆角在左，标题半粗 13、正文 13 最多两行
      · 鼠标停上去就不自动消失（下面 JS 里做） */
 html body #gi-alert{
  position:fixed!important;
  top:calc(var(--w548-top,64px) + env(safe-area-inset-top,0px))!important;
  right:max(14px,env(safe-area-inset-right,0px))!important;
  left:auto!important;bottom:auto!important;
  width:min(344px,calc(100vw - 28px))!important;
  max-width:min(344px,calc(100vw - 28px))!important;
  margin:0!important;
  z-index:2147483000!important;
  border-radius:16px!important;
  padding:12px 14px!important;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","PingFang SC","Helvetica Neue",sans-serif!important;
  font-size:13px!important;line-height:1.35!important;
  -webkit-backdrop-filter:blur(28px) saturate(180%)!important;
  backdrop-filter:blur(28px) saturate(180%)!important;
  box-shadow:0 10px 34px -8px rgb(0 0 0 / .46),0 0 0 .5px rgb(255 255 255 / .16) inset!important;
  animation:w548in .34s cubic-bezier(.32,.72,0,1) both}
 /* 标题半粗、正文常规——macOS 就是靠字重分层，不靠字号拉开 */
 html body #gi-alert .gi-al-k{font-size:13px!important;font-weight:600!important;opacity:.95!important;
  letter-spacing:0!important;text-transform:none!important}
 html body #gi-alert .gi-al-t{font-size:13px!important;font-weight:400!important;opacity:.88!important}
 /* 图标：38 方、圆角 9，macOS 的应用图标位 */
 html body #gi-alert>svg,html body #gi-alert .gi-ic,html body #gi-alert img{
  width:38px!important;height:38px!important;border-radius:9px!important;flex:0 0 auto!important}
 /* 鼠标停上去：微微抬起，并由 JS 暂停自动消失 */
 html body #gi-alert:hover{box-shadow:0 16px 42px -8px rgb(0 0 0 / .54),0 0 0 .5px rgb(255 255 255 / .22) inset!important}
 /* 正文最多三行，长句不把卡片撑成一堵墙 */
 html body #gi-alert .gi-al-t{
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
  overflow-wrap:anywhere}
 html body #gi-alert .gi-al-b{flex:0 0 auto!important;max-width:42%!important}
 html body #gi-alert .w521-line{position:absolute!important;left:14px;right:14px;bottom:5px}
}
/* 两个区间都要：绝不掉出视口底边（实测 916 > 900） */
html body #gi-alert{max-height:calc(100vh - 24px)!important;overflow:visible}
/* macOS 是从右边推进来的，不是从上掉下来 */
@keyframes w548in{from{transform:translate3d(28px,0,0);opacity:0}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){html body #gi-alert{animation:none!important}}

.w556{margin:22px 0 30px}
.w556-k{font:700 10.5px/1.5 -apple-system,"PingFang SC",sans-serif;letter-spacing:.16em;
 text-transform:uppercase;opacity:.72;margin:0 0 12px}
.w556-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;align-items:start}
.w556-p{min-width:0;text-align:center}
.w556-ph{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;object-position:50% 22%;
 border-radius:10px;background:rgb(16 22 38 / .06);margin:0 0 10px}
.w556-p[data-noimg="1"] .w556-ph{display:none}
/* 中文名 / 英文名 / 职位，各占一行 */
.w556-zh{display:block;font:700 15px/1.35 -apple-system,"PingFang SC",sans-serif;margin:0}
.w556-en{display:block;font:500 11.5px/1.4 -apple-system,"Helvetica Neue",sans-serif;
 letter-spacing:.02em;opacity:.66;margin:2px 0 0}
.w556-ti{display:block;font:600 11.5px/1.45 -apple-system,"PingFang SC",sans-serif;
 letter-spacing:.02em;margin:5px 0 0;opacity:.88}
@media (max-width:900px){
 .w556-row{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:22px}
}
@media (max-width:560px){
 /* 窄屏仍并排，不退成一行一个——一行一个是低密度（0920 阿康：那是愚蠢的） */
 .w556-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .w556-zh{font-size:14px}.w556-en{font-size:10.5px}.w556-ti{font-size:10.5px}
}
@media print{.w556-ph{display:none}}

/* 天气所在那一页：整页交给天气（标记由本层脚本挂，不靠 :has） */
/* 铺满：这一页已经只剩天气一个件（alone() 保证），所以把页面本身改成 flex，
   让天气件 flex:1 撑满即可——**不要用网格的 1/-1**：W487 给每个件写了行内 grid-area，
   页面上还有隐式轨道（span 4 的件会撑出 3 条 58px 隐式列），`1/-1` 只覆盖**显式**网格，
   实测只铺到 76px 宽；也不要用绝对定位 + 上下 inset，实测高度没按包含块算（量到 781 > 页面 598）。
   flex 的 stretch 是这里最稳的一种铺满。 */
#w487-home .w487-page[data-w535-page]{display:flex!important;align-content:stretch!important;
  align-items:stretch!important;justify-content:stretch!important;padding:12px 14px 10px!important}
/* align-self 必须显式写 stretch：W487 给件们设了 align-self:start（页面原本是
   align-content:start 的图标网格），它会**盖掉**容器的 align-items:stretch，
   于是这件按内容高度撑到 895px、越过 598px 的页底压在圆点和 Dock 上。实测量出来的。 */
#w487-home .w487-page[data-w535-page] .w487-wx{position:static!important;flex:1 1 auto!important;align-self:stretch!important;
  grid-area:auto!important;margin:0!important;width:auto!important;height:auto!important;
  max-width:none!important;min-height:0!important;min-width:0!important;
  padding:14px 14px 10px!important;display:flex!important;flex-direction:column;gap:10px;overflow:hidden}
.w535-h{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex:0 0 auto;
  font:600 12px/1.2 -apple-system,"PingFang SC",sans-serif;letter-spacing:.04em;color:rgba(255,255,255,.72)}
.w535-h b{color:#f0dcae;font-weight:700;font-size:14px;letter-spacing:.10em}
/* 一城一行；宽屏自动多列（pad/桌面铺满，手机单列） */
.w535-g{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;
  display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px;align-content:safe center}
.w535-c{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;column-gap:11px;row-gap:3px;
  align-items:center;padding:10px 13px;border-radius:15px;background:rgba(255,255,255,.075);
  border:1px solid rgba(255,255,255,.05);min-width:0}
.w535-c svg{grid-row:1/3;width:26px;height:26px;fill:none;stroke:#f0dcae;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
/* 三列都写死：.t 有确定行（grid-row），会在「自动放置」之前就被排进第 1 行，
   于是抢走第 2 列、把城市名挤到第 3 列——实测就是「32° 深圳」这种倒序。 */
.w535-c .n{grid-column:2;grid-row:1;display:flex;align-items:baseline;gap:7px;min-width:0;
  font:700 17px/1.25 -apple-system,"PingFang SC",sans-serif;color:#fff;letter-spacing:.01em;white-space:nowrap;overflow:hidden}
.w535-c .n u{text-decoration:none;font:600 11.5px/1 -apple-system,"SF Mono",ui-monospace,monospace;
  color:rgba(255,255,255,.9);background:rgba(255,255,255,.10);border-radius:6px;padding:2px 5px;
  letter-spacing:.04em;font-variant-numeric:tabular-nums;white-space:nowrap;flex:0 0 auto}
.w535-c .n em{font:500 11.5px/1.2 -apple-system,"Helvetica Neue",sans-serif;font-style:normal;
  color:rgba(240,220,174,.78);letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.w535-c .t{grid-column:3;grid-row:1;font:600 25px/1 -apple-system,"SF Pro Display","PingFang SC",sans-serif;color:#fff;
  font-variant-numeric:tabular-nums;letter-spacing:-.02em;white-space:nowrap;text-align:right}
.w535-c .m{grid-column:2/4;grid-row:2;font:500 11px/1.5 -apple-system,"PingFang SC",sans-serif;color:rgba(255,255,255,.62);
  white-space:normal;font-variant-numeric:tabular-nums}
.w535-c .m .seg{font-weight:500;white-space:nowrap}
.w535-c .m i{font-style:normal;color:rgba(255,255,255,.38);margin:0 5px}
.w535-f{flex:0 0 auto;font:500 10px/1.2 -apple-system,sans-serif;color:rgba(255,255,255,.45);text-align:right}
/* 副行一律换行、不截断：阿康点名要日出日落，`日落 18…` 这种截断等于没显示。
   宁可多占一行——这一页本来就能滚，行高不是稀缺资源，信息完整才是。 */
@media (max-width:430px){.w535-c .t{font-size:23px}.w535-c .n{font-size:15.5px}.w535-c .n em{font-size:10.5px}.w535-c .m{font-size:11px}}
/* 平板/桌面：卡片放大、留白加大，别让 12 张小卡片缩在顶上一条 */
@media (min-width:768px){
 #w487-home .w487-page[data-w535-page] .w487-wx{padding:18px 20px 14px!important;gap:14px}
 .w535-h b{font-size:16px}.w535-g{gap:12px}
 .w535-c{padding:17px 20px;border-radius:19px;min-height:76px;column-gap:15px}
 .w535-c svg{width:30px;height:30px}.w535-c .n{font-size:18.5px}.w535-c .n em{font-size:12.5px}.w535-c .t{font-size:28px}.w535-c .m{font-size:12px}}
/* 重点四城：金边 + 略亮的底 + 城市名描金，一眼先落到这四座上 */
.w535-c.home{background:rgba(240,220,174,.10);border-color:rgba(240,220,174,.34);
  box-shadow:inset 0 0 0 .5px rgba(240,220,174,.28)}
.w535-c.home .n{color:#fff6e4}
.w535-c.home .t{color:#f7e3b5}
@media (prefers-reduced-transparency:reduce){.w535-c{background:rgba(255,255,255,.14)}}
/* 第二页下半的空白：阿康 0920「可以把部分城市的天气挪到这里空白地方」。
   绝对定位压在那一页的下半区，**上边界由脚本按最低一排图标算**，不写死百分比——
   图标行数随屏高变（metrics() 里 rows 是算出来的），写死会压到图标上。 */
.w535-pagerel{position:relative}
.w535-side{position:absolute;left:12px;right:12px;bottom:6px;z-index:2;
  display:flex;flex-direction:column;gap:8px;padding:12px 14px 10px;border-radius:18px;
  background:var(--lg-fill-dark,rgba(4,22,63,.62));
  -webkit-backdrop-filter:blur(var(--lg-blur,18px)) saturate(var(--lg-sat,170%));
  backdrop-filter:blur(var(--lg-blur,18px)) saturate(var(--lg-sat,170%));
  box-shadow:inset 0 0 0 .5px rgba(255,255,255,.18),0 12px 30px -16px rgba(1,9,27,.8);
  overflow:hidden}
.w535-side .w535-h{font-size:11px}.w535-side .w535-h b{font-size:12.5px}
.w535-side .w535-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;overflow:hidden}
.w535-side .w535-c{padding:7px 9px;border-radius:11px;column-gap:8px}
.w535-side .w535-c svg{width:20px;height:20px}
.w535-side .w535-c .n{font-size:13px;gap:5px}.w535-side .w535-c .n em{font-size:10px}
.w535-side .w535-c .n u{font-size:10px;padding:1px 4px}
.w535-side .w535-c .t{font-size:18px}
/* 昼夜标记：和官网轮播同一套语言——暖金实心圆＝白天，冷蓝月牙＝夜间，不写字 */
.w535-dn{display:inline-block;width:8px;height:8px;border-radius:50%;flex:0 0 auto;
 position:relative;margin-left:6px;vertical-align:middle}
.w535-dn.day{background:#f5d789;box-shadow:0 0 0 2px rgba(245,215,137,.20),0 0 8px rgba(245,215,137,.5)}
.w535-dn.night{background:transparent;box-shadow:inset 0 0 0 1.5px #93aee6}
.w535-dn.night::after{content:"";position:absolute;left:-2.4px;top:-1.5px;width:8px;height:8px;
 border-radius:50%;background:var(--w535-bg,#16264e)}
/* 都市圈人口：单独成元素，侧栏也看得见（.m 在侧栏是隐藏的） */
.w535-pop{grid-column:2/3;justify-self:end;font:600 10px/1 -apple-system,"SF Mono",ui-monospace,monospace;
 color:rgba(232,236,245,.46);letter-spacing:.02em;white-space:nowrap;margin-top:2px}
.w535-c.home .w535-pop{color:rgba(240,220,174,.62)}
@media (max-width:760px){.w535-pop{font-size:9.5px}}
.w535-side .w535-c .m{display:none}                 /* 侧位只给城市/时间/温度，细节留给整页那一屏 */

/* ── ① 贴边时别把标签压成 0 高 ──
      根因是 .gi-cap 基础规则的 height:52px。列方向下它不让第二个子元素长高，
      .gi-open 被压成 height:0，标签和时长全部看不见 —— 那条「空黑长条」。 */
html body #gx-island[data-dock="left"] .gi-cap,
html body #gx-island[data-dock="right"] .gi-cap{
 height:auto!important;min-height:52px!important;width:auto!important}
html body #gx-island[data-dock="left"] .gi-open,
html body #gx-island[data-dock="right"] .gi-open{
 flex:0 0 auto!important;height:auto!important;min-height:44px!important;
 flex-direction:column!important;gap:6px!important;
 max-width:none!important;padding:4px 2px!important}
html body #gx-island[data-dock="left"] .gi-label,
html body #gx-island[data-dock="right"] .gi-label{
 writing-mode:vertical-rl;text-orientation:upright;
 max-height:9em;max-width:none!important;letter-spacing:.12em}
html body #gx-island[data-dock="left"] .gi-div,
html body #gx-island[data-dock="right"] .gi-div{width:16px!important;height:1px!important}

/* ── ② 标签是最后一个能被收掉的东西 ──
      .mini 原来同时藏掉标签、分隔线和驻留时长。时长可以收，标签不行：
      收掉标签这东西就没有身份了，只剩一个无字圆点浮在正文上。 */
html body #gx-island.mini .gi-label{
 display:block!important;max-width:min(38vw,180px)!important;
 overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html body #gx-island[data-dock="left"].mini .gi-label,
html body #gx-island[data-dock="right"].mini .gi-label{
 max-width:none!important;max-height:7em}

/* ── ③ 给它一条边，它才是按钮不是洞 ── */
html body #gx-island .gi-cap{
 box-shadow:inset 0 0 0 1px rgb(196 164 107 / .38),
            inset 0 1px 0 rgb(255 255 255 / .10),
            0 14px 34px -12px rgb(2 8 24 / .55)}
html body #gx-island .gi-cap:hover{
 box-shadow:inset 0 0 0 1px rgb(196 164 107 / .62),
            inset 0 1px 0 rgb(255 255 255 / .14),
            0 18px 40px -12px rgb(2 8 24 / .6)}
html body #gx-island .gi-play{min-width:44px!important;min-height:44px!important}
html body #gx-island .gi-open{min-height:44px!important}
html body #gx-island .gi-label{
 font-weight:600!important;letter-spacing:.04em;opacity:1!important}

/* ── ④ 不许跑到屏幕外 ──
      贴边时用的是 right/left 定位，理论上出不去；但拖动留下的坐标、
      以及 W486 的 top 停靠都改写过 left/right，出过一次界。这里兜底。 */
html body #gx-island:not([data-dragging="1"]){
 max-width:calc(100vw - 16px)!important}
html body #gx-island[data-dock="right"]:not([data-dragging="1"]){
 right:max(10px,env(safe-area-inset-right,0px))!important}
html body #gx-island[data-dock="left"]:not([data-dragging="1"]){
 left:max(10px,env(safe-area-inset-left,0px))!important}

@media (prefers-reduced-motion:reduce){
 html body #gx-island .gi-cap{transition:none!important}}
