:root{
  --bg:#0b0f1d;
  --panel:#0f1630;
  --panel2:#121a3a;
  --text:#eaf0ff;
  --muted:#b8c2e6;
  --line:rgba(255,255,255,.10);
  --shadow:0 18px 50px rgba(0,0,0,.35);
  --shadow2:0 10px 24px rgba(0,0,0,.28);
  --r12:12px;
  --r16:16px;
  --r20:20px;
  --space:16px;
  --brand1:#ff4d8d;
  --brand2:#7c4dff;
  --brand3:#41d1ff;
  --warn:#ffcf4d;
  --ok:#65ffa4;
  --danger:#ff5e6a;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Noto Sans CJK SC","Microsoft YaHei",Segoe UI,Roboto,Arial,sans-serif;
  background:radial-gradient(1200px 800px at 20% -10%, rgba(124,77,255,.20), transparent 55%),
             radial-gradient(900px 600px at 90% 0%, rgba(255,77,141,.18), transparent 55%),
             var(--bg);
  color:var(--text);
  line-height:1.6;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

.topbar{position:sticky;top:0;z-index:50;background:rgba(11,15,29,.82);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.topbar-inner{max-width:1160px;margin:0 auto;display:flex;align-items:center;gap:14px;padding:12px 16px}
.brand{display:flex;align-items:center;gap:10px}
.brand-logo{width:120px;height:30px}
.brand-name{font-weight:800;letter-spacing:.5px}
.menu-toggle{margin-left:auto;background:transparent;border:1px solid var(--line);border-radius:12px;color:var(--text);width:44px;height:40px;display:none;align-items:center;justify-content:center;cursor:pointer}
.menu-bars{width:18px;height:2px;background:var(--text);position:relative;display:block;border-radius:999px}
.menu-bars:before,.menu-bars:after{content:"";position:absolute;left:0;width:18px;height:2px;background:var(--text);border-radius:999px}
.menu-bars:before{top:-6px}
.menu-bars:after{top:6px}

.navwrap{margin-left:auto;display:flex;align-items:center;gap:14px}
.navlinks{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.nav-link{padding:8px 10px;border-radius:999px;border:1px solid transparent;color:var(--muted);transition:.18s ease}
.nav-link:hover{border-color:rgba(255,255,255,.20);color:var(--text);transform:translateY(-1px)}
.nav-link.is-active{background:linear-gradient(90deg, rgba(255,77,141,.22), rgba(124,77,255,.22));border-color:rgba(255,255,255,.16);color:var(--text)}
.navactions{display:flex;align-items:center;gap:10px}
.action-link{padding:8px 10px;border-radius:12px;border:1px solid var(--line);color:var(--text);background:rgba(255,255,255,.04);transition:.18s ease}
.action-link:hover{transform:translateY(-1px);border-color:rgba(255,255,255,.22)}

.page{max-width:1160px;margin:0 auto;padding:20px 16px 56px}
.home-block{margin-top:22px}
.block-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:12px}
.section-title{margin:0;font-size:20px;letter-spacing:.3px}
.section-sub{margin:6px 0 0;color:var(--muted);font-size:14px}
.page-head{margin:10px 0 18px}
.page-h1{margin:0;font-size:28px;line-height:1.25}
.page-lead{margin:10px 0 0;color:var(--muted)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border-radius:14px;border:1px solid transparent;font-weight:700;cursor:pointer;transition:.18s ease;white-space:nowrap}
.btn-primary{background:linear-gradient(90deg,var(--brand1),var(--brand2));color:#0b0f1d}
.btn-primary:hover{filter:brightness(1.06);transform:translateY(-1px)}
.btn-secondary{background:rgba(65,209,255,.16);border-color:rgba(65,209,255,.26);color:var(--text)}
.btn-secondary:hover{transform:translateY(-1px);border-color:rgba(65,209,255,.42)}
.btn-ghost{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12);color:var(--text)}
.btn-ghost:hover{transform:translateY(-1px);border-color:rgba(255,255,255,.22)}

.chip{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);color:var(--muted);font-size:12px}
.badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);color:var(--text);font-size:12px}
.meta-pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:rgba(124,77,255,.18);border:1px solid rgba(124,77,255,.22);color:var(--text);font-size:12px}
.meta-dot{color:rgba(255,255,255,.40);margin:0 6px}

