.ag-index{--agi-accent:#236b65;--agi-ink:#142c35;--agi-muted:#51636a;max-width:1180px;margin:0 auto;padding:clamp(24px,5vw,64px) 20px 64px;color:var(--agi-ink);font-family:inherit;box-sizing:border-box}
.ag-index *{box-sizing:border-box}.ag-index [hidden]{display:none!important}
.ag-index .agi-header{max-width:760px;margin-bottom:30px;background:none;padding:0}
.ag-index .agi-eyebrow{font-size:11px;font-weight:700;letter-spacing:.16em;color:var(--agi-accent)}
.ag-index h1{font-family:inherit;font-size:clamp(30px,5vw,48px);font-weight:600;line-height:1.15;color:var(--agi-ink);margin:12px 0 16px;letter-spacing:-.025em}
.ag-index .agi-header p{font-size:17px;line-height:1.7;color:var(--agi-muted);margin:0}
.ag-index .agi-tools{padding:24px;background:#f4f7f6;border:1px solid #dfe8e4;border-radius:18px;margin-bottom:34px}
.ag-index .agi-search label{display:block;font-size:13px;font-weight:600;margin-bottom:8px}
.ag-index .agi-search-row{display:flex;gap:10px;align-items:stretch}
.ag-index input[type=search]{display:block;flex:1;min-width:0;width:100%;height:48px;margin:0;padding:0 16px;border:1px solid #c6d6ce;border-radius:10px;background:#fff;color:var(--agi-ink);font:inherit;box-shadow:none}
.ag-index .agi-clear{font-family:inherit;font-size:13px;font-weight:600;line-height:1.3;cursor:pointer;border:1px solid #c6d6ce;border-radius:10px;background:#fff;color:var(--agi-ink);padding:0 18px}
.ag-index .agi-alphabet{display:flex;flex-wrap:wrap;gap:6px;margin:18px 0 0;padding:0;background:none}
.ag-index .agi-alphabet a,.ag-index .agi-alphabet span{display:inline-flex;justify-content:center;align-items:center;min-width:34px;height:36px;padding:0 8px;border:1px solid transparent;border-radius:7px;font-size:13px;line-height:1;text-decoration:none;color:var(--agi-ink)}
.ag-index .agi-alphabet a{background:#fff;border-color:#dde6e1;transition:background .15s,color .15s}
.ag-index .agi-alphabet a:hover,.ag-index .agi-alphabet a[aria-current]{background:var(--agi-accent);border-color:var(--agi-accent);color:#fff}
.ag-index .agi-alphabet span{color:#7b8883;opacity:.65}
.ag-index .agi-status{font-size:12px;color:var(--agi-muted);margin:16px 0 0;line-height:1.5}
.ag-index .agi-group{margin:0 0 34px;scroll-margin-top:100px}
.ag-index .agi-letter{display:flex;gap:12px;align-items:center;margin:0 0 16px;padding:0 0 12px;border-bottom:1px solid #dfe8e4;font-size:28px;line-height:1.3;font-weight:600;color:var(--agi-accent);scroll-margin-top:100px}
.ag-index .agi-letter span{font-size:11px;line-height:1;padding:5px 7px;border-radius:20px;background:#edf3ef;color:var(--agi-muted)}
.ag-index .agi-grid{display:grid;grid-template-columns:repeat(var(--agi-columns,2),minmax(0,1fr));gap:18px;align-items:stretch}
.ag-index .agi-card{padding:24px;border:1px solid #dfe8e4;border-radius:16px;background:#fff;box-shadow:0 5px 20px rgb(20 44 53 / .035);scroll-margin-top:100px;overflow-wrap:anywhere}
.ag-index .agi-card:target{border-color:var(--agi-accent);outline:2px solid var(--agi-accent);outline-offset:3px}
.ag-index .agi-card-top{display:flex;gap:18px;align-items:start;justify-content:space-between;margin-bottom:14px}
.ag-index .agi-card h3{margin:0;font-family:inherit;font-size:22px;font-weight:600;line-height:1.3;color:var(--agi-ink)}
.ag-index .agi-card h3 a{color:inherit;text-decoration:none}.ag-index .agi-card h3 a:hover{color:var(--agi-accent)}
.ag-index .agi-card-top img{width:88px!important;height:88px!important;min-width:88px;max-width:88px;flex:0 0 88px;aspect-ratio:1;object-fit:cover;object-position:center;border-radius:8px!important;background:#f7f9f8}
.ag-index .agi-definition{font-size:15px;line-height:1.8;color:#3d515a}.ag-index .agi-definition p{margin:0;white-space:pre-line}
.ag-index .agi-definition details{margin-top:14px}.ag-index .agi-definition summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--agi-accent);padding:4px 0;width:fit-content}
.ag-index .agi-full-text{white-space:pre-line;margin-top:12px;padding-top:12px;border-top:1px solid #edf1ee}
.ag-index .agi-credit{font-size:11px;line-height:1.7;color:var(--agi-muted);border-top:1px solid #edf1ee;margin-top:18px;padding-top:12px}.ag-index .agi-credit a{color:var(--agi-accent)}
.ag-index .agi-empty{padding:36px;text-align:center;border:1px dashed #b8cbc2;border-radius:16px;background:#f7f9f8}.ag-index .agi-empty p{margin:10px 0 0;color:var(--agi-muted)}
.ag-index :focus-visible{outline:2px solid var(--agi-accent);outline-offset:3px}
@media(max-width:800px){.ag-index .agi-grid{grid-template-columns:1fr}.ag-index .agi-tools{padding:18px}.ag-index .agi-card{padding:20px}}
@media(max-width:420px){.ag-index{padding-left:12px;padding-right:12px}.ag-index .agi-search-row{flex-wrap:wrap}.ag-index .agi-clear{min-height:38px}}
@media(prefers-reduced-motion:reduce){.ag-index *{scroll-behavior:auto!important;transition:none!important}}

.ag-index .agi-definition:has(details[open])>p{display:none}

.ag-index .agi-card:only-child{grid-column:1/-1}

/* Keep the excerpt and expanded definition identical despite template details/p rules. */
.ag-index .agi-definition details{font-family:inherit!important;font-size:inherit!important;line-height:inherit!important;color:inherit!important}
.ag-index .agi-definition>p,.ag-index .agi-definition .agi-full-text{font-family:inherit!important;font-size:15px!important;line-height:1.8!important;font-weight:400!important;font-style:normal!important;letter-spacing:normal!important;text-transform:none!important;color:#3d515a!important;white-space:pre-line}
.ag-index .agi-definition .agi-full-text{margin:12px 0 0;padding-top:12px}
.ag-index .agi-term-image{display:block;max-width:min(100%,360px);max-height:240px;width:auto;height:auto;object-fit:contain;margin:0 0 20px;border-radius:8px}

/* Menu typography, shared by the alphabetical index and the definition page. */
.ag-index .agi-header{max-width:none;text-align:var(--agi-h-align,left)}
.ag-index .agi-header h1{font-family:var(--agi-h-font,inherit)!important;font-size:var(--agi-h-size,clamp(1.875rem,4vw,3rem))!important;text-align:var(--agi-h-align,left)!important;line-height:1.14;overflow-wrap:anywhere;text-wrap:balance}
.ag-index .agi-header>p{display:inline-block;max-width:760px;width:100%;text-align:inherit}
.ag-index.agi-entry{max-width:1000px}
.agi-entry .agi-entry-nav{margin:0 0 18px;padding:0;background:none}
.agi-entry .agi-entry-nav a{display:inline-flex;align-items:center;gap:.55em;font-family:inherit;font-size:.87rem;font-weight:600;line-height:1.5;color:var(--agi-accent);text-decoration:none;padding:4px 0}
.agi-entry .agi-entry-nav a:hover{text-decoration:underline;text-underline-offset:.2em}
.agi-entry .agi-entry-sheet{--entry-pad:clamp(20px,4.5vw,54px);background:#fff;border:1px solid #d9e5de;border-radius:18px;box-shadow:0 8px 32px rgb(30 66 54 / .06)}
.ag-index.agi-entry .agi-entry-head{position:relative;isolation:isolate;overflow:hidden;margin:0;padding:clamp(28px,5vw,54px) var(--entry-pad);border-radius:17px 17px 0 0;border-bottom:1px solid #dce8e1;background:#f1f7f3}
.agi-entry .agi-entry-head::after{content:"";position:absolute;z-index:-1;top:-95px;right:-94px;width:260px;height:260px;border-radius:50%;border:1px solid #d6e6dc;box-shadow:0 0 0 23px #f1f7f3,0 0 0 24px #dceae1;pointer-events:none}
.agi-entry .agi-entry-head h1{margin:10px 0 0}
.agi-entry .agi-entry-body{display:grid;align-items:start;gap:clamp(18px,3vw,34px);padding:var(--entry-pad);min-width:0}
.agi-entry .agi-entry-body.has-image{grid-template-columns:minmax(0,1fr) minmax(140px,28%)}
.agi-entry .agi-entry-body .agi-definition{min-width:0;max-width:70ch;overflow-wrap:anywhere}
.ag-index.agi-entry .agi-definition>p{font-size:1.0625rem!important;line-height:1.8!important}
.agi-entry .agi-entry-body figure{margin:0;padding:8px;border:1px solid #dfe9e3;border-radius:12px;background:#f8faf8}
.ag-index.agi-entry .agi-term-image{margin:0 auto;display:block;max-width:100%;max-height:220px;object-fit:contain;border-radius:6px}
.agi-entry .agi-entry-foot{padding:18px var(--entry-pad);border-top:1px solid #e0e9e3;border-radius:0 0 17px 17px;background:#f9fbfa}
.agi-entry .agi-entry-foot .agi-credit{border:0;padding:0;margin:0;font-size:.8rem;overflow-wrap:anywhere}
.agi-entry .agi-entry-foot .agi-credit+.agi-credit,.agi-entry .agi-entry-foot .agi-credit>div+div{margin-top:6px}
@media(max-width:660px){.agi-entry .agi-entry-body.has-image{grid-template-columns:minmax(0,1fr)}.agi-entry .agi-entry-body figure{justify-self:start;max-width:min(100%,280px)}}
