/* AN Prefix Engine components. Uses theme tokens with fallbacks so it works in any theme. */
:root{--an-ink:#12203A;--an-ink2:#4A5568;--an-line:#E3E7EE;--an-surface:#F4F6FA;--an-bg:#fff;--an-radius:14px;--an-max:72rem}
.an-badge{display:inline-flex;align-items:center;gap:.4em;padding:.25em .7em;border-radius:999px;background:var(--c,#6B7280);color:#fff;font-weight:700;font-size:.85rem;letter-spacing:.01em;white-space:nowrap}
.an-badge--big{font-size:1.05rem;padding:.4em 1em}
.an-num{font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:.02em}
.an-crumbs{font-size:.9rem;color:var(--an-ink2);margin:0 0 .5rem}
.an-crumbs a{color:inherit}

/* hero */
.an-hero{position:relative;padding:2rem 0 1.5rem;border-bottom:1px solid var(--an-line)}
.an-hero::before{content:"";position:absolute;left:0;top:0;width:100%;height:6px;background:var(--c,var(--an-ink));border-radius:0 0 4px 4px}
.an-hero--plain::before{background:var(--an-ink)}
.an-hero__digits{font-size:clamp(4.5rem,18vw,9rem);line-height:.95;font-weight:800;letter-spacing:-.05em;color:var(--c,var(--an-ink));font-variant-numeric:tabular-nums;margin:.5rem 0 .25rem}
.an-hero__h1,.an-hero h1{font-size:clamp(1.5rem,4.5vw,2.25rem);line-height:1.15;margin:0 0 .75rem;letter-spacing:-.01em}
.an-hero__answer{display:inline-block;background:var(--c,var(--an-ink));color:#fff;padding:.05em .45em;border-radius:.35em}
.an-hero__lead{font-size:1.1rem;line-height:1.55;max-width:60ch;margin:0 0 .5rem;color:var(--an-ink)}
.an-hero__tl{font-size:1rem;color:var(--an-ink2);margin:.25rem 0 0}
.an-notice{margin:1rem 0 0;padding:.6rem .9rem;background:#FFF7E6;border:1px solid #F5D08A;border-radius:10px;font-size:.92rem;color:#7A4B00;max-width:60ch}

/* facts */
.an-facts{width:100%;border-collapse:collapse;margin:1.25rem 0 2rem;font-size:.98rem}
.an-facts th{text-align:left;width:34%;color:var(--an-ink2);font-weight:600;padding:.6rem 0;border-bottom:1px solid var(--an-line);vertical-align:top}
.an-facts td{padding:.6rem 0 .6rem 1rem;border-bottom:1px solid var(--an-line)}

/* yes/no */
.an-yesno{list-style:none;padding:0;margin:.75rem 0 1.5rem;display:grid;gap:.5rem}
.an-yesno li{display:flex;align-items:center;gap:.6rem;padding:.65rem .9rem;border-radius:10px;background:var(--an-surface);font-weight:600}
.an-yesno li span{display:inline-grid;place-items:center;width:1.6rem;height:1.6rem;border-radius:50%;font-size:.9rem;color:#fff;background:#9AA3B2}
.an-yesno li.is-yes{background:#E6F6EC;color:#0F5A2E}
.an-yesno li.is-yes span{background:#12A150}
.an-yesno li.is-no{color:var(--an-ink2)}

/* reconciliation */
.an-reconcile{margin:1.5rem 0;padding:1.1rem 1.25rem;border-left:4px solid var(--an-ink);background:var(--an-surface);border-radius:0 12px 12px 0}
.an-reconcile h2{margin-top:0;font-size:1.25rem}
.an-reconcile__foot{font-size:.92rem;color:var(--an-ink2);margin-bottom:0}

/* chips */
.an-chips{list-style:none;padding:0;margin:.5rem 0 1rem;display:flex;flex-wrap:wrap;gap:.5rem}
.an-chips li a,.an-chips li span{display:inline-block;padding:.4em .8em;border-radius:10px;border:1px solid var(--an-line);background:var(--an-bg);text-decoration:none;color:var(--an-ink);font-weight:700;font-variant-numeric:tabular-nums;border-bottom:3px solid var(--c,var(--an-line))}
.an-chips li a:hover,.an-chips li a:focus-visible{background:var(--an-surface)}
.an-chips li span{color:var(--an-ink2);font-weight:500}
.an-chips--big li a{font-size:1.15rem;padding:.55em 1em}
.an-chips--big small{color:var(--an-ink2);font-weight:500;margin-left:.3em}
.an-related{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr))}
.an-related h3{font-size:1rem;margin:0 0 .25rem}

/* faq */
.an-faq details{border-bottom:1px solid var(--an-line);padding:.35rem 0}
.an-faq summary{cursor:pointer;font-weight:600;padding:.6rem 0;list-style:none;position:relative;padding-right:2rem}
.an-faq summary::-webkit-details-marker{display:none}
.an-faq summary::after{content:"+";position:absolute;right:.25rem;top:.5rem;font-size:1.3rem;color:var(--an-ink2)}
.an-faq details[open] summary::after{content:"\2212"}
.an-faq p{margin:0 0 .8rem;color:var(--an-ink2)}
.an-meta{font-size:.85rem;color:var(--an-ink2);border-top:1px solid var(--an-line);padding-top:1rem;margin-top:2rem}

/* lookup */
.an-lookup{margin:1.25rem 0}
.an-lookup__label{display:block;font-weight:600;margin-bottom:.5rem}
.an-lookup__row{display:flex;gap:.5rem;flex-wrap:wrap}
.an-lookup input[type=tel],.an-conv input,.an-landline input,.an-bulk textarea,.an-dir__tools input{flex:1 1 14rem;font-size:1.25rem;padding:.8rem 1rem;border:2px solid var(--an-ink);border-radius:12px;background:#fff;color:var(--an-ink);font-variant-numeric:tabular-nums;min-width:0}
.an-lookup input:focus,.an-conv input:focus,.an-landline input:focus,.an-bulk textarea:focus,.an-dir__tools input:focus{outline:3px solid #BFD3FF;outline-offset:2px}
.an-lookup button,.an-btn,.an-bulk__row button{font:inherit;font-weight:700;font-size:1.05rem;padding:.8rem 1.3rem;border-radius:12px;border:2px solid var(--an-ink);background:var(--an-ink);color:#fff;cursor:pointer;text-decoration:none;display:inline-block}
.an-btn--ghost{background:transparent!important;color:var(--an-ink)!important}
.an-lookup__hint{font-size:.85rem;color:var(--an-ink2);margin:.5rem 0 0}
.an-lookup--compact input[type=tel]{font-size:1.05rem;padding:.6rem .9rem}
.an-lookup--compact button{font-size:.95rem;padding:.6rem 1rem}
.an-result{margin-top:1rem}
.an-result__card{border:1px solid var(--an-line);border-top:6px solid var(--c,var(--an-ink));border-radius:var(--an-radius);padding:1.1rem 1.25rem;background:#fff;box-shadow:0 8px 24px -18px rgba(18,32,58,.5)}
.an-result__card--miss{border-top-color:#9AA3B2;background:var(--an-surface)}
.an-result__num{font-size:clamp(1.8rem,7vw,2.6rem);font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--an-ink);line-height:1.1}
.an-result__net{margin:.5rem 0}
.an-result__line{margin:.25rem 0;font-size:1.05rem}
.an-result__line [lang=tl]{color:var(--an-ink2)}
.an-result__mnp{font-size:.85rem;color:var(--an-ink2);margin:.25rem 0 .75rem}
.an-result__links{display:flex;gap:.5rem;flex-wrap:wrap;margin:0}
.an-inline-tool{margin:1.5rem 0;padding:1rem 1.25rem;background:var(--an-surface);border-radius:var(--an-radius)}
.an-inline-tool h2{margin-top:0;font-size:1.2rem}

/* directory */
.an-dir__tools{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center;margin:0 0 1rem}
.an-dir__tools input{font-size:1rem;padding:.6rem .9rem;border-width:1px;border-color:var(--an-line)}
.an-dir__chips{display:flex;gap:.4rem;flex-wrap:wrap}
.an-dir__chips button{font:inherit;font-weight:600;padding:.45em .9em;border-radius:999px;border:1px solid var(--an-line);background:#fff;color:var(--an-ink);cursor:pointer;border-bottom:3px solid var(--c,var(--an-line))}
.an-dir__chips button.is-on{background:var(--an-ink);color:#fff;border-color:var(--an-ink)}
.an-table{width:100%;border-collapse:collapse;font-size:.95rem}
.an-table th{text-align:left;padding:.6rem .5rem;border-bottom:2px solid var(--an-ink);font-size:.85rem;color:var(--an-ink2)}
.an-table td{padding:.6rem .5rem;border-bottom:1px solid var(--an-line);vertical-align:middle}
.an-table td .an-num{font-size:1.1rem;text-decoration:none;color:var(--an-ink)}
.an-table tr:hover td{background:var(--an-surface)}
.an-ok{color:#0F5A2E;font-weight:600}.an-pending{color:#7A4B00;font-weight:600}
.an-dir__foot{font-size:.85rem;color:var(--an-ink2);margin-top:.75rem}
@media (max-width:600px){.an-table th:nth-child(4),.an-table td:nth-child(4),.an-table th:nth-child(5),.an-table td:nth-child(5){display:none}}

/* home grids */
.an-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr))}
.an-grid--2{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1rem}
.an-card{display:flex;flex-direction:column;gap:.35rem;padding:1rem;border-radius:var(--an-radius);border:1px solid var(--an-line);border-bottom:4px solid var(--c,var(--an-ink));text-decoration:none;color:var(--an-ink);background:#fff}
.an-card:hover,.an-card:focus-visible{background:var(--an-surface)}
.an-card__num{font-size:1.7rem;font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--c,var(--an-ink))}
.an-card__net{font-size:.9rem;color:var(--an-ink2);font-weight:600}
.an-carrier{display:block;padding:1.1rem 1.25rem;border-radius:var(--an-radius);border:1px solid var(--an-line);border-left:6px solid var(--c);text-decoration:none;color:var(--an-ink);background:#fff}
.an-carrier strong{display:block;font-size:1.15rem}
.an-carrier span{color:var(--c);font-weight:700;font-size:.9rem}
.an-carrier p{margin:.5rem 0 0;color:var(--an-ink2);font-size:.95rem;line-height:1.5}
.an-carrier:hover{background:var(--an-surface)}
.an-stats{list-style:none;padding:0;margin:1rem 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.75rem}
.an-stats li{padding:.9rem 1rem;background:var(--an-surface);border-radius:12px}
.an-stats strong{display:block;font-size:1.6rem;letter-spacing:-.02em}
.an-stats span{color:var(--an-ink2);font-size:.85rem}

/* bulk / converter / landline */
.an-bulk label,.an-conv label,.an-landline label{display:block;font-weight:600;margin:.5rem 0}
.an-bulk textarea{width:100%;font-size:1.05rem;font-family:inherit}
.an-bulk__row{display:flex;gap:.5rem;flex-wrap:wrap;margin:.75rem 0}
.an-bulk__summary{display:flex;gap:1rem;flex-wrap:wrap;margin:.5rem 0 1rem;font-size:.95rem}
.an-bulk__summary span{padding:.4em .8em;background:var(--an-surface);border-radius:999px}
.an-conv__out{display:grid;grid-template-columns:max-content 1fr;gap:.5rem 1.25rem;margin:1rem 0;padding:1rem 1.25rem;background:var(--an-surface);border-radius:var(--an-radius);font-size:1.05rem}
.an-conv__out dt{color:var(--an-ink2)}.an-conv__out dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums}
.an-changelog{list-style:none;padding:0}
.an-changelog li{padding:.6rem 0;border-bottom:1px solid var(--an-line)}
.an-changelog time{display:inline-block;min-width:7rem;color:var(--an-ink2);font-variant-numeric:tabular-nums}
@media (prefers-reduced-motion:no-preference){.an-result__card{animation:an-in .22s ease-out}}
@keyframes an-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
