:root{--bg:#F8F9F4;--panel:#fff;--ink:#171C16;--green:#20291B;--citron:#DAFA39;--muted:#596151;--rule:#DDE2D5;--soft:#EDF4D5}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
main,footer,.cta,.landing{max-width:640px;margin:0 auto;padding:0 16px}
h1{font-size:1.6rem;line-height:1.25;margin:24px 0 8px;overflow-wrap:anywhere}
h2{font-size:1.15rem;margin:0 0 6px}
.intro,.note,footer{color:var(--muted)}
.calc{background:var(--panel);border:1px solid var(--rule);border-radius:18px;padding:16px;margin:16px 0}
.f{display:block;margin:0 0 12px}.f span{display:block;font-size:.9rem;margin-bottom:4px;overflow-wrap:anywhere}
input{width:100%;font-size:1.1rem;padding:12px;border:1px solid var(--rule);border-radius:12px;background:#fff;color:var(--ink)}
input:focus{outline:3px solid var(--citron);border-color:var(--green)}
.res{background:var(--soft);border-radius:12px;padding:8px 12px;margin-top:4px}
.r{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid var(--rule)}.r:last-child{border:0}
.r span{overflow-wrap:anywhere}output{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.explain{margin:16px auto}.feats{padding-left:20px}
.cta{display:flex;flex-direction:column;gap:10px;margin:20px auto}
.btn{display:block;text-align:center;padding:14px 16px;border-radius:12px;text-decoration:none;font-weight:700;min-height:48px}
.dl{background:var(--panel);color:var(--green);border:2px solid var(--green)}
.app{background:var(--green);color:var(--citron)}
.landing{border-top:1px solid var(--rule);padding-top:16px;margin-top:8px}
footer{font-size:.85rem;padding-bottom:32px}
.langs{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin:12px 0}
.langs a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 12px;margin:0;color:var(--green);text-decoration:underline}
.langs a[aria-current]{font-weight:700;text-decoration:none}
.bt{font-size:1rem;margin:0 0 8px}
.row{border:1px solid var(--rule);border-radius:12px;padding:10px 10px 0;margin:0 0 10px}
.rh{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0 0 6px}.rl{font-weight:700;font-size:.9rem}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pair .f{margin-bottom:10px}
button{font:inherit;cursor:pointer;border-radius:10px;min-height:40px}
.rm{background:transparent;color:var(--muted);border:1px solid var(--rule);padding:4px 10px;font-size:.85rem}
.rm:disabled{opacity:.4;cursor:default}
.add{width:100%;background:var(--soft);color:var(--green);border:1px dashed var(--green);padding:10px;font-weight:700;margin:0 0 14px}
.add:disabled{opacity:.4;cursor:default}
input[aria-invalid="true"]{border-color:#B42318;outline-color:#F04438}
.err{color:#B42318;font-size:.9rem;margin:0 0 10px}
.vh{color:var(--muted);font-size:.8rem;margin:0;text-align:right}
@media(min-width:900px){h1{font-size:2rem}}

.sitebar{max-width:640px;margin:0 auto;padding:14px 16px 0;display:flex;flex-direction:column;gap:8px}
.sitebar img{height:16px;width:auto;display:block}
.siblings{display:flex;flex-direction:column;gap:12px}
.siblings a{display:flex;align-items:center;min-height:44px;color:var(--green);font-size:.95rem;line-height:1.35;overflow-wrap:anywhere}
footer nav[aria-label="Footer navigation"]{margin:4px 0 12px}
footer nav[aria-label="Footer navigation"] a{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;color:var(--green)}
.siblings a[aria-current]{font-weight:700;text-decoration:none}
.pair,.r,output{min-width:0}
output{white-space:normal;overflow-wrap:anywhere;text-align:right}
button:focus-visible,.btn:focus-visible{outline:3px solid var(--citron);outline-offset:2px}
@media(max-width:520px){.pair{grid-template-columns:1fr}}
