/* 老友天翼・晨光浮空城：正式明亮主題 */
:root{--bright-ink:#15283d;--bright-blue:#214d70;--bright-sky:#79c9d5;--bright-gold:#f4c86b;--bright-paper:#f5f8f4;--bright-muted:#c6d6dc}
html,body{background:#102237;color:var(--bright-paper)}
body::before{z-index:0;background:linear-gradient(180deg,rgba(10,30,50,.46),rgba(11,31,49,.7)),url('public/world-background.png') center top/cover fixed no-repeat;opacity:1;filter:saturate(.92) brightness(.86)}
body::after{content:"";position:fixed;inset:-20%;z-index:0;pointer-events:none;background:radial-gradient(circle at 68% 24%,rgba(125,225,231,.2) 0,transparent 18%),radial-gradient(circle at 18% 78%,rgba(244,200,107,.14) 0,transparent 18%),linear-gradient(64deg,transparent 32%,rgba(164,240,235,.1) 42%,transparent 51%);background-size:100% 100%,100% 100%,220% 100%;background-position:center,center,-120% 0;animation:bright-drift 12s ease-in-out infinite alternate,bright-flow 18s linear infinite}
.meteor-layer{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;opacity:.78}
.meteor{position:absolute;top:-14%;left:var(--left);width:2px;height:var(--length);border-radius:999px;background:linear-gradient(to bottom,transparent,rgba(173,239,242,.48) 24%,rgba(173,239,242,.96) 78%,rgba(255,218,126,1));box-shadow:0 0 7px rgba(132,232,238,.8),0 0 18px rgba(255,206,105,.35);transform:rotate(-18deg);animation:meteor-fall var(--duration) linear var(--delay) infinite}
.meteor:nth-child(3n){width:3px;background:linear-gradient(to bottom,transparent,rgba(255,220,132,.5) 24%,rgba(255,220,132,.95) 78%,#fff4c7);box-shadow:0 0 8px rgba(255,218,126,.9),0 0 20px rgba(255,206,105,.4)}
.topline,.nav,.quick-download,main,.footer{position:relative;z-index:1}
.section{padding-inline:clamp(22px,5vw,68px);padding-block:78px;margin-block:28px;border-radius:18px;overflow:hidden}
.section-heading{margin-bottom:30px}
.updates-intro,.events-intro{max-width:760px;line-height:1.9}
.topline{background:rgba(10,29,48,.78);color:#c7e6e8;border-color:rgba(121,201,213,.35)}
.nav{background:rgba(10,29,48,.68);border-color:rgba(190,233,235,.25);backdrop-filter:blur(12px)}
.brand{color:#f9fbf4}.brand>span:last-child>span{color:var(--bright-gold)}.brand small{color:#b1d3d8}.brand-mark{color:var(--bright-gold)}.nav nav{color:#e1f0ef}.nav nav a:hover{color:#fff;background:rgba(92,190,201,.18);border-color:rgba(168,231,229,.4)}
.hero{background-image:linear-gradient(90deg,rgba(10,28,47,.8),rgba(10,28,47,.42) 44%,rgba(10,28,47,.08));background-color:transparent;min-height:calc(100vh - 112px);border-color:rgba(195,233,232,.28)}
.hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 22%,rgba(179,246,235,.12) 37%,transparent 48%);background-size:220% 100%;animation:hero-sweep 11s ease-in-out infinite}
.hero::after{content:"";position:absolute;width:46vw;height:46vw;right:5%;top:6%;border-radius:50%;border:1px solid rgba(130,225,229,.2);box-shadow:0 0 80px rgba(111,211,218,.12),inset 0 0 60px rgba(111,211,218,.06);animation:bright-orbit 18s linear infinite}
.hero-copy{max-width:700px}.hero h1{color:#fffaf0;text-shadow:0 4px 18px rgba(4,17,30,.6)}.hero h1 em,h2 em{color:#ffd575}.lead{color:#e0eef0;text-shadow:0 2px 10px #092035}.hero-meta strong{color:#f8fbf2}.hero-meta div{border-color:rgba(190,233,235,.35)}
.button{background:linear-gradient(135deg,#f5c96c,#e4a94f);color:#173047;box-shadow:0 6px 20px rgba(244,200,107,.22)}.button:hover{background:linear-gradient(135deg,#ffe29a,#f1bc5c);box-shadow:0 8px 26px rgba(244,200,107,.4)}.text-link{color:#e5f4f1}
.ticker{background:rgba(17,54,75,.78);border-color:rgba(151,226,229,.3);backdrop-filter:blur(8px)}.ticker-label{color:#a9f0e7}.ticker-item{color:#e1f4f2}.ticker a{color:#ffdb82}
.section:not(.world):not(.events):not(.decorations){background-color:rgba(17,43,65,.5)}.section-heading{border-color:rgba(190,233,235,.34)}.section-heading:after{background:#f0b95a}.section h2,.download h2{color:#fff9ef}
.news-card,.event-card,.decoration-card{background:linear-gradient(145deg,rgba(37,78,105,.78),rgba(15,39,61,.72));border-color:rgba(190,233,235,.3);box-shadow:0 12px 34px rgba(2,16,30,.2)}.news-card:hover,.event-card:hover,.decoration-card:hover{border-color:#f3ca72;box-shadow:0 16px 36px rgba(2,16,30,.34)}.card-image{background:linear-gradient(135deg,#457e92,#183b59)}.news-card p,.news-card time{color:#c5dce0}.tag{color:#a9f0e7;border-color:rgba(169,240,231,.55)}
.world{background:linear-gradient(90deg,rgba(33,70,91,.72),rgba(18,50,74,.6),rgba(33,70,91,.72));border-color:rgba(190,233,235,.3)}.feature-list{border-color:rgba(190,233,235,.35)}.feature{border-color:rgba(190,233,235,.2)}.feature-icon{color:#ffd16d}.feature p,.body-copy{color:#c8dce0}
.updates,.events,.decorations{background:rgba(14,37,58,.56);border-color:rgba(190,233,235,.28)}.update-log-list{border-color:rgba(190,233,235,.24)}.update-entry{border-color:rgba(190,233,235,.2)}.update-entry[open]{background:rgba(9,29,47,.58)}.update-expand{color:#ffdb82;border-color:rgba(244,200,107,.7)}
.decoration-month,.decoration-category,.decoration-weapon-character,.decoration-weapon-type{background:rgba(103,172,187,.12);border-color:rgba(190,233,235,.32);color:#e0f0ed}.decoration-month:hover,.decoration-month.active,.decoration-category:hover,.decoration-category.active,.decoration-weapon-character:hover,.decoration-weapon-character.active,.decoration-weapon-type:hover,.decoration-weapon-type.active{background:#b54b3f;border-color:#ffd16d;color:#fff}
.event-poster{background:#0d263d}.event-card-body h3{color:#fff8ec}.event-card-body time{color:#ffdb82}
.download{background:linear-gradient(110deg,#d58d43,#e7bf68);border-color:rgba(255,239,182,.5)}.download h2{color:#132d43}.download p{color:#25485c}.download-card{background:rgba(12,47,64,.32)}
.footer{background:rgba(8,26,43,.7);border-color:rgba(190,233,235,.22)}
@keyframes bright-drift{from{transform:translate3d(-1%,0,0) scale(1)}to{transform:translate3d(1%,1%,0) scale(1.04)}}
@keyframes bright-flow{from{background-position:center,center,-120% 0}to{background-position:center,center,120% 0}}
@keyframes hero-sweep{0%,18%{background-position:-120% 0}65%,100%{background-position:120% 0}}
@keyframes bright-orbit{to{transform:rotate(360deg)}}
@keyframes meteor-fall{0%{opacity:0;transform:translate3d(5vw,-18vh,0) rotate(-18deg) scale(.55)}10%{opacity:.95}58%{opacity:.78}78%,100%{opacity:0;transform:translate3d(-24vw,118vh,0) rotate(-18deg) scale(1)}}
@media(max-width:600px){.section{padding-inline:20px;padding-block:58px;margin-block:18px;border-radius:14px}.hero::after{width:90vw;height:90vw;right:-30%;top:18%;opacity:.55}body::before{background-position:62% top;background-attachment:scroll}}
@media(prefers-reduced-motion:reduce){body::after,.hero::before,.hero::after{animation:none}}
@media(prefers-reduced-motion:reduce){.meteor-layer{display:none}}

/* 深夜浮空城覆蓋：低調、沉穩，保留金色華麗細節 */
html,body{background:#080f1b;color:#e9eef0}
body::before{background:linear-gradient(rgba(5,13,25,.55),rgba(5,13,25,.55)),url('public/world-background.png') center top/cover fixed no-repeat;opacity:1;filter:saturate(.72) brightness(.58)}
body::after{opacity:.48;background:radial-gradient(circle at 70% 24%,rgba(106,196,211,.11) 0,transparent 17%),radial-gradient(circle at 19% 78%,rgba(221,166,78,.08) 0,transparent 17%),linear-gradient(64deg,transparent 36%,rgba(164,240,235,.055) 44%,transparent 52%);background-size:100% 100%,100% 100%,220% 100%}
.meteor-layer{opacity:.42}.meteor{box-shadow:0 0 5px rgba(132,232,238,.55),0 0 12px rgba(255,206,105,.2)}
.topline,.nav{background:rgba(5,15,28,.86);border-color:rgba(184,211,218,.18)}
.nav nav{color:#b9cad0}.nav nav a:hover{background:rgba(186,142,69,.1);border-color:rgba(226,190,111,.28)}
.hero{background-image:radial-gradient(ellipse at 24% 46%,rgba(4,14,27,.74) 0,rgba(4,14,27,.42) 38%,rgba(4,14,27,.08) 72%,transparent 100%);border-color:rgba(210,177,104,.12)}
.hero::before{background:linear-gradient(105deg,transparent 26%,rgba(179,246,235,.055) 38%,transparent 48%)}.hero::after{opacity:.22;border-color:rgba(177,222,222,.1);box-shadow:0 0 60px rgba(111,211,218,.06),inset 0 0 45px rgba(111,211,218,.025)}
.hero-orbit{opacity:.2;mix-blend-mode:screen;filter:blur(.2px)}.hero-orbit .orbit-ring{border-color:rgba(177,222,222,.13)}.hero-orbit .orbit-ring:after{border-color:rgba(221,186,105,.1)}.hero-orbit .hero-badge{border-color:rgba(215,174,92,.18);color:rgba(239,202,115,.52);background:radial-gradient(circle,rgba(104,199,210,.08),transparent 68%)}
.hero h1{color:#f4f0e7;text-shadow:0 4px 18px rgba(0,0,0,.75)}.hero h1 em,h2 em{color:#d9aa5e}.lead{color:#b9cbd1}.hero-meta strong{color:#e8e1d3}
.button{background:linear-gradient(135deg,#cda15d,#a97538);color:#101c2a;box-shadow:0 5px 17px rgba(188,142,64,.14)}.button:hover{background:linear-gradient(135deg,#e8c87f,#bf8b47);box-shadow:0 7px 22px rgba(214,166,78,.24)}
.ticker{background:rgba(9,28,45,.82);border-color:rgba(128,194,202,.22)}
.section:not(.world):not(.events):not(.decorations){background-color:rgba(7,20,34,.68)}.world{background:linear-gradient(90deg,rgba(17,35,53,.8),rgba(9,26,43,.7),rgba(17,35,53,.8));border-color:rgba(128,194,202,.2)}
.news-card,.event-card,.decoration-card{background:linear-gradient(145deg,rgba(22,48,70,.8),rgba(7,23,39,.82));border-color:rgba(165,198,204,.22);box-shadow:0 12px 30px rgba(0,0,0,.22)}.news-card:hover,.event-card:hover,.decoration-card:hover{border-color:rgba(224,181,93,.72);box-shadow:0 15px 32px rgba(0,0,0,.34)}
.updates,.events,.decorations{background:rgba(7,20,34,.72);border-color:rgba(210,177,104,.2)}.update-entry[open]{background:rgba(4,14,26,.7)}.section-heading{border-color:rgba(187,210,214,.2)}.section-heading:after{background:#b8322d}
.download{background:linear-gradient(110deg,#6d2927,#9e4732);border-color:rgba(225,187,110,.3)}.download h2{color:#f2eadb}.download p{color:#d3bfae}
.footer{background:rgba(4,13,24,.82);border-color:rgba(165,198,204,.16)}
