/* 融合幸存者首页：按参考图 1672 × 941 还原，整体等比缩放。 */
html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#05070d}
*{box-sizing:border-box}
button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
#fs-home{--gold:#d8b56a;--gold-d:#9c7a3c;--ink:#080c17;--cream:#f4e9cb;position:absolute;width:1672px;height:941px;overflow:hidden;transform-origin:top left;background:#0a0d17 var(--bg) 0 0/1672px 941px no-repeat;font-family:'Songti SC','Noto Serif SC','Source Han Serif SC','STSong',var(--font-display),serif;font-weight:700;color:#e9dcc0}
/* 右侧 UI 栏的深色底，向左渐隐进入画面 */
#fs-home:before{content:'';position:absolute;left:1000px;top:0;right:0;bottom:0;background:linear-gradient(90deg,#0a0d1700,#0a0d17f0 120px,#0a0d17 100%)}
#fs-home>*{position:absolute}
.fs-gold-text{background:linear-gradient(#fff6d0,#ecd08a 50%,#b98a3c);-webkit-background-clip:text;background-clip:text;color:transparent}

/* 顶栏 */
.fs-coin{left:1110px;top:44px;width:196px;height:57px;display:flex;align-items:center;gap:14px;padding-left:12px;border-top:1px solid #c9a35f33;border-bottom:1px solid #c9a35f33;background:linear-gradient(90deg,#0b1020aa,#0b102000)}
.fs-coin i{width:27px;height:27px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#ffe9a0 0 30%,#c4902f 31% 58%,#f0cd78 59% 70%,#8a6320 71%);box-shadow:0 0 0 2px #1a1608,0 0 8px #e3b45a66}
.fs-coin span{font-size:22px;color:#d9c7a0;letter-spacing:2px}.fs-coin b{font-size:30px;color:var(--cream);letter-spacing:3px;font-family:Georgia,'Times New Roman',serif}
.fs-toggle{top:42px;width:153px;height:55px;display:flex;align-items:center;gap:12px;padding:0 15px;border:1px solid #b08a48;background:linear-gradient(#111a2eee,#0b1120ee);box-shadow:inset 0 0 0 3px #0b1120,inset 0 0 0 4px #b08a4833;color:#e7dcc2;font-size:21px;letter-spacing:2px}
.fs-toggle[data-act=music]{left:1322px}.fs-toggle[data-act=sfx]{left:1487px}
.fs-toggle svg{width:27px;height:27px;fill:none;stroke:var(--gold);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.fs-toggle .dot{margin-left:auto;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px #131b2e,0 0 0 4.5px var(--gold),0 0 10px #f3dba355}
.fs-toggle.off{color:#8d8a80}.fs-toggle.off .dot{background:#2a3144;box-shadow:0 0 0 3px #131b2e,0 0 0 4.5px #6c6248}.fs-toggle.off svg{stroke:#7a6c4a}
.fs-toggle:hover,.fs-upgrade:hover:not(:disabled),.fs-start:hover{filter:brightness(1.18)}
.fs-toggle:focus-visible,.fs-upgrade:focus-visible,.fs-start:focus-visible{outline:2px solid #fff0bd;outline-offset:3px}

/* 金边面板 */
.fs-panel{left:1053px;width:577px;background:linear-gradient(#0c1222f2,#080c17f7);border:2px solid #b8924a;box-shadow:inset 0 0 0 7px #080c17,inset 0 0 0 8px #8a6c3666,0 0 22px #000a}
.fs-panel .c{position:absolute;width:36px;height:36px;border:0 solid #e0bd72;pointer-events:none}
.fs-panel .c:after{content:'';position:absolute;width:18px;height:2px;background:#e0bd72;transform-origin:left center}
.fs-panel .tl{left:-5px;top:-5px;border-top-width:3px;border-left-width:3px}.fs-panel .tl:after{left:8px;top:8px;transform:rotate(45deg)}
.fs-panel .tr{right:-5px;top:-5px;border-top-width:3px;border-right-width:3px}.fs-panel .tr:after{right:8px;top:8px;transform:rotate(135deg);transform-origin:right center}
.fs-panel .bl{left:-5px;bottom:-5px;border-bottom-width:3px;border-left-width:3px}.fs-panel .bl:after{left:8px;bottom:8px;transform:rotate(-45deg)}
.fs-panel .br{right:-5px;bottom:-5px;border-bottom-width:3px;border-right-width:3px}.fs-panel .br:after{right:8px;bottom:8px;transform:rotate(-135deg);transform-origin:right center}
.fs-head{display:flex;align-items:center;justify-content:center;gap:14px;color:#efe3c3;letter-spacing:9px}
.fs-head:before,.fs-head:after{content:'◇';font-size:15px;color:var(--gold);letter-spacing:0;flex:none;margin:0 2px}
.fs-rule{position:absolute;height:1px;background:linear-gradient(90deg,#0000,#c9a35fa0 30%,#c9a35fa0 70%,#0000)}

/* 角色成长 */
.fs-growth{top:124px;height:375px}
.fs-growth .fs-head{position:absolute;left:0;right:0;top:25px;font-size:29px}
.fs-growth .fs-head:before,.fs-growth .fs-head:after{content:'';width:110px;height:1px;background:linear-gradient(90deg,#0000,#c9a35f90)}
.fs-growth .fs-head:after{transform:scaleX(-1)}
.fs-growth .fs-head span{position:relative}.fs-growth .fs-head span:before,.fs-growth .fs-head span:after{content:'◇';position:absolute;top:2px;font-size:14px;color:var(--gold);letter-spacing:0}.fs-growth .fs-head span:before{left:-32px}.fs-growth .fs-head span:after{right:-32px}
.fs-name{position:absolute;left:0;right:0;top:73px;display:flex;justify-content:center;align-items:center;gap:16px;font-size:35px;color:#f2e8cf;letter-spacing:3px}
.fs-lv{position:relative;padding:3px 24px;font-size:30px;color:#f0d68e;border-top:1px solid #c9a35f;border-bottom:1px solid #c9a35f;font-family:Georgia,serif;letter-spacing:1px}
.fs-lv:before,.fs-lv:after{content:'';position:absolute;top:-1px;bottom:-1px;width:14px;border:1px solid #c9a35f;border-width:0}
.fs-lv:before{left:-8px;border-left-width:1px;transform:skewX(18deg);border-top:1px solid #c9a35f;border-bottom:1px solid #c9a35f;border-radius:8px 0 0 8px}
.fs-lv:after{right:-8px;border-right-width:1px;transform:skewX(-18deg);border-top:1px solid #c9a35f;border-bottom:1px solid #c9a35f;border-radius:0 8px 8px 0}
.fs-row{position:absolute;left:52px;right:60px;height:56px;display:flex;align-items:center;font-size:27px;color:#eee3c8;letter-spacing:2px;border-bottom:1px solid #c9a35f33}
.fs-row.r1{top:149px;border-top:1px solid #c9a35f33}.fs-row.r2{top:205px}
.fs-row span{flex:1}.fs-row b{font-weight:500;font-family:Georgia,'Times New Roman',serif;font-size:29px;letter-spacing:0;display:flex;gap:18px;align-items:center}
.fs-row b i{font-style:normal;color:#e6d09a;font-size:22px;font-weight:400}
.fs-upgrade{position:absolute;left:52px;right:50px;top:274px;height:74px;border:1px solid #b89a58;background:linear-gradient(#5c5d3f,#43452d);color:#f0e3bc;font-size:30px;letter-spacing:4px;box-shadow:inset 0 1px 0 #d9c98a55,inset 0 0 0 1px #00000040;text-shadow:0 2px 3px #0008;font-family:inherit}
.fs-upgrade:disabled{filter:grayscale(.6) brightness(.7);cursor:default}

/* 最长生存时间 */
.fs-best{top:512px;height:217px}
.fs-best .fs-head{position:absolute;left:0;right:0;top:24px;font-size:24px;letter-spacing:6px}
.fs-best .fs-head:before,.fs-best .fs-head:after{width:auto;flex:0 0 118px;height:1px;font-size:0;background:linear-gradient(90deg,#0000,#c9a35f90)}
.fs-best .fs-head:after{transform:scaleX(-1)}
.fs-best .fs-head svg{width:30px;height:30px;stroke:var(--gold);fill:none;stroke-width:2.2;margin-right:-2px}
.fs-time{position:absolute;left:0;right:0;top:52px;text-align:center;font:900 98px/108px Georgia,'Times New Roman',serif;letter-spacing:1px;background:linear-gradient(#fffbe6,#f3e1ab 55%,#c9a15a);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 3px 0 #0009)}
.fs-mode{position:absolute;left:0;right:0;top:152px;display:flex;justify-content:center;align-items:center;gap:20px;font-size:23px;letter-spacing:6px;color:#e6dbc0}
.fs-mode:before,.fs-mode:after{content:'';flex:0 0 86px;height:1px;background:linear-gradient(90deg,#0000,#c9a35f90)}.fs-mode:after{transform:scaleX(-1)}
.fs-who{position:absolute;left:0;right:0;top:188px;text-align:center;font-size:17px;color:#cdbf9f;letter-spacing:3px}

/* 开始按钮 */
.fs-start{left:1056px;top:748px;width:571px;height:138px;border:2px solid #c9a45a;background:radial-gradient(ellipse at 50% 40%,#2a2616,#12121a 70%),#0b0f1c;box-shadow:inset 0 0 0 7px #0a0e19,inset 0 0 0 8px #b8924a77,0 0 26px #d8b56a30;display:grid;align-content:center;justify-items:center;gap:6px;padding:0;font-family:inherit}
.fs-start:before,.fs-start:after{content:'◈';position:absolute;top:50%;margin-top:-15px;font-size:30px;color:#e6c273;text-shadow:0 0 8px #e6c27399}.fs-start:before{left:-26px}.fs-start:after{right:-26px}
.fs-start b{font-size:71px;line-height:84px;letter-spacing:8px;text-indent:8px;background:linear-gradient(#fff6d0,#f0d48f 50%,#b98a3c);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 3px 2px #000a)}
.fs-start small{font-size:23px;letter-spacing:7px;color:#eadfc2;font-weight:700}
.fs-start .c{position:absolute;width:30px;height:30px;border:0 solid #e6c273;pointer-events:none}
.fs-start .tl{left:2px;top:2px;border-top-width:2px;border-left-width:2px}.fs-start .tr{right:2px;top:2px;border-top-width:2px;border-right-width:2px}.fs-start .bl{left:2px;bottom:2px;border-bottom-width:2px;border-left-width:2px}.fs-start .br{right:2px;bottom:2px;border-bottom-width:2px;border-right-width:2px}

.fs-coin i.gem{width:18px;height:18px;border-radius:0;transform:rotate(45deg);background:none;border:2px solid var(--gold);box-shadow:none;margin:0 4px}
.fs-coin i.gem:after{content:'';display:block;width:6px;height:6px;margin:3px;background:var(--gold)}
.fs-foot{left:1086px;width:544px;top:880px;display:flex;justify-content:center;align-items:center;gap:22px;font-size:21px;letter-spacing:5px;color:#d7cbb0}
.fs-foot:before,.fs-foot:after{content:'';flex:0 0 120px;height:1px;background:linear-gradient(90deg,#0000,#c9a35f80)}.fs-foot:after{transform:scaleX(-1)}

/* 守卫篇版式 */
#fs-home[data-kind=tower]{--bg:url('../assets/backgrounds/fusion-tower-home.webp')}
#fs-home[data-kind=survival]{--bg:url('../assets/backgrounds/fusion-home.webp')}
[data-kind=tower]:before{left:1020px}
[data-kind=tower] .fs-coin{top:47px}
[data-kind=tower] .fs-toggle{top:47px;width:151px;height:53px}[data-kind=tower] .fs-toggle[data-act=music]{left:1320px}[data-kind=tower] .fs-toggle[data-act=sfx]{left:1483px}
[data-kind=tower] .fs-panel{left:1086px;width:544px}
[data-kind=tower] .fs-growth{top:128px;height:370px}
[data-kind=tower] .fs-growth .fs-head{top:25px;font-size:22px;letter-spacing:10px}
[data-kind=tower] .fs-growth .fs-head:before,[data-kind=tower] .fs-growth .fs-head:after{width:150px}
[data-kind=tower] .fs-name{top:66px;font-size:66px;gap:22px;letter-spacing:6px;color:#f4ead2;text-shadow:0 3px 0 #0008}
[data-kind=tower] .fs-name .fs-lvt{font:700 50px Georgia,serif;color:#f0e0b0;letter-spacing:2px}
[data-kind=tower] .fs-row{left:36px;right:48px;height:52px;font-size:25px}[data-kind=tower] .fs-row.r1{top:158px}[data-kind=tower] .fs-row.r2{top:211px}
[data-kind=tower] .fs-upgrade{left:48px;right:50px;top:271px;height:67px;font-size:27px;letter-spacing:3px}
[data-kind=tower] .fs-best{top:517px;height:194px}
[data-kind=tower] .fs-best .fs-head{top:22px;font-size:23px}
[data-kind=tower] .fs-time{top:46px;font-size:100px}
[data-kind=tower] .fs-mode{top:148px;font-size:22px}
[data-kind=tower] .fs-start{left:1088px;top:729px;width:540px;height:133px}
[data-kind=tower] .fs-start b{font-size:60px;line-height:68px}[data-kind=tower] .fs-start small{font-size:21px;letter-spacing:6px}
.fs-toggle{white-space:nowrap}[data-kind=tower] .fs-toggle{padding:0 12px;gap:9px;letter-spacing:1px}
[data-kind=tower] .fs-row{font-size:27px}[data-kind=tower] .fs-row b{font-size:28px}
[data-kind=tower] .fs-growth .fs-head{font-size:24px}

.fs-fx{left:0;top:0;width:1000px;height:941px;image-rendering:auto;pointer-events:none;z-index:1}
.fs-back{left:44px;bottom:40px;z-index:2;display:flex;align-items:center;height:52px;padding:0 22px;border:1px solid #b08a48;background:linear-gradient(#111a2eee,#0b1120ee);box-shadow:inset 0 0 0 3px #0b1120,inset 0 0 0 4px #b0894866;color:#f2e8cf;font-size:22px;letter-spacing:3px;text-decoration:none}
.fs-back:hover{border-color:#e0bd72;color:#fff6d0}
