:root{--bg:#f8fafc;--text:#0f172a;--muted:#64748b;--border:#e2e8f0;--card:#ffffff;--primary:#0f172a;--primary-text:#ffffff}*{box-sizing:border-box}body,html{padding:0;margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:var(--bg)}body{min-height:100vh}button,input,textarea{font:inherit}button{cursor:pointer}.page-shell{min-height:100vh;padding:24px}.page-width{max-width:1040px;margin:0 auto}.stack-lg>*+*{margin-top:24px}.stack-sm>*+*{margin-top:12px}.lead{font-size:1.125rem;color:var(--muted);max-width:780px}.small{font-size:.85rem}.right{text-align:right}.top-gap{margin-top:8px}h1,h2,h3,p{margin:0}h1{font-size:clamp(2rem,4vw,3.5rem);line-height:1.1}h2{font-size:1.35rem;margin-bottom:8px}h3{font-size:1.05rem;margin-bottom:6px}.badge{display:inline-block;border:1px solid var(--border);background:#fff;padding:8px 12px;border-radius:999px;font-size:.875rem}.card{background:var(--card);border:1px solid var(--border);border-radius:24px;padding:24px;box-shadow:0 4px 18px rgba(15,23,42,.04)}.mini-card{background:#fff;border:1px solid var(--border);border-radius:18px;padding:14px}.label{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:6px}.clinic-name,.value{font-weight:700}.clinic-name{font-size:1.65rem}.report-top{padding-bottom:16px;border-bottom:1px solid var(--border);margin-bottom:16px}.report-header>*+*{margin-top:16px}.form-grid,.grid-2,.grid-3,.raw-grid,.recognition-grid,.score-grid,.symbol-bank{display:grid;grid-gap:16px;gap:16px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3,.score-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid .full{grid-column:1/-1}.recognition-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.raw-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.symbol-bank{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:16px}.small-cards>div,.symbol-bank>div{border:1px solid var(--border);border-radius:16px;padding:12px 14px;background:#f8fafc}.symbol-bank>div{display:flex;justify-content:space-between;align-items:center}.form-grid label{display:flex;flex-direction:column;gap:8px;font-size:.95rem}.digit-input,.form-grid input:not([type=checkbox]),.form-grid textarea{border:1px solid var(--border);border-radius:16px;padding:14px 16px;background:#fff}.form-grid textarea{min-height:110px;resize:vertical}.checkbox{flex-direction:row!important;align-items:flex-start;border:1px solid var(--border);border-radius:16px;padding:14px;background:#fff}.checkbox input{margin-top:2px}.btn{border:0;border-radius:16px;padding:14px 20px;font-weight:600}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:var(--primary-text)}.btn-secondary{background:#fff;color:var(--text);border:1px solid var(--border)}.button-row{display:flex;gap:12px;flex-wrap:wrap}.alert{border:1px solid #fde68a;background:#fffbeb;border-radius:18px;padding:16px}.alert-title{font-weight:700;margin-bottom:6px}.muted{color:var(--muted)}.row-between,.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px}.stage-title{font-size:1.6rem;font-weight:700}.task-shell{min-height:260px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:22px}.bordered{border:1px solid var(--border);border-radius:24px;padding:24px;margin-top:18px}.hero-word{font-size:clamp(2rem,5vw,4rem);font-weight:700;letter-spacing:.03em;text-align:center}.hero-symbol{font-size:5rem}.progress-shell{width:100%;max-width:760px;height:10px;background:#e2e8f0;border-radius:999px;overflow:hidden}.progress-fill{height:100%;background:#0f172a}.choice-card{border:1px solid var(--border);background:#fff;border-radius:18px;padding:16px}.choice-selected{background:#f1f5f9;border-color:#0f172a}.choice-inner{min-height:72px;display:flex;align-items:center;justify-content:center;text-align:center;font-weight:600}.switch-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:20px;gap:20px;align-items:center}.switch-top{grid-column:2}.shape-shell,.switch-top{display:flex;justify-content:center}.shape-shell{min-height:140px;border:1px solid var(--border);border-radius:24px;background:#fff;align-items:center;padding:24px}.score{font-size:2.1rem;font-weight:700;margin:6px 0 12px}.help-box{border:1px solid var(--border);background:#f8fafc;border-radius:16px;padding:14px}@media (max-width:900px){.form-grid,.grid-3,.raw-grid,.recognition-grid,.score-grid,.switch-grid,.symbol-bank{grid-template-columns:1fr 1fr}.switch-top{grid-column:1/-1}}@media (max-width:640px){.page-shell{padding:16px}.form-grid,.grid-2,.grid-3,.raw-grid,.recognition-grid,.score-grid,.switch-grid,.symbol-bank{grid-template-columns:1fr}.row-between,.topbar{flex-direction:column;align-items:flex-start}.btn{width:100%}}@media print{@page{size:A4;margin:14mm}body{background:white!important}.no-print{display:none!important}.page-shell{padding:0!important}.page-width{max-width:100%!important}.card,.mini-card{box-shadow:none!important;page-break-inside:avoid;break-inside:avoid}.card{padding:16px;border-radius:18px}.grid-3,.score-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2,.raw-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.muted,div,p{font-size:12px;line-height:1.4}h2{font-size:1.1rem}.clinic-name{font-size:1.35rem}}