:root{--accent: #c0392b;--accent-dark: #922b21;--bg: #f5f3ef;--surface: #ffffff;--text: #1a1a1a;--muted: #666;--border: #ddd8d0;--radius: 4px;--ff-head: Georgia, "Times New Roman", serif;--ff-body: "Helvetica Neue", Helvetica, Arial, sans-serif;--shadow: 0 2px 8px rgba(0,0,0,.1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--ff-body);font-size:16px;background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%}body{min-height:100dvh;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom)}h1,h2,h3,h4{font-family:var(--ff-head);font-weight:400;line-height:1.25;color:var(--text)}h1{font-size:clamp(1.6rem,4vw,2.4rem)}h2{font-size:clamp(1.25rem,3vw,1.75rem)}h3{font-size:1.15rem}p{line-height:1.65}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:960px;margin-inline:auto;padding-inline:1.25rem}.summary-header{position:sticky;top:0;z-index:100;background:#1a1a1a;color:#fff;padding:.6rem 1.25rem;display:flex;align-items:center;gap:1.5rem;font-size:.85rem;box-shadow:0 2px 6px #0000004d;padding-top:calc(.6rem + env(safe-area-inset-top))}.summary-header strong{color:#f0c040;font-size:1rem}.summary-header .badge{background:var(--accent);color:#fff;padding:.15rem .5rem;border-radius:3px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.calc-card{background:var(--surface);border-left:4px solid var(--accent);border-right:4px solid var(--accent);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem;margin-bottom:1.5rem}.calc-card h3{font-family:var(--ff-head);margin-bottom:1rem;border-bottom:1px solid var(--border);padding-bottom:.5rem}.field{margin-bottom:1.1rem}.field label{display:block;font-size:.85rem;font-weight:700;margin-bottom:.3rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.field input,.field select{width:100%;padding:.55rem .75rem;border:1px solid var(--border);border-radius:var(--radius);font-family:var(--ff-body);font-size:1rem;background:#faf9f6;transition:border-color .15s}.field input:focus,.field select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #c0392b26}.field .unit{font-size:.8rem;color:var(--muted);margin-top:.25rem}.result-box{background:#1a1a1a;color:#fff;border-radius:var(--radius);padding:1.25rem 1.5rem;margin-top:1.5rem}.result-box h3{color:#f0c040;font-family:var(--ff-head);margin-bottom:.75rem;font-size:1rem}.result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem}.result-item{text-align:center}.result-item .label{font-size:.75rem;color:#aaa;text-transform:uppercase;letter-spacing:.05em}.result-item .value{font-size:1.6rem;font-family:var(--ff-head);color:#fff}.result-item .value.pass{color:#2ecc71}.result-item .value.fail{color:#e74c3c}.result-item .value.warn{color:#f0c040}.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.6rem 1.2rem;border-radius:var(--radius);border:none;cursor:pointer;font-family:var(--ff-body);font-size:.9rem;font-weight:700;transition:filter .15s}.btn:hover{filter:brightness(1.1)}.btn-primary{background:var(--accent);color:#fff}.btn-outline{background:transparent;color:var(--accent);border:2px solid var(--accent)}.btn-print{background:#1a1a1a;color:#fff}.site-footer{background:#1a1a1a;color:#999;font-size:.78rem;line-height:1.6;padding:2rem 0;padding-bottom:calc(2rem + env(safe-area-inset-bottom));margin-top:4rem}.site-footer .disclaimer{max-width:720px;border-left:3px solid var(--accent);padding-left:1rem;margin-bottom:1rem;color:#bbb}.site-footer a{color:#bbb}@media print{.site-nav,.site-footer,.btn-print,.btn-primary,.no-print{display:none!important}body{background:#fff;color:#000;font-size:11pt}.calc-card{border:1px solid #999;box-shadow:none;break-inside:avoid}.result-box{background:#f0f0f0;color:#000}.result-item .value{color:#000!important}.print-header{display:block!important;border-bottom:2px solid #c0392b;padding-bottom:.5rem;margin-bottom:1.5rem}.print-header h1{font-size:16pt}.print-header p{font-size:9pt;color:#555}}.print-header{display:none}