.focus-hero{position:relative;border:1px solid var(--line);border-radius:var(--r20);overflow:hidden;box-shadow:var(--shadow)}
.hero-bg{position:absolute;inset:0;opacity:.68}
.hero-visual{width:100%;height:100%;object-fit:cover;filter:saturate(1.05) contrast(1.05)}
.hero-inner{position:relative;display:grid;grid-template-columns:1.4fr .9fr;gap:16px;padding:22px}
.hero-copy{background:linear-gradient(180deg, rgba(11,15,29,.75), rgba(11,15,29,.50));border:1px solid rgba(255,255,255,.14);border-radius:var(--r20);padding:18px}
.hero-title{margin:0;font-size:30px;line-height:1.22;letter-spacing:.2px}
.hero-desc{margin:10px 0 0;color:rgba(234,240,255,.86)}
.hero-cta{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}
.hero-chips{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}
.hero-mini{display:flex;flex-direction:column;gap:12px}
.mini-card{border:1px solid var(--line);border-radius:var(--r20);background:rgba(15,22,48,.70);padding:14px}
.mini-title{font-weight:800}
.mini-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.mini-actions{display:grid;gap:8px;margin-top:10px}
.mini-link{padding:10px 12px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:var(--text);transition:.18s ease}
.mini-link:hover{transform:translateY(-1px);border-color:rgba(255,255,255,.22)}

.service-strip{margin-top:18px;border:1px solid var(--line);border-radius:var(--r20);background:rgba(15,22,48,.55);box-shadow:var(--shadow2)}
.service-inner{padding:18px}
.index-tool{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-top:10px}
.field{display:flex;flex-direction:column;gap:8px;min-width:220px}
.field-wide{min-width:280px;flex:1}
.field-label{font-size:12px;color:var(--muted)}
.field-input,.field-select,.field-textarea{
  width:100%;padding:10px 12px;border-radius:14px;border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);color:var(--text);outline:none;
}
.field-input:focus,.field-select:focus,.field-textarea:focus{border-color:rgba(65,209,255,.45);box-shadow:0 0 0 4px rgba(65,209,255,.10)}
.tool-hint,.filter-hint{margin-top:10px;color:rgba(234,240,255,.84);font-size:13px}

.gossip-rank{display:grid;gap:12px}
.gossip-rank-row{display:grid;grid-template-columns:60px 240px 1fr;gap:12px;align-items:stretch;border:1px solid var(--line);border-radius:var(--r20);background:rgba(15,22,48,.55);overflow:hidden;box-shadow:var(--shadow2)}
.rank-no{display:flex;align-items:center;justify-content:center;font-weight:900;font-size:20px;background:linear-gradient(180deg, rgba(255,77,141,.18), rgba(124,77,255,.16));border-right:1px solid rgba(255,255,255,.08)}
.rank-media img{width:100%;height:100%;object-fit:cover}
.rank-main{padding:12px 12px 14px}
.rank-title{margin:0;font-size:16px;line-height:1.35}
.rank-title a:hover{text-decoration:underline}
.rank-summary{margin:8px 0 0;color:rgba(234,240,255,.78);font-size:13px}
.rank-meta{margin-top:10px;color:var(--muted);font-size:12px;display:flex;flex-wrap:wrap;align-items:center}
.heatbar{height:10px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;margin-top:10px}
.heatbar-fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--warn),var(--brand1),var(--brand2))}

.topic-stream{display:grid;grid-template-columns:repeat(3, 1fr);gap:12px}
.topic-ribbon{position:relative;border-radius:var(--r20);overflow:hidden;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);box-shadow:var(--shadow2);transition:.18s ease}
.topic-ribbon:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.22)}
.topic-cover{width:100%;height:210px;object-fit:cover}
.topic-overlay{position:absolute;left:0;right:0;bottom:0;padding:12px;background:linear-gradient(180deg, transparent, rgba(0,0,0,.72))}
.topic-heat{display:inline-flex;padding:6px 10px;border-radius:999px;background:rgba(255,207,77,.14);border:1px solid rgba(255,207,77,.25);font-size:12px}
.topic-name{margin:10px 0 0;font-size:15px;line-height:1.35}
.topic-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.topic-tag{font-size:12px;color:rgba(234,240,255,.80);border:1px solid rgba(255,255,255,.14);padding:5px 9px;border-radius:999px;background:rgba(255,255,255,.05)}

