:root{--bg:oklch(84.5% .04 84);--surface:oklch(91% .03 89);--paper:oklch(94.5% .017 94);--fg:oklch(22% .02 62);--muted:oklch(43% .022 68);--border:oklch(63% .034 80);--accent:oklch(45% .1 62);--rule:oklch(68% .045 235);--stamp:oklch(48% .09 32);--accent-soft:color-mix(in oklch, var(--accent) 12%, transparent);--fg-soft:color-mix(in oklch, var(--fg) 6%, transparent);--rule-soft:color-mix(in oklch, var(--rule) 55%, var(--paper));--shadow-menu:0 12px 32px -14px color-mix(in oklch, var(--fg) 45%, transparent);--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='d'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.055 0'/%3E%3C/filter%3E%3Cfilter id='l'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch' seed='7'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.04 0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23d)'/%3E%3Crect width='200' height='200' filter='url(%23l)'/%3E%3C/svg%3E");--font-display:"Iowan Old Style", "Charter", Georgia, serif;--font-body:-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, monospace}*,:before,:after{box-sizing:border-box}body{background-color:var(--bg);color:var(--fg);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;flex-direction:column;min-height:100vh;margin:0;font-size:16px;line-height:1.55;display:flex;position:relative}body:before{content:"";z-index:-1;pointer-events:none;background-image:var(--grain), radial-gradient(1150px 640px at 86% -10%, oklch(93% .018 92/.6), transparent 68%), radial-gradient(1000px 780px at -8% 38%, oklch(70% .042 78/.3), transparent 66%), radial-gradient(1250px 950px at 58% 115%, oklch(67% .045 76/.32), transparent 66%), linear-gradient(102deg, oklch(70% .04 78/.14), transparent 32% 68%, oklch(66% .045 76/.2));position:absolute;inset:0}@media print{body:before{display:none}}main{flex:1}a{color:inherit;text-decoration:none}main a:not(.btn){text-underline-offset:3px;text-decoration:underline}button{font:inherit;cursor:pointer}h1,h2{text-wrap:balance}.container{width:100%;max-width:1040px;margin-inline:auto;padding-inline:32px}.eyebrow{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 20px;font-size:12px}.hero .eyebrow,.page-head .eyebrow{color:var(--accent)}.meta{font-family:var(--font-mono);color:var(--muted);font-size:13px}code{font-family:var(--font-mono);background:var(--paper);border:1px solid var(--border);border-radius:2px;padding:.1em .35em;font-size:.92em}.topnav{border-bottom:1px solid var(--border)}.topnav-inner{justify-content:space-between;align-items:baseline;padding-block:18px;display:flex}.logo{font-family:var(--font-display);letter-spacing:-.01em;font-size:21px;font-weight:600}.logo .lamp{margin-right:6px;font-size:17px}.topnav nav{align-items:baseline;gap:28px;display:flex}.topnav nav>a{color:var(--muted);font-size:14px;transition:color .15s}.topnav nav>a:hover{color:var(--fg)}.hero{border-bottom:1px solid var(--border);padding-block:72px 40px}.hero h1{font-family:var(--font-display);letter-spacing:-.015em;max-width:17ch;margin:0 0 20px;font-size:clamp(40px,4.6vw,58px);line-height:1.06}.lead{color:var(--muted);max-width:56ch;margin:0 0 20px;font-size:18px}.badge-line{font-family:var(--font-mono);letter-spacing:.02em;color:var(--fg);flex-wrap:wrap;gap:18px;margin:0;font-size:12.5px;display:flex}.badge-line span:before{content:"· ";color:var(--muted)}.badge-line span:first-child:before{content:""}.page-head{border-bottom:1px solid var(--border);padding-block:56px 36px}.page-head h1{font-family:var(--font-display);letter-spacing:-.015em;max-width:22ch;margin:0 0 16px;font-size:clamp(30px,3.8vw,44px);line-height:1.08}.page-head .lead{max-width:60ch;margin-bottom:0;font-size:17px}.page-head .sub{color:var(--muted);margin:0}.page-section{border-top:1px solid var(--border);padding-block:60px}.page-section h2{font-family:var(--font-display);letter-spacing:-.01em;max-width:24ch;margin:0 0 14px;font-size:clamp(26px,2.6vw,32px);line-height:1.15}.page-section .sub{color:var(--muted);max-width:62ch;margin:0;font-size:15.5px}.toolgrid{grid-template-columns:1fr 1fr;gap:40px;margin-top:36px;display:grid}.toolcard{border-top:2px solid var(--fg);flex-direction:column;align-items:flex-start;gap:8px;padding-top:14px;display:flex}.toolcard .cardhead{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.toolcard h3{font-family:var(--font-display);margin:0;font-size:22px;font-weight:600}.toolcard .status{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--stamp);border:1.5px solid var(--stamp);border-radius:3px;padding:2px 8px;font-size:11px;transform:rotate(-1deg)}.toolcard .tagline{font-family:var(--font-display);margin:0;font-size:16.5px}.toolcard .desc{color:var(--muted);margin:0;font-size:14.5px}.toolcard .price{font-family:var(--font-mono);color:var(--fg);margin:4px 0 0;font-size:13px}.toolcard .host{font-family:var(--font-mono);color:var(--muted);margin:0 0 6px;font-size:12.5px}.toolcard .host .arr{color:var(--stamp)}.btnrow{flex-wrap:wrap;align-items:center;gap:12px;margin-top:24px;display:flex}.btn{border:1px solid var(--fg);border-radius:2px;align-items:center;gap:8px;min-height:44px;padding:11px 20px;font-size:15px;font-weight:500;transition:background .15s,color .15s,border-color .15s,transform .15s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--paper)}.btn-primary:hover{background:color-mix(in oklch, var(--accent) 82%, black);border-color:color-mix(in oklch, var(--accent) 82%, black)}.btn-secondary{color:var(--fg);background:0 0}.btn-secondary:hover{background:var(--fg);color:var(--bg)}.btn-sm{min-height:44px;padding:8px 16px;font-size:14px}:where(a,button):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.doc{max-width:720px;padding-block:16px 64px}.doc h2{font-family:var(--font-display);border-top:1px solid var(--border);margin:40px 0 10px;padding-top:22px;font-size:22px;font-weight:600}.doc h2:first-of-type{margin-top:8px}.doc p,.doc li{color:var(--fg);font-size:15.5px}.doc p{margin:0 0 14px}.doc ul,.doc ol{margin:0 0 14px;padding-left:22px}.doc li{margin-bottom:6px}.doc .sub{color:var(--muted)}.foot{border-top:3px double var(--border);padding-block:28px}.foot .inner{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.foot nav{flex-wrap:wrap;gap:22px;display:flex}.foot nav a{font-family:var(--font-mono);color:var(--muted);font-size:13px;transition:color .15s}.foot nav a:hover{color:var(--fg)}.foot-note{flex-basis:100%;margin:6px 0 0;font-size:13px}.muted{color:var(--muted)}ul.tight li,ol.tight li{margin-bottom:8px}.page-main{padding-block:44px 64px}.page-main p{max-width:68ch}@media (width<=920px){.toolgrid{grid-template-columns:1fr}}@media (width<=720px){.container{padding-inline:20px}.topnav-inner{flex-wrap:wrap;row-gap:10px}.topnav nav{flex-wrap:wrap;gap:8px 14px}.topnav nav>a{font-size:13.5px}.hero{padding-block:52px 32px}.page-head{padding-block:44px 28px}.page-section{padding-block:44px}}
