:root{color-scheme:dark;--bg:#0a0a14;--surface:#12121f;--surface-light:#1a1a2e;--accent:#c77dff;--text:#e6e6fa;--muted:#d8d4e8;--border:#51405e;--radius:12px}
*{box-sizing:border-box}
body{margin:0;min-width:280px;background:var(--bg);background-image:radial-gradient(ellipse at 20% 80%,#9d4edd17,transparent 50%),radial-gradient(ellipse at 80% 20%,#e0aaff13,transparent 50%);color:var(--text);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}
.app{width:min(100% - 32px,680px);margin:36px auto 48px}
.masthead{text-align:center;margin-bottom:24px}.badge{display:inline-block;border:1px solid var(--border);border-radius:99px;padding:5px 13px;color:var(--accent);font-size:.78rem;font-weight:650;letter-spacing:.03em}.eyebrow{margin:19px 0 4px;color:var(--muted);font-size:.84rem;letter-spacing:.12em;text-transform:uppercase}
h1,h2,h3{line-height:1.25}h1{margin:0;font-family:Georgia,serif;font-size:clamp(2rem,7vw,3rem);font-weight:500}.masthead-note{margin:10px 0 0;color:var(--muted)}
.card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:28px;box-shadow:0 8px 32px #9d4edd18}h2{margin:0 0 16px;font-size:1.45rem}p{margin:0 0 16px}.muted{color:var(--muted)}
button{font:inherit;line-height:1.35;min-height:46px;border:1px solid var(--border);border-radius:8px;padding:11px 17px;cursor:pointer;background:var(--surface-light);color:var(--text)}button.primary{background:var(--accent);color:#170d23;border-color:var(--accent);font-weight:700}button:hover{filter:brightness(1.12)}button:disabled{opacity:.55;cursor:default}button:focus-visible,summary:focus-visible{outline:3px solid #f0d6ff;outline-offset:4px}button:disabled:hover{filter:none}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.actions .primary{margin-left:auto}.intro-actions{flex-direction:column}.intro-actions .primary{margin:0}.demo-note{font-size:.86rem;color:var(--muted)}
.progress-label{font-size:.85rem;color:var(--muted);margin-bottom:8px}.progress-track{height:5px;border-radius:4px;background:var(--surface-light);margin:0 0 25px;overflow:hidden}.progress-fill{height:100%;background:var(--accent)}
fieldset{border:0;padding:0;margin:0;min-width:0}legend{padding:0;margin-bottom:23px;max-width:100%;font-size:clamp(1.15rem,4.5vw,1.42rem);font-weight:600;line-height:1.5}
.scale{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.choice{position:relative;cursor:pointer;text-align:center;border:1px solid var(--border);border-radius:9px;background:var(--surface-light);padding:12px 3px;min-height:84px;display:flex;flex-direction:column;align-items:center;justify-content:center}.choice input{position:absolute;inset:0;margin:0;width:100%;height:100%;opacity:0;cursor:pointer}.choice:has(input:checked){background:#3c2154;border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.choice:has(input:focus-visible){outline:3px solid #f0d6ff;outline-offset:3px}.choice-number{font-size:1.25rem;font-weight:700}.choice-word{font-size:.76rem;color:var(--muted);min-height:1.3em}
.hint{margin:16px 0 0;color:var(--muted);font-size:.88rem}.error{min-height:1.5em;margin:14px 0 0;color:#ffb8bf;font-size:.9rem}.utility{margin-top:16px;display:flex;gap:10px;flex-wrap:wrap}.utility button{font-size:.85rem;background:transparent}
.results{display:grid;gap:12px;margin-top:20px}.result-card{border:1px solid var(--border);border-radius:10px;padding:17px;background:var(--surface-light)}.result-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.result-head h3{margin:0;font-size:1.03rem}.total{font-size:1.3rem;font-weight:700;color:var(--accent);white-space:nowrap}.result-card p{font-size:.85rem;color:var(--muted);margin:9px 0}.result-card button{font-size:.85rem;min-height:42px;padding:8px 12px}.score-track{height:5px;background:var(--bg);border-radius:4px;overflow:hidden;margin:10px 0}.score-fill{height:100%;background:var(--accent)}.pending{border:1px dashed var(--border);border-radius:10px;padding:17px;margin-top:20px}.pending h3{margin:0 0 10px}.pending button{margin-top:4px}
.review-notes{margin:22px 4px;color:var(--muted);font-size:.86rem}.review-notes summary{cursor:pointer;color:var(--accent);font-weight:650;padding:8px 0}.review-notes details p{margin:12px 0}.privacy{margin:18px 0 12px}.source{font-size:.78rem}.demo-banner{border-left:3px solid var(--accent);padding-left:12px;color:var(--muted)}
@media(max-width:420px){.app{width:calc(100% - 24px);margin-top:24px}.card{padding:21px 16px}.scale{gap:5px}.choice{min-height:80px}.choice-word{font-size:.67rem}.actions button{flex:1}.actions .primary{margin-left:0}.actions .skip{flex-basis:100%;order:3}.result-head{align-items:flex-start}.total{font-size:1.15rem}.utility button{flex:1}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
