:root{--ink:#16242e;--ink-soft:#4a5b68;--paper:#fffdf7;--shell:#fffefb;--sand:#e7dcc4;--sand-soft:#f6efe2;--edge:#e6dcc9;--sky:#bcd9e8;--foam:#7fd4c6;--sea:#2fb0a7;--sea-dark:#17948f;--sea-deep:#0f6f6b;--coral:#ef7d57;--coral-dark:#cf5a33;--page-width:44rem}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.6}body{background:radial-gradient(75rem 30rem at 50% -6rem, #bcd9e8d9, transparent 72%), linear-gradient(180deg, transparent 60%, #e7dcc459), var(--paper);color:var(--ink);background-attachment:fixed;flex-direction:column;min-height:100vh;margin:0;font-size:1.0625rem;display:flex}h1,h2,h3{margin:0 0 .5em;line-height:1.25}h1{letter-spacing:-.01em;font-size:1.75rem}h1:after{content:"";background:linear-gradient(90deg, var(--sea-dark), var(--foam) 60%, var(--coral));border-radius:999px;width:3.5rem;height:4px;margin-top:.5rem;display:block}h2{margin-top:2rem;font-size:1.25rem}p{margin:0 0 1rem}a{color:var(--sea-deep)}a:hover{color:var(--coral-dark)}:focus-visible{outline:3px solid var(--sea);outline-offset:2px}.site-header{border-bottom:1px solid var(--edge);background:linear-gradient(#bcd9e88c,#fffdf7e6);padding:.9rem 1rem 1.1rem;position:relative}.site-header:after{content:"";opacity:.55;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 8' preserveAspectRatio='none'%3E%3Cpath d='M0 6 Q10 0 20 6 T40 6' fill='none' stroke='%232fb0a7' stroke-width='2'/%3E%3C/svg%3E");background-repeat:repeat-x;background-size:40px 8px;height:6px;position:absolute;bottom:-5px;left:0;right:0}.site-header-inner{max-width:var(--page-width);flex-wrap:wrap;align-items:center;gap:.5rem 1.5rem;margin:0 auto;display:flex}.site-name{color:var(--ink);align-items:center;gap:.55rem;font-size:1.25rem;font-weight:700;text-decoration:none;display:inline-flex}.site-mark{width:auto;height:1.9em;display:block}.site-nav ul{flex-wrap:wrap;gap:.25rem 1rem;margin:0;padding:0;list-style:none;display:flex}.site-nav a{color:var(--ink-soft);border-bottom:2px solid #0000;padding:.25rem 0;text-decoration:none}.site-nav a:hover{color:var(--sea-deep)}.site-nav a[aria-current=page]{color:var(--ink);border-bottom-color:var(--coral)}main{width:100%;max-width:var(--page-width);flex:1;margin:0 auto;padding:2rem 1rem 3rem}.lead{font-size:1.125rem}.button-row{flex-wrap:wrap;gap:.75rem;margin:1.5rem 0;display:flex}.button{background:linear-gradient(180deg, var(--sea), var(--sea-dark));color:#fff;border-radius:999px;padding:.65rem 1.4rem;font-weight:600;text-decoration:none;display:inline-block;box-shadow:0 2px 8px #0f6f6b40}.button:hover{background:linear-gradient(180deg, var(--sea-dark), var(--sea-deep));color:#fff}.button-quiet{color:var(--sea-deep);border:2px solid var(--sea-dark);box-shadow:none;background:0 0;padding:calc(.65rem - 2px) calc(1.4rem - 2px)}.button-quiet:hover{color:var(--sea-deep);border-color:var(--sea);background:#7fd4c62e}.app-card{border:1px solid var(--edge);background:var(--shell);border-radius:14px;margin-bottom:1.5rem;padding:1.25rem;box-shadow:0 1px 2px #16242e0a,0 8px 20px #16242e0d}.app-card h2{margin-top:0}.app-status{color:var(--sea-deep);background:#7fd4c647;border-radius:999px;margin-bottom:.75rem;padding:.15rem .7rem;font-size:.85rem;font-weight:600;display:inline-block}.app-facts{margin:1rem 0 0;font-size:.95rem}.app-facts dt{color:var(--ink-soft);font-weight:600}.app-facts dd{overflow-wrap:anywhere;margin:0 0 .6rem}.app-facts dd code{background:var(--sand-soft);border-radius:4px;padding:.1rem .3rem;font-size:.85rem}.post-list{margin:0;padding:0;list-style:none}.post-list li{border-bottom:1px solid var(--edge);border-radius:8px;padding:.9rem .6rem}.post-list li:first-child{border-top:1px solid var(--edge)}.post-list li:hover{background:#f6efe2cc}.post-date{color:var(--ink-soft);font-size:.9rem;display:block}.steps li{margin-bottom:.75rem}.note{border-left:3px solid var(--coral);background:var(--sand-soft);color:var(--ink-soft);border-radius:0 8px 8px 0;padding:.85rem 1rem}.subscribe-embed{border:1px solid var(--edge);background:#fff;border-radius:12px;width:100%;max-width:480px;height:320px;display:block}.site-footer{border-top:1px solid var(--edge);color:var(--ink-soft);background:linear-gradient(#f6efe28c,#e7dcc499);padding:1.5rem 1rem;font-size:.9rem}.site-footer p{max-width:var(--page-width);margin:0 auto}
