/* RenaSci 主题 v2 层：萌系游戏界面（设计系统 v2，2026-09-15）
   加载在 style.css 之后；只覆盖令牌与关键组件，不改动模板结构。 */
@import url('https://fonts.googleapis.com/css2?family=ZCOOL+QingKe+HuangYou&family=Noto+Sans+SC:wght@400;500;700&family=Fredoka:wght@400;500;600;700&family=Nunito:wght@400;600;700;800&display=swap');

:root {
    --paper: #FCF7F1;
    --paper-strong: #FFFFFF;
    --ink: #2F2A44;
    --muted: #6B6483;
    --line: #D8D2E6;
    --teal: #FF6F59;      /* 旧主题的强调色统一映射到珊瑚 */
    --red: #FF9FB4;
    --gold: #FFD86B;
    --blue: #2F2A44;
    --soft-teal: #DDF1FB;
    --soft-red: #FFE1E8;
    --soft-gold: #FFF3C7;
    --soft-blue: #EBE4FB;
    --sky: #7CC8EF; --sakura: #FF9FB4; --mint: #7DDCB1; --lemon: #FFD86B; --lavender: #B7A5F2; --coral: #FF6F59;
    --wash-sky: #DDF1FB; --wash-sakura: #FFE1E8; --wash-mint: #DDF5EA; --wash-lemon: #FFF3C7; --wash-lavender: #EBE4FB;
    --ink-line: #2F2A44;
    --shadow: 0 3px 0 var(--ink-line);
    --shadow-lg: 0 6px 0 var(--ink-line);
    --radius-hand: 22px 18px 24px 16px / 18px 24px 16px 22px;
    --display: "ZCOOL QingKe HuangYou", "Fredoka", "Noto Sans SC", system-ui, sans-serif;
    --display-latin: "Fredoka", "ZCOOL QingKe HuangYou", "Noto Sans SC", system-ui, sans-serif;
    --body-font: "Nunito", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
}

body {
    font-family: var(--body-font);
    background: var(--paper);
    background-image:
        radial-gradient(38rem 24rem at 6% -4%, var(--wash-sky) 0%, transparent 60%),
        radial-gradient(28rem 20rem at 96% 10%, var(--wash-sakura) 0%, transparent 62%),
        radial-gradient(30rem 22rem at 18% 60%, var(--wash-lemon) 0%, transparent 60%),
        radial-gradient(34rem 26rem at 92% 88%, var(--wash-mint) 0%, transparent 60%);
    background-attachment: fixed;
}
body.renasci-quiet { background-image: none; }

h1, h2, h3, .page-title, .site-hero h1, .section__header h2, .entry-content h2, .manifesto h2 {
    font-family: var(--display);
    font-weight: 400;
    letter-spacing: .01em;
}
a { color: var(--ink); text-decoration-color: var(--coral); }

/* ---------- 顶栏：胶囊 ---------- */
.site-header {
    top: 12px;
    border-bottom: 0;
    background: transparent;
    backdrop-filter: none;
    box-shadow: none;
}
.site-header__inner {
    min-height: 60px;
    padding: 6px 14px;
    border: 2px solid var(--ink-line);
    border-radius: 999px;
    background: var(--paper-strong);
    box-shadow: var(--shadow);
}
.brand__name { font-family: var(--display); font-weight: 400; font-size: 22px; }
.brand__cn { font-family: var(--display-latin); font-size: 12px; letter-spacing: .06em; }
.main-menu { gap: 4px; }
.main-menu a { padding: 6px 12px; border-radius: 999px; font-weight: 800; font-size: 14px; }
.main-menu a:hover { background: var(--wash-lavender); color: var(--ink); }
.main-menu .current-menu-item > a, .main-menu a[aria-current="page"] { background: var(--lemon); border: 2px solid var(--ink-line); }
.lang-pill { border: 2px solid var(--ink-line); box-shadow: 0 2px 0 var(--ink-line); background: var(--paper-strong); }
@media (max-width: 720px) { .site-header { top: 0; } .site-header__inner { border-radius: 24px; } }

