*{margin:0;padding:0;box-sizing:border-box}:root{--ink:#111;--paper:#fff;--bg:#EDEDED;--yellow:#FFD600;--yborder:#E0C800;--ytint:#FBF3C9;--gold:#B58900;--dash:#C4C4C4;--muted:#555;--muted2:#888;--muted3:#999}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:Bricolage Grotesque,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.4}.wrap{max-width:1120px;margin:0 auto;padding:0 24px}.nav{position:sticky;top:0;z-index:50;background:#ededede6;backdrop-filter:blur(8px);border-bottom:1px solid #DcDcDc}.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:58px}.nav .brand{font-size:15px;font-weight:800}.nav .brand span{background:var(--yellow);padding:1px 6px;border-radius:5px}.nav .links{display:flex;gap:7px;align-items:center}.nav .links a{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:17px;text-decoration:none;color:var(--ink);background:#fff;border:1.5px solid #E2E2E2;transition:.15s}.nav .links a:hover{background:var(--yellow);border-color:var(--yborder)}.nav .links .sep{color:var(--muted3);font-size:12px;font-weight:600;margin:0 2px}.hero{padding:74px 0 34px}.pill{display:inline-block;background:var(--ink);color:var(--yellow);font-size:13px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;border-radius:999px;padding:7px 16px;margin-bottom:20px}.hero h1{font-size:clamp(34px,6vw,62px);font-weight:800;line-height:1.02;letter-spacing:-.02em;max-width:15ch}.hero h1 em{font-style:normal;background:var(--yellow);padding:0 10px;border-radius:8px}.hero .lead{font-size:19px;font-weight:300;color:var(--muted);margin-top:20px;max-width:60ch}.hero .lead b{font-weight:700;color:var(--ink)}.statrow{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.stat{background:#fff;border:1.5px dashed var(--dash);border-radius:14px;padding:14px 20px}.stat .n{font-size:30px;font-weight:800;line-height:1}.stat .n b{color:var(--gold)}.stat .l{font-size:12.5px;font-weight:600;color:var(--muted3);text-transform:uppercase;letter-spacing:.05em;margin-top:6px}.stack{display:flex;flex-direction:column;gap:12px;margin:14px 0 10px}.srow{display:flex;align-items:center;gap:22px;text-decoration:none;color:inherit;border:1.5px dashed var(--dash);border-radius:16px;padding:18px 26px;background:#fff;transition:.15s}.srow:hover{border-color:var(--yborder);background:#fffdf0;transform:translate(4px)}.srow .let{width:62px;height:62px;flex-shrink:0;border-radius:14px;background:var(--ink);color:var(--yellow);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:34px}.srow .mid{flex:1}.srow .mid .nm{font-size:22px;font-weight:800}.srow .mid .nm small{font-weight:700;color:var(--muted2);font-size:14px}.srow .mid .ds{font-size:14.5px;font-weight:300;color:var(--muted);margin-top:2px}.srow .rt{text-align:right;flex-shrink:0}.srow .rt .num{font-size:26px;font-weight:800}.srow .rt .num b{color:var(--gold)}.srow .go{font-size:20px;color:var(--muted3);flex-shrink:0}.layer-sec{padding:52px 0 8px;scroll-margin-top:70px}.sec-head{display:flex;align-items:flex-start;gap:20px;margin-bottom:26px}.sec-head .big{width:74px;height:74px;flex-shrink:0;border-radius:16px;background:var(--ink);color:var(--yellow);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:40px}.sec-head .txt .kp{display:inline-block;background:var(--ink);color:var(--yellow);font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;border-radius:999px;padding:5px 13px;margin-bottom:9px}.sec-head h2{font-size:34px;font-weight:800;line-height:1.05;letter-spacing:-.01em}.sec-head h2 span{background:var(--yellow);padding:0 8px;border-radius:6px}.sec-head .sd{font-size:16px;font-weight:300;color:var(--muted);margin-top:8px;max-width:66ch}.sec-head .sd b{font-weight:700;color:var(--ink)}.card{background:#fff;border:1.5px dashed var(--dash);border-radius:16px;padding:22px 26px;margin-bottom:14px}.card.tint{background:var(--ytint);border-color:var(--yborder)}.card .ch{display:flex;align-items:baseline;gap:10px;margin-bottom:14px}.card .ch .t{font-size:17px;font-weight:800}.card .ch .q{font-size:13px;font-weight:400;color:var(--muted3)}.pills{display:flex;flex-wrap:wrap;gap:8px;align-content:flex-start}.p{font-size:14px;font-weight:500;padding:7px 13px;border-radius:999px;background:#f1f1f1;color:#333;border:1.5px solid #E4E4E4;white-space:nowrap;transition:.15s}.int{background:var(--ink);color:#fff;border:1.5px solid var(--ink);font-weight:600}.hostrow{display:flex;align-items:center;gap:12px;margin-bottom:10px;flex-wrap:wrap}.hostrow:last-child{margin-bottom:0}.hostrow .int{flex-shrink:0}.hostwhat{font-size:13.5px;font-weight:300;color:var(--muted)}.nav .brand .os{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.02em;background:var(--ink);color:var(--yellow);padding:2px 8px;border-radius:6px;margin-left:8px;vertical-align:middle}.card.sub{background:#f6f6f6;border:1.5px dashed #E2E2E2}.card.sub .ch .t{font-size:15px;color:#666}.p.mini{font-size:12.5px;font-weight:500;padding:5px 10px;background:#eaeaea;color:#777;border:1px solid #E1E1E1}.gsub{margin-top:15px}.gsub:first-of-type{margin-top:2px}.gl{display:block;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#a0a0a0;margin-bottom:8px}.node{cursor:pointer;position:relative}.node:after{content:"🔗";font-size:9px;margin-left:6px;opacity:.4}.node:hover{border-color:var(--yborder)}.p:hover{transform:translateY(-1px)}.p:not(.int):not(.mini):hover{background:#fff;border-color:var(--yborder);box-shadow:0 2px 7px #00000014}.int:hover{border-color:var(--yellow);box-shadow:0 3px 9px #0003}.p.mini:hover{background:#e3e3e3;color:#555;border-color:#c9c9c9;box-shadow:0 2px 5px #0000000f}.lit{background:var(--yellow)!important;color:var(--ink)!important;border-color:var(--yborder)!important;box-shadow:0 2px 0 var(--yborder)}.active{background:var(--ink)!important;color:var(--yellow)!important;border-color:var(--ink)!important;box-shadow:0 0 0 3px var(--yellow)}body.focus .p:not(.active):not(.lit),body.focus .int:not(.active):not(.lit){opacity:.24}.tree{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;line-height:1.85;color:#333;white-space:pre;overflow-x:auto}.tree .c{color:var(--gold);font-weight:700}.tree .cm{color:var(--muted3)}.kv{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:4px}.kv .item{border-left:3px solid var(--yellow);padding:2px 0 2px 14px}.kv .item .k{font-size:15px;font-weight:700}.kv .item .v{font-size:14px;font-weight:300;color:var(--muted);margin-top:2px}.autos{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.auto{background:#fff;border:1.5px dashed var(--dash);border-radius:16px;padding:20px 22px}.auto .an{display:flex;align-items:center;gap:10px}.auto .an .dot{width:34px;height:34px;border-radius:10px;background:var(--ink);color:var(--yellow);display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0}.auto .an .nm{font-size:17px;font-weight:800}.auto .ad{font-size:14px;font-weight:300;color:var(--muted);margin:11px 0 12px}.auto .uses{display:flex;flex-wrap:wrap;gap:6px}.close{padding:56px 0 30px}.thesis{background:var(--ink);color:#fff;border-radius:20px;padding:44px 46px}.thesis .big{font-size:clamp(26px,4vw,40px);font-weight:800;line-height:1.1;letter-spacing:-.01em}.thesis .big u{text-decoration:none;background:var(--yellow);color:var(--ink);padding:0 8px;border-radius:6px}.thesis p{font-size:16px;font-weight:300;color:#cfcfcf;margin-top:18px;max-width:64ch}.thesis p b{color:#fff;font-weight:600}.foot{display:flex;align-items:center;justify-content:space-between;padding:26px 0 60px;color:var(--muted3);font-size:13.5px;font-weight:600;flex-wrap:wrap;gap:10px}.foot b{color:var(--ink)}.connbar{position:fixed;left:16px;bottom:18px;z-index:60;background:var(--ink);color:#fff;border-radius:999px;padding:9px 10px 9px 18px;display:flex;align-items:center;gap:14px;font-size:13.5px;font-weight:500;box-shadow:0 8px 24px #00000038;opacity:0;pointer-events:none;transition:.2s}.connbar.show{opacity:1;pointer-events:auto}.connbar b{color:var(--yellow)}.connbar button{background:var(--yellow);color:var(--ink);border:none;border-radius:999px;padding:7px 15px;font-family:inherit;font-weight:700;font-size:13px;cursor:pointer}.course-pop{position:fixed;bottom:12px;left:12px;right:12px;z-index:70;max-width:560px;margin:0 auto;background:#fff;border:1.5px solid var(--ink);border-radius:14px;padding:13px 18px;display:flex;align-items:center;gap:16px;box-shadow:0 10px 32px #00000047;text-decoration:none;color:inherit;transform:translateY(26px);opacity:0;pointer-events:none;transition:.3s ease}.course-pop.show{transform:translateY(0);opacity:1;pointer-events:auto}.course-pop:hover{transform:translateY(-2px);box-shadow:0 14px 40px #00000057}.cp-text{flex:1;min-width:0}.cp-title{font-size:15px;font-weight:800;color:var(--ink);line-height:1.2}.cp-sub{font-size:12.5px;font-weight:300;color:var(--muted2);margin-top:2px}.cp-btn{flex-shrink:0;background:var(--ink);color:var(--yellow);font-weight:800;font-size:13px;letter-spacing:.02em;padding:11px 18px;border-radius:999px;white-space:nowrap}.course-pop:hover .cp-btn{box-shadow:0 3px 0 var(--yborder)}.cp-x{position:absolute;top:-9px;right:-9px;width:24px;height:24px;background:var(--ink);color:#fff;border:none;border-radius:50%;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;padding:0}@media(max-width:520px){.cp-title{font-size:14px}.cp-sub{font-size:11.5px}.cp-btn{font-size:12px;padding:10px 14px}}.thesis-cta{margin-top:26px;padding-top:22px;border-top:1px solid rgba(255,255,255,.14);display:flex;align-items:center;gap:16px;flex-wrap:wrap}.thesis-cta__txt{font-size:15px;color:#cfcfcf;font-weight:300}.thesis-cta__btn{background:var(--yellow);color:var(--ink);text-decoration:none;font-weight:800;font-size:14.5px;padding:11px 20px;border-radius:999px;transition:.15s;white-space:nowrap}.thesis-cta__btn:hover{box-shadow:0 3px 0 var(--yborder);transform:translateY(-1px)}@media(max-width:720px){.kv,.autos{grid-template-columns:1fr}.srow .rt{display:none}.sec-head{gap:14px}.sec-head .big{width:56px;height:56px;font-size:30px}}
