:root{--bg:#0b1026;--bg2:#111736;--card:#161d42;--line:#232c5c;--txt:#e7eaf6;--mut:#9aa3c7;--mint:#3ef0b6;--ind:#6366f1;--rad:14px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;background:var(--bg);color:var(--txt);line-height:1.65}
a{color:var(--mint);text-decoration:none}a:hover{text-decoration:underline}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:1180px;margin:0 auto;padding:0 16px}
h1{font-size:clamp(1.5rem,3.4vw,2.2rem);line-height:1.25;margin:.6em 0 .3em}
h2{font-size:clamp(1.15rem,2.4vw,1.5rem);margin:1.4em 0 .5em}h3{font-size:1.05rem;margin:.8em 0 .3em}
.sub{color:var(--mut);margin-top:0}
.site-head{position:sticky;top:0;z-index:50;background:rgba(11,16,38,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.site-head .wrap{display:flex;align-items:center;gap:14px;min-height:62px;flex-wrap:wrap;padding-top:6px;padding-bottom:6px}
.brand{display:flex;align-items:center;gap:8px;font-weight:800;font-size:1.1rem;color:var(--txt)}
.brand:hover{text-decoration:none}
.logo-mark{width:34px;height:34px}
.brand-name b{color:var(--mint)}.brand-name i{color:var(--ind);font-style:normal}
.main-nav{display:flex;gap:4px;flex-wrap:wrap}
.main-nav a{color:var(--txt);padding:7px 11px;border-radius:9px;font-size:.92rem}
.main-nav a:hover,.main-nav a.on{background:var(--card);color:var(--mint);text-decoration:none}
.searchbox{position:relative;margin-left:auto;flex:1;max-width:320px;min-width:170px}
.searchbox input{width:100%;padding:9px 13px;border-radius:10px;border:1px solid var(--line);background:var(--bg2);color:var(--txt);font-size:.92rem}
.searchbox input:focus{outline:2px solid var(--ind)}
.qres{position:absolute;top:110%;left:0;right:0;background:var(--bg2);border:1px solid var(--line);border-radius:10px;max-height:330px;overflow:auto;z-index:60}
.qres a{display:flex;gap:9px;align-items:center;padding:8px 10px;color:var(--txt)}
.qres a:hover{background:var(--card);text-decoration:none}
.qres img{width:46px;height:35px;object-fit:cover;border-radius:6px}
.nav-toggle{display:none;background:none;border:1px solid var(--line);color:var(--txt);border-radius:8px;padding:6px 10px;font-size:1.1rem}
.hero{padding:26px 0 4px}
.chiprow{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}
.chip{background:var(--card);border:1px solid var(--line);color:var(--txt);padding:6px 13px;border-radius:999px;font-size:.86rem}
.chip:hover{border-color:var(--mint);color:var(--mint);text-decoration:none}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:13px;margin:14px 0}
.gcard{background:var(--card);border:1px solid var(--line);border-radius:var(--rad);overflow:hidden;color:var(--txt);transition:transform .15s,border-color .15s;display:block}
.gcard:hover{transform:translateY(-3px);border-color:var(--mint);text-decoration:none}
.gcard img{width:100%;aspect-ratio:4/3;object-fit:cover}
.gcard-t{display:block;padding:9px 11px;font-size:.88rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-top:26px}
.more{font-size:.9rem;white-space:nowrap}
.crumbs{font-size:.84rem;color:var(--mut);margin:14px 0 2px}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:4px;margin:0;padding:0}
.crumbs li+li::before{content:"›";margin:0 5px;color:var(--mut)}
.player{position:relative;width:100%;background:#000;border-radius:var(--rad);overflow:hidden;border:1px solid var(--line);margin:14px 0 8px}
.player.landscape{aspect-ratio:16/9}.player.portrait{aspect-ratio:9/13;max-width:430px;margin-left:auto;margin-right:auto}
.player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.player-poster{position:absolute;inset:0;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center}
.player-poster::before{content:"";position:absolute;inset:0;background:rgba(8,10,30,.55)}
.play-btn{position:relative;background:linear-gradient(135deg,var(--mint),var(--ind));color:#06102a;border:0;font-weight:800;font-size:1.06rem;padding:15px 30px;border-radius:999px;cursor:pointer;box-shadow:0 8px 30px rgba(62,240,182,.35)}
.play-btn:hover{transform:scale(1.04)}
.player-bar{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:8px}
.mini-btn{background:var(--card);border:1px solid var(--line);color:var(--txt);padding:7px 13px;border-radius:9px;font-size:.86rem;cursor:pointer}
.mini-btn:hover{border-color:var(--mint);color:var(--mint);text-decoration:none}
.prose p,.prose-page p,article>section p{color:#c9d0ea}
.prose-page article{max-width:820px}
ul{padding-left:1.25em}article li{margin:.3em 0;color:#c9d0ea}
.faq{margin:30px 0}
.faq-i{background:var(--card);border:1px solid var(--line);border-radius:11px;margin:9px 0;padding:3px 15px}
.faq-i summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px}
.faq-i summary::before{content:"＋";color:var(--mint);font-weight:700}
.faq-i[open] summary::before{content:"－"}
.faq-i h3{display:inline;font-size:.98rem;margin:0}.faq-i summary{padding:9px 0}
.faq-i p{color:#c9d0ea}
.post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:15px;margin:18px 0}
.post-card{background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:17px;color:var(--txt);display:block}
.post-card:hover{border-color:var(--mint);text-decoration:none}
.post-card h2{margin:0 0 7px;font-size:1.05rem}.post-card p{color:var(--mut);font-size:.88rem;margin:0 0 9px}
.site-foot{border-top:1px solid var(--line);background:var(--bg2);margin-top:50px;padding:34px 0 0;font-size:.9rem}
.grid4{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:22px}
.site-foot h3{font-size:.95rem;color:var(--mint)}
.foot-list{list-style:none;padding:0;margin:0}.foot-list li{margin:5px 0}
.foot-list a,.site-foot p{color:var(--mut)}.langs a{margin-right:4px}
.copy{border-top:1px solid var(--line);margin-top:22px;padding:13px 16px;text-align:center;color:var(--mut);font-size:.82rem}
.cols{columns:3 220px;column-gap:28px;list-style:none;padding:0}.cols li{margin:4px 0;break-inside:avoid}
@media(max-width:760px){.main-nav{display:none;width:100%}.main-nav.open{display:flex}.nav-toggle{display:block;order:3}.searchbox{order:2}}
