:root{--ink:#17332e;--muted:#52665f;--paper:#f5f4ed;--white:#fffefa;--line:#dce2d9;--green:#155b48;--mint:#e1eee3;--amber:#8b5111}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:var(--green);text-underline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #a55b17;outline-offset:4px}.topbar{max-width:1200px;margin:auto;padding:25px 32px;display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--line)}.brand{font-size:21px;font-weight:750;text-decoration:none;letter-spacing:-.7px;display:flex;align-items:center;gap:10px}.brand-icon{background:var(--green);color:white;border-radius:9px;padding:0 8px;font-size:27px}.badge,.tag{font-size:12px;border:1px solid var(--line);padding:4px 10px;border-radius:30px;white-space:nowrap}.privacy{margin-left:auto;font-size:13px;color:var(--green)}main{max-width:1136px;margin:auto;padding:0 32px}.hero{padding:60px 0 35px;max-width:740px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:750;color:var(--green);margin:0 0 12px}h1{font-size:clamp(40px,5vw,64px);line-height:1.07;letter-spacing:-2.5px;margin:0 0 22px;font-weight:650}h1 em{font-family:Georgia,serif;font-weight:400;color:var(--green)}.intro{font-size:18px;max-width:610px;color:var(--muted)}.byline{font-size:12px;color:var(--muted);margin-top:24px}.steps{display:flex;gap:40px;border-bottom:1px solid var(--line);font-size:13px;color:var(--muted);padding:15px 0}.steps span{padding-bottom:10px}.steps .current{font-weight:750;color:var(--green);border-bottom:3px solid var(--green);margin-bottom:-16px}#status{margin:16px 0;min-height:0}#status:empty{display:none}#status.error{background:#fff0dc;color:#753c00;border:1px solid #d9ac70;padding:12px 18px;border-radius:8px}.panel{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:28px;margin:26px 0;box-shadow:0 8px 30px #17332e05}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:23px}h2{font-size:25px;letter-spacing:-.8px;line-height:1.25;margin:0}h3{font-size:18px;margin:0 0 12px;line-height:1.4}.upload-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:20px}.upload-box{padding:28px;background:#f7f9f3;border:1px dashed #8aa798;border-radius:12px}.file-label{display:block;font-size:18px;font-weight:650;margin-bottom:18px}input[type=file]{max-width:100%;font-size:13px}input::file-selector-button{background:white;border:1px solid #a6b8ac;border-radius:6px;padding:8px 10px;margin-right:10px;cursor:pointer;color:var(--ink)}#file-help,.small{font-size:12px;color:var(--muted)}.demo-box{background:var(--mint);padding:28px;border-radius:12px}.demo-box p{font-size:14px;margin-bottom:20px}.demo-box a{display:block;font-size:12px;margin-top:15px}.primary,.secondary{padding:10px 17px;border-radius:8px;font-size:14px;font-weight:600;min-height:44px}.primary{background:var(--green);color:white;border:1px solid var(--green)}.primary:hover{background:#0d4536}.primary span{margin-left:16px}.secondary{background:var(--white);color:var(--ink);border:1px solid #9bac9e}.secondary:hover{background:var(--mint)}.details{margin-top:25px;display:grid;grid-template-columns:140px 1fr;gap:20px;font-size:13px}.details p{margin:0;color:var(--muted)}.muted{color:var(--muted);font-size:14px}.title-label{display:block;margin:23px 0 8px;font-weight:650;font-size:14px}input[type=text]{width:100%;max-width:550px;border:1px solid #9bac9e;border-radius:7px;padding:10px;background:white;color:var(--ink)}.table-wrap{overflow-x:auto;margin:25px 0}table{border-collapse:collapse;width:100%;text-align:left;font-size:14px}th{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);background:#f1f4ed}td,th{padding:12px;border-bottom:1px solid var(--line)}td label{overflow-wrap:anywhere}td select{border:1px solid #a6b8ac;border-radius:6px;padding:8px;color:var(--ink);background:white;min-width:62px}input[type=checkbox]{width:18px;height:18px;accent-color:var(--green);vertical-align:middle;flex-shrink:0}tr.excluded{color:var(--muted);background:#fafaf7}.excluded small{display:block}.check-row{display:flex;gap:10px;align-items:flex-start;font-size:14px;margin:18px 0 10px}.check-row input{margin-top:3px}#build-report{margin-top:16px}.report-toolbar{display:flex;justify-content:space-between;gap:15px;margin:26px 0}.report-toolbar>div{display:flex;gap:10px;flex-wrap:wrap}.report-heading{padding:25px 0}#report-title{font-size:34px;overflow-wrap:anywhere}#report-meta{font-size:13px;color:var(--muted)}.demo-label{display:inline-block;background:#fff0dc;color:#753c00;padding:5px 10px;font-size:12px;font-weight:700;border-radius:5px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.metric{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:20px}.metric strong{display:block;font-size:34px;font-weight:600}.metric span{font-size:12px;color:var(--muted)}.quality-note{margin:20px 0;padding:14px 18px;border-left:3px solid #b67926;background:#fff6e5;font-size:13px;color:#694514}.question-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.question-card{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:24px;break-inside:avoid}.question-card h3{overflow-wrap:anywhere}.question-card .scale{font-size:12px;color:var(--muted)}.average{font-size:34px;font-weight:650;margin:14px 0 0;letter-spacing:-1px}.average small{font-size:13px;font-weight:400;color:var(--muted);letter-spacing:0}.count-line{font-size:12px;color:var(--muted);padding-bottom:15px;border-bottom:1px solid var(--line)}.distribution{font-size:13px;margin-top:18px}.bar-row{display:grid;grid-template-columns:22px 1fr 76px;align-items:center;gap:10px;margin:9px 0}.track{height:9px;background:#e9eee6;border-radius:5px;overflow:hidden}.fill{height:100%;background:#32745b;border-radius:5px}.bar-count{text-align:right;font-size:12px;font-variant-numeric:tabular-nums}.interpretation{background:var(--mint);padding:22px 25px;border-radius:12px;margin-top:25px;font-size:13px}.report-footer{font-size:11px;color:var(--muted);margin:22px 0}footer{padding:25px 0 35px;font-size:12px;color:var(--muted);max-width:730px}footer p:first-child{font-size:14px;font-weight:650;color:var(--ink)}.skip{position:absolute;left:10px;top:-60px;background:white;padding:8px;z-index:3}.skip:focus{top:5px}[hidden]{display:none!important}
@media(max-width:640px){.topbar{padding:18px;gap:10px;flex-wrap:wrap}.privacy{width:100%;margin-left:0;font-size:12px}.brand{font-size:19px}main{padding:0 18px}.hero{padding:35px 0 20px}h1{letter-spacing:-1.7px}.steps{gap:15px;font-size:11px}.panel{padding:20px 16px}.panel-heading{align-items:flex-start;flex-wrap:wrap}.upload-grid,.question-grid{grid-template-columns:1fr}.details{grid-template-columns:1fr;gap:6px}.upload-box,.demo-box{padding:20px}.report-toolbar{flex-direction:column}.metrics{gap:8px}.metric{padding:13px 10px}.metric strong{font-size:27px}.metric span{font-size:11px}td,th{padding:10px 6px}#report-title{font-size:28px}}
@media print{body{background:white;color:#142d26;font-size:11pt}.topbar,.hero,.steps,#status,.panel,.report-toolbar,main>footer,.skip{display:none!important}main{max-width:none;padding:0}#report-panel{display:block}#report-panel[hidden]{display:none!important}.report-heading{padding-top:0}#report-title{font-size:24pt}.question-grid{display:block}.question-card{margin-bottom:14px;padding:16px;break-inside:avoid}.metrics{gap:10px}.metric{padding:12px}.quality-note,.interpretation{break-inside:avoid}.track,.fill,.demo-label{print-color-adjust:exact;-webkit-print-color-adjust:exact}@page{margin:16mm}}
