@font-face{font-family:Literata;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/literata-latin-600-normal.A9sHopYh.woff2) format("woff2"),url(/_astro/literata-latin-600-normal.BFEFPlMO.woff) format("woff")}@font-face{font-family:Literata;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/literata-latin-700-normal.DYBWKELl.woff2) format("woff2"),url(/_astro/literata-latin-700-normal.ocJiFfAw.woff) format("woff")}@font-face{font-family:Literata;font-style:italic;font-display:swap;font-weight:600;src:url(/_astro/literata-latin-600-italic.C5ouOdwC.woff2) format("woff2"),url(/_astro/literata-latin-600-italic.Ds5UyQEi.woff) format("woff")}@font-face{font-family:Literata;font-style:italic;font-display:swap;font-weight:700;src:url(/_astro/literata-latin-700-italic.Bp5feCsW.woff2) format("woff2"),url(/_astro/literata-latin-700-italic.DULNxR8r.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/inter-latin-400-normal.C38fXH4l.woff2) format("woff2"),url(/_astro/inter-latin-400-normal.CyCys3Eg.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/inter-latin-500-normal.Cerq10X2.woff2) format("woff2"),url(/_astro/inter-latin-500-normal.BL9OpVg8.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/inter-latin-600-normal.LgqL8muc.woff2) format("woff2"),url(/_astro/inter-latin-600-normal.CiBQ2DWP.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/inter-latin-700-normal.Yt3aPRUw.woff2) format("woff2"),url(/_astro/inter-latin-700-normal.BLAVimhd.woff) format("woff")}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/geist-mono-latin-400-normal.LC9RFr9I.woff2) format("woff2"),url(/_astro/geist-mono-latin-400-normal.CoULgQGM.woff) format("woff")}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/geist-mono-latin-500-normal.D3o2eNa9.woff2) format("woff2"),url(/_astro/geist-mono-latin-500-normal.DOxI7kZ4.woff) format("woff")}:root{--bg: #0d0b08;--surface: #14110d;--card: #19150f;--card-hover: #1e1912;--text-heading: #f2ede3;--text-body: #c4bcb0;--text-secondary: #a89d90;--text-muted: #9a8f82;--text-faint: #6d6358;--accent: #c8913a;--accent-bright: #d8a24a;--accent-muted: #8a642f;--border: rgba(242, 237, 227, .1);--border-strong: rgba(242, 237, 227, .16);--border-accent: rgba(200, 145, 58, .35);--hover: rgba(242, 237, 227, .04);--accent-hover: rgba(200, 145, 58, .1);--focus-ring: rgba(216, 162, 74, .45);--bg-deep: var(--surface);--surf: var(--card);--surf-2: var(--card-hover);--bdr: var(--border);--bdr-2: var(--border-strong);--tx: var(--text-heading);--tx-2: var(--text-body);--tx-2b: var(--text-secondary);--tx-3: var(--text-muted);--gold: var(--accent);--gold-dim: var(--accent-hover);--gold-glow: rgba(200, 145, 58, .14);--gold-hi: var(--accent-bright);--nav-glass: rgba(13, 11, 8, .9);--bg-glow-warm: rgba(200, 145, 58, .08);--bg-glow-deep: rgba(20, 17, 13, .55);--pb-beg: var(--accent-muted);--c-tag-neutral-bg: rgba(242, 237, 227, .055);--c-tag-neutral-fg: var(--text-muted);--c-tag-warm-bg: rgba(200, 145, 58, .095);--c-tag-warm-fg: #c9a46f;--tag-essential-bg: var(--c-tag-warm-bg);--tag-essential-fg: var(--c-tag-warm-fg);--tag-philosophy-bg: var(--c-tag-neutral-bg);--tag-philosophy-fg: var(--c-tag-neutral-fg);--tag-economics-bg: var(--c-tag-neutral-bg);--tag-economics-fg: var(--c-tag-neutral-fg);--tag-technical-bg: var(--c-tag-neutral-bg);--tag-technical-fg: var(--c-tag-neutral-fg);--tag-history-bg: var(--c-tag-neutral-bg);--tag-history-fg: var(--c-tag-neutral-fg);--tag-free-bg: var(--c-tag-neutral-bg);--tag-free-fg: var(--c-tag-neutral-fg);--tag-freemium-bg: var(--c-tag-neutral-bg);--tag-freemium-fg: var(--c-tag-neutral-fg);--tag-paid-bg: var(--c-tag-neutral-bg);--tag-paid-fg: var(--c-tag-neutral-fg);--tag-beginner-bg: var(--c-tag-neutral-bg);--tag-beginner-fg: var(--c-tag-neutral-fg);--tag-intermediate-bg: var(--c-tag-neutral-bg);--tag-intermediate-fg: var(--c-tag-neutral-fg);--tag-advanced-bg: var(--c-tag-neutral-bg);--tag-advanced-fg: var(--c-tag-neutral-fg);--font-display: "Literata", serif;--font-body: "Inter", sans-serif;--font-mono: "Geist Mono", monospace;--font-serif: var(--font-display);--fz-hero: clamp(44px, 6.4vw, 76px);--fz-page: clamp(36px, 5.2vw, 56px);--fz-section: clamp(26px, 3.2vw, 36px);--fz-step: clamp(22px, 2.3vw, 28px);--fz-note: clamp(28px, 3.8vw, 40px);--fz-quote: clamp(17px, 1.7vw, 21px);--text-xs: 13px;--text-sm: 14px;--text-base: 16px;--text-lg: 18px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 32px;--text-4xl: 40px;--text-5xl: 56px;--text-6xl: 72px;--fz-3xs: var(--text-xs);--fz-xs: var(--text-xs);--fz-sm: var(--text-sm);--fz-base: var(--text-base);--fz-md: var(--text-base);--fz-prose: var(--text-lg);--fz-lg: var(--text-xl);--fz-xl: var(--text-2xl);--fz-2xl: var(--text-2xl);--fz-3xl: var(--text-3xl);--fw-normal: 400;--fw-medium: 500;--fw-semi: 600;--fw-bold: 700;--fw-black: 900;--lh-hero: .98;--lh-title: 1.18;--lh-snug: 1.22;--lh-card: 1.38;--lh-normal: 1.6;--lh-relaxed: 1.68;--lh-base: 1.7;--lh-loose: 1.78;--ls-tighter: -.02em;--ls-snug: -.01em;--ls-normal: 0;--ls-3: .04em;--ls-5: .06em;--ls-7: .08em;--ls-9: .08em;--ls-11: .08em;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-7: 32px;--sp-8: 40px;--sp-9: 48px;--sp-10: 56px;--sp-11: 64px;--sp-12: 80px;--sp-13: 96px;--max-w: 1200px;--pad: clamp(24px, 5.5vw, 88px);--page-x-mobile: var(--pad);--radius: 3px;--radius-sm: 2px;--radius-lg: 6px;--bp-sm: 640px;--bp-md: 768px;--bp-lg: 1024px;--ease-card: .22s ease;--ease-fast: .15s;--ease-slow: .3s}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{overscroll-behavior:none}body{background:var(--bg);color:var(--tx);font-family:var(--font-body);line-height:var(--lh-base);-webkit-font-smoothing:antialiased;min-height:100dvh;overscroll-behavior:none}a{color:inherit;text-decoration:none}button{font:inherit;background:none;border:none;cursor:pointer;color:inherit;padding:0}[hidden]{display:none!important}[id]{scroll-margin-top:80px}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse 90% 55% at 50% -5%,var(--bg-glow-warm) 0%,transparent 65%),radial-gradient(ellipse 70% 40% at 50% 110%,var(--bg-glow-deep) 0%,transparent 60%)}#pb{position:fixed;top:0;left:0;height:2px;background:linear-gradient(to right,var(--pb-beg),var(--gold-hi));z-index:999;width:0%;transition:width 80ms linear;pointer-events:none}body>nav{position:fixed;top:0;left:0;right:0;z-index:100;background:var(--nav-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--bdr)}.nav-in{max-width:var(--max-w);margin:0 auto;padding:0 var(--pad);display:flex;align-items:center;height:60px}.nav-logo{font-family:var(--font-display);font-size:var(--fz-lg);font-weight:var(--fw-bold);color:var(--tx);cursor:pointer;letter-spacing:var(--ls-snug);flex-shrink:0;user-select:none}.nav-logo b{color:var(--gold-hi);font-style:italic}.nav-links{display:flex;align-items:center;gap:2px;margin-left:var(--sp-8)}.nl{font-family:var(--font-body);font-size:var(--fz-xs);font-weight:var(--fw-semi);color:var(--tx-2);padding:5px var(--sp-3);border-radius:var(--radius);cursor:pointer;letter-spacing:var(--ls-3);text-transform:uppercase;transition:color var(--ease-fast),background var(--ease-fast);user-select:none}.nl:hover{color:var(--tx);background:var(--surf)}.nl.on{color:var(--gold-hi)}.nl:focus-visible{outline:1px solid var(--bdr-2);outline-offset:3px}.nav-explore{position:relative}.nav-explore-btn{display:inline-flex;align-items:center}.nav-explore-btn:after{content:"";width:0;height:0;margin-left:var(--sp-2);border-left:3px solid transparent;border-right:3px solid transparent;border-top:4px solid currentColor;opacity:.75;transform:translateY(1px);transition:transform var(--ease-fast)}.nav-explore-btn[aria-expanded=true]:after{transform:translateY(0) rotate(180deg)}.explore-menu{position:absolute;top:calc(100% + var(--sp-3));right:0;width:min(640px,calc(100vw - (var(--pad) * 2)));display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-5);padding:var(--sp-5);border:1px solid var(--bdr);border-radius:var(--radius);background:color-mix(in srgb,var(--bg) 92%,var(--surface) 8%);box-shadow:0 24px 60px #00000059;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);animation:explore-in .14s ease-out}@keyframes explore-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.explore-group-label{margin-bottom:var(--sp-3);font-family:var(--font-body);font-size:var(--fz-xs);font-weight:var(--fw-semi);color:var(--gold-hi);letter-spacing:var(--ls-7);text-transform:uppercase}.explore-group-list{display:grid;gap:var(--sp-2)}.explore-item{display:block;padding:var(--sp-3);border:1px solid transparent;border-radius:var(--radius);transition:color var(--ease-fast),border-color var(--ease-fast),background var(--ease-fast)}.explore-item:hover,.explore-item:focus-visible{background:var(--surf);border-color:var(--bdr);outline:none}.explore-item--on{border-color:var(--gold-dim);background:var(--gold-dim)}.explore-item-title{display:block;margin-bottom:2px;font-family:var(--font-body);font-size:var(--fz-sm);font-weight:var(--fw-semi);color:var(--tx);letter-spacing:var(--ls-5);text-transform:uppercase}.explore-item--on .explore-item-title{color:var(--gold-hi)}.explore-item-desc{display:block;font-size:var(--fz-sm);line-height:var(--lh-card);color:var(--tx-3)}.page{padding-top:60px;padding-bottom:calc(var(--sp-12) + var(--sp-9));min-height:100vh;position:relative;z-index:1}.c{max-width:var(--max-w);margin:0 auto;padding:0 var(--pad)}.ph-eye,.frames-ix-eye,.f2-eye{font-family:var(--font-mono);font-size:var(--fz-xs);color:var(--gold-hi);letter-spacing:var(--ls-11);text-transform:uppercase;margin-bottom:var(--sp-4);display:flex;align-items:center;gap:var(--sp-4);line-height:1}.ph-eye:before,.frames-ix-eye:before,.f2-eye:before{content:"";width:28px;height:1px;background:var(--gold-hi);flex-shrink:0}.pick{display:flex;align-items:center;gap:var(--sp-5);margin-top:var(--sp-4);padding:0;cursor:pointer;text-decoration:none;color:inherit}.pick-label{font-family:var(--font-body);font-size:var(--fz-3xs);font-weight:var(--fw-semi);color:var(--gold-hi);letter-spacing:var(--ls-7);text-transform:uppercase;white-space:nowrap;flex-shrink:0}.pick-content{display:flex;align-items:baseline;gap:var(--sp-3);flex:1;min-width:0;overflow:hidden}.pick-title{font-family:var(--font-body);font-size:var(--fz-base);font-weight:var(--fw-semi);color:var(--tx);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pick-author{font-family:var(--font-body);font-size:var(--fz-sm);color:var(--tx-3);white-space:nowrap}.pick-cta{font-family:var(--font-body);font-size:var(--fz-xs);font-weight:var(--fw-semi);color:var(--gold);letter-spacing:var(--ls-5);text-transform:uppercase;white-space:nowrap;flex-shrink:0}@media(max-width:640px){.pick{flex-direction:column;align-items:flex-start;gap:var(--sp-2)}.pick-content{flex-direction:column;gap:var(--sp-1)}.pick-cta{margin-top:var(--sp-2);align-self:flex-end}}.section{padding:var(--sp-12) 0;border-top:1px solid var(--bdr)}.sec-hd{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--sp-8);gap:var(--sp-4);flex-wrap:wrap}.sec-title{font-family:var(--font-display);font-size:var(--fz-section);font-weight:var(--fw-bold);letter-spacing:var(--ls-snug);line-height:var(--lh-title)}.sec-title em{font-style:italic;color:var(--gold-hi)}.va{font-family:var(--font-body);font-size:var(--fz-xs);font-weight:var(--fw-semi);color:var(--gold);letter-spacing:var(--ls-5);text-transform:uppercase;cursor:pointer;border-bottom:1px solid transparent;transition:border-color var(--ease-fast);flex-shrink:0}.va:hover{border-color:var(--border-accent)}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-5)}.grid-auto{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--sp-5);max-width:1200px}[data-filter-card]{display:flex;min-width:0}[data-filter-card]>.card{width:100%}.card{background:var(--surf);border:1px solid var(--bdr);border-radius:var(--radius);padding:var(--sp-6);cursor:default;transition:transform var(--ease-card),border-color var(--ease-card),box-shadow var(--ease-card);display:flex;flex-direction:column;text-decoration:none;color:inherit;position:relative;overflow:hidden}.card:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at top left,var(--hover) 0%,transparent 62%);opacity:0;transition:opacity var(--ease-slow)}@media(hover:hover){.card:hover{transform:translateY(-3px);border-color:var(--bdr-2);box-shadow:0 16px 44px #0000002e}.card:hover:before{opacity:1}}.card-layer{font-family:var(--font-body);font-size:var(--fz-3xs);font-weight:var(--fw-semi);color:var(--tx-3);letter-spacing:var(--ls-7);text-transform:uppercase;margin-bottom:var(--sp-3)}.card-layer--row{display:flex;justify-content:space-between}.card-role{font-family:var(--font-body);font-size:var(--fz-3xs);font-weight:var(--fw-semi);color:var(--gold-hi);letter-spacing:var(--ls-5);text-transform:uppercase;margin-bottom:var(--sp-2)}.card-title{font-family:var(--font-display);font-size:var(--fz-lg);font-weight:var(--fw-bold);line-height:var(--lh-card);margin-bottom:5px;letter-spacing:var(--ls-snug)}.card-author{font-family:var(--font-body);font-size:var(--fz-xs);color:var(--tx-2);margin-bottom:var(--sp-4);letter-spacing:var(--ls-3)}.card-desc{font-size:var(--fz-base);color:var(--tx-2);line-height:var(--lh-relaxed);flex:1;margin-bottom:var(--sp-4)}.card-desc--top{margin-top:var(--sp-2)}.card-tags{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:var(--sp-4)}.card-ft{display:flex;align-items:center;justify-content:space-between;padding-top:var(--sp-3);border-top:1px solid var(--bdr);margin-top:auto}.card-meta{font-family:var(--font-body);font-size:var(--fz-xs);color:var(--tx-3);letter-spacing:0}.card-cta{font-family:var(--font-body);font-size:var(--fz-xs);font-weight:var(--fw-semi);color:var(--gold);letter-spacing:var(--ls-3);text-transform:uppercase}.card-cta:hover{color:var(--gold-hi)}.card-details{margin-top:var(--sp-1);margin-bottom:var(--sp-4)}.card-details summary{display:inline-flex;align-items:center;gap:var(--sp-2);cursor:pointer;list-style:none;font-family:var(--font-body);font-size:var(--fz-3xs);font-weight:var(--fw-semi);color:var(--tx-3);letter-spacing:var(--ls-5);text-transform:uppercase;transition:color var(--ease-fast)}.card-details summary::-webkit-details-marker{display:none}.card-details summary:after{content:"+";color:var(--gold)}.card-details[open] summary{color:var(--gold)}.card-details[open] summary:after{content:"-"}.card-review{margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:1px solid var(--bdr)}.card-ri{font-size:var(--fz-sm);color:var(--tx-2);line-height:var(--lh-relaxed);margin-bottom:var(--sp-2);padding-left:var(--sp-3);border-left:2px solid var(--bdr-2)}.card-ri strong{display:block;font-family:var(--font-body);font-size:var(--fz-3xs);font-weight:var(--fw-semi);color:var(--tx);letter-spacing:var(--ls-5);text-transform:uppercase;margin-bottom:3px}.tag{font-family:var(--font-body);font-size:var(--fz-3xs);font-weight:var(--fw-medium);letter-spacing:var(--ls-5);text-transform:uppercase;padding:3px 7px;border:1px solid var(--bdr);border-radius:var(--radius-sm)}.tag--essential{background:var(--tag-essential-bg);color:var(--tag-essential-fg)}.tag--philosophy{background:var(--tag-philosophy-bg);color:var(--tag-philosophy-fg)}.tag--economics{background:var(--tag-economics-bg);color:var(--tag-economics-fg)}.tag--technical{background:var(--tag-technical-bg);color:var(--tag-technical-fg)}.tag--history{background:var(--tag-history-bg);color:var(--tag-history-fg)}.tag--free{background:var(--tag-free-bg);color:var(--tag-free-fg)}.tag--freemium{background:var(--tag-freemium-bg);color:var(--tag-freemium-fg)}.tag--paid{background:var(--tag-paid-bg);color:var(--tag-paid-fg)}.tag--beginner{background:var(--tag-beginner-bg);color:var(--tag-beginner-fg)}.tag--intermediate{background:var(--tag-intermediate-bg);color:var(--tag-intermediate-fg)}.tag--advanced{background:var(--tag-advanced-bg);color:var(--tag-advanced-fg)}.tag--paper,.tag--essay,.tag--series,.tag--reference,.tag--documentation,.tag--q-a,.tag--observe,.tag--verify,.tag--wallet,.tag--hardware,.tag--multisig,.tag--payments,.tag--research{background:var(--surf-2);color:var(--tx-2)}.ph,.frames-hd,.frames-ix-hd,.f2-hd{padding:var(--sp-12) 0 var(--sp-6);border-bottom:1px solid var(--bdr);margin-bottom:calc(var(--sp-10) + var(--sp-7))}.ph-eye{font-family:var(--font-mono);font-size:var(--fz-xs);color:var(--gold-hi);letter-spacing:var(--ls-11);text-transform:uppercase;margin-bottom:var(--sp-4);display:flex;align-items:center;gap:var(--sp-4)}.ph-eye:before{content:"";width:28px;height:1px;background:var(--gold-hi);flex-shrink:0}.ph-title,.frames-title,.frames-ix-title,.f2-title{font-family:var(--font-display);font-size:var(--fz-page);font-weight:var(--fw-bold);letter-spacing:var(--ls-tighter);line-height:var(--lh-title);color:var(--tx)}.ph-title em,.frames-title em,.frames-ix-title em,.f2-title em{font-style:italic;color:var(--gold-hi)}.ph-desc{font-family:var(--font-body);font-size:var(--fz-md);color:var(--tx-2);max-width:720px;margin-top:var(--sp-5);line-height:var(--lh-loose);min-height:calc(var(--fz-md) * var(--lh-loose) * 2)}.frames-sub,.frames-ix-sub,.f2-sub{font-family:var(--font-body);font-size:var(--fz-quote);line-height:var(--lh-relaxed);color:var(--tx-2);max-width:640px;margin-top:var(--sp-5)}.fb{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-bottom:var(--sp-8);align-items:center}.fb-lbl{font-family:var(--font-body);font-size:var(--fz-3xs);font-weight:var(--fw-semi);color:var(--tx-3);letter-spacing:var(--ls-7);text-transform:uppercase;margin-right:var(--sp-1)}.fb-btn{font-family:var(--font-body);font-size:var(--fz-3xs);font-weight:var(--fw-semi);letter-spacing:var(--ls-5);text-transform:uppercase;padding:5px var(--sp-3);border-radius:var(--radius-sm);border:1px solid var(--bdr);background:transparent;color:var(--tx-2);cursor:pointer;transition:all var(--ease-fast)}.fb-btn:hover{border-color:var(--border-accent);color:var(--gold)}.fb-btn.on{background:var(--accent-hover);color:var(--tx);border-color:var(--border-accent)}.srch{background:var(--surf);border:1px solid var(--bdr);border-radius:var(--radius);padding:var(--sp-2) var(--sp-3);font-family:var(--font-body);font-size:var(--fz-sm);color:var(--tx);outline:none;width:240px;transition:border-color var(--ease-fast)}.srch:focus{border-color:var(--border-accent)}.srch::placeholder{color:var(--tx-3)}.layer{margin-bottom:var(--sp-11)}.layer:last-child{margin-bottom:0}.layer-hd{display:flex;align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-2)}.layer-n{font-family:var(--font-mono);font-size:var(--fz-3xs);color:var(--gold-hi);letter-spacing:var(--ls-7);text-transform:uppercase;border:1px solid var(--border-accent);padding:3px var(--sp-2);border-radius:var(--radius-sm)}.layer-name{font-family:var(--font-display);font-size:var(--fz-2xl);font-weight:var(--fw-bold);letter-spacing:var(--ls-snug)}.layer-desc{font-family:var(--font-body);font-size:var(--fz-sm);color:var(--tx-3);letter-spacing:0;margin-bottom:var(--sp-6);line-height:var(--lh-normal)}.toolkit-sec-hd{font-family:var(--font-display);font-size:var(--fz-3xl);font-weight:var(--fw-bold);margin-bottom:var(--sp-2);margin-top:var(--sp-10);letter-spacing:var(--ls-snug);padding-bottom:var(--sp-4);border-bottom:1px solid var(--bdr)}.toolkit-sec-hd--lower{margin-top:var(--sp-10)}.toolkit-sec-desc{font-family:var(--font-body);font-size:var(--fz-sm);color:var(--tx-3);letter-spacing:0;margin-bottom:var(--sp-6);line-height:var(--lh-normal)}.steps-wrap{max-width:760px}.step{position:relative;padding:0 0 var(--sp-9) var(--sp-9);margin-bottom:var(--sp-9);border-bottom:1px solid var(--bdr)}.step:before{content:"";position:absolute;left:15px;top:var(--sp-8);bottom:0;width:1px;background:var(--bdr)}.step:last-of-type{border-bottom:none}.step-num-row{font-family:var(--font-mono);font-size:var(--fz-xs);color:var(--gold-hi);letter-spacing:var(--ls-9);margin-bottom:var(--sp-4);display:flex;align-items:center;gap:var(--sp-3)}.step-num-badge{position:absolute;left:0;top:0;border:1px solid var(--border-accent);padding:3px var(--sp-2);border-radius:var(--radius-sm);background:var(--bg)}.step-num-line{display:none}.step-heading{font-family:var(--font-body);font-size:var(--fz-step);font-weight:var(--fw-semi);letter-spacing:0;line-height:var(--lh-snug);margin-bottom:var(--sp-5);color:var(--tx)}.step-body{font-family:var(--font-body);font-size:var(--fz-prose);line-height:var(--lh-loose);color:var(--tx-2);margin-bottom:var(--sp-6)}.step-cta{display:inline-flex;align-items:center;gap:var(--sp-3);cursor:pointer;padding:var(--sp-4) var(--sp-5);background:var(--surf);border:1px solid var(--bdr);border-radius:var(--radius);text-decoration:none;transition:border-color var(--ease-fast),box-shadow var(--ease-fast)}.step-cta:hover{border-color:var(--border-accent);box-shadow:0 6px 28px #00000024}.step-arrow{font-family:var(--font-body);font-size:var(--fz-xs);font-weight:var(--fw-semi);color:var(--gold);letter-spacing:var(--ls-3)}.step-resource{font-family:var(--font-body);font-size:var(--fz-lg);font-weight:var(--fw-semi);color:var(--tx);letter-spacing:0}.step-auth{font-family:var(--font-body);font-size:var(--fz-xs);color:var(--tx-3);margin-left:var(--sp-2);letter-spacing:0}.steps-closing{padding-top:var(--sp-2)}.steps-closing-p{font-family:var(--font-body);font-size:var(--fz-prose);line-height:var(--lh-loose);color:var(--tx-2);margin-bottom:6px}.steps-closing-p--gap{margin-bottom:var(--sp-7)}.steps-signature{font-family:var(--font-body);font-size:var(--fz-md);color:var(--tx-3);font-style:italic}.note-wrap{max-width:760px}.note-doc{padding:var(--sp-7);border:1px solid var(--bdr);border-radius:var(--radius);background:var(--surf)}.note-doc--archive{background:linear-gradient(to bottom,var(--surf),var(--bg-deep))}.note-hd{border-bottom:1px solid var(--bdr);padding-bottom:var(--sp-5);margin-bottom:var(--sp-8)}.note-num{font-family:var(--font-mono);font-size:var(--fz-3xs);color:var(--gold-hi);letter-spacing:var(--ls-9);text-transform:uppercase;margin-bottom:var(--sp-3)}.note-title{font-family:var(--font-display);font-size:var(--fz-note);font-weight:var(--fw-bold);letter-spacing:var(--ls-snug);line-height:1.1;margin-bottom:var(--sp-2)}.note-subtitle{font-family:var(--font-body);font-size:var(--fz-xs);color:var(--tx-3);letter-spacing:0}.note-body{font-family:var(--font-body);font-size:var(--fz-prose);line-height:var(--lh-loose);color:var(--tx-2)}.note-body p{margin-bottom:var(--sp-6)}.note-body p:last-child{margin-bottom:0}.note-body em{font-style:italic;color:var(--tx)}.note-closing-line{font-weight:var(--fw-medium);color:var(--tx)}.note-sig-block{margin-top:var(--sp-8);padding-top:var(--sp-7);border-top:1px solid var(--bdr)}.note-sig{font-family:var(--font-body);font-size:var(--fz-md);color:var(--tx-2);font-style:italic;margin-bottom:6px}.note-kicker{margin-top:var(--sp-7);padding:var(--sp-6) var(--sp-7);background:var(--surf);border:1px solid var(--bdr);border-left:3px solid var(--gold);border-radius:var(--radius)}.note-kicker-lbl{font-family:var(--font-body);font-size:var(--fz-3xs);font-weight:var(--fw-semi);color:var(--gold-hi);letter-spacing:var(--ls-7);text-transform:uppercase;margin-bottom:var(--sp-3)}.note-kicker-body{font-family:var(--font-body);font-size:var(--fz-prose);line-height:var(--lh-loose);color:var(--tx-2)}.about-wrap{display:grid;grid-template-columns:1fr 320px;gap:var(--sp-12)}.a-sec{margin-bottom:var(--sp-10)}.a-sec:last-child{margin-bottom:0}.a-eye{font-family:var(--font-body);font-size:var(--fz-3xs);font-weight:var(--fw-semi);color:var(--gold-hi);letter-spacing:var(--ls-9);text-transform:uppercase;margin-bottom:var(--sp-4);display:flex;align-items:center;gap:var(--sp-2)}.a-eye:before{content:"";width:20px;height:1px;background:var(--gold-hi)}.a-h{font-family:var(--font-display);font-size:var(--fz-3xl);font-weight:var(--fw-bold);letter-spacing:var(--ls-snug);line-height:var(--lh-snug);margin-bottom:var(--sp-5)}.a-body{font-size:var(--fz-prose);line-height:var(--lh-loose);color:var(--tx-2)}.a-body p{margin-bottom:var(--sp-5)}.a-body p:last-child{margin-bottom:0}.a-body em{font-style:italic;color:var(--tx)}.contacts{display:flex;flex-direction:column;gap:var(--sp-2);margin-top:var(--sp-6)}.contact-row{display:flex;align-items:center;gap:var(--sp-4);font-family:var(--font-body);font-size:var(--fz-sm);text-decoration:none;color:var(--tx);padding:var(--sp-3) var(--sp-4);border:1px solid var(--bdr);border-radius:var(--radius);transition:border-color var(--ease-fast),background var(--ease-fast)}.contact-row:hover{border-color:var(--border-accent);background:var(--surf)}.contact-lbl{font-size:var(--fz-3xs);color:var(--tx-3);letter-spacing:var(--ls-7);text-transform:uppercase;width:52px;flex-shrink:0}.aside-card{background:var(--surf);border:1px solid var(--bdr);border-radius:var(--radius);padding:var(--sp-6);margin-bottom:var(--sp-3)}.aside-card--link{display:block;cursor:pointer;transition:border-color var(--ease-fast),box-shadow var(--ease-fast)}.aside-card--link:hover{border-color:var(--border-accent);box-shadow:0 4px 22px #00000024}.aside-card-title{font-family:var(--font-body);font-size:var(--fz-md);font-weight:var(--fw-semi);margin-bottom:var(--sp-3);letter-spacing:var(--ls-normal)}.aside-item{font-family:var(--font-body);font-size:var(--fz-xs);color:var(--tx-2);padding:var(--sp-2) 0;border-bottom:1px solid var(--bdr);display:flex;justify-content:space-between;letter-spacing:0}.aside-item:last-child{border-bottom:none}.aside-item-val{color:var(--tx-3)}.aside-curate-item{font-family:var(--font-body);font-size:var(--fz-xs);color:var(--tx-2);padding:var(--sp-2) 0;border-bottom:1px solid var(--bdr);letter-spacing:0}.aside-curate-item:last-child{border-bottom:none}.aside-notes-quote{font-family:var(--font-body);font-size:var(--fz-sm);color:var(--tx-2);line-height:1.7;margin-bottom:var(--sp-3);font-style:italic}.aside-notes-link{font-family:var(--font-body);font-size:var(--fz-xs);color:var(--gold);letter-spacing:0}.no-res{font-family:var(--font-body);font-size:var(--fz-sm);color:var(--tx-3);padding:var(--sp-9) 0;letter-spacing:0}footer{border-top:1px solid var(--bdr);padding:var(--sp-8) 0;margin-top:0;position:relative;z-index:1}.ft-in{max-width:var(--max-w);margin:0 auto;padding:0 var(--pad);display:flex;flex-direction:column;gap:var(--sp-6)}.ft-map{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-6)}.ft-map-label{margin-bottom:var(--sp-2);font-family:var(--font-body);font-size:var(--fz-xs);font-weight:var(--fw-semi);color:var(--gold-hi);letter-spacing:var(--ls-7);text-transform:uppercase}.ft-map-links{display:flex;flex-direction:column;gap:var(--sp-2)}.ft-map-links a{font-family:var(--font-body);font-size:var(--fz-xs);color:var(--tx-3);letter-spacing:0;transition:color var(--ease-fast)}.ft-map-links a:hover,.ft-map-links a:focus-visible{color:var(--tx);outline:none}.ft-bottom{width:100%;padding-top:var(--sp-4);border-top:1px solid var(--bdr)}.ft-copy{font-family:var(--font-body);font-size:var(--fz-xs);color:var(--tx-3);letter-spacing:0}.ft-upd{font-family:var(--font-body);font-size:var(--fz-xs);color:var(--tx-3)}@media(max-width:1100px){.about-wrap{grid-template-columns:1fr 260px}}@media(max-width:900px){.about-wrap,.grid3{grid-template-columns:1fr}}@media(max-width:640px){.grid-auto{grid-template-columns:1fr}.page{padding-bottom:calc(var(--sp-9) + var(--sp-9))}.ph,.frames-hd,.frames-ix-hd,.f2-hd{padding:var(--sp-9) 0 var(--sp-4);margin-bottom:calc(var(--sp-8) + var(--sp-4))}.srch{width:100%;min-width:0}.fb{gap:var(--sp-2)}.fb-btn{padding:9px var(--sp-3);font-size:var(--fz-xs)}.fb-lbl{width:100%;margin-bottom:var(--sp-1);margin-right:0}.f2-jump{padding:8px var(--sp-3)}.ft-in{align-items:flex-start;gap:var(--sp-5)}.ft-map{grid-template-columns:repeat(3,1fr);gap:var(--sp-3)}.step{padding-left:var(--sp-8)}.step:before{left:12px}.step-cta{width:100%;align-items:flex-start}.step-auth{display:block;margin-left:0;margin-top:3px}.note-doc{padding:var(--sp-5)}}.pulse{margin:var(--sp-9) 0 0;padding:var(--sp-6);border:1px solid var(--bdr);border-radius:var(--radius)}.pulse-hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--sp-7)}.pulse-lbl{font-family:var(--font-display);font-size:var(--fz-xl);font-weight:var(--fw-bold);letter-spacing:var(--ls-snug);color:var(--tx);text-transform:none}.pulse-lbl em{color:var(--gold);font-style:normal}.pulse-live{display:inline-flex;align-items:center;gap:var(--sp-2);font-family:var(--font-body);font-size:var(--fz-3xs);font-weight:var(--fw-semi);letter-spacing:var(--ls-5);color:var(--gold);text-transform:uppercase;opacity:.65;animation:pulse-breath 4s ease-in-out infinite;transition:opacity var(--ease-slow)}.pulse-live-dot{width:5px;height:5px;border-radius:50%;background:var(--gold);display:inline-block}.pulse-live--flash{animation:pulse-live-flash .7s ease-out}@keyframes pulse-breath{0%,to{opacity:.5}50%{opacity:.95}}@keyframes pulse-live-flash{0%{opacity:.65;transform:scale(1)}30%{opacity:1;transform:scale(1.08)}to{opacity:.65;transform:scale(1)}}.pulse-line{font-family:var(--font-body);font-size:var(--fz-lg);font-weight:var(--fw-normal);line-height:var(--lh-relaxed);letter-spacing:0;color:var(--tx);margin:0 0 var(--sp-7);max-width:860px}.pulse-num{font-family:var(--font-mono);font-style:normal;font-weight:var(--fw-medium);font-size:.95em;color:var(--gold-hi);letter-spacing:inherit;white-space:nowrap;transition:opacity var(--ease-slow);background:#c8913a0f;padding:1px 4px;border-radius:2px}.pulse-num--flash{animation:pulse-num-flash .7s ease-out}@keyframes pulse-num-flash{0%{opacity:.4}60%{opacity:1}to{opacity:1}}.pulse-track{position:relative;height:1px;background:var(--bdr);margin:var(--sp-6) 0 var(--sp-2);overflow:visible}.pulse-mark{position:absolute;top:50%;width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 3px var(--gold-dim);transform:translate(-50%,-50%);transition:left .4s ease-out}.pulse-mark--step{animation:pulse-mark-step .7s ease-out}@keyframes pulse-mark-step{0%{box-shadow:0 0 0 3px var(--gold-dim)}40%{box-shadow:0 0 0 7px var(--gold-glow)}to{box-shadow:0 0 0 3px var(--gold-dim)}}.pulse-ends{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:var(--fz-3xs);letter-spacing:var(--ls-7);color:var(--tx-3);text-transform:uppercase}@media(max-width:640px){.pulse{margin:var(--sp-8) 0 0;padding:var(--sp-5)}.pulse-line{margin-bottom:var(--sp-6)}}@media(prefers-reduced-motion:reduce){.pulse-live,.pulse-live--flash,.pulse-num--flash,.pulse-mark,.pulse-mark--step{animation:none!important;transition:none!important}.pulse-live{opacity:.8}}.pp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-3);margin-top:var(--sp-6)}.pp-stat{padding:var(--sp-4) var(--sp-4);background:var(--surf);border:1px solid var(--bdr);border-radius:var(--radius)}.pp-stat-lbl{display:block;font-family:var(--font-body);font-size:var(--fz-3xs);font-weight:var(--fw-semi);color:var(--tx-3);letter-spacing:var(--ls-9);text-transform:uppercase;margin-bottom:var(--sp-2)}.pp-stat-val{display:block;font-family:var(--font-mono);font-size:var(--fz-lg);font-weight:var(--fw-medium);color:var(--gold-hi);letter-spacing:var(--ls-snug);margin-bottom:var(--sp-2)}.pp-stat-note{display:block;font-family:var(--font-body);font-size:var(--fz-3xs);color:var(--tx-3);letter-spacing:0;line-height:var(--lh-normal)}.pp-supply{margin-top:var(--sp-5);padding-top:var(--sp-4);border-top:1px solid var(--bdr);margin-bottom:var(--sp-9)}.pp-supply-hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--sp-2)}.pp-supply-lbl{font-family:var(--font-body);font-size:var(--fz-3xs);font-weight:var(--fw-semi);color:var(--tx-3);letter-spacing:var(--ls-9);text-transform:uppercase}.pp-supply-pct{font-family:var(--font-mono);font-size:var(--fz-sm);font-weight:var(--fw-medium);color:var(--gold-hi);letter-spacing:var(--ls-3)}.pp-supply-track{height:3px;background:var(--bdr);border-radius:var(--radius-sm);overflow:hidden;margin-bottom:var(--sp-2)}.pp-supply-fill{height:100%;background:linear-gradient(to right,var(--gold),var(--gold-hi));border-radius:var(--radius-sm);transition:width .5s ease-out}.pp-supply-ends{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:var(--fz-3xs);color:var(--tx-3);letter-spacing:var(--ls-5)}@media(max-width:1024px){.pp-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.pp-grid{grid-template-columns:repeat(2,1fr)}}.nav-menu-btn{display:none;margin-left:auto;background:none;border:none;font-family:var(--font-body);font-size:var(--fz-sm);font-weight:var(--fw-medium);letter-spacing:var(--ls-9);color:var(--gold-hi);text-transform:uppercase;padding:var(--sp-2) var(--sp-2);cursor:pointer;transition:opacity var(--ease-fast);-webkit-tap-highlight-color:transparent}.nav-menu-btn:hover,.nav-menu-btn:focus-visible{opacity:.7;outline:none}.nav-menu-btn:active{opacity:.5}@media(max-width:768px){.nav-links{display:none}.nav-menu-btn{display:inline-block}.nav-in{justify-content:space-between}}.mm{position:fixed;inset:60px 0 0;z-index:90;background:#0d0b0894;display:flex;align-items:flex-start;padding:var(--sp-3) var(--page-x-mobile) calc(var(--sp-4) + env(safe-area-inset-bottom));animation:mm-in .22s ease-out;overscroll-behavior:contain}@keyframes mm-in{0%{opacity:0}to{opacity:1}}.mm-panel{width:100%;max-height:calc(100dvh - 60px - var(--sp-6) - env(safe-area-inset-bottom));overflow-y:auto;-webkit-overflow-scrolling:touch;background:#14110df5;border:1px solid var(--bdr);border-radius:var(--radius-lg);box-shadow:0 18px 60px #00000047}.mm-list{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-end;padding:var(--sp-4);gap:0}.mm-group-label{font-family:var(--font-body);font-size:var(--fz-3xs);color:var(--tx-3);letter-spacing:var(--ls-11);text-transform:uppercase;text-align:right;padding:var(--sp-1) 0 var(--sp-1) var(--sp-2);flex-shrink:0;opacity:0;animation:mm-item-in .32s ease-out forwards;animation-delay:inherit}.mm-divider{width:40%;height:1px;background:var(--bdr);margin:var(--sp-2) 0;align-self:flex-end;flex-shrink:0;opacity:0;animation:mm-item-in .32s ease-out forwards;animation-delay:inherit}.mm-item{background:none;border:none;text-align:right;font-family:var(--font-body);font-size:clamp(20px,5vw,26px);font-weight:var(--fw-normal);line-height:1.1;letter-spacing:0;color:var(--tx);min-height:42px;display:flex;align-items:center;justify-content:flex-end;padding:var(--sp-2) 0 var(--sp-2) var(--sp-2);cursor:pointer;transition:color var(--ease-fast),transform var(--ease-fast);opacity:0;animation:mm-item-in .32s ease-out forwards;animation-delay:inherit;-webkit-tap-highlight-color:transparent}.mm-item:hover{color:var(--gold-hi)}.mm-item:active{transform:translate(2px)}.mm-item:focus-visible{color:var(--gold-hi);outline:none}.mm-item--on{font-weight:var(--fw-semi);color:var(--gold-hi)}@keyframes mm-item-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.mm-foot{flex-shrink:0;padding:0 var(--sp-4) var(--sp-4);font-family:var(--font-body);text-align:right}.mm-foot-rule{height:1px;background:var(--bdr);margin-bottom:var(--sp-3)}.mm-foot-l1{font-size:var(--fz-xs);letter-spacing:var(--ls-9);color:var(--tx-3);text-transform:uppercase;margin-bottom:var(--sp-2)}.mm-foot-l2{font-size:var(--fz-sm);color:var(--tx-3);letter-spacing:var(--ls-3)}@media(prefers-reduced-motion:reduce){.mm,.mm-item{animation:none!important;opacity:1!important;transform:none!important}}.frames-eye{font-family:var(--font-mono);font-size:var(--fz-xs);color:var(--gold-hi);letter-spacing:var(--ls-11);text-transform:uppercase;margin-bottom:var(--sp-4);display:flex;align-items:center;gap:var(--sp-4)}.frames-eye:before{content:"";width:28px;height:1px;background:var(--gold-hi);flex-shrink:0}.frames-eye-sep{color:var(--gold);opacity:.5}.frames-q{font-family:var(--font-body);font-size:var(--fz-quote);line-height:var(--lh-relaxed);color:var(--gold-hi);max-width:640px;margin:0 0 var(--sp-10)}.frames-layout{display:grid;grid-template-columns:1fr 220px;gap:var(--sp-12);align-items:start}.frames-body{min-width:0;max-width:768px}.fnode{padding:var(--sp-11) 0;border-bottom:1px solid var(--bdr)}.fnode:first-child{padding-top:var(--sp-8)}.fnode:last-of-type{border-bottom:none}.fnode-meta{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-5);font-family:var(--font-mono);font-size:var(--fz-xs);font-weight:var(--fw-medium);letter-spacing:var(--ls-9);color:var(--tx-3);text-transform:uppercase}.fnode-sep{color:var(--bdr)}.fnode-dot{width:11px;height:11px;border-radius:50%;display:inline-block;flex-shrink:0;margin-right:var(--sp-2)}.fnode-dot--high{background:var(--gold-hi)}.fnode-dot--low{background:transparent;border:1.5px solid var(--tx-3)}.fnode-dot--half{background:linear-gradient(90deg,var(--gold-hi) 50%,transparent 50%);border:1.5px solid var(--gold-hi)}.fnode-dot--absolute{background:var(--gold-hi);box-shadow:0 0 0 4px var(--gold-glow)}.fnode-title{font-family:var(--font-display);font-size:clamp(34px,5vw,52px);font-weight:var(--fw-bold);line-height:var(--lh-title);letter-spacing:var(--ls-tighter);color:var(--tx);margin-bottom:var(--sp-2)}.fnode-epi{font-family:var(--font-body);font-size:var(--fz-step);line-height:var(--lh-snug);color:var(--gold-hi);margin-bottom:var(--sp-7);letter-spacing:var(--ls-snug)}.fnode-p{font-family:var(--font-body);font-size:var(--fz-prose);line-height:var(--lh-loose);color:var(--tx);margin-bottom:var(--sp-5);max-width:640px}.fnode-p:last-of-type{margin-bottom:0}.fnode-coda{font-family:var(--font-body);font-style:italic;font-size:var(--fz-prose);line-height:var(--lh-relaxed);color:var(--gold-hi);margin-top:var(--sp-7);margin-bottom:0;max-width:640px;padding-left:var(--sp-7);border-left:1px solid var(--bdr-2)}.fnode-links{margin-top:var(--sp-8);display:flex;flex-direction:column;gap:var(--sp-2)}.fnode-link{display:inline-block;font-family:var(--font-body);font-size:var(--fz-xs);font-weight:var(--fw-semi);letter-spacing:var(--ls-7);color:var(--gold);text-transform:uppercase;cursor:pointer;transition:color var(--ease-fast),transform var(--ease-fast);align-self:flex-start}.fnode-link:hover{color:var(--gold-hi);transform:translate(3px)}.frames-end{margin-top:var(--sp-12);padding-top:var(--sp-8)}.frames-end-rule{height:1px;background:var(--bdr);margin-bottom:var(--sp-7)}.frames-end-note{font-family:var(--font-body);font-size:var(--fz-xs);font-weight:var(--fw-semi);letter-spacing:var(--ls-7);color:var(--tx-3);text-transform:uppercase;text-align:center}.frames-idx{position:sticky;top:var(--sp-11);font-family:var(--font-body)}.frames-idx-lbl{font-size:var(--fz-3xs);font-weight:var(--fw-medium);letter-spacing:var(--ls-9);color:var(--tx-3);text-transform:uppercase;margin-bottom:var(--sp-2)}.frames-idx-rule{height:1px;background:var(--bdr);margin-bottom:var(--sp-5)}.frames-idx-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--sp-2)}.fidx{display:flex;align-items:flex-start;gap:var(--sp-2);padding:var(--sp-2) var(--sp-2);padding-left:calc(var(--sp-2) + 2px);margin:0 calc(-1 * var(--sp-2));cursor:pointer;border-left:2px solid transparent;transition:border-color var(--ease-fast),color var(--ease-fast)}.fidx:hover .fidx-yr{color:var(--tx-2)}.fidx:hover .fidx-epi{color:var(--tx)}.fidx--on{border-left-color:var(--gold-hi);background:transparent}.fidx--on .fidx-yr{color:var(--tx)}.fidx--on .fidx-epi{color:var(--gold-hi)}.fidx-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;margin-top:6px}.fidx-dot--high{background:var(--gold-hi)}.fidx-dot--low{background:transparent;border:1px solid var(--tx-3)}.fidx-dot--half{background:linear-gradient(90deg,var(--gold-hi) 50%,transparent 50%);border:1px solid var(--gold-hi)}.fidx-dot--absolute{background:var(--gold-hi);box-shadow:0 0 0 2px var(--gold-glow)}.fidx-text{display:flex;flex-direction:column;gap:2px}.fidx-yr{font-size:var(--fz-3xs);letter-spacing:var(--ls-7);color:var(--tx-3);text-transform:uppercase;transition:color var(--ease-fast)}.fidx-epi{font-family:var(--font-body);font-style:italic;font-size:var(--fz-sm);letter-spacing:var(--ls-normal);color:var(--tx-2);line-height:1.3;text-transform:none;transition:color var(--ease-fast)}@media(max-width:1024px){.frames-layout{grid-template-columns:1fr;gap:var(--sp-8)}.frames-idx{position:static;order:-1;margin-bottom:var(--sp-7);padding-bottom:var(--sp-7);border-bottom:1px solid var(--bdr)}.frames-idx-list{flex-direction:row;overflow-x:auto;gap:var(--sp-5);padding-bottom:var(--sp-2);scrollbar-width:thin}.frames-idx-list::-webkit-scrollbar{height:3px}.frames-idx-list::-webkit-scrollbar-thumb{background:var(--bdr)}.fidx{flex-direction:column;align-items:flex-start;flex-shrink:0;min-width:130px;padding:var(--sp-2) var(--sp-4);padding-top:calc(var(--sp-2) + 2px);margin:0;border-left:none;border-top:2px solid transparent}.fidx--on{border-left-color:transparent;border-top-color:var(--gold-hi)}.fidx-dot{margin-top:0;margin-bottom:var(--sp-2)}}@media(max-width:640px){.fnode{padding:var(--sp-9) 0}.fnode-title{font-size:clamp(30px,9vw,44px)}.fnode-coda{padding-left:var(--sp-5)}}.frames-ix-eye{font-family:var(--font-mono);font-size:var(--fz-xs);color:var(--gold-hi);letter-spacing:var(--ls-11);text-transform:uppercase;margin-bottom:var(--sp-4);display:flex;align-items:center;gap:var(--sp-4)}.frames-ix-eye:before{content:"";width:28px;height:1px;background:var(--gold-hi);flex-shrink:0}.frames-ix-list{display:grid;grid-template-columns:1fr;gap:var(--sp-8);max-width:1024px}.frames-ix-card{padding:var(--sp-9) var(--sp-8);border:1px solid var(--bdr);border-radius:var(--radius);cursor:pointer;transition:border-color var(--ease-fast),background var(--ease-fast);background:transparent}.frames-ix-card:hover{border-color:var(--bdr-2);background:var(--surf)}.frames-ix-card:hover .frames-ix-card-go{color:var(--gold-hi);transform:translate(3px)}.frames-ix-card-meta{display:flex;gap:var(--sp-2);margin-bottom:var(--sp-5);font-family:var(--font-mono);font-size:var(--fz-xs);letter-spacing:var(--ls-9);color:var(--tx-3);text-transform:uppercase}.frames-ix-card-sep{color:var(--bdr)}.frames-ix-card-title{font-family:var(--font-display);font-size:clamp(28px,4vw,40px);font-weight:var(--fw-bold);line-height:var(--lh-title);letter-spacing:var(--ls-tighter);color:var(--tx);margin-bottom:var(--sp-2)}.frames-ix-card-sub{font-family:var(--font-body);font-size:var(--fz-md);line-height:var(--lh-relaxed);color:var(--tx-2);margin-bottom:var(--sp-7);max-width:768px}.frames-ix-card-go{font-family:var(--font-body);font-size:var(--fz-xs);font-weight:var(--fw-semi);letter-spacing:var(--ls-7);color:var(--gold);text-transform:uppercase;transition:color var(--ease-fast),transform var(--ease-fast)}.f2-eye{font-family:var(--font-mono);font-size:var(--fz-xs);color:var(--gold-hi);letter-spacing:var(--ls-11);text-transform:uppercase;margin-bottom:var(--sp-4);display:flex;align-items:center;gap:var(--sp-4)}.f2-eye:before{content:"";width:28px;height:1px;background:var(--gold-hi);flex-shrink:0}.f2-eye-sep{color:var(--gold);opacity:.5}.f2-tabs{display:flex;gap:0;margin-bottom:var(--sp-8);border-bottom:1px solid var(--bdr);overflow-x:auto;scrollbar-width:none}.f2-tabs::-webkit-scrollbar{display:none}.f2-tab-lbl{font-family:var(--font-body);font-size:var(--fz-3xs);font-weight:var(--fw-semi);letter-spacing:var(--ls-9);color:var(--tx-3);text-transform:uppercase;padding:var(--sp-2) 0;margin-right:var(--sp-8);flex-shrink:0;align-self:center}.f2-tab{background:none;border:none;padding:var(--sp-2) var(--sp-5);font-family:var(--font-body);font-size:var(--fz-sm);font-weight:var(--fw-medium);letter-spacing:var(--ls-7);color:var(--tx-3);text-transform:uppercase;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color var(--ease-fast),border-color var(--ease-fast);flex-shrink:0}.f2-tab:hover{color:var(--tx-2)}.f2-tab--on{color:var(--gold-hi);border-bottom-color:var(--gold-hi)}.f2-chart-wrap{position:relative;margin-bottom:var(--sp-9)}.f2-chart{width:100%;height:480px;display:block;cursor:crosshair;touch-action:none;user-select:none}@media(max-width:768px){.f2-chart{height:320px}}.f2-chart .f2-grid{stroke:var(--bdr);stroke-width:1}.f2-chart .f2-axis-text{font-family:var(--font-mono);font-size:10px;fill:var(--tx-3);letter-spacing:.1em}.f2-chart .f2-usd{stroke:var(--tx-2);stroke-width:1.5;fill:none}.f2-chart .f2-btc{stroke:var(--gold-hi);stroke-width:1.8;fill:none}.f2-chart .f2-cursor{stroke:var(--gold);stroke-width:1;pointer-events:none}.f2-chart .f2-cursor-dot{fill:var(--gold-hi);stroke:var(--bg);stroke-width:2;pointer-events:none}.f2-chart .f2-event-tick{stroke:var(--bdr-2);stroke-width:1;stroke-dasharray:2 3}.f2-chart .f2-event-text{font-family:var(--font-mono);font-size:9px;fill:var(--tx-3);letter-spacing:.15em;cursor:pointer}.f2-chart .f2-event-text:hover{fill:var(--gold-hi)}.f2-chart .f2-legend{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em}.f2-jumps{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:0;margin-bottom:var(--sp-8)}.f2-jump-lbl{font-family:var(--font-body);font-size:var(--fz-3xs);font-weight:var(--fw-semi);letter-spacing:var(--ls-9);color:var(--tx-3);text-transform:uppercase;align-self:center;margin-right:var(--sp-2)}.f2-jump{background:none;border:1px solid var(--bdr);padding:var(--sp-2) var(--sp-4);font-family:var(--font-body);font-size:var(--fz-3xs);letter-spacing:var(--ls-7);color:var(--tx-2);text-transform:uppercase;cursor:pointer;border-radius:var(--radius-sm);transition:color var(--ease-fast),border-color var(--ease-fast)}.f2-jump:hover{color:var(--gold-hi);border-color:var(--border-accent)}.f2-readout{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-9);padding:var(--sp-9) 0;border-top:1px solid var(--bdr)}@media(max-width:768px){.f2-readout{grid-template-columns:1fr;gap:var(--sp-8)}}.f2-r-col{font-family:var(--font-body);font-size:clamp(18px,2.2vw,22px);line-height:var(--lh-relaxed);letter-spacing:var(--ls-snug);color:var(--tx)}.f2-r-col strong{font-weight:var(--fw-semi);color:var(--gold-hi)}.f2-r-col em{font-style:italic;color:var(--tx-2)}.f2-r-lbl{display:block;font-family:var(--font-body);font-style:normal;font-size:var(--fz-3xs);font-weight:var(--fw-semi);letter-spacing:var(--ls-9);color:var(--tx-3);text-transform:uppercase;margin-bottom:var(--sp-5)}.f2-r-empty{font-style:italic;color:var(--tx-3);font-size:clamp(15px,1.8vw,18px);line-height:var(--lh-relaxed)}.f2-live{font-family:var(--font-mono);font-size:var(--fz-3xs);letter-spacing:var(--ls-7);color:var(--tx-3);text-transform:uppercase;text-align:right;margin-top:var(--sp-5)}.grain{position:fixed;inset:0;background-image:url(/grain.png);background-size:256px;z-index:9998;pointer-events:none;opacity:.028;mix-blend-mode:overlay}
