@import url("https://fonts.googleapis.com/css2?family=Geist:wght@300..700&family=Geist+Mono:wght@400..600&family=Instrument+Serif:ital@0;1&display=swap");.sg-page{background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;padding:var(--space-5);min-height:100%}.sg-page *,.sg-page :after,.sg-page :before{box-sizing:border-box}.sg-row{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}.sg-grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-5);align-items:start}[class^=sg-] a:focus-visible,a[class^=sg-]:focus-visible,button[class^=sg-]:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:var(--radius-xs)}@keyframes sg-blink{50%{opacity:0}}@keyframes sg-breathe{0%,to{opacity:1}50%{opacity:.35}}@keyframes sg-flow{to{stroke-dashoffset:-20}}@keyframes sg-halo{0%{transform:scale(.7);opacity:.7}to{transform:scale(1.7);opacity:0}}@keyframes sg-packet{0%{offset-distance:0}to{offset-distance:100%}}@keyframes sg-step-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.sg-btn{--_h:44px;display:inline-flex;align-items:center;justify-content:center;gap:10px;height:var(--_h);padding:0 22px;border-radius:var(--radius-xs);border:1px solid transparent;font-family:var(--font-sans);font-size:15px;font-weight:500;letter-spacing:-.01em;line-height:1;text-decoration:none;cursor:pointer;white-space:nowrap;transition:background-color .2s cubic-bezier(.2,.8,.2,1),border-color .2s,color .2s,box-shadow .25s,transform .2s cubic-bezier(.2,.8,.2,1)}.sg-btn--sm{--_h:36px;padding:0 16px;font-size:14px}.sg-btn--lg{--_h:56px;padding:0 28px;font-size:16px}.sg-btn__arrow{display:inline-block;transition:transform .25s cubic-bezier(.2,.8,.2,1)}.sg-btn:hover .sg-btn__arrow{transform:translateX(4px)}.sg-btn:active{transform:translateY(1px)}.sg-btn--primary{background:var(--signal);color:var(--on-signal)}.sg-btn--primary:hover{background:var(--signal-strong);box-shadow:var(--shadow-glow)}.sg-btn--secondary{background:transparent;color:var(--ink);border-color:var(--line-strong)}.sg-btn--secondary:hover{border-color:var(--ink);background:var(--surface)}.sg-btn--ghost{background:transparent;color:var(--ink);padding-left:4px;padding-right:4px;border-radius:var(--radius-xs);text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:6px;text-decoration-thickness:1px}.sg-btn--ghost:hover{text-decoration-color:var(--signal)}.sg-btn[disabled]{opacity:.45;cursor:not-allowed;box-shadow:none}.sg-tag{display:inline-flex;align-items:center;gap:8px;height:26px;padding:0 10px;border-radius:var(--radius-xs);border:1px solid var(--line);background:var(--surface);color:var(--ink-muted);font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.02em;line-height:1;white-space:nowrap;vertical-align:middle}.sg-tag--signal{background:var(--signal-soft)}.sg-tag--current,.sg-tag--signal{border-color:transparent;color:var(--ink)}.sg-tag--current{background:var(--current-soft)}.sg-tag__dot{width:6px;height:6px;border-radius:0;transform:rotate(45deg);background:var(--ink-muted);flex:none}.sg-tag--signal .sg-tag__dot{background:var(--signal-ink)}.sg-tag--current .sg-tag__dot{background:var(--current-ink)}.sg-tag--live .sg-tag__dot{animation:sg-breathe 1.8s ease-in-out infinite}.sg-nav{gap:var(--space-6);height:var(--nav-height);padding:0 var(--space-4) 0 var(--space-5);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface)}.sg-nav,.sg-nav__brand{display:flex;align-items:center}.sg-nav__brand{gap:12px;color:var(--ink);text-decoration:none;font-weight:600;font-size:15px;letter-spacing:-.01em}.sg-nav__mark{display:grid;place-items:center;width:32px;height:32px;border-radius:var(--radius-sm);background:var(--ink);color:var(--bg);font-family:var(--font-mono);font-size:12px;font-weight:600;letter-spacing:.04em}.sg-nav__links{display:flex;gap:var(--space-5);margin-left:auto}.sg-nav__link{display:inline-flex;align-items:baseline;gap:6px;color:var(--ink-muted);text-decoration:none;font-size:14px;padding:6px 0;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}.sg-nav__link:hover{color:var(--ink)}.sg-nav__link.is-active{color:var(--ink);border-bottom-color:var(--signal)}.sg-nav__num{font-family:var(--font-mono);font-size:11px;color:var(--ink-faint)}.sg-nav__end{display:flex;align-items:center;gap:var(--space-3)}@media (max-width:820px){.sg-nav__links{display:none}.sg-nav__end{margin-left:auto}}.sg-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:var(--space-7);align-items:center;padding:var(--space-8) var(--space-7);border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--sheen),transparent 38%),var(--surface-sunk);box-shadow:inset 0 1px 0 var(--sheen);overflow:hidden;isolation:isolate}.sg-hero__grid{position:absolute;inset:0;z-index:-1;background-image:radial-gradient(var(--line) 1.2px,transparent 1.4px);background-size:24px 24px;-webkit-mask-image:linear-gradient(100deg,transparent 15%,#000 60%);mask-image:linear-gradient(100deg,transparent 15%,#000 60%)}.sg-hero__eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 var(--space-5);font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted)}.sg-hero__eyebrow:before{content:"";width:28px;height:1px;background:var(--signal)}.sg-hero__name{margin:0;font-family:var(--font-display);font-weight:400;font-size:clamp(64px,10vw,124px);line-height:.92;letter-spacing:-.025em;color:var(--ink)}.sg-hero__name em{display:block;font-style:italic;color:var(--signal-ink);text-shadow:var(--glow-text)}.sg-hero__statement{max-width:36ch;margin:var(--space-5) 0 0;font-size:20px;line-height:1.5;color:var(--ink-muted)}.sg-hero__statement b{color:var(--ink);font-weight:500}.sg-hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-6)}.sg-graph{width:100%;max-width:400px;justify-self:end;aspect-ratio:1/1}.sg-graph svg{display:block;width:100%;height:100%;overflow:visible}.sg-graph .orbit{fill:none;stroke:var(--line);stroke-dasharray:2 6}.sg-graph .edge{fill:none;stroke:var(--line-strong);stroke-width:1;stroke-dasharray:4 6;animation:sg-flow 1.4s linear infinite}.sg-graph .edge.hot{stroke:var(--current);stroke-width:1.5}.sg-graph .sat{fill:var(--surface-raised);stroke:var(--line-strong);stroke-width:1.5}.sg-graph .sat.hot{fill:var(--current);stroke:var(--current)}.sg-graph .core{fill:var(--signal)}.sg-graph .halo{fill:none;stroke:var(--signal);stroke-width:1.5;transform-box:fill-box;transform-origin:center;animation:sg-halo 2.8s cubic-bezier(.2,.8,.2,1) infinite}.sg-graph .core-label{fill:var(--on-signal);font-size:12px;font-weight:600}.sg-graph .core-label,.sg-graph .label{font-family:var(--font-mono);letter-spacing:.1em}.sg-graph .label{fill:var(--ink-muted);font-size:11px;font-weight:500}.sg-graph .packet{fill:var(--current);animation:sg-packet 2.2s cubic-bezier(.6,0,.4,1) infinite}@media (max-width:760px){.sg-hero{grid-template-columns:1fr;padding:var(--space-7) var(--space-5)}.sg-graph{justify-self:start;max-width:260px}}.sg-sh{display:grid;grid-template-columns:180px minmax(0,1fr) auto;gap:var(--space-5);align-items:start;padding-top:var(--space-5);border-top:1px solid var(--line)}.sg-sh__index{display:flex;gap:10px;margin:8px 0 0;font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted)}.sg-sh__num{color:var(--signal-ink)}.sg-sh__title{margin:0;font-family:var(--font-display);font-weight:400;font-size:56px;line-height:1;letter-spacing:-.015em;color:var(--ink)}.sg-sh__title em{font-style:italic;color:var(--signal-ink);text-shadow:var(--glow-text)}.sg-sh__lede{max-width:56ch;margin:var(--space-4) 0 0;font-size:18px;line-height:1.6;color:var(--ink-muted)}.sg-sh__aside{padding-top:6px}@media (max-width:700px){.sg-sh{grid-template-columns:1fr}.sg-sh__title{font-size:40px}}.sg-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-5)}.sg-metric{padding-top:var(--space-4);border-top:1px solid var(--line-strong)}.sg-metric__value{margin:0;font-family:var(--font-display);font-weight:400;font-size:72px;line-height:1;letter-spacing:-.02em;color:var(--ink);font-variant-numeric:lining-nums}.sg-metric__unit{margin-left:2px;font-size:.45em;font-style:italic;color:var(--signal-ink)}.sg-metric__label{margin:var(--space-3) 0 0;font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted)}.sg-metric__note{margin:6px 0 0;font-size:14px;line-height:1.5;color:var(--ink-faint)}.sg-card{position:relative;display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);box-shadow:inset 0 1px 0 var(--sheen);transition:border-color .25s,transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}.sg-card:before{content:"";position:absolute;left:var(--space-5);right:var(--space-5);top:-1px;height:2px;background:var(--signal);transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.2,.8,.2,1)}.sg-card:hover{border-color:var(--line-strong);transform:translateY(-3px);box-shadow:var(--shadow-card)}.sg-card:focus-within:before,.sg-card:hover:before{transform:scaleX(1)}.sg-card--featured{background:var(--surface-raised)}.sg-card__link{position:absolute;inset:0;z-index:1;border-radius:inherit}.sg-card__link:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.sg-card__top{display:flex;align-items:center;gap:var(--space-3)}.sg-card__index{font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.06em;color:var(--signal-ink)}.sg-card__go{margin-left:auto;font-size:18px;line-height:1;color:var(--ink-muted);transition:transform .3s cubic-bezier(.2,.8,.2,1),color .3s}.sg-card:hover .sg-card__go{transform:translate(3px,-3px);color:var(--signal-ink)}.sg-card__visual{display:grid;place-items:center;aspect-ratio:16/8;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-sunk);background-image:radial-gradient(var(--line) 1px,transparent 1.2px);background-size:16px 16px}.sg-card__title{margin:0;font-family:var(--font-display);font-weight:400;font-size:34px;line-height:1.05;letter-spacing:-.01em;color:var(--ink)}.sg-card--featured .sg-card__title{font-size:44px}.sg-card__summary{margin:0;font-size:16px;line-height:1.6;color:var(--ink-muted)}.sg-card__outcome{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:baseline;padding-top:var(--space-4);border-top:1px dashed var(--line);font-size:15px;line-height:1.5;color:var(--ink)}.sg-card__k{font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--current-ink)}.sg-card__tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}.sg-trace{margin:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-sunk);font-family:var(--font-mono)}.sg-trace__head{display:flex;align-items:center;gap:var(--space-3);padding:12px var(--space-4);border-bottom:1px solid var(--line);font-size:12px;color:var(--ink-muted)}.sg-trace__title{font-weight:500;color:var(--ink)}.sg-trace__meta{margin-right:auto;color:var(--ink-faint)}.sg-trace__steps{list-style:none;margin:0;padding:var(--space-2) var(--space-4) var(--space-4)}.sg-step{position:relative;display:grid;grid-template-columns:16px 60px minmax(0,1fr) auto;gap:12px;align-items:start;padding:10px 0;font-size:13px;line-height:1.5}.sg-step:before{content:"";position:absolute;left:7.5px;top:0;bottom:0;width:1px;background:var(--line)}.sg-step:first-child:before{top:18px}.sg-step:last-child:before{bottom:auto;height:18px}.sg-step__node{position:relative;z-index:1;width:10px;height:10px;margin:6px 0 0 3px;border:1.5px solid var(--ink-muted);border-radius:0;transform:rotate(45deg);background:var(--surface-sunk)}.sg-step--model .sg-step__node{border-color:var(--signal);background:var(--signal)}.sg-step--tool .sg-step__node{border-color:var(--current)}.sg-step--mcp .sg-step__node{border-color:var(--current);background:var(--current)}.sg-step--result .sg-step__node{border-color:var(--signal);background:var(--signal);box-shadow:0 0 0 4px var(--signal-soft)}.sg-step--human .sg-step__node{border-color:var(--ink);border-width:2px}.sg-step--error .sg-step__node{border-color:var(--danger);background:var(--danger)}.sg-step__kind{padding-top:2px;font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}.sg-step--model .sg-step__kind,.sg-step--result .sg-step__kind{color:var(--signal-ink)}.sg-step--mcp .sg-step__kind,.sg-step--tool .sg-step__kind{color:var(--current-ink)}.sg-step--error .sg-step__kind{color:var(--danger)}.sg-step__label{display:block;font-family:var(--font-sans);font-size:14px;font-weight:500;color:var(--ink)}.sg-step__detail{display:block;margin-top:2px;font-family:var(--font-mono);font-size:12px;line-height:1.55;color:var(--ink-muted);white-space:pre-wrap;word-break:break-word}.sg-step__ms{padding-top:2px;font-size:12px;color:var(--ink-faint);font-variant-numeric:tabular-nums}.sg-trace.is-live .sg-step{animation:sg-step-in .5s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i) * .42s)}.sg-trace.is-live .sg-step:last-child .sg-step__label:after{content:"";display:inline-block;width:7px;height:14px;margin-left:6px;vertical-align:-2px;background:var(--signal);animation:sg-blink 1s steps(1) infinite}.sg-term{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-sunk);font-family:var(--font-mono)}.sg-term__bar{display:flex;justify-content:space-between;gap:var(--space-3);padding:10px var(--space-4);border-bottom:1px solid var(--line);font-size:12px;color:var(--ink-muted)}.sg-term__shell{color:var(--ink-faint)}.sg-term__body{margin:0;padding:var(--space-4);overflow-x:auto;font-family:var(--font-mono);font-size:13px;line-height:1.75;color:var(--ink-muted)}.sg-term__line{white-space:pre}.sg-term__line.is-cmd{color:var(--ink)}.sg-term__line.is-ok{color:var(--current-ink)}.sg-term__line.is-warn{color:var(--signal-ink)}.sg-term__line.is-error{color:var(--danger)}.sg-term__prompt{color:var(--signal-ink)}.sg-term__cursor{display:inline-block;width:8px;height:15px;vertical-align:-3px;background:var(--ink);animation:sg-blink 1.1s steps(1) infinite}.sg-tl{list-style:none;margin:0;padding:0}.sg-tl__item{position:relative;display:grid;grid-template-columns:150px 24px minmax(0,1fr);gap:var(--space-4);padding-bottom:var(--space-6)}.sg-tl__item:before{content:"";position:absolute;left:calc(150px + var(--space-4) + 11.5px);top:14px;bottom:0;width:1px;background:var(--line)}.sg-tl__item:last-child{padding-bottom:0}.sg-tl__item:last-child:before{display:none}.sg-tl__period{padding-top:5px;text-align:right;font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.06em;color:var(--ink-muted)}.sg-tl__node{width:11px;height:11px;margin:8px 0 0 6px;border:1.5px solid var(--line-strong);border-radius:0;transform:rotate(45deg);background:var(--bg)}.sg-tl__item.is-current .sg-tl__node{border-color:var(--signal);background:var(--signal);box-shadow:0 0 0 5px var(--signal-soft)}.sg-tl__role{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0;font-size:20px;font-weight:600;line-height:1.3;letter-spacing:-.015em;color:var(--ink)}.sg-tl__org{margin:4px 0 0;font-size:15px;color:var(--ink-muted)}.sg-tl__summary{max-width:60ch;margin:var(--space-3) 0 0;font-size:16px;line-height:1.6;color:var(--ink-muted)}@media (max-width:640px){.sg-tl__item{grid-template-columns:1fr;gap:4px}.sg-tl__item:before,.sg-tl__node{display:none}.sg-tl__period{text-align:left}}.sg-contact{--focus:var(--on-signal);box-shadow:var(--shadow-glow);position:relative;overflow:hidden;isolation:isolate;padding:var(--space-8) var(--space-7);border-radius:var(--radius-lg);background:var(--signal);color:var(--on-signal)}.sg-contact:after{content:"";position:absolute;inset:0;z-index:-1;opacity:.22;background-image:radial-gradient(var(--on-signal) 1.2px,transparent 1.4px);background-size:20px 20px;-webkit-mask-image:linear-gradient(110deg,transparent 45%,#000 85%);mask-image:linear-gradient(110deg,transparent 45%,#000 85%)}.sg-contact__eyebrow{margin:0 0 var(--space-5);font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase}.sg-contact__title{max-width:13ch;margin:0;font-family:var(--font-display);font-weight:400;font-size:clamp(48px,7.5vw,96px);line-height:.95;letter-spacing:-.025em}.sg-contact__title em{font-style:italic}.sg-contact__lede{max-width:46ch;margin:var(--space-5) 0 0;font-size:18px;line-height:1.55}.sg-contact__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-5);margin-top:var(--space-7);padding-top:var(--space-5);border-top:1px solid var(--on-signal)}.sg-contact__email{font-family:var(--font-display);font-size:36px;line-height:1.1;color:var(--on-signal);text-decoration:none;border-bottom:1px solid var(--on-signal)}.sg-contact__email:hover{font-style:italic}.sg-contact__links{display:flex;flex-wrap:wrap;gap:var(--space-5);list-style:none;margin:0;padding:0;font-family:var(--font-mono);font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.sg-contact__links a{color:var(--on-signal);text-underline-offset:4px}.sg-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;clip:rect(0 0 0 0);white-space:nowrap;border:0}.sg-cap,.sg-sr{overflow:hidden}.sg-cap{display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));gap:1px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--line)}.sg-cap__cell{position:relative;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);background:var(--surface);box-shadow:inset 0 1px 0 var(--sheen);transition:background-color .25s}.sg-cap__cell:before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--signal);transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.2,.8,.2,1)}.sg-cap__cell:hover{background:var(--surface-raised)}.sg-cap__cell:hover:before{transform:scaleX(1)}.sg-cap__head{display:flex;align-items:center;gap:12px}.sg-cap__mark{flex:none;width:9px;height:9px;transform:rotate(45deg);border:1.5px solid var(--signal-ink)}.sg-cap__title{margin:0;font-size:19px;font-weight:600;line-height:1.3;letter-spacing:-.015em;color:var(--ink)}.sg-cap__code{margin-left:auto;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;color:var(--ink-faint)}.sg-cap__summary{margin:0;font-size:15px;line-height:1.6;color:var(--ink-muted)}.sg-cap__list{display:flex;flex-wrap:wrap;gap:6px 16px;list-style:none;margin:auto 0 0;padding:var(--space-3) 0 0;border-top:1px dashed var(--line);font-family:var(--font-mono);font-size:12px;color:var(--ink-muted)}.sg-cap__list li:before{content:"";display:inline-block;width:5px;height:5px;margin-right:8px;vertical-align:2px;transform:rotate(45deg);background:var(--current)}@media (max-width:900px){.sg-cap{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.sg-cap{grid-template-columns:1fr}}.sg-arch{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-3);margin:0;padding:var(--space-5);border:1px solid var(--line);border-radius:var(--radius-md);background:linear-gradient(135deg,var(--sheen),transparent 40%),var(--surface-sunk);box-shadow:inset 0 1px 0 var(--sheen)}.sg-arch.has-rail{grid-template-columns:minmax(0,1fr) 48px}.sg-arch__cap{grid-column:1/-1;display:flex;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-2);font-family:var(--font-mono);font-size:12px;color:var(--ink-faint)}.sg-arch__title{font-weight:500;color:var(--ink)}.sg-arch__layers{display:grid;gap:var(--space-2)}.sg-arch__layer{display:grid;grid-template-columns:150px minmax(0,1fr);gap:var(--space-4);align-items:center;padding:12px var(--space-4);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.sg-arch__layer.is-signal{border-color:var(--signal);box-shadow:var(--shadow-glow)}.sg-arch__layer.is-current{border-color:var(--current)}.sg-arch__name{font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted)}.sg-arch__layer.is-signal .sg-arch__name{color:var(--signal-ink)}.sg-arch__layer.is-current .sg-arch__name{color:var(--current-ink)}.sg-arch__items{display:flex;flex-wrap:wrap;gap:6px}.sg-arch__rail{display:flex;align-items:center;justify-content:center;padding:var(--space-3) 0;border:1px dashed var(--line-strong);border-radius:var(--radius-sm);writing-mode:vertical-rl;transform:rotate(180deg);font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--current-ink)}@media (max-width:640px){.sg-arch.has-rail,.sg-arch__layer{grid-template-columns:1fr}.sg-arch__layer{gap:8px}.sg-arch__rail{writing-mode:horizontal-tb;transform:none}}.sg-steps{display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));gap:var(--space-4);list-style:none;margin:0;padding:0}.sg-steps__item{position:relative;padding-top:var(--space-6)}.sg-steps__item:before{content:"";position:absolute;top:7px;left:0;right:calc(-1 * var(--space-4));height:1px;background:var(--line-strong)}.sg-steps__item:last-child:before{right:0}.sg-steps__node{position:absolute;top:2px;left:1px;width:11px;height:11px;transform:rotate(45deg);border:1.5px solid var(--current);background:var(--bg)}.sg-steps__item.is-active .sg-steps__node{border-color:var(--signal);background:var(--signal);box-shadow:0 0 0 5px var(--signal-soft)}.sg-steps__num{font-family:var(--font-mono);font-size:12px;font-weight:500;color:var(--signal-ink)}.sg-steps__title{margin:4px 0 0;font-size:18px;font-weight:600;line-height:1.3;letter-spacing:-.015em;color:var(--ink)}.sg-steps__summary{margin:var(--space-2) 0 0;font-size:14px;line-height:1.55;color:var(--ink-muted)}.sg-steps__out{margin:var(--space-3) 0 0;font-family:var(--font-mono);font-size:12px;line-height:1.5;color:var(--current-ink)}@media (max-width:820px){.sg-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:540px){.sg-steps{grid-template-columns:1fr}.sg-steps__item:before{display:none}}.sg-stack{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);box-shadow:inset 0 1px 0 var(--sheen)}.sg-stack__legend{display:flex;flex-wrap:wrap;gap:var(--space-5);padding:12px var(--space-5);border-bottom:1px solid var(--line);font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted)}.sg-stack__key{display:inline-flex;align-items:center;gap:10px}.sg-stack__row{display:grid;grid-template-columns:160px minmax(0,1fr);gap:var(--space-4);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--line)}.sg-stack__row:last-child{border-bottom:0}.sg-stack__label{padding-top:7px;font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted)}.sg-stack__items{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}.sg-stack__item{display:inline-flex;align-items:center;gap:10px;height:32px;padding:0 12px;border:1px solid var(--line);border-radius:var(--radius-xs);background:var(--surface-sunk);font-size:14px;color:var(--ink)}.sg-lvl{flex:none;width:8px;height:8px;transform:rotate(45deg);border:1.5px solid var(--ink-muted)}.sg-lvl--daily{border-color:var(--signal);background:var(--signal)}.sg-lvl--proficient{border-color:var(--current);background:var(--current)}@media (max-width:640px){.sg-stack__row{grid-template-columns:1fr;gap:8px}}.sg-cred{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.sg-cred__item{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:var(--space-4);align-items:center;padding:var(--space-4) 0;border-bottom:1px solid var(--line)}.sg-cred__title{margin:0;font-size:17px;font-weight:600;line-height:1.35;letter-spacing:-.01em;color:var(--ink)}.sg-cred__issuer{margin:2px 0 0;font-size:14px;color:var(--ink-muted)}.sg-cred__meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-family:var(--font-mono);font-size:12px;color:var(--ink-faint)}.sg-cred__verify{color:var(--current-ink);text-decoration:none}.sg-cred__verify:hover{text-decoration:underline}@media (max-width:640px){.sg-cred__item{grid-template-columns:1fr;gap:8px}.sg-cred__meta{align-items:flex-start;flex-direction:row}}.sg-writing{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.sg-writing__item{border-bottom:1px solid var(--line)}.sg-writing__link{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:var(--space-5);align-items:baseline;padding:var(--space-5) var(--space-3);color:inherit;text-decoration:none;transition:background-color .25s}.sg-writing__link:hover{background:var(--surface)}.sg-writing__type{font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--signal-ink)}.sg-writing__title{display:block;font-family:var(--font-display);font-size:30px;line-height:1.1;letter-spacing:-.01em;color:var(--ink)}.sg-writing__venue{display:block;margin-top:6px;font-size:14px;color:var(--ink-muted)}.sg-writing__date{font-family:var(--font-mono);font-size:12px;color:var(--ink-faint);white-space:nowrap}.sg-writing__go{display:inline-block;margin-left:6px;color:var(--ink-muted);transition:transform .3s cubic-bezier(.2,.8,.2,1),color .3s}.sg-writing__link:hover .sg-writing__go{transform:translate(3px,-3px);color:var(--signal-ink)}@media (max-width:640px){.sg-writing__link{grid-template-columns:1fr;gap:6px}.sg-writing__title{font-size:24px}}.sg-quote{position:relative;margin:0;padding:var(--space-7) var(--space-6) var(--space-5);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);box-shadow:inset 0 1px 0 var(--sheen)}.sg-quote__mark{position:absolute;top:var(--space-3);left:calc(var(--space-6) - 4px);font-family:var(--font-display);font-size:88px;line-height:1;color:var(--signal-ink);text-shadow:var(--glow-text)}.sg-quote__text{margin:var(--space-4) 0 0}.sg-quote__text p{margin:0;font-family:var(--font-display);font-size:28px;line-height:1.25;letter-spacing:-.01em;color:var(--ink)}.sg-quote__by{display:flex;align-items:center;gap:14px;margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--line)}.sg-quote__dia{flex:none;width:12px;height:12px;transform:rotate(45deg);background:var(--current)}.sg-quote__name{display:block;font-size:15px;font-weight:600;color:var(--ink)}.sg-quote__role{display:block;font-family:var(--font-mono);font-size:12px;color:var(--ink-muted)}.sg-quote__src{margin-left:auto}.sg-svc{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);box-shadow:inset 0 1px 0 var(--sheen)}.sg-svc--featured{border-color:var(--signal);background:var(--surface-raised);box-shadow:inset 0 1px 0 var(--sheen),var(--shadow-glow)}.sg-svc__top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.sg-svc__index{font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.06em;color:var(--signal-ink)}.sg-svc__title{margin:0;font-family:var(--font-display);font-weight:400;font-size:34px;line-height:1.05;letter-spacing:-.01em;color:var(--ink)}.sg-svc__summary{margin:0;font-size:15px;line-height:1.6;color:var(--ink-muted)}.sg-svc__list{display:grid;gap:10px;list-style:none;margin:0;padding:var(--space-4) 0 0;border-top:1px dashed var(--line);font-size:15px;line-height:1.45;color:var(--ink)}.sg-svc__list li{display:flex;gap:12px}.sg-svc__list li:before{content:"";flex:none;width:6px;height:6px;margin-top:8px;transform:rotate(45deg);background:var(--current)}.sg-svc__cta{margin-top:auto;padding-top:var(--space-2)}.sg-resume{max-width:820px;margin:0 auto;padding:var(--space-7);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);box-shadow:inset 0 1px 0 var(--sheen);font-size:14px;line-height:1.55;color:var(--ink)}.sg-rh{display:grid;gap:var(--space-2);padding-bottom:var(--space-5);border-bottom:2px solid var(--ink)}.sg-rh__title{margin:0;font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--signal-ink)}.sg-rh__name{margin:0;font-family:var(--font-display);font-weight:400;font-size:52px;line-height:1;letter-spacing:-.02em;color:var(--ink)}.sg-rh__contact{margin:var(--space-1) 0 0;font-size:13px;color:var(--ink-muted)}.sg-rh__contact a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line-strong)}.sg-rh__sep{font-size:8px;vertical-align:2px;color:var(--current-ink)}.sg-rh__statement{max-width:75ch;margin:var(--space-3) 0 0;font-size:15px;line-height:1.6;color:var(--ink-muted)}.sg-rs{display:grid;grid-template-columns:140px minmax(0,1fr);gap:var(--space-5);padding:var(--space-5) 0;border-bottom:1px solid var(--line)}.sg-rs:last-child{border-bottom:0}.sg-rs__title{margin:3px 0 0;font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted)}.sg-rs__body>p{margin:0}.sg-rr+.sg-rr{margin-top:var(--space-5)}.sg-rr__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px var(--space-4)}.sg-rr__role{margin:0;font-size:16px;font-weight:600;letter-spacing:-.01em;color:var(--ink)}.sg-rr__org{font-weight:400;color:var(--ink-muted)}.sg-rr__period{font-family:var(--font-mono);font-size:12px;color:var(--ink-faint)}.sg-rr__summary{margin:4px 0 0;font-size:14px;color:var(--ink-muted)}.sg-rr__bullets{margin:var(--space-2) 0 0;padding-left:18px}.sg-rr__bullets li{margin-top:4px;padding-left:4px}.sg-rr__bullets li::marker{content:"\25C6  ";font-size:8px;color:var(--current-ink)}@media (max-width:640px){.sg-resume{padding:var(--space-5)}.sg-rs{grid-template-columns:1fr;gap:var(--space-2)}}@media print{@page{margin:14mm}.sg-resume{max-width:none;padding:0;border:0;box-shadow:none;background:transparent}.sg-rr,.sg-rs{break-inside:avoid}.sg-rh__contact a{border:0}}@media (prefers-reduced-motion:reduce){.sg-graph *,.sg-tag__dot,.sg-term__cursor,.sg-trace *,.sg-trace.is-live .sg-step{animation:none!important}.sg-graph .packet{display:none}.sg-btn,.sg-btn__arrow,.sg-cap__cell:before,.sg-card,.sg-card:before,.sg-card__go,.sg-writing__go{transition:none!important}}:root,[data-theme=obsidian]{--bg:#07080a;--surface:#0e1013;--surface-raised:#15181c;--surface-sunk:#040506;--line:#23272c;--line-strong:#5d656e;--ink:#ecedea;--ink-muted:#a5adb5;--ink-faint:#868f98;--signal:#dceaf3;--signal-strong:#f4f9fc;--signal-ink:#a9d8f2;--on-signal:#05080b;--signal-soft:#1b2a34;--signal-tint:#3a5566;--sheen:#ffffff12;--current:#5fdcb0;--current-ink:#7ee6c1;--on-current:#03140d;--current-soft:#123128;--danger:#ff8a7a;--focus:var(--signal);--shadow-card:inset 0 1px 0 #ffffff12,0 18px 48px #000000a6;--shadow-glow:0 0 0 1px #dceaf359,0 0 36px #a9d8f247;--glow-text:0 0 28px #a9d8f259;color-scheme:dark}[data-theme=paper]{--bg:#f1f2ef;--surface:#f9faf8;--surface-raised:#fff;--surface-sunk:#e5e8e4;--line:#d6dad5;--line-strong:#7c837d;--ink:#101418;--ink-muted:#4e5660;--ink-faint:#5d656e;--signal:#1e2b35;--signal-strong:#2c3d4a;--signal-ink:#2b5770;--on-signal:#fff;--signal-soft:#dbe7ee;--signal-tint:#a9c4d3;--sheen:#ffffffb3;--current:#0d7a5a;--current-ink:#0a6449;--on-current:#fff;--current-soft:#d0eee2;--danger:#b42318;--focus:var(--signal);--shadow-card:inset 0 1px 0 #ffffffb3,0 16px 40px #10141817;--shadow-glow:0 0 0 1px #1e2b3540,0 10px 28px #1e2b352e;--glow-text:0 0 0 #00000000;color-scheme:light}@media (prefers-color-scheme:light){:root:not([data-theme]){--bg:#f1f2ef;--surface:#f9faf8;--surface-raised:#fff;--surface-sunk:#e5e8e4;--line:#d6dad5;--line-strong:#7c837d;--ink:#101418;--ink-muted:#4e5660;--ink-faint:#5d656e;--signal:#1e2b35;--signal-strong:#2c3d4a;--signal-ink:#2b5770;--on-signal:#fff;--signal-soft:#dbe7ee;--signal-tint:#a9c4d3;--sheen:#ffffffb3;--current:#0d7a5a;--current-ink:#0a6449;--on-current:#fff;--current-soft:#d0eee2;--danger:#b42318;--focus:var(--signal);--shadow-card:inset 0 1px 0 #ffffffb3,0 16px 40px #10141817;--shadow-glow:0 0 0 1px #1e2b3540,0 10px 28px #1e2b352e;--glow-text:0 0 0 #00000000;color-scheme:light}}:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:80px;--space-9:128px;--radius-xs:2px;--radius-sm:3px;--radius-md:6px;--radius-lg:10px;--content-max:1200px;--prose-max:680px;--nav-height:72px;--font-display:"Instrument Serif","Iowan Old Style",Georgia,serif;--font-sans:Geist,"Helvetica Neue",Arial,sans-serif;--font-mono:"Geist Mono",SFMono-Regular,Menlo,Consolas,monospace}.display-xl{font-size:120px;line-height:.92}.display-l,.display-xl{font-family:var(--font-display);font-weight:400;letter-spacing:-.02em}.display-l{font-size:72px;line-height:.98}.display-m{font-size:56px;line-height:1;letter-spacing:-.015em}.display-m,.display-s{font-family:var(--font-display);font-weight:400}.display-s{font-size:34px;line-height:1.05;letter-spacing:-.01em}.title{font-size:24px;line-height:32px;letter-spacing:-.02em}.heading,.title{font-family:var(--font-sans);font-weight:600}.heading{font-size:20px;line-height:28px;letter-spacing:-.015em}.lede{font-size:20px;line-height:30px}.body,.lede{font-family:var(--font-sans);font-weight:400}.body{font-size:16px;line-height:26px}.small{font-family:var(--font-sans);font-size:14px;line-height:22px;font-weight:400}.eyebrow{font-size:12px;line-height:16px;font-weight:500;letter-spacing:.12em;text-transform:uppercase}.code,.eyebrow{font-family:var(--font-mono)}.code{font-size:13px;line-height:22px;font-weight:400}.tag{font-family:var(--font-mono);font-size:12px;line-height:12px;font-weight:500;letter-spacing:.02em}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.-bottom-8{bottom:-2rem}.left-0{left:0}.left-3{left:.75rem}.right-2{right:.5rem}.top-0{top:0}.top-2{top:.5rem}.top-8{top:2rem}.z-10{z-index:10}.z-50{z-index:50}.z-\[100\]{z-index:100}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.ml-2{margin-left:.5rem}.mr-2{margin-right:.5rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.aspect-square{aspect-ratio:1/1}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-2{height:.5rem}.h-4{height:1rem}.h-40{height:10rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-full{height:100%}.max-h-screen{max-height:100vh}.min-h-\[120px\]{min-height:120px}.min-h-\[80px\]{min-height:80px}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-16{width:4rem}.w-2{width:.5rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-4{width:1rem}.w-40{width:10rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-96{width:24rem}.w-full{width:100%}.w-px{width:1px}.max-w-md{max-width:28rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-destructive{border-color:hsl(var(--destructive))}.border-input{border-color:hsl(var(--input))}.border-transparent{border-color:transparent}.bg-background{background-color:hsl(var(--background))}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-muted{background-color:hsl(var(--muted))}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-transparent{background-color:transparent}.object-cover{object-fit:cover}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pb-4{padding-bottom:1rem}.pl-8{padding-left:2rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.text-2xl{font-size:1.5rem;line-height:2rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.text-card-foreground{color:hsl(var(--card-foreground))}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-foreground{color:hsl(var(--foreground))}.text-foreground\/50{color:hsl(var(--foreground)/.5)}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-90{opacity:.9}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.animate-in{animation-name:enter;animation-duration:.15s;--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial}.fade-in-0{--tw-enter-opacity:0}.zoom-in-95{--tw-enter-scale:.95}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}*,:after,:before{box-sizing:border-box}html{color-scheme:dark}html[data-theme=paper]{color-scheme:light}html{scroll-behavior:smooth}:focus-visible{outline:2px solid var(--focus);outline-offset:3px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}.file\:border-0::file-selector-button{border-width:0}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-foreground::file-selector-button{color:hsl(var(--foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive)/.8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive)/.9)}.hover\:bg-primary:hover{background-color:hsl(var(--primary))}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary)/.8)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary)/.9)}.hover\:bg-secondary:hover{background-color:hsl(var(--secondary))}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary)/.8)}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-primary:hover{color:hsl(var(--primary))}.hover\:text-primary-foreground:hover{color:hsl(var(--primary-foreground))}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.hover\:shadow-lg:hover,.hover\:shadow-md:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.focus\:opacity-100:focus{opacity:1}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color:hsl(var(--background))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:opacity-100{opacity:1}.group.destructive .group-\[\.destructive\]\:border-muted\/40{border-color:hsl(var(--muted)/.4)}.group.destructive .group-\[\.destructive\]\:text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity))}.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover{border-color:hsl(var(--destructive)/.3)}.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover{background-color:hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover{color:hsl(var(--destructive-foreground))}.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover{--tw-text-opacity:1;color:rgb(254 242 242/var(--tw-text-opacity))}.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus{--tw-ring-color:hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(248 113 113/var(--tw-ring-opacity))}.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus{--tw-ring-offset-color:#dc2626}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.data-\[state\=checked\]\:translate-x-5[data-state=checked]{--tw-translate-x:1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked],.data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel]{--tw-translate-x:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{--tw-translate-x:var(--radix-toast-swipe-end-x)}.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end],.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{--tw-translate-x:var(--radix-toast-swipe-move-x)}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:accordion-up .2s ease-out}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}.data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:accordion-down .2s ease-out}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:hsl(var(--background))}.data-\[state\=active\]\:bg-primary[data-state=active],.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:hsl(var(--primary))}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:hsl(var(--input))}.data-\[state\=active\]\:text-foreground[data-state=active]{color:hsl(var(--foreground))}.data-\[state\=active\]\:text-primary-foreground[data-state=active]{color:hsl(var(--primary-foreground))}.data-\[state\=active\]\:shadow-sm[data-state=active]{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.data-\[swipe\=move\]\:transition-none[data-swipe=move]{transition-property:none}.data-\[state\=open\]\:animate-in[data-state=open]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial}.data-\[state\=closed\]\:animate-out[data-state=closed],.data-\[swipe\=end\]\:animate-out[data-swipe=end]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:fade-out-80[data-state=closed]{--tw-exit-opacity:0.8}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-0.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:0.5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-0.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:0.5rem}.data-\[state\=closed\]\:slide-out-to-right-full[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=open\]\:slide-in-from-top-full[data-state=open]{--tw-enter-translate-y:-100%}@media (min-width:640px){.sm\:bottom-0{bottom:0}.sm\:right-0{right:0}.sm\:top-auto{top:auto}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:flex-col{flex-direction:column}.data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state=open]{--tw-enter-translate-y:100%}}@media (min-width:768px){.md\:mb-0{margin-bottom:0}.md\:mr-6{margin-right:1.5rem}.md\:max-w-\[420px\]{max-width:420px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{--tw-rotate:180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}