:root{--accent:#1f6b3a;--ink:#1d1d1f;--muted:#5c5c66;--line:#e2e2e8;--bg:#fff;--soft:#f6f6f9}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:17px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:var(--bg)}
header,main,footer{max-width:44rem;margin:0 auto;padding:0 1rem}
header{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-top:1rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}
.brand{font-weight:700;color:var(--accent);text-decoration:none;font-size:1.1rem}
nav a{color:var(--muted);text-decoration:none;margin-left:.9rem}
nav a:hover,footer a:hover{text-decoration:underline}
main{padding-top:1.25rem;padding-bottom:2.5rem}
h1{font-size:1.75rem;line-height:1.2;margin:.4rem 0 .5rem}
h2{font-size:1.25rem;margin:1.8rem 0 .5rem}
h3{font-size:1.05rem;margin:1.2rem 0 .3rem}
p,li{max-width:40rem}
.lead{font-size:1.1rem;color:var(--muted);margin-top:0}
a{color:var(--accent)}
code,pre{font:.95em ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--soft);border-radius:4px}
code{padding:.05em .3em}
pre{padding:.8rem;overflow:auto}
form.tool{background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:1rem;margin:1rem 0}
form.tool .row{display:grid;grid-template-columns:1fr;gap:.35rem;margin-bottom:.8rem}
form.tool label{font-weight:600;font-size:.95rem}
form.tool input,form.tool select,form.tool textarea{font:inherit;padding:.55rem .6rem;border:1px solid #c8c8d2;border-radius:6px;width:100%;background:#fff}
form.tool textarea{min-height:9rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
form.tool .hint{color:var(--muted);font-size:.85rem;font-weight:400}
form.tool .actions{display:flex;gap:.6rem;flex-wrap:wrap}
button{font:inherit;font-weight:600;padding:.6rem 1rem;border:0;border-radius:6px;background:var(--accent);color:#fff;cursor:pointer}
button.secondary{background:#fff;color:var(--ink);border:1px solid #c8c8d2}
.result{border-left:4px solid var(--accent);background:#fff;padding:.8rem 1rem;margin:1rem 0;min-height:2.5rem}
.result .big{font-size:1.7rem;font-weight:700;display:block}
.result table{border-collapse:collapse;width:100%;margin-top:.6rem;font-size:.95rem}
.result th,.result td,table.plain th,table.plain td{text-align:left;padding:.3rem .4rem;border-bottom:1px solid var(--line)}
.result td.num,table.plain td.num{text-align:right;font-variant-numeric:tabular-nums}
table.plain{border-collapse:collapse;width:100%;margin:.6rem 0 1rem;font-size:.95rem}
.error{color:#b3261e}
.note{background:var(--soft);padding:.6rem .8rem;border-radius:6px}
.cards{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr;gap:.6rem}
.cards a{display:block;border:1px solid var(--line);border-radius:10px;padding:.8rem 1rem;text-decoration:none;color:inherit}
.cards a:hover{border-color:var(--accent)}
.cards strong{display:block;color:var(--accent)}
.cards span{color:var(--muted);font-size:.95rem}
.meta{color:var(--muted);font-size:.9rem;border-top:1px solid var(--line);padding-top:.8rem;margin-top:2rem}
footer{border-top:1px solid var(--line);padding-top:1rem;padding-bottom:2rem;color:var(--muted);font-size:.9rem}
@media (min-width:40rem){form.tool .row{grid-template-columns:1fr 1fr}form.tool .row.one{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}}
@media print{header,footer,form.tool,.meta,h2,ul,section,p.lead,noscript,.note{display:none}main{max-width:none}.result{border:0;padding:0}h1{font-size:1.3rem}}
