@import url('https://fonts.googleapis.com/css2?family=Space+Mono:wght@400;700&family=Syncopate:wght@400;700&display=swap');

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
:root{
--lime:#80ff00;
--fluor:#00ff00;
--ink:#1f2617;
--deep:#0e1409;
--paper:#efffdd;
--mute:#b9caa8;
--r:18px;
--mono:'Space Mono',ui-monospace,Menlo,Consolas,monospace;
--disp:'Syncopate','Space Mono',system-ui,sans-serif;
--cjk:'PingFang SC','Hiragino Sans GB','Microsoft YaHei',system-ui,sans-serif;
}
body{
margin:0;background:var(--ink);color:var(--paper);
font:16px/1.7 var(--cjk);overflow-x:hidden;
background-image:radial-gradient(90% 60% at 12% 0%,rgba(0,255,0,.09),transparent 60%),radial-gradient(70% 50% at 100% 30%,rgba(128,255,0,.07),transparent 70%);
}
body::after{
content:'';position:fixed;inset:0;pointer-events:none;z-index:70;opacity:.34;
background-image:radial-gradient(rgba(128,255,0,.5) 1px,transparent 1px),radial-gradient(rgba(0,255,0,.35) 1px,transparent 1px);
background-size:7px 7px,13px 13px;background-position:0 0,4px 5px;
mix-blend-mode:screen;
}
img{max-width:100%;display:block}
a{color:var(--lime)}
:focus-visible{outline:3px solid var(--fluor);outline-offset:2px}

/* 顶部跑马灯 */
.topline{background:var(--lime);color:var(--ink);overflow:hidden;padding:7px 0;font:700 12px/1.1 var(--mono);letter-spacing:.16em;filter:saturate(140%)}
.mq{display:flex;width:max-content;animation:slide 32s linear infinite}
.mq span{padding-right:2.2rem;white-space:nowrap}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* 页头：品牌居中，菜单两翼 */
.masthead{
display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.6rem;
padding:12px clamp(10px,4vw,40px);background:var(--deep);
border-bottom:3px solid var(--lime);
}
.masthead nav p{display:flex;flex-wrap:wrap;gap:.1rem;margin:0;padding:0;justify-content:flex-end}
.nav-r p{justify-content:flex-start!important}
.masthead nav a{
display:inline-flex;align-items:center;min-height:40px;padding:0 .5rem;
font:700 15px/1.2 var(--cjk);letter-spacing:.02em;color:var(--paper);text-decoration:none;
border-radius:6px;transform:rotate(-1.4deg);transition:background .16s,color .16s,transform .16s;
}
.masthead nav a:nth-child(even){transform:rotate(1.2deg)}
.masthead nav a:hover{background:var(--lime);color:var(--ink);transform:rotate(-2deg) translateY(-2px)}
.brand{
font:700 clamp(15px,2.3vw,20px)/1 var(--disp);letter-spacing:.2em;color:var(--lime);
text-decoration:none;padding:.55rem .8rem;border:2px solid var(--lime);border-radius:5px;
background:var(--deep);white-space:nowrap;transform:rotate(-1deg);
animation:jit 6s steps(4,end) infinite;
}
@keyframes jit{0%,100%{transform:rotate(-1.2deg)}25%{transform:rotate(1.4deg) translateY(-1px)}50%{transform:rotate(-.4deg)}75%{transform:rotate(1deg)}}

/* 二级粘性锚点条 */
.jumpbar{position:sticky;top:0;z-index:50;background:rgba(14,20,9,.96);border-bottom:2px dashed rgba(128,255,0,.45);padding:7px 0;backdrop-filter:blur(4px)}
.jumpbar nav p{display:flex;gap:.4rem;margin:0;padding:0 clamp(10px,3vw,28px);overflow-x:auto;scrollbar-width:none}
.jumpbar nav p::-webkit-scrollbar{display:none}
.jumpbar nav a{
flex:0 0 auto;display:inline-flex;align-items:center;min-height:40px;padding:0 .75rem;
font:700 14px/1 var(--cjk);color:var(--lime);text-decoration:none;
border:1px solid rgba(128,255,0,.45);border-radius:999px;transition:background .16s,color .16s;
}
.jumpbar nav a:hover{background:var(--lime);color:var(--ink)}

/* Hero */
.hero{
position:relative;min-height:45vh;display:grid;grid-template-columns:auto 1fr;
align-items:end;gap:clamp(12px,3vw,30px);overflow:hidden;
padding:clamp(18px,4vw,44px) clamp(14px,5vw,56px) clamp(20px,4vw,52px);
background:radial-gradient(120% 100% at 100% 0%,rgba(0,255,0,.18),transparent 62%);
border-bottom:2px solid var(--lime);
}
.ghost{
position:absolute;right:1%;top:-6%;z-index:0;pointer-events:none;
font:700 clamp(90px,23vw,240px)/1 var(--disp);letter-spacing:-.05em;
color:transparent;-webkit-text-stroke:2px rgba(128,255,0,.4);
}
.hero-sticker{
position:relative;z-index:2;margin:0;width:clamp(84px,15vw,148px);aspect-ratio:1;
background:var(--lime);border:3px solid var(--ink);border-radius:var(--r);
display:grid;place-items:center;overflow:hidden;transform:rotate(-7deg);
filter:saturate(150%);box-shadow:6px 6px 0 rgba(0,0,0,.45);
animation:sway 7s ease-in-out infinite;
}
@keyframes sway{0%,100%{transform:rotate(-7deg)}50%{transform:rotate(-3deg) translateY(-4px)}}
.hero-sticker .stick{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply}
.tape{position:absolute;top:-9px;left:50%;transform:translateX(-50%) rotate(5deg);width:54px;height:18px;background:rgba(255,255,255,.5);border-radius:2px}
.hero-copy{position:relative;z-index:2;text-align:right}
h1{
margin:0;font:700 clamp(30px,6.6vw,70px)/1.08 var(--disp);letter-spacing:.02em;
color:var(--paper);text-shadow:4px 4px 0 rgba(0,255,0,.28);
}
main{display:block}