.channel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.channel-slice{border:1px solid var(--line);border-radius:var(--r20);background:rgba(15,22,48,.55);overflow:hidden;box-shadow:var(--shadow2)}
.channel-head{padding:14px 14px 0}
.channel-title{margin:0;font-size:16px}
.channel-title a:hover{text-decoration:underline}
.channel-desc{margin:8px 0 14px;color:var(--muted);font-size:13px}
.channel-feature{position:relative;display:block}
.channel-feature img{width:100%;height:210px;object-fit:cover}
.channel-mask{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:12px;background:linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.74))}
.channel-kicker{font-size:12px;color:rgba(234,240,255,.78)}
.channel-article{font-weight:800;margin-top:6px}
.channel-meta{margin-top:8px;color:rgba(234,240,255,.72);font-size:12px}

.reveal-mosaic{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.reveal-tile{border:1px solid var(--line);border-radius:var(--r20);background:rgba(15,22,48,.55);overflow:hidden;box-shadow:var(--shadow2);transition:.18s ease}
.reveal-tile:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.22)}
.tile-media{position:relative;display:block}
.tile-media img{width:100%;height:190px;object-fit:cover}
.tile-badge{position:absolute;left:10px;top:10px;padding:6px 10px;border-radius:999px;background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.18);font-size:12px}
.tile-body{padding:12px}
.tile-title{margin:0;font-size:14px;line-height:1.35}
.tile-title a:hover{text-decoration:underline}
.tile-meta{margin-top:10px;color:var(--muted);font-size:12px;display:flex;flex-wrap:wrap;align-items:center}

.screen-stack{display:grid;gap:12px}
.screen-row{display:grid;grid-template-columns:240px 1fr;gap:12px;border:1px solid var(--line);border-radius:var(--r20);background:rgba(15,22,48,.55);overflow:hidden;box-shadow:var(--shadow2)}
.screen-thumb img{width:100%;height:100%;object-fit:cover}
.screen-main{padding:12px}
.screen-title{margin:0;font-size:16px}
.screen-summary{margin:8px 0 0;color:rgba(234,240,255,.78);font-size:13px}
.screen-meta{margin-top:10px;color:var(--muted);font-size:12px;display:flex;flex-wrap:wrap}

.dual-cloud{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cloud-pane{border:1px solid var(--line);border-radius:var(--r20);background:rgba(15,22,48,.55);padding:14px;box-shadow:var(--shadow2)}
.cloud-title{margin:0 0 10px;font-size:16px}
.tag-cloud,.link-cloud{display:flex;gap:10px;flex-wrap:wrap}
.pulse-tag{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);color:rgba(234,240,255,.92);font-size:13px;transition:.18s ease}
.pulse-tag:hover{transform:translateY(-1px);border-color:rgba(255,255,255,.26)}
.search-wall{display:flex;gap:10px;flex-wrap:wrap}
.search-chip{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border-radius:999px;border:1px solid rgba(65,209,255,.22);background:rgba(65,209,255,.10);color:var(--text);font-size:13px;transition:.18s ease}
.search-chip:hover{transform:translateY(-1px);border-color:rgba(65,209,255,.42)}
.chip-dot{width:8px;height:8px;border-radius:50%;background:linear-gradient(90deg,var(--brand3),var(--brand2))}

.app-splash{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;align-items:center;border:1px solid var(--line);border-radius:var(--r20);background:rgba(15,22,48,.55);padding:18px;box-shadow:var(--shadow2)}
.app-media img{width:100%;height:auto;max-height:560px;object-fit:contain;filter:drop-shadow(0 18px 50px rgba(0,0,0,.35))}
.app-points{margin:10px 0 0;padding-left:18px;color:rgba(234,240,255,.84)}
.app-version{margin-top:10px;color:var(--muted);font-size:13px}
.app-features{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.feature-chip{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);padding:8px 10px;border-radius:14px;font-size:13px;color:rgba(234,240,255,.92)}
.app-cta{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}

