/* tokens/fonts.css */
/* Geist + Geist Mono from Google Fonts (substitution-free: these ARE the chosen faces) */
@import url("https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700&family=Geist+Mono:wght@400;500;600&display=swap");

/* tokens/colors.css */
:root{
--tc-cyan:#00E0FF;--tc-cyan-hi:#7AF0FF;--tc-cyan-lo:#00A8BF;--tc-cyan-ink:#00161A;
--tc-cyan-a08:rgba(0,224,255,.08);--tc-cyan-a16:rgba(0,224,255,.16);--tc-cyan-a32:rgba(0,224,255,.32);
--n-0:#07090B;--n-50:#0C0F12;--n-100:#12161A;--n-200:#1A1F24;--n-300:#262C33;--n-400:#3A424B;--n-500:#5B6570;--n-600:#8A949E;--n-700:#B8C0C7;--n-900:#EEF2F5;
--tc-green:#3DFFA0;--tc-amber:#FFC23D;--tc-red:#FF4D5E;
--grid-line:rgba(255,255,255,.05);--grid-line-strong:rgba(255,255,255,.09);
/* semantic */
--surface-page:var(--n-0);--surface-raised:var(--n-50);--surface-card:var(--n-100);--surface-input:var(--n-50);--surface-hover:var(--n-200);
--border-subtle:var(--n-200);--border-default:var(--n-300);--border-strong:var(--n-400);--border-accent:var(--tc-cyan);
--text-primary:var(--n-900);--text-secondary:var(--n-700);--text-muted:var(--n-600);--text-faint:var(--n-500);--text-accent:var(--tc-cyan);--text-on-accent:var(--tc-cyan-ink);
--accent:var(--tc-cyan);--accent-hover:var(--tc-cyan-hi);--accent-press:var(--tc-cyan-lo);
--status-success:var(--tc-green);--status-warning:var(--tc-amber);--status-error:var(--tc-red);
}

/* tokens/typography.css */
:root{
--font-display:"Geist",system-ui,sans-serif;--font-body:"Geist",system-ui,sans-serif;--font-mono:"Geist Mono",ui-monospace,Menlo,monospace;
--fs-11:11px;--fs-12:12px;--fs-14:14px;--fs-16:16px;--fs-20:20px;--fs-28:28px;--fs-40:40px;--fs-64:64px;--fs-96:96px;
--fw-regular:400;/* @kind font */--fw-medium:500;/* @kind font */--fw-semibold:600;/* @kind font */--fw-bold:700;/* @kind font */
--lh-tight:0.95;/* @kind font */--lh-snug:1.15;/* @kind font */--lh-body:1.5;/* @kind font */
--tracking-display:-0.035em;--tracking-heading:-0.02em;--tracking-label:0.1em;
/* semantic */
--type-hero-size:var(--fs-96);--type-h1-size:var(--fs-64);--type-h2-size:var(--fs-40);--type-h3-size:var(--fs-28);--type-body-size:var(--fs-16);--type-small-size:var(--fs-14);--type-label-size:var(--fs-11);
}

/* tokens/spacing.css */
:root{
--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px;--sp-9:96px;--sp-10:128px;
--grid-cell:48px;--content-max:1200px;--form-max:560px;
--control-h-sm:32px;--control-h-md:44px;--control-h-lg:56px;
}

/* tokens/effects.css */
:root{
--radius-0:0;--radius-sm:2px;--radius-md:4px;--radius-pill:999px;
--border-w:1px;/* @kind other */
--focus-ring:0 0 0 1px var(--tc-cyan),0 0 0 4px var(--tc-cyan-a16);
--glow-accent:0 0 24px var(--tc-cyan-a32);
--shadow-overlay:0 24px 64px rgba(0,0,0,.6);
--ease-out:cubic-bezier(.2,.8,.2,1);/* @kind other */--dur-fast:120ms;/* @kind other */--dur-base:200ms;/* @kind other */--dur-slow:400ms;/* @kind other */
--bg-grid-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);/* @kind other */--bg-grid-size:var(--grid-cell) var(--grid-cell);
}

