:root{
  --paper:#efede6;
  --ink:#191917;
  --muted:#73726c;
  --faint:#c9c6bc;
  --ease-out:cubic-bezier(.23,1,.32,1);
  --ease-in:cubic-bezier(.55,.055,.675,.19);
  --font-sans:Arial,Helvetica,sans-serif;
  --font-mono:"Courier New",Consolas,"Liberation Mono",monospace;
}
html[data-theme="dark"]{
  --paper:#121210;
  --ink:#e8e6df;
  --muted:#9c9a92;
  --faint:#373632;
}
*{box-sizing:border-box}
html{color-scheme:light;background:var(--paper);scroll-behavior:smooth}
html[data-theme="dark"]{color-scheme:dark}
body{margin:0;min-width:320px;min-height:100dvh;overflow-x:hidden;color:var(--ink);background:var(--paper);font-family:var(--font-sans)}
::selection{color:var(--paper);background:var(--ink)}
button,input,a{font:inherit;color:inherit}
button,a{touch-action:manipulation}
input::placeholder{color:var(--muted)}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;top:8px;left:8px;z-index:110;padding:10px 12px;color:var(--paper);background:var(--ink);font-family:var(--font-mono);opacity:0;visibility:hidden;transform:translateY(-150%);transition:transform 160ms var(--ease-out),opacity 120ms linear,visibility 0s 160ms}
.skip-link:focus{opacity:1;visibility:visible;transform:translateY(0);transition:transform 160ms var(--ease-out),opacity 120ms linear,visibility 0s}
:focus-visible{outline:2px solid var(--ink);outline-offset:4px}

.loader{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:var(--paper);color:var(--ink);opacity:1;visibility:visible;transition:opacity 240ms linear,visibility 0s 240ms}
.loader.is-exiting{opacity:0;visibility:hidden}
.loader-inner{width:min(360px,calc(100% - 48px))}
.loader-track{height:3px;background:var(--faint);overflow:hidden}
.loader-track span{display:block;width:0;height:100%;background:var(--ink);transform-origin:left center;transition:width 180ms var(--ease-out)}
.shell{min-height:100dvh;display:grid;grid-template-rows:68px minmax(0,1fr);padding:0 30px;opacity:1;transition:opacity 240ms linear}
.is-loading .shell{visibility:hidden;opacity:0}
.site-header{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;min-width:0;border-bottom:1px solid var(--faint)}
.brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:14px;font-weight:700;text-decoration:none;letter-spacing:-.04em}
.brand-mark{display:block;width:28px;height:28px;object-fit:contain;filter:var(--logo-filter,none)}
html[data-theme="dark"] .brand-mark{filter:invert(1)}
.theme-toggle{position:relative;width:76px;height:30px;border:0;border-radius:0;padding:1px;background:transparent;font-family:var(--font-mono);cursor:pointer}
.theme-track{position:absolute;inset:1px;overflow:hidden;border:1px solid var(--ink);border-radius:0;background:repeating-linear-gradient(90deg,transparent 0 8px,var(--faint) 8px 9px,transparent 9px 16px) top/100% 2px no-repeat,repeating-linear-gradient(90deg,transparent 0 8px,var(--faint) 8px 9px,transparent 9px 16px) bottom/100% 2px no-repeat,var(--paper)}
.theme-track::before{content:"";position:absolute;z-index:1;top:3px;bottom:3px;left:50%;border-left:1px solid var(--faint)}
.theme-thumb{position:absolute;z-index:1;top:3px;left:3px;width:32px;height:20px;border-radius:0;background:var(--ink);transform:translateX(0);transition:transform 180ms var(--ease-out)}
.theme-marker{position:absolute;z-index:2;top:0;width:36px;height:26px;display:grid;place-items:center;font-size:8px;font-weight:700;line-height:1;transition:color 140ms var(--ease-out)}
.theme-marker-light{left:1px;color:var(--paper)}
.theme-marker-dark{right:1px;color:var(--muted)}
.theme-toggle[aria-pressed="true"] .theme-thumb{transform:translateX(36px)}
.theme-toggle[aria-pressed="true"] .theme-marker-light{color:var(--muted)}
.theme-toggle[aria-pressed="true"] .theme-marker-dark{color:var(--paper)}
.theme-toggle:active,.rail-action:active,.primary-action:active,.input-row button:active,.return-action:active,.manifesto-close:active{transform:scale(.97)}

