
/* 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}}

/* ── 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}}
