.site-nav[data-astro-cid-l3rxwkef]{position:fixed;top:0;left:0;right:0;height:var(--nav-height);z-index:var(--z-ui);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 var(--cell-2);background:var(--surface-glass);backdrop-filter:var(--backdrop-blur);-webkit-backdrop-filter:var(--backdrop-blur);border-bottom:1px solid var(--border-accent)}.site-nav__links[data-astro-cid-l3rxwkef]{display:flex;align-items:center;gap:var(--cell-2)}.site-nav__link[data-astro-cid-l3rxwkef]{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);text-decoration:none;transition:color .15s ease}.site-nav__link[data-astro-cid-l3rxwkef]:hover,.site-nav__link[data-astro-cid-l3rxwkef][aria-current=true]{color:var(--text-primary)}.site-nav__logo[data-astro-cid-l3rxwkef]{display:flex;align-items:center;justify-content:center}.site-nav__logo[data-astro-cid-l3rxwkef] a[data-astro-cid-l3rxwkef]{display:inline-flex;text-decoration:none}.site-nav__logo[data-astro-cid-l3rxwkef] img[data-astro-cid-l3rxwkef]{height:28px;width:auto}.site-nav__logo-text[data-astro-cid-l3rxwkef]{font-size:20px;font-weight:800;letter-spacing:.12em;color:var(--text-primary);line-height:1}.site-nav__right[data-astro-cid-l3rxwkef]{display:flex;align-items:center;justify-content:flex-end;gap:var(--cell)}.site-nav__burger[data-astro-cid-l3rxwkef]{display:none;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;padding:4px;width:28px;height:28px;color:var(--text-primary)}.hamburger-icon[data-astro-cid-l3rxwkef]{width:20px;height:20px}.nav-drawer[data-astro-cid-l3rxwkef]{display:none}@media(max-width:900px){.site-nav[data-astro-cid-l3rxwkef]{grid-template-columns:auto 1fr auto;padding:0 var(--cell)}.site-nav__links[data-astro-cid-l3rxwkef]{display:none}.site-nav__logo[data-astro-cid-l3rxwkef]{justify-content:flex-start}.site-nav__burger[data-astro-cid-l3rxwkef]{display:flex}.nav-drawer[data-astro-cid-l3rxwkef]{display:flex;flex-direction:column;position:fixed;top:var(--nav-height);left:0;right:0;z-index:calc(var(--z-ui) - 1);background:var(--surface-glass);backdrop-filter:var(--backdrop-blur);-webkit-backdrop-filter:var(--backdrop-blur);border-bottom:1px solid var(--border-accent);padding:var(--cell) var(--cell);gap:var(--cell);transform:translateY(-100%);opacity:0;pointer-events:none;transition:transform .22s ease,opacity .22s ease}.nav-drawer[data-astro-cid-l3rxwkef].is-open{transform:translateY(0);opacity:1;pointer-events:auto}.nav-drawer__link[data-astro-cid-l3rxwkef]{font-size:18px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--text-primary);text-decoration:none;padding:var(--cell) 0;border-bottom:1px solid rgba(245,240,232,.45)}.nav-drawer__link[data-astro-cid-l3rxwkef]:last-child{border-bottom:none}.nav-drawer__link[data-astro-cid-l3rxwkef]:hover,.nav-drawer__link[data-astro-cid-l3rxwkef][aria-current=true]{color:var(--text-accent)}}@media(max-width:600px){.site-nav[data-astro-cid-l3rxwkef]{height:calc(var(--cell) * 2)}.site-nav__logo[data-astro-cid-l3rxwkef] img[data-astro-cid-l3rxwkef]{height:36px}.site-nav__burger[data-astro-cid-l3rxwkef]{width:calc(var(--cell) * 2);height:calc(var(--cell) * 2);padding:0}.hamburger-icon[data-astro-cid-l3rxwkef]{width:24px;height:24px}.nav-drawer[data-astro-cid-l3rxwkef]{top:calc(var(--cell) * 2)}}@font-face{font-family:Geist Mono;src:url(/fonts/GeistMono-Variable.woff2) format("woff2-variations");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Geist Pixel;src:url(/fonts/GeistPixel-Square.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@property --grid-color{syntax: "<color>"; inherits: true; initial-value: rgba(255,0,128,.5);}:root{--z-bg: 0;--z-noise: 5;--z-squares: 10;--z-content: 50;--z-overlay: 70;--z-words-track: 15;--z-words-sample: 110;--z-ui: 100;--z-modal: 120;--z-debug: 9999;color-scheme:dark;--cell: 16px;--cell-2: 32px;--cell-3: 48px;--cell-4: 64px;--cell-6: 96px;--cell-8: 128px;--pixel-round: calc(var(--cell) * .4);--bg-void: #0a0705;--pixel-bg: #1c130c;--surface-glass: rgba(10,7,5,.72);--surface-glass-dim: rgba(10,7,5,.52);--surface-solid: rgba(10,7,5,.96);--border-subtle: rgba(245,240,232,.1);--border-active: rgba(245,240,232,.28);--border-accent: rgba(255,170,0,.45);--text-primary: #f5f0e8;--text-muted: rgba(245,240,232,.65);--text-accent: #ffaa00;--text-destructive: #ff4500;--font-mono: "Geist Mono", ui-monospace, "SF Mono", Consolas, monospace;--font-display: "Geist Pixel", ui-monospace, monospace;--nav-height: var(--cell);--pad-size: var(--cell-4);--pad-gap: 4px;--backdrop-blur: blur(12px) saturate(140%);--ui-outglow: drop-shadow(0 0 6px rgba(0,0,0,.25)) drop-shadow(0 0 2px rgba(0,0,0,.25));--page-bg: var(--bg-void);--dock-fg: var(--text-primary);--dock-muted: var(--text-muted);--dock-bg: var(--surface-glass);--dock-border: var(--border-accent);--dock-btn-bg: #251a10;--dock-btn-hover: #352718;--dock-primary-bg: #4a3a0e;--dock-primary-hover: #5c4a12;--dock-primary-fg: #f5e6c8;--grain-opacity: .16}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:clip}body{margin:0;background:var(--bg-void);font-family:var(--font-mono);color:var(--text-primary);overflow-y:scroll;overflow-x:clip;min-height:100vh;min-height:100dvh;transition:background-color .55s ease}.grid-line-h{position:absolute;left:0;right:0;height:1px;background:#f5f0e80a;pointer-events:none}.grid-line-v{position:absolute;top:0;bottom:0;width:1px;background:#f5f0e80a;pointer-events:none}.section{min-height:100vh;position:relative;padding:calc(var(--cell-6) + var(--nav-height)) var(--cell-4) var(--cell-6)}.panel{background:var(--surface-glass);border:1px solid var(--border-subtle);backdrop-filter:var(--backdrop-blur);-webkit-backdrop-filter:var(--backdrop-blur);padding:var(--cell-2)}#stage{position:fixed;inset:0;z-index:var(--z-bg);display:flex;align-items:flex-start;justify-content:center;overflow:hidden;background:var(--page-bg);isolation:isolate;transition:background-color .55s ease}.grid-stack{position:relative;z-index:var(--z-squares);flex-shrink:0;width:calc(var(--cell) * 40);height:calc(var(--cell) * 30);contain:strict;pointer-events:none}.grid-layer{position:absolute;inset:0;display:grid;grid-template-columns:repeat(40,var(--cell));grid-template-rows:repeat(30,var(--cell));width:100%;height:100%;background:transparent}#grid-back{z-index:var(--z-squares)}#grid-front{z-index:calc(var(--z-squares) + 1)}#grid-back[hidden],#grid-front[hidden]{display:none!important}.pixel{background:transparent;width:var(--cell);height:var(--cell)}#stage[data-view=emoji] #grid-front{display:none}#stage[data-view=emoji] .pixel{display:flex;align-items:center;justify-content:center;font-size:calc(var(--cell) * .88);line-height:1;overflow:hidden;user-select:none}.word-flash-root{position:fixed;inset:0;z-index:var(--z-words-track);pointer-events:none;overflow:hidden}.word-flash-root--sample{z-index:var(--z-words-sample)}.word-flash-line{position:absolute;display:flex;flex-direction:row;align-items:flex-start;gap:0;opacity:0;transition:opacity .14s ease-out}.word-flash-line--in{opacity:1}.word-flash-line--out{opacity:0;transition:opacity .36s ease-in}.word-flash-char,.word-flash-gap{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;box-sizing:border-box;font-weight:900;line-height:1;color:#fffcf8fa;background-color:var(--page-bg);text-shadow:none}.word-flash-char[data-letter-cells="1"],.word-flash-gap[data-letter-cells="1"]{font-family:var(--font-mono);width:var(--cell);height:var(--cell);font-size:calc(var(--cell) * .86)}.word-flash-char[data-letter-cells="4"],.word-flash-gap[data-letter-cells="4"]{font-family:var(--font-mono);width:calc(var(--cell) * 2);height:calc(var(--cell) * 2);font-size:calc(var(--cell) * 1.58)}.word-flash-char[data-letter-cells="4p"],.word-flash-gap[data-letter-cells="4p"]{font-family:var(--font-display);width:calc(var(--cell) * 2);height:calc(var(--cell) * 2);font-size:calc(var(--cell) * 1.58)}.word-flash-char[data-letter-cells="9"],.word-flash-gap[data-letter-cells="9"]{font-family:var(--font-display);width:calc(var(--cell) * 3);height:calc(var(--cell) * 3);font-size:calc(var(--cell) * 2.5)}.word-flash-char[data-letter-cells="16"],.word-flash-gap[data-letter-cells="16"]{font-family:var(--font-display);width:calc(var(--cell) * 4);height:calc(var(--cell) * 4);font-size:calc(var(--cell) * 3.4)}.grain{position:absolute;inset:0;z-index:var(--z-noise);width:100%;height:100%;pointer-events:none;opacity:var(--grain-opacity);mix-blend-mode:multiply;filter:contrast(160%) brightness(118%)}.dock{position:fixed;bottom:var(--cell);left:50%;transform:translate(-50%);z-index:var(--z-ui);display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0;width:calc(var(--cell) * 6);height:calc(var(--cell) * 2);box-sizing:border-box;border-radius:0;background:transparent;border:none}.dock__title{height:var(--cell);line-height:var(--cell);font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--dock-muted);padding:0 6px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0;background:#120a05d1;backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%)}.dock__btns{display:flex;align-items:stretch;gap:0;width:100%;flex:1}.dock__btn{display:flex;align-items:center;justify-content:center;flex:1;height:100%;padding:0;border:none;border-radius:0;background:var(--dock-btn-bg);color:var(--dock-fg);cursor:pointer;transition:background .15s ease,transform .12s ease}.dock__btn:hover{background:var(--dock-btn-hover)}.dock__btn:active{background:var(--dock-btn-bg)}.dock__btn--primary{background:var(--dock-primary-bg);color:var(--dock-primary-fg)}.dock__btn--primary:hover{background:var(--dock-primary-hover)}.dock__icon{width:20px;height:20px;stroke-width:2}[data-page=blog] .dock__title,[data-page=blog] #btnPlay,[data-page=blog] #btnPrev,[data-page=blog] #btnNext,[data-page=blog] #btnMute{display:none}[data-page=blog] .dock{width:calc(var(--cell) * 2);height:var(--cell)}[data-page=blog] .dock__btns{height:var(--cell)}.design-fab{position:fixed;top:.55rem;right:.55rem;z-index:var(--z-modal);width:2.25rem;height:2.25rem;padding:0;border:1px solid var(--dock-border, rgba(255,255,255,.15));border-radius:50%;background:var(--dock-bg, rgba(20,20,24,.75));color:var(--dock-fg, #e8e8ec);font-size:1rem;line-height:1;cursor:pointer;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.design-fab:hover{background:var(--dock-btn-hover, rgba(255,255,255,.12))}.design-panel{position:fixed;top:.5rem;right:.5rem;z-index:var(--z-modal);width:min(22rem,calc(100vw - 1rem));max-height:min(88vh,36rem);display:flex;flex-direction:column;border-radius:.65rem;border:1px solid var(--dock-border, rgba(255,255,255,.14));background:#0c0a0ef0;color:#e4e0ea;box-shadow:0 12px 40px #00000073;font-size:.72rem;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.design-panel[hidden]{display:none!important}.design-panel__head{display:flex;align-items:center;justify-content:space-between;padding:.45rem .55rem .35rem;border-bottom:1px solid rgba(255,255,255,.08)}.design-panel__head strong{font-size:.75rem;letter-spacing:.04em;text-transform:uppercase}.design-panel__x{border:none;background:transparent;color:#b8b0c4;font-size:1.25rem;line-height:1;cursor:pointer;padding:.1rem .35rem;border-radius:.25rem}.design-panel__x:hover{color:#fff;background:#ffffff0f}.design-panel__body{overflow:auto;padding:.5rem .65rem .65rem;display:flex;flex-direction:column;gap:.35rem}.design-panel__hint{margin:0 0 .25rem;line-height:1.45;color:#9a92a8}.design-panel__hint code{font-size:.68rem;padding:.05rem .2rem;border-radius:.2rem;background:#ffffff0f}.design-section{margin:.35rem 0 .1rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;font-size:.65rem;color:#c4bdd6}.design-row{display:grid;grid-template-columns:1fr minmax(0,5.5rem) 2.25rem;align-items:center;gap:.35rem}.design-row--stack{grid-template-columns:1fr;gap:.2rem}.design-row__label{color:#b4adc2;line-height:1.25}.design-row__val{text-align:right;font-variant-numeric:tabular-nums;color:#8cf5d6;font-size:.68rem}.design-row input[type=range]{width:100%;accent-color:#6ee7c5}.design-textarea{width:100%;box-sizing:border-box;font-family:ui-monospace,monospace;font-size:.68rem;padding:.35rem .4rem;border-radius:.35rem;border:1px solid rgba(255,255,255,.1);background:#00000059;color:#e8e4f0;resize:vertical;min-height:2.2rem}.design-actions{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.35rem}.design-btn{border:none;border-radius:.35rem;padding:.35rem .55rem;font-size:.68rem;font-weight:600;cursor:pointer;background:#6ee7c538;color:#e8fff8}.design-btn:hover{background:#6ee7c552}.design-btn--ghost{background:#ffffff14;color:#d8d2e6;font-weight:500}.design-btn--ghost:hover{background:#ffffff1f}.design-paste{width:100%;box-sizing:border-box;margin-top:.35rem;font-family:ui-monospace,monospace;font-size:.62rem;padding:.4rem;border-radius:.35rem;border:1px dashed rgba(255,255,255,.15);background:#00000040;color:#ddd8ea}.design-rhythm-row{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.5rem}.design-rhythm-top{display:flex;align-items:center;justify-content:space-between;gap:.35rem}.design-seq-auto-label{display:flex;align-items:center;gap:.3rem;font-size:.65rem;color:#a8a0b8;cursor:pointer;user-select:none}.design-seq-auto-label input{accent-color:#6ee7c5}.design-seq{display:grid;grid-template-columns:repeat(16,minmax(0,1fr));gap:3px}.design-seq-step{min-width:0;aspect-ratio:1;max-height:1.65rem;padding:0;border:1px solid rgba(255,255,255,.12);border-radius:.2rem;background:#00000059;color:#6b6578;font-size:.55rem;font-variant-numeric:tabular-nums;cursor:pointer;line-height:1}.design-seq-step:hover:not(:disabled){border-color:#6ee7c559;color:#c4bdd6}.design-seq-step:disabled{opacity:.35;cursor:not-allowed}.design-seq-step--on{background:#6ee7c559;border-color:#6ee7c58c;color:#ecfdf5;font-weight:700}.pad-grid{display:grid;grid-template-columns:repeat(4,var(--pad-size));grid-template-rows:repeat(4,var(--pad-size));gap:var(--pad-gap)}.pad{position:relative;width:var(--pad-size);height:var(--pad-size);background:var(--surface-glass);border:1px solid var(--border-subtle);cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;padding:6px 8px;transition:background .1s ease,border-color .1s ease;user-select:none}.pad:hover{background:var(--surface-glass-dim);border-color:var(--border-active)}.pad:active,.pad--active{background:#ffaa0026;border-color:var(--border-accent)}.pad__num{font-size:12px;font-weight:800;color:var(--text-muted);line-height:1}.pad__name{font-size:12px;font-weight:800;color:var(--text-primary);line-height:1;text-transform:uppercase;letter-spacing:.04em}.fx-strip{display:flex;gap:var(--cell-2);align-items:center;margin-top:var(--cell-2);padding:var(--cell) var(--cell-2);background:var(--surface-glass);border:1px solid var(--border-subtle)}.fx-control{display:flex;flex-direction:column;gap:6px;flex:1}.fx-control__label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.fx-control input[type=range]{width:100%;accent-color:var(--text-accent);cursor:pointer}main{position:relative;z-index:var(--z-content)}@media(max-width:600px){.section{padding:calc(var(--cell-4) + var(--nav-height)) var(--cell) var(--cell-4)}.panel{padding:var(--cell)}#sampler{overflow-x:auto;-webkit-overflow-scrolling:touch}.dock{bottom:0;width:100%;left:0;transform:none;height:calc(var(--cell) * 3)}.dock__btns{height:calc(var(--cell) * 2)}[data-page=blog] .dock{width:100%;height:calc(var(--cell) * 2)}[data-page=blog] .dock__btns{height:calc(var(--cell) * 2)}.word-flash-char[data-letter-cells="9"],.word-flash-gap[data-letter-cells="9"],.word-flash-char[data-letter-cells="16"],.word-flash-gap[data-letter-cells="16"]{width:calc(var(--cell) * 2);height:calc(var(--cell) * 2);font-size:calc(var(--cell) * 1.58)}}.section-label{display:block;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--text-accent);margin-bottom:0;filter:var(--ui-outglow)}.section-label-no-gap{margin-bottom:var(--cell-2)}#grid-overlay{position:fixed;inset:0;z-index:1;pointer-events:none;display:none;transition:--grid-color 2.8s ease;background-image:linear-gradient(var(--grid-color, rgba(255, 0, 128, .5)) 1px,transparent 1px),linear-gradient(90deg,var(--grid-color, rgba(255, 0, 128, .5)) 1px,transparent 1px);background-size:var(--cell, 32px) var(--cell, 32px);background-position:var(--grid-x, 0px) var(--grid-y, 0px)}body.show-grid #grid-overlay{display:block}#diag-overlay{position:fixed;inset:0;z-index:1;pointer-events:none;display:none;transition:--grid-color 2.8s ease;background-image:linear-gradient(45deg,var(--grid-color, rgba(255, 0, 128, .5)) 1px,transparent 1px),linear-gradient(-45deg,var(--grid-color, rgba(255, 0, 128, .5)) 1px,transparent 1px);background-size:var(--cell, 32px) var(--cell, 32px);background-position:var(--grid-x, 0px) var(--grid-y, 0px)}body.show-diag #diag-overlay{display:block}@media(min-aspect-ratio:2.2/1){.dock{left:auto;right:var(--cell);transform:none}}body:not([data-playing=true]) canvas{opacity:.45;transition:opacity .6s ease}body[data-playing=true] canvas{opacity:1;transition:opacity .4s ease}body[data-page=project] #stage{opacity:.2;transition:opacity .4s ease}.proj-well{position:relative;z-index:var(--z-content);background:linear-gradient(to bottom,transparent 0,var(--bg-void) var(--cell-4));min-height:100vh}.proj-hero{padding:calc(var(--cell-4) + var(--nav-height)) var(--cell-4) var(--cell-3);max-width:900px;margin:0 auto}.proj-hero-image{max-width:900px;margin:0 auto;padding:0 var(--cell-4) var(--cell-3)}.proj-body{max-width:900px;margin:0 auto;padding:0 var(--cell-4) var(--cell-8);display:flex;flex-direction:column;gap:var(--cell-4)}.proj-back{font-size:11px;color:var(--text-muted);text-decoration:none;letter-spacing:.06em;display:inline-block;margin-bottom:var(--cell-2);transition:color .1s ease}.proj-back:hover{color:var(--text-accent)}.proj-title-row{display:flex;align-items:center;gap:var(--cell);flex-wrap:wrap;margin-bottom:var(--cell)}.proj-heading{font-family:var(--font-display);font-size:clamp(24px,5vw,40px);color:var(--text-primary);margin:0;letter-spacing:.04em;line-height:1.1}.proj-subtitle{font-size:14px;color:var(--text-muted);margin:0;line-height:1.75;letter-spacing:.03em;max-width:560px}.proj-badge{font-size:8px;font-weight:800;letter-spacing:.1em;padding:3px 8px;border:1px solid currentColor;white-space:nowrap;flex-shrink:0}.proj-badge--done{color:var(--text-accent)}.proj-badge--active{color:#50c878e6}.proj-badge--muted{color:var(--text-muted)}.img-ph{width:100%;border:1px dashed rgba(245,240,232,.15);display:flex;align-items:center;justify-content:center;background-image:repeating-linear-gradient(45deg,rgba(245,240,232,.025) 0px,rgba(245,240,232,.025) 1px,transparent 1px,transparent 10px);color:var(--text-muted);font-size:11px;letter-spacing:.08em}.proj-block{display:flex;flex-direction:column;gap:var(--cell)}.proj-block-label{font-size:9px;font-weight:800;letter-spacing:.14em;color:var(--text-muted);padding-bottom:var(--cell);border-bottom:1px solid var(--border-subtle)}.proj-block p{font-size:13px;color:var(--text-muted);line-height:1.8;letter-spacing:.03em;margin:0}.proj-block ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}.proj-block li{font-size:13px;color:var(--text-muted);line-height:1.65;letter-spacing:.03em;padding-left:var(--cell);position:relative}.proj-block li:before{content:"—";position:absolute;left:0;color:var(--border-active)}.proj-subnav-layout{display:grid;grid-template-columns:140px 1fr;gap:var(--cell-4);align-items:start}@media(max-width:600px){.proj-subnav-layout{grid-template-columns:1fr}.proj-hero,.proj-hero-image,.proj-body{padding-left:var(--cell-2);padding-right:var(--cell-2)}}.proj-subnav{position:sticky;top:calc(var(--cell-2) + var(--nav-height));display:flex;flex-direction:column;gap:2px;align-self:start}.proj-subnav-item{font-size:11px;font-weight:600;letter-spacing:.05em;color:var(--text-muted);text-decoration:none;padding:8px 0 8px var(--cell);border-left:2px solid transparent;transition:color .1s ease,border-color .1s ease}.proj-subnav-item:hover,.proj-subnav-item.active{color:var(--text-accent);border-left-color:var(--text-accent)}.proj-sections{display:flex;flex-direction:column;gap:var(--cell-4)}.proj-section{display:flex;flex-direction:column;gap:var(--cell-2);scroll-margin-top:calc(var(--cell-4) + var(--nav-height))}.proj-section-title{font-size:9px;font-weight:800;letter-spacing:.14em;color:var(--text-muted);padding-bottom:var(--cell);border-bottom:1px solid var(--border-subtle)}.proj-timeline{display:flex;flex-direction:column;border-left:1px solid var(--border-subtle);padding-left:var(--cell-2);margin-left:6px}.proj-timeline-item{display:flex;align-items:flex-start;gap:var(--cell);padding:12px 0;position:relative}.proj-timeline-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:3px;position:absolute;left:calc(-1 * var(--cell-2) - 4px)}.proj-timeline-item--done .proj-timeline-dot{background:var(--text-accent)}.proj-timeline-item--current .proj-timeline-dot{background:#50c878e6;box-shadow:0 0 8px #50c87859}.proj-timeline-item--pending .proj-timeline-dot{background:var(--border-active)}.proj-timeline-label{font-size:13px;font-weight:600;letter-spacing:.03em;line-height:1.5}.proj-timeline-item--done .proj-timeline-label{color:var(--text-primary)}.proj-timeline-item--current .proj-timeline-label{color:#50c878e6}.proj-timeline-item--pending .proj-timeline-label{color:#f5f0e859}.proj-timeline-note{font-size:11px;color:var(--text-muted);letter-spacing:.03em;margin-top:2px}.proj-link{color:var(--text-accent);text-decoration:none;transition:opacity .1s ease}.proj-link:hover{opacity:.7}
