/* Homepage landing (closed-desktop state). Loaded only by / and /en/. Always dark: it is
   the "screen" in front of the workshop. The early flag hides the workspace before JS runs. */
html[data-landing] [data-ide-workspace]{visibility:hidden}
html[data-landing] .ide-landing{display:block!important}
.ide-desktop-home.ide-landing{display:block;justify-content:initial;align-items:initial;text-align:left;padding:0;overflow:auto;
  background:radial-gradient(1100px 700px at 75% 35%,rgba(102,0,255,.28),transparent 65%),radial-gradient(800px 600px at 5% 95%,rgba(255,63,207,.14),transparent 70%),radial-gradient(700px 500px at 95% 90%,rgba(47,211,230,.12),transparent 70%),#07040f;color:#f5f3ff;font-family:'Poppins',system-ui,sans-serif}
.ide-landing>*{max-width:1240px;margin-inline:auto;padding-inline:clamp(16px,4vw,48px)}
.ide-landing a{color:inherit;text-decoration:none}
.ide-landing a:focus-visible,.ide-landing button:focus-visible{outline:2px solid #00ffd1;outline-offset:3px;border-radius:6px}
.lnd-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-block:22px}
.lnd-brand{display:flex;align-items:center;gap:10px;font:800 18px 'Exo 2',sans-serif;letter-spacing:.01em}
.lnd-brand img{width:32px;height:32px;margin:0;filter:none}
.lnd-brand b{color:#d59bff}
.lnd-bar nav{display:flex;gap:22px;flex-wrap:wrap;font-size:14px;color:#b9b3d6}
.lnd-bar nav a:hover{color:#fff}
.lnd-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(28px,5vw,72px);align-items:center;padding-block:clamp(24px,6vh,64px) clamp(28px,5vh,48px)}
@media (max-width:900px){.lnd-hero{grid-template-columns:1fr}.lnd-media{justify-self:center}}
.lnd-kicker{display:flex;align-items:center;gap:10px;margin:0 0 20px;max-width:none;font:500 12px 'IBM Plex Mono',monospace;letter-spacing:.14em;color:#00ffd1}
.lnd-dot{width:8px;height:8px;border-radius:50%;background:#00ffd1;box-shadow:0 0 12px #00ffd1;animation:lnd-pulse 2s infinite}
@keyframes lnd-pulse{50%{opacity:.35}}
.ide-landing .lnd-title{margin:0;font:800 clamp(52px,8.2vw,112px)/.92 'Exo 2',sans-serif;letter-spacing:-.02em;color:#f5f3ff;text-wrap:balance}
.lnd-title em{font-style:normal;background:linear-gradient(90deg,#8bd83a,#2fd3e6 30%,#a24bff 65%,#ff3fcf);-webkit-background-clip:text;background-clip:text;color:transparent}
.ide-landing .lnd-lede{max-width:34em;margin:24px 0 0;font-size:clamp(16px,1.5vw,19px);line-height:1.6;color:#cbc7db}
.lnd-ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.ide-landing .lnd-enter{display:inline-flex;align-items:center;gap:10px;font:600 16px 'Poppins',sans-serif;color:#fff;background:#6600ff;border:0;border-radius:999px;padding:15px 24px;cursor:pointer;box-shadow:0 12px 40px -10px rgba(102,0,255,.8),0 0 0 1px rgba(213,155,255,.4) inset;transition:transform .15s,box-shadow .15s}
.ide-landing .lnd-enter:hover{transform:translateY(-1px);box-shadow:0 16px 50px -10px rgba(102,0,255,.95),0 0 0 1px rgba(213,155,255,.6) inset}
.ide-landing .lnd-enter svg{width:18px;height:18px}
.ide-landing .lnd-enter kbd{font:500 12px 'IBM Plex Mono',monospace;border:1px solid rgba(255,255,255,.35);border-radius:6px;padding:1px 6px;opacity:.8}
.lnd-ghost{display:inline-flex;align-items:center;font:600 16px 'Poppins',sans-serif;border:1px solid rgba(226,210,255,.3);border-radius:999px;padding:14px 22px}
.lnd-ghost:hover{border-color:#d59bff}
.ide-landing .lnd-space{display:flex;flex-wrap:wrap;gap:12px;align-items:baseline;margin:26px 0 0;max-width:none;font-size:15px;color:#b9b3d6}
.lnd-space a{font:600 18px 'IBM Plex Mono',monospace;color:#00ffd1}
.lnd-media{position:relative;width:min(100%,340px)}
.lnd-reel{display:block;width:100%;aspect-ratio:9/16;border-radius:26px;background:#07040f;border:1px solid rgba(226,210,255,.25);box-shadow:0 40px 120px -30px rgba(102,0,255,.8),0 0 0 3px rgba(162,75,255,.35),0 0 80px rgba(47,211,230,.18)}
.ide-landing .lnd-sound{position:absolute;right:12px;bottom:12px;font:600 13px 'Poppins',sans-serif;color:#fff;background:rgba(7,4,15,.75);border:1px solid rgba(226,210,255,.35);border-radius:999px;padding:7px 12px;cursor:pointer;backdrop-filter:blur(6px)}
.lnd-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-block:1px solid rgba(226,210,255,.12)}
.lnd-stats div{padding:20px 18px;border-left:1px solid rgba(226,210,255,.12)}
.lnd-stats div:first-child{border-left:0;padding-left:0}
.lnd-stats b{display:block;font:800 clamp(28px,3.2vw,42px)/1 'Exo 2',sans-serif;font-variant-numeric:tabular-nums;background:linear-gradient(180deg,#fff,#b98bff);-webkit-background-clip:text;background-clip:text;color:transparent}
.lnd-stats span{display:block;margin-top:8px;font-size:13px;line-height:1.4;color:#b9b3d6}
@media (max-width:760px){.lnd-stats{grid-template-columns:1fr 1fr}.lnd-stats div:nth-child(3){border-left:0;padding-left:0}.lnd-stats div:nth-child(n+3){border-top:1px solid rgba(226,210,255,.12)}}
.lnd-projects{padding-block:26px 8px}
.ide-landing .lnd-projects>p{margin:0 0 12px;max-width:none;font:500 12px 'IBM Plex Mono',monospace;letter-spacing:.14em;color:#8f89a8}
.lnd-projects>div{display:flex;flex-wrap:wrap;gap:10px}
.lnd-projects a{display:inline-flex;align-items:center;gap:8px;font-size:14px;border:1px solid rgba(226,210,255,.18);border-radius:999px;padding:8px 14px;background:rgba(24,17,39,.6)}
.lnd-projects a:hover{border-color:#00ffd1}
.lnd-projects i{width:7px;height:7px;border-radius:50%;background:#00ffd1;box-shadow:0 0 8px #00ffd1}
.lnd-q4{display:flex;flex-wrap:wrap;gap:14px;align-items:center;padding-block:22px 40px;font-size:15px;color:#cbc7db}
.lnd-q4 span{display:inline-flex;gap:6px}
.lnd-q4 span i{width:26px;height:10px;border-radius:3px;background:#a24bff;box-shadow:0 0 12px rgba(162,75,255,.8)}
.lnd-q4 a{font-weight:600;color:#d59bff}
@media (prefers-reduced-motion:reduce){.lnd-dot{animation:none}.ide-landing .lnd-enter{transition:none}}

/* The shared closed-desktop decorations (orbit ring) do not belong on the landing. */
.ide-desktop-home.ide-landing::before,.ide-desktop-home.ide-landing::after{content:none;display:none}
.ide-landing .lnd-enter{min-height:0;font:600 16px 'Poppins',sans-serif}
.ide-landing .lnd-enter svg{fill:none;stroke:currentColor;stroke-width:1.6}
.ide-landing .lnd-sound{min-height:0;gap:6px}
@media (max-width:600px){.lnd-bar nav a:not(:first-child){display:none}.ide-landing .lnd-enter,.lnd-ghost{width:100%;justify-content:center}}
