/* 引导栏:52×280 细长条,两端 S 弯;平时收在屏幕右边只探出 7px */
.rail{position:fixed;right:0;top:50%;width:52px;height:280px;transform:translate(110%,-50%);z-index:7;--rs:36px;transition:transform .35s ease;
  filter:drop-shadow(-6px 8px 14px rgba(0,0,0,.25)) drop-shadow(-4px 0 26px rgba(255,150,100,.45))}
.rail.on{transform:translate(calc(100% - 7px),-50%)}
.rail::before{content:"";position:absolute;top:0;bottom:0;left:-28px;width:28px}
@media (hover:hover){.rail.on:hover{transform:translate(0,-50%)}}
.rail.on:focus-within,.rail.on.touch{transform:translate(0,-50%)}
.rail.on:not(:hover):not(.touch):not(:focus-within){filter:drop-shadow(-2px 0 10px rgba(255,150,100,.55))}
.rail-bg{position:absolute;inset:0;width:100%;height:100%}
.rail-bg path{fill:#0B0B0B}.rail-bg path.sheen{fill:url(#rail-sh)}.rail-bg path.lt{fill:url(#rail-lt)}
/* 三项都在栏身平直段(25%–75%)等距 */
.rail-item,.lang-switch{position:absolute;left:0;width:100%;display:flex;justify-content:center;transform:translateY(-50%)}
.rail-item:nth-of-type(1){top:34%}.rail-item:nth-of-type(2){top:50%}
.rail-item svg,.lang-switch svg{width:var(--rs);height:var(--rs);transition:transform .2s}
.rail-item:hover svg,.lang-switch:hover svg{transform:scale(1.08)}
.rail-item:active svg,.lang-switch:active svg{transform:scale(.88)}
.rail-item.hit svg{animation:rail-hit .3s steps(3)}
@keyframes rail-hit{0%{transform:scale(.88)}50%{transform:scale(1.15)}100%{transform:none}}
.rail .trk{fill:none;stroke:#2E2E2E;stroke-width:5}
.rail .arc{fill:none;stroke-width:5;stroke-linecap:round;transform:rotate(-90deg);transform-origin:40px 40px;stroke-dasharray:213.6;stroke-dashoffset:213.6}
.rail-burst{position:fixed;pointer-events:none;z-index:60;image-rendering:pixelated}
/* 中英切换:同一套圆环;“中”与 “EN” 按视觉配平 */
.lang-switch{all:unset;position:absolute;left:0;width:100%;top:66%;transform:translateY(-50%);display:flex;justify-content:center;cursor:pointer}
.lang-switch text{fill:#fff;font:400 32px FangSong_GB2312,serif;text-anchor:middle;dominant-baseline:central}
.lang-switch text.en{font:400 23px Newsreader,serif;letter-spacing:1.5px;stroke:#fff;stroke-width:1.1px;paint-order:stroke}