.coop-block{border:1px solid var(--line);border-radius:var(--r20);background:rgba(15,22,48,.55);padding:18px;box-shadow:var(--shadow2)}
.coop-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.coop-card{border:1px solid rgba(255,255,255,.10);border-radius:var(--r20);background:rgba(255,255,255,.03);padding:14px}
.coop-title{margin:0 0 10px;font-size:16px}
.contact-list{margin:0}
.contact-list div{display:grid;grid-template-columns:64px 1fr;gap:10px;padding:8px 0;border-bottom:1px dashed rgba(255,255,255,.10)}
.contact-list div:last-child{border-bottom:0}
.contact-list dt{color:var(--muted)}
.coop-actions{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.coop-bullets{margin:0;padding-left:18px;color:rgba(234,240,255,.84)}
.coop-note{margin-top:10px;color:var(--muted);font-size:13px}

.skyline-footer{border-top:1px solid var(--line);background:rgba(11,15,29,.85);padding:26px 16px 18px}
.footer-grid{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:14px}
.footer-title{margin:0 0 10px;font-size:16px}
.footer-text{margin:0;color:rgba(234,240,255,.78)}
.footer-mini{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.footer-mini a{color:rgba(234,240,255,.92);border:1px solid rgba(255,255,255,.12);padding:8px 10px;border-radius:999px;background:rgba(255,255,255,.04)}
.footer-links .link-cloud a{color:rgba(234,240,255,.92);border:1px solid rgba(255,255,255,.12);padding:8px 10px;border-radius:999px;background:rgba(255,255,255,.04);font-size:13px}
.footer-bottom{max-width:1160px;margin:14px auto 0;display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:14px;border-top:1px solid rgba(255,255,255,.08);color:rgba(234,240,255,.70);font-size:13px}
.back-home{border:1px solid rgba(255,255,255,.12);padding:8px 10px;border-radius:999px;background:rgba(255,255,255,.04)}

/* list + cards */
.feed-stack{display:grid;gap:12px}
.feed-compact{display:grid;grid-template-columns:240px 1fr;gap:12px;border:1px solid var(--line);border-radius:var(--r20);background:rgba(15,22,48,.55);overflow:hidden;box-shadow:var(--shadow2)}
.feed-thumb img{width:100%;height:100%;object-fit:cover}
.feed-main{padding:12px}
.feed-title{margin:0;font-size:16px;line-height:1.35}
.feed-title a:hover{text-decoration:underline}
.feed-summary{margin:8px 0 0;color:rgba(234,240,255,.78);font-size:13px}
.feed-meta{margin-top:10px;color:var(--muted);font-size:12px;display:flex;flex-wrap:wrap;align-items:center}
.feed-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.tag-pill{display:inline-flex;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);font-size:12px;color:rgba(234,240,255,.86)}
.tag-pill:hover{border-color:rgba(255,255,255,.22)}

.feed-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.feed-card{border:1px solid var(--line);border-radius:var(--r20);background:rgba(15,22,48,.55);overflow:hidden;box-shadow:var(--shadow2);transition:.18s ease}
.feed-card:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.22)}
.feed-cover{position:relative;display:block}
.feed-cover img{width:100%;height:210px;object-fit:cover}
.cover-heat{position:absolute;right:10px;top:10px;padding:6px 10px;border-radius:999px;background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.18);font-size:12px}
.feed-body{padding:12px}

.pager{display:flex;gap:10px;align-items:center;justify-content:center;margin-top:16px;flex-wrap:wrap}
.pager-link{padding:10px 12px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:var(--text)}
.pager-link:hover{transform:translateY(-1px);border-color:rgba(255,255,255,.22)}
.pager-link.is-current{background:linear-gradient(90deg, rgba(255,77,141,.20), rgba(124,77,255,.18));border-color:rgba(255,255,255,.18)}
.pager-ellipsis{color:rgba(255,255,255,.50)}