/* ---------- 按钮 ---------- */
.button, .button--ghost, .button--line {
    min-height: 42px;
    padding: 10px 18px;
    border: 2px solid var(--ink-line);
    border-radius: 999px;
    background: var(--paper-strong);
    color: var(--ink);
    font: 800 14px/1 var(--body-font);
    box-shadow: var(--shadow);
    backdrop-filter: none;
    transition: transform .08s ease, box-shadow .08s ease;
}
.button:hover, .button--ghost:hover, .button--line:hover { transform: translateY(-1px); }
.button:active, .button--ghost:active, .button--line:active { transform: translateY(2px); box-shadow: 0 1px 0 var(--ink-line); }
.button { background: var(--coral); color: #fff; }
.button--ghost { background: var(--sky); color: #1F1B33; }
.button--line { background: var(--paper-strong); color: var(--ink); }

/* ---------- 卡片：贴纸感 ---------- */
.portal, .work-card, .issue-card, .product-card, .founder-card, .team-partner, .version-card, .source-card,
.evidence-metric, .chart-panel, .license-card, .commit-card, .media-card, .partner-card, .layer-card, .notice-panel, .visual-panel {
    border: 2px solid var(--ink-line);
    border-radius: var(--radius-hand);
    background: var(--paper-strong);
    box-shadow: var(--shadow);
}
.portal:hover, .work-card:hover, .issue-card:hover, .product-card:hover, .source-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-lg); }
.status, .tag, .metric-kicker {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 2px 10px; border: 2px solid var(--ink-line); border-radius: 999px;
    background: var(--lemon); color: var(--ink); font-weight: 800; font-size: 12px;
}
.renasci-icon { border: 2px solid var(--ink-line); border-radius: 14px; box-shadow: 0 2px 0 var(--ink-line); }
.renasci-icon--public, .renasci-icon--data, .renasci-icon--platform { background: var(--wash-sky); }
.renasci-icon--learning, .renasci-icon--journal, .renasci-icon--versions { background: var(--wash-lemon); }
.renasci-icon--peer, .renasci-icon--media, .renasci-icon--toolkit { background: var(--wash-sakura); }
.renasci-icon--oversight, .renasci-icon--ai, .renasci-icon--ethics, .renasci-icon--work { background: var(--wash-lavender); }

