:root{--paper: #EEF2EF;--paper-raised: #FFFFFF;--ink: #1C2420;--ink-soft: #52625A;--line: #D6DED9;--green: #3F7A5C;--green-deep: #2B5A42;--amber: #B9762E;--amber-bg: #FBF1E4;--red: #B4433A;--red-bg: #FBEAE8;--focus: #2B5A42;--font-display: "Source Serif 4", Georgia, serif;--font-body: "Inter", -apple-system, sans-serif;--font-mono: "IBM Plex Mono", monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased}a{color:inherit}button{font-family:var(--font-body);cursor:pointer}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.shell{max-width:760px;margin:0 auto;padding:0 20px 80px}.nav{display:flex;align-items:center;justify-content:space-between;padding:22px 20px;max-width:800px;margin:0 auto}.nav-mark{font-family:var(--font-display);font-size:1.3rem;font-weight:600;letter-spacing:-.01em;text-decoration:none;color:var(--ink)}.nav-mark span{color:var(--green)}.nav-links{display:flex;gap:20px;font-size:.88rem;color:var(--ink-soft)}.nav-links a{text-decoration:none}.nav-links a:hover{color:var(--ink)}.card{background:var(--paper-raised);border:1px solid var(--line);border-radius:10px;padding:28px}.hero-title{font-family:var(--font-display);font-size:2.4rem;line-height:1.15;font-weight:600;letter-spacing:-.01em;margin:0 0 14px}.lede{color:var(--ink-soft);font-size:1.05rem;line-height:1.6;max-width:52ch}.btn{display:inline-flex;align-items:center;gap:8px;border-radius:7px;border:none;padding:12px 20px;font-size:.95rem;font-weight:600;transition:transform .08s ease}.btn:active{transform:scale(.98)}.btn-primary{background:var(--green-deep);color:#fff}.btn-primary:hover{background:var(--green)}.btn-ghost{background:transparent;border:1px solid var(--line);color:var(--ink)}.btn-ghost:hover{border-color:var(--ink-soft)}.disclaimer{display:flex;gap:10px;align-items:flex-start;background:var(--amber-bg);border:1px solid #EBD3AE;border-radius:8px;padding:12px 14px;font-size:.84rem;line-height:1.5;color:#6b4b22;margin:16px 0}.disclaimer b{color:#5a3c19}.consent-block{border:1px solid var(--line);border-radius:8px;padding:14px 16px;margin-bottom:12px;display:flex;gap:12px;align-items:flex-start}.consent-block input{margin-top:3px}.consent-block label{font-size:.92rem;line-height:1.5;color:var(--ink)}.field{margin-bottom:16px}.field label{display:block;font-size:.85rem;color:var(--ink-soft);margin-bottom:6px}.field input[type=text],.field input[type=date]{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:6px;font-family:var(--font-body);font-size:.95rem;background:var(--paper-raised)}.dropzone{border:1.5px dashed var(--line);border-radius:10px;padding:40px 20px;text-align:center;color:var(--ink-soft);background:var(--paper-raised)}.dropzone.active{border-color:var(--green);background:#f1f7f3}.value-row{padding:14px 0;border-bottom:1px solid var(--line)}.value-row:last-child{border-bottom:none}.value-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}.value-name{font-weight:600;font-size:.95rem}.value-reading{font-family:var(--font-mono);font-size:1rem;font-weight:500}.value-reading.flag-high,.value-reading.flag-low{color:var(--red)}.value-reading.flag-normal{color:var(--green-deep)}.range-track{position:relative;height:6px;border-radius:4px;background:linear-gradient(90deg,var(--amber) 0%,var(--green) 20%,var(--green) 80%,var(--amber) 100%);margin:8px 0 4px}.range-dot{position:absolute;top:-3px;width:12px;height:12px;border-radius:50%;background:var(--ink);border:2px solid var(--paper-raised);box-shadow:0 0 0 1px var(--ink-soft)}.range-labels{display:flex;justify-content:space-between;font-size:.72rem;color:var(--ink-soft);font-family:var(--font-mono)}.value-explain{font-size:.88rem;color:var(--ink-soft);line-height:1.5;margin-top:8px}.tag{font-size:.7rem;font-weight:700;padding:2px 8px;border-radius:20px;text-transform:uppercase;letter-spacing:.03em}.tag.normal{background:#e5f1ea;color:var(--green-deep)}.tag.high,.tag.low{background:var(--red-bg);color:var(--red)}.policy h2{font-family:var(--font-display);font-size:1.3rem;margin-top:32px}.policy p,.policy li{color:var(--ink-soft);line-height:1.65;font-size:.95rem}.footer-legal{text-align:center;font-size:.78rem;color:var(--ink-soft);margin-top:40px;padding-top:20px;border-top:1px solid var(--line)}
