/* 暗影刺客 | timeline | layout-21 | info-lottery-qq.com.cn */
:root{
--bg:#000000;
--bg-2:#2d2d2d;
--surface:rgba(15,23,42,.76);
--card:rgba(15,23,42,.68);
--primary:#000000;
--accent:#f8fafc;
--text:#f8fafc;
--muted:#dbe4f0;
--radius:16px;
--gap:19px;
--max:1218px;
--shadow-y:11px;
--card-pad:23px;
}

*{
box-sizing:border-box;
font-family:"Segoe UI"}

html{
scroll-behavior:smooth}
 body{
margin:0;
color:var(--text);
background:radial-gradient(circle at 20% 40%,color-mix(in srgb,var(--accent) 24%,transparent),transparent 34%),linear-gradient(145deg,var(--bg),var(--bg-2));
background-attachment:fixed;
line-height:1.75;
min-height:100vh}

a{
color:var(--accent);
text-decoration:none}
 a:hover{
filter:brightness(1.15)}
 nav{
position:sticky;
top:0;
z-index:20;
background:color-mix(in srgb,var(--bg) 82%,transparent);
backdrop-filter:blur(15px);
border-bottom:1px none color-mix(in srgb,var(--accent) 52%,transparent)}

.nav-links{
max-width:var(--max);
margin:auto;
padding:14px 22px;
display:flex;
flex-wrap:wrap;
justify-content:space-between;
gap:15px}
 .nav-links a{
font-weight:700;
color:var(--text);
font-size:0.88rem}

main{
max-width:var(--max);
margin:auto;
padding:0 22px 70px}
 .hero{
min-height:430px;
display:grid;
grid-template-columns:56fr 44fr;
gap:var(--gap);
align-items:center;
text-align:right;
padding:74px 0}

.hero-copy{
order:0}
.hero-art{
order:1;
position:relative}
 .hero img{
height:366px;
object-fit:cover;
border-radius:32px 8px;
box-shadow:0 0 28px color-mix(in srgb,var(--accent) 45%,transparent)}

h1{
font-size:clamp(2.15rem,5.7vw,5.3rem);
line-height:1.08;
margin:.2em 0;
letter-spacing:0.00em}
 h2{
font-size:clamp(1.55rem,3vw,2.55rem);
line-height:1.2;
margin:.25em 0 .65em}
 h3{
line-height:1.3}

.eyebrow,.tag{
display:inline-block;
padding:5px 11px;
border-radius:6px;
background:var(--accent);
color:#111827;
font-size:.8rem;
font-weight:800;
letter-spacing:.08em}
 .lede{
font-size:1.05rem;
color:var(--muted);
max-width:880px}

.content-flow{
display:flex;
flex-direction:column;
gap:42px}
 section{
scroll-margin-top:90px}
 .section-shell{
padding:45px;
border-radius:var(--radius);
background:color-mix(in srgb,var(--surface) 84%,transparent);
border:1px solid color-mix(in srgb,var(--primary) 31%,transparent);
box-shadow:0 var(--shadow-y) 45px rgba(0,0,0,.12)}

.section-shell:nth-child(2n){
margin-left:0%;
margin-right:9%}
 .section-shell:nth-child(5n){
border-left:5px solid var(--accent)}

.grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(298px,1fr));
gap:var(--gap)}
 .card,article,.faq-item,.data-row{
padding:var(--card-pad);
border-radius:var(--radius);
background:var(--card);
border:0px none color-mix(in srgb,var(--accent) 48%,transparent);
box-shadow:0 0 28px color-mix(in srgb,var(--accent) 45%,transparent);
}

article{
overflow:hidden}
 article h3{
font-size:1.2rem;
margin:.7em 0 .35em}
 article p,.card p{
color:var(--muted)}
 .feature-image{
width:100%;
height:410px;
object-fit:cover;
border-radius:var(--radius)}

.article-media-group{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(175px,1fr));
gap:calc(var(--gap) * .7);
margin:16px 0 4px}
 .article-media{
margin:16px 0 4px}
 .article-media-group .article-media{
margin:0}
 .article-media .feature-image{
display:block;
height:216px;
box-shadow:0 10px 28px rgba(0,0,0,.16)}

.image-gallery{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
gap:var(--gap);
margin-top:calc(var(--gap) * 1.2)}
 .image-gallery .feature-image{
height:214px;
box-shadow:0 12px 32px rgba(0,0,0,.16)}
 .image-gallery .feature-image:nth-child(2n){
grid-column:span 1}

.key-points{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
gap:12px;
padding:0;
list-style:none}
.key-points li{
position:relative;
padding:15px 16px 15px 42px;
border-radius:calc(var(--radius) * .7);
background:color-mix(in srgb,var(--surface) 88%,var(--primary) 12%);
border:1px solid color-mix(in srgb,var(--primary) 25%,transparent)}
.key-points li::before{
content:"✓";
position:absolute;
left:16px;
color:var(--accent);
font-weight:900}

.data-list{
display:grid;
gap:12px}
.data-row{
display:grid;
grid-template-columns:minmax(130px,.7fr) 1.8fr;
gap:20px;
align-items:start}
 .data-row strong{
color:var(--accent)}

