:root{--bg: #f3efe6;--bg-deep: #e7e0d2;--paper: #fffdf8;--ink: #1c1915;--muted: #5f584e;--line: #ddd4c4;--accent: #0f766e;--accent-ink: #f7fffc;--soft: color-mix(in srgb, var(--accent) 14%, white);--warn: #8a4b08;--warn-bg: #fff6e8;--bad: #8f1d1d;--bad-bg: #fdecec;--ok: #0f6b45;--ok-bg: #e8f6ee;--shadow: 0 16px 40px rgba(48, 36, 18, .06);--sans: system-ui, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--serif: Georgia, "Iowan Old Style", "Palatino Linotype", Palatino, serif;--mono: ui-monospace, "SFMono-Regular", "Cascadia Code", monospace;--radius: 16px;--max: 1080px;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:radial-gradient(1200px 500px at 100% -10%,color-mix(in srgb,var(--accent) 16%,transparent),transparent 60%),linear-gradient(180deg,var(--bg) 0%,#f7f4ee 40%,var(--bg) 100%);color:var(--ink);font-family:var(--sans);font-size:1.0625rem;line-height:1.6}img{max-width:100%}a{color:var(--accent);text-underline-offset:.18em}a:hover{color:color-mix(in srgb,var(--accent) 75%,black)}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 70%,white);outline-offset:2px}.skip{position:absolute;left:.75rem;top:-4rem;background:var(--ink);color:#fff;padding:.5rem .8rem;border-radius:8px;z-index:20}.skip:focus{top:.75rem}.wrap{width:min(var(--max),calc(100% - 2rem));margin-inline:auto}.wrap-narrow{width:min(760px,calc(100% - 2rem));margin-inline:auto}.site-header{position:sticky;top:0;z-index:10;backdrop-filter:blur(14px);background:color-mix(in srgb,var(--bg) 86%,transparent);border-bottom:1px solid color-mix(in srgb,var(--line) 80%,transparent)}.header-inner{display:flex;align-items:center;gap:1rem;min-height:4.25rem;justify-content:space-between}.brand{display:flex;gap:.7rem;align-items:center;text-decoration:none;color:inherit;min-width:0}.mark{width:2.4rem;height:2.4rem;border-radius:.7rem;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink);font-family:var(--serif);font-weight:700;flex:none}.brand strong{display:block;letter-spacing:-.02em;line-height:1.1}.brand small{display:block;color:var(--muted);font-size:.75rem}.menu{position:relative}.menu summary{list-style:none;cursor:pointer;border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:.4rem .85rem;font-weight:600}.menu summary::-webkit-details-marker{display:none}.menu-panel{position:absolute;right:0;top:calc(100% + .4rem);width:min(19rem,80vw);background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:.4rem;display:grid}.menu-panel a{text-decoration:none;color:var(--ink);padding:.55rem .7rem;border-radius:10px}.menu-panel a:hover{background:var(--soft);color:var(--ink)}.header-links{display:flex;gap:.35rem;align-items:center}.header-links>a,.langs a{text-decoration:none;color:var(--ink);font-weight:600;padding:.35rem .6rem;border-radius:999px}.header-links>a:hover{background:var(--soft)}.langs{display:flex;gap:.15rem}.langs a[aria-current=true]{background:var(--ink);color:#fff}main{padding:1.5rem 0 3.5rem}.hero{padding:1.2rem 0 .4rem}.kicker{display:inline-flex;align-items:center;gap:.4rem;color:var(--accent);font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;margin:0 0 .6rem}h1,h2,h3{font-family:var(--serif);letter-spacing:-.03em;line-height:1.15;font-weight:650}h1{font-size:clamp(2rem,5vw,3.4rem);margin:0 0 .7rem}h2{font-size:clamp(1.5rem,3vw,2rem);margin:0 0 .7rem}h3{font-size:1.25rem;margin:0 0 .4rem}.lead{font-size:1.15rem;color:var(--muted);max-width:42rem;margin:0}.grid{display:grid;gap:.85rem;margin:1.4rem 0}.cards{grid-template-columns:1fr}.card{display:block;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.05rem 1.05rem;text-decoration:none;color:inherit;box-shadow:var(--shadow)}a.card:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));transform:translateY(-1px)}.card p{margin:.35rem 0 0;color:var(--muted)}.card .go{margin-top:.8rem;font-weight:700;color:var(--accent);font-size:.95rem}.tool-card,.panel,.prose,.callout,.faq{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.tool-card,.panel{padding:1rem;margin:1rem 0}.prose{padding:1.1rem 1.15rem 1.3rem}.prose p,.prose li{color:var(--ink)}.prose h2,.prose h3{margin-top:1.4rem}.stack{display:grid;gap:.75rem}.row{display:flex;flex-wrap:wrap;gap:.5rem}.field{display:grid;gap:.35rem;font-weight:600}.field span,.field small,.hint{font-weight:450;color:var(--muted)}input[type=text],input[type=number],input[type=date],input[type=search],input[type=email],select,textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:12px;padding:.75rem .8rem;font-size:1rem}textarea{min-height:9rem;resize:vertical}.btn,button{border:0;background:var(--accent);color:var(--accent-ink);border-radius:999px;padding:.72rem 1rem;font-weight:700;cursor:pointer}button.secondary,a.btn.secondary{background:transparent;color:var(--ink);border:1px solid var(--line);text-decoration:none;display:inline-flex;align-items:center}button.ghost{background:var(--soft);color:var(--ink)}button:disabled{opacity:.55;cursor:not-allowed}.check{display:flex;gap:.5rem;align-items:flex-start;font-weight:550}.check input{margin-top:.3rem;width:1.05rem;height:1.05rem}.result,.stats{border-radius:12px;background:var(--bg);border:1px dashed var(--line);padding:.85rem;min-height:3rem;white-space:pre-wrap;word-break:break-word;font-family:var(--mono);font-size:.95rem}.result.ok{background:var(--ok-bg);border-style:solid;border-color:color-mix(in srgb,var(--ok) 35%,white);color:var(--ok);font-family:var(--sans)}.result.bad{background:var(--bad-bg);border-style:solid;border-color:color-mix(in srgb,var(--bad) 30%,white);color:var(--bad);font-family:var(--sans)}.dl{display:grid;gap:.45rem;margin:0}.dl div{display:grid;grid-template-columns:minmax(7rem,34%) 1fr;gap:.4rem}.dl dt{color:var(--muted)}.dl dd{margin:0;font-weight:650}.callout{padding:.9rem 1rem;background:var(--warn-bg);border-color:color-mix(in srgb,var(--warn) 25%,white);color:#4a320f;margin:1rem 0}.callout strong{display:block;margin-bottom:.2rem}.faq{padding:.4rem 1rem;margin:1rem 0 0}.faq details{border-bottom:1px solid var(--line);padding:.75rem 0}.faq details:last-child{border-bottom:0}.faq summary{cursor:pointer;font-weight:700}.faq p{margin:.45rem 0 .2rem;color:var(--muted)}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:var(--paper)}table{width:100%;border-collapse:collapse;font-size:.95rem}th,td{text-align:left;padding:.7rem .75rem;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);background:#faf7f1}tr:last-child td{border-bottom:0}.num{font-variant-numeric:tabular-nums;white-space:nowrap}.chips{display:flex;flex-wrap:wrap;gap:.4rem}.chip{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:.4rem .75rem;text-decoration:none;color:var(--ink);font-weight:650}.chip[aria-pressed=true],.chip[aria-current=page]{background:var(--ink);color:#fff;border-color:var(--ink)}.plan{display:grid;gap:.35rem}.price{font-family:var(--serif);font-size:1.8rem;margin:.2rem 0}.badge{display:inline-block;background:var(--soft);color:var(--ink);border-radius:999px;padding:.1rem .5rem;font-size:.75rem;font-weight:700}.meta-line{color:var(--muted);font-size:.92rem}.hidden{display:none!important}.diff-del{background:#fde2e1;text-decoration:line-through}.diff-ins{background:#d9f5e5}.diff-view{font-family:var(--mono);font-size:.92rem;white-space:pre-wrap;line-height:1.55}.site-footer{border-top:1px solid var(--line);padding:2rem 0 2.5rem;color:var(--muted);background:color-mix(in srgb,var(--bg-deep) 65%,transparent)}.footer-grid{display:grid;gap:1.2rem}.site-footer a{color:var(--ink)}.site-footer h2{font-family:var(--sans);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.3rem}.consent[hidden]{display:none!important}.consent{position:fixed;left:.75rem;right:.75rem;bottom:.75rem;z-index:30;background:var(--ink);color:#f6f1e8;border-radius:16px;padding:.9rem 1rem;display:grid;gap:.7rem;box-shadow:0 16px 50px #00000040;max-width:46rem}.consent p{margin:0;font-size:.95rem}.consent a{color:#fff}.consent .row button.secondary{color:#fff;border-color:#ffffff59}.crumbs{display:flex;flex-wrap:wrap;gap:.35rem;color:var(--muted);font-size:.9rem;margin:0 0 .8rem}.crumbs a{color:var(--muted)}.split{display:grid;gap:.75rem}.stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.stat{background:var(--bg);border-radius:12px;padding:.7rem}.stat b{display:block;font-size:1.35rem;font-variant-numeric:tabular-nums;font-family:var(--serif)}.stat span{color:var(--muted);font-size:.85rem}@media(min-width:720px){.cards{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1.4fr 1fr 1fr}.split{grid-template-columns:1fr 1fr}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.tool-card,.panel,.prose{padding:1.25rem 1.35rem}}@media(min-width:980px){.cards.tools{grid-template-columns:1fr 1fr 1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}a.card{transition:none}}@media print{.site-header,.site-footer,.consent,.menu,.btn,button{display:none!important}body{background:#fff}.card,.prose,.tool-card{box-shadow:none}}
