:root{color-scheme:light;font-family:system-ui,-apple-system,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.65;color:#1b2935;background:#f5f7f9}
*{box-sizing:border-box}body{margin:0}a{color:#064f8c;text-decoration-thickness:1px;text-underline-offset:2px}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #fe9400;outline-offset:3px}
.container{width:min(100% - 2rem,850px);margin:auto}header{background:#203a51;color:white;padding:1.3rem 0}header a{color:#e2f4ff}.brand{font-weight:700;letter-spacing:.025em}main{padding:1.4rem 0 3rem}h1{font-size:clamp(1.5rem,3vw,2rem);line-height:1.4;margin:.2rem 0 1rem}h2{font-size:1.25rem;margin:0 0 .75rem}h3{font-size:1.05rem}p{margin:.55rem 0}.lead{font-size:1.05rem}.eyebrow{font-size:.83rem;font-weight:700;color:#40607c}.stack{display:grid;gap:1rem}.card{background:white;border:1px solid #d4dfe7;border-radius:8px;padding:1.15rem 1.3rem;min-width:0}.card p:last-child{margin-bottom:0}.notice{border-left:4px solid #8b5a17;background:#fff9e8;padding:.75rem 1rem;margin:1rem 0}.not-live{display:inline-block;font-size:.83rem;color:#74450d;font-weight:700;background:#ffedba;border-radius:4px;padding:.1rem .5rem}.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.tile{display:block;background:white;border:1px solid #c9dbe8;border-radius:8px;padding:1.1rem;text-decoration:none}.tile:hover{border-color:#176899;background:#fafdff}.tile strong{display:block;color:#203a51}.tile span{color:#496578;font-size:.91rem}fieldset{border:0;margin:0;padding:0}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}label{display:block;font-weight:700;font-size:.94rem}.hint{display:block;font-weight:400;font-size:.8rem;color:#5d6e79;margin:.15rem 0}.field input{display:block;margin-top:.2rem;padding:.6rem .65rem;border:1px solid #8499a8;border-radius:5px;width:100%;font:inherit;background:white;color:#172a35}button{font:inherit;border:0;border-radius:6px;padding:.7rem 1.1rem;cursor:pointer;font-weight:700}button.primary{color:white;background:#135a85}button.secondary{border:1px solid #9bb3c2;color:#1e4b69;background:#edf3f7}.buttons{display:flex;flex-wrap:wrap;gap:.7rem;margin:1rem 0 0}.status{min-height:1.65rem;margin:.7rem 0 0}.status.error{color:#9d1627;font-weight:700}.status.ok{color:#12633f;font-weight:700}.result-row{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.45rem 0;border-bottom:1px solid #e5edf1}.result-row dt{font-weight:600}.result-row dd{margin:0;font-variant-numeric:tabular-nums;font-weight:700;text-align:right}.formula{display:block;padding:.8rem;background:#edf5f9;border-radius:6px;white-space:normal;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.minor{color:#506371;font-size:.9rem}.cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}ul,ol{padding-left:1.45rem}footer{border-top:1px solid #d4dfe7;padding:1rem 0;color:#536978;font-size:.84rem}footer p{margin:.3rem 0}
@media(max-width:600px){.tiles,.fields,.cols{grid-template-columns:1fr}.container{width:min(100% - 1.1rem,850px)}.card{padding:1rem}.result-row{display:block}.result-row dd{text-align:left}button{width:auto}}
@media print{header,footer,.buttons{display:none}body{background:white}.card{break-inside:avoid}a{color:#222;text-decoration:none}.notice{border:1px solid #777}}

/* v0.2 accessible result and field-specific error feedback */
.field-error{min-height:0;margin:.16rem 0 .25rem;color:#a2172b;font-size:.84rem;font-weight:600}
.field input[aria-invalid="true"]{border:2px solid #ad2032;background:#fff9f9}
#calc-result-heading{scroll-margin-top:1rem}
#calc-result-heading:focus{outline:3px solid #b36e00;outline-offset:4px}
.example-warning{margin:.55rem 0 .95rem;padding:.58rem .8rem;border-left:3px solid #a86b13;background:#fff9e9;font-weight:600}
.result-caution{background:#fff8eb;border-left:3px solid #aa7618;padding:.55rem .8rem;margin-top:.8rem}