.score-board{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(245px,1fr));
gap:var(--gap)}
 .score-entry{
padding:18px;
border-radius:var(--radius);
background:color-mix(in srgb,var(--card) 92%,var(--primary) 8%);
border:1px solid color-mix(in srgb,var(--accent) 35%,transparent)}
 .score-meta{
display:flex;
justify-content:space-between;
gap:12px;
color:var(--muted);
font-size:.9rem}
 .score-teams{
display:grid;
grid-template-columns:1fr auto 1fr;
gap:12px;
align-items:center;
margin-top:13px;
font-size:1.02rem;
font-weight:750}
 .score-teams span:last-child{
text-align:right}
 .scoreline{
font-size:1.35rem;
color:var(--accent);
white-space:nowrap}
 .match-status{
padding:3px 9px;
border-radius:999px;
background:var(--accent);
color:#111827;
font-size:.78rem;
font-weight:800}
 .score-note{
margin-top:14px;
color:var(--muted);
font-size:.9rem}

.cta{
text-align:right;
padding:54px;
background:linear-gradient(230deg,var(--primary),var(--accent));
color:white;
border-radius:var(--radius);
box-shadow:0 0 28px color-mix(in srgb,var(--accent) 45%,transparent)}
 .cta a{
color:white;
font-weight:800;
border-bottom:1px solid white}

footer{
padding:54px 20px;
text-align:right;
background:color-mix(in srgb,var(--surface) 86%,black 14%);
color:var(--muted)}
 footer p{
margin:5px auto;
max-width:var(--max)}

.grid{
grid-template-columns:1fr;
border-left:2px solid var(--accent);
padding-left:24px}
.grid>*{
position:relative}
.grid>*::before{
content:"";
position:absolute;
width:12px;
height:12px;
border-radius:50%;
background:var(--accent);
left:-31px;
top:24px}

@media(max-width:760px){
.hero{
grid-template-columns:1fr;
text-align:left;
min-height:auto;
padding:42px 0}
.hero-copy,.hero-art{
order:initial}
.nav-links{
justify-content:flex-start}
.data-row{
grid-template-columns:1fr}
.section-shell:nth-child(n){
margin-left:0;
margin-right:0}
.image-gallery .feature-image:nth-child(n){
grid-column:span 1}
.grid{
display:grid;
grid-template-columns:1fr;
grid-auto-flow:row;
grid-auto-columns:auto;
columns:1;
overflow:visible;
padding-left:0;
border-left:0}
.grid>*:nth-child(n){
grid-column:span 1;
grid-row:span 1;
margin-left:0;
margin-right:0;
transform:none}
}


    main{
max-width:var(--max);
margin:auto;
padding:28px 24px}

    .hero{
display:grid;
gap:32px;
margin:20px 0 44px;
padding:30px;
background:var(--surface);
border-radius:var(--radius)}

    .hero h1{
font-size:clamp(26px,3vw,44px);
line-height:1.35;
overflow-wrap:anywhere}

    .hero-copy p{
font-size:17px;
line-height:1.95}
.hero-media{
overflow:hidden;
border-radius:var(--radius)}

    img{
display:block;
width:100%;
height:100%;
object-fit:cover}
.hero-media img{
min-height:240px}

    figure{
margin:0;
overflow:hidden}
.news-card figure img{
aspect-ratio:3/2;
height:auto}

    .content-section{
margin:32px 0;
padding:24px;
background:var(--surface);
border-radius:var(--radius);
scroll-margin-top:100px}

    .news-grid{
display:grid;
gap:var(--gap)}
.news-card{
min-width:0;
background:var(--card);
border-radius:var(--radius);
overflow:hidden}

    .article-copy{
padding:22px}
.article-copy h3{
font-size:22px;
line-height:1.5}
.article-copy p{
line-height:1.95}

    .feature-copy{
max-width:900px}
.meta{
font-size:13px;
color:var(--muted)}

    .faq-grid,.version-grid{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:20px}

    .faq-card,.version-card{
padding:20px;
background:var(--card);
border-radius:var(--radius)}
summary{
cursor:pointer;
font-weight:600;
line-height:1.7}

    .table-wrap{
overflow-x:auto}
table{
width:100%;
border-collapse:collapse;
min-width:580px}
th,td{
text-align:left;
padding:14px;
border-bottom:1px solid var(--muted)}
caption{
text-align:left;
padding:12px}

    .balls{
display:flex;
gap:12px;
flex-wrap:wrap}
.ball{
background:#b91c1c;
color:#fff;
border-radius:50%;
width:48px;
height:48px;
display:grid;
place-items:center}
.ball.blue{
background:#1d4ed8}

    .nav-links{
max-width:var(--max);
margin:auto;
display:flex;
flex-wrap:wrap;
gap:14px;
padding:16px}
.jump-links{
max-width:var(--max);
margin:0 auto;
padding:10px 16px;
display:flex;
gap:16px;
flex-wrap:wrap}

    footer{
max-width:var(--max);
margin:auto;
padding:36px 24px}
.breadcrumbs{
padding:6px 0;
font-size:14px}

    .hero{
grid-template-columns:3fr 2fr}
.news-grid{
grid-template-columns:repeat(3,1fr)}
.news-card:first-child{
grid-column:span 2}

    @media(max-width:760px){
.hero{
display:flex;
flex-direction:column;
padding:20px}
.hero-copy{
order:0!important}
.hero-media{
float:none;
width:100%;
margin:0;
max-height:320px}
.news-grid,.faq-grid,.version-grid{
display:grid;
grid-template-columns:1fr}
.news-card,.news-card:first-child,.news-card:nth-child(even),.news-card:nth-child(4n+1){
display:block;
grid-column:auto;
margin-top:0}
.content-section:nth-of-type(even){
margin-left:0}
.news-card figure{
order:0}
.content-section{
padding:18px}
main{
padding:14px}
.nav-links{
gap:10px}
h2{
font-size:24px}
}

    
/* News cards without an illustration retain full readable width. */
.news-card:not(:has(img)) {
  display: block;
}
