/* LWVlife App Index - category version (GitHub #129, Karl 2026-10-28): text only, compact, A-H sections open, 3 columns */
.ai-wrap{padding:8px 10px 18px;max-width:900px;margin:0 auto}
.ai-top{background:#fff;border:1px solid #d9e1ec;border-radius:12px;padding:8px;margin:0 0 10px}
.ai-row1{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 6px}
.ai-home{min-height:44px;padding:0 14px;border-radius:10px;border:2px solid #1a3f8f;background:#1a3f8f;color:#fff;font:inherit;font-weight:800;cursor:pointer}
.ai-langs{display:contents}
#s-index .ai-lang{display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:0;margin:0;min-height:44px;padding:0 9px;border-radius:10px;border:1px solid #b9c6da;background:#f4f7fb;color:#1a3f8f;font:inherit;font-size:.88rem;font-weight:700;cursor:pointer;box-shadow:none}
#s-index .ai-lang.on{background:#1a3f8f;border-color:#1a3f8f;color:#fff}
.ai-ask{display:flex;gap:6px;margin:0}
.ai-ask input{flex:1;min-width:0;min-height:46px;font-size:1rem;padding:6px 10px;border:2px solid #8a96a8;border-radius:10px}
.ai-ask input:focus{outline:3px solid #f2a900;outline-offset:1px}
html.bigfs .ai-ask,.ai-ask{flex-wrap:wrap}html.bigfs .ai-ask input{flex:1 1 100%}
@media (max-width:340px){.ai-ask input{flex:1 1 100%}}
.ai-find,.ai-aimee{min-height:46px;border-radius:10px;font:inherit;font-weight:800;font-size:.95rem;padding:0 10px;border:0;cursor:pointer;white-space:nowrap}
.ai-find{background:#1a3f8f;color:#fff}
.ai-aimee{background:#7b2cbf;color:#fff}
.ai-best,.ai-none{margin:8px 0 4px;font-weight:800}
.ai-none{color:#7a2e00}
.ai-jump{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 8px;margin:8px 0 0;padding:6px 0 0;border-top:1px solid #e3e9f2}
.ai-jump a{display:flex;align-items:center;min-height:48px;color:#1a3f8f;font-weight:700;font-size:.8rem;line-height:1.15;text-decoration:underline;text-underline-offset:3px;word-break:keep-all}
@media (min-width:700px){.ai-jump{grid-template-columns:repeat(4,minmax(0,1fr))}}
html.bigfs .ai-jump{grid-template-columns:1fr}
.ai-sec{margin:0 0 10px;scroll-margin-top:72px}
.ai-sec h2{margin:0 0 4px;padding:4px 2px;font-size:1.08rem;font-weight:900;color:#14254a;border-bottom:2px solid #1a3f8f;word-break:keep-all}
.ai-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
.ai-l{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:48px;padding:3px 6px;text-align:left;background:#fff;border:1px solid #d9e1ec;border-radius:8px;color:#14254a;font:inherit;font-size:.86rem;line-height:1.2;cursor:pointer;word-break:keep-all;overflow-wrap:anywhere;hyphens:manual;min-width:0}
.ai-c{font-size:.68rem;font-weight:800;color:#4a5a78;line-height:1.1}
.ai-l:focus-visible,.ai-home:focus-visible,.ai-lang:focus-visible,.ai-find:focus-visible,.ai-aimee:focus-visible,.ai-jump a:focus-visible{outline:4px solid #FFD54F;outline-offset:2px}
.bubble.ai-idx .ai-grid{margin-top:6px}.bubble.ai-idx small{display:block;margin-top:6px}
@media (min-width:700px){.ai-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:330px){.ai-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
html.bigfs .ai-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:330px){html.bigfs .ai-grid{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.ai-sec{scroll-behavior:auto}}
/* bottom bar: 6 buttons (Index first, Karl 2026-10-28) */
.bnav button[data-go="index"] .ic{font-size:1.5rem}
@media (max-width:380px){.bnav button{font-size:.8rem}.bnav button .ic{font-size:1.4rem}}
html:not(.bigfs) .bnav button span:not(.ic){white-space:nowrap;overflow-wrap:normal;letter-spacing:-.02em}
/* #37 ISS-0015 (U48): at big text sizes a bar label wraps only between words, never inside a word (Event/s, Aime/e, 생활정/보) */
html.bigfs .bnav button span:not(.ic){word-break:keep-all!important;overflow-wrap:normal!important;font-size:min(.78rem,3.3vw)!important;line-height:1.1}
.ai-l .ai-n{max-width:100%;min-width:0}
