:root{--color-bg:#fdfcfc;--color-bg-weak:#f8f7f7;--color-bg-weak-hover:#f1eeee;--color-bg-strong:#201d1d;--color-bg-strong-hover:#302c2c;--color-text:#484747;--color-text-weak:#747272;--color-text-strong:#201d1d;--color-text-inverted:#fdfcfc;--color-border:#0f00001f;--color-icon:#8d8b8b;--color-accent:#2563eb;--color-success:#03b000;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--container-max-width:1080px;--section-padding-x:80px;--content-width:720px;--header-height:72px;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--space-4xl:96px}*,:before,:after{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px}body{font-family:var(--font-sans);color:var(--color-text);background-color:var(--color-bg);margin:0;padding:0;font-size:14px;line-height:1.6}a{color:var(--color-text-strong);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{color:var(--color-text-strong);margin:0;font-weight:600;line-height:1.3}code,pre{font-family:var(--font-mono)}.landing{flex-direction:column;min-height:100vh;display:flex}.landing-container{max-width:var(--container-max-width);border-left:1px solid var(--color-border);border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);min-height:100vh;margin:0 auto}.landing-header{height:var(--header-height);padding:0 var(--section-padding-x);border-bottom:1px solid var(--color-border);background:var(--color-bg);z-index:100;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.landing-logo{align-items:center;gap:var(--space-sm);font-family:var(--font-mono);color:var(--color-text-strong);font-size:15px;font-weight:500;text-decoration:none;display:flex}.landing-logo svg{width:24px;height:24px}.landing-nav{gap:var(--space-lg);display:flex}.landing-nav a{color:var(--color-text);font-size:13px;text-decoration:none}.landing-nav a:hover{color:var(--color-text-strong)}.hero{padding:var(--space-4xl) var(--section-padding-x);text-align:center}.hero h1{font-family:var(--font-mono);letter-spacing:-.02em;margin-bottom:var(--space-lg);font-size:38px;font-weight:500}.hero-subtitle{color:var(--color-text);max-width:560px;margin:0 auto var(--space-2xl);font-size:16px;line-height:1.7}.install-section{max-width:440px;margin:0 auto}.install-command{background:var(--color-bg-weak);border:1px solid var(--color-border);width:100%;font-family:var(--font-mono);color:var(--color-text-strong);cursor:pointer;border-radius:6px;justify-content:space-between;align-items:center;padding:12px 16px;font-size:14px;transition:background .15s;display:flex}.install-command:hover{background:var(--color-bg-weak-hover)}.install-command .cmd{color:var(--color-text)}.install-command .highlight{color:var(--color-text-strong)}.copy-btn{color:var(--color-icon);align-items:center;display:flex}.copy-btn svg{width:16px;height:16px}.copy-btn .check-icon{color:var(--color-success);display:none}.copy-btn.copied .copy-icon{display:none}.copy-btn.copied .check-icon{display:block}.code-section{padding:0 var(--section-padding-x) var(--space-3xl)}.code-editor{border:1px solid var(--color-border);background:var(--color-bg);border-radius:8px;overflow:hidden}.code-editor-header{background:var(--color-bg-weak);border-bottom:1px solid var(--color-border);padding:0 var(--space-md);align-items:center;height:40px;display:flex}.code-editor-dots{margin-right:var(--space-md);gap:6px;display:flex}.code-editor-dots span{background:var(--color-border);border-radius:50%;width:10px;height:10px}.code-editor-tabs{flex:1;gap:2px;display:flex}.code-editor-tab{font-family:var(--font-mono);color:var(--color-text-weak);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:6px 12px;font-size:12px;transition:all .15s}.code-editor-tab[aria-selected=true]{color:var(--color-text-strong);background:var(--color-bg)}.code-editor-panels{display:grid}.code-editor-body{padding:var(--space-lg);visibility:hidden;pointer-events:none;grid-area:1/1}.code-editor-body[data-active=true]{visibility:visible;pointer-events:auto}.code-editor-body pre{margin:0;font-size:13px;line-height:1.7;overflow-x:auto}.code-editor-body .keyword,.pg-source .keyword,.pg-value .keyword,.playground-highlight .keyword,.repl-input-highlight .keyword,.repl-entry-input .keyword,.repl-entry-output .keyword{color:#4338ca}.code-editor-body .atom,.pg-source .atom,.pg-value .atom,.playground-highlight .atom,.repl-input-highlight .atom,.repl-entry-input .atom,.repl-entry-output .atom{color:#15803d}.code-editor-body .effect,.pg-source .effect,.pg-value .effect,.playground-highlight .effect,.repl-input-highlight .effect,.repl-entry-input .effect,.repl-entry-output .effect{color:#c2410c}.code-editor-body .tag,.pg-source .tag,.pg-value .tag,.playground-highlight .tag,.repl-input-highlight .tag,.repl-entry-input .tag,.repl-entry-output .tag{color:#7c3aed}.code-editor-body .operand,.pg-source .operand,.pg-value .operand,.playground-highlight .operand,.repl-input-highlight .operand,.repl-entry-input .operand,.repl-entry-output .operand{color:#0e7490}.code-editor-body .string,.pg-source .string,.pg-value .string,.playground-highlight .string,.repl-input-highlight .string,.repl-entry-input .string,.repl-entry-output .string{color:#b45309}.code-editor-body .quote,.pg-source .quote,.pg-value .quote,.playground-highlight .quote,.repl-input-highlight .quote,.repl-entry-input .quote,.repl-entry-output .quote{color:#15803d}.code-editor-body .italic,.pg-source .italic,.pg-value .italic,.playground-highlight .italic,.repl-input-highlight .italic,.repl-entry-input .italic,.repl-entry-output .italic{font-style:italic}.code-editor-body .number,.pg-source .number,.pg-value .number,.playground-highlight .number,.repl-input-highlight .number,.repl-entry-input .number,.repl-entry-output .number{color:#6d28d9}.code-editor-body .comment,.pg-source .comment,.pg-value .comment,.playground-highlight .comment,.repl-input-highlight .comment,.repl-entry-input .comment,.repl-entry-output .comment{color:#52525b;font-style:italic}.code-editor-body .punct,.pg-source .punct,.pg-value .punct,.playground-highlight .punct,.repl-input-highlight .punct,.repl-entry-input .punct,.repl-entry-output .punct{color:#475569}.code-editor-body .err,.pg-source .err,.pg-value .err,.playground-highlight .err,.repl-input-highlight .err,.repl-entry-input .err,.repl-entry-output .err{color:#b91c1c;font-weight:600}.code-editor-body .set,.pg-source .set,.pg-value .set,.playground-highlight .set,.repl-input-highlight .set,.repl-entry-input .set,.repl-entry-output .set{color:#0891b2}.code-editor-body .vec,.pg-source .vec,.pg-value .vec,.playground-highlight .vec,.repl-input-highlight .vec,.repl-entry-input .vec,.repl-entry-output .vec{color:#a16207}.code-editor-body .result{color:#1f2937}.features-section{padding:var(--space-3xl) var(--section-padding-x);border-top:1px solid var(--color-border)}.features-section h2{font-family:var(--font-mono);margin-bottom:var(--space-lg);font-size:22px;font-weight:500}.features-section p{max-width:600px;margin-bottom:var(--space-2xl);line-height:1.7}.features-grid{gap:var(--space-lg);grid-template-columns:1fr 1fr;display:grid}.feature-card{padding:var(--space-lg);border:1px solid var(--color-border);border-radius:6px;transition:background .15s}.feature-card:hover{background:var(--color-bg-weak)}.feature-card h3{font-family:var(--font-mono);margin-bottom:var(--space-sm);font-size:14px;font-weight:500}.feature-card p{color:var(--color-text);margin:0;font-size:13px;line-height:1.6}.repl-section{padding:var(--space-3xl) var(--section-padding-x);border-top:1px solid var(--color-border)}.repl-section h2{font-family:var(--font-mono);margin-bottom:var(--space-sm);font-size:22px;font-weight:500}.repl-section>p{color:var(--color-text);margin-bottom:var(--space-xl)}.repl-container{border:1px solid var(--color-border);background:var(--color-bg);border-radius:8px;overflow:hidden}.repl-input-area{padding:var(--space-md);align-items:flex-start;gap:var(--space-sm);border-bottom:1px solid var(--color-border);display:flex}.repl-prompt{font-family:var(--font-mono);color:var(--color-text-weak);user-select:none;flex-shrink:0;padding-top:1px;font-size:14px;line-height:1.7}.repl-input-wrap{flex:1;position:relative}.repl-input-highlight{font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;pointer-events:none;tab-size:2;margin:0;font-size:14px;line-height:1.7;position:absolute;inset:0;overflow:hidden}.repl-input{z-index:1;width:100%;font-family:var(--font-mono);color:#0000;caret-color:var(--color-text-strong);resize:none;box-sizing:border-box;background:0 0;border:none;outline:none;min-height:24px;font-size:14px;line-height:1.7;display:block;position:relative;overflow:hidden}.repl-output{padding:var(--space-md);font-family:var(--font-mono);color:var(--color-text);white-space:pre-wrap;word-break:break-word;min-height:48px;font-size:14px;line-height:1.7}.repl-output .error{color:#dc2626}.repl-history{overflow:hidden}.repl-entry{border-bottom:1px solid var(--color-border);padding:var(--space-md)}.repl-entry-input{font-family:var(--font-mono);color:var(--color-text-weak);white-space:pre-wrap;word-break:break-word;margin-bottom:var(--space-xs);font-size:13px}.repl-entry-output{font-family:var(--font-mono);color:var(--color-text-strong);white-space:pre-wrap;font-size:14px}.landing-footer{border-top:1px solid var(--color-border);grid-template-columns:repeat(3,1fr);display:grid}.landing-footer a{padding:var(--space-lg);color:var(--color-text);border-right:1px solid var(--color-border);justify-content:center;align-items:center;font-size:13px;text-decoration:none;transition:background .15s;display:flex}.landing-footer a:last-child{border-right:none}.landing-footer a:hover{background:var(--color-bg-weak);text-decoration:underline}.landing-legal{text-align:center;padding:var(--space-xl) 0;color:var(--color-text-weak);font-size:12px}@media (width<=900px){:root{--section-padding-x:24px}.landing-container{border-left:none;border-right:none}.hero h1{font-size:28px}.features-grid{grid-template-columns:1fr}}@media (width<=600px){:root{--section-padding-x:16px}.hero{padding:var(--space-2xl) var(--section-padding-x)}.hero h1{font-size:24px}.landing-footer{grid-template-columns:1fr}.landing-footer a{border-right:none;border-bottom:1px solid var(--color-border)}}
