:root{--bg: #0f1419;--bg-card: transparent;--bg-notice: rgba(220, 170, 70, .09);--bg-elev: rgba(200, 215, 230, .03);--border: rgba(200, 215, 230, .12);--border-strong: rgba(200, 215, 230, .2);--border-notice: rgba(220, 170, 70, .35);--fg: #e4ebf2;--fg-muted: rgba(210, 222, 236, .86);--fg-dim: rgba(200, 215, 230, .55);--accent: #64d89a;--accent-soft: rgba(100, 216, 154, .12);--eyebrow: rgba(100, 216, 154, .9);--font-body: "Inter", -apple-system, system-ui, sans-serif;--font-display: "Inter", -apple-system, system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--card-radius: 4px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background:var(--accent);color:#0f1419}a{color:var(--accent);text-decoration:none;transition:opacity .16s ease}a:hover{text-decoration:underline;text-underline-offset:3px}a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}main{max-width:820px;margin:0 auto;padding:56px 24px 96px}@media(min-width:720px){main{padding:72px 32px 120px}}.eyebrow{font-family:var(--font-mono);font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--eyebrow);margin:0 0 36px}.eyebrow:before{content:">_ ";color:var(--accent);opacity:.85}.eyebrow a{color:var(--eyebrow)}.eyebrow a:hover{color:var(--accent);text-decoration:none}.eyebrow .sep{color:var(--fg-dim);margin:0 6px;opacity:.6}.strategy-title{font-family:var(--font-display);font-weight:700;font-size:clamp(28px,4vw,42px);letter-spacing:-.025em;line-height:1.1;color:var(--fg);margin:0 0 8px}h1.hero{font-family:var(--font-display);font-weight:700;font-size:clamp(34px,5.4vw,60px);letter-spacing:-.025em;line-height:1.08;margin:0 0 24px;max-width:22ch;color:var(--fg)}h1.hero .accent{color:var(--accent)}.lede{font-family:var(--font-body);font-size:clamp(16.5px,1.5vw,19px);line-height:1.55;color:var(--fg-muted);max-width:62ch;margin:0 0 48px}hr.rule{height:1px;background:var(--border);border:0;margin:0 0 40px}.site-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px 24px;margin:0 0 36px}.site-header .eyebrow{margin:0}.site-nav{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0;font-family:var(--font-mono);font-size:12px;letter-spacing:.04em}.site-nav a{color:var(--accent);text-decoration:none;transition:color .16s ease,opacity .16s ease}.site-nav a:before{content:"// ";color:var(--accent);opacity:.6}.site-nav a:hover{color:var(--fg);text-decoration:none}.site-nav a:hover:before{opacity:1}.site-nav a.current{color:var(--fg-dim);pointer-events:none;cursor:default}.site-nav a.current:before{color:var(--fg-dim);opacity:.4}.todo-banner{background:var(--bg-elev);border:1px dashed var(--border-notice);padding:16px 20px;border-radius:var(--card-radius);color:var(--fg-muted);font-size:14.5px;line-height:1.55;margin:0 0 32px}.todo-banner:before{content:"// TODO ";color:var(--accent);font-family:var(--font-mono);font-weight:600;letter-spacing:.04em;opacity:.9}.todo-banner strong{color:var(--fg);font-weight:700}.see-also{font-family:var(--font-body);font-size:14px;color:var(--fg-dim);line-height:1.55;margin:26px 0 0}.see-also:before{content:"// ";color:var(--accent);opacity:.7;font-family:var(--font-mono)}.see-also a{color:var(--accent);font-family:var(--font-mono)}.data-table-wrap{overflow-x:auto;margin:8px 0 0}.data-table{width:100%;border-collapse:collapse;font-family:var(--font-body);font-size:14.5px}.data-table thead th{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-dim);text-align:left;padding:12px 12px 10px 0;border-bottom:1px solid var(--border-strong);font-weight:500}.data-table thead th:not(:first-child){text-align:right;padding-right:0;padding-left:14px}.data-table tbody th{text-align:left;color:var(--fg);font-weight:500;padding:12px 12px 12px 0;border-bottom:1px solid var(--border)}.data-table tbody td{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;padding:12px 0 12px 14px;border-bottom:1px solid var(--border);color:var(--fg-muted);line-height:1.45;white-space:nowrap}.data-table tbody td:first-of-type{color:var(--accent);font-weight:500}.data-table tbody tr:last-child th,.data-table tbody tr:last-child td{border-bottom:0}.data-caption{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.04em;color:var(--fg-dim);margin:12px 0 0}.data-caption:before{content:"// ";color:var(--accent);opacity:.7}.data-caption a{color:var(--fg-dim)}.data-caption a:hover{color:var(--accent)}.attack-grid{display:grid;grid-template-columns:1fr;gap:14px;margin:4px 0 8px}@media(min-width:640px){.attack-grid{grid-template-columns:1fr 1fr;gap:16px}}.attack-figure{margin:0}.attack-screenshot{display:block;width:100%;height:auto;border:1px solid var(--border);border-radius:var(--card-radius);background:#000}.attack-caption{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-dim);margin:10px 0 0}.attack-caption:before{content:"// ";color:var(--accent);opacity:.7}sup.cite{font-size:.72em;line-height:0;margin:0 2px;vertical-align:super;font-variant-numeric:tabular-nums}sup.cite a{font-family:var(--font-mono);color:var(--accent);text-decoration:none;padding:0 1px;letter-spacing:0}sup.cite a:hover{text-decoration:underline;text-underline-offset:2px}.toc{margin:8px 0 64px}.toc-prompt{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-dim);margin:0 0 14px}.toc-prompt:before{content:"// ";color:var(--accent);opacity:.8}.toc-list{list-style:none;padding:0;margin:0}.toc-list>li{margin:0}.toc-list>li+li{margin-top:2px}.toc-list>li>a,.toc-sublist>li>a{display:grid;grid-template-columns:5.5em 2em minmax(0,17em) minmax(0,1fr);align-items:baseline;gap:10px;padding:7px 0 7px 12px;border-left:2px solid transparent;font-family:var(--font-mono);font-size:14px;color:var(--fg-muted);text-decoration:none;transition:border-color .16s ease,background .16s ease,color .16s ease}.toc-sublist{list-style:none;padding:0;margin:2px 0 0}.toc-sublist>li{margin:0}.toc-sublist>li>a{padding:6px 0 6px 12px;font-size:13.5px}.toc-list a:hover,.toc-sublist a:hover{border-left-color:var(--accent);background:var(--bg-elev);color:var(--fg);text-decoration:none}.toc-tree{color:var(--fg-dim);opacity:.5;white-space:pre}.toc-list a:hover .toc-tree,.toc-sublist a:hover .toc-tree{color:var(--accent);opacity:.9}.toc-num{color:var(--fg-dim);font-variant-numeric:tabular-nums}.toc-list a:hover .toc-num{color:var(--accent)}.toc-file{color:var(--accent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toc-list a:hover .toc-file,.toc-sublist a:hover .toc-file{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.toc-desc{color:var(--fg-dim);font-family:var(--font-body);font-size:13.5px;letter-spacing:0;line-height:1.5}.toc-list a:hover .toc-desc,.toc-sublist a:hover .toc-desc{color:var(--fg-muted)}@media(max-width:600px){.toc-list>li>a{grid-template-columns:2.25em 2em minmax(0,1fr);gap:8px}.toc-sublist>li>a{grid-template-columns:4em minmax(0,1fr);gap:8px}.toc-desc{display:none}}.sidebar-toc{display:none}@media(min-width:1180px){.sidebar-toc{display:block;position:fixed;top:50%;left:28px;transform:translateY(-50%);z-index:5;max-width:220px}}.sidebar-prompt{font-family:var(--font-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--fg-dim);margin:0 0 10px 14px}.sidebar-prompt:before{content:"// ";color:var(--accent);opacity:.8}.sidebar-list,.sidebar-sublist{list-style:none;margin:0;padding:0}.sidebar-list>li{margin:0}.sidebar-sublist{margin-top:2px}.sidebar-list a,.sidebar-sublist a{display:flex;align-items:baseline;gap:8px;padding:6px 12px;font-family:var(--font-mono);font-size:12px;color:var(--fg-dim);text-decoration:none;border-left:2px solid transparent;transition:border-color .16s ease,background .16s ease,color .16s ease;white-space:nowrap}.sidebar-list a:hover,.sidebar-sublist a:hover{color:var(--fg);border-left-color:var(--accent);background:var(--bg-elev);text-decoration:none}.sidebar-list a.active,.sidebar-sublist a.active{border-left-color:var(--accent);color:var(--fg)}.sidebar-list .s-tree,.sidebar-sublist .s-tree{color:var(--fg-dim);opacity:.5;white-space:pre}.sidebar-list a:hover .s-tree,.sidebar-list a.active .s-tree,.sidebar-sublist a:hover .s-tree,.sidebar-sublist a.active .s-tree{color:var(--accent);opacity:.9}.sidebar-list .s-num{color:var(--fg-dim);opacity:.6;font-variant-numeric:tabular-nums}.sidebar-list a:hover .s-num,.sidebar-list a.active .s-num{color:var(--accent);opacity:1}.sidebar-list .s-file,.sidebar-sublist .s-file{color:var(--accent);opacity:.7}.sidebar-list a:hover .s-file,.sidebar-list a.active .s-file,.sidebar-sublist a:hover .s-file,.sidebar-sublist a.active .s-file{opacity:1}.notice{border:1px solid var(--border-notice);background:var(--bg-notice);padding:16px 20px;border-radius:var(--card-radius);color:var(--fg-muted);font-size:14.5px;line-height:1.55;margin:0 0 56px}.notice strong{color:var(--fg);font-weight:700}section.block{margin:0 0 72px}.section-eyebrow{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--eyebrow);margin:0 0 10px}.section-eyebrow:before{content:"// ";color:var(--accent);opacity:.8}h2{font-family:var(--font-display);font-weight:700;font-size:clamp(24px,2.8vw,32px);letter-spacing:-.02em;line-height:1.15;margin:0 0 20px;color:var(--fg)}h3{font-family:var(--font-display);font-weight:600;font-size:clamp(18px,1.7vw,21px);letter-spacing:-.01em;line-height:1.25;color:var(--fg);margin:48px 0 12px}h4{font-family:var(--font-display);font-weight:600;font-size:14px;letter-spacing:.04em;text-transform:uppercase;color:var(--fg-dim);margin:28px 0 10px}.prose p{color:var(--fg-muted);font-size:16px;line-height:1.6;margin:0 0 16px}.prose p:last-child{margin-bottom:0}.prose strong{color:var(--fg);font-weight:600}.prose em{color:var(--fg);font-style:italic}.prose ul{margin:8px 0 20px;padding-left:1.2rem;color:var(--fg-muted)}.prose li{margin-bottom:8px;line-height:1.55}.prose li::marker{color:var(--accent)}.prose a{color:var(--accent)}.prose a:hover{text-decoration:underline;text-underline-offset:3px}.grid{display:grid;grid-template-columns:1fr;gap:14px}@media(min-width:640px){.grid-2{grid-template-columns:repeat(2,1fr);gap:16px}.grid-3{grid-template-columns:repeat(3,1fr)}}.card{display:flex;flex-direction:column;padding:22px 20px 20px;border:1px solid var(--border);background:var(--bg-card);border-radius:var(--card-radius);text-decoration:none;color:var(--fg);transition:border-color .16s ease,transform .16s ease,background .16s ease;min-height:180px}.card:hover{border-color:var(--accent);transform:translateY(-2px);text-decoration:none;background:var(--bg-elev)}.card-eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--eyebrow);margin:0 0 12px}.card-eyebrow:before{content:"› ";color:var(--accent);opacity:.7}.card h4{font-family:var(--font-display);font-weight:600;font-size:18px;letter-spacing:-.01em;line-height:1.25;margin:0 0 12px;color:var(--fg)}.card p{color:var(--fg-muted);font-size:14.5px;line-height:1.5;margin:0 0 18px;flex:1}.card-more{font-family:var(--font-mono);color:var(--accent);font-size:13px;letter-spacing:.02em}.voice-card{min-height:180px}.voice-card blockquote{margin:0 0 14px;font-size:14.5px;line-height:1.5;color:var(--fg);quotes:"“" "”"}.voice-card blockquote:before{content:open-quote}.voice-card blockquote:after{content:close-quote}.voice-card .voice-desc{margin:0 0 14px;font-size:14.5px;line-height:1.5;color:var(--fg)}.voice-cite{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-dim);margin-top:auto}.voice-cite strong{display:block;color:var(--fg);font-family:var(--font-body);font-size:14px;font-weight:600;letter-spacing:0;text-transform:none;margin-bottom:4px}.voice-more{background:var(--accent-soft);border-color:var(--accent);align-items:center;justify-content:center;text-align:center;gap:10px}.voice-more:hover{background:var(--accent);border-color:var(--accent);transform:translateY(-2px)}.voice-more:hover .voice-more-label,.voice-more:hover .voice-more-sources{color:#0f1419}.voice-more-label{font-family:var(--font-mono);font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-weight:500}.voice-more-sources{font-family:var(--font-mono);font-size:11px;line-height:1.4;color:var(--fg-dim);letter-spacing:.02em}.dates{display:grid;grid-template-columns:1fr;border:1px solid var(--border);border-radius:var(--card-radius);overflow:hidden}@media(min-width:720px){.dates{grid-template-columns:repeat(3,1fr)}}.date-cell{padding:22px 24px 24px}.date-cell+.date-cell{border-top:1px solid var(--border)}@media(min-width:720px){.date-cell+.date-cell{border-top:0;border-left:1px solid var(--border)}}.date-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin:0 0 10px}.date-label:before{content:"// ";opacity:.7}.date-value{font-family:var(--font-display);font-size:28px;font-weight:700;letter-spacing:-.02em;line-height:1.1;color:var(--fg);margin:0 0 10px}.date-desc{color:var(--fg-muted);font-size:14.5px;margin:0;line-height:1.5}.date-desc em{color:var(--accent);font-style:normal;font-weight:600}.practice{border:1px solid var(--border);border-radius:var(--card-radius);background:var(--bg-elev);padding:18px;display:flex;flex-direction:column;gap:14px}.practice-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid var(--border)}.practice-label{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-dim)}.practice-label:before{content:"// ";color:var(--accent);opacity:.7}.practice-label select{font-family:var(--font-mono);font-size:13px;letter-spacing:0;text-transform:none;color:var(--fg);background:var(--bg);border:1px solid var(--border);border-radius:var(--card-radius);padding:4px 8px;cursor:pointer}.practice-label select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.practice-btn-small{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-muted);background:transparent;border:1px solid var(--border);border-radius:var(--card-radius);padding:5px 10px;cursor:pointer;transition:color .16s ease,border-color .16s ease}.practice-btn-small:hover{color:var(--accent);border-color:var(--accent)}.chat-log{display:flex;flex-direction:column;gap:10px;min-height:120px;max-height:420px;overflow-y:auto;padding:4px 2px}.chat-msg{display:flex;flex-direction:column;gap:3px;max-width:85%}.chat-msg-user{align-self:flex-end;align-items:flex-end}.chat-msg-alex{align-self:flex-start;align-items:flex-start}.chat-who{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-dim);padding:0 2px}.chat-msg-user .chat-who{color:var(--accent)}.chat-text{font-family:var(--font-body);font-size:15px;line-height:1.45;padding:10px 13px;border-radius:10px;border:1px solid var(--border);color:var(--fg);white-space:pre-wrap;word-wrap:break-word}.chat-msg-user .chat-text{background:var(--accent-soft);border-color:var(--accent)}.chat-msg-alex .chat-text{background:var(--bg)}.suggestion-box{border:1px dashed var(--border-notice);background:var(--bg-notice);border-radius:var(--card-radius);padding:12px 14px}.suggestion-label{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0 0 6px}.suggestion-label:before{content:"// ";opacity:.8}.suggestion-text{font-family:var(--font-body);font-size:14.5px;line-height:1.5;color:var(--fg);margin:0 0 10px}.chat-form{display:flex;gap:10px;align-items:stretch}.chat-form textarea{flex:1;min-height:52px;max-height:180px;resize:vertical;font-family:var(--font-body);font-size:15px;line-height:1.4;color:var(--fg);background:var(--bg);border:1px solid var(--border);border-radius:var(--card-radius);padding:10px 12px}.chat-form textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.chat-form textarea:disabled{opacity:.6}.btn-send{align-self:flex-end}.chat-status{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.06em;color:var(--fg-dim);margin:0}.chat-status:before{content:"// ";color:var(--accent);opacity:.6}.chat-status-error{color:#e4685a}.chat-status-error:before{color:#e4685a}.action-list{list-style:none;padding:0;margin:20px 0 0;counter-reset:action}.action-list>li{counter-increment:action;padding:18px 0 18px 56px;border-top:1px solid var(--border);position:relative}.action-list>li:last-child{border-bottom:1px solid var(--border)}.action-list>li:before{content:counter(action,decimal-leading-zero);position:absolute;left:0;top:20px;font-family:var(--font-mono);font-size:13px;color:var(--accent);font-variant-numeric:tabular-nums;letter-spacing:.06em}.action-list h3{font-family:var(--font-display);font-weight:600;font-size:17px;line-height:1.3;color:var(--fg);margin:0 0 6px;letter-spacing:-.005em}.action-list p{color:var(--fg-muted);font-size:15.5px;line-height:1.55;margin:0}.action-list a{color:var(--accent)}.action-list a:hover{text-decoration:underline;text-underline-offset:3px}.cta-block{padding:28px;border:1px solid var(--border);border-radius:var(--card-radius);background:var(--bg-elev)}.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;background:var(--accent);color:#0f1419;font-family:var(--font-mono);font-weight:500;font-size:13px;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--accent);border-radius:var(--card-radius);cursor:pointer;text-decoration:none;transition:all .16s ease}.btn:hover{background:transparent;color:var(--accent);text-decoration:none}.cta-help{font-size:13.5px;color:var(--fg-dim);margin:14px 0 0}.cta-help a{color:var(--accent)}.faq{border-top:1px solid var(--border)}.faq details{border-bottom:1px solid var(--border);padding:20px 0}.faq summary{cursor:pointer;list-style:none;font-family:var(--font-body);font-weight:600;font-size:16px;line-height:1.35;color:var(--fg);display:flex;gap:14px;align-items:baseline;user-select:none}.faq summary::-webkit-details-marker{display:none}.faq summary:before{content:"[+]";font-family:var(--font-mono);font-weight:500;color:var(--accent);font-size:13px;letter-spacing:0;flex-shrink:0;min-width:2.25rem}.faq details[open] summary:before{content:"[−]"}.faq summary:hover{color:var(--accent)}.faq .answer{padding:12px 0 0 calc(2.25rem + 14px);color:var(--fg-muted);font-size:15px;line-height:1.6;max-width:64ch}.faq .answer p{margin:0 0 10px}.faq .answer p:last-child{margin-bottom:0}.entry{padding:22px 0;border-bottom:1px solid var(--border)}.entry:last-of-type{border-bottom:0}.entry-meta{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--eyebrow);margin:0 0 10px}.entry-meta:before{content:"// ";color:var(--accent);opacity:.7}.entry h3{font-family:var(--font-display);font-weight:600;font-size:18px;letter-spacing:-.01em;line-height:1.3;margin:0 0 12px;color:var(--fg)}.entry blockquote{margin:14px 0;padding:14px 0 14px 18px;border-left:3px solid var(--accent);font-family:var(--font-body);font-size:17px;line-height:1.5;color:var(--fg)}.entry p{color:var(--fg-muted);font-size:15.5px;line-height:1.6;margin:0 0 12px}.entry-source{font-family:var(--font-mono);font-size:12.5px;color:var(--fg-dim);margin-top:12px;letter-spacing:.02em}.entry-source a{color:var(--accent)}.backlink{margin:48px 0 0;font-family:var(--font-mono);font-size:13px;letter-spacing:.06em}footer{margin-top:80px;padding-top:28px;border-top:1px solid var(--border);font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;color:var(--fg-dim);line-height:1.6}footer:before{content:"// ";color:var(--accent);opacity:.7}
