.tools-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:1100px}
.tools-card,.tools-offline{padding:26px;border:1px solid var(--line,#d7e0ed);border-radius:16px;background:var(--surface,#fff);color:var(--ink,#1c2e45)}
.tools-card h2{font-size:1.2rem;margin:0 0 12px}.tools-card p{line-height:1.65;max-width:65ch}.tools-wide{grid-column:1/-1}.tools-actions{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}
.tools-card details{margin-top:18px}.tools-card summary{cursor:pointer;font-weight:600;min-height:44px;display:flex;align-items:center;gap:8px}.tools-form{display:grid;gap:16px;max-width:480px;margin:16px 0}.tools-form label,.tools-card form>label{display:grid;gap:8px}.tools-form .tools-check,.tools-check{display:flex;align-items:flex-start;gap:10px;line-height:1.55}.tools-check input{margin-top:5px;flex-shrink:0}
.tools-status{min-height:26px;max-width:1000px}.tools-caption{font-size:.86rem;color:var(--muted,#53657a);line-height:1.65}.tools-conflict{padding:20px;margin-top:18px;border:1px solid #b8c9e1;border-radius:12px;background:var(--surface-2,#f4f7fc)}
.family-row{display:flex;align-items:center;gap:14px;padding:18px 0;border-bottom:1px solid var(--line,#d7e0ed);flex-wrap:wrap}.family-row>div{flex:1;min-width:180px}.family-row strong{overflow-wrap:anywhere}.family-row small{display:block;margin-top:6px;color:var(--muted,#53657a)}
.tools-offline{margin:24px 0;max-width:900px;scroll-margin-top:100px}.offline-question h3{font-size:.9rem;font-weight:500;color:var(--muted,#53657a)}.offline-diagram{display:block;max-width:100%;max-height:480px;margin:24px auto;object-fit:contain;background:#fff}.offline-answers{display:grid;gap:12px;margin:24px 0}.offline-choice{display:flex;align-items:center;gap:16px;text-align:left;min-height:60px;padding:14px 18px;background:var(--surface,#fff);border:1px solid #8da1bb;border-radius:10px;color:inherit;font:inherit;cursor:pointer}.offline-choice>span:first-child{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:50%;border:1px solid #8da1bb;font-weight:600}.offline-choice.selected{border-color:#245ac0;box-shadow:inset 0 0 0 1px #245ac0}.offline-choice.selected>span:first-child{background:#245ac0;color:white}.offline-choice:focus-visible{outline:3px solid #245ac0;outline-offset:3px}
.math-entry-launch{margin:8px 0;min-height:44px}.math-entry-dialog{width:min(520px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid #b5c6db;border-radius:18px;padding:24px;color:var(--ink,#1c2e45);background:var(--surface,#fff)}.math-entry-dialog::backdrop{background:rgba(15,31,49,.5)}.math-entry-dialog h2{margin:0 0 12px}.math-entry-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.math-entry-toolbar button{min-width:48px;min-height:44px;border:1px solid #a7b8cc;border-radius:8px;background:var(--surface-2,#f4f7fc);font:inherit;color:inherit}.math-entry-preview{min-height:72px;padding:18px;margin:16px 0;background:var(--surface-2,#f4f7fc);border-radius:10px;overflow:auto;display:grid;place-items:center}.math-entry-dialog label{display:grid;gap:8px}.math-entry-dialog input{font-size:18px}.math-entry-status{min-height:24px}.math-entry-dialog button:focus-visible{outline:3px solid #245ac0;outline-offset:2px}
@media(max-width:720px){.tools-grid{grid-template-columns:1fr;gap:14px}.tools-card{padding:20px}.tools-actions>*{flex:1 1 180px}.family-row{gap:10px}.tools-offline{padding:18px}.math-entry-dialog{padding:20px} .tools-wide{grid-column:auto}}

.tools-card summary::before{content:"›";font-size:1.3rem;line-height:1;transition:transform .15s}.tools-card details[open]>summary::before{transform:rotate(90deg)}
