:root{--odd-header-h:68px}.odd-layout{grid-template-columns:minmax(400px,520px) minmax(0,1fr);max-width:1440px;margin:0 auto;display:grid}.odd-session{top:var(--odd-header-h);box-sizing:border-box;height:calc(100vh - var(--odd-header-h));height:calc(100dvh - var(--odd-header-h));flex-direction:column;justify-content:center;align-self:start;padding:32px 24px 32px 40px;display:flex;position:sticky}.odd-term{border:1px solid var(--st-overlay0);border-radius:var(--shape-large);height:min(620px,74vh);font-family:var(--font-mono);background:#1a1218f2;flex-direction:column;font-size:13px;line-height:1.5;display:flex;overflow:hidden;box-shadow:0 30px 60px #00000059,0 0 40px #f095c81a}.odd-term-title{border-bottom:1px solid var(--st-overlay0);background:var(--herdr-surface-dim);height:40px;color:var(--herdr-subtext0);user-select:none;align-items:center;gap:8px;padding:0 16px;font-size:12px;display:flex}.odd-term-title i{border-radius:var(--shape-full);background:var(--herdr-surface1);width:10px;height:10px}.odd-term-title span{margin-left:8px}.odd-term-title b{color:var(--herdr-text);font-weight:400}.odd-term-out{flex-direction:column;flex:1;justify-content:flex-end;gap:3px;padding:16px 18px;display:flex;overflow:hidden}.odd-line{white-space:pre-wrap;color:var(--herdr-text);margin:0;display:none}.odd-line.is-on{animation:odd-line-in .32s var(--shape-easing);display:block}@keyframes odd-line-in{0%{opacity:0;transform:translateY(4px)}}.odd-c-cmd{color:var(--fish-command)}.odd-c-kw{color:var(--fish-keyword)}.odd-c-q{color:var(--fish-quote)}.odd-c-par{color:var(--fish-param)}.odd-c-com{color:var(--fish-comment)}.odd-c-ok{color:var(--herdr-green)}.odd-c-err{color:var(--herdr-red)}.odd-c-warn{color:var(--herdr-yellow)}.odd-c-you:before{content:"› ";color:var(--herdr-accent)}.odd-term-prompt{border-top:1px solid var(--st-overlay0);align-items:center;gap:12px;height:52px;padding:0 18px;display:flex}.odd-phase{border-radius:var(--shape-full);letter-spacing:.08em;text-transform:uppercase;color:var(--herdr-accent);border:1px solid;padding:3px 10px;font-size:11px}.odd-phase[data-tone=blue]{color:var(--herdr-blue)}.odd-phase[data-tone=yellow]{color:var(--herdr-yellow)}.odd-phase[data-tone=green]{color:var(--herdr-green)}.odd-cursor{background:var(--herdr-accent);width:8px;height:16px;animation:1.1s step-end infinite odd-blink}@keyframes odd-blink{50%{opacity:0}}.odd-steps{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:16px 0 0;padding:0;list-style:none;display:grid}.odd-step-link{text-overflow:ellipsis;white-space:nowrap;text-align:center;font-family:var(--font-mono);color:var(--herdr-subtext0);font-size:10px;text-decoration:none;display:block;overflow:hidden}.odd-step-link:before{content:"";border-radius:var(--shape-full);background:var(--herdr-surface1);height:4px;margin-bottom:6px;transition:background .14s;display:block}.odd-step-link:hover,.odd-step-link[aria-current=step]{color:var(--herdr-text)}.odd-step-link.is-reached:before{background:var(--herdr-accent)}.odd-story{min-width:0}.odd-step{scroll-margin-top:var(--odd-header-h);border-bottom:1px solid var(--st-overlay0)}.odd-step:last-child{border-bottom:none}.odd-step-tag{top:var(--odd-header-h);z-index:3;background:var(--st-base);border-bottom:1px solid var(--st-overlay0);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--herdr-accent);margin:0;padding:10px 48px 10px 32px;font-size:12px;position:sticky}.odd-step-tag span{color:var(--herdr-subtext0);letter-spacing:.04em;text-transform:none}.odd-story section[id]{scroll-margin-top:calc(var(--odd-header-h) + 40px)}.odd-story .section{max-width:none;padding:40px 48px 40px 32px}.odd-story .section-inner{max-width:none}.odd-story .section-title{max-width:26ch;margin-bottom:14px;font-size:clamp(24px,2.6vw,34px)}.odd-story .section-lead{margin-bottom:24px}.odd-story .section>:last-child,.odd-story .section-inner>:last-child{margin-bottom:0}.odd-story .hero{padding:40px 48px 0 32px}.odd-story .hero-title{max-width:22ch;font-size:clamp(34px,4.4vw,58px)}.odd-story .marquee{margin-top:32px}.odd-story .cta-final{padding:56px 48px 56px 32px}@media (width<=1100px){.odd-layout{display:block}.odd-session{z-index:5;border-bottom:1px solid var(--st-overlay0);background:#1a1218f2;height:auto;padding:8px 32px 10px}.odd-term{display:none}.odd-steps{margin:0}.odd-step-tag{padding:10px 32px;position:static}.odd-step,.odd-story section[id]{scroll-margin-top:calc(var(--odd-header-h) + 40px)}.odd-story .section,.odd-story .hero,.odd-story .cta-final{padding-left:32px;padding-right:32px}.odd-story .section-title{font-size:clamp(24px,4vw,34px)}.odd-story .hero-title{font-size:clamp(34px,5vw,54px)}}@media (width<=720px){.odd-session{padding:8px 16px 10px}.odd-steps{gap:4px}.odd-step-tag{padding:10px 20px}.odd-story .section{padding:32px 20px}.odd-story .hero{padding:24px 20px 0}.odd-story .cta-final{padding:48px 20px}.odd-story .hero-title{font-size:34px}}@media (prefers-reduced-motion:reduce){.odd-cursor,.odd-line.is-on{animation:none}.odd-step-link:before{transition:none}}@media (width>=1341px) and (width<=1520px){body:has(.odd-story) .site-nav{gap:14px}body:has(.odd-story) .nav-link{font-size:13px}body:has(.odd-story) .view-switch-hint{display:none}}@media (width>=1121px) and (width<=1300px){body:has(.odd-story) .site-nav{gap:8px}body:has(.odd-story) .nav-link{font-size:12px}}.play-fab[data-astro-cid-ba5e3yxo]{z-index:60;border:3px solid var(--gentlepi-rose,#ff76c3);color:#fff;text-align:left;cursor:pointer;image-rendering:pixelated;background:#140a12;border-radius:0;align-items:center;gap:10px;padding:10px 14px 10px 12px;font:700 13px/1.15 ui-monospace,SF Mono,Menlo,monospace;transition:transform .12s steps(2,end),box-shadow .12s steps(2,end);display:flex;position:fixed;bottom:20px;right:20px;box-shadow:4px 4px #000,8px 8px #ff76c340}.play-fab[data-astro-cid-ba5e3yxo]:hover,.play-fab[data-astro-cid-ba5e3yxo]:focus-visible{outline:none;transform:translate(-2px,-2px);box-shadow:6px 6px #000,10px 10px #ff76c359}.play-fab[data-astro-cid-ba5e3yxo]:active{transform:translate(2px,2px);box-shadow:2px 2px #000}.play-fab-icon[data-astro-cid-ba5e3yxo]{background:var(--gentlepi-rose,#ff76c3);color:#140a12;place-items:center;width:30px;height:30px;font-size:14px;animation:1.2s steps(2,end) infinite play-blink;display:grid}.play-fab-text[data-astro-cid-ba5e3yxo]{flex-direction:column;display:flex}.play-fab-kicker[data-astro-cid-ba5e3yxo]{color:#ffd166;letter-spacing:.08em;text-transform:uppercase;font-size:11px}.play-fab-title[data-astro-cid-ba5e3yxo]{letter-spacing:.02em}@keyframes play-blink{50%{opacity:.55}}.play-overlay[data-astro-cid-ba5e3yxo]:not([hidden]){z-index:100;background:#060308eb;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.play-panel[data-astro-cid-ba5e3yxo]{border:3px solid var(--gentlepi-rose,#ff76c3);background:#000;flex-direction:column;width:min(96vw,177.778vh - 170.667px);display:flex;box-shadow:8px 8px #000}.play-bar[data-astro-cid-ba5e3yxo]{color:#f6eff3;background:#140a12;align-items:center;gap:12px;padding:6px 8px 6px 12px;font:600 13px/1 ui-monospace,SF Mono,Menlo,monospace;display:flex}.play-bar-hint[data-astro-cid-ba5e3yxo]{color:#d7a0b8;margin-left:auto;font-weight:400}.play-close[data-astro-cid-ba5e3yxo]{color:#f6eff3;cursor:pointer;background:0 0;border:2px solid #f6eff3;border-radius:0;width:30px;height:30px;font:700 14px/1 ui-monospace,monospace}.play-close[data-astro-cid-ba5e3yxo]:hover,.play-close[data-astro-cid-ba5e3yxo]:focus-visible{color:#140a12;background:#f6eff3;outline:none}.play-frame[data-astro-cid-ba5e3yxo]{aspect-ratio:16/9;background:#000;border:0;width:100%;display:block}html.play-open{overflow:hidden}@media (width<=640px){.play-fab[data-astro-cid-ba5e3yxo]{padding:8px 10px;bottom:12px;right:12px}.play-fab-kicker[data-astro-cid-ba5e3yxo],.play-bar-hint[data-astro-cid-ba5e3yxo]{display:none}}@media (prefers-reduced-motion:reduce){.play-fab-icon[data-astro-cid-ba5e3yxo]{animation:none}.play-fab[data-astro-cid-ba5e3yxo]{transition:none}}.wt{border:1px solid var(--herdr-accent);border-radius:var(--shape-large);background:var(--st-base);max-width:800px;overflow:hidden;box-shadow:0 24px 60px #00000073,0 0 40px #f095c81a}.wt-head{border-bottom:1px solid var(--st-overlay0);background:var(--herdr-surface-dim);font-family:var(--font-mono);color:var(--herdr-subtext0);flex-wrap:wrap;align-items:center;gap:12px;padding:12px 18px;font-size:12px;display:flex}.wt-head b{color:var(--herdr-text);font-weight:400}.wt-phase{border:1px solid var(--st-overlay0);border-radius:var(--shape-full);color:var(--herdr-accent);margin-left:auto;padding:2px 10px}.wt-ask{font-family:var(--font-mono);border-bottom:1px solid var(--st-overlay0);overflow-wrap:anywhere;margin:0;padding:14px 18px;font-size:13px}.wt-ask:before{content:"› ";color:var(--herdr-accent)}.wt-stages{border-bottom:1px solid var(--st-overlay0);flex-wrap:wrap;gap:6px;margin:0;padding:12px 18px;list-style:none;display:flex}.wt-stage{font-family:var(--font-mono);border-radius:var(--shape-full);border:1px solid var(--st-overlay0);color:var(--herdr-subtext0);cursor:pointer;background:0 0;padding:4px 10px;font-size:11px;transition:border-color .14s,color .14s}.wt-stage:hover{border-color:var(--herdr-accent)}.wt-stage.is-seen{color:var(--herdr-green)}.wt-stage[aria-current=step]{border-color:var(--herdr-accent);color:var(--herdr-text);background:var(--herdr-surface1)}.wt-body{grid-template-columns:1.15fr 1fr;display:grid}.wt-graph{border-right:1px solid var(--st-overlay0);align-content:start;gap:10px;padding:18px;display:grid}.wt-label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--st-subtext0);margin:4px 0 -2px;font-size:10px}.wt-row{gap:8px;display:grid}.wt-row-2{grid-template-columns:repeat(2,minmax(0,1fr))}.wt-row-4{grid-template-columns:repeat(4,minmax(0,1fr))}.wt-node{overflow-wrap:anywhere;border:1px solid var(--st-overlay0);border-radius:var(--shape-medium);background:var(--herdr-surface-dim);opacity:.45;min-width:0;transition:opacity .32s var(--shape-easing), border-color .32s var(--shape-easing), box-shadow .32s var(--shape-easing);padding:10px 12px}.wt-node b{font-size:13px;line-height:1.3;display:block}.wt-node span,.wt-node em{font-family:var(--font-mono);color:var(--herdr-subtext0);font-size:10px;line-height:1.5;display:block}.wt-node em{min-height:15px;margin-top:4px;font-style:normal}.wt-node-engram{background:var(--herdr-surface0)}.wt-node.is-active{opacity:1;border-color:var(--herdr-accent);box-shadow:0 8px 20px #f095c847}.wt-node.is-active em{color:var(--herdr-accent)}.wt-node.is-done{opacity:1;border-color:var(--herdr-green)}.wt-node.is-done em{color:var(--herdr-green)}.wt-panels{grid-template-rows:auto auto 1fr;min-width:0;display:grid}.wt-panel{border-bottom:1px solid var(--st-overlay0);padding:14px 18px}.wt-panel:last-child{border-bottom:none}.wt-panel-title{font-family:var(--font-mono);letter-spacing:.06em;color:var(--herdr-subtext0);margin:0 0 8px;font-size:11px;font-weight:400}.wt-tasks,.wt-mem{font-family:var(--font-mono);color:var(--herdr-subtext0);overflow-wrap:anywhere;gap:4px;margin:0;padding:0;font-size:12px;list-style:none;display:grid}.wt-tasks .is-doing{color:var(--herdr-accent)}.wt-tasks .is-done{color:var(--herdr-green)}.wt-mem b{color:var(--herdr-mauve);font-weight:400}.wt-mem .is-new{color:var(--herdr-text)}.wt-story{border-top:1px solid var(--st-overlay0);grid-template-columns:1fr auto;align-items:end;gap:20px;padding:18px;display:grid}.wt-counter{margin-bottom:6px}.wt-title{margin:0 0 6px;font-size:19px}.wt-text{max-width:62ch;color:var(--herdr-subtext0);margin:0;font-size:15px}.wt-why{font-family:var(--font-mono);color:var(--herdr-yellow);margin:8px 0 0;font-size:12px}.wt-ctrl{gap:8px;display:flex}.wt-ctrl .btn{font-family:var(--font-sans);cursor:pointer;color:var(--herdr-text);background:0 0;padding:9px 16px;font-size:14px}.wt-ctrl .btn-primary{background:var(--herdr-accent);color:var(--st-base)}.wt-ctrl .btn:disabled{opacity:.4;cursor:default;transform:none}.wt-stage:focus-visible,.wt-ctrl .btn:focus-visible{outline:2px solid var(--herdr-accent);outline-offset:2px}@media (width<=700px){.wt-body{grid-template-columns:1fr}.wt-graph{border-right:none;border-bottom:1px solid var(--st-overlay0)}.wt-row-4{grid-template-columns:repeat(2,minmax(0,1fr))}.wt-story{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.wt-node,.wt-stage,.wt-ctrl .btn{transition:none}.wt-ctrl .btn:hover{transform:none}}