/* ---------- 区块 ---------- */
.section--cream { background: transparent; }
.section--white { background: rgba(255,255,255,.55); }
.section--ink { background: var(--ink); color: var(--paper); }
.section--ink .founder-card, .section--ink .team-partner { background: #2A2545; color: var(--paper); border-color: #0E0B1C; box-shadow: 0 3px 0 #0E0B1C; }
.section--ink h2, .section--ink h3 { color: var(--paper); }
.eyebrow { color: var(--muted); font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.manifesto-strip { background: var(--wash-lemon); border-block: 2px solid var(--ink-line); }
.manifesto-strip strong { font-family: var(--display); font-weight: 400; font-size: 1.5rem; }

/* ---------- 首页大厅（v2 模板专用类） ---------- */
.lobby { padding: 26px 0 10px; }
.lobby__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 28px; align-items: center; }
.lobby__grid > * { min-width: 0; }
@media (max-width: 900px) { .lobby__grid { grid-template-columns: 1fr; } }
.lobby h1 { font-size: clamp(34px, 5.4vw, 60px); line-height: 1.12; margin: 8px 0 0; }
.lobby h1 em { font-style: normal; background: linear-gradient(transparent 55%, var(--lemon) 55%); padding: 0 .1em; }
.lobby .lead { font-size: 18px; max-width: 34em; margin-top: 14px; color: var(--ink); }
.live { position: relative; padding: 18px; background: var(--paper-strong); border: 2px solid var(--ink-line); border-radius: var(--radius-hand); box-shadow: var(--shadow-lg); }
.live__sticker { position: absolute; top: -14px; right: 18px; padding: 6px 12px; background: var(--sakura); border: 2px solid var(--ink-line); border-radius: 999px; font: 800 12px/1 var(--body-font); transform: rotate(-8deg); box-shadow: 0 2px 0 var(--ink-line); }
.live__top { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; }
.live__title { font-family: var(--display); font-size: 22px; margin-top: 8px; }
.live__meta { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 10px; }
.badge { display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px; border-radius: 999px; font-weight: 800; font-size: 12px; border: 2px solid var(--ink-line); background: var(--paper-strong); }
.badge--good { background: var(--mint); } .badge--warn { background: var(--lemon); } .badge--info { background: var(--sky); } .badge--ai { background: var(--lavender); }
.bar { height: 16px; border: 2px solid var(--ink-line); border-radius: 999px; background: var(--paper); overflow: hidden; }
.bar > i { display: block; height: 100%; background: repeating-linear-gradient(135deg, var(--mint) 0 10px, var(--sky) 10px 20px); border-right: 2px solid var(--ink-line); }
.avatars { display: flex; }
.avatars svg { width: 44px; height: 44px; margin-left: -10px; border-radius: 50%; background: var(--paper-strong); border: 2px solid var(--ink-line); }
.avatars svg:first-child { margin-left: 0; }
.ticker { overflow: hidden; max-width: 100%; white-space: nowrap; margin-top: 14px; border-top: 2px dashed var(--muted); padding-top: 10px; font-size: 13px; }
.ticker > span { display: inline-block; padding-right: 40px; animation: renasci-ticker 26s linear infinite; }
.ticker b { font-weight: 800; background: var(--wash-sky); padding: 1px 8px; border-radius: 999px; margin-right: 6px; }
@keyframes renasci-ticker { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .ticker > span { animation: none; } }
.dot { width: 10px; height: 10px; border-radius: 50%; background: #E0575B; display: inline-block; margin-right: 6px; box-shadow: 0 0 0 3px rgba(224,87,91,.25); }
.mode-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.door-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 900px) { .mode-grid, .door-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .mode-grid, .door-grid { grid-template-columns: 1fr; } }
.mode { display: flex; gap: 12px; align-items: flex-start; padding: 18px; border: 2px solid var(--ink-line); border-radius: var(--radius-hand); background: var(--paper-strong); box-shadow: var(--shadow); }
.mode__ic { flex: 0 0 44px; height: 44px; border: 2px solid var(--ink-line); border-radius: 14px; display: grid; place-items: center; font-size: 22px; background: var(--wash-lemon); }
.mode h3 { margin: 0 0 4px; font-size: 20px; }
.mode p { margin: 0; font-size: 13px; color: var(--muted); }
.door { display: grid; gap: 8px; padding: 18px; border: 2px solid var(--ink-line); border-radius: var(--radius-hand); background: var(--paper-strong); box-shadow: var(--shadow); text-decoration: none; color: var(--ink); }
.door__ic { width: 52px; height: 56px; border: 2px solid var(--ink-line); border-radius: 26px 26px 8px 8px; display: grid; place-items: center; font-size: 22px; box-shadow: inset 0 -6px 0 rgba(0,0,0,.08); }
.door b { font-size: 15px; } .door span { font-size: 12px; color: var(--muted); }
.d1 .door__ic { background: var(--sky); } .d2 .door__ic { background: var(--lemon); } .d3 .door__ic { background: var(--sakura); } .d4 .door__ic { background: var(--mint); } .d5 .door__ic { background: var(--lavender); } .d6 .door__ic { background: var(--wash-lavender); }
.claims { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 760px) { .claims { grid-template-columns: 1fr; } }
.claim { display: grid; gap: 6px; padding: 18px; border: 2px solid var(--ink-line); border-radius: var(--radius-hand); box-shadow: var(--shadow); }
.claim .n { font-family: var(--display-latin); font-size: 34px; line-height: 1; }
.claim--1 { background: var(--wash-sky); } .claim--2 { background: var(--wash-lemon); } .claim--3 { background: var(--wash-sakura); }

/* ---------- 宣言页（安静模式：保留色板与字体，去掉水彩与硬阴影） ---------- */
.page-template-page-manifesto .manifesto-nav__button { border: 2px solid var(--line); border-radius: 12px; box-shadow: none; }
.page-template-page-manifesto .manifesto-nav__button.is-active { background: var(--lemon); border-color: var(--ink-line); }
.page-template-page-manifesto .manifesto-panel { border: 2px solid var(--ink-line); border-radius: var(--radius-hand); box-shadow: none; background: var(--paper-strong); }
.page-template-page-manifesto .evidence-metric strong { font-family: var(--display-latin); font-weight: 600; }
.page-template-page-manifesto .source-card, .page-template-page-manifesto .version-card { box-shadow: none; }
.note-link { font-family: var(--display-latin); font-size: .8em; padding: 0 5px; border: 1.5px solid var(--ink-line); border-radius: 6px; background: var(--wash-lavender); text-decoration: none; margin-left: 2px; }

/* ---------- 页脚 ---------- */
.site-footer { background: var(--ink); color: var(--paper); }
.footer-domain { font-family: var(--display-latin); }
