@charset "UTF-8";
/* An immersive creative laboratory, scoped to its own route. */
body[data-page="lab"] { --paper:#091b16; --ink:#f0f4e7; --muted:#b0c6b6; --line:#d1e9c32b; background:#091b16; color:var(--ink); }
body[data-page="lab"] .ambient-photo { opacity:.62; mix-blend-mode:normal; background-position:80% 60%; }
body[data-page="lab"] .site-atmosphere::after { content:""; position:absolute; inset:0; background:linear-gradient(100deg,#031710ee 0%,#06241ccc 35%,#08281a65 72%,#0b201965),linear-gradient(0deg,#071c17b3,transparent 60%); }
body[data-page="lab"] .ambient-glow { opacity:.65; background:radial-gradient(ellipse at 88% 8%,#afdc4d50,transparent 45%),radial-gradient(ellipse at 10% 80%,#218f7755,transparent 48%); }
body[data-page="lab"] .ambient-canvas { opacity:.58; mask-image:linear-gradient(100deg,#0003,#000); }
body[data-page="lab"] .ambient-grid { opacity:.6; background-image:linear-gradient(#b7d5ab0a 1px,transparent 1px),linear-gradient(90deg,#b7d5ab0a 1px,transparent 1px); background-size:58px 58px; mask-image:linear-gradient(110deg,transparent,#000); }
body[data-page="lab"] .ambient-orb { opacity:.2; }
body[data-page="lab"] .site-header { background:#082119d9; border-color:#d0edab30; box-shadow:0 14px 44px #00120c40,inset 0 1px #e5f7cc10; }
body[data-page="lab"] .brand-role { color:#a5bdad; }
body[data-page="lab"] .brand-name > span { color:var(--lime); }
body[data-page="lab"] .site-nav .nav-link { color:#c1d2be; }
body[data-page="lab"] .site-nav .nav-link:hover { color:#f5f8e9; background:#dcf6a918; }
body[data-page="lab"] .site-nav .nav-link.is-active { color:#142b1d; background:var(--lime); box-shadow:0 0 28px #d6e96b23; }
body[data-page="lab"] .site-nav .nav-link[data-nav="contact"] { border-color:#b8d79550; }
body[data-page="lab"] .header-note { color:#b8cdb3; }
body[data-page="lab"] .header-note::before { background:var(--lime); }
.lab-page { position:relative; isolation:isolate; padding-top:20px; }
.lab-page .page-heading { position:relative; z-index:1; grid-template-columns:auto minmax(180px,360px); justify-content:start; align-items:end; gap:35px; width:78%; min-height:0; margin-bottom:16px; padding-bottom:14px; border:0; }
.lab-page .page-heading::after { display:none; }
.lab-page .page-heading h1 { font-family:Arial,sans-serif; font-size:clamp(72px,8vw,112px); letter-spacing:-6px; font-weight:700; line-height:.98; }
.lab-page .lab-title-accent { color:#dcf18b; }
.lab-page .page-heading .eyebrow { color:#c2d3b9; letter-spacing:2px; font-size:9px; margin-bottom:17px; }
.lab-page .page-heading .eyebrow::before { content:""; display:inline-block; width:5px; height:5px; background:var(--lime); box-shadow:0 0 15px #d6e96b85; margin-right:10px; vertical-align:2px; }
.lab-page .page-heading .page-lede { font-size:12px; line-height:1.9; color:#bbcfbd; max-width:300px; margin-bottom:5px; }
.lab-scenery { position:absolute; z-index:-1; top:4px; right:0; width:34%; height:230px; pointer-events:none; }
.lab-watermark { position:absolute; right:-3px; top:0; color:transparent; -webkit-text-stroke:1px #d7efb322; font:bold 150px/1 Arial,sans-serif; letter-spacing:-11px; opacity:.9; }
.lab-orbits { position:absolute; width:260px; height:260px; top:-12px; right:13px; transform:rotate(-22deg); }
.lab-orbits::before { content:""; position:absolute; inset:12%; border:1px solid #c5e68635; border-radius:50%; box-shadow:inset 0 0 70px #a2c9560c,0 0 70px #9dd4580a; }
.lab-orbits::after { content:"✳"; position:absolute; left:43%; top:36%; font:64px/1 Arial,sans-serif; color:#d7ee8b; text-shadow:0 0 32px #ccf67255; animation:lab-star-turn 30s linear infinite; }
.lab-orbits i { position:absolute; left:-6%; top:34%; width:112%; height:32%; border:1px solid #c8e7a04d; border-radius:50%; transform:rotate(var(--orbit-angle)); box-shadow:0 0 12px #b9eb990b,inset 0 1px #eaffbb20; }
.lab-orbits i:nth-child(1) { --orbit-angle:0deg; }
.lab-orbits i:nth-child(2) { --orbit-angle:60deg; }
.lab-orbits i:nth-child(3) { --orbit-angle:120deg; }
.lab-orbits i:first-child::after { content:""; position:absolute; top:7%; left:14%; width:9px; height:9px; border-radius:50%; background:#def58a; box-shadow:0 0 16px #d7ed78ad; animation:lab-point-pulse 4s ease-in-out infinite alternate; }
.lab-coordinate { position:absolute; right:11px; bottom:24px; padding-top:9px; border-top:1px solid #d1e9b333; font:8px/1.5 monospace; letter-spacing:2.2px; color:#a8c396; }
.lab-page .filter-bar { position:relative; display:flex; flex-wrap:wrap; gap:7px; margin-bottom:20px; padding-top:16px; border-top:1px solid #cfe7b52b; }
.lab-page .filter-bar::before { content:""; position:absolute; top:-2px; left:0; width:64px; height:3px; background:var(--lime); box-shadow:0 0 18px #d5ed6b60; }
.lab-page .filter-button { min-height:40px; padding:9px 15px; background:#efffd508; border:1px solid #d0edab30; border-radius:4px; color:#bdcfb6; }
.lab-page .filter-button:hover { background:#d5ed8e19; border-color:#cfed8e77; }
.lab-page .filter-button.is-empty { color:#a7b9a3; background:#efffd505; border-color:#d0edab20; }
.lab-page .filter-button.is-active { color:#152a1c; background:#def18a; border-color:#def18a; box-shadow:0 0 24px #d4ea7714; }
.lab-page .filter-button .count { color:inherit; opacity:.7; }
.lab-page .experiment-feature { position:relative; grid-template-columns:1.15fr 1fr; background:#0c251eea; border:1px solid #c2e79440; border-radius:12px; box-shadow:0 25px 65px #00100d65,inset 0 1px #e9f6c610; }
.lab-page .experiment-feature::after { content:""; position:absolute; width:32px; height:3px; top:0; right:25px; background:#deef92; box-shadow:0 0 17px #def18a66; pointer-events:none; }
.lab-page .experiment-cover { min-height:300px; border-right:1px solid #d3ebaf2b; }
.lab-page .experiment-cover img { filter:saturate(.95); }
.lab-page .experiment-cover .play-mark { width:64px; height:64px; background:#102a1c8c; border-color:#e8f6bc99; backdrop-filter:blur(10px); }
.lab-page .experiment-cover:hover .play-mark { background:#def18a; color:#193421; }
.lab-page .experiment-content { position:relative; padding:30px; background:radial-gradient(ellipse at 100% 0,#9bc64c12,transparent 66%); }
.lab-page .experiment-meta { color:#a6c497; font-size:9px; }
.lab-page .experiment-feature h2 { color:#f1f4e3; font-size:34px; margin-bottom:13px; }
.lab-page .experiment-feature h2 a { display:flex; align-items:center; justify-content:space-between; gap:15px; }
.lab-page .experiment-feature h2 a > span { color:#d5ed8d; font-size:30px; font-weight:400; }
.lab-page .experiment-feature p { color:#b2c6b6; font-size:12px; line-height:1.95; margin-bottom:22px; }
.lab-page .experiment-actions { flex-direction:row; flex-wrap:wrap; gap:10px; max-width:none; }
.lab-page .experiment-actions .button { border-radius:4px; padding:11px 16px; min-height:43px; font-size:11px; gap:17px; white-space:nowrap; }
.lab-page .button-primary { background:#def18a; border-color:#def18a; color:#152d1d; }
.lab-page .button-primary:hover { background:#ecf6b3; }
.lab-page .experiment-actions .button-outline { border:1px solid #cce5af47; background:#e5fac705; color:#dbe8ce; }
.lab-page .experiment-actions .button-outline:hover { background:#def18a17; border-color:#def18a9c; }
.lab-page .duration { background:#092119d9; color:#e6f4cb; border:1px solid #ddedb72b; padding:4px 8px; font-variant-numeric:tabular-nums; }
.lab-page .empty-state { background:#0c251dd9; border:1px solid #c1df9a36; color:#e8f0d9; }
.lab-page .empty-state .eyebrow { color:#d7ee8d; }
.lab-page .empty-state p { color:#aabea9; }
.lab-page .empty-state .text-button { color:#dfef9e; }
body[data-page="lab"] .site-footer { border-color:#cce0b52b; color:#b4c7ac; }
body[data-page="lab"] .motion-toggle { color:#bdcdb0; border-color:#c8e2a62e; }
html.motion-paused .lab-orbits::after,html.motion-paused .lab-orbits i::after,html.motion-suspended .lab-orbits::after,html.motion-suspended .lab-orbits i::after { animation-play-state:paused; }
@keyframes lab-star-turn { to { rotate:360deg; } }
@keyframes lab-point-pulse { to { opacity:.45; box-shadow:0 0 26px #d7ed78a0; } }
@media(max-width:1100px) and (min-width:761px) {
  .lab-page .page-heading { width:80%; gap:24px; }
  .lab-page .page-heading h1 { font-size:80px; }
  .lab-page .page-heading .page-lede { max-width:220px; font-size:11px; }
  .lab-orbits { width:210px; height:210px; top:7px; right:-5px; }
  .lab-watermark { font-size:125px; top:30px; }
  .lab-page .experiment-content { padding:24px; }
  .lab-page .experiment-feature h2 { font-size:30px; }
}
@media(max-width:760px) {
  body[data-page="lab"] .site-nav { background:#08231bf5; border-color:#c4ddab3d; }
  body[data-page="lab"] .menu-toggle { color:#e0edce; border-color:#cbe6ad40; background:#d3ee9609; }
  .lab-page { padding-top:32px; }
  .lab-page .page-heading { width:100%; display:block; min-height:0; padding-bottom:0; margin-bottom:25px; }
  .lab-page .page-heading h1 { font-size:70px; letter-spacing:-4px; }
  .lab-page .page-heading .eyebrow { font-size:8px; letter-spacing:1.6px; margin-bottom:15px; }
  .lab-page .page-heading .page-lede { max-width:260px; margin-top:20px; margin-bottom:0; font-size:11px; }
  .lab-scenery { top:7px; right:0; width:150px; height:210px; opacity:.6; overflow:hidden; }
  .lab-orbits { width:146px; height:146px; top:0; right:-17px; }
  .lab-orbits::after { font-size:38px; }
  .lab-orbits i { border-color:#d8ef9c44; }
  .lab-orbits i:first-child::after { width:6px; height:6px; }
  .lab-watermark { top:60px; font-size:75px; letter-spacing:-7px; opacity:.5; }
  .lab-coordinate { display:none; }
  .lab-page .filter-bar { padding-top:17px; gap:6px; margin-bottom:22px; }
  .lab-page .filter-button { padding:8px 10px; min-height:37px; font-size:10px; }
  .lab-page .filter-button .count { font-size:8px; margin-left:5px; }
  .lab-page .experiment-feature { grid-template-columns:1fr; border-radius:10px; }
  .lab-page .experiment-cover { height:auto; min-height:0; aspect-ratio:16/9; border-right:0; border-bottom:1px solid #d3ebaf2b; }
  .lab-page .experiment-cover .play-mark { width:54px; height:54px; }
  .lab-page .experiment-content { padding:24px 21px; }
  .lab-page .experiment-meta { font-size:8px; }
  .lab-page .experiment-feature h2 { font-size:29px; }
  .lab-page .experiment-feature p { font-size:11px; margin-bottom:21px; }
  .lab-page .experiment-actions { flex-direction:column; gap:9px; }
  .lab-page .experiment-actions .button { min-height:43px; justify-content:space-between; }
}
@media(prefers-reduced-motion:reduce) { .lab-orbits::after,.lab-orbits i::after { animation:none; } }
