.ability-overlay{position:fixed;inset:0;z-index:10000;overflow:auto;background:#f8efdd;color:#482614;padding:24px;display:none}.ability-overlay.open{display:block}.ability-wrap{max-width:1120px;margin:auto}.ability-head{display:flex;justify-content:space-between;gap:16px;align-items:center}.ability-head h1{font-size:28px;margin:10px 0}.ability-overlay button,.ability-diagnosis button,.ability-inline button{font:inherit;cursor:pointer;border:1px solid #bba78e;background:#fff8ed;color:#482614;border-radius:9px;padding:10px 14px;min-height:44px}.ability-primary{background:#315d4a!important;color:white!important;border-color:#315d4a!important}.ability-muted{color:#73543c;font-size:14px;line-height:1.7}.ability-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0}.ability-stat,.ability-card{background:#fff9ef;border:1px solid #d6c5ad;border-radius:14px;padding:20px}.ability-stat strong{display:block;font-size:27px;margin-bottom:6px}.ability-section{margin:24px 0}.ability-section h2{font-size:21px}.ability-filters{display:flex;gap:10px;flex-wrap:wrap}.ability-filters button.active{background:#482614;color:white}.ability-bars{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ability-bar label{display:flex;justify-content:space-between;gap:10px;font-size:16px}.ability-bar-track{background:#eadcc7;border-radius:4px;height:9px;margin-top:8px}.ability-bar-track i{display:block;height:100%;background:#315d4a;border-radius:4px}.ability-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.ability-card h3{margin:0 0 10px;font-size:18px}.ability-card p,.ability-card li{font-size:16px;line-height:1.8}.ability-card ol{padding-left:22px}.ability-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.ability-record{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;border-bottom:1px solid #d6c5ad;padding:15px 0}.ability-record strong{font-size:16px}.ability-record p{line-height:1.7;margin:7px 0;font-size:16px}.ability-inline{border:1px solid #c1cdbb;background:#f0f4e8;border-radius:12px;padding:16px;margin:18px 0;font-size:16px;line-height:1.8}.ability-inline h3{margin:0;font-size:18px}.ability-inline p{margin:6px 0}.ability-inline .ability-actions{margin-top:8px}.ability-status{font-size:14px;line-height:1.7;color:#73543c}.ability-status.error{color:#9a342c}.ability-diagnosis{max-width:680px;width:calc(100% - 32px);max-height:90dvh;border:1px solid #bba78e;border-radius:16px;padding:24px;background:#fff9ef;color:#482614;overflow:auto;font-size:16px}.ability-diagnosis::backdrop{background:#21170cb3}.ability-diagnosis h2{font-size:22px;margin:0}.ability-diagnosis fieldset{border:0;padding:0;margin:20px 0}.ability-diagnosis legend{font-weight:700;margin-bottom:10px}.ability-choices{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ability-choice{display:flex;align-items:flex-start;gap:8px;border:1px solid #d6c5ad;border-radius:9px;padding:12px;line-height:1.5;cursor:pointer}.ability-choice:has(input:checked){background:#e8efe4;border-color:#315d4a}.ability-diagnosis input[type=radio]{margin-top:4px;accent-color:#315d4a}.ability-diagnosis select,.ability-diagnosis textarea{width:100%;box-sizing:border-box;font:inherit;background:white;color:#482614;border:1px solid #bba78e;border-radius:8px;padding:10px;margin:6px 0 15px}.ability-diagnosis textarea{min-height:72px;resize:vertical}.ability-diagnosis button:disabled{opacity:.6;cursor:wait}.ability-diagnosis .ability-head{align-items:flex-start}.ability-diagnosis .ability-stem{max-height:130px;overflow:auto;background:#f2e8d8;padding:12px;border-radius:9px;line-height:1.8}.ability-overlay :focus-visible,.ability-diagnosis :focus-visible,.ability-inline :focus-visible{outline:3px solid #315d4a;outline-offset:3px}
@media(max-width:700px){.ability-overlay{padding:16px 16px 80px}.ability-head{align-items:flex-start}.ability-head h1{font-size:24px}.ability-stats{grid-template-columns:1fr 1fr}.ability-bars,.ability-plans{grid-template-columns:1fr}.ability-record{grid-template-columns:1fr}.ability-diagnosis{padding:18px}.ability-choices{grid-template-columns:1fr}.ability-stat,.ability-card{padding:16px}}