/* category variations */
.two-col{display:grid;grid-template-columns:360px 1fr;gap:14px}
.side-pane{display:flex;flex-direction:column;gap:12px}
.side-box{border:1px solid var(--line);border-radius:var(--r20);background:rgba(15,22,48,.55);padding:14px;box-shadow:var(--shadow2)}
.side-text{margin:0;color:rgba(234,240,255,.78)}
.channel-filter{border:1px solid var(--line);border-radius:var(--r20);background:rgba(15,22,48,.55);padding:14px;box-shadow:var(--shadow2)}
.filter-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.filter-chip{padding:10px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:var(--text);cursor:pointer;transition:.18s ease}
.filter-chip:hover{transform:translateY(-1px);border-color:rgba(255,255,255,.22)}
.filter-chip.is-active{border-color:rgba(255,207,77,.30);background:rgba(255,207,77,.12)}
.channel-hero{border:1px solid var(--line);border-radius:var(--r20);background:linear-gradient(90deg, rgba(255,77,141,.10), rgba(124,77,255,.10));padding:14px;box-shadow:var(--shadow2);display:flex;justify-content:space-between;gap:12px;align-items:flex-end}
.channel-hero-metrics{display:flex;gap:10px;flex-wrap:wrap}
.metric{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);border-radius:var(--r20);padding:10px 12px;min-width:110px}
.metric-no{font-weight:900;font-size:18px}
.metric-name{color:var(--muted);font-size:12px;margin-top:4px}

.hot-top{border:1px solid var(--line);border-radius:var(--r20);background:rgba(15,22,48,.55);padding:14px;box-shadow:var(--shadow2)}
.topline-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:10px}
.topline{border:1px solid rgba(255,255,255,.10);border-radius:var(--r20);background:rgba(255,255,255,.03);overflow:hidden}
.topline-media img{width:100%;height:180px;object-fit:cover}
.topline-body{padding:12px}
.topline-kicker{display:inline-flex;padding:6px 10px;border-radius:999px;background:rgba(255,207,77,.12);border:1px solid rgba(255,207,77,.22);font-size:12px}
.topline-title{margin:10px 0 0;font-size:14px;line-height:1.35}
.topline-summary{margin:8px 0 0;color:rgba(234,240,255,.78);font-size:13px}
.topline-meta{margin-top:10px;color:var(--muted);font-size:12px}
.timeline{margin-top:14px;border:1px solid var(--line);border-radius:var(--r20);background:rgba(15,22,48,.55);padding:14px;box-shadow:var(--shadow2)}
.timeline-list{display:grid;gap:12px;margin-top:10px}
.timeline-row{display:grid;grid-template-columns:70px 16px 1fr;gap:10px}
.timeline-time{color:rgba(234,240,255,.78);font-size:12px;padding-top:4px}
.timeline-dot{width:10px;height:10px;border-radius:50%;background:linear-gradient(90deg,var(--brand3),var(--brand2));margin-top:8px;position:relative}
.timeline-dot:after{content:"";position:absolute;left:50%;top:12px;transform:translateX(-50%);width:2px;height:calc(100% + 42px);background:rgba(255,255,255,.12)}
.timeline-row:last-child .timeline-dot:after{display:none}
.timeline-title{margin:0;font-size:16px;line-height:1.35}
.timeline-summary{margin:8px 0 0;color:rgba(234,240,255,.78);font-size:13px}
.timeline-meta{margin-top:8px;color:var(--muted);font-size:12px}

