@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#17251f;--muted:#68766f;--line:#dfe7e1;--paper:#f6f8f5;--green:#1d5c45;--lime:#d9f16b;--white:#fff}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:15px;line-height:1.5}
.hero{padding:34px 24px 58px;background:#173e31;color:white;text-align:center;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:420px;height:420px;border:1px solid #ffffff18;border-radius:50%;right:-130px;top:-240px;box-shadow:0 0 0 45px #ffffff08,0 0 0 90px #ffffff05}.brand{font-weight:800;letter-spacing:.16em;font-size:13px;margin-bottom:45px}.brand span{color:var(--lime)}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.17em;color:#9bb7a9}.hero h1{font-family:Manrope,sans-serif;font-size:clamp(30px,5vw,49px);line-height:1.12;letter-spacing:-.04em;margin:16px 0}.hero h1 em{font-style:normal;color:var(--lime)}.hero p{max-width:610px;margin:0 auto;color:#d4e2d9}
main{max-width:940px;margin:-24px auto 0;padding:0 20px;position:relative}.panel,.loading,#results{background:white;border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:0 12px 36px #1a3e2c0a}.section-title{display:flex;gap:14px;align-items:flex-start;margin-bottom:22px}.step{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:10px;background:#e9f1eb;color:var(--green);font-size:12px;font-weight:800}.section-title h2,.results-head h2{font:800 21px Manrope,sans-serif;margin:0;letter-spacing:-.03em}.section-title p,.results-head p{margin:4px 0 0;color:var(--muted);font-size:13px}.upload{border:1.5px dashed #b8c9bd;background:#f9fbf8;border-radius:13px;padding:25px 16px;text-align:center;position:relative;margin-bottom:22px;cursor:pointer}.upload.drag{background:#eef7e9;border-color:var(--green)}.upload input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.upload-icon{font-size:24px;margin-bottom:4px;color:var(--green)}.upload strong{display:block;font-size:14px}.upload small,.grid small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid label,.count-grid label{font-size:12px;font-weight:700;color:#43534a}.grid input,.grid select,.count-grid input{display:block;width:100%;margin-top:7px;border:1px solid var(--line);border-radius:9px;background:white;padding:11px 12px;color:var(--ink);font:500 14px 'DM Sans',sans-serif;outline:none}.grid input:focus,.grid select:focus,.count-grid input:focus{border-color:#5b9275;box-shadow:0 0 0 3px #5b92751a}.wide{grid-column:1/-1}.compact{margin-top:32px;margin-bottom:15px}.count-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.count-grid input{padding:9px}.primary{width:100%;border:0;background:var(--green);color:white;border-radius:10px;padding:15px 18px;font:700 14px 'DM Sans',sans-serif;margin-top:24px;cursor:pointer;display:flex;justify-content:center;gap:10px;align-items:center}.primary:hover{background:#144532}.primary:disabled{opacity:.6;cursor:wait}.notice{font-size:11px;color:var(--muted);text-align:center;margin:12px 0 0}.loading{display:flex;align-items:center;gap:16px;margin-top:20px}.loading p{color:var(--muted);margin:3px 0 0;font-size:13px}.spinner{width:28px;height:28px;border:3px solid #dce8df;border-top-color:var(--green);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.hidden{display:none!important}#results{margin-top:20px}.results-head{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-bottom:20px;border-bottom:1px solid var(--line)}.results-head .eyebrow{color:#56836b}.export-actions{display:flex;gap:8px}.secondary{border:1px solid var(--line);background:white;border-radius:9px;padding:10px 12px;font:700 12px 'DM Sans',sans-serif;cursor:pointer;white-space:nowrap}.secondary:hover{border-color:var(--green);color:var(--green)}.toolbar{display:flex;align-items:center;gap:16px;padding:15px 0;color:var(--muted);font-size:12px}.toggle{display:flex;align-items:center;gap:7px;color:var(--ink);font-weight:700}.text-btn{margin-left:auto;border:0;background:none;color:var(--green);font-weight:700;cursor:pointer}.group-title{font:800 17px Manrope,sans-serif;margin:25px 0 10px}.q-card{border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:10px}.q-top{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:9px}.q-number{font-size:11px;font-weight:800;color:var(--green);background:#edf5ee;border-radius:6px;padding:4px 7px}.q-meta{font-size:10px;color:var(--muted)}.q-text{font-weight:600;white-space:pre-wrap}.options{padding:8px 0 0 14px;color:#44534a;font-size:13px}.answer-area{border-top:1px solid #edf1ed;margin-top:12px;padding-top:10px;font-size:13px}.answer-area strong{color:var(--green)}.answer-area p{margin:4px 0}.edit-btn{border:0;background:none;color:#75847a;font-size:11px;cursor:pointer}.edit-btn:hover{color:var(--green)}.q-card textarea,.q-card input.editfield{width:100%;border:1px solid var(--line);border-radius:7px;padding:9px;font:13px 'DM Sans',sans-serif;margin-top:6px}.warning{padding:12px;border-radius:9px;background:#fff7e4;color:#77551a;font-size:12px;margin:12px 0}footer{text-align:center;color:#829087;font-size:11px;padding:28px 0 36px}
@media(max-width:650px){.hero{padding-bottom:48px}.brand{margin-bottom:32px}.panel,#results{padding:19px}.grid{grid-template-columns:1fr}.wide{grid-column:auto}.count-grid{grid-template-columns:repeat(2,1fr)}.results-head{align-items:flex-start;flex-direction:column}.export-actions{width:100%}.secondary{flex:1}.toolbar{flex-wrap:wrap}.text-btn{margin-left:0}}
.mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:14px 0 24px}.mode-card{display:flex;flex-direction:column;gap:9px;border:1px solid var(--line,#d8e0e8);border-radius:16px;padding:18px;background:var(--panel,#fff);cursor:pointer;transition:border-color .15s,box-shadow .15s}.mode-card:has(input:checked){border-color:var(--accent,#0798c7);box-shadow:0 0 0 2px rgba(0,158,205,.12)}.mode-card input{align-self:flex-end;accent-color:var(--accent,#0798c7)}.mode-card strong{font-size:1.02rem}.mode-card small{line-height:1.55;color:var(--muted,#596675)}.mode-icon{font-size:1.8rem;color:var(--accent,#0798c7)}@media(max-width:640px){.mode-grid{grid-template-columns:1fr}}
