/* ADC Math Tools – calculator styles */
.adct{--adct-bg:#ffffff;--adct-soft:#f6f7fb;--adct-line:#e4e7ef;--adct-text:#111827;--adct-muted:#5b6475;--adct-c1:#4f46e5;--adct-c1d:#4338ca;--adct-c2:#f97316;--adct-ok:#059669;--adct-warn:#b45309;--adct-err:#b91c1c;--adct-grid:#eef0f5;--adct-axis:#9aa3b2;--adct-area:rgba(79,70,229,.16);--adct-r:16px;
  font-family:inherit;color:var(--adct-text);margin:0 0 2rem;line-height:1.55;scroll-margin-top:90px}
@media (prefers-color-scheme:dark){.adct.adct-auto{--adct-bg:#121826;--adct-soft:#1a2234;--adct-line:#2a3550;--adct-text:#e8ecf5;--adct-muted:#9aa6bf;--adct-grid:#1f2a40;--adct-axis:#56627d;--adct-area:rgba(129,140,248,.22)}}
.adct *{box-sizing:border-box}
.adct-card{background:var(--adct-bg);border:1px solid var(--adct-line);border-radius:var(--adct-r);padding:clamp(16px,3vw,26px);box-shadow:0 1px 2px rgba(16,24,40,.04),0 10px 30px -12px rgba(16,24,40,.12)}
.adct-lbl{display:block;font-weight:700;font-size:.95rem;margin:0 0 .5rem}
.adct-row{display:flex;gap:10px}
.adct-in{flex:1;min-width:0;font:500 1.15rem/1.3 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;padding:.85rem 1rem;border:2px solid var(--adct-line);border-radius:12px;background:var(--adct-soft);color:var(--adct-text);outline:none;transition:border-color .15s,box-shadow .15s}
.adct-in:focus{border-color:var(--adct-c1);box-shadow:0 0 0 4px rgba(79,70,229,.15);background:var(--adct-bg)}
.adct-go{border:0;border-radius:12px;padding:0 1.6rem;font-weight:700;font-size:1.05rem;color:#fff;background:linear-gradient(135deg,var(--adct-c1),#6366f1);cursor:pointer;box-shadow:0 6px 16px -6px rgba(79,70,229,.6);transition:transform .1s,box-shadow .15s}
.adct-go:hover{background:var(--adct-c1d)}.adct-go:active{transform:translateY(1px)}
.adct-preview{min-height:2.2rem;margin:.6rem 0 0;padding:.35rem .2rem;font-size:1.1rem;overflow-x:auto}
.adct-preview.bad .adct-pl{color:var(--adct-warn)}
.adct-pl{font-size:.82rem;color:var(--adct-muted);margin-right:.4rem;font-weight:600}
.adct-opts{display:flex;flex-wrap:wrap;gap:12px 16px;margin:.75rem 0 0;align-items:flex-end}
.adct-opt{display:flex;flex-direction:column;gap:4px;font-size:.8rem;font-weight:600;color:var(--adct-muted)}
.adct-bounds,.adct-multi{display:flex;flex-wrap:wrap;gap:12px 16px}
.adct-multi{flex-direction:column;width:100%}
.adct-mrow{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-end}
.adct-mlab{font-weight:700;font-size:.85rem;min-width:110px;padding-bottom:.6rem;color:var(--adct-text)}
.adct-sel,.adct-sm{font:inherit;font-size:.95rem;padding:.5rem .7rem;border:1.5px solid var(--adct-line);border-radius:10px;background:var(--adct-bg);color:var(--adct-text);min-width:110px}
.adct-sm{width:130px;font-family:ui-monospace,Menlo,Consolas,monospace}
.adct-sel:focus,.adct-sm:focus{outline:none;border-color:var(--adct-c1)}
.adct-tools{display:flex;gap:8px;margin:1rem 0 0;flex-wrap:wrap}
.adct-ghost{font:inherit;font-size:.85rem;font-weight:600;padding:.45rem .8rem;border:1.5px solid var(--adct-line);border-radius:999px;background:var(--adct-bg);color:var(--adct-text);cursor:pointer}
.adct-ghost:hover{border-color:var(--adct-c1);color:var(--adct-c1)}
.adct-kb{display:grid;grid-template-columns:repeat(8,1fr);gap:6px;margin:.75rem 0 0;padding:10px;background:var(--adct-soft);border-radius:12px}
.adct-kb[hidden]{display:none}
.adct-key{font:600 .95rem/1 inherit;padding:.7rem 0;border:1px solid var(--adct-line);border-radius:9px;background:var(--adct-bg);color:var(--adct-text);cursor:pointer;font-family:inherit}
.adct-key:hover{border-color:var(--adct-c1);color:var(--adct-c1)}
@media (max-width:560px){.adct-kb{grid-template-columns:repeat(6,1fr)}.adct-row{flex-direction:column}.adct-go{padding:.85rem}.adct-sm{width:100%}.adct-opt{flex:1 1 40%}}
.adct-ex{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:1rem 0 0}
.adct-exl{font-size:.8rem;font-weight:700;color:var(--adct-muted);margin-right:4px}
.adct-chip{font:500 .85rem ui-monospace,Menlo,Consolas,monospace;padding:.35rem .7rem;border-radius:999px;border:1px solid var(--adct-line);background:var(--adct-soft);color:var(--adct-text);cursor:pointer}
.adct-chip:hover{background:var(--adct-c1);border-color:var(--adct-c1);color:#fff}
.adct-tabs{display:flex;gap:4px;padding:4px;background:var(--adct-soft);border-radius:12px;margin:0 0 1rem;width:fit-content;max-width:100%;overflow-x:auto}
.adct-tab{font:inherit;font-weight:700;font-size:.9rem;border:0;background:transparent;color:var(--adct-muted);padding:.5rem 1rem;border-radius:9px;cursor:pointer;white-space:nowrap}
.adct-tab.on{background:var(--adct-bg);color:var(--adct-c1);box-shadow:0 1px 3px rgba(16,24,40,.12)}
.adct-out:empty{display:none}
.adct-out{margin-top:1rem}
.adct-loading{padding:1.2rem;display:flex;gap:.6rem;align-items:center;color:var(--adct-muted);font-weight:600}
.adct-spin{width:18px;height:18px;border:3px solid var(--adct-line);border-top-color:var(--adct-c1);border-radius:50%;animation:adctspin .7s linear infinite}
@keyframes adctspin{to{transform:rotate(360deg)}}
.adct-res{border:1px solid var(--adct-line);border-radius:var(--adct-r);padding:clamp(16px,3vw,24px);background:linear-gradient(180deg,rgba(79,70,229,.06),transparent 60%),var(--adct-bg);margin-bottom:1rem}
.adct-reshead{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.adct-resl{font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--adct-c1)}
.adct-badges{display:flex;gap:6px;flex-wrap:wrap}
.adct-badge{font-size:.75rem;font-weight:700;padding:.2rem .6rem;border-radius:999px;background:var(--adct-soft);border:1px solid var(--adct-line)}
.adct-badge.ok{color:var(--adct-ok);background:rgba(5,150,105,.08);border-color:rgba(5,150,105,.3)}
.adct-badge.warn{color:var(--adct-warn);background:rgba(180,83,9,.08);border-color:rgba(180,83,9,.3)}
.adct-eq{font-size:1.25rem;overflow-x:auto;overflow-y:hidden;padding:.4rem 0}
.adct-eq .katex-display,.adct-steq .katex-display,.adct-sub .katex-display,.adct-check .katex-display{margin:.4em 0;text-align:left}
.adct-eq .katex-display>.katex,.adct-steq .katex-display>.katex,.adct-sub .katex-display>.katex,.adct-check .katex-display>.katex{text-align:left}
.adct-sub{overflow-x:auto;color:var(--adct-muted)}
.adct-check{margin-top:.5rem;padding:.6rem .9rem;border-radius:10px;background:rgba(5,150,105,.06);border:1px dashed rgba(5,150,105,.35);overflow-x:auto}
.adct-check>span{font-size:.8rem;font-weight:700;color:var(--adct-ok)}
.adct-note{font-size:.85rem;color:var(--adct-muted);margin:.5rem 0 0}
.adct-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:.8rem}
.adct-pane{border:1px solid var(--adct-line);border-radius:var(--adct-r);padding:clamp(14px,3vw,22px);background:var(--adct-bg)}
.adct-steps{list-style:none;margin:0;padding:0;counter-reset:st}
.adct-steps.d0>.adct-step{position:relative;padding:0 0 1.1rem 2.6rem;counter-increment:st}
.adct-steps.d0>.adct-step:before{content:counter(st);position:absolute;left:0;top:0;width:1.8rem;height:1.8rem;border-radius:50%;background:var(--adct-c1);color:#fff;font-weight:800;font-size:.85rem;display:flex;align-items:center;justify-content:center}
.adct-steps.d0>.adct-step:not(:last-child):after{content:'';position:absolute;left:.87rem;top:2rem;bottom:.2rem;width:2px;background:var(--adct-line)}
.adct-steps .adct-steps{margin:.6rem 0 0;padding:.6rem 0 0 .9rem;border-left:3px solid var(--adct-soft)}
.adct-steps .adct-steps>.adct-step{padding:.2rem 0 .6rem}
.adct-rule{font-weight:800;font-size:.95rem;margin-bottom:.15rem}
.adct-txt{color:var(--adct-muted);font-size:.95rem}
.adct-steq{overflow-x:auto;overflow-y:hidden;font-size:1.05rem}
.adct-more summary{cursor:pointer;font-weight:700;font-size:.85rem;color:var(--adct-c1);margin-top:.3rem}
.adct-graph canvas{display:block;width:100%;border-radius:12px;background:var(--adct-bg)}
.adct-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:.85rem;margin-top:.6rem;color:var(--adct-muted)}
.adct-legend i{display:inline-block;width:14px;height:4px;border-radius:2px;margin-right:6px;vertical-align:middle}
.adct-legend i.area{height:12px;background:var(--adct-area)}
.adct-tw{overflow-x:auto}
.adct-table{border-collapse:collapse;width:100%;max-width:520px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.9rem;margin-top:.5rem}
.adct-table th,.adct-table td{border:1px solid var(--adct-line);padding:.45rem .7rem;text-align:right}
.adct-table th{background:var(--adct-soft);text-align:center}
.adct-err{border:1px solid rgba(185,28,28,.25);background:rgba(185,28,28,.05);border-radius:var(--adct-r);padding:1rem 1.2rem}
.adct-err strong{color:var(--adct-err)}.adct-err p{margin:.4rem 0 0}
.adct-tip{font-size:.85rem;color:var(--adct-muted)}
.adct code{font-family:ui-monospace,Menlo,Consolas,monospace;background:var(--adct-soft);padding:.05rem .35rem;border-radius:5px;font-size:.9em}
/* related tools grid */
.adct-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin:1rem 0 2rem}
.adct-gcard{display:block;border:1px solid var(--adct-line,#e4e7ef);border-radius:14px;padding:16px 18px;text-decoration:none!important;color:inherit;background:#fff;transition:border-color .15s,transform .15s,box-shadow .15s}
.adct-gcard:hover{border-color:#4f46e5;transform:translateY(-2px);box-shadow:0 10px 24px -14px rgba(79,70,229,.5)}
.adct-gcard b{display:block;font-size:1rem;color:#111827;margin-bottom:4px}
.adct-gcard span{font-size:.88rem;color:#5b6475}
.adct-gicon{display:inline-flex;width:38px;height:38px;border-radius:10px;align-items:center;justify-content:center;background:rgba(79,70,229,.1);color:#4f46e5;font-weight:800;margin-bottom:10px;font-size:1.1rem}
.adct-byline{display:flex;align-items:center;gap:12px;margin:0 0 1.2rem;font-size:.9rem;color:#5b6475}
.adct-byline a{font-weight:700}
.adct-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#4f46e5,#06b6d4);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800}

.adct-sm.adct-wide{width:200px}
@media (max-width:560px){.adct-sm.adct-wide{width:100%}}