main{display:grid;min-width:0;min-height:0}
.hero{position:relative;display:grid;grid-template-rows:minmax(0,1fr) 94px;min-width:0;min-height:0;overflow:clip;isolation:isolate}
.experience{position:relative;min-width:0;min-height:0}
.ca-copy{position:absolute;z-index:3;top:16px;left:50%;min-height:32px;max-width:calc(100% - 24px);border:1px solid var(--faint);border-radius:0;padding:0 13px;background:var(--paper);color:var(--ink);font-family:var(--font-mono);font-size:8px;font-weight:700;letter-spacing:.1em;white-space:nowrap;cursor:pointer;opacity:1;visibility:visible;transform:translateX(-50%);transition:opacity 170ms linear,transform 240ms var(--ease-out),visibility 0s}
.hero.workspace-open .ca-copy,.hero.manifesto-open .ca-copy{opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,-8px);transition:opacity 150ms linear,transform 210ms var(--ease-in),visibility 0s 210ms}
.ca-copy:active{transform:translateX(-50%) scale(.97)}
.ring-stage{position:absolute;inset:0;min-width:0;min-height:0;pointer-events:none;opacity:1;visibility:visible;transition:opacity 220ms 170ms linear,visibility 0s 0s}
.hero.manifesto-open .ring-stage{opacity:0;visibility:hidden;transition:opacity 180ms linear,visibility 0s 180ms}
.ring-control{position:absolute;inset:0;z-index:1;width:100%;height:100%;padding:0;border:0;border-radius:0;background:transparent;cursor:crosshair;overflow:hidden;pointer-events:auto}
.ring-control canvas{position:absolute;left:50%;top:55%;width:min(61.5vw,calc(78dvh - 68px),825px);height:auto!important;aspect-ratio:1;transform:translate(-50%,-50%);display:block;contain:strict;will-change:transform}
.ring-control:focus-visible{outline:1px solid var(--ink);outline-offset:-5px}
.hero.workspace-open .ring-control canvas{left:25%;top:50%;width:min(calc(50% - 40px),calc(72dvh - 68px),650px);height:min(calc(50% - 40px),calc(72dvh - 68px),650px)}

