:root{--font-sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";--font-serif:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--radius:14px;--radius-sm:10px;--maxw:1080px;--maxw-read:680px;--bg:#f7f7f8;--bg-elev:#fff;--surface:#fff;--border:#e6e6ea;--border-strong:#d5d5dc;--text:#16161a;--text-muted:#6b6b76;--text-faint:#9a9aa4;--accent:#4f46e5;--accent-soft:#4f46e51a;--shadow:0 1px 2px #10101a0a, 0 8px 24px #10101a0f;--shadow-sm:0 1px 2px #10101a0f}:root[data-theme=dark]{--bg:#0e0e11;--bg-elev:#17171b;--surface:#17171b;--border:#26262c;--border-strong:#34343c;--text:#ececee;--text-muted:#a1a1ac;--text-faint:#6d6d78;--accent:#8b83ff;--accent-soft:#8b83ff24;--shadow:0 1px 2px #0000004d, 0 8px 24px #0006;--shadow-sm:0 1px 2px #0006}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.6;transition:background .2s,color .2s}a{color:inherit;text-decoration:none}img{max-width:100%}.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 20px}.site-header{z-index:20;background:color-mix(in srgb, var(--bg) 80%, transparent);backdrop-filter:saturate(1.4)blur(10px);border-bottom:1px solid var(--border);position:sticky;top:0}.site-header .bar{justify-content:space-between;align-items:center;height:60px;display:flex}.brand{letter-spacing:-.02em;align-items:center;gap:10px;font-size:1.12rem;font-weight:700;display:flex}.brand .dot{background:linear-gradient(135deg, var(--accent), #d946ef);border-radius:7px;width:22px;height:22px;display:inline-block}.nav{align-items:center;gap:6px;display:flex}.nav a{color:var(--text-muted);border-radius:9px;padding:7px 12px;font-size:.92rem;font-weight:500}.nav a:hover{color:var(--text);background:var(--accent-soft)}.theme-toggle{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:10px;place-items:center;width:38px;height:38px;transition:color .15s,border-color .15s;display:inline-grid}.theme-toggle:hover{color:var(--text);border-color:var(--border-strong)}.theme-toggle .sun{display:none}:root[data-theme=dark] .theme-toggle .sun{display:block}:root[data-theme=dark] .theme-toggle .moon{display:none}.hero{padding:56px 0 28px}.hero h1{letter-spacing:-.03em;margin:0 0 14px;font-size:clamp(2rem,5vw,3rem);font-weight:800;line-height:1.08}.hero p{color:var(--text-muted);max-width:46ch;margin:0;font-size:1.12rem}.section-head{justify-content:space-between;align-items:baseline;margin:40px 0 18px;display:flex}.section-head h2{letter-spacing:-.01em;margin:0;font-size:1.15rem;font-weight:700}.section-head .count{color:var(--text-faint);font-size:.9rem}.grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;padding:20px;transition:transform .16s,box-shadow .16s,border-color .16s;display:flex;position:relative;overflow:hidden}.card:before{content:"";background:var(--card-accent,var(--accent));height:3px;position:absolute;inset:0 0 auto}.card:hover{box-shadow:var(--shadow);border-color:var(--border-strong);transform:translateY(-3px)}.card .cover{margin-bottom:14px;font-size:1.8rem;line-height:1}.card h3{letter-spacing:-.01em;margin:0 0 4px;font-size:1.08rem;font-weight:700}.card .byline{color:var(--text-faint);margin:0 0 12px;font-size:.85rem}.card .oneline{color:var(--text-muted);flex:1;margin:0 0 16px;font-size:.95rem}.card .meta{color:var(--text-faint);align-items:center;gap:12px;font-size:.82rem;display:flex}.card .meta .stars{color:var(--card-accent,var(--accent));letter-spacing:1px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{background:var(--accent-soft);color:var(--accent);border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:5px 11px;font-size:.8rem;font-weight:600;transition:border-color .15s;display:inline-flex}a.chip:hover{border-color:var(--accent)}.chip.neutral{background:var(--bg-elev);color:var(--text-muted);border:1px solid var(--border)}.reader{max-width:var(--maxw-read);margin:0 auto;padding:40px 20px 80px}.reader .kicker{color:var(--accent);letter-spacing:.02em;text-transform:uppercase;font-size:.85rem;font-weight:700}.reader h1{letter-spacing:-.03em;margin:10px 0 6px;font-size:clamp(1.9rem,4vw,2.6rem);font-weight:800;line-height:1.12}.reader .byline{color:var(--text-muted);margin:0 0 20px;font-size:1.05rem}.reader .oneline{font-family:var(--font-serif);color:var(--text);border-left:3px solid var(--accent);margin:22px 0 28px;padding:4px 0 4px 18px;font-size:1.35rem;line-height:1.45}.reader .readmeta{color:var(--text-faint);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:26px;padding-bottom:22px;font-size:.9rem;display:flex}.prose{color:var(--text);font-size:1.08rem;line-height:1.75}.prose>*+*{margin-top:1.1em}.prose h2{letter-spacing:-.02em;margin-top:2em;font-size:1.4rem;font-weight:750}.prose h3{margin-top:1.6em;font-size:1.15rem;font-weight:700}.prose a{color:var(--accent);text-underline-offset:3px;text-decoration:underline 1px}.prose blockquote{border-left:3px solid var(--border-strong);color:var(--text-muted);margin:1.4em 0;padding:2px 0 2px 18px;font-style:italic}.prose code{background:var(--bg-elev);border:1px solid var(--border);border-radius:6px;padding:1px 6px;font-size:.9em}.prose ul,.prose ol{padding-left:1.3em}.prose li+li{margin-top:.4em}.prose hr{border:none;border-top:1px solid var(--border);margin:2.2em 0}.panel{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);margin:28px 0;padding:22px 24px}.panel h2{margin:0 0 4px;font-size:1.1rem;font-weight:700}.panel .panel-sub{color:var(--text-faint);margin:0 0 16px;font-size:.88rem}.principle{border-top:1px dashed var(--border);gap:12px;padding:12px 0;display:flex}.principle:first-of-type{border-top:none}.principle .num{background:var(--accent-soft);width:26px;height:26px;color:var(--accent);border-radius:8px;flex:none;place-items:center;font-size:.8rem;font-weight:700;display:grid}.principle .ptext{margin:0}.principle .pid{color:var(--text-faint);font-size:.72rem;font-family:var(--font-serif);margin-top:3px;display:block}.connection{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);padding:14px 16px;transition:border-color .15s,transform .15s;display:block}.connection+.connection{margin-top:10px}.connection:hover{border-color:var(--accent);transform:translate(2px)}.connection .ctitle{align-items:center;gap:8px;font-weight:650;display:flex}.connection .cnote{color:var(--text-muted);margin:4px 0 0;font-size:.92rem}.graph-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:28px;padding:40px 0 22px;display:flex}.graph-head h1{letter-spacing:-.03em;margin:0 0 10px;font-size:clamp(1.8rem,4vw,2.4rem);font-weight:800;line-height:1.1}.graph-head p{color:var(--text-muted);max-width:54ch;margin:0}.graph-stats{gap:26px;display:flex}.graph-stats div{flex-direction:column;display:flex}.graph-stats strong{letter-spacing:-.02em;font-size:1.6rem;font-weight:800;line-height:1.1}.graph-stats span{color:var(--text-faint);font-size:.82rem}.graph-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;display:flex}.rel-chip{cursor:pointer;background:var(--bg-elev);border:1px solid var(--border);color:var(--text-muted);font-family:inherit}.rel-chip .swatch{background:var(--rel);border-radius:3px;width:9px;height:9px}.rel-chip .relcount{color:var(--text-faint);font-variant-numeric:tabular-nums;font-weight:500}.rel-chip[aria-pressed=true]{color:var(--text);border-color:var(--rel);background:color-mix(in srgb, var(--rel) 10%, transparent)}.rel-chip[aria-pressed=false] .swatch{background:var(--text-faint);opacity:.4}.rel-chip[aria-pressed=false]{opacity:.6;text-decoration:line-through}.graph-select{color:var(--text-faint);align-items:center;gap:8px;font-size:.85rem;display:inline-flex}.graph-select select{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:9px;padding:6px 10px;font-family:inherit;font-size:.85rem}.graph-stage{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elev);height:min(70vh,620px);position:relative;overflow:hidden}.graph-stage canvas{cursor:grab;touch-action:none;width:100%;height:100%;display:block}.graph-inspector{background:color-mix(in srgb, var(--surface) 92%, transparent);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:var(--radius-sm);width:min(340px,100% - 28px);box-shadow:var(--shadow-sm);pointer-events:none;padding:14px 16px;position:absolute;bottom:14px;left:14px}.graph-inspector .chip{pointer-events:auto}.inspector-hint{color:var(--text-faint);margin:0;font-size:.85rem}.inspector-claim{font-family:var(--font-serif);margin:0 0 8px;font-size:1rem;line-height:1.45}.inspector-src{color:var(--text-faint);margin:0 0 10px;font-size:.8rem}.inspector-rels{color:var(--text-muted);margin:0 0 10px;padding:0;font-size:.82rem;list-style:none}.inspector-rels li+li{margin-top:3px}.reltag{letter-spacing:.01em;font-size:.76rem;font-weight:700}.graph-reset{color:var(--text-muted);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:9px;padding:6px 11px;font-family:inherit;font-size:.8rem;font-weight:600;position:absolute;top:14px;right:14px}.graph-reset:hover{color:var(--text);border-color:var(--border-strong)}.graph-todo .loose{flex-wrap:wrap;align-items:center;gap:7px;margin:0 0 12px;font-size:.88rem;display:flex}.graph-todo .loose strong{width:100%;color:var(--text-muted);font-size:.82rem;font-weight:600}.note-claim{margin-top:14px}.principle-link{border-radius:var(--radius-sm);text-decoration:none;transition:background .15s}.principle-link:hover{background:var(--accent-soft)}.connection.edge .ctitle{font-weight:500;display:block}.connection.edge .reltag{margin-bottom:2px;display:block}.edge-split{border:none;border-top:1px dashed var(--border);margin:16px 0}.site-footer{border-top:1px solid var(--border);color:var(--text-faint);margin-top:60px;padding:30px 0 50px;font-size:.88rem}.site-footer .bar{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.back{color:var(--text-muted);align-items:center;gap:6px;margin-bottom:10px;font-size:.9rem;font-weight:500;display:inline-flex}.back:hover{color:var(--accent)}.muted{color:var(--text-muted)}@media (width<=640px){.hero{padding:36px 0 20px}}
