
.tower-epic-page{background:
  radial-gradient(circle at 50% -10%, rgba(76,128,255,.18), transparent 34%),
  linear-gradient(180deg,#040913 0%,#071120 26%,#06101d 100%);
}
.tower-page{position:relative;overflow:hidden}
.tower-page:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 18% 18%, rgba(246,200,95,.07), transparent 20%),radial-gradient(circle at 82% 10%, rgba(82,146,255,.09), transparent 24%),radial-gradient(circle at 50% 100%, rgba(111,70,186,.08), transparent 28%);opacity:.95}
.tower-stage{padding:42px 0 82px;position:relative}
.tower-shell{position:relative;z-index:2}
.tower-hero-card,.tower-highlight,.tower-board,.tower-side-card{position:relative;overflow:hidden;background:linear-gradient(180deg, rgba(6,12,24,.82), rgba(7,14,28,.70));border:1px solid rgba(246,200,95,.18);box-shadow:0 24px 70px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.02)}
.tower-hero-card:before,.tower-highlight:before,.tower-board:before,.tower-side-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right, rgba(91,151,255,.10), transparent 32%),radial-gradient(circle at bottom left, rgba(246,200,95,.07), transparent 28%);pointer-events:none}
.tower-hero-card{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);border-radius:34px;padding:34px;gap:22px}
.tower-kicker{font-size:13px;letter-spacing:.15em;text-transform:uppercase;color:#f6c85f;font-weight:900}
.tower-hero-card h1{margin:10px 0 18px;font-family:Cinzel,serif;font-size:clamp(42px,6vw,74px);line-height:.95;color:#fff6dc;text-shadow:0 0 24px rgba(246,200,95,.12)}
.tower-hero-card p{max-width:740px;margin:0;color:#c1cbdb;font-size:18px;line-height:1.7}
.tower-hero-card p strong{color:#fff1c2}
.tower-pill-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.tower-pill{display:inline-flex;align-items:center;padding:10px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);font-size:12px;font-weight:800;color:#d9e4f5}
.tower-scene{min-height:360px;border-radius:26px;border:1px solid rgba(255,255,255,.07);background:linear-gradient(180deg, rgba(2,7,14,.14), rgba(2,7,14,.38)), url('/assets/tower-celestial-v2.webp') center center/cover no-repeat;box-shadow:inset 0 1px 0 rgba(255,255,255,.03);display:flex;justify-content:flex-end;align-items:flex-start;padding:20px}
.tower-scene-badge{display:grid;gap:8px;padding:18px 14px;border-radius:20px;background:linear-gradient(180deg, rgba(9,16,31,.72), rgba(9,16,31,.5));border:1px solid rgba(246,200,95,.14);backdrop-filter:blur(6px)}
.tower-scene-badge span{font-family:Cinzel,serif;color:#eddca8;font-size:22px;line-height:1.06;text-align:right}
.tower-highlight{margin-top:22px;border-radius:30px;padding:24px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:22px;align-items:center}
.tower-crown-wrap{display:flex;align-items:center;justify-content:center;width:182px;min-height:118px;border-radius:24px;border:1px solid rgba(246,200,95,.14);background:linear-gradient(180deg, rgba(246,200,95,.07), rgba(255,255,255,.02));box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
.tower-crown{font-size:72px;filter:drop-shadow(0 0 16px rgba(246,200,95,.22))}
.tower-highlight-copy small{display:block;color:#f6c85f;font-size:12px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.tower-highlight-copy strong{display:block;margin-top:8px;font-family:Cinzel,serif;font-size:56px;line-height:.95;color:#fff7e6}
.tower-sub{display:block;margin-top:10px;color:#aebbd1;font-size:22px}
.tower-floor-wrap{min-width:280px;display:flex;justify-content:flex-end}
.tower-floor{font-family:Cinzel,serif;font-size:58px;font-weight:900;color:#f9e7af;text-shadow:0 0 18px rgba(246,200,95,.12);white-space:nowrap}
.tower-grid-blocks{margin-top:22px;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px}
.tower-board{border-radius:28px;padding:24px}
.tower-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:14px}
.tower-meta{color:#9dafc7;font-size:12px;font-weight:700;text-align:right}
.tower-list{display:grid;gap:12px}
.tower-row{display:grid;grid-template-columns:110px 1fr 190px;align-items:center;gap:18px;padding:16px 18px;border:1px solid rgba(255,255,255,.07);border-radius:18px;background:linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.02));box-shadow:inset 0 1px 0 rgba(255,255,255,.02);transition:transform .18s ease,border-color .18s ease,background .18s ease}
.tower-row:hover{transform:translateY(-1px);border-color:rgba(246,200,95,.18);background:linear-gradient(180deg, rgba(246,200,95,.05), rgba(255,255,255,.02))}
.tower-rank{display:inline-flex;align-items:center;justify-content:center;min-height:66px;padding:0 16px;border-radius:18px;border:1px solid rgba(246,200,95,.14);background:linear-gradient(180deg, rgba(16,28,52,.9), rgba(10,19,36,.8));font-family:Cinzel,serif;font-size:34px;font-weight:900;color:#f6c85f;letter-spacing:.02em;box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
.tower-row:nth-child(1) .tower-rank{background:linear-gradient(180deg, rgba(52,40,12,.95), rgba(20,15,6,.85));color:#ffe9a2}
.tower-name{display:block;font-size:30px;font-family:Cinzel,serif;color:#fff7ea;line-height:1}
.tower-sub-row{display:block;margin-top:8px;color:#a1b0c7;font-size:16px}
.tower-score{text-align:right;font-family:Cinzel,serif;font-size:42px;font-weight:900;color:#fff3ca;white-space:nowrap}
.tower-empty{padding:26px;border:1px dashed rgba(255,255,255,.14);border-radius:18px;color:#a9b7ca;text-align:center}
.tower-side{display:grid;gap:22px;align-content:start}
.tower-side-card{border-radius:28px;padding:22px}
.tower-side-card h3{margin:10px 0 12px;font-family:Cinzel,serif;font-size:28px;color:#fff4d0}
.tower-side-card p,.tower-side-card li{color:#bcc8da;line-height:1.7}
.tower-side-card ul{margin:0;padding-left:18px;display:grid;gap:10px}
.tower-side-card li strong{color:#fff4d0}
.tower-side-actions{display:grid;gap:10px;margin-top:16px}
#towerFooterStatus{color:#93a4bd}
@media(max-width:1180px){
  .tower-hero-card{grid-template-columns:1fr}
  .tower-scene{min-height:300px}
  .tower-highlight-copy strong{font-size:46px}
  .tower-floor{font-size:48px}
  .tower-grid-blocks{grid-template-columns:1fr}
}
@media(max-width:860px){
  .tower-stage{padding:30px 0 68px}
  .tower-hero-card{padding:22px;border-radius:26px}
  .tower-hero-card h1{font-size:clamp(36px,11vw,58px)}
  .tower-hero-card p{font-size:16px}
  .tower-scene{min-height:240px}
  .tower-scene-badge span{font-size:18px}
  .tower-highlight{grid-template-columns:1fr;justify-items:start;padding:20px;border-radius:24px}
  .tower-crown-wrap{width:100%;min-height:94px}
  .tower-highlight-copy strong{font-size:36px}
  .tower-sub{font-size:18px}
  .tower-floor-wrap{min-width:0;width:100%;justify-content:flex-start}
  .tower-floor{font-size:38px}
  .tower-board,.tower-side-card{padding:18px;border-radius:22px}
  .tower-row{grid-template-columns:86px 1fr auto;padding:14px}
  .tower-rank{min-height:58px;font-size:28px}
  .tower-name{font-size:24px}
  .tower-sub-row{font-size:14px}
  .tower-score{font-size:30px}
}
@media(max-width:620px){
  .tower-pill-row{display:grid;grid-template-columns:1fr}
  .tower-row{grid-template-columns:1fr;gap:10px}
  .tower-rank{width:90px}
  .tower-score{text-align:left}
  .tower-section-head{align-items:flex-start;flex-direction:column}
}
