@import "https://fonts.googleapis.com/css2?family=Baloo+2:wght@700;800&family=Nunito:wght@600;700;800&display=swap";@import "https://fonts.googleapis.com/css2?family=Baloo+2:wght@600;700;800&family=IBM+Plex+Mono:wght@500;600&family=Nunito:wght@600;700;800&display=swap";*{box-sizing:border-box}body{color:#17364d;background:radial-gradient(circle at 12% 8%,#6fd8a238,#0000 42%),radial-gradient(circle at 88% 18%,#ffaf6833,#0000 38%),linear-gradient(#eff9ff 0%,#edf7ff 56%,#f5fbf3 100%);margin:0;font-family:Nunito,Segoe UI,sans-serif}#root{min-height:100vh}.admin-page{--admin-ink:#12384f;--admin-muted:#3f5d72;--admin-teal:#0f7f8a;--admin-coral:#e85f22;--admin-ok:#1f8a5b;--admin-warn:#b86b00;--admin-bad:#b42318;min-height:100vh;color:var(--admin-ink);background:radial-gradient(circle at 12% 0,#7ec8ff59,#0000 42%),radial-gradient(circle at 90% 10%,#6fd8a238,#0000 40%),linear-gradient(#eef9ff 0%,#f7fcf4 100%);font-family:Nunito,sans-serif}.admin-topbar{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffb8;border-bottom:1px solid #c7e4f4;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.9rem 1.25rem;display:flex}.admin-brand{align-items:center;gap:.55rem;margin:0 auto 0 0;font-family:"Baloo 2",sans-serif;font-size:1.45rem;font-weight:800;display:inline-flex}.admin-brand-logo{object-fit:contain;background:#fff;border:2px solid #c7e4f4;border-radius:10px;width:36px;height:36px}.admin-setup-card{background:linear-gradient(#fff8f1,#fff);border:2px solid #f0b27a;border-radius:16px;margin:0 0 1.25rem;padding:1rem 1.1rem 1.15rem}.admin-setup-card h2{margin:0 0 .5rem;font-family:"Baloo 2",sans-serif;font-size:1.35rem}.admin-setup-card p,.admin-setup-card li{color:var(--admin-muted);font-weight:700;line-height:1.4}.admin-setup-card ol{margin:.5rem 0 .85rem;padding-left:1.25rem}.admin-setup-card a{color:#0f5770;font-weight:800}.admin-setup-note{color:var(--admin-ok);margin:.65rem 0 0;font-weight:800}.admin-topbar button,.admin-btn{appearance:none;color:#0f5770;font:inherit;cursor:pointer;background:#fff;border:2px solid #9ed0e8;border-radius:12px;padding:.55rem .85rem;font-weight:800;text-decoration:none;display:inline-block}.admin-topbar button:hover,.admin-btn:hover{background:#f3fbff}.admin-btn:disabled{opacity:.55;cursor:not-allowed}.admin-btn-danger{color:#8a1f1a;background:#fff5f4;border-color:#f0a8a0}.admin-btn-primary{color:#0f5a3d;background:#edfff6;border-color:#7ec8a8}.admin-main{width:min(100% - 2rem,1100px);margin:0 auto;padding:1.25rem 0 2.5rem}.admin-lead{color:var(--admin-muted);max-width:60ch;margin:0 0 1rem;font-weight:700}.admin-help{color:var(--admin-muted);max-width:70ch;margin:0 0 .85rem;font-weight:700;line-height:1.4}.admin-tabs{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.admin-tab{color:var(--admin-ink);font:inherit;cursor:pointer;background:#fffc;border:2px solid #b9d9ec;border-radius:999px;padding:.45rem .9rem;font-weight:800}.admin-tab-active{color:#0b5a62;background:#dff7f4;border-color:#0f7f8a}.admin-status{border-radius:12px;margin:0 0 1rem;padding:.65rem .8rem;font-weight:800}.admin-status-info{color:#0f5770;background:#e8f6ff;border:1.5px solid #9ed0e8}.admin-status-error{color:#8a1f1a;background:#fff1f0;border:1.5px solid #f0a8a0}.admin-status-success{color:#0f5a3d;background:#edfff6;border:1.5px solid #7ec8a8}.admin-panel{background:#ffffffeb;border:2px solid #c7e4f4;border-radius:18px;padding:1rem;overflow:auto}.admin-panel h2{margin:0 0 .75rem;font-family:"Baloo 2",sans-serif;font-size:1.35rem}.admin-toolbar{flex-wrap:wrap;align-items:end;gap:.6rem;margin-bottom:.9rem;display:flex}.admin-field{color:var(--admin-muted);gap:.25rem;font-size:.88rem;font-weight:800;display:grid}.admin-field input,.admin-field select{font:inherit;color:var(--admin-ink);background:#fff;border:2px solid #b9d9ec;border-radius:10px;min-width:12rem;padding:.5rem .65rem;font-weight:700}.admin-table{border-collapse:collapse;width:100%;font-size:.92rem}.admin-table th,.admin-table td{text-align:left;vertical-align:top;border-bottom:1px solid #d7ebf6;padding:.55rem .45rem}.admin-table th{color:var(--admin-muted);white-space:nowrap;font-weight:800}.admin-table code{background:#eef7ff;border-radius:6px;padding:.1rem .3rem;font-size:.85em}.admin-pill{border-radius:999px;padding:.15rem .55rem;font-size:.8rem;font-weight:800;display:inline-block}.admin-pill-ok{color:var(--admin-ok);background:#dff7ea}.admin-pill-warn{color:var(--admin-warn);background:#fff3d9}.admin-pill-bad{color:var(--admin-bad);background:#ffe3e0}.admin-pill-muted{color:#456177;background:#e8eef3}.admin-actions{flex-wrap:wrap;gap:.35rem;display:flex}.admin-access-cell{gap:.4rem;min-width:11rem;display:grid}.admin-access-change{display:block;position:relative}.admin-access-select{font:inherit;color:var(--admin-ink);background:#fff;border:2px solid #b9d9ec;border-radius:10px;width:100%;padding:.4rem .55rem;font-weight:700}.admin-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.admin-actions .admin-btn{padding:.35rem .55rem;font-size:.82rem}.admin-empty{color:var(--admin-muted);margin:.5rem 0 0;font-weight:700}@media (width<=720px){.admin-table{font-size:.84rem}.admin-field input,.admin-field select{min-width:100%}}.auth-modal-overlay{z-index:1200;background:#102a3d73;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.auth-modal{color:#184866;background:linear-gradient(#fff 0%,#f4fbff 100%);border:2px solid #c7d9e8;border-radius:22px;flex-direction:column;gap:.85rem;width:min(100%,440px);max-height:min(92vh,720px);padding:1.1rem 1.15rem 1.25rem;font-family:Nunito,sans-serif;display:flex;overflow:auto;box-shadow:0 22px 48px #102a3d38}.auth-modal-header{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.auth-modal-kicker{letter-spacing:.04em;text-transform:uppercase;color:#3f7ea8;margin:0;font-size:.78rem;font-weight:800}.auth-modal-header h2{color:#0f3d5c;margin:.15rem 0 .35rem;font-family:"Baloo 2",sans-serif;font-size:1.55rem;line-height:1.15}.auth-modal-lead{color:#4e6476;max-width:30ch;margin:0;font-size:.9rem}.auth-modal-close{color:#184866;cursor:pointer;background:#fff;border:1.5px solid #c7d9e8;border-radius:999px;flex-shrink:0;padding:.35rem .75rem;font-weight:800}.auth-modal-close:hover{background:#eef8ff;border-color:#9ec9e8}.auth-modal-status{border-radius:12px;margin:0;padding:.65rem .75rem;font-size:.88rem;font-weight:700}.auth-modal-status-info{color:#124064;background:#eaf6ff;border:1px solid #b7d8ef}.auth-modal-status-success{color:#17633a;background:#e8f8ee;border:1px solid #b6e4c6}.auth-modal-status-error{color:#9b2c2c;background:#fff1f0;border:1px solid #f0c2c2}.auth-modal-tabs{background:#e8f3fb;border-radius:14px;grid-template-columns:1fr 1fr;gap:.4rem;padding:.25rem;display:grid}.auth-modal-tab{color:#3f5f75;cursor:pointer;background:0 0;border:none;border-radius:11px;padding:.55rem .4rem;font-weight:800}.auth-modal-tab.active{color:#0f3d5c;background:#fff;box-shadow:0 2px 8px #1848661f}.auth-modal-form{flex-direction:column;gap:.7rem;display:flex}.auth-modal-label{color:#184866;flex-direction:column;gap:.3rem;font-size:.86rem;font-weight:800;display:flex}.auth-modal-label input{font:inherit;color:#0f3d5c;background:#fff;border:1.5px solid #c7d9e8;border-radius:12px;padding:.65rem .75rem;font-weight:700}.auth-modal-label input:focus{outline-offset:1px;border-color:#63b3ff;outline:2px solid #63b3ff}.auth-modal-label input:disabled{opacity:.7;background:#f3f8fc}.auth-modal-submit{color:#8a3a12;cursor:pointer;background:linear-gradient(#fff4ea,#ffe4cc);border:2px solid #ffb072;border-radius:14px;padding:.75rem .9rem;font-size:.98rem;font-weight:800}.auth-modal-submit:hover:not(:disabled){filter:brightness(1.02)}.auth-modal-submit:disabled{opacity:.65;cursor:not-allowed}.auth-modal-linkish{color:#1d76c4;text-underline-offset:.12rem;cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:.15rem;font-size:.86rem;font-weight:800;text-decoration:underline}.auth-modal-divider{color:#6a8092;grid-template-columns:1fr auto 1fr;align-items:center;gap:.55rem;font-size:.8rem;font-weight:800;display:grid}.auth-modal-divider:before,.auth-modal-divider:after{content:"";background:#d5e7f5;height:1px}.auth-modal-google{color:#3c4043;cursor:pointer;background:#fff;border:1px solid #dadce0;border-radius:14px;justify-content:center;align-items:center;gap:.55rem;padding:.7rem .9rem;font-size:.95rem;font-weight:700;display:inline-flex;box-shadow:0 1px 2px #3c404333}.auth-modal-google:hover:not(:disabled){background:#f8f9fa;border-color:#c6c8cc;box-shadow:0 2px 5px #3c404340}.auth-modal-google:disabled{opacity:.65;cursor:not-allowed}.auth-modal-google-icon{justify-content:center;align-items:center;width:1.1rem;height:1.1rem;display:inline-flex}.auth-modal-google-label{letter-spacing:.01em}.landing-page{--landing-ink:#12384f;--landing-muted:#3f5d72;--landing-coral:#ff7a3d;--landing-coral-deep:#e85f22;--landing-teal:#0f7f8a;--landing-foam:#e8f8ff;min-height:100vh;color:var(--landing-ink);background:#e8f8ff;font-family:Nunito,sans-serif;overflow-x:hidden}.landing-page a{color:inherit}.landing-skip{z-index:20;background:#fff;padding:.5rem .75rem;position:absolute;top:0;left:-999px}.landing-skip:focus{top:.75rem;left:.75rem}.landing-topbar{z-index:5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#e8f8ffb8;border-bottom:1px solid #9ed0e8b3;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;padding:.85rem 1.25rem;display:flex;position:relative}.landing-topbar-note{color:var(--landing-muted);margin:0 auto 0 0;font-size:.92rem;font-weight:700}.landing-topbar-user{color:#0d3a52;align-items:center;gap:.45rem;margin-right:auto;font-weight:700;display:inline-flex}.landing-topbar-user strong{font-weight:800}.landing-avatar{object-fit:cover;border-radius:10px;width:28px;height:28px}.landing-avatar-fallback{color:#0f5770;background:#dff4ff;justify-content:center;align-items:center;font-size:.8rem;font-weight:800;display:inline-flex}.landing-topbar-login{padding:.55rem .9rem;font-size:.92rem}.landing-auth-message{color:#8a3a12;background:#fff4eaeb;border:1.5px solid #ffb072;border-radius:12px;max-width:36ch;margin:0 0 .9rem;padding:.55rem .7rem;font-size:.92rem;font-weight:800;line-height:1.35}.landing-hero{isolation:isolate;align-items:end;min-height:calc(100dvh - 64px);display:grid;position:relative}.landing-hero-art-wrap{z-index:0;position:absolute;inset:0;overflow:hidden}.landing-hero-art{object-fit:cover;object-position:right center;shape-rendering:geometricprecision;text-rendering:geometricprecision;-webkit-font-smoothing:antialiased;backface-visibility:hidden;width:100%;height:100%;display:block;transform:translateZ(0)}.landing-hero-shade{z-index:1;pointer-events:none;background:linear-gradient(#e8f8ff2e 0%,#e8f8ff0d 38%,#12384f47 100%),linear-gradient(90deg,#e8f8ffb8 0%,#e8f8ff59 42%,#e8f8ff0d 70%);position:absolute;inset:0}.landing-hero-copy{z-index:2;width:min(100% - 2rem,560px);margin:0 0 3.5rem 1.25rem;padding:0;animation:.9s ease-out both landing-rise;position:relative}.landing-brand-lockup{align-items:center;gap:.85rem;margin:0 0 .85rem;display:flex}.landing-brand-logo{object-fit:contain;background:#ffffffe0;border:3px solid #9ed0e8d9;border-radius:18px;flex-shrink:0;width:clamp(3.4rem,9vw,5.5rem);height:clamp(3.4rem,9vw,5.5rem);box-shadow:0 8px 18px #12384f1f}.landing-brand{letter-spacing:-.02em;color:#0d3a52;text-shadow:0 1px #ffffff59;margin:0;font-family:"Baloo 2",sans-serif;font-size:clamp(2.4rem,7vw,4.2rem);font-weight:800;line-height:.95}.landing-headline{color:#184866;max-width:28ch;margin:0 0 .75rem;font-family:"Baloo 2",sans-serif;font-size:clamp(1.45rem,3.6vw,2rem);font-weight:700;line-height:1.15}.landing-support{color:var(--landing-muted);max-width:42ch;margin:0 0 1.4rem;font-size:clamp(1rem,2.2vw,1.15rem);font-weight:700;line-height:1.45}.landing-cta-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.landing-cta{appearance:none;cursor:pointer;border:none;border-radius:14px;padding:.85rem 1.25rem;font-family:Nunito,sans-serif;font-size:1rem;font-weight:800;transition:transform .2s,background .2s,color .2s}.landing-cta:focus-visible{outline-offset:3px;outline:3px solid #63b3ff}.landing-cta-primary{background:linear-gradient(180deg, #ff9a5c, var(--landing-coral));color:#4a1d08;box-shadow:0 8px #d45a1c}.landing-cta-primary:hover{background:linear-gradient(#ffb07a,#ff8a4d);transform:translateY(-2px)}.landing-cta-primary:active{transform:translateY(2px);box-shadow:0 4px #d45a1c}.landing-cta-secondary{color:#0f5770;background:#ffffffd1;border:2px solid #9ed0e8}.landing-cta-secondary:hover{background:#fff;transform:translateY(-1px)}.landing-hero-art{--hero-loop:18s}.hero-ui-label,.hero-block-text{fill:#fff;paint-order:stroke fill;stroke:#0c283a73;stroke-width:2.25px;letter-spacing:.01em;font-family:Nunito,sans-serif;font-size:20px;font-weight:800}.hero-ui-label{fill:#12384f;stroke:#ffffff8c;stroke-width:2.5px;font-family:"Baloo 2",sans-serif;font-size:27px}.hero-ui-label-blocks{animation:hero-label-blocks var(--hero-loop) ease-in-out infinite}.hero-ui-label-code{opacity:0;animation:hero-label-code var(--hero-loop) ease-in-out infinite}.hero-block-text-dark{fill:#3b2a0d;stroke:#ffffff8c}.hero-slot-guides{pointer-events:none}.hero-blocks-layer{animation:hero-blocks-layer-fade var(--hero-loop) ease-in-out infinite}.hero-code-layer{opacity:0;animation:hero-code-layer-fade var(--hero-loop) ease-in-out infinite}.hero-code-caption{fill:#7eb6da;font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:500}.hero-code-text{fill:#e8f8ff;font-family:IBM Plex Mono,monospace;font-size:17px;font-weight:600}.hero-code-kw{fill:#ff9f6b}.hero-code-fn{fill:#7dffb2}.hero-code-var{fill:#9adfff}.hero-code-num{fill:#ffd84a}.hero-code-paren{fill:#d7e8f4}.hero-code-line{opacity:0;transform-box:fill-box;transform-origin:0}.hero-code-line-1{animation:hero-code-type-1 var(--hero-loop) cubic-bezier(.2, .85, .25, 1) infinite}.hero-code-line-2{animation:hero-code-type-2 var(--hero-loop) cubic-bezier(.2, .85, .25, 1) infinite}.hero-code-line-3{animation:hero-code-type-3 var(--hero-loop) cubic-bezier(.2, .85, .25, 1) infinite}.hero-code-line-4{animation:hero-code-type-4 var(--hero-loop) cubic-bezier(.2, .85, .25, 1) infinite}.hero-code-line-5{animation:hero-code-type-5 var(--hero-loop) cubic-bezier(.2, .85, .25, 1) infinite}.hero-code-line-6{animation:hero-code-type-6 var(--hero-loop) cubic-bezier(.2, .85, .25, 1) infinite}.hero-code-line-7{animation:hero-code-type-7 var(--hero-loop) cubic-bezier(.2, .85, .25, 1) infinite}.hero-code-caret{opacity:0;transform-box:fill-box;transform-origin:0 0;animation:hero-code-caret-move var(--hero-loop) linear infinite, hero-code-caret-blink .5s step-end infinite}.hero-block path,.hero-car rect,.hero-car path,.hero-car circle,.hero-car line,.hero-robot rect,.hero-robot circle,.hero-robot line,.hero-robot path,.hero-workspace>rect,.hero-workspace>line,.hero-workspace>circle{vector-effect:non-scaling-stroke}.hero-sun{animation:hero-sun-pulse var(--hero-loop) ease-in-out infinite;transform-origin:1080px 110px}.hero-road-dashes{animation:hero-road-scroll var(--hero-loop) linear infinite}.hero-workspace{animation:hero-workspace-glow var(--hero-loop) ease-in-out infinite;transform-origin:920px 380px}.hero-run-dot{animation:hero-run-pulse var(--hero-loop) ease-in-out infinite}.hero-block{transform-box:fill-box;transform-origin:50%;opacity:0}.hero-block-1{animation:hero-snap-1 var(--hero-loop) cubic-bezier(.2, .9, .2, 1) infinite}.hero-block-2{animation:hero-snap-2 var(--hero-loop) cubic-bezier(.2, .9, .2, 1) infinite}.hero-block-3{animation:hero-snap-3 var(--hero-loop) cubic-bezier(.2, .9, .2, 1) infinite}.hero-block-4{animation:hero-snap-4 var(--hero-loop) cubic-bezier(.2, .9, .2, 1) infinite}.hero-block-5{animation:hero-snap-5 var(--hero-loop) cubic-bezier(.2, .9, .2, 1) infinite}.hero-block-6{animation:hero-snap-6 var(--hero-loop) cubic-bezier(.2, .9, .2, 1) infinite}.hero-caption{animation:hero-caption-fade var(--hero-loop) ease-in-out infinite;transform-origin:820px 185px}.hero-car{animation:hero-car-chase var(--hero-loop) cubic-bezier(.25, .1, .2, 1) infinite}.hero-robot{animation:hero-robot-chase var(--hero-loop) cubic-bezier(.25, .1, .2, 1) infinite}.hero-robot-antenna{transform-origin:57px -18px;animation:hero-antenna-wiggle var(--hero-loop) ease-in-out infinite}.hero-speed-lines{animation:hero-speed-fade var(--hero-loop) ease-in-out infinite}.hero-dust-a{animation:hero-dust-a var(--hero-loop) ease-out infinite}.hero-dust-b{animation:hero-dust-b var(--hero-loop) ease-out infinite}@keyframes landing-rise{0%{transform:translateY(22px)}to{transform:translateY(0)}}@keyframes hero-sun-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes hero-road-scroll{0%,74%{transform:translate(0)}92%{transform:translate(-120px)}to{transform:translate(0)}}@keyframes hero-workspace-glow{0%,8%{opacity:.92}18%,72%{opacity:1}82%,to{opacity:.96}}@keyframes hero-run-pulse{0%,72%{opacity:.35;transform:scale(1)}76%,82%{opacity:1;transform:scale(1.35)}90%,to{opacity:.55;transform:scale(1)}}@keyframes hero-label-blocks{0%,48%{opacity:1}52%,to{opacity:0}}@keyframes hero-label-code{0%,48%{opacity:0}52%,90%{opacity:1}96%,to{opacity:0}}@keyframes hero-blocks-layer-fade{0%,48%{opacity:1}53%,to{opacity:0}}@keyframes hero-code-layer-fade{0%,48%{opacity:0}52%,90%{opacity:1}96%,to{opacity:0}}@keyframes hero-code-type-1{0%,52%{opacity:0;transform:translateY(-14px)scale(.96)}55%,90%{opacity:1;transform:translateY(0)scale(1)}96%,to{opacity:0;transform:translateY(8px)scale(.98)}}@keyframes hero-code-type-2{0%,55%{opacity:0;transform:translateY(-14px)scale(.96)}57%,90%{opacity:1;transform:translateY(0)scale(1)}96%,to{opacity:0;transform:translateY(8px)scale(.98)}}@keyframes hero-code-type-3{0%,57%{opacity:0;transform:translateY(-14px)scale(.96)}60%,90%{opacity:1;transform:translateY(0)scale(1)}96%,to{opacity:0;transform:translateY(8px)scale(.98)}}@keyframes hero-code-type-4{0%,60%{opacity:0;transform:translateY(-14px)scale(.96)}63%,90%{opacity:1;transform:translateY(0)scale(1)}96%,to{opacity:0;transform:translateY(8px)scale(.98)}}@keyframes hero-code-type-5{0%,63%{opacity:0;transform:translateY(-14px)scale(.96)}66%,90%{opacity:1;transform:translateY(0)scale(1)}96%,to{opacity:0;transform:translateY(8px)scale(.98)}}@keyframes hero-code-type-6{0%,66%{opacity:0;transform:translateY(-14px)scale(.96)}68%,90%{opacity:1;transform:translateY(0)scale(1)}96%,to{opacity:0;transform:translateY(8px)scale(.98)}}@keyframes hero-code-type-7{0%,68%{opacity:0;transform:translateY(-14px)scale(.96)}71%,90%{opacity:1;transform:translateY(0)scale(1)}96%,to{opacity:0;transform:translateY(8px)scale(.98)}}@keyframes hero-code-caret-move{0%,52%{opacity:0;transform:translate(0)}53%,55%{opacity:1;transform:translate(0)}56%,57%{transform:translateY(30px)}58%,60%{transform:translateY(60px)}61%,63%{transform:translate(28px,90px)}64%,66%{transform:translate(28px,120px)}67%,68%{transform:translateY(150px)}69%,90%{opacity:1;transform:translateY(180px)}96%,to{opacity:0;transform:translateY(180px)}}@keyframes hero-code-caret-blink{0%,49%{fill:#7dffb2}50%,to{fill:#0000}}@keyframes hero-snap-1{0%,4%{opacity:0;transform:translate(-80px,-40px)scale(.85)}10%,48%{opacity:1;transform:translate(0)scale(1)}53%,to{opacity:0;transform:translateY(10px)scale(.96)}}@keyframes hero-snap-2{0%,10%{opacity:0;transform:translate(90px,-30px)scale(.85)}16%,48%{opacity:1;transform:translate(0)scale(1)}53%,to{opacity:0;transform:translateY(10px)scale(.96)}}@keyframes hero-snap-3{0%,16%{opacity:0;transform:translate(-70px,40px)scale(.85)}22%,48%{opacity:1;transform:translate(0)scale(1)}53%,to{opacity:0;transform:translateY(10px)scale(.96)}}@keyframes hero-snap-4{0%,24%{opacity:0;transform:translate(70px,30px)scale(.85)}30%,48%{opacity:1;transform:translate(0)scale(1)}53%,to{opacity:0;transform:translateY(10px)scale(.96)}}@keyframes hero-snap-5{0%,30%{opacity:0;transform:translate(-60px,50px)scale(.85)}36%,48%{opacity:1;transform:translate(0)scale(1)}53%,to{opacity:0;transform:translateY(10px)scale(.96)}}@keyframes hero-snap-6{0%,36%{opacity:0;transform:translate(80px,20px)scale(.85)}42%,48%{opacity:1;transform:translate(0)scale(1)}53%,to{opacity:0;transform:translateY(10px)scale(.96)}}@keyframes hero-caption-fade{0%,8%{opacity:0;transform:translateY(10px)}14%,46%{opacity:1;transform:translateY(0)}52%,to{opacity:.15;transform:translateY(-6px)}}@keyframes hero-car-chase{0%,74%{opacity:0;transform:translate(-180px)}78%{opacity:1;transform:translate(120px)}86%{opacity:1;transform:translate(780px,-8px)}93%{opacity:1;transform:translate(1280px,-4px)}96%,to{opacity:0;transform:translate(1400px)}}@keyframes hero-robot-chase{0%,78%{opacity:0;transform:translate(-220px)}81%{opacity:1;transform:translate(40px)}85%{transform:translate(360px,-10px)}89%{transform:translate(700px)}93%{opacity:1;transform:translate(1200px,-8px)}96%,to{opacity:0;transform:translate(1320px)}}@keyframes hero-antenna-wiggle{0%,80%,to{transform:rotate(0)}84%{transform:rotate(-18deg)}87%{transform:rotate(16deg)}90%{transform:rotate(-10deg)}93%{transform:rotate(8deg)}}@keyframes hero-speed-fade{0%,76%,96%,to{opacity:0}80%,92%{opacity:1}}@keyframes hero-dust-a{0%,80%{opacity:0;transform:translate(180px)scale(.4)}84%{opacity:.55;transform:translate(420px,-8px)scale(1)}90%{opacity:0;transform:translate(620px,-16px)scale(1.4)}to{opacity:0}}@keyframes hero-dust-b{0%,83%{opacity:0;transform:translate(260px)scale(.4)}87%{opacity:.45;transform:translate(560px,-6px)scale(1)}93%{opacity:0;transform:translate(780px,-14px)scale(1.3)}to{opacity:0}}.landing-section{width:min(100%,980px);margin:0 auto;padding:clamp(3rem,7vw,5.5rem) 1.25rem}.landing-section h2{color:#0d3a52;margin:0 0 .65rem;font-family:"Baloo 2",sans-serif;font-size:clamp(1.8rem,4vw,2.4rem);line-height:1.1}.landing-section-lead{max-width:40ch;color:var(--landing-muted);margin:0 0 1.75rem;font-size:1.05rem;font-weight:700;line-height:1.45}.landing-section-lead-wide{max-width:62ch}.landing-board-list{gap:1rem;margin:0;padding:0;list-style:none;display:grid}@media (width>=800px){.landing-board-list{grid-template-columns:repeat(2,1fr);gap:1.15rem}}.landing-board-list li{background:#ffffffe0;border:2px solid #b9d9ec;border-radius:16px;margin:0;padding:1rem 1.1rem}.landing-board-list h3{color:#0b2f44;margin:0 0 .35rem;font-family:"Baloo 2",sans-serif;font-size:1.2rem}.landing-board-list p{color:#2a485d;margin:0;font-weight:700;line-height:1.4}.landing-steps{gap:1.25rem;margin:0;padding:0;list-style:none;display:grid}.landing-steps li{grid-template-columns:auto 1fr;align-items:start;gap:.85rem;animation:.7s ease-out both landing-rise;display:grid}.landing-steps li:nth-child(2){animation-delay:80ms}.landing-steps li:nth-child(3){animation-delay:.16s}.landing-step-num{color:#0f5770;background:#dff4ff;border:2px solid #9ed0e8;border-radius:12px;place-items:center;width:2.2rem;height:2.2rem;font-family:"Baloo 2",sans-serif;font-size:1.2rem;font-weight:800;display:grid}.landing-steps h3{color:#0b2f44;margin:0 0 .25rem;font-family:"Baloo 2",sans-serif;font-size:1.25rem}.landing-steps p{color:#2a485d;margin:0;font-weight:700;line-height:1.4}.landing-band{background:radial-gradient(circle at 15% 20%,#ffd86a59,#0000 40%),radial-gradient(circle at 85% 10%,#6fd8a247,#0000 42%),linear-gradient(#f4fbff 0%,#eef9f4 100%);border-top:1px solid #c7e4f4;border-bottom:1px solid #c7e4f4}.landing-plan-list{gap:1rem;margin:0;padding:0;list-style:none;display:grid}@media (width>=800px){.landing-plan-list{grid-template-columns:repeat(3,1fr);gap:1.25rem}}.landing-plan{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;background:#ffffffe0;border:2px solid #b9d9ec;border-radius:18px;padding:1.1rem 1.15rem 1.2rem;transition:transform .18s,border-color .18s,background .18s}.landing-plan:hover,.landing-plan:focus-visible{background:#fff;border-color:#63b3ff;transform:translateY(-3px)}.landing-plan:focus-visible{outline-offset:3px;outline:3px solid #63b3ff}.landing-plan-name{margin:0;font-family:"Baloo 2",sans-serif;font-size:1.45rem}.landing-plan-price{color:var(--landing-teal);margin:.15rem 0 .55rem;font-weight:800}.landing-plan p{color:var(--landing-muted);margin:0;font-size:.95rem;font-weight:700;line-height:1.35}.landing-plan-featured{background:linear-gradient(#fff8f1,#fff);border-color:#ffb072}.landing-footer{text-align:center;color:var(--landing-muted);padding:2rem 1.25rem 2.5rem;font-weight:700}.landing-footer button{appearance:none;color:#0f5770;font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:none;padding:0;font-weight:800;text-decoration:underline}@media (width<=720px){.landing-hero-copy{width:min(100% - 2rem,100%);margin:0 1rem 2rem}.landing-hero-shade{background:linear-gradient(#e8f8ff8c 0%,#e8f8ff33 35%,#12384f59 100%)}.landing-brand{font-size:clamp(2.4rem,12vw,3.4rem)}}@media (prefers-reduced-motion:reduce){.landing-hero-copy,.landing-steps li,.landing-cta,.landing-plan,.hero-sun,.hero-road-dashes,.hero-workspace,.hero-run-dot,.hero-block,.hero-blocks-layer,.hero-code-layer,.hero-code-line,.hero-code-caret,.hero-ui-label-blocks,.hero-ui-label-code,.hero-car,.hero-robot,.hero-robot-antenna,.hero-speed-lines,.hero-dust-a,.hero-dust-b{transition:none!important;animation:none!important}.hero-blocks-layer,.hero-ui-label-blocks{opacity:0}.hero-code-layer,.hero-ui-label-code,.hero-code-line{opacity:1;transform:none}.hero-code-caret{opacity:0}.hero-block{opacity:1;transform:none}.hero-car{opacity:1;transform:translate(520px)}.hero-robot{opacity:1;transform:translate(320px)}}@media (width<=720px){.hero-ui-label{font-size:22px}.hero-block-text{font-size:18px}.hero-code-text{font-size:15px}.hero-caption-text{font-size:20px}}.pricing-overlay{z-index:9200;background:radial-gradient(circle at 15% 20%,#ffd86a47,#0000 28%),radial-gradient(circle at 85% 10%,#63b3ff4d,#0000 30%),#0c243873;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0;overflow:auto}.pricing-panel{background:linear-gradient(165deg,#fff 0%,#f3fbff 55%,#f7fff6 100%);border:2px solid #d5e7f5;border-radius:28px;flex-direction:column;gap:1rem;width:min(1080px,100%);max-height:min(92vh,960px);padding:1.35rem 1.35rem 1.1rem;display:flex;overflow:auto;box-shadow:0 22px 50px #15304638}.pricing-panel-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.pricing-kicker{letter-spacing:.04em;text-transform:uppercase;color:#2f6f9a;margin:0;font-family:Nunito,sans-serif;font-size:.85rem;font-weight:800}.pricing-panel-header h2{color:#124064;margin:.15rem 0 .35rem;font-family:"Baloo 2",sans-serif;font-size:clamp(1.7rem,3vw,2.2rem)}.pricing-lead{max-width:40rem;color:var(--muted);margin:0;font-family:Nunito,sans-serif;font-size:1rem;line-height:1.45}.pricing-close-btn,.pricing-link-btn{cursor:pointer;border-radius:12px;font-family:Nunito,sans-serif;font-weight:800}.pricing-close-btn{color:var(--ink);background:#fff;border:2px solid #c7d9e8;padding:.55rem .9rem}.pricing-close-btn:hover{background:#f0f9ff}.pricing-status{border-radius:14px;padding:.75rem .95rem;font-family:Nunito,sans-serif;font-weight:700;line-height:1.4}.pricing-status code{font-family:IBM Plex Mono,monospace;font-size:.85em}.pricing-status-info{color:#184866;background:#e8f4ff;border:1px solid #b7d8f2}.pricing-status-success{color:#14603a;background:#e8fff2;border:1px solid #a7e4c1}.pricing-status-error{color:#8a3a12;background:#fff1e8;border:1px solid #f0c2a0}.pricing-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;display:grid}.pricing-card{background:#ffffffe0;border:2px solid #d7e6f3;border-radius:20px;flex-direction:column;gap:.85rem;padding:1rem;display:flex}.pricing-card-highlight{background:linear-gradient(#fff8f1 0%,#fff 70%);border-color:#ffb072;box-shadow:0 10px 24px #ef6f1d1f}.pricing-card-current{outline:3px solid #63b3ff73}.pricing-card-header h3{color:#124064;margin:0;font-family:"Baloo 2",sans-serif;font-size:1.45rem}.pricing-price{color:#ef6f1d;margin:.2rem 0 0;font-family:"Baloo 2",sans-serif;font-size:1.8rem}.pricing-hint,.pricing-tagline{color:var(--muted);margin:.15rem 0 0;font-family:Nunito,sans-serif;line-height:1.35}.pricing-hint{color:#2f6f9a;font-size:.9rem;font-weight:800}.pricing-features{flex-direction:column;flex:1;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.pricing-features li{color:var(--ink);align-items:flex-start;gap:.45rem;font-family:Nunito,sans-serif;font-size:.92rem;font-weight:700;display:flex}.pricing-features li span{text-align:center;flex-shrink:0;width:1.1rem}.pricing-features li.missing{color:#7a8d9c;font-weight:600}.pricing-cta{width:100%;color:var(--ink);cursor:pointer;background:#fff;border:2px solid #c7d9e8;border-radius:14px;padding:.7rem .9rem;font-family:Nunito,sans-serif;font-size:.95rem;font-weight:800}.pricing-cta:disabled{opacity:.55;cursor:not-allowed}.pricing-cta-primary{color:#fff;background:linear-gradient(#ff9a4d,#ef6f1d);border-color:#ef6f1d}.pricing-cta-primary:hover:not(:disabled){filter:brightness(1.03)}.pricing-setup{background:#f7fbff;border:1px solid #c7d9e8;border-radius:16px;flex-direction:column;gap:.55rem;padding:.85rem 1rem;display:flex}.pricing-setup h3{color:#124064;margin:0;font-family:"Baloo 2",sans-serif;font-size:1.15rem}.pricing-setup-list{flex-wrap:wrap;gap:.45rem .85rem;margin:0;padding:0;list-style:none;display:flex}.pricing-setup-list li{font-family:Nunito,sans-serif;font-size:.88rem;font-weight:800}.pricing-setup-list li.ready{color:#14603a}.pricing-setup-list li.missing{color:#8a3a12}.pricing-setup-help{color:var(--muted);margin:0;font-family:Nunito,sans-serif;line-height:1.4}.pricing-setup-help.ready-text{color:#14603a;font-weight:700}.pricing-setup-help code,.pricing-return-urls code{font-family:IBM Plex Mono,monospace;font-size:.82rem}.pricing-ops-tools{border-top:1px dashed #c7d9e8;flex-direction:column;gap:.55rem;margin-top:.75rem;padding-top:.75rem;display:flex}.pricing-ops-title{color:#6a8092;text-transform:uppercase;letter-spacing:.04em;margin:0;font-family:Nunito,sans-serif;font-size:.82rem;font-weight:800}.pricing-return-urls{flex-direction:column;gap:.4rem;display:flex}.pricing-return-urls>p{color:var(--ink);margin:0;font-family:Nunito,sans-serif;font-weight:700}.pricing-url-row{background:#fff;border:1px solid #d7e6f3;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.45rem;padding:.45rem .6rem;display:flex}.pricing-url-row code{overflow-wrap:anywhere;color:#184866;flex:220px}.pricing-copy-note{color:#2f6f9a;margin:0;font-family:Nunito,sans-serif;font-size:.85rem;font-weight:700}.pricing-license{border-top:1px dashed #c7d9e8;flex-direction:column;gap:.55rem;padding-top:.9rem;display:flex}.pricing-license h3{color:#124064;margin:0;font-family:"Baloo 2",sans-serif}.pricing-license p{color:var(--muted);margin:0;font-family:Nunito,sans-serif}.pricing-license-form{flex-wrap:wrap;gap:.55rem;display:flex}.pricing-license-form input{min-width:0;color:var(--ink);background:#fff;border:2px solid #c7d9e8;border-radius:12px;flex:220px;padding:.7rem .85rem;font-family:IBM Plex Mono,monospace;font-size:.95rem}.pricing-license-form .pricing-cta{width:auto;min-width:140px}.pricing-active-license{background:#eef9ff;border:1px solid #c7d9e8;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.65rem;padding:.65rem .8rem;display:flex}.pricing-active-license p{color:var(--ink);margin:0}.pricing-link-btn{color:#2f6f9a;background:0 0;border:none;padding:.2rem;text-decoration:underline}.pricing-footnote{color:var(--muted);margin:0;font-family:Nunito,sans-serif;font-size:.85rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.auth-btn,.plans-entry-btn{color:#8a3a12;cursor:pointer;background:linear-gradient(#fff4ea,#ffe4cc);border:2px solid #ffb072;border-radius:12px;padding:.45rem .8rem;font-family:Nunito,sans-serif;font-weight:800}.account-menu{z-index:40;align-items:center;gap:.55rem;display:inline-flex;position:relative}.account-welcome{color:#184866;background:#fff;border:1.5px solid #c7d9e8;border-radius:999px;align-items:center;gap:.4rem;max-width:min(56vw,340px);padding:.2rem .55rem .2rem .25rem;font-family:Nunito,sans-serif;font-size:.86rem;font-weight:700;display:inline-flex}.account-plan-badge{white-space:nowrap;font-weight:800}.account-plan-badge.plan-free{color:#5a6b78}.account-plan-badge.plan-basic{color:#0b6e4f}.account-plan-badge.plan-premium{color:#9a3412}.account-welcome-guest{padding:.35rem .75rem}.account-welcome-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-welcome-text strong{color:#0f3d5c;font-weight:800}.account-menu-toggle{cursor:pointer;background:linear-gradient(#fff,#eef8ff);border:2px solid #9ec9e8;border-radius:14px;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex;box-shadow:0 4px 10px #1f588a1f}.account-menu-toggle:hover,.account-menu-toggle.open{background:linear-gradient(#f4fbff,#e4f3ff);border-color:#63b3ff}.account-menu-bars{flex-direction:column;justify-content:space-between;width:18px;height:14px;display:inline-flex}.account-menu-bars span{background:#184866;border-radius:999px;height:2.5px;display:block}.account-menu-panel{background:#fff;border:2px solid #c7d9e8;border-radius:18px;flex-direction:column;gap:.55rem;width:min(92vw,280px);padding:.65rem;display:flex;position:absolute;top:calc(100% + .45rem);right:0;box-shadow:0 16px 34px #1530462e}.account-menu-section{flex-direction:column;gap:.35rem;display:flex}.account-menu-heading{color:#124064;margin:0;font-family:"Baloo 2",sans-serif;font-size:.95rem}.account-menu-meta{color:#4e6476;margin:0;font-family:Nunito,sans-serif;font-size:.78rem}.account-menu-email{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-menu-item{text-align:left;color:#184866;cursor:pointer;background:#f7fbff;border:1.5px solid #d5e7f5;border-radius:12px;width:100%;padding:.55rem .7rem;font-family:Nunito,sans-serif;font-size:.88rem;font-weight:800}.account-menu-item:hover:not(:disabled){background:#eaf6ff;border-color:#9ec9e8}.account-menu-item:disabled{opacity:.65;cursor:not-allowed}.account-menu-item-primary{color:#8a3a12;background:linear-gradient(#fff4ea,#ffe4cc);border-color:#ffb072}.auth-btn-muted{color:#4e6476;background:#f3f8fc;border-color:#c7d9e8}.auth-btn-small{padding:.25rem .55rem;font-size:.78rem}.auth-user-chip{background:#fff;border:1px solid #c7d9e8;border-radius:999px;align-items:center;gap:.4rem;max-width:240px;padding:.2rem .45rem .2rem .25rem;display:inline-flex}.auth-avatar{object-fit:cover;border-radius:999px;width:26px;height:26px}.auth-avatar-fallback{color:#184866;background:#e8f4ff;justify-content:center;align-items:center;font-family:Nunito,sans-serif;font-size:.8rem;font-weight:800;display:inline-flex}.auth-user-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;max-width:110px;font-family:Nunito,sans-serif;font-size:.8rem;font-weight:800;overflow:hidden}.plans-entry-btn:hover{filter:brightness(1.02)}.plan-chip{color:#2f6f9a;background:#fff;border:1px solid #c7d9e8;border-radius:999px;align-items:center;gap:.35rem;padding:.25rem .65rem;font-family:Nunito,sans-serif;font-size:.78rem;font-weight:800;display:inline-flex}.plan-chip-paid{color:#14603a;background:#e8fff2;border-color:#a7e4c1}@media (width<=900px){.pricing-grid{grid-template-columns:1fr}.pricing-panel-header{flex-direction:column}}
