/* CADEELI field atlas: one editorial language for map, learning and assistant. */
body.site-page .global-assistant-trigger { display:inline-flex; align-items:center; gap:.45rem; min-height:36px; padding:.35rem .8rem; border:1px solid rgba(73,209,209,.48); border-radius:99px; background:rgba(73,209,209,.08); color:#e7f6f5; white-space:nowrap; font:600 .72rem system-ui,sans-serif; cursor:pointer; }
.global-assistant-trigger > span:first-child { display:grid; place-items:center; width:20px; height:20px; border-radius:50%; background:#49d1d1; color:#071f39; font-size:.92rem; }
body.site-page .global-assistant-trigger:hover { background:#49d1d1; color:#071f39; }
body.site-page .global-assistant-trigger { position:fixed; z-index:45; right:1rem; bottom:1rem; width:48px; height:48px; justify-content:center; padding:0; border:2px solid #fff; border-radius:50%; background:#073968; box-shadow:0 7px 24px rgba(2,18,32,.28); }
body.site-page .global-assistant-trigger > span:last-child { display:none; }
body.app-view-learn .global-assistant-trigger { display:none; }
@media (min-width:821px) and (max-width:1600px) {
  body.site-page .site-header { padding-inline:clamp(1rem,2vw,2rem); gap:.4rem; }
  body.site-page .brand small,body.site-page #stats-button { display:none; }
  body.site-page .app-navigation { gap:0; }
  body.site-page .app-nav-item { padding-inline:.38rem; font-size:.86rem; }
  body.site-page .connection-pill { width:36px; padding:0; grid-template-columns:1fr; justify-items:center; }
  body.site-page .connection-pill strong,body.site-page .connection-pill small { display:none; }
}

body.site-page .atlas-shell { grid-template-columns:minmax(360px,390px) minmax(0,1fr); background:#071f39; }
body.site-page .explorer-panel { padding:1.55rem 1.55rem 1rem; background:#f6f5ef; box-shadow:none; border-right:1px solid #bdccca; }
body.site-page .explorer-panel::before { width:76px; height:4px; margin-bottom:1rem; background:linear-gradient(90deg,#49d1d1 0 58%,#e69c82 58%); border-radius:0; }
body.site-page .explorer-panel h1 { max-width:340px; margin:.25rem 0 .7rem; font-size:clamp(2.6rem,3.5vw,3.5rem); line-height:.98; }
body.site-page .explorer-panel .intro { font:400 .95rem/1.5 Georgia,serif; }
.atlas-language-links { display:flex; flex-wrap:wrap; gap:.35rem .9rem; align-items:center; margin:.65rem 0 .4rem; }
.atlas-language-links button,.atlas-language-links a { padding:0; border:0; background:transparent; color:#075c76; font-size:.7rem; font-weight:750; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
body.site-page .atlas-pulse { margin:1.2rem 0; border-radius:0; box-shadow:none; }
body.site-page .atlas-pulse div { padding:.55rem .4rem; background:#f6f5ef; }
body.site-page .atlas-pulse strong { font-size:1.45rem; }
body.site-page .search-box { border-radius:5px; margin:.9rem 0; }
body.site-page .results-heading { margin-top:1.25rem; padding:.65rem .15rem .45rem; }
body.site-page .result-list { gap:0; }
body.site-page .result-card { border:0; border-bottom:1px solid #c6d5d2; border-left:0; border-radius:0; padding:.65rem .15rem; background:transparent; transition:background .18s ease,padding .18s ease; }
body.site-page .result-card:hover,body.site-page .result-card.active { padding-inline:.55rem; background:#e8f2f0; border-color:#8abdbb; }
body.site-page .result-card-photo { border-radius:2px; }
body.site-page .result-card-title { font-size:1.05rem; }
body.site-page .map-stage { background:#071f39; box-shadow:none; }
body.site-page .map-stage::after { box-shadow:none; }
body.site-page .map-tools,body.site-page .map-scope,body.site-page .map-legend,body.site-page .map-reset,body.site-page .explorer-toggle { border-radius:5px; backdrop-filter:none; box-shadow:0 8px 26px rgba(2,18,32,.21); }
body.site-page .map-tools { border:1px solid #a8c5c7; }
body.site-page .map-reset { bottom:190px; }
body.site-page .map-legend { bottom:190px; }

/* Documented evidence appears on the map itself. Marker coordinates remain real. */
body.site-page .maya-marker.overview:has(.marker-photo),body.site-page .map-cluster-marker:has(.marker-photo) { width:58px; height:58px; opacity:1; filter:drop-shadow(0 7px 12px rgba(1,20,29,.42)); animation:cadeeli-marker-arrive .4s both; }
body.site-page .maya-marker.overview .marker-photo,body.site-page .map-cluster-marker .cluster-symbol.marker-photo { inset:auto; left:2px; top:2px; width:52px; height:52px; border:3px solid #fff; border-radius:50%; overflow:hidden; background:#d7e4df; transform:none; box-shadow:0 0 0 2px #49d1d1; }
body.site-page .maya-marker.overview .marker-photo img,body.site-page .map-cluster-marker .marker-photo img { display:block; width:100%; height:100%; object-fit:cover; }
body.site-page .maya-marker.overview .marker-photo i,body.site-page .map-cluster-marker .marker-photo i { display:none; }
body.site-page .maya-marker.overview .marker-photo::after,body.site-page .map-cluster-marker .marker-photo::after { content:''; position:absolute; bottom:-2px; left:50%; width:10px; height:10px; border:2px solid #fff; border-radius:50%; background:#49d1d1; transform:translateX(-50%); }
body.site-page .map-cluster-marker:has(.marker-photo) > strong { z-index:2; top:0; right:-5px; min-width:25px; height:25px; border-color:#fff; background:#073968; font-size:.65rem; }
body.site-page .maya-marker.overview:has(.marker-photo):hover,body.site-page .map-cluster-marker:has(.marker-photo):hover { z-index:4; transform:translateY(-3px); }
@keyframes cadeeli-marker-arrive { from { opacity:0; scale:.86; } to { opacity:1; scale:1; } }

.map-discovery[hidden] { display:none; }
.map-discovery { position:absolute; z-index:12; inset:auto 0 0; height:172px; padding:1rem 1.35rem 1.1rem; background:rgba(5,24,43,.96); color:#fff; box-shadow:0 -12px 30px rgba(2,18,32,.2); }
.map-discovery-heading { display:flex; align-items:baseline; gap:.85rem; margin-bottom:.65rem; }
.map-discovery-heading span { color:#66d9d7; font-size:.64rem; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.map-discovery-heading strong { font:400 1.1rem Georgia,serif; }
.map-discovery-list { display:flex; gap:.7rem; height:107px; overflow-x:auto; overscroll-behavior-inline:contain; scrollbar-width:thin; scrollbar-color:#4a808b transparent; }
.map-discovery-list button { flex:0 0 188px; display:grid; grid-template-columns:75px minmax(0,1fr); align-items:stretch; gap:.45rem; min-width:0; height:88px; padding:0; border:1px solid #3b6674; border-radius:3px; background:#12384e; color:#fff; cursor:pointer; text-align:left; transition:transform .18s ease,border-color .18s ease; }
.map-discovery-list button:hover { transform:translateY(-3px); border-color:#49d1d1; }
.map-discovery-list img { width:75px; height:86px; object-fit:cover; }
.map-discovery-list button span { min-width:0; display:grid; align-content:center; gap:.35rem; padding-right:.4rem; }
.map-discovery-list small { overflow:hidden; color:#81cecf; font-size:.6rem; font-weight:700; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }
.map-discovery-list strong { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:3; font:400 .88rem/1.12 Georgia,serif; }
body.site-page:has(.detail-panel.open) .map-discovery { display:none; }

/* Vocabulary is an editorial index with real source links. */
.home-diversity .text-cta { margin-top:.55rem; }
.maya-vocabulary { padding-top:clamp(3.5rem,6vw,7rem); scroll-margin-top:calc(var(--site-header-h,80px) + 1rem); }
.maya-vocabulary .learn-intro h2 { margin:0; max-width:900px; color:#071f39; font:400 clamp(3.2rem,6vw,6.4rem)/1.05 Georgia,serif; letter-spacing:-.047em; text-wrap:balance; }
.maya-vocabulary .learn-intro h2 em { color:#073968; font-style:normal; }
.vocabulary-controls { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.7rem; margin:.55rem 0 0; }
.vocabulary-categories { display:flex; flex-wrap:wrap; gap:.45rem; }
.vocabulary-categories button { min-height:39px; padding:.42rem .82rem; border:1px solid #b5c8cb; border-radius:99px; background:transparent; color:#173c53; font:600 .75rem system-ui,sans-serif; }
.vocabulary-categories button.active,.vocabulary-categories button:hover { border-color:#0d8793; background:#49d1d1; color:#071f39; }
#vocabulary-count { color:#4c6875; font-size:.72rem; white-space:nowrap; }
.vocabulary-meta { display:flex; align-items:center; gap:.8rem; }
.vocabulary-meta a { color:#073968; font-size:.75rem; font-weight:700; white-space:nowrap; }
body.site-page .word-entry { grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start; padding:1rem .2rem; }
body.site-page .word-entry strong { font-size:1.55rem; }
.word-category { color:#0d7180; font-size:.68rem; font-weight:700; }
body.site-page .word-entry-footer { gap:.45rem .8rem; }
body.site-page .word-badge { border-radius:3px; }

/* Home: the 68 INALI names as a printed register; maaya t’aan marks where the archive begins. */
body.site-page .home-learn { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); align-items:start; gap:clamp(2rem,5vw,5.5rem); padding-block:clamp(4rem,7vw,7rem); }
.home-learn-copy { position:sticky; top:calc(var(--site-header-h,80px) + 2rem); }
.home-learn-actions { display:flex; flex-wrap:wrap; align-items:center; gap:1rem 1.6rem; }
.home-register { min-width:0; border-top:1px solid #0e4a61; }
.home-register-label { display:flex; justify-content:space-between; gap:1rem; margin:0; padding:.7rem 0 1.1rem; color:#0e4a61; font:700 .68rem system-ui,sans-serif; letter-spacing:.14em; text-transform:uppercase; }
.home-register-list { margin:0; padding:0; list-style:none; color:#0d2c50; font:400 clamp(1.05rem,1.55vw,1.45rem)/1.55 Georgia,serif; letter-spacing:-.01em; }
.home-register-list li { display:inline; }
.home-register-list li:not(:last-child)::after { content:'·'; margin:0 .42em; color:#7fa3a6; }
.home-register-list li.is-archived { padding:.05em .3em; background:#071f39; color:#fff; box-decoration-break:clone; -webkit-box-decoration-break:clone; box-shadow:inset 0 -3px #49d1d1; }
.home-register-key { display:flex; align-items:center; gap:.55rem; margin:1.4rem 0 0; padding-top:.8rem; border-top:1px solid #a9c2bb; color:#2f4d5d; font-size:.78rem; }
.home-register-key i { width:1.3rem; height:.8rem; background:#071f39; box-shadow:inset 0 -3px #49d1d1; }
.register-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }

/* Catalog: route, INALI ledger and alphabetical register. */
.catalog-route { margin:0 0 clamp(2rem,4vw,3.5rem); }
.catalog-route ol { display:flex; flex-wrap:wrap; gap:0; margin:0; padding:0; list-style:none; border-top:1px solid #b9c9c9; border-bottom:1px solid #b9c9c9; }
.catalog-route li { display:flex; align-items:center; min-height:46px; color:#071f39; font:700 .74rem system-ui,sans-serif; }
.catalog-route li + li::before { content:''; width:clamp(1rem,4vw,3.5rem); height:1px; margin-inline:.6rem; background:#8fb0b3; }
.catalog-route span { margin-right:.5rem; color:#13828a; font-size:.62rem; letter-spacing:.12em; }
.catalog-route li[aria-current] { box-shadow:inset 0 -3px #49d1d1; }
.catalog-route button { display:inline-flex; align-items:center; min-height:44px; padding:0; border:0; background:transparent; color:#073968; font:inherit; text-decoration:underline; text-decoration-color:#9cbcc0; text-underline-offset:4px; cursor:pointer; }
.catalog-route button:hover { text-decoration-color:currentColor; }
.language-intro { max-width:950px; }
.language-intro h1 { max-width:900px; }
.catalog-ledger { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); max-width:950px; margin:clamp(2rem,4vw,3.2rem) 0 0; border-top:1px solid #071f39; }
.catalog-ledger div { display:flex; flex-direction:column-reverse; justify-content:flex-end; gap:.4rem; padding:1rem 1.2rem 0 0; }
.catalog-ledger div + div { padding-left:1.2rem; border-left:1px solid #c3d1cf; }
.catalog-ledger dt { color:#4c6875; font-size:.74rem; line-height:1.35; }
.catalog-ledger dd { margin:0; color:#7a979b; font:400 clamp(2.6rem,5vw,4.6rem)/1 Georgia,serif; letter-spacing:-.05em; }
.catalog-ledger .is-current dd { color:#071f39; }
.catalog-ledger .is-current dt { color:#071f39; font-weight:700; }
.language-catalog { margin:clamp(3rem,5vw,5rem) 0 0; padding:0 0 2.5rem; border-bottom:1px solid #adbec0; }
.language-catalog-heading { display:flex; align-items:end; justify-content:space-between; gap:1.5rem; margin-bottom:1.3rem; }
.language-catalog-heading h2 { margin:.25rem 0 0; color:#071f39; font:400 clamp(2rem,3vw,3rem)/1 Georgia,serif; letter-spacing:-.045em; }
.language-catalog-heading .section-index { margin-bottom:.8rem; }
.language-catalog-heading > a { color:#073968; font-size:.78rem; font-weight:700; white-space:nowrap; text-underline-offset:3px; }
.catalog-toolbar { position:sticky; z-index:6; top:var(--site-header-h,80px); display:grid; grid-template-columns:minmax(220px,360px) minmax(0,1fr); grid-template-areas:'search letters' 'status status'; align-items:end; gap:.55rem 1.6rem; margin:0 calc(-1 * clamp(1.5rem,7vw,7rem)); padding:.9rem clamp(1.5rem,7vw,7rem) .7rem; border-top:4px solid #49d1d1; border-bottom:1px solid #b9c9c9; background:#f6f5ef; }
.language-search { grid-area:search; display:grid; gap:.4rem; color:#28506a; font-size:.72rem; font-weight:700; }
.language-search input { width:100%; height:48px; padding:0 .95rem; border:1px solid #8caab6; border-radius:3px; background:#fff; color:#071f39; font:1.05rem Georgia,serif; }
.language-search input:focus { border-color:#073968; }
.catalog-letters { grid-area:letters; display:flex; flex-wrap:wrap; gap:.15rem; }
.catalog-letters button { min-width:34px; height:40px; padding:0 .3rem; border:0; border-radius:2px; background:transparent; color:#073968; font:400 1.1rem Georgia,serif; cursor:pointer; }
.catalog-letters button:hover:not(:disabled) { background:#071f39; color:#fff; }
.catalog-letters button:disabled { color:#a5b6b8; cursor:default; }
.language-catalog-status { grid-area:status; margin:0; color:#4c6875; font-size:.72rem; }
.language-register { columns:4 15rem; column-gap:clamp(1.5rem,3vw,3rem); margin-top:1.8rem; }
.register-group { display:grid; grid-template-columns:2.1rem minmax(0,1fr); align-items:start; break-inside:avoid; padding:.2rem 0 1.35rem; }
.register-letter { margin:0; padding-top:.35rem; color:#13828a; font:italic 400 1.35rem/1 Georgia,serif; scroll-margin-top:calc(var(--site-header-h,80px) + 150px); }
.register-letter:focus { outline:none; }
.register-letter:focus-visible { outline:3px solid #2d9eb4; outline-offset:2px; }
.register-list { margin:0; padding:0; list-style:none; border-top:1px solid #b9c9c9; }
.register-entry { border-bottom:1px solid #d3dedd; }
.register-link { display:flex; align-items:baseline; justify-content:space-between; gap:.8rem; min-height:44px; padding:.55rem .15rem; color:#071f39; text-decoration:none; }
.register-name { font:400 1.18rem/1.2 Georgia,serif; overflow-wrap:anywhere; }
.register-source { flex:none; color:#5b7a85; font:700 .6rem system-ui,sans-serif; letter-spacing:.1em; opacity:.7; }
.register-link:hover .register-name,.register-link:focus-visible .register-name { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; }
.register-link:hover .register-source,.register-link:focus-visible .register-source { color:#073968; opacity:1; }
.register-alias { margin:-.35rem 0 .55rem .15rem; color:#4c6875; font-size:.7rem; }
.register-entry.is-archived { margin:.15rem 0; border-bottom:0; background:#071f39; box-shadow:inset 3px 0 #49d1d1; }
.register-entry.is-archived .register-link { padding-inline:.8rem; color:#fff; }
.register-entry.is-archived .register-source { color:#9fd8da; opacity:1; }
.register-archive { display:flex; flex-wrap:wrap; align-items:center; gap:.1rem .9rem; padding:0 .8rem .7rem; }
.register-tag { flex-basis:100%; color:#66d9d7; font:700 .6rem system-ui,sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.register-action { min-height:36px; padding:0; border:0; background:transparent; color:#fff; font:700 .74rem system-ui,sans-serif; text-decoration:underline; text-decoration-color:#49d1d1; text-underline-offset:4px; cursor:pointer; }
.register-action:hover { color:#9fe9e8; }
.register-entry.is-archived :focus-visible { outline-color:#ffd166; }
.language-empty { margin:0; padding:2rem 0; color:#40596b; column-span:all; }
.language-empty p { max-width:620px; margin:0; font:1.1rem/1.5 Georgia,serif; }
.language-empty a { color:#073968; font-weight:700; }
.language-catalog-note { max-width:780px; margin:1rem 0 0; color:#4c6875; font-size:.78rem; line-height:1.6; }

/* Catalog → map bridge. Photos appear only when the Supabase archive returns signed images. */
.catalog-archive { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); align-items:center; gap:clamp(2rem,4vw,4rem); margin:clamp(3rem,5vw,5rem) calc(-1 * clamp(1.5rem,7vw,7rem)) 0; padding:clamp(2.5rem,5vw,4.5rem) clamp(1.5rem,7vw,7rem); background:#071f39; color:#fff; }
.catalog-archive:not(:has(.catalog-archive-photos:not([hidden]))) { grid-template-columns:minmax(0,1fr); }
.catalog-archive .section-index { color:#7ed9dc; }
.catalog-archive h2 { max-width:620px; margin:0; font:400 clamp(2.3rem,4vw,3.8rem)/1.04 Georgia,serif; letter-spacing:-.045em; text-wrap:balance; }
.catalog-archive h2 em { color:#9fe9e8; font-style:normal; }
.catalog-archive-copy > p:not(.section-index) { max-width:520px; margin:1.2rem 0 0; color:#c3d6dc; font-size:1rem; line-height:1.65; }
.catalog-archive .catalog-archive-count:empty { display:none; }
.catalog-archive .catalog-archive-count { color:#fff; font:400 1.15rem Georgia,serif; }
.catalog-archive-actions { display:flex; flex-wrap:wrap; align-items:center; gap:1rem 1.6rem; margin-top:1.8rem; }
.catalog-archive .home-cta-dark { background:#49d1d1; color:#071f39; }
.catalog-archive .text-cta { padding:0; border:0; background:transparent; color:#fff; font:inherit; font-weight:700; cursor:pointer; }
.catalog-archive :focus-visible { outline-color:#ffd166; }
.catalog-archive-photos { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.5rem; margin:0; padding:0; list-style:none; }
.catalog-archive-photos[hidden] { display:none; }
.catalog-archive-photo { position:relative; display:block; width:100%; aspect-ratio:4 / 5; padding:0; overflow:hidden; border:0; background:#12384e; cursor:pointer; }
.catalog-archive-photo img { display:block; width:100%; height:100%; object-fit:cover; }
.catalog-archive-photo span { position:absolute; inset:auto 0 0; padding:1.6rem .6rem .55rem; background:linear-gradient(transparent,rgba(4,18,33,.86)); color:#fff; font:600 .7rem/1.3 system-ui,sans-serif; text-align:left; }
.catalog-archive-photo:hover img { filter:saturate(1.08) contrast(1.03); }

@media (max-width:1000px) {
  .catalog-toolbar { grid-template-columns:1fr; grid-template-areas:'search' 'letters' 'status'; }
  .catalog-letters { flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; }
  .catalog-letters button { flex:none; }
  .register-letter { scroll-margin-top:calc(var(--site-header-h,80px) + 190px); }
}
@media (max-width:820px) {
  body.site-page .home-learn { grid-template-columns:1fr; padding:4rem 1.35rem; }
  .home-learn-copy { position:static; }
  .home-register-list { font-size:1.08rem; line-height:1.6; }
  .catalog-route ol { flex-direction:column; align-items:flex-start; padding:.35rem 0; }
  .catalog-route li { min-height:38px; }
  .catalog-route li + li::before { width:1px; height:.8rem; margin:0 .75rem 0 .3rem; display:none; }
  .catalog-ledger div { padding-right:.6rem; }
  .catalog-ledger div + div { padding-left:.7rem; }
  .catalog-ledger dt { font-size:.66rem; }
  .language-catalog-heading { display:block; }
  .language-catalog-heading > a { display:inline-block; margin-top:.65rem; }
  .catalog-toolbar { top:var(--site-header-h,58px); margin-inline:-1.35rem; padding-inline:1.35rem; }
  .catalog-archive { grid-template-columns:1fr; margin-inline:-1.35rem; padding:3rem 1.35rem; }
  .catalog-archive-photos { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:420px) {
  .catalog-ledger dd { font-size:2.3rem; }
  .register-name { font-size:1.1rem; }
}

/* The same assistant is reachable from every section, with verified local answers. */
.global-assistant-dialog { position:fixed; inset:auto max(1rem,3vw) max(1rem,3vh) auto; width:min(430px,calc(100vw - 2rem)); max-height:min(82dvh,700px); margin:0; padding:0; overflow:auto; border:1px solid #7ea8aa; border-radius:6px; background:#f6f5ef; color:#071f39; box-shadow:0 28px 90px rgba(0,12,25,.35); }
.global-assistant-dialog::backdrop { background:rgba(3,19,35,.42); }
.global-assistant-head { display:flex; align-items:center; gap:.9rem; padding:1.15rem 1.25rem; background:#071f39; color:#fff; }
.global-assistant-head > span { display:grid; place-items:center; width:35px; height:35px; border-radius:50%; background:#49d1d1; color:#071f39; font-size:1.3rem; }
.global-assistant-head div { flex:1; }
.global-assistant-head small { color:#8fc8ca; font-size:.62rem; letter-spacing:.13em; }
.global-assistant-head h2 { margin:.2rem 0 0; font:400 1.65rem Georgia,serif; }
.global-assistant-head button { width:36px; height:36px; border:1px solid #66808d; border-radius:50%; background:transparent; color:#fff; font-size:1.5rem; }
.global-assistant-intro { margin:0; padding:1.2rem 1.25rem .5rem; color:#40596b; font-size:.88rem; line-height:1.55; }
#global-assistant-form { display:grid; gap:.7rem; padding:1rem 1.25rem; }
#global-assistant-form label { color:#28506a; font-size:.77rem; }
#global-assistant-form select { min-height:44px; width:100%; padding:.65rem; border:1px solid #97b2b7; border-radius:3px; background:#fff; color:#071f39; font:1rem system-ui,sans-serif; }
#global-assistant-question { min-height:92px; border-color:#97b2b7; border-radius:3px; background:#fff; font:1rem/1.4 Georgia,serif; }
#global-assistant-submit { justify-self:end; min-height:43px; padding:.65rem 1.1rem; border:0; border-radius:3px; background:#073968; color:#fff; font-weight:700; }
#global-assistant-submit:disabled { opacity:.55; }
.global-assistant-answer { padding:0 1.25rem; color:#40596b; font-size:.87rem; line-height:1.55; }
.global-assistant-answer:not(:empty) { padding-bottom:1rem; }
.translation-only-result { display:block; padding:1rem; border-left:3px solid #0d8793; background:#fff; color:#071f39; font:400 2rem/1.2 Georgia,serif; overflow-wrap:anywhere; }
.translator-vocabulary { margin:0 1.25rem 1rem; border-top:1px solid #b9cbcc; padding-top:.75rem; }
.translator-vocabulary summary { color:#073968; font-size:.83rem; font-weight:700; cursor:pointer; }
.translator-vocabulary label { display:block; margin:.8rem 0 .35rem; color:#40596b; font-size:.75rem; }
.translator-vocabulary input { width:100%; min-height:42px; padding:.5rem; border:1px solid #97b2b7; background:#fff; }
.translator-word-tools { display:grid; grid-template-columns:1fr 1.3fr; gap:0 .7rem; }
.translator-word-tools label { grid-row:1; }
.translator-word-tools select,.translator-word-tools input { grid-row:2; min-height:42px; width:100%; padding:.5rem; border:1px solid #97b2b7; background:#fff; color:#071f39; }
#translator-word-count { display:block; margin-top:.7rem; color:#59717d; }
.translator-word-list { display:flex; flex-wrap:wrap; gap:.4rem; max-height:190px; margin-top:.7rem; overflow:auto; }
.translator-word-list button { border:1px solid #b9cbcc; border-radius:3px; padding:.35rem .55rem; background:#fff; color:#073968; cursor:pointer; }
.translator-word-list button:hover { border-color:#0d8793; background:#e5f4f2; }
.all-language-translator { margin:3rem auto; width:min(1080px,calc(100% - 2rem)); padding:clamp(1.25rem,4vw,3rem); background:#eef3ef; border-top:4px solid #0d8793; color:#071f39; }
.all-language-translator h2 { margin:.35rem 0; font:400 clamp(2rem,4vw,3.5rem)/1.1 Georgia,serif; }
.all-language-translator > p:not(.section-index) { max-width:52ch; color:#40596b; }
#learn-translator-form { display:grid; grid-template-columns:minmax(160px,1fr) minmax(170px,1.3fr) minmax(185px,1fr) auto; gap:.5rem 1rem; align-items:end; margin:1.5rem 0 1rem; }
#learn-translator-form label { grid-row:1; font-size:.78rem; font-weight:700; }
#learn-translator-form label[for="learn-translator-language"] { grid-column:1; }
#learn-translator-form label[for="learn-translator-term"] { grid-column:2; }
#learn-translator-form label[for="learn-translator-direction"] { grid-column:3; }
#learn-translator-language { grid-column:1; grid-row:2; }
#learn-translator-term { grid-column:2; grid-row:2; }
#learn-translator-direction { grid-column:3; grid-row:2; }
#learn-translator-form select,#learn-translator-form input { min-height:46px; width:100%; padding:.65rem; border:1px solid #97b2b7; border-radius:3px; background:#fff; color:#071f39; font:1rem system-ui,sans-serif; }
#learn-translator-form button { grid-column:4; grid-row:2; min-height:46px; padding:.65rem 1rem; border:0; background:#073968; color:#fff; font-weight:700; }
.all-language-translator .global-assistant-answer { padding:0; max-width:480px; }
#learn-translator-vocabulary { margin-top:.8rem; }
@media (max-width:850px) { #learn-translator-form { grid-template-columns:1fr; } #learn-translator-form label,#learn-translator-form label[for],#learn-translator-form select,#learn-translator-form input,#learn-translator-form button { grid-column:1; grid-row:auto; } }
@media (max-width:390px) { .translator-word-tools { grid-template-columns:1fr; } .translator-word-tools label,.translator-word-tools select,.translator-word-tools input { grid-column:1; grid-row:auto; } }
.global-verified-answer { display:grid; gap:.35rem; padding:1rem; border-left:3px solid #0d8793; background:#fff; }
.global-verified-answer small { color:#0d7180; font-size:.69rem; font-weight:700; text-transform:uppercase; }
.global-verified-answer strong { font:400 2rem Georgia,serif; color:#071f39; }
.global-verified-answer p { margin:0; }
.global-verified-answer a { width:max-content; color:#073968; font-weight:700; }
.global-assistant-foot { display:flex; justify-content:space-between; gap:1rem; padding:1rem 1.25rem; border-top:1px solid #b9cbcc; }
.global-assistant-foot button,.global-assistant-foot a { padding:0; border:0; background:transparent; color:#073968; font-size:.75rem; font-weight:700; text-decoration:none; }

@media (max-width:1100px) and (min-width:821px) { body.site-page .global-assistant-trigger span:last-child { display:none; } body.site-page .global-assistant-trigger { padding:.3rem; } }
@media (max-width:820px) {
  body.site-page .global-assistant-trigger { position:fixed; z-index:45; right:1rem; bottom:calc(80px + env(safe-area-inset-bottom,0px)); width:46px; height:46px; padding:0; justify-content:center; border:2px solid #fff; border-radius:50%; background:#073968; box-shadow:0 7px 24px rgba(2,18,32,.28); }
  body.site-page .global-assistant-trigger > span:first-child { width:28px; height:28px; }
  body.site-page .global-assistant-trigger > span:last-child { display:none; }
  body.site-page .atlas-shell { display:block; }
  body.site-page .explorer-panel { padding:1rem .85rem 1.4rem; border-radius:18px 18px 0 0; }
  body.site-page .explorer-panel::before { display:none; }
  body.site-page .map-reset { bottom:calc(36% + .7rem); }
  body.site-page .map-legend,.map-discovery { display:none; }
  body.site-page .map-cluster-marker:has(.marker-photo) { width:47px; height:47px; }
  body.site-page .map-cluster-marker .cluster-symbol.marker-photo { width:41px; height:41px; }
  .global-assistant-dialog { inset:auto 0 0; width:100%; max-height:88dvh; border-radius:15px 15px 0 0; }
  .vocabulary-controls { display:block; }
  .vocabulary-categories { flex-wrap:nowrap; overflow-x:auto; padding-bottom:.35rem; }
  .vocabulary-categories button { flex:none; }
  #vocabulary-count { display:block; margin-top:.4rem; }
  .vocabulary-meta { justify-content:space-between; }
  .maya-vocabulary .learn-intro h2 { font-size:clamp(2.6rem,9vw,4rem); }
}
/* Home editorial motion: opacity and translate only; hidden state requires JS opt-in (.motion-ready). */
@media (prefers-reduced-motion:no-preference) {
  .cadeeli-home.motion-ready [data-reveal] { transition:opacity .7s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms),translate .7s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms); }
  .cadeeli-home.motion-ready [data-reveal]:not(.is-revealed) { opacity:0; translate:0 22px; }
  .home-cta > span[aria-hidden],.text-cta > span[aria-hidden],.voices-links a > span[aria-hidden] { display:inline-block; transition:translate .22s ease; }
  .home-cta:is(:hover,:focus-visible) > span[aria-hidden],.text-cta:is(:hover,:focus-visible) > span[aria-hidden],.voices-links a:is(:hover,:focus-visible) > span[aria-hidden] { translate:3px -3px; }
  .home-cta:focus-visible,.text-cta:focus-visible,.voices-links a:focus-visible { transform:translateY(-3px); }
  .home-cta:active,.text-cta:active { transform:translateY(-1px); transition-duration:.08s; }
  .hero-scroll span[aria-hidden] { display:inline-block; animation:cadeeli-scroll-hint 2.4s ease-in-out 1.4s 3; }
  .hero-scroll:is(:hover,:focus-visible) span[aria-hidden] { animation:none; translate:0 4px; transition:translate .2s ease; }
  .contribute-steps li > span { display:inline-block; transition:translate .25s ease,color .25s ease; }
  .contribute-steps li:hover > span { translate:4px 0; color:#0d8793; }
  .home-footer button { transition:translate .2s ease; }
  .home-footer button:is(:hover,:focus-visible) { translate:0 -2px; }
}
@keyframes cadeeli-scroll-hint { 0%,100% { translate:0 0; } 50% { translate:0 5px; } }
@media print { .cadeeli-home.motion-ready [data-reveal] { opacity:1 !important; translate:none !important; } }

@media (prefers-reduced-motion:reduce) { body.site-page .maya-marker.overview:has(.marker-photo),body.site-page .map-cluster-marker:has(.marker-photo) { animation:none; } .map-discovery-list button { transition:none; } }
@media (prefers-reduced-motion:no-preference) {
  .register-link .register-source,.catalog-archive-photo img,.catalog-letters button { transition:color .18s ease,opacity .18s ease,background-color .18s ease,filter .25s ease,scale .45s cubic-bezier(.2,.7,.2,1); }
  .catalog-archive-photo:hover img { scale:1.04; }
}
@media (max-height:640px) { .catalog-toolbar { position:static; } }