.tehclist-workspace{position:absolute;z-index:2;left:50%;top:50%;width:50%;max-height:calc(100% - 20px);overflow:auto;padding:24px clamp(24px,3vw,44px) 20px;opacity:0;visibility:hidden;transform:translate3d(42px,-50%,0);pointer-events:none;transition:opacity 220ms var(--ease-in),transform 360ms var(--ease-in),visibility 0s 360ms;will-change:transform,opacity}
.hero.workspace-open .tehclist-workspace{opacity:1;visibility:visible;transform:translate3d(0,-50%,0);pointer-events:auto;transition:opacity 280ms 70ms linear,transform 440ms var(--ease-out),visibility 0s}
.workspace-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:20px;opacity:0;transform:translate3d(18px,0,0);transition:opacity 160ms var(--ease-in),transform 240ms var(--ease-in)}
.hero.workspace-open .workspace-head{opacity:1;transform:translate3d(0,0,0);transition:opacity 240ms 90ms linear,transform 340ms 70ms var(--ease-out)}
.workspace-kicker{display:block;margin-bottom:6px;color:var(--muted);font-family:var(--font-mono);font-size:8px;font-weight:700;letter-spacing:.12em}
.workspace-head h1{margin:0;font-size:clamp(30px,3vw,44px);line-height:.95;letter-spacing:-.08em}
.return-action{flex:none;border:0;border-bottom:1px solid var(--ink);border-radius:0;padding:7px 2px 6px;background:transparent;font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.11em;white-space:nowrap;cursor:pointer}
.checklist{border-top:1px solid var(--faint)}
.check-item{position:relative;display:grid;grid-template-columns:16px minmax(0,1fr);gap:16px;padding:18px 0;border-bottom:1px solid var(--faint);opacity:0;transform:translate3d(24px,0,0);transition:opacity 150ms var(--ease-in),transform 240ms var(--ease-in);will-change:transform,opacity}
.hero.workspace-open .check-item{opacity:1;transform:translate3d(0,0,0);transition:opacity 260ms linear,transform 380ms var(--ease-out)}
.hero.workspace-open .check-item:nth-child(1){transition-delay:150ms}
.hero.workspace-open .check-item:nth-child(2){transition-delay:215ms}
.hero.workspace-open .check-item:nth-child(3){transition-delay:280ms}
.check-item:nth-child(1){transition-delay:100ms}
.check-item:nth-child(2){transition-delay:50ms}
.check-item:nth-child(3){transition-delay:0ms}
.item-marker{width:11px;height:11px;margin-top:3px;border:1px solid var(--muted);background:transparent;transition:background 160ms linear,border-color 160ms linear}
.check-item.complete .item-marker{border-color:var(--ink);background:var(--ink);box-shadow:inset 0 0 0 2px var(--paper)}
.item-copy h2{margin:0 0 6px;font-size:13px;line-height:1.1}
.item-copy>p:not(.item-status){max-width:58ch;margin:0 0 12px;color:var(--muted);font-size:10px;line-height:1.45}
.primary-action,.input-row button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;border:1px solid var(--ink);border-radius:0;padding:0 18px;background:var(--ink);color:var(--paper);font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.11em;text-decoration:none;white-space:nowrap;cursor:pointer;transition:transform 140ms var(--ease-out),background 160ms linear,color 160ms linear}
.primary-action:disabled{cursor:progress;opacity:.62}
label{display:block;margin-bottom:6px;color:var(--muted);font-family:var(--font-mono);font-size:8px;letter-spacing:.1em}
.input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;max-width:560px}
.input-row input{min-width:0;height:36px;border:1px solid var(--ink);border-radius:0;padding:0 11px;background:transparent;font-family:var(--font-mono);font-size:10px;caret-color:var(--ink)}
.input-row button{border-left:0;padding-inline:19px}
.item-status{min-height:12px;margin:7px 0 0;color:var(--ink);font-family:var(--font-mono);font-size:8px;line-height:1.4}
.referral-result{margin-top:11px}

.action-rail{position:relative;width:min(820px,100%);height:94px;margin:0 auto;display:flex;justify-content:center;align-items:flex-start;padding-top:14px}
.action-rail::before{content:"";position:absolute;z-index:0;top:66px;left:0;right:0;border-top:1px solid var(--faint)}
.action-pod{position:relative;z-index:1;height:53px;display:flex;align-items:stretch;border:1px solid var(--faint);border-bottom:0;border-radius:0;padding:0 8px;background:var(--paper)}
.rail-action{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:52px;border:0;border-radius:0;padding:0 22px;background:transparent;color:var(--ink);font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.11em;text-decoration:none;white-space:nowrap;cursor:pointer;transition:transform 140ms var(--ease-out)}
.rail-divider{align-self:center;width:1px;height:21px;background:var(--faint)}
.rail-action::after{content:"";position:absolute;left:22px;right:22px;bottom:8px;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:center;transition:transform 160ms var(--ease-out)}
@media(hover:hover) and (pointer:fine){.rail-action:hover::after{transform:scaleX(1)}}