/* components/components.css */
.tc-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--font-mono);font-weight:var(--fw-medium);text-transform:uppercase;letter-spacing:var(--tracking-label);border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),transform var(--dur-fast) var(--ease-out);white-space:nowrap}
.tc-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}
.tc-btn:active:not(:disabled){transform:translateY(1px)}
.tc-btn--sm{height:var(--control-h-sm);padding:0 12px;font-size:var(--fs-11)}
.tc-btn--md{height:var(--control-h-md);padding:0 20px;font-size:var(--fs-12)}
.tc-btn--lg{height:var(--control-h-lg);padding:0 28px;font-size:var(--fs-14)}
.tc-btn--primary{background:var(--accent);color:var(--text-on-accent)}
.tc-btn--primary:hover:not(:disabled){background:var(--accent-hover);box-shadow:var(--glow-accent)}
.tc-btn--primary:active:not(:disabled){background:var(--accent-press)}
.tc-btn--secondary{background:transparent;color:var(--text-primary);border-color:var(--border-strong)}
.tc-btn--secondary:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}
.tc-btn--ghost{background:transparent;color:var(--text-muted)}
.tc-btn--ghost:hover:not(:disabled){color:var(--text-primary);background:var(--surface-hover)}
.tc-btn:disabled{opacity:.35;cursor:not-allowed}
.tc-btn--block{width:100%}
.tc-btn__arrow{transition:transform var(--dur-base) var(--ease-out)}
.tc-btn:hover:not(:disabled) .tc-btn__arrow{transform:translateX(3px)}

.tc-field{display:flex;flex-direction:column;gap:8px;min-width:0}
.tc-field__label{display:flex;align-items:baseline;gap:10px;font-family:var(--font-mono);font-size:var(--fs-11);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-muted)}
.tc-field__index{color:var(--accent)}
.tc-field__req{color:var(--text-faint);margin-left:auto}
.tc-input{height:var(--control-h-md);width:100%;box-sizing:border-box;padding:0 14px;background:var(--surface-input);color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:var(--fs-16);transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-base) var(--ease-out);appearance:none}
.tc-input::placeholder{color:var(--text-faint)}
.tc-input:hover:not(:disabled){border-color:var(--border-strong)}
.tc-input:focus{outline:none;border-color:var(--accent);box-shadow:var(--focus-ring)}
.tc-input:disabled{opacity:.4}
.tc-input--error{border-color:var(--status-error)}
.tc-select{background-image:linear-gradient(45deg,transparent 50%,var(--text-muted) 50%),linear-gradient(135deg,var(--text-muted) 50%,transparent 50%);background-position:calc(100% - 19px) 50%,calc(100% - 14px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:36px;cursor:pointer}
.tc-select option{background:var(--n-100);color:var(--text-primary)}
.tc-field__hint{font-size:var(--fs-12);color:var(--text-faint);font-family:var(--font-mono)}
.tc-field__hint--error{color:var(--status-error)}

.tc-seg{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);border:1px solid var(--border-default);border-radius:var(--radius-sm);overflow:hidden}
.tc-seg__opt{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 12px;background:var(--surface-input);border:0;border-right:1px solid var(--border-default);color:var(--text-muted);cursor:pointer;text-align:left;font-family:var(--font-mono);transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}
.tc-seg__opt:last-child{border-right:0}
.tc-seg__opt:hover{background:var(--surface-hover);color:var(--text-primary)}
.tc-seg__opt:focus-visible{outline:none;box-shadow:inset 0 0 0 1px var(--accent)}
.tc-seg__opt[aria-checked="true"]{background:var(--tc-cyan-a08);color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent)}
.tc-seg__lvl{font-size:var(--fs-11);letter-spacing:var(--tracking-label);opacity:.7}
.tc-seg__name{font-size:var(--fs-12);text-transform:uppercase;letter-spacing:.06em;font-weight:var(--fw-medium)}

.tc-chips{display:flex;flex-wrap:wrap;gap:8px}
.tc-chip{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 12px;background:transparent;border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--fs-12);cursor:pointer;transition:all var(--dur-fast) var(--ease-out)}
.tc-chip:hover{border-color:var(--border-strong);color:var(--text-primary)}
.tc-chip:focus-visible{outline:none;box-shadow:var(--focus-ring)}
.tc-chip[aria-pressed="true"]{border-color:var(--accent);color:var(--accent);background:var(--tc-cyan-a08)}
.tc-chip__box{width:10px;height:10px;border:1px solid currentColor;box-sizing:border-box}
.tc-chip[aria-pressed="true"] .tc-chip__box{background:var(--accent)}

.tc-badge{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;font-family:var(--font-mono);font-size:var(--fs-11);letter-spacing:var(--tracking-label);text-transform:uppercase;border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-secondary)}
.tc-badge--accent{color:var(--accent);border-color:var(--tc-cyan-a32);background:var(--tc-cyan-a08)}
.tc-badge--success{color:var(--status-success);border-color:rgba(61,255,160,.3)}
.tc-badge--live::before{content:"";width:6px;height:6px;background:currentColor;border-radius:50%;animation:tc-pulse 1.6s var(--ease-out) infinite}
@keyframes tc-pulse{0%,100%{opacity:1}50%{opacity:.25}}

