@font-face{font-family:'New York';font-style:normal;font-weight:400 1000;font-display:swap;src:url("./fonts/NewYork.ttf") format("truetype")} @font-face{font-family:'New York';font-style:italic;font-weight:400 1000;font-display:swap;src:url("./fonts/NewYorkItalic.ttf") format("truetype")} @font-face{font-family:'Ioskeley Mono';font-style:normal;font-weight:400;font-display:swap;src:url("./fonts/IoskeleyMono-Regular.woff2") format("woff2")} @font-face{font-family:'Ioskeley Mono';font-style:normal;font-weight:700;font-display:swap;src:url("./fonts/IoskeleyMono-Bold.woff2") format("woff2")} @font-face{font-family:'Ioskeley Mono';font-style:italic;font-weight:400;font-display:swap;src:url("./fonts/IoskeleyMono-Italic.woff2") format("woff2")} :root{ /* Ramaway Dawn (light) */ --rp-base:#eee6dd; --rp-mantle:#e6dbd1; --rp-crust:#ddd0c6; --rp-surface-0:#dcd3cb; --rp-surface-1:#d1c9c2; --rp-surface-2:#cac1b9; --rp-overlay:#807c99; --rp-subtext:#797593; --rp-text:#575279; --rp-love:#b4637a; --rp-pine:#286983; --rp-foam:#56949f; --rp-iris:#907aa9; --rp-gold:#ea9d34; --rp-rose:#d6817d; --bg:var(--rp-base); --bg-elev:var(--rp-mantle); --bg-deep:var(--rp-crust); --fg:var(--rp-text); --fg-muted:var(--rp-subtext); --fg-subtle:var(--rp-overlay); --border:var(--rp-surface-2); --border-subtle:var(--rp-surface-1); --font-serif:'New York','Charter','Iowan Old Style','Georgia',serif; --font-mono:'Ioskeley Mono','Berkeley Mono','JetBrains Mono','IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace; --font-symbol:'Apple Symbols','Segoe UI Symbol','Noto Sans Symbols','Noto Sans Symbols 2',var(--font-serif); } /* Light by default; "auto" (chosen with the theme toggle) follows the OS */ @media (prefers-color-scheme: dark){ :root[data-theme="auto"]{ --rp-base:#191724; --rp-mantle:#1f1d2e; --rp-crust:#26233a; --rp-surface-0:#2a273f; --rp-surface-1:#393552; --rp-surface-2:#44415a; --rp-overlay:#908caa; --rp-subtext:#908caa; --rp-text:#e0def4; --rp-love:#eb6f92; --rp-pine:#9ccfd8; --rp-foam:#9ccfd8; --rp-iris:#c4a7e7; --rp-gold:#f6c177; --rp-rose:#ebbcba; --border:var(--rp-surface-2); --border-subtle:var(--rp-surface-1); } } /* Explicit override */ :root[data-theme="dark"]{ --rp-base:#191724; --rp-mantle:#1f1d2e; --rp-crust:#26233a; --rp-surface-0:#2a273f; --rp-surface-1:#393552; --rp-surface-2:#44415a; --rp-overlay:#908caa; --rp-subtext:#908caa; --rp-text:#e0def4; --rp-love:#eb6f92; --rp-pine:#9ccfd8; --rp-foam:#9ccfd8; --rp-iris:#c4a7e7; --rp-gold:#f6c177; --rp-rose:#ebbcba; --border:var(--rp-surface-2); --border-subtle:var(--rp-surface-1); } *{box-sizing:border-box} html{scroll-behavior:smooth} html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:var(--font-serif);font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility} img,svg,video,canvas{max-width:100%} a{color:var(--rp-pine);text-decoration:none} a:hover{color:var(--rp-foam);text-decoration:underline} ::selection{background:rgba(234,157,52,0.4);color:var(--fg)} .mc{font-family:var(--font-symbol);font-style:normal;display:inline-block;line-height:1} .container{max-width:1140px;margin:0 auto;padding:0 clamp(20px,4vw,40px)} section{padding:clamp(64px,9vw,112px) 0;border-top:1px solid var(--border-subtle)} section:first-of-type{border-top:0} .section-eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--fg-muted);margin:0 0 14px;display:flex;align-items:baseline;gap:10px} .section-eyebrow .mc{color:var(--rp-gold)} .section-title{font-family:var(--font-serif);font-weight:600;font-size:clamp(28px,3.8vw,42px);line-height:1.12;color:var(--fg);margin:0 0 18px;letter-spacing:-0.015em;max-width:22ch;text-wrap:balance} .section-lede{font-size:18px;line-height:1.6;color:var(--fg);max-width:60ch;margin:0 0 26px} /* NAV */ .nav{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-subtle)} .nav-inner{max-width:1140px;margin:0 auto;padding:0 clamp(20px,4vw,40px);display:flex;align-items:center;gap:24px;height:60px} .nav-brand{display:flex;align-items:center;gap:10px;color:var(--fg);font-family:var(--font-serif);font-weight:700;font-size:19px;letter-spacing:-0.01em;text-decoration:none} .nav-brand:hover{color:var(--fg);text-decoration:none} .nav-brand img{width:26px;height:26px;border-radius:5px;background:var(--bg-elev);padding:2px} [data-theme="dark"] .nav-brand img{filter:invert(0.88) hue-rotate(180deg)} @media (prefers-color-scheme: dark){:root[data-theme="auto"] .nav-brand img{filter:invert(0.88) hue-rotate(180deg)}} .nav-links{display:flex;gap:4px;margin-left:14px} .nav-link{display:inline-block;padding:8px 12px;font-family:var(--font-mono);font-size:11.5px;letter-spacing:0.06em;text-transform:uppercase;color:var(--fg-muted);font-weight:700;border-radius:3px} .nav-link:hover{color:var(--fg);background:var(--bg-elev);text-decoration:none} .nav-spacer{flex:1} .nav-cta{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;background:var(--rp-pine);color:var(--rp-base);font-family:var(--font-mono);font-size:11.5px;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;border-radius:3px;border:0;cursor:pointer} .nav-cta:hover{background:var(--rp-foam);color:var(--rp-base);text-decoration:none} [data-theme="dark"] .nav-cta{color:#191724} [data-theme="dark"] .nav-cta:hover{color:#191724} @media (prefers-color-scheme: dark){:root[data-theme="auto"] .nav-cta{color:#191724}:root[data-theme="auto"] .nav-cta:hover{color:#191724}} .nav-ghost{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;color:var(--fg);font-family:var(--font-mono);font-size:11.5px;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;border-radius:3px;border:1px solid var(--border);background:transparent;cursor:pointer} .nav-ghost:hover{background:var(--bg-elev);color:var(--fg);text-decoration:none} .nav-stars{display:inline-flex;align-items:center;gap:4px;padding-left:8px;border-left:1px solid var(--border);font-size:11px;opacity:0.85} .nav-stars[hidden]{display:none} .nav-stars .mc{font-size:12px;color:var(--rp-gold)} .theme-toggle{width:34px;height:34px;display:grid;place-items:center;padding:0;font-size:15px;flex:0 0 34px} .theme-toggle .mc{color:var(--rp-gold)} @media (max-width:780px){.nav-links{display:none}} @media (max-width:640px){ .nav-inner{height:58px;padding:0 16px;gap:8px;width:100%;max-width:390px;margin:0} .nav-brand{gap:8px;font-size:18px;min-width:0} .nav-brand img{width:24px;height:24px;flex:0 0 auto} .nav-spacer{min-width:0} .theme-toggle{width:32px;height:32px;flex-basis:32px} .nav-ghost{padding:8px 10px} .nav-github{display:none} .nav-cta{padding:8px 10px;gap:6px;white-space:nowrap;flex:0 0 auto} .nav-cta-label{font-size:0} .nav-cta-label::after{content:"Install";font-size:11.5px} } @media (max-width:360px){ .nav-brand span{display:none} } /* HERO */ .hero{padding:clamp(56px,8vw,96px) 0 clamp(32px,5vw,48px);border-top:0} .hero-grid{display:grid;grid-template-columns:1.05fr 0.95fr;gap:60px;align-items:end} .hero-grid > *{min-width:0} @media (max-width:880px){.hero-grid{grid-template-columns:1fr;gap:36px}} .hero-h1{font-family:var(--font-serif);font-weight:700;font-size:clamp(40px,7vw,82px);line-height:1.02;letter-spacing:-0.025em;color:var(--fg);margin:0 0 22px;text-wrap:balance;max-width:14ch} .hero-h1 em{font-style:italic;color:var(--rp-love);font-weight:600} .hero-h1 .mc{color:var(--rp-gold);font-weight:400;font-style:normal;letter-spacing:0;display:inline-block} .hero-lede{font-size:clamp(18px,1.4vw,21px);line-height:1.55;color:var(--fg);max-width:48ch;margin:0 0 32px} .hero-lede em{font-style:italic;color:var(--rp-foam)} .hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:14px;align-items:center} .hero-note{margin:0;font-family:var(--font-mono);font-size:11.5px;color:var(--fg-muted);text-transform:uppercase;letter-spacing:0.06em} .hero .hero-h1{margin-bottom:0} .btn-primary{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;background:var(--rp-pine);color:var(--rp-base);font-family:var(--font-serif);font-size:17px;font-weight:600;border-radius:3px;border:0;cursor:pointer;letter-spacing:-0.005em;text-decoration:none} .btn-primary:hover{background:var(--rp-foam);color:var(--rp-base);text-decoration:none} .btn-primary .mc{font-size:20px} [data-theme="dark"] .btn-primary{color:#191724} [data-theme="dark"] .btn-primary:hover{color:#191724} @media (prefers-color-scheme: dark){:root[data-theme="auto"] .btn-primary{color:#191724}:root[data-theme="auto"] .btn-primary:hover{color:#191724}} .btn-secondary{display:inline-flex;align-items:center;gap:8px;padding:14px 20px;background:transparent;color:var(--fg);font-family:var(--font-serif);font-size:17px;font-weight:500;border-radius:3px;border:1px solid var(--border);cursor:pointer;text-decoration:none} .btn-secondary:hover{background:var(--bg-elev);color:var(--fg);text-decoration:none;border-color:var(--rp-pine)} @media (max-width:640px){ .hero{padding:48px 0 28px} .hero-grid{gap:28px} .hero-h1{font-size:46px;line-height:1.04;max-width:10ch;margin-bottom:24px} .hero-lede{font-size:18px;line-height:1.55;margin-bottom:28px;max-width:min(350px,calc(100vw - 40px))} .hero-ctas{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:12px;max-width:min(350px,calc(100vw - 40px))} .btn-primary,.btn-secondary{width:100%;justify-content:center;padding:13px 16px} } /* INTERACTIVE DEMO */ .shot{padding:clamp(20px,4vw,40px) 0 clamp(64px,9vw,96px);border-top:0} .shot-frame{position:relative;border:1px solid var(--border);background:var(--bg-elev);border-radius:6px;padding:10px;box-shadow:0 1px 2px rgba(87,82,121,0.06),0 24px 60px rgba(87,82,121,0.12)} .shot-frame::before{content:"";position:absolute;inset:0;border-radius:6px;pointer-events:none;border:1px solid color-mix(in srgb,var(--rp-text) 5%,transparent)} .shot-frame img{display:block;width:100%;height:auto;border-radius:3px} .shot-cap{margin-top:14px;font-family:var(--font-mono);font-size:11.5px;color:var(--fg-muted);text-transform:uppercase;letter-spacing:0.06em;text-align:center;display:flex;align-items:center;justify-content:center;gap:10px} .shot-cap .mc{color:var(--rp-gold);font-size:14px} .interactive-demo{padding:0;overflow:hidden} .interactive-demo::before{display:none} .demo-browser-bar{height:34px;display:flex;align-items:center;gap:8px;padding:0 12px;border-bottom:1px solid var(--border-subtle);background:color-mix(in srgb,var(--bg-elev) 82%,var(--bg-deep));font-family:var(--font-mono);font-size:10.5px;color:var(--fg-muted)} .demo-browser-dot{width:8px;height:8px;border-radius:50%;background:var(--border)} .demo-browser-dot:first-child{background:var(--rp-rose)} .demo-browser-dot:nth-child(2){background:var(--rp-gold)} .demo-browser-dot:nth-child(3){background:var(--rp-foam)} .demo-address{margin-left:6px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} .demo-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,0.42fr);min-height:560px;background:var(--bg)} .demo-page{min-width:0;background:#fff;color:#2f2a36;overflow:auto;scroll-behavior:smooth;max-height:620px;border-right:4px solid #26233a} .demo-page-inner{max-width:700px;margin:0 auto;padding:34px 46px 54px} .demo-page-kicker{font-family:var(--font-mono);font-size:10.5px;letter-spacing:0.08em;text-transform:uppercase;color:#807c99;margin-bottom:16px} .demo-page h3{font-family:Georgia,serif;font-size:26px;line-height:1.2;color:#2f2a36;margin:0 0 22px} .demo-page p{font-family:Georgia,serif;font-size:17px;line-height:1.62;color:#2f2a36;margin:0 0 20px} .demo-page mark{background:rgba(234,157,52,0.3);color:inherit;padding:1px 3px;border-radius:2px} .demo-page [data-demo-source]{scroll-margin-top:30px;transition:background 180ms,box-shadow 180ms} .demo-page [data-demo-source].is-targeted{background:rgba(234,157,52,0.16);box-shadow:0 0 0 7px rgba(234,157,52,0.16);border-radius:2px} .demo-note{margin:22px 0 24px;max-width:460px;background:#eee6dd;border:1px solid #d1c9c2;border-left:3px solid #286983;border-radius:3px;padding:14px 16px;color:#575279} .demo-note-label{font-family:var(--font-mono);font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:#286983;font-weight:700;margin-bottom:8px} .demo-note p{font-size:15px;line-height:1.45;color:#575279;margin:0} .demo-note.is-targeted{background:#f2e9dc} .demo-figure{width:150px;margin:16px auto 28px;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;text-align:center;font-family:var(--font-mono);font-size:10px;color:#575279} .demo-figure span{grid-column:1 / -1;border:1px solid #807c99;border-radius:3px;padding:4px 6px;background:#eee6dd} .demo-figure b{font-weight:400} .demo-code{margin:0 0 22px;background:#f7f4ef;border:1px solid #d1c9c2;border-radius:3px;padding:14px;overflow:auto;font-family:var(--font-mono);font-size:12px;line-height:1.55;color:#575279} .demo-sidebar{min-width:0;display:flex;flex-direction:column;background:var(--bg-elev);color:var(--fg);max-height:620px;border-left:1px solid var(--border-subtle)} .demo-sidebar-head{height:48px;display:flex;align-items:center;gap:10px;padding:0 16px;border-bottom:1px solid var(--border-subtle);font-family:var(--font-serif);font-size:14px;color:var(--fg)} .demo-sidebar-head .mc{color:var(--rp-pine);font-size:14px} .demo-sidebar-head strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px} .demo-sidebar-head span:last-child{margin-left:auto;color:var(--fg-muted);font-family:var(--font-mono)} .demo-sources{padding:14px 16px 12px;border-bottom:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:6px} .demo-sources-label{font-family:var(--font-mono);font-size:10px;color:var(--fg-muted);letter-spacing:0.08em;text-transform:uppercase;font-weight:700;margin-bottom:3px} .demo-sources button,.demo-cite{border:0;background:transparent;color:var(--rp-pine);font:700 11.5px var(--font-mono);text-align:left;padding:4px 0;cursor:pointer;border-radius:2px} .demo-sources button:hover,.demo-cite:hover{color:var(--rp-foam);text-decoration:underline} .demo-sources button.is-active,.demo-cite.is-active{color:var(--rp-love)} .demo-turn{padding:16px 18px;overflow:auto;min-height:0;font-size:15px;line-height:1.55} .demo-turn-meta{font-family:var(--font-mono);font-size:10px;color:var(--fg-muted);letter-spacing:0.06em;text-transform:uppercase;margin-bottom:8px} .demo-question{font-style:italic;color:var(--fg-muted);margin:0 0 14px;padding-left:10px;border-left:2px solid var(--border)} .demo-turn p{margin:0 0 14px} .demo-turn ol{margin:12px 0 0;padding-left:22px} .demo-turn li{margin:0 0 8px} .demo-turn strong{color:var(--rp-love);font-weight:600} .demo-turn code{font-family:var(--font-mono);font-size:12px;background:var(--bg-deep);color:var(--rp-love);padding:1px 4px;border-radius:2px} .demo-cite{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:4px;border:1px solid color-mix(in srgb,var(--rp-pine) 35%,var(--border));background:var(--bg);text-align:center} .demo-cite:hover{text-decoration:none;background:var(--bg-deep)} .demo-equation{margin:16px 0;padding:13px 10px;background:var(--bg);border:1px solid var(--border-subtle);border-radius:3px;text-align:center;font-size:16px;color:var(--fg);overflow-x:auto} .demo-composer{margin-top:0;border-top:1px solid var(--border-subtle);padding:12px 14px;display:flex;gap:10px;align-items:stretch} .demo-suggest{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;text-align:left;border:1px solid var(--border);border-radius:3px;padding:8px 12px;background:var(--bg);cursor:pointer;transition:border-color 160ms,background 160ms} .demo-suggest:hover{border-color:var(--rp-pine);background:color-mix(in srgb,var(--bg) 88%,var(--rp-pine))} .demo-suggest-hint{font:700 9px var(--font-mono);letter-spacing:0.1em;text-transform:uppercase;color:var(--rp-pine)} .demo-suggest-text{font-style:italic;font-size:13.5px;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis} .demo-composer.is-used .demo-suggest{cursor:default;opacity:0.5} .demo-composer.is-used .demo-suggest:hover{border-color:var(--border);background:var(--bg)} .demo-ask-btn{align-self:flex-end;border:0;background:var(--rp-pine);color:var(--rp-base);border-radius:2px;padding:8px 12px;font:700 11px var(--font-mono)} [data-theme="dark"] .demo-ask-btn{color:#191724} @media (prefers-color-scheme: dark){:root[data-theme="auto"] .demo-ask-btn{color:#191724}} @media (max-width:900px){ .demo-workspace{grid-template-columns:1fr;min-height:0} .demo-page{max-height:430px;border-right:0;border-bottom:4px solid #26233a} .demo-sidebar{max-height:none} } @media (max-width:640px){ .shot-frame{border-radius:4px} .demo-browser-bar{height:32px} .demo-workspace{font-size:16px} .demo-page-inner{padding:26px 22px 34px} .demo-page p{font-size:16px} .demo-code{white-space:pre-wrap;overflow-wrap:anywhere} .demo-sidebar-head{height:auto;min-height:46px} .demo-turn{padding:15px} .demo-composer{display:none} } /* META QUOTE */ .meta-quote{background:var(--bg-elev);border-bottom:1px solid var(--border-subtle);padding:clamp(80px,12vw,140px) 0;text-align:center;border-top:0} .meta-quote-inner{max-width:880px;margin:0 auto;padding:0 clamp(20px,4vw,40px)} .meta-quote .big-mc{font-family:var(--font-symbol);font-size:clamp(72px,10vw,128px);color:var(--rp-gold);line-height:1;display:block;margin-bottom:20px} .meta-quote blockquote{margin:0;font-family:var(--font-serif);font-style:italic;font-size:clamp(24px,3.2vw,38px);line-height:1.25;color:var(--fg);letter-spacing:-0.01em;text-wrap:balance} .meta-quote blockquote strong{color:var(--rp-love);font-weight:500;font-style:italic} /* FEATURES */ .features-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--border-subtle);border:1px solid var(--border-subtle);border-radius:4px;overflow:hidden} @media (max-width:720px){.features-grid{grid-template-columns:1fr}} .feat{padding:32px;background:var(--bg);display:flex;flex-direction:column;gap:10px;min-height:200px} .feat .ico{font-family:var(--font-symbol);font-size:34px;color:var(--rp-gold);line-height:1;margin-bottom:8px} .feat:nth-child(2) .ico{color:var(--rp-pine)} .feat:nth-child(3) .ico{color:var(--rp-iris)} .feat:nth-child(4) .ico{color:var(--rp-love)} .feat h3{font-family:var(--font-serif);font-size:22px;font-weight:600;color:var(--fg);margin:0;line-height:1.2;letter-spacing:-0.01em} .feat p{font-size:15.5px;line-height:1.55;color:var(--fg);margin:0;max-width:42ch} .feat .meta{margin-top:auto;padding-top:14px;font-family:var(--font-mono);font-size:10.5px;color:var(--fg-muted);text-transform:uppercase;letter-spacing:0.06em} .feat .meta .badge{color:var(--rp-gold)} .faq-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 48px;margin-top:8px} @media (max-width:720px){.faq-list{grid-template-columns:1fr;gap:26px}} .faq-item h3{font-family:var(--font-serif);font-size:21px;font-weight:600;color:var(--fg);margin:0 0 8px;line-height:1.25;letter-spacing:-0.01em} .faq-item p{font-size:15.5px;line-height:1.6;color:var(--fg);margin:0;max-width:56ch} .feat .kbd{font-family:var(--font-mono);font-size:13px;background:var(--bg-elev);padding:1px 5px;border-radius:2px} /* INSTALL */ .install-wrap{display:grid;grid-template-columns:1.05fr 0.95fr;gap:48px;align-items:start;margin-top:28px} @media (max-width:900px){.install-wrap{grid-template-columns:1fr;gap:32px}} .release-download{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:12px 16px;background:var(--rp-pine);color:var(--rp-base);border-radius:3px;font-family:var(--font-mono);font-size:11.5px;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;text-decoration:none} .release-download:hover{background:var(--rp-foam);color:var(--rp-base);text-decoration:none} [data-theme="dark"] .release-download{color:#191724} [data-theme="dark"] .release-download:hover{color:#191724} @media (prefers-color-scheme: dark){:root[data-theme="auto"] .release-download{color:#191724}:root[data-theme="auto"] .release-download:hover{color:#191724}} .source-install{border:1px solid var(--border-subtle);border-radius:4px;background:var(--bg);overflow:hidden} .source-install summary{cursor:pointer;padding:12px 14px;font-family:var(--font-mono);font-size:11px;color:var(--fg-muted);text-transform:uppercase;letter-spacing:0.06em;font-weight:700;list-style:none} .source-install summary::-webkit-details-marker{display:none} .source-install summary::before{content:"▸";display:inline-block;margin-right:8px;color:var(--rp-gold)} .source-install[open] summary{border-bottom:1px solid var(--border-subtle);color:var(--fg)} .source-install[open] summary::before{content:"▾"} .source-install .code-block{border:0;border-radius:0} .install-steps{counter-reset:s;padding:0;margin:0} .install-actions{display:flex;flex-direction:column;align-items:flex-start;gap:14px} .install-alt{margin:0;font-size:15px;line-height:1.55;color:var(--fg);max-width:46ch} .install-alt code{font-family:var(--font-mono);font-size:13px;background:var(--bg-deep);color:var(--rp-love);padding:1px 5px;border-radius:2px} .install-actions .source-install{align-self:stretch} .install-steps li{position:relative;list-style:none;padding:0 0 24px 44px;counter-increment:s;border-left:1px solid var(--border-subtle);margin-left:16px} .install-steps li::before{content:counter(s,decimal-leading-zero);position:absolute;left:-16px;top:-2px;width:32px;height:32px;background:var(--bg-elev);border:1px solid var(--border);border-radius:50%;display:grid;place-items:center;font-family:var(--font-mono);font-size:11px;color:var(--rp-pine);font-weight:700} .install-steps li:last-child{padding-bottom:0;border-left-color:transparent} .install-steps strong{color:var(--rp-love);font-weight:600} .install-steps em{color:var(--rp-foam);font-style:italic} .install-steps code{font-family:var(--font-mono);font-size:13px;background:var(--bg-deep);color:var(--rp-love);padding:1px 6px;border-radius:2px} .code-block{background:var(--bg-deep);border:1px solid var(--border);border-radius:4px;font-family:var(--font-mono);font-size:13.5px;line-height:1.7;color:var(--fg);overflow:hidden} .code-block .head{display:flex;align-items:center;gap:10px;padding:9px 14px;background:color-mix(in srgb,var(--bg-deep) 80%,var(--bg-elev));border-bottom:1px solid var(--border-subtle);font-family:var(--font-mono);font-size:10.5px;color:var(--fg-muted);text-transform:uppercase;letter-spacing:0.06em} .code-block .head .mc{color:var(--rp-gold)} .code-block pre{margin:0;padding:18px;overflow-x:auto;font-family:var(--font-mono);font-size:13.5px;line-height:1.7;color:var(--fg);background:transparent} .code-block .c{color:var(--fg-muted);font-style:italic} .code-block .k{color:var(--rp-iris);font-weight:600} .code-block .s{color:var(--rp-foam)} .code-block .n{color:var(--rp-gold)} .code-block .ok{color:var(--rp-foam)} .code-block .prompt{color:var(--rp-foam);user-select:none} .license-note{margin-top:18px;display:flex;gap:12px;align-items:flex-start;padding:14px 16px;background:var(--bg-elev);border:1px solid var(--border-subtle);border-left:3px solid var(--rp-foam);border-radius:0 3px 3px 0} .license-note .mc{color:var(--rp-foam);font-size:18px;margin-top:1px} .license-note p{margin:0;font-size:14px;line-height:1.5;color:var(--fg)} .license-note strong{color:var(--rp-love);font-weight:600} .license-note code{font-family:var(--font-mono);font-size:13px;background:var(--bg-deep);padding:1px 5px;border-radius:2px;color:var(--rp-love)} /* TOOLS */ .tools-all summary{cursor:pointer;display:inline-block;font-family:var(--font-mono);font-size:11.5px;color:var(--rp-pine);text-transform:uppercase;letter-spacing:0.06em;font-weight:700;list-style:none} .tools-all summary::-webkit-details-marker{display:none} .tools-all summary::before{content:"▸";display:inline-block;margin-right:8px;color:var(--rp-gold)} .tools-all[open] summary::before{content:"▾"} .tools-all .tools-wrap{margin-top:24px} .tools-wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:32px} @media (max-width:900px){.tools-wrap{grid-template-columns:repeat(2,1fr)}} @media (max-width:520px){.tools-wrap{grid-template-columns:1fr}} .tool-col h5{font-family:var(--font-mono);font-size:10.5px;color:var(--rp-gold);text-transform:uppercase;letter-spacing:0.08em;margin:0 0 10px;font-weight:700} .tool-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px} .tool-col li{font-family:var(--font-mono);font-size:13px;color:var(--fg);line-height:1.45} .tool-col li .verb{color:var(--rp-pine);font-weight:600} /* FOOTER */ footer{border-top:1px solid var(--border-subtle);padding:48px 0 56px;background:var(--bg)} .foot-inner{max-width:1140px;margin:0 auto;padding:0 clamp(20px,4vw,40px);display:flex;flex-wrap:wrap;align-items:center;gap:18px} .foot-brand{display:flex;align-items:center;gap:10px;font-family:var(--font-serif);font-weight:700;font-size:16px;color:var(--fg)} .foot-brand .mc{color:var(--rp-gold);font-size:18px} .foot-meta{flex:1;font-family:var(--font-mono);font-size:12px;color:var(--fg-muted);text-align:right} .foot-meta a{color:var(--fg-muted)} .foot-meta a:hover{color:var(--rp-pine)} .foot-meta em{color:var(--rp-foam);font-style:italic} @media (max-width:600px){.foot-meta{text-align:left;flex:none;width:100%}} /* LEGAL / SUPPORT */ .legal-page{background:var(--bg)} .legal-hero{padding:clamp(56px,8vw,96px) 0 clamp(32px,5vw,48px);border-top:0;background:var(--bg)} .legal-hero h1{font-family:var(--font-serif);font-weight:700;font-size:clamp(40px,6vw,72px);line-height:1.04;letter-spacing:-0.025em;color:var(--fg);margin:0 0 18px;max-width:12ch} .legal-hero p{font-size:clamp(18px,1.5vw,21px);line-height:1.55;color:var(--fg);max-width:62ch;margin:0} .legal-hero .legal-updated{font-family:var(--font-mono);font-size:12px;color:var(--fg-muted);text-transform:uppercase;letter-spacing:0.06em;margin-top:18px} .legal-body{padding:0 0 clamp(72px,9vw,112px);border-top:0} .legal-grid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:40px;align-items:start} .legal-toc{position:sticky;top:84px;display:flex;flex-direction:column;gap:6px;padding:14px;background:var(--bg-elev);border:1px solid var(--border-subtle);border-radius:4px} .legal-toc a{display:block;padding:7px 9px;border-radius:3px;font-family:var(--font-mono);font-size:11px;color:var(--fg-muted);text-transform:uppercase;letter-spacing:0.06em;font-weight:700;text-decoration:none} .legal-toc a:hover{background:var(--bg-deep);color:var(--rp-pine);text-decoration:none} .legal-card{background:var(--bg-elev);border:1px solid var(--border-subtle);border-radius:5px;padding:clamp(24px,4vw,44px)} .legal-section{padding:0 0 34px;border-top:0} .legal-section + .legal-section{padding-top:34px;border-top:1px solid var(--border-subtle)} .legal-section:last-child{padding-bottom:0} .legal-section h2{font-family:var(--font-serif);font-size:clamp(24px,3vw,34px);font-weight:600;letter-spacing:-0.015em;line-height:1.16;color:var(--fg);margin:0 0 12px} .legal-section p{font-size:16px;line-height:1.65;color:var(--fg);margin:0 0 14px;max-width:74ch} .legal-section p:last-child{margin-bottom:0} .legal-section ul,.legal-section ol{margin:0 0 14px;padding-left:22px} .legal-section li{font-size:16px;line-height:1.6;color:var(--fg);margin:0 0 8px} .legal-section strong{color:var(--rp-love);font-weight:600} .legal-section code{font-family:var(--font-mono);font-size:13px;background:var(--bg-deep);color:var(--rp-love);padding:1px 6px;border-radius:2px} .inline-action{display:inline-flex;align-items:center;gap:8px;margin-top:4px;font-family:var(--font-mono);font-size:12px;color:var(--rp-pine);text-transform:uppercase;letter-spacing:0.06em;font-weight:700} .inline-action:hover{color:var(--rp-foam)} .guide-page .legal-hero h1{max-width:20ch;font-size:clamp(34px,4.8vw,58px);line-height:1.08} .guide-ctas{margin:28px 0 12px} .guide-page .legal-hero .hero-note{font-size:11.5px;line-height:1.5;margin:0} .guide-figure{margin:0 0 34px} .guide-figure img{display:block;width:100%;height:auto;border:1px solid var(--border-subtle);border-radius:4px} .guide-figure figcaption{margin-top:10px;font-size:14px;line-height:1.5;color:var(--fg-muted)} .guide-more{margin:26px 0 0;font-size:15px;line-height:1.7;color:var(--fg-muted)} .compare-wrap{overflow-x:auto;margin:0 0 14px} .compare-table{width:100%;min-width:520px;border-collapse:collapse;font-size:15px;line-height:1.5;color:var(--fg)} .compare-table th,.compare-table td{padding:12px 14px;border-bottom:1px solid var(--border-subtle);text-align:left;vertical-align:top} .compare-table thead th{font-family:var(--font-mono);font-size:11px;color:var(--fg-muted);text-transform:uppercase;letter-spacing:0.06em} .compare-table tbody th{font-weight:600;color:var(--fg);width:22%} .compare-note{font-size:13.5px !important;color:var(--fg-muted) !important} @media (max-width:600px){.compare-table{min-width:0}.compare-table thead{display:none}.compare-table tr{display:block;padding:14px 0;border-bottom:1px solid var(--border-subtle)}.compare-table tbody th,.compare-table td{display:block;width:auto;padding:0;border:0}.compare-table tbody th{margin-bottom:8px}.compare-table td+td{margin-top:10px}.compare-table td::before{content:attr(data-label);display:block;margin-bottom:2px;font-family:var(--font-mono);font-size:10.5px;color:var(--fg-muted);text-transform:uppercase;letter-spacing:0.06em}} .faq-more{margin:34px 0 0;font-size:15px;line-height:1.7;color:var(--fg-muted)} /* Welcome page (opened once after a store install) */ .welcome-hero h1{max-width:none} .welcome-grid{display:grid;gap:28px} .welcome-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px} .welcome-step{display:flex;gap:14px;align-items:flex-start;background:var(--bg-elev);border:1px solid var(--border-subtle);border-radius:5px;padding:20px} .welcome-num{flex:none;width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--rp-pine);color:var(--bg);font-family:var(--font-mono);font-size:14px;font-weight:700} .welcome-step h2{font-family:var(--font-serif);font-size:20px;font-weight:600;line-height:1.25;margin:3px 0 6px;color:var(--fg)} .welcome-step p{font-size:15px;line-height:1.55;margin:0;color:var(--fg)} .welcome-step strong{font-weight:600;color:var(--rp-love)} .welcome-page kbd{font-family:var(--font-mono);font-size:12px;padding:1px 6px;border:1px solid var(--border);border-bottom-width:2px;border-radius:3px;background:var(--bg);color:var(--fg);white-space:nowrap} .try-card .section-eyebrow{margin-bottom:10px} .try-intro{font-size:16px;margin:0 0 10px;color:var(--fg)} .ask-chips{list-style:none;margin:0 0 22px;padding:0;display:flex;flex-wrap:wrap;gap:8px} .ask-chips li{font-family:var(--font-mono);font-size:12px;line-height:1.4;padding:6px 10px;border:1px solid var(--border);border-radius:3px;background:var(--bg);color:var(--rp-pine)} .try-passage{background:var(--bg);border:1px solid var(--border-subtle);border-left:3px solid var(--rp-gold);border-radius:4px;padding:clamp(18px,3vw,30px)} .try-passage h2{font-family:var(--font-serif);font-size:clamp(22px,2.6vw,28px);font-weight:600;line-height:1.2;margin:0 0 12px;color:var(--fg)} .try-passage p{font-size:17px;line-height:1.7;margin:0 0 14px;color:var(--fg);max-width:68ch} .try-passage p:last-child{margin-bottom:0} .try-learning{font-size:15px;line-height:1.6;margin:18px 0 0;color:var(--fg-muted)} .try-learning strong{color:var(--rp-love);font-weight:600} .welcome-where h2{font-family:var(--font-serif);font-size:clamp(22px,2.6vw,28px);font-weight:600;margin:0 0 12px;color:var(--fg)} .welcome-where ul{margin:0 0 14px;padding-left:22px} .welcome-where li{font-size:16px;line-height:1.6;margin:0 0 8px;color:var(--fg)} .welcome-where li strong{font-weight:600;color:var(--fg)} .welcome-where p{font-size:16px;margin:0;color:var(--fg)} @media (max-width:820px){.welcome-steps{grid-template-columns:1fr}} @media (max-width:820px){ .legal-grid{grid-template-columns:1fr} .legal-toc{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))} } @media (max-width:520px){ .legal-toc{grid-template-columns:1fr} .legal-card{padding:22px} } /* 404 page */ .notfound{min-height:calc(100vh - 60px);display:grid;place-items:center;padding:60px 20px;text-align:center} .notfound .big-mc{font-family:var(--font-symbol);font-size:clamp(96px,16vw,200px);color:var(--rp-gold);line-height:1;display:block;margin-bottom:8px;transform:scaleX(-1)} .notfound h1{font-family:var(--font-serif);font-weight:700;font-size:clamp(32px,4vw,52px);color:var(--fg);margin:0 0 10px;letter-spacing:-0.02em} .notfound h1 em{color:var(--rp-love);font-style:italic;font-weight:600} .notfound p{font-family:var(--font-serif);font-size:18px;color:var(--fg-muted);max-width:46ch;margin:0 auto 24px;font-style:italic} .notfound .back{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:12px;color:var(--rp-pine);text-transform:uppercase;letter-spacing:0.06em;font-weight:700} .notfound .back:hover{color:var(--rp-foam);text-decoration:underline} /* --- Interactive demo: scripted build animation + interactions --- */ .demo-replay{margin-left:auto;border:1px solid var(--border);background:transparent;color:var(--fg-muted);font:700 9.5px var(--font-mono);letter-spacing:0.08em;text-transform:uppercase;padding:3px 9px;border-radius:3px;cursor:pointer;transition:color 160ms,border-color 160ms,opacity 200ms;opacity:0;pointer-events:none} .interactive-demo.is-settled .demo-replay{opacity:1;pointer-events:auto} .demo-replay:hover{color:var(--fg);border-color:var(--rp-pine)} .demo-scroller{flex:1;min-height:0;overflow:auto;scroll-behavior:smooth} .demo-scroller .demo-turn{overflow:visible} .demo-turn[data-demo-turn="2"]{border-top:1px dashed var(--border-subtle);margin-top:4px} .demo-reading{display:none;align-items:center;gap:8px;margin:0 0 14px;font:700 10px var(--font-mono);letter-spacing:0.06em;text-transform:uppercase;color:var(--rp-pine)} .interactive-demo.is-reading .demo-reading{display:flex} .demo-reading::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--rp-pine);animation:demoPulse 900ms ease-in-out infinite} @keyframes demoPulse{0%,100%{opacity:0.35;transform:scale(0.8)}50%{opacity:1;transform:scale(1.15)}} /* Reveal states — only active once JS "arms" the demo (graceful without JS) */ .interactive-demo.is-armed [data-demo-reveal]{opacity:0;transform:translateY(6px)} .interactive-demo.is-armed [data-demo-reveal].is-shown{opacity:1;transform:none;transition:opacity 450ms ease,transform 450ms ease} .interactive-demo.is-armed .demo-highlight{background:transparent} .interactive-demo.is-armed .demo-highlight.is-shown{animation:demoBloom 620ms ease forwards} @keyframes demoBloom{0%{background:transparent;box-shadow:0 0 0 0 rgba(234,157,52,0)}35%{box-shadow:0 0 0 6px rgba(234,157,52,0.22)}100%{background:rgba(234,157,52,0.3);box-shadow:0 0 0 0 rgba(234,157,52,0)}} .interactive-demo.is-armed .demo-answer .demo-cite{opacity:0;transform:scale(0.6)} .interactive-demo.is-armed .demo-answer .demo-cite.is-shown{opacity:1;transform:none;transition:opacity 260ms ease,transform 260ms cubic-bezier(.34,1.56,.64,1)} /* Hover-linking: citation chip <-> page source */ [data-demo-source].is-linked{background:rgba(234,157,52,0.16);box-shadow:0 0 0 5px rgba(234,157,52,0.14);border-radius:2px} .demo-note.is-linked{background:#f2e9dc} .demo-cite.is-linked,.demo-sources button.is-linked{color:var(--rp-love);text-decoration:none} .demo-cite.is-linked{background:var(--bg-deep);border-color:var(--rp-love)} @media (prefers-reduced-motion: reduce){ .interactive-demo.is-armed [data-demo-reveal], .interactive-demo.is-armed .demo-answer .demo-cite{opacity:1;transform:none;transition:none} .interactive-demo.is-armed .demo-highlight, .interactive-demo.is-armed .demo-highlight.is-shown{background:rgba(234,157,52,0.3);animation:none} .demo-scroller{scroll-behavior:auto} .demo-reading::before{animation:none} } .interactive-demo.is-resetting [data-demo-reveal], .interactive-demo.is-resetting .demo-answer .demo-cite, .interactive-demo.is-resetting .demo-highlight{transition:none!important;animation:none!important} /* The follow-up-only highlight stays hidden until the follow-up is asked, independent of is-armed (so the reduced-motion settle doesn't reveal it early). */ .demo-highlight.demo-hl-followup{background:transparent} .demo-highlight.demo-hl-followup.is-shown{background:rgba(234,157,52,0.3)}