/* X & Company — single-theme dark studio screen. Every color painted explicitly. */
:root{
  --bg:#0B0C11; --bg-2:#12141B; --bg-3:#181B24; --line:#23262F; --text:#EEF0F5; --muted:#8C90A3; --dim:#5C6072;
  --tk:#2FC8B3; --tl:#F26A93; --sf:#A3E635; --gold:#E4B85A;
  --display:"Syne", "Arial Black", Impact, sans-serif;
  --body:"IBM Plex Sans", "Helvetica Neue", Arial, sans-serif;
  --mono:"IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible{outline:2px solid var(--text);outline-offset:3px}
.mono{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
h1,h2,h3{font-family:var(--display);margin:0;letter-spacing:-.02em;text-wrap:balance}
.wrap{max-width:1240px;margin:0 auto;padding-inline:clamp(16px,4vw,40px)}

.top{position:sticky;top:0;z-index:10;backdrop-filter:blur(14px);background:color-mix(in srgb,var(--bg) 72%,transparent);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:60px;gap:16px}
.mark{font-family:var(--display);font-weight:800;font-size:20px;letter-spacing:.02em}
.mark b{background:linear-gradient(90deg,var(--tk),var(--tl));-webkit-background-clip:text;background-clip:text;color:transparent}
.top nav{display:flex;gap:26px;font-size:14px;color:var(--muted)}
.top nav a:hover{color:var(--text)}

/* Hero: particle field */
.hero{position:relative;border-bottom:1px solid var(--line);overflow:hidden;isolation:isolate}
.hero canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1}
.hero .wrap{padding-block:clamp(72px,12vw,150px) clamp(48px,7vw,90px);display:grid;grid-template-columns:minmax(0,1fr);gap:24px;justify-items:center;text-align:center}
.hero h1{font-size:clamp(52px,18vw,280px);line-height:.85;font-weight:800;letter-spacing:-.05em;text-shadow:0 0 60px color-mix(in srgb,var(--bg) 80%,transparent);max-width:100%}
.hero h1 .amp{background:linear-gradient(120deg,var(--tk) 20%,var(--tl) 80%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero .tag{font-size:clamp(18px,2.2vw,26px);color:var(--text);max-width:34ch;font-weight:500;line-height:1.3}
.hero .tag span.a{color:var(--tk)} .hero .tag span.b{color:var(--tl)} .hero .tag span.c{color:var(--sf)}
.hero .ctas{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.btn{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:6px;font-weight:600;font-size:14px;border:1px solid var(--line);background:color-mix(in srgb,var(--bg) 70%,transparent);transition:border-color .2s,transform .2s}
.btn:hover{transform:translateY(-1px)}
.btn.a:hover{border-color:var(--tk)} .btn.b:hover{border-color:var(--tl)} .btn.c:hover{border-color:var(--sf)}
.btn i{width:8px;height:8px;border-radius:2px}
.btn.a i{background:var(--tk)} .btn.b i{background:var(--tl)} .btn.c i{background:var(--sf)}
.hero .hint{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}

/* Bento */
.bento{padding-block:clamp(48px,6vw,80px);display:grid;grid-template-columns:repeat(12,1fr);gap:14px}
.card{background:var(--bg-2);border:1px solid var(--line);border-radius:14px;padding:clamp(20px,2.6vw,34px);position:relative;overflow:hidden;transition:border-color .25s,transform .25s}
.card:hover{transform:translateY(-2px)}
.card.tk:hover{border-color:color-mix(in srgb,var(--tk) 60%,var(--line))}
.card.tl:hover{border-color:color-mix(in srgb,var(--tl) 60%,var(--line))}
.card.sf:hover{border-color:color-mix(in srgb,var(--sf) 60%,var(--line))}
.card.tk::before,.card.tl::before,.card.sf::before{content:"";position:absolute;inset:-40% -20% auto;height:70%;border-radius:50%;filter:blur(60px);opacity:.22;pointer-events:none}
.card.tk::before{background:var(--tk)} .card.tl::before{background:var(--tl)} .card.sf::before{background:var(--sf)}
.c5{grid-column:span 5} .c7{grid-column:span 7} .c4{grid-column:span 4} .c12{grid-column:span 12}
.card .lbl{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.card .lbl img{width:44px;height:44px;border-radius:10px;flex:none;object-fit:cover;box-shadow:0 0 0 1px var(--line)}
.card h2{font-size:clamp(30px,3.4vw,46px);line-height:1.02;font-weight:800;margin-bottom:14px}
.card p{color:var(--muted);margin:0 0 18px;max-width:44ch}
.feat{list-style:none;padding:0;margin:0 0 22px;border-top:1px solid var(--line)}
.feat li{padding:10px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;font-size:14px}
.feat li span:last-child{font-family:var(--mono);font-size:11px;color:var(--dim);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.go{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:14px;padding:11px 16px;border-radius:6px;color:var(--bg)}
.card.tk .go{background:var(--tk)} .card.tl .go{background:var(--tl)} .card.sf .go{background:var(--sf)}
.go:hover{filter:brightness(1.08)}
.card.shot{padding:0;display:flex;flex-direction:column}
.card.shot .inner{margin:auto;width:100%;padding:clamp(18px,2.6vw,34px)}

/* Mocks */
.ui{border:1px solid var(--line);border-radius:10px;background:var(--bg-3);overflow:hidden;font-size:12.5px;box-shadow:0 40px 80px -40px #000}
.ui .bar{display:flex;gap:6px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:11px;color:var(--dim)}
.ui .bar i{width:8px;height:8px;border-radius:50%;background:var(--line)}
.ui .bar span{margin-left:auto}
.runs{padding:14px 16px}
.runs .row{display:grid;grid-template-columns:1fr auto auto;gap:14px;padding:9px 0;border-bottom:1px solid var(--line);align-items:center}
.runs .row:last-child{border-bottom:0}
.runs .id{font-family:var(--mono);color:var(--dim);font-size:11px;margin-right:8px}
.st{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:4px}
.st.ok{color:var(--tk);background:color-mix(in srgb,var(--tk) 14%,transparent)}
.st.bad{color:var(--tl);background:color-mix(in srgb,var(--tl) 14%,transparent)}
.st.q{color:var(--gold);background:color-mix(in srgb,var(--gold) 14%,transparent)}
.spark{display:flex;gap:2px;align-items:flex-end;height:18px}
.spark i{width:4px;background:var(--tk);opacity:.7;border-radius:1px}
.spark i.f{background:var(--tl)}
.gate{margin:12px 16px 16px;padding:12px 14px;border-radius:6px;background:color-mix(in srgb,var(--tk) 10%,transparent);border:1px solid color-mix(in srgb,var(--tk) 35%,transparent);display:flex;justify-content:space-between;align-items:center;font-weight:600}
.gate small{font-weight:400;color:var(--muted);display:block;font-size:11.5px}
.story{padding:24px 28px;font-size:15px;line-height:1.7}
.story .t{font-family:var(--display);font-weight:700;font-size:20px;margin-bottom:4px}
.story .by{font-family:var(--mono);font-size:11px;color:var(--dim);letter-spacing:.06em;margin-bottom:16px;display:flex;gap:10px;align-items:center}
.story .by .av{display:inline-flex}
.story .by .av i{width:16px;height:16px;border-radius:50%;border:2px solid var(--bg-3);margin-left:-5px}
.story p{margin:0 0 10px}
.story .m{border-bottom:2px solid color-mix(in srgb,var(--tl) 70%,transparent)}
.story .n{border-bottom:2px solid color-mix(in srgb,var(--tk) 70%,transparent)}
.story .cur{display:inline-block;width:2px;height:1.1em;background:var(--tl);vertical-align:-3px;animation:blink 1s steps(2) infinite}
.story .typing{font-family:var(--mono);font-size:11px;color:var(--tl);letter-spacing:.06em}
@keyframes blink{50%{opacity:0}}
.wall{padding:22px 20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;background:repeating-linear-gradient(0deg,transparent 0 27px,color-mix(in srgb,var(--line) 70%,transparent) 27px 28px),var(--bg-3)}
.wall .tag{transform:rotate(var(--r,0deg));padding:12px 14px;border-radius:8px;background:color-mix(in srgb,var(--bg) 75%,transparent);border:1px solid var(--line);font-family:var(--display);font-weight:800;font-size:17px;line-height:1.1;letter-spacing:-.01em}
.wall .tag b{display:block;font-family:var(--mono);font-weight:500;font-size:11px;letter-spacing:.08em;margin-bottom:6px;color:var(--muted)}
.wall .tag small{display:block;margin-top:8px;font-family:var(--mono);font-weight:400;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--dim)}
.wall .tag.up{color:var(--sf)} .wall .tag.dn{color:var(--tl)} .wall .tag.gd{color:var(--gold)}
.mood{margin:12px 16px 16px;padding:12px 14px;border-radius:6px;background:color-mix(in srgb,var(--sf) 10%,transparent);border:1px solid color-mix(in srgb,var(--sf) 35%,transparent);display:flex;justify-content:space-between;align-items:center;gap:16px;font-weight:600}
.mood small{font-weight:400;color:var(--muted);display:block;font-size:11.5px}
.mood .meter{flex:none;width:90px;height:8px;border-radius:4px;background:var(--tl);overflow:hidden}
.mood .meter i{display:block;height:100%;background:var(--sf)}

/* Principle cards */
.card.p h3{font-size:20px;font-weight:700;margin:12px 0 8px}
.card.p p{font-size:14.5px;margin:0}
.card.p .mono{display:block}

/* Founder quote */
.card.quote{background:var(--bg-3)}
.card.quote::before{content:"";position:absolute;inset:-30% 40% auto -10%;height:80%;border-radius:50%;background:linear-gradient(120deg,var(--tk),var(--tl));filter:blur(80px);opacity:.14;pointer-events:none}
.card.quote blockquote{margin:14px 0 0;font-family:var(--display);font-weight:700;font-size:clamp(22px,2.8vw,36px);line-height:1.3;max-width:54ch;letter-spacing:-.01em}
.card.quote blockquote::before{content:"\201C";color:var(--tk)}
.card.quote blockquote::after{content:"\201D";color:var(--tl)}

footer{border-top:1px solid var(--line);padding-block:48px 56px;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:flex-end}
footer > div{min-width:0;max-width:100%}
footer .mail{display:inline-block;max-width:100%;font-family:var(--display);font-weight:700;font-size:clamp(18px,3.4vw,40px);letter-spacing:-.02em;overflow-wrap:anywhere}
footer .mail:hover{color:var(--tk)}
footer .links{display:flex;flex-wrap:wrap;gap:12px 26px;font-size:14px;color:var(--muted)}
footer .links a:hover{color:var(--text)}
footer .copy{font-size:12.5px;color:var(--dim);width:100%}

/* Migration page */
.top nav a[aria-current="page"]{color:var(--text)}
.mg{position:relative;overflow:hidden;isolation:isolate}
.mg::before{content:"";position:absolute;inset:-20% 30% auto -10%;height:80%;border-radius:50%;background:linear-gradient(120deg,var(--tk),var(--tl));filter:blur(110px);opacity:.14;z-index:-1;pointer-events:none}
.mg-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(28px,5vw,64px);align-items:start;padding-block:clamp(48px,7vw,96px)}
.mg-kicker{display:flex;align-items:center;gap:10px}
.mg-kicker i{width:10px;height:10px;border-radius:2px;background:linear-gradient(135deg,var(--tk),var(--tl))}
.mg-pitch h1{font-size:clamp(34px,4.6vw,62px);line-height:1;font-weight:800;letter-spacing:-.03em;margin:18px 0}
.mg-pitch .grad{background:linear-gradient(120deg,var(--tk) 10%,var(--tl) 90%);-webkit-background-clip:text;background-clip:text;color:transparent}
.mg-lede{font-size:clamp(16px,1.4vw,18px);color:var(--muted);margin:0 0 28px;max-width:52ch}
.mg-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:28px}
.mg-opt{border:1px solid var(--line);border-radius:10px;padding:16px;background:var(--bg-2)}
.mg-opt .mono{display:flex;align-items:center;gap:8px;color:var(--text)}
.mg-opt .mono i{width:8px;height:8px;border-radius:2px}
.mg-opt.tk .mono i{background:var(--tk)} .mg-opt.tl .mono i{background:var(--tl)}
.mg-opt p{margin:8px 0 0;font-size:14px;color:var(--muted)}
.mg-next{list-style:none;padding:0;margin:0;counter-reset:step;display:grid;gap:12px}
.mg-next li{counter-increment:step;display:flex;gap:12px;font-size:14.5px;color:var(--muted)}
.mg-next li::before{content:counter(step,decimal-leading-zero);font-family:var(--mono);font-size:12px;color:var(--tk);padding-top:2px}
.mg-next b{color:var(--text);font-weight:600}

.mg-form-card{background:var(--bg-3)}
.mg-form-card:hover{transform:none}
.mg-form{display:grid;gap:16px}
.mg-form[hidden]{display:none}
.mg-form h2,.mg-done h2{font-size:clamp(24px,2.4vw,30px);line-height:1.1;font-weight:800}
.mg-row2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.mg-form label{display:grid;gap:6px;font-size:13.5px;font-weight:500;min-width:0}
.mg-form label small{font-weight:400;color:var(--dim)}
.mg-form input,.mg-form select,.mg-form textarea{width:100%;font:inherit;font-size:15px;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:10px 12px;transition:border-color .2s}
.mg-form textarea{resize:vertical;min-height:110px}
.mg-form select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 17px) 50%,calc(100% - 12px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:32px}
.mg-form input::placeholder,.mg-form textarea::placeholder{color:var(--dim)}
.mg-form input:focus,.mg-form select:focus,.mg-form textarea:focus{outline:none;border-color:var(--tk)}
.mg-form fieldset{border:0;padding:0;margin:0;min-width:0}
.mg-form legend{font-size:13.5px;font-weight:500;margin-bottom:6px;padding:0}
.mg-choice{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.mg-choice label{position:relative;display:block}
.mg-choice input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.mg-choice span{display:block;height:100%;text-align:center;padding:10px 8px;border:1px solid var(--line);border-radius:6px;background:var(--bg);font-size:13.5px;transition:border-color .2s,background-color .2s}
.mg-choice input:checked + span{border-color:var(--tk);background:color-mix(in srgb,var(--tk) 12%,var(--bg))}
.mg-choice input:focus-visible + span{outline:2px solid var(--text);outline-offset:2px}
.mg-hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.mg-turnstile{min-height:65px}
.mg-submit{font:inherit;font-weight:600;font-size:15px;color:var(--bg);background:linear-gradient(120deg,var(--tk),var(--tl));border:0;border-radius:6px;padding:13px 18px;cursor:pointer;transition:filter .2s,transform .2s}
.mg-submit:hover{filter:brightness(1.08);transform:translateY(-1px)}
.mg-submit:disabled{opacity:.6;cursor:progress;transform:none}
.mg-status{margin:0;font-size:13.5px;color:var(--muted);min-height:1.2em}
.mg-status:empty{display:none}
.mg-status.err{color:var(--tl)}
.mg-fine{margin:0;font-size:13px;color:var(--dim)}
.mg-fine a,.mg-done a{color:var(--text);border-bottom:1px solid var(--line)}
.mg-done{outline:none}
.mg-done h2{margin:10px 0 8px}
.mg-done p{color:var(--muted);margin:0}
.mg-done .mono{color:var(--tk)}

@media (max-width:900px){
  .mg-layout{grid-template-columns:minmax(0,1fr)}
  .c5,.c7,.c4{grid-column:span 12}
  .top nav{display:none}
}
@media (max-width:520px){
  .mg-options,.mg-row2,.mg-choice,.wall{grid-template-columns:minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){.story .cur{animation:none}}