/* 正文 + 右栏 */
.shell{
display:grid;grid-template-columns:minmax(0,1fr) 19rem;
gap:clamp(18px,3vw,40px);align-items:start;max-width:1280px;margin:0 auto;
padding:clamp(22px,4vw,48px) clamp(14px,5vw,56px) 0;
}
.sechead,.railhead{
display:inline-block;margin:0 0 1.2rem;padding:.5rem .85rem;
font:700 14px/1 var(--cjk);letter-spacing:.28em;color:var(--ink);
background:var(--lime);border-radius:4px;transform:rotate(-1.2deg);
}
.railhead{background:var(--fluor);font-size:13px;margin-bottom:.9rem}
.col>section{padding-bottom:1.3em;margin-bottom:1.7em;border-bottom:1px dashed rgba(128,255,0,.22);scroll-margin-top:96px}
main section[id]{scroll-margin-top:96px}
.col h2,.col h3{font-family:var(--disp);line-height:1.3;letter-spacing:.01em;color:var(--lime);margin:2em 0 .75em}
.col h2{font-size:clamp(22px,3.4vw,32px)}
.col h3{font-size:clamp(18px,2.4vw,23px)}
.col h2 span,.col h3 span{display:inline-block;padding:.08em .35em;border-radius:6px;background:rgba(128,255,0,.12);border-bottom:3px solid var(--lime);transform:rotate(-.7deg)}
.col p{margin:0 0 1.1em;font-size:17px;line-height:1.9;max-width:68ch}
.col ul,.col ol{padding-left:1.5em;line-height:1.9;font-size:17px}
.col li{margin:.35em 0}
.col blockquote{margin:1.6em 0;padding:1rem 1.2rem;background:rgba(128,255,0,.1);border-left:6px solid var(--lime);border-radius:0 14px 14px 0;transform:rotate(-.3deg)}
.col blockquote p:last-child{margin:0}

/* 右侧边栏 */
.rail{
position:sticky;top:6.4rem;padding:1rem;
background:var(--deep);border:2px solid var(--lime);border-bottom:6px solid var(--lime);
border-radius:var(--r);transform:rotate(.7deg);
}
.rail ul{list-style:none;margin:0;padding:0;display:grid;gap:.15rem}
.rail a{
display:flex;align-items:center;min-height:40px;padding:0 .55rem;
font:700 15px/1.3 var(--cjk);color:var(--paper);text-decoration:none;
border-radius:8px;border-bottom:1px solid rgba(128,255,0,.16);
transition:background .16s,color .16s,transform .16s;
}
.rail a:hover{background:var(--lime);color:var(--ink);transform:translateX(4px)}

/* 页脚：仅 p 与 small */
footer{
margin-top:3rem;padding:clamp(22px,4vw,44px) clamp(14px,5vw,56px) 1.4rem;
background:var(--deep);border-top:4px solid var(--lime);
display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem 1.4rem;
}
.foot-mark{
grid-column:1/-1;margin:0 0 .4rem;font:700 clamp(28px,8.5vw,88px)/1 var(--disp);
letter-spacing:.02em;color:transparent;-webkit-text-stroke:2px var(--lime);
word-break:break-all;filter:saturate(140%);
}
footer p{margin:0;font:700 16px/1.7 var(--cjk)}
footer p a{display:inline-flex;align-items:center;min-height:40px;padding-right:.7rem;color:var(--mute);text-decoration:none;border-bottom:1px solid transparent}
footer p a:hover{color:var(--lime);border-bottom-color:var(--lime)}
footer small{grid-column:1/-1;text-align:center;padding-top:.9rem;margin-top:.4rem;border-top:1px dashed rgba(128,255,0,.25);color:var(--mute);font:400 14px/1.6 var(--mono);letter-spacing:.06em}

/* 滚动揭示 */
.rv{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}
.rv.in{opacity:1;transform:none}

@media (max-width:900px){
.shell{grid-template-columns:minmax(0,1fr)}
.rail{position:static;transform:none;order:2}
}
@media (max-width:620px){
.masthead{grid-template-columns:1fr;justify-items:center;gap:.2rem;padding:10px 12px}
.masthead nav p{justify-content:center!important}
.hero{min-height:38vh;grid-template-columns:auto 1fr;gap:10px}
.ghost{top:-2%;right:0;opacity:.8}
footer{grid-template-columns:repeat(2,minmax(0,1fr))}
.foot-mark{text-align:center}
}
@media (prefers-reduced-motion:reduce){
*{animation:none!important;transition:none!important}
.rv{opacity:1;transform:none}
html{scroll-behavior:auto}
}

button[aria-expanded]{min-width:44px;min-height:44px}