/* article */
.article-shell,.mag-article{border:1px solid var(--line);border-radius:var(--r20);background:rgba(15,22,48,.55);box-shadow:var(--shadow2);overflow:hidden}
.article-head{padding:16px 16px 0}
.article-h1{margin:0;font-size:28px;line-height:1.25}
.article-meta{margin-top:10px;color:var(--muted);font-size:12px;display:flex;flex-wrap:wrap;align-items:center}
.article-figure{margin:14px 0 0}
.article-figure img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.figcap{padding:8px 16px;color:rgba(234,240,255,.68);font-size:12px}
.article-body{padding:0 16px 16px}
.prose{color:rgba(234,240,255,.88);font-size:16px}
.prose p{margin:12px 0}
.article-tags{margin-top:14px}
.content-notice{margin-top:14px;border:1px solid rgba(255,255,255,.10);border-radius:var(--r20);background:rgba(255,255,255,.03);padding:14px}
.pn-nav{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.pn-link{border:1px solid rgba(255,255,255,.12);border-radius:var(--r20);background:rgba(255,255,255,.04);padding:12px;transition:.18s ease}
.pn-link:hover{transform:translateY(-1px);border-color:rgba(255,255,255,.22)}
.pn-k{display:block;color:var(--muted);font-size:12px}
.pn-t{display:block;margin-top:8px;font-weight:800;line-height:1.3}
.rel-block,.comment-block{margin-top:16px;border:1px solid var(--line);border-radius:var(--r20);background:rgba(15,22,48,.55);padding:14px;box-shadow:var(--shadow2)}
.rel-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:10px}
.rel-item{display:grid;grid-template-columns:240px 1fr;gap:10px;border:1px solid rgba(255,255,255,.10);border-radius:var(--r20);background:rgba(255,255,255,.03);overflow:hidden}
.rel-thumb img{width:100%;height:100%;object-fit:cover}
.rel-body{padding:10px}
.rel-title{margin:0;font-size:14px;line-height:1.35}
.rel-meta{margin-top:8px;color:var(--muted);font-size:12px}
.comment-list{display:grid;gap:10px;margin-top:10px}
.comment-list.compact .comment-body{font-size:13px}
.comment-item{border:1px solid rgba(255,255,255,.10);border-radius:var(--r20);background:rgba(255,255,255,.03);padding:12px}
.comment-head{display:flex;justify-content:space-between;color:var(--muted);font-size:12px}
.comment-body{margin-top:8px;color:rgba(234,240,255,.86)}
.comment-form{margin-top:12px}

/* magazine layout */
.mag-cover{position:relative}
.mag-cover-img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.mag-cover-mask{position:absolute;inset:0;padding:18px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(180deg, rgba(0,0,0,.15), rgba(0,0,0,.78))}
.mag-kicker{display:inline-flex;align-self:flex-start;padding:6px 10px;border-radius:999px;background:rgba(255,207,77,.12);border:1px solid rgba(255,207,77,.22);font-size:12px}
.mag-meta{margin-top:10px}
.mag-body{display:grid;grid-template-columns:1.4fr .8fr;gap:14px;padding:16px}
.mag-prose{border:1px solid rgba(255,255,255,.10);border-radius:var(--r20);background:rgba(255,255,255,.03);padding:14px}
.mag-side{display:flex;flex-direction:column;gap:12px}
.rel-mini{display:grid;gap:10px;margin-top:10px}
.mini-rel{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);padding:10px 12px;border-radius:14px;line-height:1.35}
.mini-rel:hover{border-color:rgba(255,255,255,.22)}

.reading-layout{display:grid;grid-template-columns:1.4fr .8fr;gap:14px}
.reading-main{border:1px solid var(--line);border-radius:var(--r20);background:rgba(15,22,48,.55);box-shadow:var(--shadow2);overflow:hidden}
.reading-side{display:flex;flex-direction:column;gap:12px}

/* topic */
.topic-hero{position:relative;border-radius:var(--r20);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow2)}
.topic-hero-img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.topic-hero-mask{position:absolute;inset:0;padding:18px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.82))}
.topic-hero-heat{display:inline-flex;align-self:flex-start;padding:6px 10px;border-radius:999px;background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.18);font-size:12px}
.topic-hero-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.topic-columns{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}
.topic-main{border:1px solid var(--line);border-radius:var(--r20);background:rgba(15,22,48,.55);padding:14px;box-shadow:var(--shadow2)}
.topic-side{display:flex;flex-direction:column;gap:12px}

