:root{--canvas:#fff8e8;--ink:#111;--accent:#12d6a0;--accent-2:#ff6b35;--muted:#6b6256;--panel:#fff;--border:4px solid var(--ink);--shadow:8px 8px 0 var(--ink)}*{box-sizing:border-box}body{background:var(--canvas);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit}.topbar{border-bottom:4px solid var(--ink);background:#fff;justify-content:space-between;align-items:center;gap:18px;min-height:64px;padding:12px 24px;display:flex}.brand-link{align-items:center;gap:10px;font-size:24px;font-weight:900;text-decoration:none;display:inline-flex}.brand-mark{width:32px;height:32px;display:block}.auth-nav{align-items:center;gap:12px;display:flex}.auth-nav form{margin:0}button,input,textarea,select{font:inherit}.shell{width:min(1120px,100% - 32px);margin:0 auto;padding:32px 0}.hero,.panel,.question,.metric,.table-shell{background:var(--panel);border:var(--border);box-shadow:var(--shadow)}.hero{align-content:center;gap:32px;min-height:calc(100vh - 64px);padding:clamp(28px,7vw,72px);display:grid}.eyebrow{text-transform:uppercase;letter-spacing:0;margin:0 0 12px;font-weight:900}h1,h2,h3,p{margin-top:0}h1{letter-spacing:0;max-width:760px;font-size:clamp(48px,9vw,112px);line-height:.9}h2{font-size:clamp(32px,5vw,56px);line-height:1}.lede{max-width:720px;color:var(--muted);font-size:20px;line-height:1.45}.actions{flex-wrap:wrap;gap:16px;display:flex}.button{border:3px solid var(--ink);min-height:52px;color:var(--ink);box-shadow:5px 5px 0 var(--ink);cursor:pointer;background:#fff;justify-content:center;align-items:center;padding:12px 18px;font-weight:900;text-decoration:none;display:inline-flex}.button.primary{background:var(--accent)}.button.danger{background:var(--accent-2)}.button:disabled,.icon-button:disabled{cursor:not-allowed;opacity:.45}.button:focus-visible,.icon-button:focus-visible,.option:focus-within,input:focus-visible,textarea:focus-visible{outline:4px solid var(--accent-2);outline-offset:3px}.stack{gap:20px;display:grid}.panel{padding:24px}.auth-shell{place-items:center;min-height:calc(100vh - 64px);display:grid}.auth-panel{width:min(560px,100%)}.auth-panel h1{font-size:clamp(44px,8vw,76px)}.auth-footnote{margin:20px 0 0}.error-copy{border:3px solid var(--ink);background:var(--accent-2);padding:12px;font-weight:900}.progress{gap:10px;display:grid}.progress-track{border:3px solid var(--ink);background:#fff;height:24px}.progress-fill{background:var(--accent);height:100%;transition:width .16s}.progress-copy{justify-content:space-between;gap:12px;font-weight:900;display:flex}.question{padding:20px}.public-questionnaire-shell{gap:16px;width:min(860px,100% - 32px);padding:24px 0}.public-questionnaire-hero,.public-questionnaire-panel{box-shadow:6px 6px 0 var(--ink);border-width:3px}.public-questionnaire-hero{background:#eff8ee;padding:clamp(18px,4vw,32px)}.public-questionnaire-hero h1{max-width:620px;margin-bottom:18px;font-size:clamp(42px,8vw,78px);line-height:.94}.public-questionnaire-hero .eyebrow{margin-bottom:10px;font-size:14px}.public-questionnaire-hero .lede{max-width:640px;margin-bottom:0;font-size:17px}.public-questionnaire-hero .progress{gap:8px}.public-questionnaire-hero .progress-track{border-width:3px;height:16px}.public-questionnaire-hero .muted{margin-bottom:0;font-size:15px}.public-questionnaire-panel{background:#fff;padding:clamp(18px,3vw,28px)}.public-questionnaire-panel h2{font-size:clamp(28px,4vw,42px)}.public-questionnaire-panel .question{box-shadow:5px 5px 0 var(--ink);background:#fffdf6;border-width:3px}.options{gap:12px;margin-top:16px;display:grid}.option{border:3px solid var(--ink);cursor:pointer;background:#fff;gap:4px;padding:14px;display:grid}.option.selected{background:var(--accent);box-shadow:5px 5px 0 var(--ink)}.option input{block-size:22px;inline-size:22px}.option-line{align-items:flex-start;gap:12px;display:flex}.rating-field{gap:10px;display:grid}.muted{color:var(--muted)}.field{border:3px solid var(--ink);background:#fff;width:100%;min-width:0;max-width:100%;min-height:48px;padding:12px}textarea.field{min-height:120px}select.field{appearance:auto}.file-field{height:auto}.file-field::file-selector-button{border:3px solid var(--ink);background:var(--accent);color:var(--ink);cursor:pointer;margin-right:12px;padding:8px 12px;font-weight:900}.builder-header{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.compact-builder-header{padding:20px 24px}.compact-builder-header h1{max-width:none;margin-bottom:12px;font-size:44px;line-height:1}.compact-builder-header .lede{max-width:760px;margin-bottom:0;font-size:17px}.admin-header h1{max-width:none;font-size:clamp(52px,7vw,86px);line-height:.95}.admin-header .lede{max-width:760px;font-size:18px}.builder-save-panel{justify-items:start;gap:10px;min-width:min(260px,100%);display:grid}.builder-grid{grid-template-columns:minmax(220px,.9fr) minmax(320px,1.3fr) minmax(280px,1fr);align-items:start;gap:18px;display:grid}.form-row{gap:8px;display:grid}.form-row label,.check-row,.two-col label{font-weight:900}.check-row{align-items:center;gap:12px;display:flex}.check-row input{block-size:24px;inline-size:24px}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.step-list{gap:12px;display:grid}.step-row{grid-template-columns:42px minmax(0,1fr) 48px;align-items:stretch;gap:10px;display:grid}.step-button{overflow-wrap:anywhere;justify-content:flex-start;width:100%;min-width:0}.icon-button{border:3px solid var(--ink);min-width:48px;min-height:48px;color:var(--ink);box-shadow:5px 5px 0 var(--ink);cursor:pointer;background:#fff;place-items:center;font-size:32px;font-weight:900;line-height:1;display:inline-grid}.danger-icon{background:var(--accent-2)}.drag-handle{border:3px solid var(--ink);min-width:42px;min-height:48px;color:var(--ink);box-shadow:5px 5px 0 var(--ink);cursor:grab;-webkit-user-select:none;user-select:none;background:#fff;place-items:center;font-size:22px;font-weight:900;line-height:.8;display:inline-grid}.drag-handle:active{cursor:grabbing}.dragging{opacity:.55}.add-button{background:var(--accent);justify-self:center;width:56px;height:56px;font-size:40px}.selectable{cursor:pointer}.selected-card{background:var(--accent)}.question-list-card{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;display:grid}.question-list-card h3,.question-list-card p{overflow-wrap:anywhere}.question-delete-button{min-width:44px;min-height:44px;font-size:28px}.question-card-actions{grid-template-columns:42px 44px;align-items:start;gap:8px;display:grid}.add-question-wrap{justify-items:center;gap:12px;display:grid;position:relative}.add-question-menu{border:3px solid var(--ink);width:min(100%,420px);box-shadow:5px 5px 0 var(--ink);background:#fff;grid-template-columns:1fr 1fr;gap:12px;padding:14px;display:grid}.add-question-menu .button{justify-content:center;width:100%}.option-editor{grid-template-columns:1fr auto;align-items:center;gap:10px;display:grid}.two-col{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.two-col>label{min-width:0}.builder-grid>aside .two-col{grid-template-columns:1fr}.token-box{border:3px solid var(--ink);background:var(--accent);gap:10px;padding:16px;display:grid}.token-box code{overflow-wrap:anywhere;border:3px solid var(--ink);background:#fff;padding:10px}.publish-panel{grid-template-columns:minmax(0,1fr) minmax(280px,420px);align-items:start;gap:24px;display:grid}.invite-line{overflow-wrap:anywhere;border:3px solid var(--ink);background:#fff;padding:12px;display:block}.table-button{min-height:40px;box-shadow:3px 3px 0 var(--ink);padding:8px 12px}.modal-backdrop{z-index:20;background:#1111118c;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal{gap:18px;width:min(560px,100%);display:grid}.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.metric{padding:18px}.metric strong{font-size:36px;display:block}.status-pill{border:3px solid var(--ink);background:var(--accent);align-items:center;min-height:34px;padding:6px 10px;font-weight:900;display:inline-flex}.table-shell{overflow-x:auto}table{border-collapse:collapse;background:#fff;width:100%}th,td{border-bottom:3px solid var(--ink);text-align:left;padding:14px}@media (max-width:760px){.grid,.builder-grid,.two-col,.option-editor,.publish-panel{grid-template-columns:1fr}.builder-header{display:grid}.hero{min-height:auto}h1{font-size:52px}}
