@font-face{font-family:'PP Kyoto';font-style:italic;font-weight:400;font-display:swap;src:url(pp-kyoto-regular-italic.woff2) format('woff2')}
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(inter.woff2) format('woff2')}
:root{--paper:#fff;--ink:#0a0a0a;--muted:#7e7f95;--card:#eef0f1;--placeholder:#e8eaec;--line:#0a0a0a14;--hover:#e4e7e9;--mono:ui-monospace,SFMono-Regular,Menlo,monospace;color-scheme:light}
:root.dark{--paper:#0d0d0f;--ink:#ececef;--muted:#9698ac;--card:#161619;--placeholder:#1d1d21;--line:#ffffff1a;--hover:#26262b;color-scheme:dark}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:32px}body{background:var(--paper);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-feature-settings:'cv11','ss01','ss03';-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .2s,color .2s;font-size:14px;line-height:1.5}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit;border:0}img{display:block;max-width:100%;height:auto}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid #8177c7;outline-offset:5px}button:disabled{cursor:default}[hidden]{display:none!important}h1,h2,h3{font-weight:500}main{padding:112px 24px 0}.intro{max-width:640px;margin:0 auto}.app-icon{width:96px;height:96px}.intro h1{font-size:32px;line-height:2;margin-top:20px;letter-spacing:-.035em}.tagline{font-size:16px;line-height:1.2;color:var(--muted);margin-top:4px}.intro-description{max-width:520px;font-size:16px;line-height:1.45;color:var(--muted);margin-top:32px}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:40px;border-radius:999px;padding:9px 19px;font-family:var(--mono);font-size:13px;font-weight:500;letter-spacing:-.02em;transition:opacity .15s,background .15s,transform .15s}.button:hover{transform:translateY(-2px)}.primary{background:var(--ink);color:var(--paper)}.primary:hover{opacity:.86}.secondary{background:var(--card);color:var(--ink)}.secondary:hover{background:var(--hover)}.gallery{position:relative;max-width:1152px;margin:64px auto 0;aspect-ratio:12/7;background:var(--card);border-radius:16px;overflow:hidden;box-shadow:0 1px #0a0a0a08,0 30px 60px -30px #0a0a0a30}.gallery-slide{position:absolute;inset:0}.image-slot{width:100%;height:100%;min-height:0;display:grid;place-items:center;position:relative;overflow:hidden;border-radius:14px;background:var(--card)}.image-slot>span{color:var(--muted);opacity:.5;font-size:12px;letter-spacing:-.015em;text-align:center;padding:20px}.image-slot img{width:100%;height:100%;object-fit:contain}.image-slot.has-image{background:transparent}.gallery .image-slot{border-radius:0}.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:36px;height:36px;background:var(--paper);border-radius:50%;font-size:25px;font-weight:400;line-height:1;opacity:0;box-shadow:0 3px 13px #0001;transition:opacity .2s}.gallery:hover .gallery-arrow,.gallery:focus-within .gallery-arrow{opacity:1}.gallery-arrow.previous{left:12px}.gallery-arrow.next{right:12px}.gallery-dots{position:absolute;z-index:2;bottom:12px;left:50%;transform:translateX(-50%);display:flex;gap:7px;background:#0005;padding:8px 10px;border-radius:99px}.gallery-dots button{width:7px;height:7px;border-radius:99px;background:#ffffff80;transition:width .2s,background .2s}.gallery-dots button[aria-current=true]{width:17px;background:#fff}.section{max-width:960px;margin:160px auto 0}.intro-feature{margin-top:128px}.split{display:grid;grid-template-columns:1.32fr 1fr;align-items:center;gap:48px}.section h2{font-size:18px;line-height:1.25;letter-spacing:-.025em}.section h3{font-size:13px;line-height:1.5;letter-spacing:-.01em}.section p{font-size:14px;line-height:1.6;color:var(--muted)}.section-lead{max-width:640px}.section-lead>p{margin-top:12px}.section-copy>p{margin-top:16px}.comparison-slot{aspect-ratio:16/10;background:var(--card)}.shortcut{display:flex;align-items:center;gap:8px;margin-top:24px;color:var(--muted)}kbd{font-family:var(--mono);font-size:12px;background:var(--card);padding:4px 8px;border-radius:5px;color:var(--muted);white-space:nowrap}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:32px}.feature-card{background:var(--card);border-radius:14px;overflow:hidden}.feature-card .image-slot{height:172px;background:transparent;border-radius:0}.card-copy{padding:4px 20px 23px}.card-copy p{font-size:12px;line-height:1.55;margin-top:4px}.large-slot{aspect-ratio:1/1.12}.plain-features{display:grid;gap:23px;margin-top:29px}.plain-features p{font-size:12px;margin-top:3px}.shortcut-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:45px;margin-top:32px;align-items:center}.shortcut-layout>.image-slot{aspect-ratio:1.35}.shortcut-list{display:grid;gap:4px}.shortcut-list>div{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 0}.shortcut-list p{font-size:12px;margin-top:4px}.shortcut-list kbd{flex-shrink:0}.runtime-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:32px;margin-top:32px;align-items:stretch}.runtime-options{display:flex;flex-direction:column;gap:3px}.runtime-options button{display:flex;align-items:center;gap:12px;text-align:left;background:transparent;border-radius:10px;padding:12px;transition:background .15s,transform .2s}.runtime-options button:hover{background:var(--card);transform:translateY(-3px)}.runtime-options button[aria-selected=true]{background:var(--card)}.runtime-options img{width:29px;height:29px;object-fit:contain;flex-shrink:0}.runtime-options strong{display:block;font-weight:500;font-size:13px}.runtime-options button>span>span{display:block;font-size:12px;line-height:1.5;color:var(--muted);margin-top:2px}.dark .dsh-icon{filter:invert(1)}#runtime-panel{min-width:0;min-height:390px;border-radius:14px;overflow:hidden;background:var(--card)}.thesis-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin-top:36px}.thesis-grid article{padding-top:18px;border-top:1px solid var(--line)}.thesis-grid p{font-size:12px;margin-top:9px;line-height:1.65}.thesis .reflection-note{font-size:12px;margin-top:28px}.download-section{text-align:center}.download-section h2{font-size:26px;line-height:1.2;letter-spacing:-.03em}.download-section>p{margin-top:15px}.download-button{margin-top:27px;min-height:44px}.download-button>span{opacity:.6;font-size:11px;margin-left:8px}.download-section .requirements{font-size:11px;margin-top:20px}.footer{max-width:1008px;padding:0 24px 45px;margin:120px auto 0}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:35px;border-top:1px solid var(--line);padding-top:45px}.footer-brand img{width:48px;height:48px}.footer-brand p{font-size:12px;color:var(--muted);margin-top:15px}.footer h3{font-size:12px;font-weight:500;margin-bottom:15px}.footer-grid>div>a:not(:first-child),.footer-grid>div:not(.footer-brand)>a{display:block;font-size:12px;color:var(--muted);margin-top:10px}.footer a:hover{color:var(--ink)}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);margin-top:40px;padding-top:24px;color:var(--muted);font-size:11px}.theme-toggle{display:inline-flex;align-items:center;gap:8px;background:var(--card);border-radius:99px;padding:7px 12px;font-size:11px}.theme-toggle>span:first-child{font-size:15px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-80px;left:16px;z-index:20;padding:10px 15px;background:var(--ink);color:var(--paper);border-radius:8px}.skip-link:focus{top:16px}
@media(max-width:1000px){.section{margin-top:120px}.split{gap:32px}.runtime-layout{grid-template-columns:290px minmax(0,1fr)}.thesis-grid{gap:22px}}
@media(max-width:700px){main{padding-top:80px}.intro{max-width:520px}.gallery{margin-top:48px}.section{margin-top:96px}.split{grid-template-columns:1fr;gap:28px}.section-copy{max-width:520px}.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.feature-card .image-slot{height:145px}.card-copy{padding:0 16px 20px}.large-slot{aspect-ratio:1.4}.shortcut-layout{grid-template-columns:1fr;gap:20px}.runtime-layout{grid-template-columns:1fr;gap:20px}.runtime-options{display:grid;grid-template-columns:1fr 1fr;gap:5px}.runtime-options button{padding:11px 8px;gap:9px}.runtime-options button>span>span{font-size:11px}.runtime-options strong{font-size:12px}.runtime-options img{width:26px;height:26px}#runtime-panel{min-height:0;aspect-ratio:1.4}.thesis-grid{grid-template-columns:1fr 1fr;gap:27px}.footer{margin-top:85px}.footer-grid{grid-template-columns:1fr 1fr;gap:32px}.gallery-arrow{opacity:1;width:30px;height:30px;font-size:21px}.image-slot>span{font-size:11px}}
@media(max-width:400px){main{padding-inline:20px}.feature-grid{grid-template-columns:1fr}.feature-card .image-slot{height:190px}.runtime-options{grid-template-columns:1fr}.thesis-grid{gap:20px}.download-button{font-size:12px;gap:7px;padding-inline:14px}.download-button>span{font-size:10px;margin-left:0}.footer{padding-inline:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Restrained serif accents within the existing title hierarchy. */
.tagline em,h2 em{font-family:'PP Kyoto',Georgia,'Times New Roman',serif;font-style:italic;font-weight:400;font-size:1.13em;letter-spacing:-.025em}
.tagline em{color:var(--ink)}
.github-mark{width:16px;height:16px;flex-shrink:0}
.dark .github-mark{filter:brightness(0) invert(1)}

@font-face{font-family:'Cetus Welcome';font-style:italic;font-weight:400;font-display:swap;src:url(assets/cetus-serif.woff2) format('woff2')}
/* Static Paper grain gradient, limited to the marketing hero. */
.hero-stage{position:relative;isolation:isolate}
.hero-grain{--wave-opacity:.72;--wave-back:#fff;--wave-0:#f4f0fb;--wave-1:#ded5f3;--wave-2:#a79cde;--wave-3:#827be6;position:absolute;z-index:-1;inset:-112px -24px -64px;pointer-events:none;overflow:hidden;background:var(--wave-back);mask-image:linear-gradient(#000 0%,#000 64%,transparent 100%)}
/* A broad lower-half wave, using the shader palette and a level base. */
.hero-grain:before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 78% 48% at 52% 108%,var(--wave-3) 0%,var(--wave-2) 40%,transparent 100%),radial-gradient(ellipse 110% 64% at 50% 111%,var(--wave-2) 0%,var(--wave-1) 42%,var(--wave-0) 69%,transparent 100%),linear-gradient(180deg,var(--wave-back) 0%,var(--wave-back) 36%,var(--wave-0) 56%,var(--wave-1) 78%,var(--wave-2) 100%);opacity:var(--wave-opacity);transition:opacity .6s ease}
.hero-grain canvas{position:relative;display:block;width:100%;height:100%;opacity:0;transition:opacity .6s ease}
.hero-grain.is-ready:before{opacity:0}
.hero-grain.is-ready canvas{opacity:var(--wave-opacity)}
.dark .hero-grain{--wave-opacity:.8;--wave-back:#0d0d0f;--wave-0:#211c32;--wave-1:#544984;--wave-2:#827be6;--wave-3:#aaa0e8}
@media(max-width:700px){.hero-grain{top:-80px}}
@media(max-width:400px){.hero-grain{left:-20px;right:-20px}}

/* An editorial thesis directly after the product introduction. */
.section.thesis{margin-top:112px}
.thesis-opening{display:grid;grid-template-columns:1fr 1.25fr;gap:60px;align-items:start}
.thesis-opening h2{font-size:32px;line-height:1.2;letter-spacing:-.035em}
.thesis-opening h2 em{font-size:1.12em}
.thesis-opening p{font-size:15px;line-height:1.7}
.thesis-opening p+p{margin-top:16px}
.thesis-essays{margin-top:48px}
.thesis-essays article{display:grid;grid-template-columns:1fr 1.25fr;gap:60px;padding:28px 0;border-top:1px solid var(--line)}
.thesis-essays h3{font-size:15px;line-height:1.6;font-weight:500}
.thesis-essays h3 em{font-family:'PP Kyoto',Georgia,serif;font-size:1.15em;font-weight:400;color:var(--muted)}
.thesis-essays p{font-size:13px;line-height:1.75}
.thesis-essays p+p{margin-top:12px}
.thesis-loop{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;border-top:1px solid var(--line);padding-top:28px;margin-top:10px}
.thesis-loop-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.thesis-loop-heading h3{font-size:13px}
.thesis-loop-heading>span{color:var(--muted);font-size:17px;font-weight:400}
.thesis-loop p{font-size:12px;line-height:1.75}
.thesis-closing{display:flex;align-items:center;justify-content:space-between;gap:50px;padding-top:32px;margin-top:36px;border-top:1px solid var(--line)}
.thesis-closing>p{font-size:22px;line-height:1.45;color:var(--ink);letter-spacing:-.025em}
.thesis-closing em{font-family:'PP Kyoto',Georgia,serif;font-size:1.15em}
.thesis-closing>span{max-width:290px;color:var(--muted);font-size:12px;line-height:1.7}
@media(max-width:700px){.section.thesis{margin-top:80px}.thesis-opening{grid-template-columns:1fr;gap:24px}.thesis-opening h2{font-size:29px}.thesis-opening p{font-size:14px}.thesis-essays{margin-top:32px}.thesis-essays article{grid-template-columns:1fr;gap:16px;padding:24px 0}.thesis-essays h3 br{display:none}.thesis-essays h3 em{margin-left:4px}.thesis-loop{grid-template-columns:1fr 1fr;gap:26px 22px}.thesis-closing{align-items:flex-start;flex-direction:column;gap:20px}.thesis-closing>span{max-width:350px}}

.site-icon{display:block;width:16px;height:16px;flex:none;stroke-width:1.75}.thesis-loop-heading>.site-icon{color:var(--muted)}

/* Mobile editorial rhythm, readable feature crops, and comfortable touch targets. */
@media(max-width:700px){
 main{padding:48px 20px 0}.hero-grain{inset:-48px -20px -48px}
 .intro{max-width:100%}.app-icon{width:72px;height:72px}
 .intro h1{margin-top:12px;line-height:1.5}.tagline{line-height:1.5;font-size:17px}
 .intro-description{margin-top:22px;font-size:15px;line-height:1.65}
 .actions{margin-top:24px;gap:10px}.button{min-height:46px}
 .section{margin-top:80px}.section h2{font-size:22px;line-height:1.3}
 .section.thesis{margin-top:72px}.thesis-opening h2{font-size:30px}
 .feature-grid{grid-template-columns:1fr;gap:24px}.card-copy{padding:16px 20px 22px}
 .section h3{font-size:15px}.card-copy p,.plain-features p{font-size:14px;line-height:1.65}
 .thesis-loop{grid-template-columns:1fr;gap:24px}.thesis-loop p,.thesis-essays p{font-size:14px}
 .thesis-loop-heading{margin-bottom:6px}.thesis-closing>span{font-size:13px}
 .shortcut-list>div{gap:12px}.shortcut-list p{font-size:13px}
 .runtime-options{grid-template-columns:1fr 1fr}.runtime-options button{min-height:64px;min-width:0}
 .runtime-options button>span>span{display:none}
 .footer{padding:0 20px 28px;margin-top:72px}.footer-grid{gap:24px;padding-top:28px}
 .footer-grid>div:not(.footer-brand)>a{min-height:44px;display:flex;align-items:center;margin:0;font-size:13px}
 .footer h3{margin-bottom:8px}.footer-bottom{align-items:flex-start;gap:12px;flex-wrap:wrap}
 .theme-toggle{min-height:44px}.download-button{flex-wrap:wrap;max-width:100%}
}
@media(hover:none){.button:hover,.runtime-options button:hover{transform:none}}