@media(max-width:900px){
  .shell{height:100svh;height:100dvh;min-height:100svh;min-height:100dvh;grid-template-rows:62px minmax(0,1fr);padding:0 18px}
  .shell:has(.hero.workspace-open){height:auto}
  main{display:grid;min-height:0}
  .hero{display:flex;flex-direction:column;height:100%;min-height:0;overflow:visible}
  .experience{position:relative;display:block;flex:1 1 auto;width:100%;min-height:0;overflow-x:clip}
  .ring-stage{position:absolute;inset:0;height:auto}
  .ring-control canvas{top:58%;width:min(calc(100vw - 16px),510px);height:min(calc(100vw - 16px),510px)}
  .hero.workspace-open{height:auto;min-height:100%;padding-bottom:calc(82px + env(safe-area-inset-bottom))}
  .hero.workspace-open .experience{flex:none;min-height:0}
  .hero.workspace-open .ring-stage{position:relative;inset:auto;height:300px}
  .hero.workspace-open .ring-control canvas{left:50%;top:50%;width:min(82vw,330px);height:min(82vw,330px)}
  .tehclist-workspace{position:relative;left:auto;top:auto;width:100%;max-height:none;overflow:visible;padding:12px 0 34px;opacity:0;visibility:hidden;transform:translate3d(0,30px,0);pointer-events:none;transition:opacity 180ms var(--ease-in),transform 300ms var(--ease-in),visibility 0s 340ms}
  .hero.workspace-open .tehclist-workspace{opacity:1;visibility:visible;transform:translate3d(0,0,0);pointer-events:auto;transition:opacity 260ms 80ms linear,transform 420ms var(--ease-out),visibility 0s}
  .action-rail{flex:0 0 calc(82px + env(safe-area-inset-bottom));height:calc(82px + env(safe-area-inset-bottom));padding-top:8px;padding-bottom:env(safe-area-inset-bottom);background:var(--paper)}
  .action-rail::before{top:60px}
  .hero.workspace-open .action-rail{position:fixed;z-index:20;right:18px;bottom:0;left:18px;width:auto;margin:0}
}
@media(max-width:430px){
  .brand{font-size:12px}
  .theme-toggle{width:72px}
  .theme-toggle[aria-pressed="true"] .theme-thumb{transform:translateX(32px)}
  .theme-thumb{width:30px}
  .theme-marker{width:34px}
  .hero.workspace-open .ring-stage{height:290px}
  .hero.workspace-open .ring-control canvas{width:min(76vw,280px)}
  .workspace-head{gap:14px;padding-bottom:17px}
  .workspace-head h1{font-size:31px}
  .return-action{font-size:8px;letter-spacing:.09em}
  .check-item{grid-template-columns:13px minmax(0,1fr);gap:12px;padding:17px 0}
  .input-row input{font-size:9px}
  .input-row button{padding-inline:14px}
  .action-pod{max-width:calc(100% - 12px);padding:0 2px}
  .rail-action{padding:0 14px;font-size:8px;letter-spacing:.09em}
  .rail-action::after{left:14px;right:14px}
}
@media(max-height:720px) and (min-width:901px){
  .shell{grid-template-rows:54px minmax(0,1fr)}
  .hero{grid-template-rows:minmax(0,1fr) 78px}
  .ring-control canvas{top:54%;width:min(82.5vh,585px,61.5vw);height:min(82.5vh,585px,61.5vw)}
  .hero.workspace-open .ring-control canvas{left:25%;top:50%;width:min(calc(50% - 40px),calc(68dvh - 54px),540px);height:min(calc(50% - 40px),calc(68dvh - 54px),540px)}
  .action-rail{height:78px;padding-top:8px}
  .action-rail::before{top:60px}
  .tehclist-workspace{padding-top:12px}
  .check-item{padding:13px 0}
}
@media(max-height:720px) and (max-width:900px){
  .shell{grid-template-rows:54px minmax(0,1fr)}
  .ring-control canvas{top:58%;width:min(82.5svh,82.5dvh,510px,calc(100vw - 16px));height:min(82.5svh,82.5dvh,510px,calc(100vw - 16px))}
  .hero.workspace-open .ring-stage{height:240px}
  .hero.workspace-open .ring-control canvas{left:50%;top:50%;width:min(70vw,220px);height:min(70vw,220px)}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0ms!important}
  .ring-control canvas{will-change:auto}
}
