:root{--bg: #fbfaf6;--paper: #ffffff;--ink: #16221d;--muted: #5f6a63;--faint: #8b938c;--line: #e9e6dd;--line-strong: #d9d5c9;--brand: #0f7a5f;--brand-600: #0c6650;--brand-700: #0a5142;--brand-050: #eaf4ef;--brand-100: #d7ebe2;--gold: #e0a83e;--danger: #b3261e;--r-lg: 20px;--r-md: 14px;--r-sm: 10px;--shadow-sm: 0 1px 2px rgba(20, 34, 29, .05);--shadow-md: 0 6px 20px rgba(20, 34, 29, .08);--shadow-lg: 0 24px 60px rgba(10, 60, 48, .16);--ui: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--display: "Fraunces", Georgia, "Times New Roman", serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--ui);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button{font-family:inherit}.app{min-height:100%;display:grid;grid-template-columns:minmax(340px,42%) 1fr}.brand{position:relative;overflow:hidden;color:#eafaf3;background:radial-gradient(120% 90% at 15% 12%,rgba(224,168,62,.2),transparent 55%),radial-gradient(120% 120% at 90% 100%,rgba(9,81,66,.85),transparent 60%),linear-gradient(160deg,#12856a,#0c6650 45%,#093f36)}.brand__inner{position:sticky;top:0;min-height:100vh;padding:clamp(28px,4vw,56px);display:flex;flex-direction:column;gap:28px}.brand__logo{display:inline-flex;align-items:center;gap:10px;font-weight:600;letter-spacing:.02em;font-size:1.02rem}.brand__mark{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:#ffffff24;border:1px solid rgba(255,255,255,.22);font-size:1rem}.brand__body{margin-top:auto}.brand__headline{font-family:var(--display);font-weight:500;font-size:clamp(2rem,3.4vw,3.1rem);line-height:1.06;letter-spacing:-.015em;margin:0 0 16px;text-wrap:balance}.brand__sub{margin:0;max-width:30ch;color:#eafaf3d1;font-size:1.02rem}.brand__foot{margin-top:8px;min-height:40px}.brand__glow{position:absolute;inset:auto -20% -30% -20%;height:60%;background:radial-gradient(50% 60% at 50% 100%,rgba(224,168,62,.18),transparent 70%);pointer-events:none}.progress__label{display:flex;justify-content:space-between;align-items:baseline;font-size:.82rem;letter-spacing:.02em;margin-bottom:8px;color:#eafaf3e6}.progress__label span:last-child{font-variant-numeric:tabular-nums;opacity:.8}.progress__track{height:6px;border-radius:999px;background:#ffffff29;overflow:hidden}.progress__bar{height:100%;border-radius:999px;background:linear-gradient(90deg,#ffe6ad,var(--gold));transition:width .45s cubic-bezier(.2,.7,.2,1)}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{font-size:.82rem;padding:6px 12px;border-radius:999px;background:#ffffff1f;border:1px solid rgba(255,255,255,.18);color:#eafaf3f2}.panel{display:flex;justify-content:center;padding:clamp(24px,4vw,56px)}.panel__inner{width:100%;max-width:600px;margin:auto 0;padding:clamp(28px,3.5vw,44px);background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-md)}.step{animation:rise .42s cubic-bezier(.2,.7,.2,1) both}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.step__title{font-family:var(--display);font-weight:500;font-size:1.5rem;letter-spacing:-.01em;margin:0 0 24px;color:var(--brand-700)}.intro__eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.74rem;font-weight:600;color:var(--brand);margin:0 0 14px}.intro__title{font-family:var(--display);font-weight:500;font-size:clamp(1.7rem,3vw,2.3rem);line-height:1.12;letter-spacing:-.015em;margin:0 0 14px;text-wrap:balance}.intro__text{color:var(--muted);font-size:1.05rem;margin:0 0 28px}.q{margin-bottom:30px}.q:last-of-type{margin-bottom:8px}.q__label{font-weight:550;font-size:1.05rem;margin:0 0 14px}.choices{display:flex;flex-direction:column;gap:10px}.choice{display:flex;align-items:center;gap:13px;padding:14px 16px;border:1.5px solid var(--line);border-radius:var(--r-md);cursor:pointer;background:var(--paper);transition:border-color .15s,background .15s,transform .08s}.choice:hover{border-color:var(--line-strong)}.choice:active{transform:scale(.995)}.choice.is-sel{border-color:var(--brand);background:var(--brand-050)}.choice__head{display:flex;align-items:center;gap:13px;cursor:pointer}.choice__box{flex:none;width:22px;height:22px;border:1.5px solid var(--line-strong);background:var(--paper);display:grid;place-items:center;transition:all .15s}.choice__box--radio{border-radius:50%}.choice__box--checkbox{border-radius:7px}.is-sel .choice__box{background:var(--brand);border-color:var(--brand)}.choice__text{font-size:1rem}.mark{width:13px;height:13px;fill:none;stroke:#fff;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}.choice--other{flex-direction:column;align-items:stretch}.scale{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.scale__btn{height:52px;border:1.5px solid var(--line);border-radius:var(--r-md);background:var(--paper);font-size:1rem;font-weight:550;color:var(--muted);cursor:pointer;transition:all .14s}.scale__btn:hover{border-color:var(--line-strong)}.scale__btn.is-sel{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:var(--shadow-sm);transform:translateY(-1px)}.likert__labels{display:flex;justify-content:space-between;font-size:.8rem;color:var(--faint);margin-top:9px}.num{display:inline-flex;align-items:center;gap:2px;border:1.5px solid var(--line);border-radius:var(--r-md);padding:4px 12px;background:var(--paper);transition:border-color .15s}.num:focus-within{border-color:var(--brand)}.num__affix{color:var(--faint);font-size:.98rem}.num__affix--suf{margin-left:2px}.num__input{border:none;outline:none;background:transparent;font:inherit;color:var(--ink);width:90px;padding:9px 4px}.input,.textarea{width:100%;font:inherit;color:var(--ink);border:1.5px solid var(--line);border-radius:var(--r-md);padding:12px 14px;background:var(--paper);transition:border-color .15s}.textarea{resize:vertical}.input:focus,.textarea:focus{outline:none;border-color:var(--brand)}.other-field{margin-top:4px}.vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.choice:focus-within{outline:2px solid var(--brand);outline-offset:2px}.scale__btn:focus-visible,.btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.actions{display:flex;justify-content:space-between;gap:12px;margin-top:30px}.actions--start{justify-content:flex-start;margin-top:8px}.btn{display:inline-flex;align-items:center;gap:8px;border-radius:var(--r-md);padding:13px 22px;font-size:.98rem;font-weight:550;cursor:pointer;border:1.5px solid transparent;transition:all .15s}.btn svg{width:17px;height:17px}.btn--primary{background:var(--brand);color:#fff;box-shadow:var(--shadow-sm)}.btn--primary:hover:not(:disabled){background:var(--brand-600);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn--ghost{background:var(--paper);border-color:var(--line-strong);color:var(--ink)}.btn--ghost:hover:not(:disabled){border-color:var(--muted)}.btn:disabled{opacity:.4;cursor:not-allowed}.done{text-align:center;padding:20px 0}.done__check{width:76px;height:76px;margin:0 auto 22px;display:block}.done__check circle{stroke:var(--brand);stroke-width:2.5;fill:var(--brand-050);stroke-dasharray:214;stroke-dashoffset:214;animation:draw .6s ease forwards}.done__check path{stroke:var(--brand);stroke-width:3.2;fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40;animation:draw .4s .5s ease forwards}@keyframes draw{to{stroke-dashoffset:0}}.done__title{font-family:var(--display);font-weight:500;font-size:1.7rem;margin:0 0 10px}.done__text{color:var(--muted);max-width:42ch;margin:0 auto}.fineprint{color:var(--faint);font-size:.82rem;margin-top:16px}.error{color:var(--danger);font-size:.92rem;margin-top:14px;background:#fdeceb;border:1px solid #f6cfcc;padding:10px 12px;border-radius:var(--r-sm)}@media (max-width: 900px){.app{grid-template-columns:1fr}.brand__inner{min-height:auto;position:static;padding:24px;gap:18px}.brand__body{margin-top:4px}.brand__headline{font-size:1.7rem;margin-bottom:8px}.brand__sub{display:none}.panel{padding:18px}.panel__inner{padding:24px 20px;border-radius:var(--r-md)}}@media (max-width: 420px){.scale__btn{height:46px}.actions{flex-direction:row}.btn{padding:12px 16px}}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}