/* tag hub */
.tag-head{display:flex;align-items:center;gap:10px}
.tag-badge{width:44px;height:44px;border-radius:16px;background:linear-gradient(90deg,var(--brand3),var(--brand2));display:flex;align-items:center;justify-content:center;font-weight:900;color:#0b0f1d}
.tag-hub{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}
.recommend-box{margin-top:14px}

/* about/contact/app */
.about-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.about-card{border:1px solid var(--line);border-radius:var(--r20);background:rgba(15,22,48,.55);padding:14px;box-shadow:var(--shadow2)}
.about-list{margin:10px 0 0;padding-left:18px;color:rgba(234,240,255,.84)}
.about-actions{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.contact-card{border:1px solid var(--line);border-radius:var(--r20);background:rgba(15,22,48,.55);padding:14px;box-shadow:var(--shadow2)}
.contact-form-card{grid-column:1/-1}
.contact-note{margin-top:10px;color:var(--muted);font-size:13px}

.app-landing{display:grid;grid-template-columns:.9fr 1.1fr;gap:14px;align-items:center;border:1px solid var(--line);border-radius:var(--r20);background:rgba(15,22,48,.55);padding:14px;box-shadow:var(--shadow2)}
.app-shot{border-radius:var(--r20);border:1px solid rgba(255,255,255,.12)}
.app-badges{display:flex;gap:10px;flex-wrap:wrap}
.feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:10px}
.feature-card{border:1px solid rgba(255,255,255,.10);border-radius:var(--r20);background:rgba(255,255,255,.03);padding:12px}
.feature-title{font-weight:900}
.feature-desc{margin-top:8px;color:rgba(234,240,255,.78);font-size:13px}

/* go */
.go-panel{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.go-card{border:1px solid var(--line);border-radius:var(--r20);background:rgba(15,22,48,.55);padding:14px;box-shadow:var(--shadow2)}
.go-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.go-points{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.go-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}

/* sitemap */
.sitemap-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.map-block{border:1px solid var(--line);border-radius:var(--r20);background:rgba(15,22,48,.55);padding:14px;box-shadow:var(--shadow2)}
.map-block-wide{grid-column:1/-1}
.map-list{margin:10px 0 0;padding-left:18px}
.map-list li{margin:6px 0}
.map-list a:hover{text-decoration:underline}
.map-two{columns:2;column-gap:24px}

/* forms */
.hotline-form{border:1px solid var(--line);border-radius:var(--r20);background:rgba(15,22,48,.55);padding:14px;box-shadow:var(--shadow2)}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.rules-box{margin-top:12px;border:1px solid rgba(255,255,255,.10);border-radius:var(--r20);background:rgba(255,255,255,.03);padding:14px}
.rule-list{margin:10px 0 0;padding-left:18px;color:rgba(234,240,255,.84)}

@media (max-width: 980px){
  .topic-stream{grid-template-columns:repeat(2,1fr)}
  .channel-grid{grid-template-columns:repeat(2,1fr)}
  .reveal-mosaic{grid-template-columns:repeat(2,1fr)}
  .feed-grid{grid-template-columns:repeat(2,1fr)}
  .hero-inner{grid-template-columns:1fr}
  .app-splash{grid-template-columns:1fr}
  .two-col{grid-template-columns:1fr}
  .topline-grid{grid-template-columns:1fr}
  .reading-layout,.topic-columns,.tag-hub{grid-template-columns:1fr}
  .app-landing{grid-template-columns:1fr}
  .go-panel{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .form-grid{grid-template-columns:1fr}
}

@media (max-width: 768px){
  .topbar-inner{padding:10px 12px}
  .menu-toggle{display:flex}
  .navwrap{display:none;position:absolute;left:0;right:0;top:100%;background:rgba(11,15,29,.95);border-bottom:1px solid var(--line);padding:12px}
  .navwrap.is-open{display:block}
  .navlinks{flex-direction:column;align-items:stretch}
  .nav-link{display:block;text-align:left}
  .navactions{margin-top:10px;display:grid;grid-template-columns:1fr;gap:10px}
  .action-link{display:block;text-align:center}

  .page{padding:16px 12px 46px}
  .hero-title{font-size:24px}
  .gossip-rank-row{grid-template-columns:52px 1fr}
  .rank-media{grid-column:2/3}
  .rank-main{grid-column:1/-1}
  .rank-media img{height:160px}
  .topic-stream{grid-template-columns:1fr}
  .channel-grid{grid-template-columns:1fr}
  .reveal-mosaic{grid-template-columns:1fr}
  .screen-row{grid-template-columns:1fr}
  .screen-thumb img{height:180px}
  .dual-cloud{grid-template-columns:1fr}
  .coop-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .rel-grid{grid-template-columns:1fr}
  .rel-item{grid-template-columns:1fr}
  .feed-compact{grid-template-columns:1fr}
  .feed-thumb img{height:180px}
  .map-two{columns:1}
}