:root{--bg:#fdf8f3;--surface:#fff;--text:#2b1d14;--muted:#6b5546;--line:#e7dacd;--accent:#8a4b23;--accent-text:#fff;--accent-soft:#f3e4d6;--danger:#b42318;--danger-soft:#fdecea;--focus:#1d6fd6;--radius:.75rem;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#1c1612;--surface:#261e18;--text:#f5ece4;--muted:#c4b0a2;--line:#3d3027;--accent:#e0a46e;--accent-text:#1c1612;--accent-soft:#3a2a1f;--danger:#ff8a80;--danger-soft:#3b1f1c;--focus:#7cb4ff}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}a{color:var(--accent)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{position:absolute;left:-999px}.skip-link:focus{background:var(--surface);z-index:10;padding:.5rem 1rem;top:1rem;left:1rem}.shell{flex-direction:column;min-height:100dvh;display:flex}.site-header{border-bottom:1px solid var(--line);background:var(--surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.brand{color:var(--text);align-items:center;gap:.5rem;text-decoration:none;display:flex}.brand img{border-radius:.5rem}.wordmark{letter-spacing:-.01em;font-size:1.25rem;font-weight:800}.site-header nav{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.site-header nav a{font-weight:600;text-decoration:none}.site-header nav a.active{text-decoration:underline}main{flex:1;width:100%}.site-footer{border-top:1px solid var(--line);padding:1.25rem 1rem 5rem}.site-footer nav{flex-wrap:wrap;justify-content:center;gap:1.25rem;font-size:.9rem;display:flex}.page{max-width:64rem;margin:0 auto;padding:1.5rem 1rem 2rem}.page.narrow{max-width:40rem}h1{margin:0 0 .75rem;font-size:clamp(1.75rem,6vw,2.5rem);line-height:1.15}h2{margin:1.5rem 0 .5rem;font-size:1.25rem}.muted{color:var(--muted)}.small{font-size:.875rem}.lead{max-width:34rem;font-size:1.15rem}.hero{flex-wrap:wrap;align-items:center;gap:1.5rem;margin-bottom:1rem;display:flex}.hero img{border-radius:1rem;width:min(200px,50vw);height:auto}.hero>div{flex:18rem}.actions{flex-wrap:wrap;align-items:center;gap:1rem;margin-top:1rem;display:flex}button,.button-link{font:inherit;border-radius:var(--radius);border:1px solid var(--accent);background:var(--accent);color:var(--accent-text);cursor:pointer;text-align:center;padding:.65rem 1.1rem;font-weight:600;text-decoration:none;display:inline-block}.site-header nav a.button-link{color:var(--accent-text)}button.secondary{color:var(--accent);background:0 0}button.danger{background:var(--danger);border-color:var(--danger);color:#fff}button.link{color:var(--accent);background:0 0;border:none;padding:0;text-decoration:underline}button:disabled{opacity:.5;cursor:not-allowed}form{flex-direction:column;gap:.75rem;display:flex}label{flex-direction:column;gap:.3rem;font-weight:600;display:flex}label.check{flex-direction:row;align-items:flex-start;gap:.6rem;font-weight:400}label.check input{width:1.1rem;height:1.1rem;margin-top:.3rem}input,textarea{font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:.5rem;width:100%;padding:.6rem .75rem}.hint{color:var(--muted);margin:-.4rem 0 0;font-size:.875rem}.auth .providers{flex-direction:column;gap:.5rem;margin-bottom:.5rem;display:flex}.auth>button.secondary{width:100%}.divider{text-align:center;color:var(--muted);margin:1rem 0}.notice{border-radius:.5rem;margin:.5rem 0;padding:.75rem 1rem}.notice p{margin:0}.notice-error{background:var(--danger-soft);color:var(--danger)}.support-code{font-size:.875rem;margin-top:.25rem!important}code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-weight:700}.loading{text-align:center;color:var(--muted);padding:3rem 1rem}.categories{grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));gap:1rem;display:grid}.category{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1rem}.category h2{margin-top:0}.module-list{flex-direction:column;gap:.5rem;margin:.75rem 0 0;padding:0;list-style:none;display:flex}.module-card{border:1px solid var(--line);color:var(--text);border-radius:.5rem;flex-direction:column;gap:.2rem;padding:.75rem;text-decoration:none;display:flex}a.module-card:hover{border-color:var(--accent)}.module-card.is-disabled{opacity:.6}.module-name{font-weight:700}.module-summary{color:var(--muted);font-size:.9rem}.badge{text-transform:uppercase;letter-spacing:.04em;background:var(--accent-soft);color:var(--accent);border-radius:999px;align-self:flex-start;padding:.1rem .6rem;font-size:.75rem;font-weight:700;display:inline-block}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin:1rem 0;padding:1rem}.card h2{margin-top:0}.card label{margin:.75rem 0}.setting{justify-content:space-between;align-items:center;gap:1rem;display:flex}.setting p{margin:.2rem 0 0}.plain{padding:0;list-style:none}.plain li{padding:.25rem 0}.switch{background:var(--line);border-color:var(--line);border-radius:999px;flex:none;width:3.25rem;height:1.9rem;padding:0;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:1.4rem;height:1.4rem;transition:transform .15s;position:absolute;top:.2rem;left:.2rem}.switch.on{background:var(--accent);border-color:var(--accent)}.switch.on:after{transform:translate(1.35rem)}.feedback-button{z-index:5;position:fixed;bottom:1rem;right:1rem;box-shadow:0 4px 14px #0003}.dialog-backdrop{z-index:20;background:#00000073;justify-content:center;align-items:flex-end;padding:1rem;display:flex;position:fixed;inset:0}.dialog{background:var(--surface);border-radius:var(--radius);width:min(100%,30rem);max-height:90dvh;padding:1.25rem;overflow:auto}.dialog h2{margin-top:0}.kinds{border:none;flex-wrap:wrap;gap:.5rem 1rem;margin:0;padding:0;display:flex}.kinds legend{margin-bottom:.4rem;font-weight:600}.kinds label{flex-direction:row;align-items:center;font-weight:400}.kinds input{width:auto}.dialog .actions{justify-content:flex-end}@media (width>=640px){.dialog-backdrop{align-items:center}}.legal h2{margin-top:2rem}.legal li{margin:.4rem 0}
