/* ApsteQ free tools: shared calculator / library / checker UI.
   Self-contained on purpose: main.css is a compiled Tailwind subset with gaps,
   so every class the tool UI needs lives here. Tokens come from main.css. */
:root{--t-line:#e5e7eb;--t-soft:#f6f7fb;--t-ink:var(--color-graphite,#101418);--t-muted:var(--color-slate-text,#4b5259);--t-brand:var(--color-brand-500,#1c3ef2);--t-brand-soft:var(--color-brand-50,#eef1fe);--t-ok:#0f766e;--t-warn:#b45309;--t-bad:#b91c1c}
.aq-tool *{box-sizing:border-box}
.aq-tool-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}
@media (max-width:860px){.aq-tool-grid{grid-template-columns:minmax(0,1fr)}}
.aq-panel{background:#fff;border:1px solid var(--t-line);border-radius:16px;padding:22px}
.aq-panel h2{font-size:1.05rem;font-weight:700;color:var(--t-ink);margin:0 0 14px}
.aq-field{margin-bottom:16px}
.aq-field label{display:block;font-size:.9rem;font-weight:600;color:var(--t-ink);margin-bottom:6px}
.aq-field .aq-help{display:block;font-size:.78rem;color:var(--t-muted);margin-top:5px;line-height:1.4}
.aq-input-wrap{display:flex;align-items:center;border:1px solid var(--t-line);border-radius:10px;background:#fff;overflow:hidden}
.aq-input-wrap:focus-within{border-color:var(--t-brand);box-shadow:0 0 0 3px rgba(28,62,242,.12)}
.aq-input-wrap .aq-affix{padding:0 12px;font-size:.9rem;color:var(--t-muted);background:var(--t-soft);align-self:stretch;display:flex;align-items:center;border-right:1px solid var(--t-line)}
.aq-input-wrap .aq-affix.suffix{border-right:0;border-left:1px solid var(--t-line)}
.aq-input-wrap input,.aq-input-wrap select,.aq-input-wrap textarea{flex:1;min-width:0;border:0;outline:0;padding:11px 12px;font:inherit;font-size:1rem;color:var(--t-ink);background:transparent}
.aq-input-wrap textarea{min-height:88px;resize:vertical}
.aq-range{width:100%;accent-color:var(--t-brand);margin-top:6px}
.aq-range-val{font-variant-numeric:tabular-nums;font-weight:600;color:var(--t-brand)}
.aq-choices{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.aq-choices label{display:flex;align-items:center;gap:8px;border:1px solid var(--t-line);border-radius:10px;padding:9px 11px;font-size:.88rem;font-weight:500;cursor:pointer;background:#fff;margin:0}
.aq-choices label:has(input:checked){border-color:var(--t-brand);background:var(--t-brand-soft)}
.aq-choices input{accent-color:var(--t-brand);margin:0}
.aq-results{position:sticky;top:96px}
@media (max-width:860px){.aq-results{position:static}}
.aq-result-primary{background:linear-gradient(135deg,var(--color-brand-600,#1531cf),var(--color-brand-500,#1c3ef2));color:#fff;border-radius:14px;padding:20px 22px;margin-bottom:14px}
.aq-result-primary .aq-r-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;opacity:.85;margin-bottom:6px}
.aq-result-primary .aq-r-value{font-size:2rem;font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.aq-result-primary .aq-r-sub{font-size:.85rem;opacity:.9;margin-top:6px}
.aq-result-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:480px){.aq-result-list{grid-template-columns:1fr}}
.aq-result-item{background:var(--t-soft);border-radius:12px;padding:12px 14px}
.aq-result-item .aq-r-label{font-size:.76rem;color:var(--t-muted);margin-bottom:3px;line-height:1.3}
.aq-result-item .aq-r-value{font-size:1.15rem;font-weight:700;color:var(--t-ink);font-variant-numeric:tabular-nums;line-height:1.2}
.aq-result-item .aq-r-sub{font-size:.74rem;color:var(--t-muted);margin-top:3px}
.aq-verdict{margin-top:14px;padding:14px 16px;border-radius:12px;font-size:.92rem;line-height:1.5;border-left:4px solid var(--t-ok);background:#ecfdf5;color:#064e3b}
.aq-verdict.warn{border-color:var(--t-warn);background:#fff7ed;color:#7c2d12}
.aq-verdict.bad{border-color:var(--t-bad);background:#fef2f2;color:#7f1d1d}
.aq-verdict.info{border-color:var(--t-brand);background:var(--t-brand-soft);color:#0d1d7d}
.aq-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.aq-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--t-line);background:#fff;color:var(--t-ink);border-radius:10px;padding:9px 13px;font:inherit;font-size:.86rem;font-weight:600;cursor:pointer;text-decoration:none}
.aq-btn:hover{border-color:var(--t-brand);color:var(--t-brand)}
.aq-btn.primary{background:var(--t-brand);border-color:var(--t-brand);color:#fff}
.aq-btn.primary:hover{background:var(--color-brand-600,#1531cf);color:#fff}
.aq-btn[disabled]{opacity:.6;cursor:default}
.aq-email{margin-top:16px;padding:16px;border:1px dashed var(--t-line);border-radius:12px;background:#fff}
.aq-email p{font-size:.86rem;color:var(--t-muted);margin:0 0 10px;line-height:1.45}
.aq-email form{display:flex;gap:8px;flex-wrap:wrap}
.aq-email input[type=email]{flex:1;min-width:180px;border:1px solid var(--t-line);border-radius:10px;padding:10px 12px;font:inherit}
.aq-email .aq-msg{font-size:.84rem;margin-top:8px;color:var(--t-ok)}
.aq-email .aq-msg.err{color:var(--t-bad)}
/* email gate for report tools */
.aq-gated .aq-gate-target{filter:blur(6px);pointer-events:none;user-select:none}
.aq-gate{display:none}
.aq-gated .aq-gate{display:block;position:absolute;inset:0;background:rgba(255,255,255,.72);border-radius:14px;padding:20px;display:flex;align-items:center;justify-content:center}
.aq-gate .aq-email{background:#fff;box-shadow:0 10px 30px rgba(16,20,24,.12);border-style:solid;max-width:420px;width:100%}
/* funnel CTA */
.aq-next{margin-top:18px;padding:18px 20px;border-radius:14px;background:var(--t-ink);color:#fff}
.aq-next h3{font-size:1rem;font-weight:700;margin:0 0 6px;color:#fff}
.aq-next p{font-size:.88rem;color:rgba(255,255,255,.78);margin:0 0 12px;line-height:1.45}
.aq-next .aq-btn{background:#fff;color:var(--t-ink);border-color:#fff}
/* written half */
.aq-prose{font-size:1rem;line-height:1.7;color:var(--t-muted)}
.aq-prose h2{font-size:1.45rem;font-weight:800;color:var(--t-ink);margin:44px 0 14px;letter-spacing:-.01em}
.aq-prose h3{font-size:1.1rem;font-weight:700;color:var(--t-ink);margin:26px 0 8px}
.aq-prose p{margin:0 0 14px}
.aq-prose ul,.aq-prose ol{margin:0 0 14px;padding-left:22px}
.aq-prose li{margin:4px 0}
.aq-prose table{width:100%;border-collapse:collapse;font-size:.92rem;margin:8px 0 18px}
.aq-prose th,.aq-prose td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--t-line);vertical-align:top}
.aq-prose th{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--t-muted);font-weight:600}
.aq-prose .aq-formula{font-family:'Geist Mono',ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92rem;background:var(--t-soft);border:1px solid var(--t-line);border-radius:10px;padding:12px 14px;margin:0 0 14px;overflow-x:auto;white-space:pre-wrap;color:var(--t-ink)}
.aq-prose a{color:var(--t-brand)}
.aq-faq details{border:1px solid var(--t-line);border-radius:12px;padding:0 16px;margin-bottom:8px;background:#fff}
.aq-faq summary{cursor:pointer;font-weight:600;color:var(--t-ink);padding:13px 0;list-style:none;display:flex;justify-content:space-between;gap:12px}
.aq-faq summary::after{content:"+";color:var(--t-muted);font-weight:400}
.aq-faq details[open] summary::after{content:"\2013"}
.aq-faq details p{padding:0 0 14px;margin:0}
.aq-related{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin-top:10px}
.aq-related a{display:block;border:1px solid var(--t-line);border-radius:12px;padding:12px 14px;text-decoration:none;color:var(--t-ink);font-size:.9rem;font-weight:600;background:#fff}
.aq-related a:hover{border-color:var(--t-brand);color:var(--t-brand)}
.aq-related a span{display:block;font-size:.76rem;color:var(--t-muted);font-weight:400;margin-top:3px}
/* library (templates) */
.aq-lib-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.aq-lib-filters button{border:1px solid var(--t-line);background:#fff;border-radius:999px;padding:6px 12px;font:inherit;font-size:.82rem;font-weight:600;cursor:pointer;color:var(--t-muted)}
.aq-lib-filters button.on{background:var(--t-ink);color:#fff;border-color:var(--t-ink)}
.aq-lib-item{border:1px solid var(--t-line);border-radius:14px;background:#fff;padding:18px 20px;margin-bottom:12px}
.aq-lib-item h3{font-size:1rem;font-weight:700;color:var(--t-ink);margin:0 0 4px}
.aq-lib-item .aq-lib-meta{font-size:.76rem;color:var(--t-muted);margin-bottom:10px}
.aq-lib-item pre{white-space:pre-wrap;font:inherit;font-size:.92rem;line-height:1.55;color:var(--t-ink);background:var(--t-soft);border-radius:10px;padding:14px;margin:0 0 10px}
.aq-lib-item .aq-lib-subject{font-size:.9rem;margin:0 0 8px;color:var(--t-ink)}
.aq-lib-item[hidden]{display:none}
/* embed mode */
html.aq-embed nav,html.aq-embed footer,html.aq-embed #mobile-nav,html.aq-embed .aq-embed-hide,html.aq-embed #aq-whatsapp-float,html.aq-embed .aq-chat-launcher{display:none!important}
html.aq-embed .aq-tool-section{padding-top:16px!important}
html.aq-embed .aq-results{position:static}
.aq-embed-credit{display:none;font-size:.78rem;color:var(--t-muted);margin-top:12px}
html.aq-embed .aq-embed-credit{display:block}
.aq-embed-box{display:none;margin-top:10px}
.aq-embed-box.open{display:block}
.aq-embed-box textarea{width:100%;font-family:'Geist Mono',ui-monospace,monospace;font-size:.78rem;border:1px solid var(--t-line);border-radius:10px;padding:10px;min-height:76px}
/* hub */
.aq-hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.aq-hub-card{display:block;border:1px solid var(--t-line);border-radius:14px;padding:18px 20px;background:#fff;text-decoration:none;color:var(--t-ink);transition:border-color .15s,transform .15s}
.aq-hub-card:hover{border-color:var(--t-brand);transform:translateY(-1px)}
.aq-hub-card .aq-hub-kind{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--t-brand);font-weight:700;margin-bottom:6px}
.aq-hub-card h3{font-size:1.02rem;font-weight:700;margin:0 0 6px;color:var(--t-ink)}
.aq-hub-card p{font-size:.86rem;color:var(--t-muted);margin:0;line-height:1.45}
.aq-hub-card.soon{opacity:.6;pointer-events:none}

/* report (LLM) output */
.aq-report{font-size:.95rem;line-height:1.55;color:var(--t-ink)}
.aq-report p{margin:0 0 10px}
.aq-report h3{font-size:1rem;font-weight:700;margin:18px 0 6px;color:var(--t-ink);display:flex;justify-content:space-between;gap:10px}
.aq-report h3 em{font-style:normal;font-weight:600;color:var(--t-muted);font-size:.85rem}
.aq-report ul{margin:0 0 8px;padding-left:20px}
.aq-report li{margin:3px 0}
.aq-report-label{font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;color:var(--t-muted);margin:8px 0 2px!important;font-weight:600}
.aq-report-head{display:flex;gap:14px;align-items:center;margin-bottom:12px}
.aq-report-score{font-size:2.4rem;font-weight:800;line-height:1;color:#fff;background:var(--t-brand);border-radius:14px;min-width:78px;padding:14px 10px;text-align:center;font-variant-numeric:tabular-nums}
.aq-report-title{font-weight:700;font-size:1.05rem;line-height:1.25}
.aq-report-sub{font-size:.82rem;color:var(--t-muted);margin-top:3px}
.aq-report-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0 14px}
.aq-report-facts div{background:var(--t-soft);border-radius:10px;padding:8px 10px}
.aq-report-facts b{display:block;font-size:.98rem}
.aq-report-facts span{font-size:.72rem;color:var(--t-muted)}
.aq-bar{height:7px;background:var(--t-soft);border-radius:999px;overflow:hidden;margin:0 0 8px}
.aq-bar span{display:block;height:100%;background:var(--t-ok)}
.aq-bar.warn span{background:var(--t-warn)}.aq-bar.bad span{background:var(--t-bad)}
.aq-report-wait{color:var(--t-muted);font-size:.9rem}
.aq-report-err{color:var(--t-bad);font-size:.9rem}
.aq-names{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:520px){.aq-names{grid-template-columns:1fr}}
.aq-name{border:1px solid var(--t-line);border-radius:12px;padding:12px 14px}
.aq-name b{font-size:1.1rem;display:block}
.aq-name-style{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--t-brand);font-weight:700}
.aq-name-tag{font-size:.88rem;margin-top:4px}
.aq-name-why{font-size:.78rem;color:var(--t-muted);margin-top:3px}
