:root {
  color-scheme: light;
  --bg: #f3f6f5;
  --surface: rgba(255,255,255,.84);
  --surface-strong: #fff;
  --surface-soft: #edf2f0;
  --text: #121917;
  --text-2: #46534f;
  --muted: #74817d;
  --line: #d9e1de;
  --line-strong: #c4cfcb;
  --blue: #2457d6;
  --purple: #5647a8;
  --teal: #128675;
  --pink: #d75546;
  --orange: #c77a12;
  --red: #cf493f;
  --green: #24a66a;
  --shadow-sm: 0 10px 30px rgba(50,69,118,.08);
  --shadow-md: 0 18px 55px rgba(49,65,112,.14);
  --shadow-lg: 0 32px 85px rgba(51,65,110,.18);
  --radius-sm: 12px;
  --radius: 20px;
  --radius-lg: 30px;
  --max: 1440px;
  --motion-fast: 160ms;
  --motion-normal: 320ms;
  --motion-slow: 720ms;
  --ease: cubic-bezier(.2,.8,.2,1);
  --ease-emph: cubic-bezier(.16,1,.3,1);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-height: 100vh;
  background: var(--bg);
  color: var(--text);
  font-family: "Noto Sans SC", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.65;
  overflow-x: hidden;
}
body.modal-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
img, svg { max-width: 100%; }
::selection { background: rgba(36,87,214,.18); }
.skip-link {
  position: fixed; left: 12px; top: -60px; z-index: 2000;
  background: var(--text); color: white; padding: 10px 15px; border-radius: 10px;
}
.skip-link:focus { top: 12px; }
.ambient { position: fixed; inset: 0; pointer-events: none; overflow: hidden; z-index: -3; }
.ambient-blob { display:none; }
.ambient-grid { position: absolute; inset: 0; opacity: .34; background-image: linear-gradient(rgba(18,25,23,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(18,25,23,.035) 1px, transparent 1px); background-size: 36px 36px; mask-image:linear-gradient(to bottom,black,transparent 82%); }
@keyframes floatBlob { to { transform: translate3d(5vw,3vw,0) scale(1.08); } }
.page-progress { position: fixed; inset: 0 auto auto 0; height: 3px; width: 0; z-index: 1600; background: linear-gradient(90deg,var(--teal),var(--blue),var(--purple),var(--pink)); box-shadow: 0 0 14px rgba(123,92,231,.5); transition: width .3s var(--ease), opacity .2s; opacity: 0; }
.site-header {
  position: sticky; top: 0; z-index: 1000; min-height: 76px; padding: 0 4vw;
  display: grid; grid-template-columns: minmax(260px,1fr) auto minmax(260px,1fr); align-items: center; gap: 24px;
  border-bottom: 1px solid rgba(205,215,235,.75); background: rgba(249,251,255,.78); backdrop-filter: blur(22px) saturate(140%);
  transition: box-shadow var(--motion-normal), background var(--motion-normal);
}
.site-header.scrolled { box-shadow: 0 10px 35px rgba(31,48,91,.08); background: rgba(255,255,255,.9); }
.brand { display: flex; align-items: center; gap: 12px; min-width: 0; }
.brand-mark { width: 38px; height: 38px; position: relative; display: block; flex: 0 0 auto; }
.brand-mark::before, .brand-mark::after { content: ""; position: absolute; height: 2px; width: 26px; left: 6px; top: 18px; background: linear-gradient(90deg,var(--teal),var(--purple)); transform: rotate(35deg); border-radius: 3px; }
.brand-mark::after { transform: rotate(-38deg); }
.brand-mark i { position: absolute; width: 9px; height: 9px; border-radius: 50%; background: linear-gradient(135deg,var(--teal),var(--purple)); box-shadow: 0 4px 10px rgba(79,107,237,.28); animation: nodePulse 4s ease-in-out infinite; }
.brand-mark i:nth-child(1){left:2px;top:14px}.brand-mark i:nth-child(2){left:14px;top:2px;animation-delay:-1s}.brand-mark i:nth-child(3){right:1px;top:13px;animation-delay:-2s}.brand-mark i:nth-child(4){left:12px;bottom:1px;animation-delay:-3s}.brand-mark i:nth-child(5){left:15px;top:15px;width:11px;height:11px}
@keyframes nodePulse { 50% { transform: scale(1.18); box-shadow: 0 0 20px rgba(79,107,237,.4); } }
.brand-copy { display: flex; flex-direction: column; line-height: 1.25; min-width: 0; }
.brand-copy strong { font-size: 15px; letter-spacing: .01em; white-space: nowrap; }
.brand-copy small { font-size: 10px; color: var(--muted); margin-top: 3px; white-space: nowrap; }
.primary-nav { display: flex; align-items: center; gap: 4px; }
.nav-link { position: relative; padding: 10px 13px; color: var(--text-2); font-size: 14px; font-weight: 600; border-radius: 12px; transition: color var(--motion-fast), background var(--motion-fast); white-space: nowrap; }
.nav-link:hover { background: rgba(79,107,237,.07); color: var(--blue); }
.nav-link.active { color: var(--blue); background: rgba(79,107,237,.08); }
.nav-link.active::after { content:""; position:absolute; left:22%; right:22%; bottom:3px; height:2px; border-radius:2px; background: linear-gradient(90deg,var(--teal),var(--purple)); }
.nav-link .nav-badge { margin-left: 5px; background: var(--pink); color: white; border-radius: 999px; padding: 1px 6px; font-size: 9px; vertical-align: top; }
.header-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.icon-button, .mobile-menu-trigger { width: 40px; height: 40px; border: 1px solid transparent; background: transparent; border-radius: 12px; cursor: pointer; transition: .2s var(--ease); font-size: 20px; }
.icon-button:hover, .mobile-menu-trigger:hover { background: white; border-color: var(--line); box-shadow: var(--shadow-sm); transform: translateY(-1px); }
.profile-chip { border: 1px solid var(--line); background: rgba(255,255,255,.8); padding: 5px 9px 5px 5px; border-radius: 999px; display: flex; align-items: center; gap: 8px; cursor: pointer; box-shadow: 0 4px 18px rgba(50,68,115,.05); }
.avatar { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; color: white; font-weight: 800; background: linear-gradient(135deg,var(--teal),var(--blue),var(--purple)); }
.avatar-photo { display:block; width:100%; height:100%; border-radius:inherit; object-fit:cover; }
.profile-chip span:last-child { font-size: 12px; font-weight: 600; max-width: 90px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mobile-menu-trigger { display: none; }
.status-strip { min-height: 0; overflow: hidden; text-align: center; font-size: 12px; color: var(--text-2); background: linear-gradient(90deg,rgba(18,184,165,.1),rgba(123,92,231,.1)); transition: all .3s; }
.status-strip:not(:empty) { padding: 7px 16px; border-bottom: 1px solid rgba(205,215,235,.8); }
main { min-height: 70vh; }
.page { width: min(calc(100% - 40px), var(--max)); margin: 0 auto; padding: 42px 0 80px; }
.page-head { display:flex; align-items:flex-end; justify-content:space-between; gap:28px; margin-bottom:26px; }
.page-title { margin:0; font-family:"Noto Serif SC",serif; font-size: clamp(34px,4vw,58px); line-height:1.12; letter-spacing:0; }
.page-subtitle { margin:10px 0 0; color:var(--text-2); max-width:760px; }
.eyebrow { display:inline-flex; align-items:center; gap:7px; text-transform:uppercase; letter-spacing:.13em; font-size:11px; font-weight:800; color:var(--purple); margin-bottom:10px; }
.eyebrow::before { content:""; width:18px; height:2px; background:linear-gradient(90deg,var(--teal),var(--purple)); border-radius:2px; }
.hero { display:grid; grid-template-columns: 1.05fr .95fr; gap:34px; align-items:center; padding:38px; border:1px solid rgba(202,212,234,.8); border-radius:var(--radius-lg); background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(245,247,255,.76)); box-shadow:var(--shadow-md); position:relative; overflow:hidden; }
.hero::before { content:""; position:absolute; inset:auto -10% -42% auto; width:420px; height:420px; border-radius:50%; background:radial-gradient(circle,rgba(123,92,231,.16),transparent 65%); pointer-events:none; }
.hero-copy { position:relative; z-index:2; }
.hero-title { font-family:"Noto Serif SC",serif; font-size:clamp(38px,4.6vw,72px); line-height:1.1; margin:0 0 18px; letter-spacing:0; }
.gradient-text { color:var(--blue); }
.hero-copy p { color:var(--text-2); font-size:16px; max-width:660px; }
.decision-workbench { display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);border:1px solid #cad2d0;border-radius:22px;background:white;overflow:hidden;box-shadow:0 24px 70px rgba(18,25,23,.11); }
.workbench-input { padding:48px; }
.workbench-input h1 { max-width:820px;margin:0;font-family:"Noto Serif SC",serif;font-size:clamp(42px,5vw,72px);line-height:1.12; }
.workbench-input h1 span { color:var(--blue); }
.workbench-input>p { max-width:720px;margin:17px 0 26px;color:var(--text-2);font-size:16px; }
#quick-decision-form { display:grid;gap:11px; }
#quick-decision-form>label { font-size:13px;font-weight:800; }
#quick-decision-form textarea { width:100%;min-height:150px;padding:18px;border:1px solid var(--line-strong);border-radius:15px;background:#f8faf9;color:var(--text);resize:vertical;outline:none;font:inherit;line-height:1.75; }
#quick-decision-form textarea:focus { border-color:var(--blue);box-shadow:0 0 0 4px rgba(36,87,214,.09);background:white; }
.quick-prompts { display:flex;gap:7px;flex-wrap:wrap; }
.quick-prompts button { border:1px solid var(--line);border-radius:99px;padding:6px 10px;background:white;color:var(--text-2);font-size:11px;cursor:pointer; }
.quick-prompts button:hover { border-color:var(--blue);color:var(--blue); }
.quick-calibration { display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:3px; }
.quick-calibration label { display:grid;gap:5px; }
.quick-calibration span { color:var(--text-2);font-size:11px;font-weight:800; }
.quick-calibration select { min-width:0;width:100%;padding:10px;border:1px solid var(--line);border-radius:11px;background:white;color:var(--text); }
.workbench-submit { display:grid;grid-template-columns:190px 1fr;gap:9px;margin-top:4px; }
#quick-decision-form>small { color:var(--muted);font-size:11px; }
.workbench-output { padding:40px 30px;background:#121917;color:white;display:flex;flex-direction:column; }
.workbench-output>span { color:#8fb0ff;font-size:11px;font-weight:900;letter-spacing:.12em; }
.workbench-output ol { margin:25px 0;padding:0;list-style:none;display:grid; }
.workbench-output li { display:grid;grid-template-columns:38px 1fr;gap:10px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.1); }
.workbench-output li>b { color:#8fb0ff;font-family:"Noto Serif SC",serif;font-size:18px; }
.workbench-output li strong,.workbench-output li small { display:block; }
.workbench-output li small { margin-top:3px;color:rgba(255,255,255,.48);font-size:11px; }
.workbench-proof { margin-top:auto;padding-top:24px;display:flex;align-items:end;gap:9px; }
.workbench-proof strong { font-family:"Noto Serif SC",serif;font-size:52px;line-height:.8; }
.workbench-proof span { color:rgba(255,255,255,.55);font-size:12px; }
.continue-file { margin-top:18px;padding:21px 24px;border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:14px;background:white;display:flex;justify-content:space-between;gap:20px;align-items:center;box-shadow:var(--shadow-sm); }
.continue-file span { color:var(--blue);font-size:11px;font-weight:900; }
.continue-file h2 { margin:3px 0;font-family:"Noto Serif SC",serif;font-size:21px; }
.continue-file p { margin:0;color:var(--text-2);font-size:12px; }
.method-strip>div { display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line); }
.method-strip article { padding:22px;border-right:1px solid var(--line); }
.method-strip article:last-child { border-right:0; }
.method-strip article span { color:var(--blue);font-family:"Noto Serif SC",serif;font-size:20px; }
.method-strip article strong { display:block;margin-top:20px;font-size:16px; }
.method-strip article p { margin:5px 0 0;color:var(--text-2);font-size:12px; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.blind-box-link { margin-top:18px;padding:0;border:0;border-bottom:1px solid var(--line-strong);background:transparent;color:var(--text-2);font-size:12px;cursor:pointer; }
.blind-box-link:hover { color:var(--blue);border-color:var(--blue); }
.button { border:0; border-radius:14px; min-height:46px; padding:0 19px; display:inline-flex; align-items:center; justify-content:center; gap:8px; font-weight:700; cursor:pointer; transition:transform var(--motion-fast), box-shadow var(--motion-fast), border-color var(--motion-fast); position:relative; overflow:hidden; }
.button::after { content:""; position:absolute; inset:-100% -30%; background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.35),transparent 65%); transform:translateX(-80%); transition:transform .65s var(--ease); }
.button:hover::after { transform:translateX(80%); }
.button:hover { transform:translateY(-2px); }
.button:active { transform:translateY(0) scale(.98); }
.button-primary { color:white; background:var(--blue); box-shadow:0 13px 30px rgba(36,87,214,.22); }
.button-secondary { background:white; border:1px solid var(--line-strong); color:var(--blue); }
.button-ghost { background:rgba(79,107,237,.07); color:var(--blue); }
.button-danger { color:white; background:linear-gradient(115deg,var(--red),var(--pink)); }
.button-small { min-height:36px; padding:0 13px; font-size:12px; border-radius:11px; }
.hero-network-shell { min-width:0; }
.hero-network { min-height:430px; position:relative; display:grid; place-items:center; }
.network-orbit { position:absolute; width:360px; height:360px; border:1px dashed rgba(79,107,237,.2); border-radius:50%; animation:rotateSlow 40s linear infinite; }
.network-orbit.two { width:270px;height:270px;animation-direction:reverse;animation-duration:32s; }
.network-orbit.three { width:180px;height:180px;animation-duration:24s; }
@keyframes rotateSlow { to { transform:rotate(360deg); } }
.network-node { position:absolute; min-width:74px; height:74px; border:1px solid rgba(255,255,255,.8); border-radius:50%; display:grid; place-items:center; text-align:center; color:white; font-weight:800; box-shadow:0 14px 36px rgba(57,74,129,.2), inset 0 0 0 4px rgba(255,255,255,.12); background:linear-gradient(135deg,var(--blue),var(--purple)); animation:nodeFloat 5s ease-in-out infinite; cursor:pointer; transition:transform .25s, filter .25s; }
.network-node:hover { filter:brightness(1.08); }
.network-node.active { outline:4px solid rgba(255,255,255,.88);outline-offset:4px;filter:brightness(1.08);box-shadow:0 18px 44px rgba(36,87,214,.3),0 0 0 12px rgba(36,87,214,.08); }
.network-node.center { width:104px;height:104px;z-index:4;background:linear-gradient(135deg,var(--teal),var(--blue),var(--purple));animation:breath 3.8s ease-in-out infinite; }
.network-node.n1{transform:translate(-165px,-120px);background:linear-gradient(135deg,#20c9b4,var(--teal));animation-delay:-1s}.network-node.n2{transform:translate(160px,-112px);background:linear-gradient(135deg,var(--pink),#f78abf);animation-delay:-2s}.network-node.n3{transform:translate(-185px,105px);background:linear-gradient(135deg,#43a8ff,var(--blue));animation-delay:-3s}.network-node.n4{transform:translate(175px,110px);background:linear-gradient(135deg,var(--purple),#9b78ff);animation-delay:-4s}.network-node.n5{transform:translate(0,170px);background:linear-gradient(135deg,var(--orange),#ffba45);animation-delay:-2.5s}
@keyframes nodeFloat { 50% { margin-top:-8px; } }
@keyframes breath { 50% { box-shadow:0 18px 45px rgba(79,107,237,.35),0 0 0 18px rgba(79,107,237,.06); transform:scale(1.04); } }
.network-lines { position:absolute; inset:0; pointer-events:none; }
.network-lines line,.network-lines path { fill:none;stroke:rgba(79,107,237,.22);stroke-width:1.5;stroke-dasharray:7 7;animation:dashFlow 12s linear infinite;transition:stroke .25s,stroke-width .25s,opacity .25s; }
.network-lines path { stroke:rgba(18,134,117,.14);stroke-dasharray:4 9;animation-direction:reverse; }
.network-lines line.active { stroke:var(--blue);stroke-width:3;filter:drop-shadow(0 0 5px rgba(36,87,214,.35)); }
@keyframes dashFlow { to { stroke-dashoffset:-140; } }
.network-insight { min-height:118px;margin:-12px 18px 0;padding:16px 18px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.76);display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end;box-shadow:var(--shadow-sm); }
.network-insight-copy span { display:block;color:var(--blue);font-size:11px;font-weight:900;letter-spacing:.08em; }
.network-insight-copy strong { display:block;margin:4px 0;font-family:"Noto Serif SC",serif;font-size:17px; }
.network-insight-copy p { margin:0;color:var(--text-2);font-size:12px;line-height:1.65; }
.network-insight-link { border:0;background:transparent;color:var(--blue);font-size:12px;font-weight:800;cursor:pointer;white-space:nowrap; }
.mode-switcher { margin-top:24px; display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.mode-card { padding:18px; border:1px solid var(--line); border-radius:18px; background:rgba(255,255,255,.76); cursor:pointer; transition:.25s var(--ease); position:relative; overflow:hidden; }
.mode-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-md); border-color:rgba(79,107,237,.35); }
.mode-card strong { display:block; font-size:15px; margin-bottom:4px; }
.mode-card small { color:var(--muted); }
.mode-card .mode-icon { font-size:24px; margin-bottom:8px; display:block; }
.instinct-lab { margin-top:34px;padding:30px;border-radius:22px;background:#121917;color:white;position:relative;overflow:hidden;box-shadow:var(--shadow-md); }
.instinct-lab::before { content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 48%,rgba(36,87,214,.18)),repeating-linear-gradient(90deg,transparent 0 69px,rgba(255,255,255,.025) 70px);pointer-events:none; }
.instinct-lab>*,.quiz-result>* { position:relative;z-index:1; }
.instinct-lab header { display:flex;justify-content:space-between;gap:20px;align-items:start; }
.instinct-lab header h2 { margin:0;font-family:"Noto Serif SC",serif;font-size:clamp(26px,3vw,40px); }
.instinct-lab header p { margin:5px 0 0;color:rgba(255,255,255,.62); }
.instinct-lab header>strong { font-family:"Noto Serif SC",serif;font-size:48px;color:#8fb0ff;line-height:1; }
.instinct-lab header>strong small { font-size:14px;color:rgba(255,255,255,.48); }
.quiz-progress { height:3px;margin:22px 0;background:rgba(255,255,255,.1); }
.quiz-progress i { display:block;height:100%;background:#8fb0ff;transition:width .3s; }
.quiz-stage h3 { margin:0 0 17px;font-size:20px; }
.quiz-options { display:grid;grid-template-columns:repeat(4,1fr);gap:10px; }
.quiz-options button { min-height:72px;padding:13px;border:1px solid rgba(255,255,255,.15);border-radius:13px;background:rgba(255,255,255,.055);color:white;cursor:pointer;text-align:left;transition:.2s; }
.quiz-options button:hover { border-color:#8fb0ff;background:rgba(143,176,255,.12);transform:translateY(-2px); }
.quiz-result { margin-top:34px;padding:30px;border-radius:22px;background:#121917;color:white;display:grid;grid-template-columns:1fr auto;gap:28px;align-items:end;box-shadow:var(--shadow-md); }
.quiz-result h2 { margin:3px 0;font-family:"Noto Serif SC",serif;font-size:38px; }
.quiz-result p { color:rgba(255,255,255,.7); }
.quiz-result aside { padding:12px 14px;border-left:2px solid #8fb0ff;background:rgba(255,255,255,.05);color:rgba(255,255,255,.72); }
.quiz-result aside strong { display:block;color:#8fb0ff; }
.quiz-result-actions { display:flex;flex-direction:column;gap:8px;min-width:220px; }
.quiz-result .text-link { border:0;background:transparent;cursor:pointer;text-align:center;color:#8fb0ff; }
.journey-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:13px; }
.journey-card { min-height:280px;border:1px solid var(--line);border-top:3px solid var(--journey-color);border-radius:18px;background:rgba(255,255,255,.82);overflow:hidden;box-shadow:var(--shadow-sm);transition:.25s; }
.journey-card:hover { transform:translateY(-5px);box-shadow:var(--shadow-md); }
.journey-card>button { width:100%;height:100%;padding:22px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;display:flex;flex-direction:column; }
.journey-card>button>span { color:var(--journey-color);font-size:11px;font-weight:900;letter-spacing:.08em; }
.journey-card h3 { margin:28px 0 8px;font-family:"Noto Serif SC",serif;font-size:22px;line-height:1.5; }
.journey-card p { margin:0;color:var(--text-2);font-size:13px; }
.journey-card div { margin-top:17px; }
.journey-card b { margin-top:auto;padding-top:22px;color:var(--journey-color);font-size:12px; }
.journey-reader header { padding:23px;border-left:4px solid var(--journey-color);border-radius:0 16px 16px 0;background:#f4f6f5; }
.journey-reader header>span { color:var(--journey-color);font-size:12px;font-weight:900; }
.journey-reader header p { margin:8px 0 0;font-family:"Noto Serif SC",serif;font-size:20px;line-height:1.6; }
.journey-steps { margin:18px 0;padding:0;list-style:none; }
.journey-steps li { display:grid;grid-template-columns:52px 1fr;gap:12px;padding:17px 0;border-bottom:1px solid var(--line); }
.journey-steps li>b { color:var(--blue);font-family:"Noto Serif SC",serif;font-size:24px; }
.journey-steps strong { font-size:16px; }
.journey-steps p { margin:4px 0 0;color:var(--text-2); }
.journey-actions { display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 23px; }
.subtext-lab { margin-top:34px;padding:28px;border:1px solid var(--line);border-radius:22px;background:#eef1f8; }
.subtext-lab header { display:flex;align-items:end;justify-content:space-between;gap:18px; }
.subtext-lab header h2 { margin:0;font-family:"Noto Serif SC",serif;font-size:30px; }
.subtext-lab header p { margin:4px 0 0;color:var(--text-2); }
.subtext-line { display:grid;grid-template-columns:110px 1fr;gap:15px;align-items:center;margin:22px 0;padding:18px;border-radius:16px;background:#121917;color:white; }
.subtext-line span { color:#8fb0ff;font-size:12px;font-weight:800; }
.subtext-line blockquote { margin:0;font-family:"Noto Serif SC",serif;font-size:25px; }
.subtext-contexts { display:grid;grid-template-columns:repeat(4,1fr);gap:9px; }
.subtext-context { min-height:150px;padding:16px;border:1px solid var(--line);border-radius:14px;background:white;text-align:left;cursor:pointer;transition:.2s; }
.subtext-context:hover,.subtext-context.active { border-color:var(--blue);transform:translateY(-3px);box-shadow:var(--shadow-sm); }
.subtext-context span { color:var(--blue);font-weight:900; }
.subtext-context p { margin:13px 0 0;color:var(--text-2);font-size:13px; }
.subtext-lab footer { display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;margin-top:14px;padding-top:14px;border-top:1px solid var(--line-strong); }
.subtext-lab footer strong { color:var(--blue); }
.subtext-lab footer span { color:var(--text-2); }
.subtext-lab footer button { border:0;background:transparent;color:var(--blue);font-weight:800;cursor:pointer; }
.analyze-thread { color:var(--blue);background:rgba(36,87,214,.08); }
.section { margin-top:34px; }
.section-head { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; margin-bottom:16px; }
.section-head h2 { font-family:"Noto Serif SC",serif; font-size:28px; margin:0; }
.section-head p { margin:4px 0 0; color:var(--muted); }
.section-link { color:var(--blue); font-weight:700; font-size:13px; }
.grid { display:grid; gap:16px; }
.grid-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.grid-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.grid-4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.grid-6 { grid-template-columns:repeat(6,minmax(0,1fr)); }
.card { border:1px solid var(--line); background:var(--surface); backdrop-filter:blur(14px); border-radius:var(--radius); box-shadow:var(--shadow-sm); transition:transform .28s var(--ease), box-shadow .28s, border-color .28s; position:relative; overflow:hidden; }
.card.hoverable:hover { transform:translateY(-5px); box-shadow:var(--shadow-md); border-color:rgba(79,107,237,.35); }
.card-pad { padding:22px; }
.card-title { margin:0 0 6px; font-size:17px; }
.card-desc { margin:0; color:var(--text-2); font-size:14px; }
.relation-system-card { width:100%;height:100%;padding:22px;border:0;background:transparent;text-align:left;color:inherit;cursor:pointer; }
.relation-conflict { margin-top:15px;padding-top:12px;border-top:1px solid var(--line);font-size:11px;color:var(--text-2); }
.relation-conflict::before { content:"高频冲突：";color:var(--muted); }
.text-link { display:block;margin-top:13px;color:var(--blue);font-size:11px;font-weight:800; }
.case-filter { display:flex;gap:7px;flex-wrap:wrap;margin:-3px 0 15px; }
.case-shell { min-height:310px; }
.case-story { width:100%;height:100%;padding:22px;border:0;background:transparent;text-align:left;color:inherit;cursor:pointer;display:flex;flex-direction:column; }
.case-index { color:var(--blue);font-size:10px;font-weight:900;letter-spacing:.14em; }
.case-event { align-self:flex-end;margin-top:-15px;color:var(--muted);font-size:10px; }
.case-story h3 { margin:34px 0 12px;font-family:"Noto Serif SC",serif;font-size:20px;line-height:1.55; }
.case-story p { margin:0;color:var(--text-2);font-size:13px;line-height:1.75; }
.case-reveal { margin-top:auto;padding-top:22px;display:flex;justify-content:space-between;align-items:flex-end;gap:14px;border-top:1px solid var(--line); }
.case-reveal span { color:var(--muted);font-size:11px;font-style:italic;max-width:70%; }
.case-reveal b { color:var(--blue);font-size:11px;white-space:nowrap; }
.section-cta { margin-top:15px;padding:14px 16px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.58);display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--text-2);font-size:12px; }
.mechanism-rail { display:grid;grid-template-columns:repeat(5,minmax(180px,1fr));gap:10px;overflow-x:auto;padding:2px 2px 10px;scroll-snap-type:x proximity; }
.mechanism-card { min-height:210px;padding:19px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.78);color:inherit;text-align:left;cursor:pointer;scroll-snap-align:start;transition:.25s var(--ease);display:flex;flex-direction:column; }
.mechanism-card:hover { transform:translateY(-4px);border-color:rgba(79,107,237,.36);box-shadow:var(--shadow-md); }
.mechanism-card>span { width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:rgba(79,107,237,.09);color:var(--blue);font-size:21px; }
.mechanism-card strong { margin-top:20px;font-family:"Noto Serif SC",serif;font-size:18px; }
.mechanism-card small { margin-top:7px;color:var(--text-2);font-size:12px;line-height:1.65; }
.mechanism-card b { margin-top:auto;padding-top:14px;color:var(--blue);font-size:10px; }
.case-detail-lead { padding:22px;border-radius:17px;background:linear-gradient(135deg,rgba(79,107,237,.09),rgba(18,184,165,.07)); }
.case-detail-lead p { margin:14px 0 0;font-family:"Noto Serif SC",serif;font-size:22px;line-height:1.6; }
.case-detail-grid { display:grid;grid-template-columns:.75fr 1.25fr;gap:11px;margin:15px 0; }
.case-detail-grid section,.signal-grid section { padding:17px;border:1px solid var(--line);border-radius:15px;background:#fafbfe; }
.case-detail-grid small,.signal-grid small { display:block;margin-bottom:8px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.1em; }
.case-detail-grid h3,.case-detail-grid p { margin:0;line-height:1.7; }
.case-detail blockquote { margin:17px 0;padding:18px 20px;border-left:3px solid var(--blue);background:#f5f7fc;font-family:"Noto Serif SC",serif;font-size:19px;line-height:1.7; }
.case-next { display:flex;gap:8px;flex-wrap:wrap;margin:18px 0; }
.related-cases { display:grid;grid-template-columns:repeat(3,1fr);gap:8px; }
.related-cases button { border:1px solid var(--line);border-radius:13px;background:white;padding:13px;text-align:left;color:var(--text);cursor:pointer;font-size:11px;line-height:1.5; }
.related-cases button:hover { border-color:var(--blue); }
.related-cases span { display:block;color:var(--blue);font-size:9px;margin-bottom:4px; }
.mechanism-glyph { width:62px;height:62px;border-radius:20px;background:rgba(79,107,237,.1);display:grid;place-items:center;color:var(--blue);font-size:30px; }
.mechanism-definition { font-family:"Noto Serif SC",serif;font-size:22px;line-height:1.7; }
.signal-grid { display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0; }
.soft-icon { width:42px;height:42px;border-radius:14px;display:grid;place-items:center;margin-bottom:14px;font-size:21px;background:linear-gradient(135deg,rgba(18,184,165,.13),rgba(123,92,231,.13));color:var(--purple); }
.tag-row { display:flex; flex-wrap:wrap; gap:7px; }
.tag { display:inline-flex; align-items:center; gap:5px; border-radius:999px; padding:5px 10px; font-size:11px; font-weight:700; background:#f1f4fb; color:var(--text-2); border:1px solid transparent; }
.tag.blue{background:rgba(79,107,237,.1);color:var(--blue)}.tag.purple{background:rgba(123,92,231,.11);color:var(--purple)}.tag.teal{background:rgba(18,184,165,.1);color:#0d8f81}.tag.pink{background:rgba(236,106,166,.11);color:#c84583}.tag.orange{background:rgba(245,158,11,.12);color:#b96e00}.tag.red{background:rgba(232,93,117,.1);color:var(--red)}
.stat-strip { display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px; }
.stat { padding:15px;border-radius:16px;background:rgba(255,255,255,.75);border:1px solid var(--line); }
.stat strong { display:block;font-size:24px;line-height:1.1; }
.stat span { font-size:11px;color:var(--muted); }
.daily-card { padding:26px; min-height:215px; display:flex; flex-direction:column; justify-content:space-between; background:linear-gradient(135deg,rgba(123,92,231,.1),rgba(18,184,165,.08),rgba(255,255,255,.9)); }
.daily-quote { font-family:"Noto Serif SC",serif;font-size:24px;line-height:1.45;margin:10px 0; }
.daily-dual { display:grid;grid-template-columns:1fr 1fr;gap:10px; }
.dual-chip { padding:12px;border-radius:14px;background:rgba(255,255,255,.75);border:1px solid rgba(214,222,239,.85);font-size:12px; }
.dual-chip strong { display:block;margin-bottom:4px;color:var(--purple); }
.debate-card { min-height:240px; display:flex; flex-direction:column; }
.debate-cover { height:112px;padding:17px;display:flex;align-items:flex-end;background:linear-gradient(130deg,rgba(79,107,237,.82),rgba(123,92,231,.76),rgba(236,106,166,.68));color:white;position:relative;overflow:hidden; }
.debate-cover::before { content:"";position:absolute;width:150px;height:150px;border:1px solid rgba(255,255,255,.25);border-radius:50%;right:-30px;top:-60px;box-shadow:0 0 0 22px rgba(255,255,255,.05),0 0 0 44px rgba(255,255,255,.03); }
.debate-cover strong { position:relative;z-index:2;font-size:16px;line-height:1.45; }
.debate-body { padding:16px;display:flex;flex:1;flex-direction:column;gap:10px; }
.vote-bar { height:8px;border-radius:999px;background:#e9edf7;overflow:hidden;display:flex; }
.vote-bar span:first-child { background:linear-gradient(90deg,var(--teal),var(--blue)); }
.vote-bar span:last-child { background:linear-gradient(90deg,var(--purple),var(--pink)); }
.mini-meta { display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:11px;color:var(--muted); }
.case-flow { display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:12px; }
.flow-step { padding:7px 9px;background:#f4f6fc;border:1px solid var(--line);border-radius:10px;font-size:10px; }
.flow-arrow { color:var(--blue);font-weight:800; }
.ticker { border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.72);display:flex;align-items:center;overflow:hidden;height:48px; }
.ticker-label { height:100%;display:flex;align-items:center;padding:0 15px;color:white;font-weight:800;background:linear-gradient(135deg,var(--teal),var(--blue));white-space:nowrap; }
.ticker-track { flex:1;overflow:hidden;position:relative; }
.ticker-content { display:flex;gap:36px;white-space:nowrap;width:max-content;animation:tickerMove 28s linear infinite;padding-left:100%;font-size:12px;color:var(--text-2); }
.ticker:hover .ticker-content { animation-play-state:paused; }
@keyframes tickerMove { to { transform:translateX(-100%); } }
/* form */
.workspace { display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start; }
.form-card { padding:24px; }
.form-step { padding:18px 0;border-bottom:1px solid var(--line); }
.form-step:first-child{padding-top:0}.form-step:last-child{border-bottom:0;padding-bottom:0}
.step-head { display:flex;align-items:center;gap:10px;margin-bottom:12px; }
.step-number { width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--blue),var(--purple));color:white;font-weight:800;font-size:12px; }
.choice-grid { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px; }
.choice { min-height:60px;padding:10px;border:1px solid var(--line);border-radius:14px;background:white;cursor:pointer;text-align:center;font-size:12px;font-weight:700;transition:.2s; }
.choice:hover,.choice.active { border-color:var(--purple);background:rgba(123,92,231,.07);color:var(--purple);transform:translateY(-2px); }
.choice .choice-icon { display:block;font-size:20px;margin-bottom:3px; }
.label { display:block;font-size:12px;font-weight:700;margin-bottom:7px;color:var(--text-2); }
.input,.textarea,.select { width:100%;border:1px solid var(--line-strong);background:white;border-radius:13px;padding:12px 13px;outline:none;transition:border-color .2s,box-shadow .2s;color:var(--text); }
.textarea { min-height:126px;resize:vertical; }
.input:focus,.textarea:focus,.select:focus { border-color:var(--blue);box-shadow:0 0 0 4px rgba(79,107,237,.1); }
.form-row { display:grid;grid-template-columns:repeat(4,1fr);gap:10px; }
.output-toggle { display:flex;align-items:center;justify-content:space-between;padding:10px;border:1px solid var(--line);border-radius:12px;background:white;font-size:12px;cursor:pointer; }
.output-toggle.active { border-color:rgba(79,107,237,.5);background:rgba(79,107,237,.06);color:var(--blue); }
.sidebar-stack { display:grid;gap:14px;position:sticky;top:98px; }
.info-card { padding:19px; }
.info-card h3 { margin:0 0 10px;font-size:15px; }
.info-list { padding:0;margin:0;list-style:none;display:grid;gap:8px; }
.info-list li { font-size:12px;color:var(--text-2);padding-left:15px;position:relative; }
.info-list li::before { content:"";width:5px;height:5px;border-radius:50%;background:var(--purple);position:absolute;left:0;top:.65em; }
.analysis-loader { padding:32px;text-align:center; }
.loader-steps { display:grid;gap:10px;margin-top:18px; }
.loader-step { display:flex;align-items:center;gap:10px;padding:12px;border-radius:12px;background:#f2f5fb;color:var(--muted);transition:.3s; }
.loader-step.active { background:rgba(79,107,237,.1);color:var(--blue);transform:translateX(5px); }
.loader-step.done { background:rgba(18,184,165,.1);color:#0e8d80; }
/* Result */
.decision-file { max-width:1260px; }
.decision-file-head { display:flex;align-items:end;justify-content:space-between;gap:24px;padding-bottom:24px;border-bottom:1px solid var(--line-strong); }
.decision-file-head h1 { margin:0;font-family:"Noto Serif SC",serif;font-size:clamp(38px,5vw,64px); }
.decision-file-head p { margin:5px 0 0;color:var(--muted);font-size:12px; }
.decision-file-head>div:last-child { display:flex;gap:9px;flex-wrap:wrap; }
.decision-summary { margin-top:22px;padding:30px;background:#121917;color:white;display:grid;grid-template-columns:1fr 300px;gap:28px;align-items:end;border-radius:18px; }
.decision-summary>div>span { color:#8fb0ff;font-size:11px;font-weight:900;letter-spacing:.1em; }
.decision-summary h2 { max-width:820px;margin:9px 0;font-family:"Noto Serif SC",serif;font-size:clamp(26px,3vw,42px);line-height:1.45; }
.decision-summary>div>p { color:rgba(255,255,255,.65); }
.decision-summary aside { padding:17px;border:1px solid rgba(255,255,255,.13);border-radius:13px;background:rgba(255,255,255,.055); }
.decision-summary aside strong { color:#8fb0ff; }
.decision-summary aside p { margin:5px 0 0;color:rgba(255,255,255,.62);font-size:12px; }
.decision-section { margin-top:22px;padding:28px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.84);box-shadow:var(--shadow-sm); }
.decision-section>header { display:grid;grid-template-columns:46px 1fr;gap:13px;padding-bottom:19px;border-bottom:1px solid var(--line); }
.decision-section>header>span { color:var(--blue);font-family:"Noto Serif SC",serif;font-size:26px; }
.decision-section>header h2 { margin:0;font-family:"Noto Serif SC",serif;font-size:25px; }
.decision-section>header p { margin:3px 0 0;color:var(--text-2); }
.evidence-board { display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px; }
.evidence-board article { padding:18px;border:1px solid var(--line);border-radius:13px;background:#f8faf9; }
.evidence-board article:nth-child(2) { background:#faf8f4; }
.evidence-board article:nth-child(3) { background:#f5f7fc; }
.evidence-board b { color:var(--blue); }
.evidence-board ul { margin:12px 0 0;padding-left:18px;color:var(--text-2);font-size:13px; }
.evidence-board li+li { margin-top:8px; }
.alternative-view { margin-top:11px;padding:13px 15px;border-radius:12px;background:#f2f4f3;color:var(--text-2); }
.alternative-view summary { color:var(--text);font-weight:800;cursor:pointer; }
.decision-path-tabs { display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px; }
.decision-path-tabs button { min-height:50px;border:1px solid var(--line);border-radius:12px;background:white;font-weight:800;cursor:pointer; }
.decision-path-tabs button.active { background:var(--text);border-color:var(--text);color:white; }
.decision-path-detail { display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:10px;border:1px solid var(--line);border-radius:13px;background:var(--line);overflow:hidden; }
.decision-path-detail>div { min-height:145px;padding:17px;background:white; }
.decision-path-detail small,.decision-path-detail strong { display:block; }
.decision-path-detail small { color:var(--blue);font-weight:800; }
.decision-path-detail strong { margin-top:12px;font-size:13px;line-height:1.7; }
.message-draft { margin-top:18px;padding:24px;border-left:4px solid var(--blue);background:#f4f6fb; }
.message-draft blockquote { margin:0;font-family:"Noto Serif SC",serif;font-size:19px;line-height:1.9; }
.message-draft>div { display:flex;gap:8px;flex-wrap:wrap;margin-top:19px; }
.message-tone-tabs { display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px; }
.message-tone-tabs button { min-height:44px;border:1px solid var(--line);border-radius:11px;background:white;font-weight:800;cursor:pointer; }
.message-tone-tabs button.active { color:white;background:var(--text);border-color:var(--text); }
.observation-plan { display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:18px; }
.observation-step { min-height:190px;padding:16px;border:1px solid var(--line);border-radius:13px;background:white;text-align:left;color:inherit;cursor:pointer;transition:.2s; }
.observation-step:hover { border-color:var(--blue);transform:translateY(-2px); }
.observation-step>span { width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#eef1f8;color:var(--blue);font-weight:900; }
.observation-step b { display:block;margin-top:22px;font-size:13px; }
.observation-step p { margin:7px 0 0;color:var(--text-2);font-size:12px; }
.observation-step.done { border-color:rgba(18,134,117,.35);background:rgba(18,134,117,.05); }
.observation-step.done>span { background:var(--teal);color:white; }
#decision-note-form { display:grid;gap:12px;margin-top:18px; }
.evidence-log-section form { display:grid;gap:12px;margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:13px;background:#f8faf9; }
.evidence-log-list { display:grid;gap:8px;margin-top:13px; }
.evidence-log-list article { display:grid;grid-template-columns:100px 1fr 32px;gap:12px;align-items:start;padding:15px;border:1px solid var(--line);border-radius:12px;background:white; }
.evidence-log-list article>span { color:var(--blue);font-size:12px;font-weight:800; }
.evidence-log-list article b { font-size:13px; }
.evidence-log-list article p { margin:5px 0 0;color:var(--text-2);font-size:13px; }
.evidence-log-list article button { width:30px;height:30px;border:0;border-radius:8px;background:#f1f3f2;color:var(--muted);cursor:pointer; }
.evidence-log-list article button:hover { color:white;background:var(--red); }
.decision-related { margin-top:28px; }
.insight-banner { padding:22px 25px;display:flex;gap:16px;align-items:center;background:linear-gradient(115deg,rgba(123,92,231,.1),rgba(18,184,165,.06),white); }
.insight-banner .spark { width:52px;height:52px;border-radius:17px;display:grid;place-items:center;font-size:24px;color:white;background:linear-gradient(135deg,var(--teal),var(--purple));box-shadow:0 12px 25px rgba(79,107,237,.22); }
.insight-banner h2 { margin:0 0 3px;font-family:"Noto Serif SC",serif;font-size:20px; }
.insight-banner p { margin:0;color:var(--text-2);font-size:12px; }
.analysis-triad { display:grid;grid-template-columns:repeat(3,1fr);gap:14px; }
.bullet-card { padding:19px; }
.bullet-card ul { margin:10px 0 0;padding-left:18px;color:var(--text-2);font-size:12px; }
.bullet-card li+li { margin-top:6px; }
.structure-row { display:grid;grid-template-columns:repeat(6,1fr);gap:8px;align-items:stretch; }
.structure-step { padding:13px 9px;border:1px solid var(--line);border-radius:14px;background:white;text-align:center;font-size:11px;position:relative; }
.structure-step:not(:last-child)::after { content:"→";position:absolute;right:-11px;top:42%;color:var(--blue);z-index:2;font-weight:900; }
.structure-step strong { display:block;color:var(--purple);font-size:12px;margin-bottom:5px; }
.result-duo { display:grid;grid-template-columns:1.05fr .95fr;gap:16px; }
.radar-wrap { display:grid;grid-template-columns:minmax(220px,.8fr) 1fr;gap:15px;align-items:center; }
.radar { width:100%;max-width:310px;margin:auto; }
.metric-list { display:grid;gap:8px; }
.metric-line { display:grid;grid-template-columns:90px 1fr 35px;gap:8px;align-items:center;font-size:11px; }
.metric-track { height:7px;background:#edf0f7;border-radius:999px;overflow:hidden; }
.metric-track i { display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--teal),var(--blue),var(--purple));width:0;transition:width 1.1s var(--ease-emph); }
.action-card { padding:17px;cursor:pointer; }
.action-card.done { opacity:.65;background:rgba(18,184,165,.07); }
.action-card.done::after { content:"✓ 已记录";position:absolute;right:12px;top:12px;color:#0f907e;font-size:10px;font-weight:800; }
/* map */
.map-guide { margin-bottom:14px;padding:11px 16px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.64);display:flex;align-items:center;justify-content:center;gap:10px;color:var(--text-2);font-size:12px;font-weight:800; }
.map-guide i { width:34px;height:1px;background:linear-gradient(90deg,var(--line-strong),var(--blue)); }
.map-layout { display:grid;grid-template-columns:250px minmax(0,1fr) 300px;gap:14px;align-items:start; }
.filter-panel,.detail-panel { padding:17px;position:sticky;top:98px; }
.filter-group+ .filter-group { margin-top:17px; }
.filter-group h3 { font-size:12px;margin:0 0 8px;color:var(--text-2); }
.filter-chips { display:flex;flex-wrap:wrap;gap:6px; }
.filter-chip { min-height:34px;border:1px solid var(--line);background:white;border-radius:10px;padding:7px 10px;font-size:12px;cursor:pointer; }
.filter-chip.active { color:var(--purple);border-color:rgba(123,92,231,.4);background:rgba(123,92,231,.07); }
.graph-card { min-height:650px;padding:10px; }
.graph-stage { width:100%;height:630px;position:relative;overflow:hidden;border-radius:16px;background:radial-gradient(circle at center,rgba(79,107,237,.08),transparent 42%),linear-gradient(135deg,#fbfcff,#f4f7fd); }
.graph-stage svg { width:100%;height:100%; }
.network-caption { margin:8px 8px 0;padding:12px 14px;border-radius:13px;background:var(--text);color:white;display:flex;justify-content:space-between;gap:12px;font-size:11px; }
.network-caption span { color:rgba(255,255,255,.68); }
.graph-edge { stroke:#b8c4de;stroke-width:1.4;stroke-dasharray:8 7;animation:dashFlow 14s linear infinite;transition:opacity .25s,stroke .25s,stroke-width .25s; }
.graph-edge.strong { stroke-width:2.5;stroke:rgba(79,107,237,.55); }
.graph-edge.highlight { stroke:var(--pink);stroke-width:3;filter:drop-shadow(0 0 5px rgba(236,106,166,.5)); }
.graph-node { cursor:pointer;transition:opacity .25s,filter .25s;transform-box:fill-box;transform-origin:center; }
.graph-node:hover { filter:brightness(1.05) drop-shadow(0 8px 12px rgba(50,68,115,.2)); }
.graph-node.dimmed { opacity:.16; }
.graph-node circle.core { stroke:white;stroke-width:5; }
.graph-node text { fill:white;font-size:12px;font-weight:800;text-anchor:middle;pointer-events:none; }
.graph-node.mechanism text { fill:var(--text-2);font-size:10px; }
.graph-node.mechanism circle { fill:white;stroke:#d6deed;stroke-width:1.4; }
.detail-panel h3 { margin:0 0 10px; }
.detail-radar { margin:12px 0; }
.linked-systems { display:grid;gap:7px;margin-top:9px; }
.linked-systems button { display:grid;grid-template-columns:9px 48px 1fr;gap:8px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:12px;background:white;text-align:left;cursor:pointer;color:inherit; }
.linked-systems button:hover { border-color:var(--blue); }
.linked-systems button>span { width:8px;height:8px;border-radius:50%; }
.linked-systems b { font-size:12px; }
.linked-systems small { color:var(--muted);font-size:11px; }
/* debate */
.debate-hero { padding:26px;display:grid;grid-template-columns:1fr 260px;align-items:center;background:linear-gradient(135deg,rgba(123,92,231,.12),rgba(236,106,166,.08),rgba(255,255,255,.9)); }
.debate-question { font-family:"Noto Serif SC",serif;font-size:clamp(24px,3vw,38px);line-height:1.45;margin:0; }
.fork-visual { height:180px;position:relative; }
.fork-heart { position:absolute;left:50%;top:18px;transform:translateX(-50%) rotate(-45deg);width:55px;height:55px;background:linear-gradient(135deg,#ee7cb0,#8e6df0);border-radius:10px 50% 50% 50%;box-shadow:0 12px 25px rgba(123,92,231,.25);animation:heartFloat 4s ease-in-out infinite; }
.fork-heart::before,.fork-heart::after{content:"";position:absolute;width:55px;height:55px;border-radius:50%;background:inherit}.fork-heart::before{left:0;top:-27px}.fork-heart::after{left:27px;top:0}
@keyframes heartFloat { 50% { margin-top:-8px; } }
.fork-road { position:absolute;left:50%;bottom:10px;width:220px;height:105px;transform:translateX(-50%); }
.fork-road::before,.fork-road::after{content:"";position:absolute;bottom:0;width:95px;height:12px;border-radius:99px;background:linear-gradient(90deg,rgba(123,92,231,.15),rgba(79,107,237,.8));transform-origin:center bottom}.fork-road::before{left:18px;transform:rotate(-24deg)}.fork-road::after{right:18px;transform:rotate(24deg);background:linear-gradient(90deg,rgba(236,106,166,.8),rgba(123,92,231,.15))}
.conflict-axis { display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px; }
.axis-chip { padding:10px;border:1px solid var(--line);border-radius:13px;background:white;text-align:center;font-size:11px;font-weight:700; }
.path-compare { display:grid;grid-template-columns:1fr 88px 1fr;gap:12px;align-items:stretch; }
.path-panel { padding:20px;transition:.35s var(--ease); }
.path-panel.emphasized { transform:scale(1.012);box-shadow:var(--shadow-lg);border-color:rgba(79,107,237,.38); }
.path-panel.deemphasized { opacity:.62;filter:saturate(.75); }
.path-panel h2 { font-family:"Noto Serif SC",serif;margin:0 0 4px;font-size:26px; }
.path-section { display:grid;grid-template-columns:105px 1fr;gap:12px;padding:14px 0;border-bottom:1px solid var(--line); }
.path-section:last-child { border-bottom:0; }
.path-label { font-size:12px;font-weight:800;color:var(--purple); }
.path-section ul { margin:0;padding-left:18px;font-size:12px;color:var(--text-2); }
.balance-column { display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px; }
.balance-line { height:320px;width:6px;border-radius:99px;background:linear-gradient(var(--teal),var(--blue),var(--purple),var(--pink));position:relative; }
.balance-knob { position:absolute;left:50%;transform:translate(-50%,-50%);width:34px;height:34px;border-radius:50%;background:white;border:5px solid var(--purple);box-shadow:0 8px 20px rgba(66,77,120,.2);transition:top .3s; }
.balance-input { writing-mode:vertical-lr;direction:rtl;height:260px;accent-color:var(--purple); }
.prepost-vote { display:grid;grid-template-columns:1fr 1fr;gap:14px; }
.vote-box { padding:18px; }
.vote-options { display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px; }
.vote-choice { border:1px solid var(--line);background:white;border-radius:12px;padding:10px;cursor:pointer;font-size:12px;font-weight:700; }
.vote-choice.selected { color:white;background:linear-gradient(135deg,var(--teal),var(--purple));border-color:transparent; }
.debate-progress { margin-top:12px;padding:12px 16px;border:1px dashed var(--line-strong);border-radius:14px;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--muted);font-size:10px; }
.debate-progress i { width:45px;height:1px;background:var(--line-strong); }
.debate-progress.active span:first-child { color:var(--teal);font-weight:900; }
.debate-receipt { margin-top:14px;padding:22px;border-radius:20px;background:linear-gradient(135deg,#132038,#253b62);color:white;box-shadow:var(--shadow-md); }
.debate-receipt.changed { background:linear-gradient(135deg,#16213d,#3f3777 58%,#6d3861); }
.debate-receipt h3 { margin:7px 0 5px;font-family:"Noto Serif SC",serif;font-size:23px; }
.debate-receipt p { margin:0;color:rgba(255,255,255,.68);font-size:12px;line-height:1.7; }
.receipt-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:17px 0; }
.receipt-grid section { padding:13px;border:1px solid rgba(255,255,255,.12);border-radius:13px;background:rgba(255,255,255,.05); }
.receipt-grid small { display:block;color:rgba(255,255,255,.5);font-size:9px;margin-bottom:7px; }
.receipt-grid strong { font-size:11px;line-height:1.5; }
/* community */
.plaza-hero { display:grid;grid-template-columns:1.2fr .8fr;gap:20px;align-items:stretch; }
.plaza-intro { padding:30px;background:#eef1f8;border-top:3px solid var(--blue); }
.plaza-intro h1 { margin:0;font-family:"Noto Serif SC",serif;font-size:38px; }
.plaza-intro p { color:var(--text-2);max-width:690px; }
.plaza-rules { padding:22px; }
.plaza-rules ol { margin:10px 0 0;padding-left:20px;color:var(--text-2);font-size:13px; }
.plaza-search { margin-bottom:12px;padding:14px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.76); }
.plaza-search label { display:block;margin-bottom:7px;font-size:12px;font-weight:800;color:var(--text-2); }
.plaza-search>div { display:flex;gap:8px; }
.plaza-search .input { flex:1;min-width:0; }
.community-layout { display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:18px;align-items:start; }
.feed-toolbar { display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:13px; }
.feed-tabs { display:flex;gap:7px;flex-wrap:wrap; }
.feed-tab { border:1px solid var(--line);background:white;border-radius:999px;padding:8px 13px;font-size:12px;cursor:pointer; }
.feed-tab.active { background:var(--text);color:white;border-color:var(--text); }
.post-list { display:grid;gap:13px; }
.post-card { padding:20px; }
.post-card.pinned { border-color:rgba(245,158,11,.4);background:linear-gradient(135deg,rgba(245,158,11,.06),rgba(255,255,255,.88)); }
.post-head { display:flex;justify-content:space-between;gap:10px;align-items:flex-start; }
.author { display:flex;align-items:center;gap:10px; }
.author .avatar { width:38px;height:38px;font-size:12px; }
.author strong { display:block;font-size:13px; }
.author small { color:var(--muted);font-size:12px; }
.post-title { font-size:19px;margin:15px 0 6px;line-height:1.4; }
.post-content { color:var(--text-2);font-size:13px;white-space:pre-line; }
.post-actions { display:flex;gap:8px;margin-top:15px;flex-wrap:wrap; }
.action-button { border:0;background:#f3f5fa;border-radius:10px;padding:8px 11px;font-size:12px;cursor:pointer;color:var(--text-2);transition:.2s; }
.action-button:hover,.action-button.active { background:rgba(79,107,237,.1);color:var(--blue); }
.hot-list { display:grid;gap:8px; }
.hot-item { display:grid;grid-template-columns:26px 1fr;gap:8px;padding:10px;border-radius:12px;background:#f6f8fc;font-size:12px; }
.hot-rank { width:24px;height:24px;border-radius:8px;background:linear-gradient(135deg,var(--orange),var(--pink));display:grid;place-items:center;color:white;font-weight:800; }
.compose-fab { position:fixed;right:26px;bottom:26px;z-index:900;border:0;border-radius:999px;padding:0 20px;height:54px;background:linear-gradient(135deg,var(--teal),var(--blue),var(--purple));color:white;font-weight:800;cursor:pointer;box-shadow:0 18px 40px rgba(79,107,237,.32);transition:.25s; }
.compose-fab:hover { transform:translateY(-4px) scale(1.02); }
.comment-drawer { width:min(720px,100%);max-height:88vh;overflow:auto; }
.comment-list { display:grid;gap:10px;margin-top:15px; }
.comment { padding:13px;border:1px solid var(--line);border-radius:13px;background:#fafbfe; }
.comment-head { display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--muted); }
.comment p { margin:6px 0 0;font-size:13px;color:var(--text-2);white-space:pre-line; }
.comment-form { display:grid;gap:8px;margin-top:15px; }
/* quotes */
.quote-toolbar { display:flex;gap:9px;flex-wrap:wrap;margin-bottom:16px; }
.quote-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:14px; }
.quote-card { padding:22px;min-height:200px;display:flex;flex-direction:column;justify-content:space-between;cursor:pointer; }
.quote-mark { font-family:serif;font-size:54px;line-height:.5;color:rgba(123,92,231,.22); }
.quote-text { font-family:"Noto Serif SC",serif;font-size:19px;line-height:1.65;margin:10px 0; }
.quote-actions { display:flex;justify-content:space-between;align-items:center;gap:8px; }
/* world */
.world-hero { padding:36px;min-height:330px;display:flex;align-items:flex-end;background:linear-gradient(135deg,rgba(20,33,61,.94),rgba(79,107,237,.84),rgba(123,92,231,.75));color:white;position:relative;overflow:hidden; }
.world-hero::before { content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 30%,rgba(255,255,255,.2),transparent 28%),linear-gradient(120deg,transparent,rgba(255,255,255,.05)); }
.world-hero>div { position:relative;z-index:2;max-width:850px; }
.world-hero h1 { font-family:"Noto Serif SC",serif;font-size:48px;margin:0 0 10px; }
.world-hero p { color:rgba(255,255,255,.78); }
.essay-card { padding:24px; }
.essay-card h3 { margin:0 0 8px;font-family:"Noto Serif SC",serif;font-size:21px; }
/* profile */
.profile-layout { display:grid;grid-template-columns:280px minmax(0,1fr);gap:18px;align-items:start; }
.profile-panel { padding:22px;position:sticky;top:98px;text-align:center; }
.profile-panel .avatar { width:76px;height:76px;margin:0 auto 12px;font-size:25px; }
.profile-avatar-control { display:flex;align-items:center;gap:12px;margin-top:12px;padding:11px;border:1px solid var(--line);border-radius:14px;background:#f7f9fb; }
.profile-avatar-control .avatar { width:52px;height:52px;flex:0 0 52px;font-size:17px;overflow:hidden; }
.profile-avatar-control>div { display:grid;gap:5px;min-width:0; }
.profile-avatar-file { max-width:100%;font-size:12px; }
.profile-avatar-control small,.profile-avatar-note { color:var(--muted);font-size:11px;line-height:1.5; }
.profile-avatar-note { margin:10px 0 0; }
.profile-stats { display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px; }
.profile-stats div { padding:9px;border-radius:12px;background:#f3f5fa; }
.profile-stats strong { display:block; }
.timeline { display:grid;gap:12px; }
.timeline-item { padding:17px;border-left:3px solid var(--purple);background:white;border-radius:0 14px 14px 0;box-shadow:var(--shadow-sm); }
.timeline button.timeline-item { width:100%;border-top:0;border-right:0;border-bottom:0;text-align:left;cursor:pointer;color:inherit; }
.decision-library { display:grid;gap:9px; }
.decision-library-item { width:100%;padding:18px;border:1px solid var(--line);border-radius:14px;background:white;color:inherit;text-align:left;display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;cursor:pointer;transition:.2s; }
.decision-library-item:hover { border-color:var(--blue);transform:translateY(-2px);box-shadow:var(--shadow-sm); }
.decision-library-item span,.decision-library-item strong,.decision-library-item p,.decision-library-item aside>* { display:block; }
.decision-library-item span { color:var(--blue);font-size:11px;font-weight:800; }
.decision-library-item strong { margin-top:5px;font-family:"Noto Serif SC",serif;font-size:17px; }
.decision-library-item p { margin:5px 0 0;color:var(--text-2);font-size:12px; }
.decision-library-item aside { min-width:130px;text-align:right; }
.decision-library-item aside b { color:var(--teal); }
.decision-library-item aside small { margin-top:5px;color:var(--muted);font-size:11px; }
.account-state { display:block;margin:14px 0 10px;padding:7px 9px;border-radius:9px;background:rgba(18,134,117,.08);color:var(--teal);font-size:10px;overflow-wrap:anywhere; }
.account-state.guest { background:#f1f4f3;color:var(--muted); }
.text-danger { margin-top:10px;border:0;background:transparent;color:var(--red);font-size:11px;cursor:pointer; }
/* academy */
.academy-hero { min-height:470px;padding:50px;display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:48px;align-items:end;border-radius:24px;background:#121917;color:white;position:relative;overflow:hidden; }
.academy-hero::before { content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 52%,rgba(36,87,214,.18)),repeating-linear-gradient(90deg,transparent 0 59px,rgba(255,255,255,.025) 60px); }
.academy-hero>div,.academy-hero>aside { position:relative;z-index:1; }
.academy-hero h1 { margin:4px 0 18px;font-family:"Noto Serif SC",serif;font-size:clamp(38px,5vw,68px);line-height:1.18;font-weight:700; }
.academy-hero h1 span { color:#8fb0ff; }
.academy-hero p { max-width:780px;color:rgba(255,255,255,.68);font-size:15px; }
.academy-hero aside { padding:22px;border:1px solid rgba(255,255,255,.14);border-radius:17px;background:rgba(255,255,255,.055);backdrop-filter:blur(12px); }
.academy-hero aside strong { display:block;font-family:"Noto Serif SC",serif;font-size:58px;line-height:1; }
.academy-hero aside span,.academy-hero aside small { display:block;color:rgba(255,255,255,.58);font-size:11px; }
.academy-hero aside i { display:block;height:5px;margin:18px 0 10px;border-radius:99px;background:linear-gradient(90deg,#8fb0ff var(--progress),rgba(255,255,255,.12) var(--progress)); }
.academy-toolbar { margin-top:16px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.7);display:flex;align-items:center;gap:8px;flex-wrap:wrap; }
.academy-toolbar>span { margin-left:auto;color:var(--muted);font-size:10px; }
.academy-featured { display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:13px; }
.academy-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:13px; }
.academy-card { min-height:300px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.84);overflow:hidden;transition:.25s var(--ease); }
.academy-card:hover { transform:translateY(-5px);box-shadow:var(--shadow-md);border-color:rgba(36,87,214,.35); }
.academy-card.completed { border-color:rgba(18,134,117,.38); }
.academy-card>button { width:100%;height:100%;min-height:inherit;padding:22px;border:0;background:transparent;text-align:left;color:inherit;cursor:pointer;display:flex;flex-direction:column; }
.academy-card.featured:first-child { grid-row:span 2;min-height:430px;background:#e9eefb; }
.academy-card-top { display:flex;align-items:center;gap:8px;color:var(--blue);font-size:10px;font-weight:900;letter-spacing:.08em; }
.academy-card-top b { margin-left:auto;font-family:"Noto Serif SC",serif;font-size:32px;color:rgba(36,87,214,.24); }
.academy-card-top i { margin-left:auto;padding:4px 7px;border-radius:99px;background:rgba(18,134,117,.1);color:var(--teal);font-style:normal;letter-spacing:0; }
.academy-card h3 { margin:27px 0 8px;font-family:"Noto Serif SC",serif;font-size:23px;line-height:1.5; }
.academy-card.featured:first-child h3 { margin-top:60px;font-size:34px; }
.academy-card h4 { margin:0 0 12px;color:var(--blue);font-size:12px;font-weight:600; }
.academy-card p { margin:0;color:var(--text-2);font-size:12px;line-height:1.8; }
.academy-card-foot { margin-top:auto;padding-top:22px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px; }
.academy-card-foot strong { color:var(--blue);font-size:10px;white-space:nowrap; }
.academy-manifesto { margin-top:40px;padding:40px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center; }
.academy-manifesto>span { color:var(--blue);font-size:10px;font-weight:900;letter-spacing:.14em; }
.academy-manifesto h2 { max-width:900px;margin:16px auto;font-family:"Noto Serif SC",serif;font-size:30px;line-height:1.55; }
.academy-manifesto p { color:var(--text-2); }
.academy-reader header { padding-bottom:18px;border-bottom:1px solid var(--line); }
.academy-reader header h3 { font-family:"Noto Serif SC",serif;font-size:21px; }
.academy-reader header p { color:var(--text-2);line-height:1.8; }
.academy-points { display:grid;gap:0;margin:15px 0; }
.academy-points section { display:grid;grid-template-columns:48px 1fr;gap:13px;padding:17px 0;border-bottom:1px solid var(--line);align-items:start; }
.academy-points b { font-family:"Noto Serif SC",serif;font-size:22px;color:rgba(36,87,214,.42); }
.academy-points p { margin:0;font-size:14px;line-height:1.8; }
.source-note { padding:15px;border-radius:13px;background:#f1f4f3; }
.source-note p,.source-note small { margin:4px 0;color:var(--text-2);font-size:11px; }
.academy-question { margin-top:16px;padding:20px;border-radius:16px;background:#121917;color:white; }
.academy-question>span { color:#8fb0ff;font-size:10px;font-weight:900; }
.academy-question h3 { font-family:"Noto Serif SC",serif;line-height:1.6; }
.academy-question>div { display:flex;gap:8px;flex-wrap:wrap; }
/* account */
.auth-shell { display:grid;gap:16px; }
.auth-tabs { display:grid;grid-template-columns:1fr 1fr;padding:4px;border-radius:12px;background:#edf2f0; }
.auth-tabs button { border:0;border-radius:9px;padding:9px;background:transparent;cursor:pointer;font-weight:700; }
.auth-tabs button.active { background:white;color:var(--blue);box-shadow:var(--shadow-sm); }
#auth-form,#content-submit-form { display:grid;gap:12px; }
.auth-trust { padding:14px;border-left:3px solid var(--teal);background:#f1f4f3; }
.auth-trust span { font-size:12px;font-weight:900;color:var(--teal); }
.auth-trust p,.form-status { margin:5px 0 0;color:var(--text-2);font-size:12px;line-height:1.7; }
.pending-verification { display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid rgba(36,87,214,.2);border-radius:13px;background:rgba(36,87,214,.06); }
.pending-verification strong,.pending-verification span { display:block; }
.pending-verification span { margin-top:2px;color:var(--text-2);font-size:12px;overflow-wrap:anywhere; }
.password-checks { display:flex;gap:8px;flex-wrap:wrap;margin-top:-4px; }
.password-checks span { padding:4px 8px;border-radius:999px;background:#eef1f0;color:var(--muted);font-size:11px; }
.password-checks span::before { content:'○';margin-right:5px; }
.password-checks span.valid { background:rgba(18,134,117,.09);color:var(--teal); }
.password-checks span.valid::before { content:'✓'; }
.field-note { display:block;margin-top:4px;color:var(--teal);font-size:10px; }
.profile-chip.signed-in { border-color:rgba(18,134,117,.4); }
.verification-shell { display:grid;gap:13px;text-align:center; }
.verification-mail { width:max-content;max-width:100%;margin:auto;padding:6px 10px;border-radius:999px;background:rgba(36,87,214,.08);color:var(--blue);font-size:11px;overflow-wrap:anywhere; }
.verification-shell h3 { margin:5px 0 0;font-family:"Noto Serif SC",serif;font-size:25px; }
.verification-shell>p { margin:0;color:var(--text-2);font-size:12px; }
#verification-form { display:grid;gap:12px;margin-top:5px; }
.verification-code { text-align:center;font-size:28px;font-weight:800;letter-spacing:.22em; }
.verification-hint { margin-top:-6px;color:var(--muted);font-size:12px; }
.verification-hint.ready { color:var(--teal);font-weight:700; }
.verification-actions { display:flex;justify-content:space-between;gap:10px; }
.verification-actions button { border:0;background:transparent;color:var(--blue);font-size:11px;cursor:pointer; }
.verification-actions button:disabled { color:var(--muted);cursor:not-allowed; }
/* modal / search */
.modal-root { position:fixed;inset:0;z-index:1800;pointer-events:none; }
.modal-backdrop { position:absolute;inset:0;background:rgba(17,26,49,.52);backdrop-filter:blur(8px);display:grid;place-items:center;padding:18px;pointer-events:auto;animation:fadeIn .2s; }
.modal { width:min(660px,100%);max-height:92vh;overflow:auto;background:white;border-radius:24px;box-shadow:var(--shadow-lg);animation:modalIn .3s var(--ease-emph); }
.modal-head { position:sticky;top:0;z-index:2;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);padding:18px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center; }
.modal-head h2 { margin:0;font-size:19px; }
.modal-close { border:0;background:#f1f3f8;width:38px;height:38px;border-radius:10px;cursor:pointer;font-size:20px;line-height:1;display:grid;place-items:center;transition:.2s; }
.modal-close:hover { color:white;background:var(--text);transform:rotate(8deg); }
.modal-close:focus-visible,.case-story:focus-visible,.relation-system-card:focus-visible,.mechanism-card:focus-visible { outline:3px solid rgba(79,107,237,.32);outline-offset:-3px; }
.modal-body { padding:20px; }
.button:disabled { cursor:wait;opacity:.62;transform:none; }
@keyframes fadeIn { from{opacity:0} }
@keyframes modalIn { from{opacity:0;transform:translateY(15px) scale(.98)} }
.search-results { display:grid;gap:8px;margin-top:12px; }
.search-result { padding:12px;border:1px solid var(--line);border-radius:12px;cursor:pointer; }
.search-result:hover { border-color:var(--blue);background:rgba(79,107,237,.05); }
.toast-root { position:fixed;right:18px;bottom:18px;z-index:2000;display:grid;gap:8px;pointer-events:none; }
.toast { min-width:250px;max-width:360px;padding:12px 14px;border-radius:13px;color:white;background:rgba(20,33,61,.94);box-shadow:var(--shadow-lg);animation:toastIn .3s var(--ease-emph);font-size:12px; }
@keyframes toastIn { from { opacity:0;transform:translateY(12px) scale(.96) } }
.empty { padding:44px 20px;text-align:center;color:var(--muted);border:1px dashed var(--line-strong);border-radius:var(--radius); }
.loading-screen { min-height:55vh;display:grid;place-items:center;align-content:center;gap:15px;color:var(--muted); }
.loading-orbit { width:66px;height:66px;position:relative;animation:rotateSlow 2.4s linear infinite; }
.loading-orbit span { position:absolute;width:16px;height:16px;border-radius:50%;background:linear-gradient(135deg,var(--teal),var(--purple)); }
.loading-orbit span:nth-child(1){left:25px;top:0}.loading-orbit span:nth-child(2){right:0;bottom:4px}.loading-orbit span:nth-child(3){left:0;bottom:4px}
.noscript-card { margin:50px auto;padding:30px;width:min(600px,calc(100% - 32px));background:white;border-radius:20px;box-shadow:var(--shadow-md); }
.site-footer { width:min(calc(100% - 40px),var(--max));margin:0 auto 26px;border-top:1px solid var(--line);padding:24px 0;display:grid;grid-template-columns:1fr auto;gap:14px 25px;color:var(--muted);font-size:11px; }
.site-footer p { margin:4px 0; }
.site-footer nav { display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:flex-end; }
.site-footer small { grid-column:1/-1; }
.reveal { opacity:1;transform:none; }
.reveal.visible { animation:contentReveal .36s var(--ease) both; }
@keyframes contentReveal { from{opacity:.72;transform:translateY(6px)}to{opacity:1;transform:none} }
.motion-off *, .motion-off *::before, .motion-off *::after { animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important; }
@media (max-width:1380px) {
  .site-header { grid-template-columns:1fr auto; }
  .primary-nav { position:fixed;left:18px;right:18px;top:78px;background:white;border:1px solid var(--line);border-radius:18px;padding:10px;box-shadow:var(--shadow-lg);display:none;flex-wrap:wrap;justify-content:center; }
  .primary-nav.open { display:flex; }
  .mobile-menu-trigger { display:block; }
  .hero { grid-template-columns:1fr; }
  .hero-network { min-height:390px; }
  .grid-6 { grid-template-columns:repeat(3,1fr); }
  .map-layout { grid-template-columns:210px minmax(0,1fr); }
  .detail-panel { grid-column:1/-1;position:static; }
  .community-layout { grid-template-columns:1fr; }
  .community-layout .sidebar-stack { position:static;grid-template-columns:repeat(2,1fr); }
}
@media (max-width:860px) {
  .page { width:min(calc(100% - 24px),var(--max));padding-top:26px; }
  .site-header { padding:0 13px;min-height:68px; }
  .brand-copy small,.profile-chip span:last-child { display:none; }
  .hero { padding:24px; }
  .hero-network { transform:scale(.86);margin:-25px 0; }
  .mode-switcher,.grid-3,.grid-4,.grid-6,.analysis-triad,.result-duo,.plaza-hero,.prepost-vote,.quote-grid,.profile-layout { grid-template-columns:1fr 1fr; }
  .workspace { grid-template-columns:1fr; }
  .sidebar-stack { position:static;grid-template-columns:1fr 1fr; }
  .choice-grid { grid-template-columns:repeat(3,1fr); }
  .form-row { grid-template-columns:1fr 1fr; }
  .map-layout { grid-template-columns:1fr; }
  .filter-panel,.detail-panel { position:static; }
  .graph-stage { height:540px; }
  .path-compare { grid-template-columns:1fr; }
  .balance-column { order:2; }
  .balance-line { display:none; }
  .balance-input { writing-mode:horizontal-tb;direction:ltr;width:100%;height:auto; }
  .path-panel:last-child { order:3; }
  .debate-hero { grid-template-columns:1fr; }
  .fork-visual { height:140px; }
  .structure-row { grid-template-columns:repeat(3,1fr); }
  .structure-step::after { display:none; }
  .radar-wrap { grid-template-columns:1fr; }
  .site-footer { grid-template-columns:1fr; }
  .site-footer nav { justify-content:flex-start; }
  .mechanism-rail { grid-template-columns:repeat(5,minmax(210px,42vw)); }
  .academy-hero { grid-template-columns:1fr;padding:32px; }
  .academy-hero aside { width:min(100%,340px); }
  .academy-featured,.academy-grid { grid-template-columns:1fr 1fr; }
  .academy-card.featured:first-child { grid-row:auto;min-height:330px; }
  .academy-card.featured:first-child h3 { margin-top:27px;font-size:27px; }
  .journey-grid { grid-template-columns:1fr 1fr; }
  .quiz-options,.subtext-contexts { grid-template-columns:1fr 1fr; }
  .quiz-result { grid-template-columns:1fr; }
  .quiz-result-actions { flex-direction:row;flex-wrap:wrap; }
  .decision-workbench,.decision-summary { grid-template-columns:1fr; }
  .workbench-output { min-height:420px; }
  .evidence-board { grid-template-columns:1fr; }
  .decision-path-detail { grid-template-columns:1fr 1fr; }
  .observation-plan { grid-template-columns:1fr 1fr; }
  .method-strip>div { grid-template-columns:1fr 1fr; }
}
@media (max-width:560px) {
  .header-actions .icon-button { display:none; }
  .hero-title { font-size:39px; }
  .hero-network { transform:scale(.68);margin:-70px 0; }
  .hero-network-shell { margin-bottom:8px; }
  .network-insight { margin:-64px 0 0;grid-template-columns:1fr;align-items:start; }
  .mode-switcher,.grid-2,.grid-3,.grid-4,.grid-6,.analysis-triad,.result-duo,.plaza-hero,.prepost-vote,.quote-grid,.profile-layout,.community-layout .sidebar-stack,.sidebar-stack { grid-template-columns:1fr; }
  .stat-strip { grid-template-columns:1fr 1fr; }
  .daily-dual { grid-template-columns:1fr; }
  .choice-grid { grid-template-columns:1fr 1fr; }
  .form-row { grid-template-columns:1fr; }
  .conflict-axis { grid-template-columns:1fr 1fr; }
  .page-head { align-items:flex-start;flex-direction:column; }
  .plaza-intro h1,.world-hero h1 { font-size:34px; }
  .compose-fab { right:15px;bottom:15px;height:48px; }
  .site-footer { width:calc(100% - 24px); }
  .case-shell { min-height:270px; }
  .case-detail-grid,.signal-grid,.related-cases { grid-template-columns:1fr; }
  .section-cta { align-items:flex-start;flex-direction:column; }
  .mechanism-rail { grid-template-columns:repeat(5,78vw); }
  .modal-backdrop { padding:8px;align-items:end; }
  .modal { max-height:94vh;border-radius:20px 20px 12px 12px; }
  .plaza-search>div,.pending-verification { align-items:stretch;flex-direction:column; }
  .map-guide { justify-content:flex-start;overflow-x:auto;white-space:nowrap; }
  .map-guide i { min-width:20px; }
  .network-caption { align-items:flex-start;flex-direction:column; }
  .debate-progress { align-items:flex-start;flex-direction:column; }
  .debate-progress i { width:1px;height:12px;margin-left:4px; }
  .receipt-grid { grid-template-columns:1fr; }
  .academy-hero { min-height:0;padding:27px 21px; }
  .academy-hero h1 { font-size:36px; }
  .academy-featured,.academy-grid { grid-template-columns:1fr; }
  .academy-toolbar>span { width:100%;margin:4px 0 0; }
  .academy-manifesto { padding:30px 4px; }
  .academy-manifesto h2 { font-size:24px; }
  .instinct-lab,.quiz-result,.subtext-lab { padding:21px; }
  .instinct-lab header>strong { font-size:38px; }
  .quiz-options,.journey-grid,.subtext-contexts { grid-template-columns:1fr; }
  .quiz-result-actions { flex-direction:column;min-width:0; }
  .subtext-lab header { align-items:flex-start;flex-direction:column; }
  .subtext-line { grid-template-columns:1fr; }
  .subtext-lab footer { grid-template-columns:1fr; }
  .workbench-input,.workbench-output { padding:24px 20px; }
  .workbench-input h1 { font-size:38px; }
  .workbench-submit { grid-template-columns:1fr; }
  .quick-calibration,.method-strip>div { grid-template-columns:1fr; }
  .method-strip article { border-right:0;border-bottom:1px solid var(--line); }
  .continue-file { align-items:flex-start;flex-direction:column; }
  .decision-file-head { align-items:flex-start;flex-direction:column; }
  .decision-summary,.decision-section { padding:21px; }
  .decision-path-detail,.observation-plan { grid-template-columns:1fr; }
  .decision-path-detail>div,.observation-step { min-height:0; }
  .decision-library-item { grid-template-columns:1fr; }
  .decision-library-item aside { text-align:left; }
  .message-tone-tabs { grid-template-columns:1fr; }
  .evidence-log-list article { grid-template-columns:1fr 32px; }
  .evidence-log-list article>span { grid-column:1/-1; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important; }
}
