:root{font-family:"Segoe UI",system-ui,-apple-system,sans-serif;color:#233c38;background:#f6f7f3;line-height:1.6;--muted:#566963;--teal:#205f51;--border:#dce4dd;--ink:#1f4037}
*{box-sizing:border-box}body{margin:0;border-top:5px solid var(--teal)}a{color:#205f51;text-underline-offset:4px}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #276fa1;outline-offset:4px}.skip{position:absolute;top:-100px;left:20px;padding:12px;background:white;z-index:4}.skip:focus{top:12px}
.site-header{max-width:1240px;margin:auto;padding:22px 36px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:14px;font-family:Georgia,serif;font-weight:700;color:var(--teal);font-size:30px;letter-spacing:-.05em}.brand span{max-width:125px;border-left:1px solid #bccdc3;padding-left:14px;font-family:"Segoe UI",sans-serif;font-size:12px;line-height:1.35;color:var(--muted);font-weight:600;letter-spacing:0}.badge{border:1px solid #c6d5c8;border-radius:30px;background:#eaf0e8;color:#34564a;padding:6px 13px;font-size:12px;font-weight:600;white-space:nowrap}
main{max-width:1240px;margin:auto;padding:0 36px}.intro{max-width:860px;padding:38px 0 32px}h1{font-family:Georgia,"Times New Roman",serif;color:var(--ink);font-size:clamp(36px,4.2vw,54px);line-height:1.12;letter-spacing:-.04em;margin:0 0 18px;font-weight:400}h2{font-size:21px;line-height:1.3;letter-spacing:-.025em;margin:0 0 24px;font-weight:650}h3{font-size:18px;line-height:1.4;margin:0 0 12px;font-weight:650}p{margin:0 0 14px}.intro>p{max-width:740px;font-size:17px;color:#475e55}.intro .limitation{font-size:13px;font-weight:650;color:var(--ink);margin:17px 0 3px}.intro .review-note{font-size:12px;color:#6d593a;margin-bottom:0}
.workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.06fr);grid-template-areas:"basic results" "optional results";align-items:start;gap:24px}.basic{grid-area:basic}.optional{grid-area:optional}.result-column{grid-area:results;min-width:0}.panel{padding:30px;border:1px solid var(--border);border-radius:18px;background:#fff;min-width:0;box-shadow:0 3px 14px #203f3505}.basic>h2{display:flex;align-items:center;gap:12px}.basic>h2::before{content:"";width:5px;height:24px;background:#8aa88d;border-radius:4px;flex:none}.fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.field{min-width:0;margin-bottom:21px}label{display:block;font-size:14px;font-weight:650;line-height:1.45;margin-bottom:9px}label span{display:block;font-size:12px;font-weight:400;color:var(--muted);margin-top:3px}input,select{width:100%;min-width:0;min-height:49px;padding:11px 12px;border:1px solid #aebfb3;border-radius:9px;background:#fcfdfb;color:#233c38;font-size:16px}input:hover,select:hover{border-color:#648b77}input:focus,select:focus{background:white}small{display:block;font-size:12px;line-height:1.55;color:var(--muted);margin-top:7px}input::placeholder{color:#708276}.error{font-size:13px;color:#982c2c;margin:7px 0 0}.error:empty{display:none}.unsupported{color:#75541c}[aria-invalid=true]{border:2px solid #a73333;background:#fff8f6}[data-unsupported=true]{border:2px solid #a17a39;background:#fffdf5}
.actions{display:flex;align-items:center;gap:12px;padding-top:3px}button{min-height:49px;padding:13px 18px;border:1px solid var(--teal);border-radius:9px;font-size:14px;font-weight:650;background:var(--teal);color:white;cursor:pointer}button:hover{background:#194d41}.actions button:first-child{flex:1;display:flex;justify-content:space-between;gap:10px}.actions button span{font-size:18px;line-height:1.2}button.secondary{color:var(--teal);background:white;border-color:#c1d0c5}.secondary:hover{background:#f0f5ef}.form-status{font-size:12px;color:var(--muted);margin:12px 0 0}.form-status:empty{display:none}.muted{font-size:14px;color:var(--muted)}
details{border-top:1px solid var(--border)}summary{font-size:14px;font-weight:650;cursor:pointer;padding:18px 22px 18px 0;min-height:49px;list-style:none;position:relative;line-height:1.5}summary::-webkit-details-marker{display:none}summary::after{content:"+";position:absolute;right:0;top:15px;font-size:21px;font-weight:400;color:var(--teal)}details[open]>summary::after{content:"−"}summary span{display:block;margin-top:3px;font-size:12px;font-weight:400;color:var(--muted)}summary:hover{color:var(--teal)}.detail-body{font-size:14px;padding:2px 0 18px}.detail-body .field:last-child{margin-bottom:6px}.update{width:100%;margin-top:18px;background:#f4f7f2;color:var(--teal);border-color:#c7d5c9}.update:hover{background:#e9f0e6}.optional>h2{margin-bottom:8px}.optional>.muted{margin-bottom:18px}
.results{border-top:4px solid #718f7c;margin-bottom:20px;background:#fff}.results>h2{padding-bottom:20px;border-bottom:1px solid var(--border);margin-bottom:24px;color:var(--ink)}.empty{color:var(--muted);padding:32px 22px;text-align:center;border:1px dashed #c7d5c8;border-radius:12px;background:#f8faf6}.empty::before{content:"";display:block;width:44px;height:52px;border:1px solid #b7cabb;border-radius:7px;margin:0 auto 20px;background:repeating-linear-gradient(to bottom,transparent 0 9px,#b7cabb 9px 10px,transparent 10px 16px) center / 23px 32px no-repeat #edf3e9}.empty h3{font-size:18px;color:#3b584a}.empty p{font-size:14px;margin:0}.discussion{background:#eaf0e5;border-color:#d7e2d0;box-shadow:none}.discussion h2{font-family:Georgia,serif;font-weight:400;font-size:22px;letter-spacing:-.025em;margin-bottom:12px;color:#304e3d}.discussion p{font-size:14px;margin:0}
.metric{border-top:1px solid var(--border);padding:26px 0 0;margin-top:26px;overflow-wrap:anywhere}.metric:first-child{border-top:0;padding-top:0;margin-top:0}.metric h3{font-size:14px;color:var(--muted);font-weight:650;margin-bottom:10px}.metric p,.metric li{font-size:14px;line-height:1.65}.metric .value{font-size:46px;font-weight:500;line-height:1.12;font-variant-numeric:tabular-nums;color:#204e40;letter-spacing:-.045em;margin:0 0 18px}.metric .unit{font-family:"Segoe UI",sans-serif;font-size:14px;color:var(--muted);font-weight:400;letter-spacing:0;white-space:nowrap}.metric .trend-values{font-size:25px;font-weight:550;line-height:1.4;color:#204e40;letter-spacing:-.025em}.notice{border-left:3px solid #b99d6a;border-radius:0 6px 6px 0;background:#faf6ed;padding:11px 13px;color:#5c4d32}.context-result{font-weight:650}.metric ul{padding-left:20px;margin:8px 0 16px}.metric details{margin-top:18px}.metric summary{font-size:13px;padding:14px 22px 8px 0}.metric summary::after{top:9px}.metric .detail-body{padding-top:12px}.metric .detail-body p,.metric .detail-body a{font-size:13px}.error-summary{background:#fff7ef;padding:18px;border-radius:10px}.error-summary ul{padding-left:20px}.support{margin-top:30px;background:#fcfdfb;box-shadow:none}.support h2{margin-bottom:18px}footer{padding:24px 0 32px;color:var(--muted);font-size:12px}
@media(max-width:800px){.workspace{grid-template-columns:minmax(0,1fr);grid-template-areas:"basic" "results" "optional";gap:20px}.site-header,main{padding-left:24px;padding-right:24px}.intro{padding-top:30px}.panel{padding:26px}.support{margin-top:24px}.results{margin-bottom:20px}.brand span{max-width:none}.intro>p{font-size:16px}}
@media(max-width:420px){.fields{grid-template-columns:minmax(0,1fr);gap:0}.site-header,main{padding-left:16px;padding-right:16px}.site-header{padding-top:17px;padding-bottom:17px;gap:8px}.brand{font-size:27px}.brand span{display:none}.badge{font-size:10px;padding:5px 10px}.intro{padding:27px 0 25px}h1{font-size:39px;line-height:1.08;margin-bottom:16px}.intro .limitation{font-size:12px;margin-top:16px}.intro .review-note{font-size:11px}.panel{padding:23px 20px;border-radius:14px}h2{font-size:20px;margin-bottom:22px}.field{margin-bottom:19px}label{font-size:14px}.actions{gap:8px}.actions button{font-size:13px;padding:12px}.empty{padding:26px 14px}.metric .value{font-size:42px}.metric .trend-values{font-size:23px}.discussion h2{font-size:23px}.support h2{margin-bottom:15px}footer{font-size:11px}.metric .unit{font-size:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* v0.2.0: mobile result spacing only; disclosure targets stay at least 44px. */
@media(max-width:800px){.metric + .metric{margin-top:14px;padding-top:18px}.metric details:not([open]){margin-top:10px}.metric details:not([open])>summary{min-height:44px;padding:10px 22px}.metric details:not([open])>summary{padding-left:0}.metric details:not([open])>summary::after{top:6px}}
