.fg-gate {
  --gate-text:#e3e3df;--gate-muted:#a0a09b;--gate-rule:#42423f;--gate-accent:#98c9a7;
  --gate-gutter:clamp(16px,4vw,32px);
  --gate-left:max(var(--gate-gutter),env(safe-area-inset-left,0px));
  --gate-right:max(var(--gate-gutter),env(safe-area-inset-right,0px));
  position:relative;isolation:isolate;display:flex;flex-direction:column;min-height:100svh;
  background:#080808;color:var(--gate-text);color-scheme:dark;
  font:14px/1.6 "SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;
  -webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;
}
.fg-gate *,.fg-gate *::before,.fg-gate *::after {box-sizing:border-box;}
.fg-gate .fgx-atmosphere {position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;user-select:none;contain:paint;mask-image:radial-gradient(ellipse 64% 64% at 50% 45%,transparent 38%,#000 100%);}
.fg-gate .fgx-atmosphere-grid {position:absolute;inset:0;opacity:.22;background-image:radial-gradient(circle,rgba(152,201,167,.14) .7px,transparent 1px);background-size:26px 26px;background-position:12px 12px;}
.fg-gate .fgx-atmosphere-objects {position:absolute;inset:0;opacity:0;}
.fg-gate .fgx-ascii-object {position:absolute;display:block;aspect-ratio:1;width:clamp(280px,29vw,400px);height:auto;opacity:.16;}
.fg-gate .fgx-ascii-object[data-position^="top"] {top:clamp(80px,9svh,130px);}
.fg-gate .fgx-ascii-object[data-position^="bottom"] {bottom:2svh;}
.fg-gate .fgx-ascii-object[data-position$="right"] {right:clamp(-70px,-3vw,-20px);}
.fg-gate .fgx-ascii-object[data-position$="left"] {left:clamp(-70px,-3vw,-20px);}
@media(max-width:680px) {
  .fg-gate .fgx-ascii-object {width:230px;opacity:.12;}
  .fg-gate .fgx-ascii-object[data-position] {top:auto;bottom:22px;}
  .fg-gate .fgx-ascii-object[data-position$="right"] {right:-68px;}
  .fg-gate .fgx-ascii-object[data-position$="left"] {left:-68px;}
}
.fg-gate :where(h1,p) {margin:0;}
.fg-gate :where(button,input) {font:inherit;}
.fg-gate :where(button,a) {touch-action:manipulation;-webkit-tap-highlight-color:transparent;}
.fg-gate button {cursor:pointer;color:inherit;}
.fg-gate :where(button,input,a):focus-visible {outline:2px solid var(--gate-accent);outline-offset:4px;}
.fg-gate a {color:inherit;text-underline-offset:4px;}
.fg-gate [hidden] {display:none!important;}
.fg-gate ::selection {color:#080808;background:#b4c7bc;}
.fg-gate .fgx-skip {position:absolute;top:8px;left:20px;z-index:3;padding:10px;background:#e3e3df;color:#080808;transform:translateY(-200%);}
.fg-gate .fgx-skip:focus {transform:translateY(0);}
.fg-gate .fgx-sr-only {position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
.fg-gate .fgx-topbar {display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:76px;padding:12px var(--gate-right) 12px var(--gate-left);padding-top:max(12px,env(safe-area-inset-top,0px));border-bottom:1px solid #282826;color:var(--gate-muted);font-size:11px;}
.fg-gate .fgx-main {display:flex;align-items:center;flex:1;min-width:0;width:100%;padding:clamp(28px,7svh,64px) var(--gate-right) clamp(20px,4svh,32px) var(--gate-left);outline:none;}
.fg-gate .fgx-terminal {width:min(760px,100%);margin-inline:auto;}
.fg-gate .fgx-path {margin-bottom:clamp(16px,2.6svh,23px);color:var(--gate-muted);font-size:12px;}
.fg-gate .fgx-title {font-size:clamp(26px,calc(20px + 2vw),36px);font-weight:600;line-height:1.28;letter-spacing:-.035em;text-wrap:balance;}
.fg-gate .fgx-title-ending {white-space:nowrap;}
.fg-gate .fgx-intro {max-width:64ch;margin-top:19px;color:var(--gate-muted);font-size:14px;line-height:1.8;text-wrap:pretty;}
.fg-gate .fgx-stage {min-height:304px;margin-top:clamp(24px,4.2svh,38px);}
.fg-gate .fgx-form {width:100%;}
.fg-gate .fgx-label-row {display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 12px;margin-bottom:10px;font-size:11px;}
.fg-gate .fgx-label {display:block;}
.fg-gate .fgx-submit-hint {color:var(--gate-muted);font-size:10px;}
.fg-gate .fgx-touch-hint {display:none;}
.fg-gate .fgx-composer {position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:13px;min-height:65px;padding:8px 18px;border:1px solid #85857e;background:#080808;scroll-margin-block:24px;}
.fg-gate .fgx-composer::after {content:"";position:absolute;inset:-1px;border:1px solid var(--gate-text);opacity:0;pointer-events:none;transition:opacity 160ms ease-out;}
.fg-gate .fgx-composer:focus-within::after {opacity:1;}
.fg-gate .fgx-composer input:focus-visible {outline:none;}
.fg-gate .fgx-composer:has(input[aria-invalid="true"]),.fg-gate .fgx-composer:has(input[aria-invalid="true"])::after {border-style:dashed;}
.fg-gate .fgx-prompt {flex-shrink:0;color:var(--gate-accent);}
.fg-gate input {display:block;min-width:0;width:100%;height:46px;padding:10px 0;border:0;border-radius:0;outline:none;background:transparent;color:var(--gate-text);caret-color:var(--gate-accent);font-size:16px;scroll-margin-block:24px;}
.fg-gate input::placeholder {color:var(--gate-muted);opacity:1;}
.fg-gate input:is(:autofill,:-webkit-autofill) {box-shadow:0 0 0 1000px #080808 inset;-webkit-text-fill-color:var(--gate-text);}
.fg-gate input::selection {background:#343432;color:var(--gate-text);}
.fg-gate .fgx-approval-note {margin-top:13px;color:var(--gate-muted);font-size:10px;}
.fg-gate .fgx-error {margin-top:14px;color:var(--gate-text);font-size:12px;}
.fg-gate .fgx-error:empty {display:none;}
.fg-gate .fgx-sent {display:flex;align-items:center;gap:13px;min-height:65px;padding:15px 18px;border:1px solid var(--gate-rule);color:var(--gate-muted);font-size:14px;outline:none;}
.fg-gate #fgx-sent-email {overflow-wrap:anywhere;min-width:0;}
.fg-gate .fgx-sent-check {margin-left:auto;padding-left:10px;color:var(--gate-muted);}
.fg-gate .fgx-response {padding:25px 0 0;}
.fg-gate .fgx-thinking {display:flex;align-items:center;gap:12px;color:var(--gate-muted);font-size:13px;}
.fg-gate .fgx-thinking-star {display:inline-block;width:20px;text-align:center;color:var(--gate-accent);font-size:20px;line-height:1;animation:fgx-turn 1.2s linear infinite;}
.fg-gate .fgx-dots {animation:fgx-pulse .9s ease-in-out infinite;}
.fg-gate .fgx-result-title {display:flex;align-items:center;gap:12px;color:var(--gate-accent);font-size:14px;font-weight:500;}
.fg-gate .fgx-flag {width:20px;height:20px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.fg-gate .fgx-result-copy {max-width:66ch;margin:13px 0 0 32px;color:var(--gate-muted);font-size:13px;line-height:1.8;text-wrap:pretty;}
.fg-gate .fgx-result-copy p+p {margin-top:12px;}
.fg-gate .fgx-edit-email {min-height:44px;margin:14px 0 0 32px;padding:0;border:0;background:none;color:var(--gate-muted);font-size:11px;text-decoration:underline;text-underline-offset:4px;}
.fg-gate .fgx-edit-email:hover {color:var(--gate-text);}
.fg-gate .fgx-footer {position:relative;padding:18px calc(var(--gate-right) + 52px) max(18px,env(safe-area-inset-bottom,0px)) var(--gate-left);color:var(--gate-muted);font-size:9px;}
.fg-gate .fgx-motion-toggle {position:absolute;right:var(--gate-right);bottom:max(4px,env(safe-area-inset-bottom,0px));display:grid;place-items:center;width:44px;height:44px;border:0;padding:0;background:none;color:var(--gate-muted);}
.fg-gate .fgx-motion-toggle:hover {color:var(--gate-text);}
.fg-gate .fgx-motion-toggle svg {width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;}
.fg-gate .fgx-play-icon,.fg-gate .fgx-motion-toggle[data-paused="true"] .fgx-pause-icon {display:none;}
.fg-gate .fgx-motion-toggle[data-paused="true"] .fgx-play-icon {display:block;}
@keyframes fgx-turn {to {transform:rotate(180deg);}}
@keyframes fgx-pulse {0%,100% {opacity:.35;}50% {opacity:1;}}
@keyframes fgx-prompt-pulse {0%,100% {opacity:1;}50% {opacity:.45;}}
@media(prefers-reduced-motion:no-preference) {
  .fg-gate .fgx-form .fgx-prompt {animation:fgx-prompt-pulse 1.3s ease-in-out .3s 2;}
  .fg-gate .fgx-composer:focus-within .fgx-prompt {animation:none;}
}
@media(hover:hover) and (pointer:fine) {
  .fg-gate .fgx-contacts :where(a,button):hover .fgx-contact-icon {transform:translateY(-2px);}
}
@media(hover:none) and (pointer:coarse) {
  .fg-gate .fgx-keyboard-hint {display:none;}
  .fg-gate .fgx-touch-hint {display:inline;}
}
@media(max-width:680px) {
  .fg-gate .fgx-main {align-items:flex-start;}
  .fg-gate .fgx-path {font-size:11px;}
  .fg-gate .fgx-intro {font-size:13px;margin-top:17px;}
  .fg-gate .fgx-desktop-break {display:none;}
  .fg-gate .fgx-stage {min-height:0;}
  .fg-gate .fgx-sent {font-size:13px;}
  .fg-gate .fgx-result-title {font-size:13px;}
  .fg-gate .fgx-result-copy {font-size:12px;}
  .fg-gate .fgx-approval-note {font-size:10px;}
}
@media(max-width:480px) {
  .fg-gate .fgx-composer {gap:10px;padding:8px 12px;}
}
@media(max-width:360px) {
  .fg-gate .fgx-result-copy {margin-left:0;}
  .fg-gate .fgx-edit-email {margin-left:0;}
}
@media(prefers-reduced-motion:reduce) {
  .fg-gate .fgx-atmosphere-objects {opacity:.65;}
  .fg-gate .fgx-motion-toggle {display:none;}
  .fg-gate .fgx-thinking-star {animation:none;}
  .fg-gate .fgx-dots {animation:none;}
}
.fg-gate .fgx-owner {display:flex;align-items:baseline;gap:17px;min-width:0;}
.fg-gate .fgx-owner-name {color:var(--gate-text);font-size:14px;font-weight:600;}
.fg-gate .fgx-contacts {display:flex;align-items:center;gap:3px;}
.fg-gate .fgx-contacts :where(a,button) {position:relative;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;background:none;color:#a0a09b;text-decoration:none;}
.fg-gate .fgx-contacts :where(a,button)::before {content:"";position:absolute;inset:0;background:#1b1b1a;opacity:0;pointer-events:none;transition:opacity 140ms ease-out;}
.fg-gate .fgx-contacts :where(a,button):focus-visible::before {opacity:1;}
.fg-gate .fgx-contact-icon {position:relative;width:17px;height:17px;fill:currentColor;transition:transform 160ms ease-out;}
.fg-gate .fgx-contact-icon.fgx-globe {fill:none;stroke:currentColor;stroke-width:1.5;}
.fg-gate .fgx-contacts :where(a,button):hover {color:#e3e3df;}
.fg-gate .fgx-contacts [data-tooltip]::after {content:attr(data-tooltip);position:absolute;right:0;top:calc(100% + 6px);z-index:2;padding:4px 8px;border:1px solid #52524e;background:#0d0d0d;color:var(--gate-text);font-size:10px;white-space:nowrap;visibility:hidden;opacity:0;transform:translateY(-2px);pointer-events:none;transition:opacity 120ms ease-out,transform 120ms ease-out,visibility 0s linear 120ms;}
.fg-gate .fgx-contacts [data-tooltip]:focus-visible::after {visibility:visible;opacity:1;transform:translateY(0);transition-delay:0s;}
@media(hover:hover) and (pointer:fine) {
  .fg-gate .fgx-contacts :where(a,button):hover::before {opacity:1;}
  .fg-gate .fgx-contacts [data-tooltip]:hover::after {visibility:visible;opacity:1;transform:translateY(0);transition-delay:160ms,160ms,0s;}
  .fg-gate .fgx-contacts [data-tooltip]:focus-visible::after {transition-delay:0s;}
}
.fg-gate .fgx-discord-card {position:fixed;inset:max(78px,calc(env(safe-area-inset-top,0px) + 78px)) var(--gate-right) auto auto;width:min(290px,calc(100% - var(--gate-left) - var(--gate-right)));max-height:calc(100svh - 110px);overflow:auto;margin:0;padding:20px;border:1px solid #85857e;border-radius:4px;background:#0d0d0d;color:var(--gate-text);font-size:12px;}
.fg-gate .fgx-discord-card:popover-open {display:block;}
.fg-gate .fgx-discord-name {font-weight:600;}
.fg-gate .fgx-discord-card p:not(:first-child) {margin-top:10px;color:var(--gate-muted);}
.fg-gate .fgx-discord-card a {display:inline-flex;align-items:center;min-height:44px;margin-top:10px;}
@media(max-width:680px) {
  .fg-gate .fgx-topbar {gap:8px;}
  .fg-gate .fgx-owner {flex-direction:column;gap:0;}
  .fg-gate .fgx-owner-name {font-size:13px;}
  .fg-gate .fgx-contacts {gap:0;}
}
@media(max-width:319px) {
  .fg-gate .fgx-topbar {grid-template-columns:minmax(0,1fr);gap:4px;}
  .fg-gate .fgx-owner {flex-direction:row;align-items:baseline;gap:12px;}
  .fg-gate .fgx-contacts {justify-self:start;margin-left:-10px;}
  .fg-gate .fgx-discord-card {top:105px;}
}
@media(max-height:700px) {
  .fg-gate .fgx-main {align-items:flex-start;}
  .fg-gate .fgx-stage {min-height:0;}
}
@media(max-height:500px) {
  .fg-gate .fgx-topbar {min-height:64px;padding-block:8px;}
  .fg-gate .fgx-main {padding-top:18px;padding-bottom:20px;}
  .fg-gate .fgx-path {margin-bottom:10px;font-size:11px;}
  .fg-gate .fgx-title {font-size:clamp(26px,calc(18px + 2vw),32px);}
  .fg-gate .fgx-intro {max-width:none;margin-top:12px;font-size:13px;line-height:1.7;}
  .fg-gate .fgx-desktop-break {display:none;}
  .fg-gate .fgx-stage {margin-top:22px;}
}
@media(prefers-reduced-motion:reduce) {
  .fg-gate .fgx-contact-icon {transition:none;}
  .fg-gate .fgx-contacts :where(a,button):hover .fgx-contact-icon {transform:none;}
  .fg-gate .fgx-contacts [data-tooltip]::after {transform:none;transition-property:opacity,visibility;transition-delay:0s,120ms;}
  .fg-gate .fgx-contacts [data-tooltip]:where(:hover,:focus-visible)::after {transition-delay:0s;}
  .fg-gate .fgx-composer::after {transition-duration:120ms;}
}