.tc-panel{position:relative;background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-0)}
.tc-panel--ticks::before,.tc-panel--ticks::after{content:"";position:absolute;width:10px;height:10px;border-color:var(--accent);border-style:solid;pointer-events:none}
.tc-panel--ticks::before{top:-1px;left:-1px;border-width:1px 0 0 1px}
.tc-panel--ticks::after{bottom:-1px;right:-1px;border-width:0 1px 1px 0}
.tc-panel__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;border-bottom:1px solid var(--border-default);font-family:var(--font-mono);font-size:var(--fs-11);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-muted)}
.tc-panel__body{padding:24px 20px}

.tc-wordmark{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-mono);font-weight:var(--fw-semibold);font-size:var(--fs-14);letter-spacing:.04em;text-transform:uppercase;color:var(--text-primary)}
.tc-wordmark__dot{width:8px;height:8px;background:var(--accent);box-shadow:var(--glow-accent)}
.tc-wordmark__city{color:var(--text-muted);font-weight:var(--fw-regular)}


/* site */
*{box-sizing:border-box}
html{color-scheme:dark}
body{margin:0;min-height:100vh;background-color:var(--surface-page);background-image:var(--bg-grid-image);background-size:var(--bg-grid-size);background-attachment:fixed;color:var(--text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased}
a{color:var(--accent)}a:hover{color:var(--accent-hover)}
[hidden]{display:none!important}
.hdr{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 32px;border-bottom:1px solid var(--border-subtle);position:sticky;top:0;background:rgba(7,9,11,.85);backdrop-filter:blur(10px);z-index:5}
.hdr a{text-decoration:none}
.hdr__r{display:flex;align-items:center;gap:16px}
.coords{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;color:var(--text-faint)}
.hero{max-width:var(--content-max);margin:0 auto;padding:96px 32px 64px}
.hero h1{margin:28px 0 0;font-weight:600;font-size:clamp(52px,9vw,112px);line-height:.92;letter-spacing:-.04em;text-wrap:balance}
.cur{color:var(--accent)}
.lede{max-width:520px;margin:28px 0 0;font-size:18px;line-height:1.5;color:var(--text-secondary);text-wrap:pretty}
.cta{display:flex;gap:12px;margin-top:36px;flex-wrap:wrap}
.facts{max-width:var(--content-max);margin:0 auto;padding:0 32px 96px;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.fact-t{font-size:24px;font-weight:600;letter-spacing:-.02em}
.fact-d{color:var(--text-muted);font-size:15px;line-height:1.5;margin-top:8px}
.narrow{max-width:var(--form-max);margin:0 auto;padding:56px 24px 96px}
.h-form{margin:20px 0 8px;font-weight:600;font-size:48px;line-height:1;letter-spacing:-.035em}
.sub{margin:0 0 32px;color:var(--text-muted);font-size:16px}
form{display:flex;flex-direction:column;gap:24px}
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:16px}
.check{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.45;color:var(--text-secondary);cursor:pointer}
.check input{appearance:none;flex:none;width:18px;height:18px;margin:1px 0 0;border:1px solid var(--border-strong);border-radius:2px;background:var(--surface-input);cursor:pointer;display:grid;place-items:center}
.check input:checked{background:var(--accent);border-color:var(--accent)}
.check input:checked::after{content:"";width:8px;height:8px;background:var(--tc-cyan-ink)}
.check input:focus-visible{outline:none;box-shadow:var(--focus-ring)}
.form-err{padding:12px 14px;border:1px solid var(--status-error);color:var(--status-error);font-family:var(--font-mono);font-size:12px}
.welcome h1{margin:24px 0 12px;font-weight:600;font-size:clamp(40px,7vw,64px);line-height:.95;letter-spacing:-.04em}
.row{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:14px 20px;border-top:1px solid var(--border-subtle)}
.row:first-child{border-top:0}
.row b{font-family:var(--font-mono);font-weight:400;font-size:14px}
.ftr{max-width:var(--content-max);margin:0 auto;padding:24px 32px 40px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid var(--border-subtle);font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint)}
.ftr a{color:var(--text-muted);text-decoration:none}.ftr a:hover{color:var(--accent)}
.prose{max-width:680px;margin:0 auto;padding:56px 24px 96px;color:var(--text-secondary);line-height:1.6}
.prose h1{color:var(--text-primary);font-size:44px;letter-spacing:-.035em;line-height:1;margin:0 0 8px}
.prose h2{color:var(--text-primary);font-size:20px;letter-spacing:-.01em;margin:36px 0 8px}
.prose ul{padding-left:20px}
@media (max-width:560px){.hdr{padding:16px 20px}.coords{display:none}.hero{padding:64px 20px 48px}.facts{padding:0 20px 64px}.two{grid-template-columns:1fr}.tc-seg{grid-auto-flow:row;grid-template-columns:1fr 1fr}.tc-seg__opt{border-bottom:1px solid var(--border-default)}}
