/* CADEELI public site. LinguaMap keeps its existing atlas controls and data flow. */
:root { --site-ink:#07172b; --site-blue:#073968; --site-cyan:#49d1d1; --site-paper:#f6f5ef; --site-coral:#e69c82; }

/* Shared identity across the original atlas and project screens. */
.explorer-panel h1 { color:#0d2c50; }
.method-section { border-top-color:var(--site-cyan); background:#0b2c44; }
.method-section::after { display:none; }
.method-intro h2 { font-family:Georgia,serif; font-weight:400; }
.method-grid li, .method-definitions article { background:#123a53; border-color:#3c6275; }
.site-footer { background:var(--site-ink); }
.site-footer::before { background:var(--site-cyan); }

body.site-page { --app-nav-width:0px; padding-top:80px; background:var(--site-paper); }
body.site-page .site-header { height:80px; min-height:80px; padding:0 clamp(1.2rem,4.5vw,4.5rem); border:0; background:var(--site-ink); box-shadow:none; }
body.site-page .site-header::before { display:none; }
body.site-page .brand { position:relative; z-index:2; gap:.75rem; text-decoration:none; }
body.site-page .brand img { width:50px; height:50px; border-radius:0; background:none; object-fit:contain; filter:none; }
body.site-page .brand strong { font-family:Georgia,serif; font-size:1.52rem; font-weight:500; letter-spacing:.08em; }
body.site-page .brand small { color:#b5c6d0; font-size:.57rem; font-weight:500; letter-spacing:.11em; text-transform:uppercase; }
body.site-page .app-navigation { position:fixed; z-index:52; top:0; right:clamp(1rem,4.5vw,4.5rem); bottom:auto; left:auto; width:auto; height:80px; padding:0; display:flex; flex-direction:row; align-items:center; gap:clamp(.3rem,1vw,1.25rem); border:0; background:transparent; box-shadow:none; transform:none; visibility:visible; }
body.site-page .app-nav-item { width:auto; min-height:52px; padding:.75rem .65rem; border:0; border-radius:0; color:#d8e3e9; background:transparent; font-family:Georgia,serif; font-size:.95rem; font-weight:400; }
body.site-page .app-nav-item svg { display:none; }
body.site-page .app-nav-item.active { color:#fff; background:transparent; box-shadow:inset 0 -2px var(--site-cyan); }
body.site-page .app-nav-item:hover { color:var(--site-cyan); background:transparent; }
body.site-page .app-nav-contribute { margin:0; }
body.site-page main { margin-left:0; }

.cadeeli-home, .learn-page { color:var(--site-ink); }
.home-hero { min-height: min(690px,calc(100svh - 80px)); position:relative; display:flex; align-items:center; padding:clamp(3rem,7vw,7rem) clamp(1.5rem,4.7vw,5.5rem) 5rem; overflow:hidden; isolation:isolate; background:#07172b; color:white; }
.home-hero-art { position:absolute; z-index:-1; inset:0; background:#07172b url('../images/cadeeli-voices-hero.jpg') right center / auto 100% no-repeat; animation:hero-arrive 1.2s ease-out both; }
.home-hero-copy { width:min(580px,53vw); position:relative; z-index:1; }
.home-hero h1 { max-width:640px; margin:0 0 1.4rem; font-family:Georgia,'Times New Roman',serif; font-size:clamp(3.6rem,6.2vw,6.4rem); font-weight:400; line-height:.99; letter-spacing:-.055em; text-wrap:balance; }
.home-hero h1 em { display:block; color:var(--site-cyan); font-style:normal; }
.home-hero-copy > p { max-width:470px; margin:0; color:#e5eced; font-family:Georgia,serif; font-size:clamp(1.14rem,1.55vw,1.45rem); line-height:1.42; }
.home-actions { display:flex; flex-wrap:wrap; gap:1rem; margin-top:2rem; }
.home-cta { min-height:53px; padding:.8rem 1.55rem; display:inline-flex; align-items:center; justify-content:space-between; gap:1.6rem; border:1px solid currentColor; border-radius:99px; cursor:pointer; font-family:Georgia,serif; font-size:1rem; text-decoration:none; transition:transform .22s ease, background .22s ease, color .22s ease; }
.home-cta:hover, .text-cta:hover, .voices-links a:hover { transform:translateY(-3px); }
.home-cta-primary { background:var(--site-cyan); border-color:var(--site-cyan); color:var(--site-ink); }
.home-cta-primary:hover { background:#7be5df; }
.home-cta-secondary { background:transparent; color:white; }
.home-cta-secondary:hover { background:white; color:var(--site-ink); }
.hero-scroll { position:absolute; left:clamp(1.5rem,4.7vw,5.5rem); bottom:1.75rem; color:#b8d0d6; text-decoration:none; font-size:.75rem; letter-spacing:.08em; text-transform:uppercase; }
.hero-scroll span { margin-left:.6rem; font-size:1.15rem; }
.home-diversity { min-height:245px; display:grid; grid-template-columns:1.35fr 1fr; align-items:center; gap:3rem; padding:3rem clamp(1.5rem,7vw,7rem); background:var(--site-paper); }
.home-diversity h2, .home-feature h2, .home-voices h2, .home-learn h2, .learn-intro h1 { margin:0; font-family:Georgia,serif; font-weight:400; letter-spacing:-.047em; line-height:1.05; text-wrap:balance; }
.home-diversity h2 { max-width:750px; font-size:clamp(2.35rem,4vw,4.7rem); }
.home-diversity h2 em, .home-feature h2 em, .home-voices h2 em, .home-learn h2 em, .learn-intro h1 em { color:var(--site-blue); font-style:normal; }
.diversity-fact { display:flex; align-items:center; gap:1.5rem; padding-left:clamp(1rem,3vw,3rem); border-left:1px solid #c9cec9; }
.diversity-fact strong { font-family:Georgia,serif; font-size:clamp(5.5rem,10vw,9rem); font-weight:400; line-height:1; letter-spacing:-.09em; color:#0d2c50; }
.diversity-fact p { max-width:260px; margin:0; font-family:Georgia,serif; font-size:1.08rem; line-height:1.45; }
.diversity-fact a { display:block; margin-top:.8rem; color:var(--site-blue); font:600 .76rem system-ui,sans-serif; text-underline-offset:4px; }
.home-feature { display:grid; grid-template-columns:1fr 1fr; min-height:560px; background:#dbe5e7; }
.feature-visual { min-height:560px; display:grid; place-items:center; overflow:hidden; background:radial-gradient(circle at 50% 50%,#194f70 0,#082746 46%,#06192e 78%); }
.feature-visual img { width:min(67%,410px); height:auto; filter:drop-shadow(0 30px 50px rgba(0,0,0,.2)); transition:transform .7s cubic-bezier(.2,.8,.2,1); }
.feature-visual:hover img { transform:translateY(-10px) rotate(-2deg); }
.feature-copy { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:clamp(2.5rem,7vw,7rem); }
.section-index { margin:0 0 1.6rem; color:#426579; font:700 .72rem system-ui,sans-serif; letter-spacing:.14em; }
.home-feature h2, .home-voices h2, .home-learn h2 { max-width:570px; font-size:clamp(3rem,4.4vw,5rem); }
.feature-copy > p:not(.section-index), .home-voices p:not(.section-index), .home-learn p:not(.section-index) { max-width:520px; margin:1.6rem 0 2rem; color:#314a5b; font-size:1.1rem; line-height:1.65; }
.text-cta { border:0; border-bottom:2px solid var(--site-cyan); padding:0 0 .5rem; background:transparent; color:var(--site-blue); cursor:pointer; font:600 1rem system-ui,sans-serif; transition:transform .2s; }
.text-cta span { margin-left:.65rem; }
.home-voices { min-height:450px; display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,.72fr) minmax(240px,.72fr); align-items:center; gap:clamp(2rem,4vw,4rem); padding:clamp(4rem,8vw,8rem) clamp(1.5rem,7vw,7rem); background:#fff; }
.home-voices h2 em { color:#158a9b; }
.voices-links { border-top:1px solid #b8cbce; }
.voices-visual { margin:0; overflow:hidden; background:#d9e4dc; }
.voices-visual img { display:block; width:100%; aspect-ratio:1/1; object-fit:cover; filter:saturate(.78) contrast(.98); transition:transform .6s ease; }
.voices-visual:hover img { transform:scale(1.035); }
.voices-links a { display:flex; justify-content:space-between; gap:2rem; padding:1.5rem .25rem; border-bottom:1px solid #b8cbce; color:var(--site-ink); text-decoration:none; font:500 clamp(1rem,1.7vw,1.35rem) Georgia,serif; transition:transform .2s; }
.home-learn { min-height:460px; display:grid; grid-template-columns:.7fr 1fr; align-items:center; gap:3rem; padding:4rem clamp(1.5rem,7vw,7rem); background:#d7e4dc; }
.learn-ornament { display:block; color:#0e4a61; font:italic clamp(10rem,24vw,25rem) Georgia,serif; line-height:.9; letter-spacing:-.16em; opacity:.72; }
.home-cta-dark { background:var(--site-ink); color:white; border-color:var(--site-ink); }
.home-cta-dark:hover { background:var(--site-blue); }
.home-footer { min-height:170px; display:flex; align-items:center; gap:1.2rem; padding:2rem clamp(1.5rem,7vw,7rem); background:var(--site-ink); color:white; }
.home-footer img { width:88px; height:88px; object-fit:contain; }
.home-footer div { max-width:420px; display:grid; gap:.35rem; }
.home-footer strong { font:1.3rem Georgia,serif; letter-spacing:.1em; }
.home-footer span { color:#bdced5; font-size:.76rem; line-height:1.5; }
.home-footer button { margin-left:auto; border:0; border-bottom:1px solid var(--site-cyan); padding:.45rem 0; background:transparent; color:white; cursor:pointer; font:1rem Georgia,serif; }
.home-contribute { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr); gap:clamp(2rem,8vw,8rem); align-items:center; padding:clamp(4rem,8vw,8rem) clamp(1.5rem,7vw,7rem); background:#f1f2e9; }
.home-contribute h2 { max-width:750px; margin:0; font:400 clamp(3rem,4.8vw,5.5rem)/1.04 Georgia,serif; letter-spacing:-.05em; }
.home-contribute h2 em { color:#0e7785; font-style:normal; }
.home-contribute-intro > p:not(.section-index) { max-width:610px; margin:1.7rem 0 2rem; color:#385365; font-size:1.08rem; line-height:1.65; }
.contribute-steps { margin:0; padding:0; list-style:none; border-top:1px solid #afc7c3; }
.contribute-steps li { display:grid; grid-template-columns:3rem 1fr; column-gap:1rem; padding:1.5rem 0; border-bottom:1px solid #afc7c3; }
.contribute-steps span { grid-row:1 / span 2; color:#16808d; font:400 1.5rem Georgia,serif; }
.contribute-steps strong { color:#0a2d45; font:400 1.6rem Georgia,serif; }
.contribute-steps small { margin-top:.35rem; color:#4c6673; font-size:.86rem; }

.learn-page { min-height:calc(100svh - 80px); padding:clamp(3rem,6vw,7rem) clamp(1.5rem,7vw,7rem); background:var(--site-paper); }
.learn-intro { max-width:900px; }
.learn-intro h1 { font-size:clamp(3.2rem,6vw,6.4rem); }
.learn-intro > p:last-child { max-width:690px; color:#40596b; font-size:1.12rem; line-height:1.65; }
.learn-workspace { margin-top:3.5rem; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr); gap:1.5rem 3rem; }
.learn-search { grid-column:1; display:grid; gap:.6rem; }
.learn-search label { color:#28506a; font-weight:700; }
.learn-search input { width:100%; height:62px; padding:0 1.1rem; border:1px solid #8caab6; border-radius:5px; background:white; color:var(--site-ink); font:1.2rem Georgia,serif; }
.learn-search span { color:#677b85; font-size:.7rem; letter-spacing:.1em; }
.word-results { grid-column:1; display:grid; gap:0; align-content:start; border-top:1px solid #b2c3c7; }
.word-entry { padding:1.25rem .2rem; display:grid; grid-template-columns:1fr 1fr; gap:1rem; border-bottom:1px solid #b2c3c7; }
.word-entry strong { display:block; font:400 1.65rem Georgia,serif; }
.word-entry small { color:#547284; font-size:.68rem; letter-spacing:.08em; text-transform:uppercase; }
.word-entry a { grid-column:1 / -1; width:max-content; color:var(--site-blue); font-size:.78rem; text-underline-offset:3px; }
.word-empty { padding:2rem .2rem; color:#40596b; line-height:1.6; }
.learn-challenge { grid-column:2; grid-row:1 / span 2; align-self:start; padding:2.5rem; background:#0e3550; color:white; }
.learn-challenge .section-index { color:#7ed9dc; }
.learn-challenge h2 { margin:0 0 1.5rem; font:400 clamp(1.8rem,2.7vw,2.8rem) Georgia,serif; }
.challenge-choices { display:grid; gap:.55rem; }
.challenge-choices button { width:100%; min-height:52px; padding:.8rem 1rem; border:1px solid #688b99; background:transparent; color:white; cursor:pointer; text-align:left; font:1.1rem Georgia,serif; }
.challenge-choices button:hover, .challenge-choices button:focus-visible { border-color:var(--site-cyan); background:#174c63; }
.challenge-choices button.correct { border-color:var(--site-cyan); background:#1a766e; }
.challenge-choices button.incorrect { border-color:#e99a87; background:#704340; }
.learn-challenge > p:last-child { min-height:2rem; color:#c8dfe4; font-size:.88rem; }
.learn-source { max-width:750px; margin:2rem 0 0; color:#59717d; font-size:.81rem; line-height:1.5; }
.learn-source a { color:var(--site-blue); }

@keyframes hero-arrive { from { opacity:.45; transform:scale(1.045); } to { opacity:1; transform:scale(1); } }
@media (prefers-reduced-motion:reduce) { .home-hero-art { animation:none; } .home-cta,.text-cta,.voices-links a,.feature-visual img { transition:none; } }

/* The atlas presents each documented photo, including additional angles. */
#result-list[hidden], #photo-wall[hidden] { display:none !important; }
.archive-connection[hidden] { display:none !important; }
.archive-connection { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin:1rem 0; padding:.85rem 1rem; border-left:3px solid #bd6d49; background:#fff1e8; color:#603c30; font-size:.84rem; line-height:1.45; }
.archive-connection button { flex:none; min-height:38px; padding:.4rem .75rem; border:1px solid #9d694f; background:#fff; color:#603c30; cursor:pointer; font-weight:700; }
.archive-view-switch { display:flex; gap:.3rem; margin:.35rem 0 .9rem; padding:.22rem; border:1px solid #b4c9cd; border-radius:5px; background:#e6eff0; }
.archive-view-switch button { flex:1; min-height:38px; padding:.35rem .5rem; border:0; border-radius:3px; background:transparent; color:#285168; font:700 .75rem system-ui,sans-serif; cursor:pointer; }
.archive-view-switch button.active { background:#073968; color:#fff; box-shadow:0 2px 8px rgba(7,23,43,.16); }
.archive-view-switch button:focus-visible, .photo-wall-item:focus-visible { outline:3px solid #2d9eb4; outline-offset:2px; }
.photo-wall { display:grid; grid-template-columns:1fr; gap:.8rem; }
.photo-wall-item { width:100%; padding:0; overflow:hidden; display:block; border:1px solid #c4d2d4; background:#fff; color:#07172b; cursor:pointer; text-align:left; }
.photo-wall-item img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; background:#d5e1e2; }
.photo-wall-item:hover img { filter:saturate(1.15); }
.photo-wall-caption { display:grid; gap:.28rem; padding:.75rem .85rem .9rem; }
.photo-wall-caption small { color:#326477; font:700 .67rem system-ui,sans-serif; letter-spacing:.04em; text-transform:uppercase; }
.photo-wall-caption strong { font:400 1.15rem/1.2 Georgia,serif; }
.photo-wall-broken img { display:none; }
.photo-wall-broken::before { content:'Fotografía no disponible'; display:grid; place-items:center; min-height:150px; color:#496979; }
.photo-wall-empty { padding:3rem 1rem; border:1px solid #bdcfd2; background:#eef4f2; text-align:center; }
.photo-wall-empty { grid-column:1 / -1; }
.photo-wall-empty h3 { margin:0 0 .5rem; font:400 1.5rem Georgia,serif; }
.photo-wall-empty p { margin:0; color:#4b6674; line-height:1.5; }
.photo-wall-empty button { min-height:43px; margin-top:1.35rem; padding:.6rem 1rem; border:0; background:#073968; color:white; cursor:pointer; font-weight:700; }
body.app-view-archive .photo-wall { grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:1rem; }
body.app-view-archive .photo-wall-item img { aspect-ratio:4/3; }
.detail-gallery.gallery-expanded { position:fixed; z-index:200; inset:0; height:100dvh; display:grid; grid-template-rows:minmax(0,1fr) auto; background:#07172b; }
.detail-panel:has(.gallery-expanded) { z-index:100; overflow:visible; }
.detail-gallery.gallery-expanded .detail-photo-stage { min-height:0; display:grid; place-items:center; }
.detail-gallery.gallery-expanded .detail-photo { width:100%; height:100%; aspect-ratio:auto; object-fit:contain; }
.detail-gallery.gallery-expanded .detail-photo-details { background:#07172b; color:white; border-color:#315267; }
.detail-gallery.gallery-expanded .detail-photo-details span { color:#c3d7dc; }
.detail-gallery.gallery-expanded .detail-gallery-expand { position:fixed; top:calc(1rem + var(--header-inset)); right:1rem; }
body.site-page .detail-gallery.gallery-expanded .detail-gallery-expand { right:1rem; }

/* Editorial atlas language shared with the new CADEELI home. */
body.site-page .explorer-panel { background:#f6f5ef; border-color:#c6d5d2; box-shadow:8px 0 28px rgba(7,23,43,.1); }
body.site-page .explorer-panel::before { background:#c4d7d5; }
body.site-page .explorer-panel h1 { max-width:700px; color:#071f39; font-family:Georgia,serif; font-weight:400; letter-spacing:-.048em; line-height:1.02; }
body.site-page .explorer-panel .eyebrow { color:#0a6779; letter-spacing:.16em; }
body.site-page .explorer-panel .intro { color:#405767; }
body.site-page .atlas-pulse { background:#edf1eb; border-color:#b8cdc9; }
body.site-page .atlas-pulse strong { color:#073968; font-family:Georgia,serif; font-weight:400; }
body.site-page .results-heading { background:#f6f5ef; box-shadow:none; border-color:#afc8c7; }
body.site-page .results-heading small { color:#0a6779; }
body.site-page .result-card { border-color:#bed0ce; border-left-color:var(--marker-color); box-shadow:none; }
body.site-page .result-card:hover, body.site-page .result-card.active { background:#edf6f4; border-color:#168b9c; }
body.site-page .result-card-title { color:#092940; font-family:Georgia,serif; font-weight:400; }
body.site-page .map-legend, body.site-page .map-scope, body.site-page .map-tools, body.site-page .map-status, body.site-page .map-reset { border-color:#a7c6c9; background:rgba(246,245,239,.95); color:#123e54; }
body.site-page .map-stage { background:#c5d9d8; }
body.site-page .detail-panel { background:#f6f5ef; }
body.site-page .detail-close { position:sticky; top:.75rem; float:none; display:block; margin:.75rem .75rem -3rem auto; }
body.site-page .detail-gallery-expand { right:4rem; }
body.site-page .detail-body h2 { font-family:Georgia,serif; font-weight:400; color:#092940; }
.detail-photo-stage { min-height:280px; display:grid; place-items:center; background:#0d2425; }
.detail-photo-stage .detail-photo { width:100%; height:auto; max-height:min(65svh,620px); aspect-ratio:auto; object-fit:contain; }
.detail-photo-loading { position:absolute; z-index:1; top:50%; left:50%; transform:translate(-50%,-50%); color:#c8d6d6; font-size:.76rem; white-space:nowrap; }
.detail-photo-stage.photo-ready .detail-photo-loading { display:none; }
@media (max-width:820px) { body.site-page .explorer-panel { box-shadow:0 -12px 30px rgba(7,23,43,.14); } }

/* Shared CADEELI treatment for the original workspaces. */
body.site-page .method-section {
  border-top:0;
  background:linear-gradient(110deg,#07172b 0 42%,#103b52 42% 100%);
  color:#f7f5ee;
}
body.site-page .method-section::before { background:linear-gradient(90deg,#7cc8ce 0 20%,transparent 20% 25%,#49d1d1 25% 52%,transparent 52% 57%,#e69c82 57%); }
body.site-page .method-intro h2 { color:#fff; font-family:Georgia,serif; font-size:clamp(2.8rem,5vw,5.5rem); font-weight:400; letter-spacing:-.055em; line-height:.99; }
body.site-page .method-intro > p { color:#cbd9dc; font-size:1rem; line-height:1.7; }
body.site-page .method-principle { border-color:#49d1d1; background:rgba(255,255,255,.06); }
body.site-page .method-body { position:relative; z-index:1; }
body.site-page .method-flow { border-color:rgba(255,255,255,.25); color:#dbe8e8; }
body.site-page .method-flow b { color:#74e0dd; }
body.site-page .method-grid li, body.site-page .method-definitions article { border-color:rgba(255,255,255,.22); background:rgba(255,255,255,.08); box-shadow:none; }
body.site-page .method-grid li:hover, body.site-page .method-definitions article:hover { border-color:#49d1d1; background:rgba(73,209,209,.12); transform:translateY(-3px); }
body.site-page .method-grid li h3, body.site-page .method-definitions h3 { color:#fff; font-family:Georgia,serif; font-weight:400; }
body.site-page .method-grid li p, body.site-page .method-definitions p { color:#bfd1d5; }
body.site-page .method-definitions small { color:#7ee0dc; }
body.site-page .site-footer { border-top:0; background:#07172b; color:#cbd9dc; }
body.site-page .site-footer::before { background:#49d1d1; }
body.site-page .site-footer .footer-logo { width:72px; height:72px; border-radius:0; background:none; padding:0; object-fit:contain; }
body.site-page .site-footer strong { color:#fff; font-family:Georgia,serif; font-weight:400; font-size:1.25rem; }

body.site-page dialog.modal { border:0; border-radius:12px; background:transparent; padding:0; box-shadow:0 28px 90px rgba(4,20,35,.32); }
body.site-page dialog.modal::backdrop { background:rgba(4,18,31,.72); backdrop-filter:blur(8px); }
body.site-page .modal-card { border:1px solid #b9d0d1; border-radius:12px; background:#f6f5ef; color:#092940; }
body.site-page .modal-card h2, body.site-page .wizard-header h2, body.site-page .admin-card h2 { font-family:Georgia,serif; font-size:clamp(1.8rem,4vw,3rem); font-weight:400; letter-spacing:-.04em; }
body.site-page .modal-card label { color:#214d62; font-weight:700; }
body.site-page .modal-card input, body.site-page .modal-card select, body.site-page .modal-card textarea { border-color:#a9c4c7; background:#fff; color:#092940; border-radius:4px; }
body.site-page .modal-card input:focus, body.site-page .modal-card select:focus, body.site-page .modal-card textarea:focus { border-color:#0d8793; outline:3px solid rgba(73,209,209,.3); }
body.site-page .wizard-header, body.site-page .wizard-footer { background:#e9f1ed; border-color:#b9d0d1; }
body.site-page .stepper li.active { color:#073968; border-color:#49d1d1; }
body.site-page .wizard-step h3 { font-family:Georgia,serif; font-size:1.8rem; font-weight:400; }
body.site-page .wizard-step fieldset, body.site-page .review-card, body.site-page .quality-checks article { background:#fff; border-color:#b9d0d1; border-radius:6px; }
body.site-page .drop-zone { border-color:#7abfc1; background:#e7f1ec; }
body.site-page .button-primary { background:#073968; border-color:#073968; }
body.site-page .button-primary:hover { background:#0d8793; border-color:#0d8793; }
body.site-page .button-secondary { border-color:#7aaeb3; color:#073968; background:#fff; }
body.site-page .button-secondary:hover { background:#e2f3f0; border-color:#0d8793; }

body.site-page .admin-card { background:#f6f5ef; color:#092940; }
body.site-page .admin-card > header { background:#07172b; color:#fff; border:0; }
body.site-page .admin-card > header .eyebrow { color:#76d9d4; }
body.site-page .admin-card > header h2 { color:#fff; }
body.site-page #submission-detail h2 { color:#092940; font-family:Georgia,serif; font-weight:400; }
body.site-page .account-review-panel { margin:0; padding:1.1rem 1.4rem; background:#e6f0ec; border-bottom:1px solid #b9d0d1; }
body.site-page .account-review-panel h3 { font-family:Georgia,serif; font-weight:400; }
body.site-page .admin-layout aside { background:#edf3ef; border-color:#b9d0d1; }
body.site-page .submission-item { background:transparent; border-color:#c8d8d5; }
body.site-page .submission-item.active, body.site-page .submission-item:hover { background:#dcefeb; border-left-color:#0d8793; }
body.site-page .admin-layout section { background:#f6f5ef; }
body.site-page .compare-table th { background:#e6f0ec; color:#073968; }
body.site-page .compare-table td, body.site-page .compare-table th { border-color:#b9d0d1; }
body.site-page .admin-actions { border-top:1px solid #b9d0d1; padding-top:1rem; }

@media (max-width:820px) {
  body.site-page .method-section { background:#07172b; }
  body.site-page .method-intro h2 { font-size:3rem; }
  body.site-page .method-grid li, body.site-page .method-definitions article { padding:1rem; }
  body.site-page dialog.modal { width:calc(100% - .5rem); max-width:none; }
  body.site-page .admin-layout { height:calc(100dvh - 170px); }
  body.site-page .detail-gallery-expand { right:4.3rem; }
}

@media (max-width:1100px) and (min-width:821px) {
  body.site-page .brand small { display:none; }
  body.site-page .app-navigation { gap:.15rem; }
  body.site-page .app-nav-item { font-size:.82rem; padding:.7rem .4rem; flex-direction:row; }
  .home-hero-copy { width:58vw; }
}
@media (max-width:820px) {
  body.site-page { padding-top:calc(58px + var(--header-inset)); padding-bottom:calc(66px + env(safe-area-inset-bottom,0px)); }
  body.site-page .site-header { height:calc(58px + var(--header-inset)); min-height:calc(58px + var(--header-inset)); padding:var(--header-inset) 1rem 0; }
  body.site-page .brand img { width:38px; height:38px; }
  body.site-page .brand span { display:grid; }
  body.site-page .brand strong { font-size:1.1rem; }
  body.site-page .brand small { display:block; font-size:.5rem; }
  body.site-page .app-navigation { top:auto; bottom:0; right:0; left:0; width:100%; height:calc(64px + env(safe-area-inset-bottom,0px)); justify-content:space-around; gap:0; padding:.3rem .25rem env(safe-area-inset-bottom,0px); border-top:1px solid #c4d5dc; background:#f8fbfb; box-shadow:0 -8px 24px rgba(0,0,0,.12); }
  body.site-page .app-nav-item { width:20%; min-height:56px; padding:.3rem .1rem; display:flex; flex-direction:column; gap:.2rem; justify-content:center; border-radius:5px; color:#375a6a; font:600 .61rem system-ui,sans-serif; text-align:center; }
  body.site-page .app-nav-item svg { display:block; width:20px; height:20px; }
  body.site-page .app-nav-item.active { color:#063f61; background:#e1f3f2; box-shadow:none; }
  .home-hero { min-height:calc(100svh - 122px); padding:3rem 1.35rem 4rem; align-items:flex-start; }
  .home-hero-art { background-size:auto 72%; background-position:70% bottom; }
  .home-hero-copy { width:100%; max-width:580px; }
  .home-hero h1 { max-width:530px; font-size:clamp(3.1rem,10vw,5.3rem); }
  .home-hero-copy > p { max-width:430px; font-size:1rem; }
  .hero-scroll { left:1.35rem; bottom:1rem; }
  .home-diversity { grid-template-columns:1fr; gap:1.8rem; padding:3.5rem 1.35rem; }
  .diversity-fact { padding:1.25rem 0 0; border-left:0; border-top:1px solid #c9cec9; }
  .home-feature { grid-template-columns:1fr; }
  .feature-visual { min-height:320px; }
  .feature-visual img { width:min(52%,250px); }
  .feature-copy { padding:3rem 1.35rem 4rem; }
  .home-voices, .home-learn { grid-template-columns:1fr; gap:2rem; padding:4rem 1.35rem; }
  .voices-visual { max-width:360px; }
  .home-contribute { grid-template-columns:1fr; gap:2.5rem; padding:4rem 1.35rem; }
  .learn-ornament { font-size:10rem; line-height:.65; }
  .home-footer { flex-wrap:wrap; padding:2rem 1.35rem; }
  .home-footer button { margin:1rem 0 0 0; }
  .learn-page { padding:3rem 1.35rem; }
  .learn-workspace { grid-template-columns:1fr; }
  .learn-challenge { grid-column:1; grid-row:auto; }
}
@media (max-width:430px) {
  .home-hero { min-height:790px; }
  .home-hero-art { background-size:auto 43%; background-position:61% bottom; }
  .home-hero h1 { font-size:clamp(3.05rem,11vw,3.55rem); }
  .home-actions { gap:.7rem; }
  .home-cta { min-height:47px; padding:.65rem 1rem; font-size:.9rem; }
  .home-diversity h2 { font-size:2.6rem; }
  .home-feature h2, .home-voices h2, .home-learn h2 { font-size:3rem; }
  .learn-intro h1 { font-size:3.15rem; }
}

/* Final pass: legible controls, visible focus and calmer archive states. */
:root { --site-focus:#0d8793; --site-focus-on-dark:#49d1d1; --site-error:#9b3b25; }
body.site-page :is(button,a,input,select,textarea,summary,[tabindex]):focus-visible { outline:3px solid var(--site-focus); outline-offset:2px; }
body.site-page :is(.site-header,.home-hero,.home-footer,.method-section,.site-footer,.learn-challenge,.admin-card > header,.detail-photo-stage,.detail-gallery.gallery-expanded) :is(button,a,input,select,[tabindex]):focus-visible { outline-color:var(--site-focus-on-dark); }
@media (min-width:821px) { body.site-page .app-navigation :is(button,a):focus-visible { outline-color:var(--site-focus-on-dark); outline-offset:-3px; } }

/* Primary actions keep white text on night blue in every state. */
body.site-page .button-primary { color:#fff; box-shadow:none; }
body.site-page .button-primary:hover { color:#fff; background:#0a6779; border-color:#0a6779; }
body.site-page .button-primary:disabled { background:#8ea6b2; border-color:#8ea6b2; color:#f6f5ef; cursor:not-allowed; }
body.site-page .drop-zone .button-primary svg, body.site-page .wizard-footer .button-primary svg { stroke:currentColor; }

/* Messages render in the top layer so they remain visible above modal dialogs. */
#toast-region[popover] { inset:auto 1rem 1rem auto; width:auto; height:auto; margin:0; padding:0; overflow:visible; border:0; background:transparent; color:inherit; }
body.site-page .toast { border:0; border-left:4px solid var(--site-cyan); border-radius:6px; background:var(--site-ink); color:#fff; font-size:.88rem; line-height:1.45; box-shadow:0 14px 34px rgba(4,18,31,.28); }
body.site-page .toast.error { border-left-color:var(--site-coral); }

/* Wizard: inline validation and a stepper that returns to completed steps. */
body.site-page .wizard-footer .form-message:not(:empty) { display:block; flex:1; margin:0; color:var(--site-error); font-size:.84rem; font-weight:600; line-height:1.35; }
.stepper li { position:relative; }
.stepper li button { display:block; width:100%; padding:0; border:0; background:none; color:inherit; font:inherit; letter-spacing:inherit; text-align:center; cursor:default; }
.stepper li button::after { content:''; position:absolute; inset:0; }
.stepper li button:disabled { color:inherit; opacity:1; }
.stepper li.complete, .stepper li.complete button { cursor:pointer; }
.stepper li.complete:hover { background:rgba(73,209,209,.14); color:#073968; }
.stepper li button:focus-visible { outline:none; }
.stepper li:has(button:focus-visible) { outline:3px solid var(--site-focus); outline-offset:-3px; }
body.site-page .stepper li.complete::before { background:#0d8793; border-color:#0d8793; color:#fff; }
.wizard-step h3:focus { outline:none; }

/* Archive: paged rendering keeps the grid light while signed photos load. */
.archive-more { grid-column:1 / -1; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 0 .4rem; color:#4b6674; font-size:.8rem; }
.archive-more button { min-height:44px; padding:.6rem 1.15rem; border:1px solid #073968; border-radius:99px; background:transparent; color:#073968; font:600 .85rem system-ui,sans-serif; cursor:pointer; }
.archive-more button:hover { background:#073968; color:#fff; }
body.site-page .atlas-pulse span { overflow:visible; white-space:normal; text-overflow:clip; line-height:1.25; }
body.site-page:not(.app-view-archive) .segmented { grid-template-columns:repeat(6,1fr); gap:2px; }
body.site-page:not(.app-view-archive) .segmented button { font-size:.72rem; }
body.site-page:not(.app-view-archive) .segmented button:nth-child(-n+3) { grid-column:span 2; }
body.site-page:not(.app-view-archive) .segmented button:nth-child(n+4) { grid-column:span 3; }
body.site-page .map-status.warning { border-color:var(--site-coral); background:#fff1e8; color:#7a3a26; }
@media (min-width:821px) { body.site-page .atlas-shell:has(.detail-panel.open) .map-scope { left:calc(50% - 210px); } }

/* Methodology accents follow the CADEELI palette. */
body.site-page .method-section .eyebrow { color:var(--site-coral); }
body.site-page .method-grid li em { color:#7ee0dc; font-style:normal; font-weight:700; }

@media (max-width:820px) {
  body.site-page .app-navigation [data-app-view="archive"] { display:flex; }
  body.site-page .app-navigation .app-nav-item { width:16.66%; min-width:0; }
  body.site-page .app-navigation :is(button,a):focus-visible { outline-color:var(--site-focus); outline-offset:-3px; }
  #toast-region[popover] { inset:auto .65rem calc(76px + env(safe-area-inset-bottom,0px)) .65rem; }
  #toast-region:not([popover]) { bottom:calc(76px + env(safe-area-inset-bottom,0px)); }
  body.site-page .segmented { grid-template-columns:repeat(6,1fr); gap:2px; }
  body.site-page .segmented button { min-height:42px; font-size:.74rem; }
  body.site-page .segmented button:nth-child(-n+3) { grid-column:span 2; }
  body.site-page .segmented button:nth-child(n+4) { grid-column:span 3; }
  body.site-page:not(.mobile-list-open) .result-list .archive-more { flex:0 0 auto; flex-direction:column; justify-content:center; padding:0 1rem; }
  body.site-page .wizard-footer { flex-wrap:wrap; }
}
@media (max-width:360px) {
  body.site-page .app-navigation .app-nav-item { font-size:.56rem; padding-inline:0; }
}

/* One editorial header for every view: the home navigation now frames the atlas, archive and project. */
body.site-page { --site-header-h:80px; }
body.site-page .site-header { gap:clamp(.6rem,1.4vw,1.4rem); justify-content:flex-start; }
body.site-page .site-header .brand { flex:none; min-width:0; color:#fff; }
body.site-page .app-nav-toggle { display:none; }
body.site-page .header-actions { flex:none; gap:.45rem; }
body.site-page .lang-picker { padding:2px; border:1px solid rgba(255,255,255,.22); border-radius:99px; background:transparent; box-shadow:none; }
body.site-page .lang-btn { min-height:30px; padding:0 .62rem; border:0; border-radius:99px; background:transparent; color:#c9d8de; font:600 .66rem system-ui,sans-serif; letter-spacing:.08em; box-shadow:none; }
body.site-page .lang-btn:hover { color:#fff; }
body.site-page .lang-btn.active { background:var(--site-cyan); color:var(--site-ink); }
body.site-page .connection-pill { min-height:36px; border-color:rgba(255,255,255,.22); border-radius:99px; background:transparent; color:#fff; }
body.site-page .header-text-button { color:#d8e3e9; font:400 .95rem Georgia,serif; }
body.site-page .header-text-button:hover:not(:disabled) { color:var(--site-cyan); }
body.site-page #auth-button { min-height:40px; border:1px solid rgba(255,255,255,.55); border-radius:99px; background:transparent; color:#fff; font-family:Georgia,serif; font-weight:400; box-shadow:none; }
body.site-page #auth-button:hover { border-color:var(--site-cyan); background:var(--site-cyan); color:var(--site-ink); }
.method-section.app-view-panel { min-height:calc(100dvh - var(--site-header-h)); }

@media (min-width:821px) {
  body.site-page .app-navigation, body.site-page.nav-collapsed .app-navigation { position:static; z-index:auto; width:auto; height:80px; min-width:0; margin-left:auto; flex:0 1 auto; transform:none; visibility:visible; pointer-events:auto; }
  body.site-page .app-nav-item { white-space:nowrap; }
  body.site-page .atlas-shell { height:calc(100dvh - var(--site-header-h)); }
  body.app-view-archive .detail-panel { top:var(--site-header-h); }
}
@media (min-width:821px) and (max-width:1439px) {
  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; }
}
@media (min-width:821px) and (max-width:1279px) {
  body.site-page .brand small, body.site-page #stats-button { display:none; }
  body.site-page .brand strong { font-size:1.3rem; }
}
@media (min-width:821px) and (max-width:1023px) {
  body.site-page .site-header { padding-inline:1rem; }
  body.site-page .brand span { display:none; }
  body.site-page .app-nav-item { padding-inline:.32rem; font-size:.8rem; }
  body.site-page .lang-btn { padding:0 .45rem; }
}
@media (max-width:820px) {
  body.site-page { --site-header-h:calc(58px + var(--header-inset)); }
  body.site-page:not(.app-view-archive) .atlas-shell { height:calc(100svh - var(--site-header-h) - 66px - env(safe-area-inset-bottom,0px)); }
  body.site-page .site-header { justify-content:space-between; gap:.5rem; padding-inline:max(.85rem,env(safe-area-inset-left,0px)) max(.85rem,env(safe-area-inset-right,0px)); }
  body.site-page .header-actions { gap:.35rem; }
  body.site-page .lang-btn { min-height:32px; padding:0 .5rem; }
  body.site-page #auth-button { min-height:36px; min-width:0; padding:0 .8rem; }
}
@media (max-width:430px) {
  body.site-page .brand small { display:none; }
  body.site-page .brand { gap:.5rem; }
  body.site-page .brand strong { font-size:1rem; letter-spacing:.06em; }
  body.site-page .lang-btn { padding:0 .4rem; }
  body.site-page #auth-button { padding:0 .65rem; }
}
@media (max-width:374px) {
  body.site-page .brand span { display:none; }
}

/* Atlas accents follow the home palette. */
body.site-page .explorer-panel::before { width:104px; height:6px; background:linear-gradient(90deg,#7cc8ce 0 20%,transparent 20% 25%,#49d1d1 25% 52%,transparent 52% 57%,#e69c82 57%); }
body.site-page .map-tools button { color:#073968; }
body.site-page .map-tools button:hover { background:#e2f3f0; color:#0a6779; }
body.site-page .map-tools button.active { background:#073968 !important; color:#fff !important; }
body.site-page .atlas-pulse { border-color:#b8cdc9; border-radius:6px; background:#b8cdc9; box-shadow:none; }
body.site-page .atlas-pulse div { background:#fbfaf5; }
body.site-page .atlas-pulse span { color:#4c6673; }
@media (min-width:821px) and (max-width:1199px) {
  body.site-page:not(.app-view-archive) .atlas-pulse { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* Moderation: readable field names and visible changes. */
body.site-page .compare-table { font-size:.82rem; }
body.site-page .compare-table td { overflow-wrap:anywhere; }
body.site-page .compare-table tr.changed td:last-child { background:#e2f3f0; color:#073968; font-weight:600; }
body.site-page .compare-table tr.changed th { box-shadow:inset 3px 0 #0d8793; }
body.site-page .change-flag { display:inline-block; margin-left:.35rem; padding:.05rem .4rem; border-radius:99px; background:#0d8793; color:#fff; font:700 .62rem system-ui,sans-serif; letter-spacing:.04em; text-transform:uppercase; }

/* Project page: the same editorial rhythm as the home (ivory bands, indexes, serif headings, ruled lists). */
body.site-page .method-section { display:block; padding:0; overflow:visible; border:0; background:var(--site-paper); color:var(--site-ink); }
body.site-page .method-section::before, body.site-page .method-section::after { display:none; }
body.site-page .method-section .section-index { margin:0 0 1.4rem; color:#426579; }
body.site-page .method-intro { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr); gap:1.6rem clamp(2rem,6vw,6rem); align-items:end; padding:clamp(4rem,8vw,7rem) clamp(1.5rem,7vw,7rem) clamp(2.5rem,4vw,3.5rem); }
body.site-page .method-intro .section-index { grid-column:1 / -1; margin:0; }
body.site-page .method-intro h2 { grid-column:1; max-width:820px; margin:0; color:var(--site-ink); font:400 clamp(3rem,5.6vw,6rem)/1 Georgia,serif; letter-spacing:-.05em; text-wrap:balance; }
body.site-page .method-intro > p:not(.section-index) { grid-column:2; max-width:460px; margin:0; color:#385365; font-size:1.08rem; line-height:1.65; }
body.site-page .method-principle { grid-column:1 / -1; display:flex; flex-wrap:wrap; align-items:baseline; gap:.6rem 1.6rem; margin:1.2rem 0 0; padding:1.5rem 0 0; border:0; border-top:1px solid #afc7c3; border-radius:0; background:none; }
body.site-page .method-principle strong { color:#0e7785; font:700 .72rem system-ui,sans-serif; letter-spacing:.14em; text-transform:uppercase; }
body.site-page .method-principle span { color:var(--site-ink); font:400 clamp(1.25rem,2.1vw,1.75rem)/1.35 Georgia,serif; }
body.site-page .method-body { padding:0 clamp(1.5rem,7vw,7rem) clamp(4rem,7vw,6rem); }
body.site-page .method-flow { display:flex; flex-wrap:wrap; align-items:center; gap:.8rem 1.4rem; margin:0; padding:1.1rem 0; border:0; border-block:1px solid #afc7c3; border-radius:0; background:none; }
body.site-page .method-flow span { gap:.55rem; color:var(--site-ink); font:400 1.2rem Georgia,serif; }
body.site-page .method-flow b { color:#16808d; font:400 .95rem Georgia,serif; letter-spacing:0; }
body.site-page .method-flow i { color:#8aa3b1; }
body.site-page .method-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 clamp(2rem,5vw,5rem); margin:1.5rem 0 0; padding:0; background:none; }
body.site-page .method-grid li { min-height:0; display:grid; grid-template-columns:3.2rem 1fr; gap:1rem; padding:1.6rem 0; border:0; border-bottom:1px solid #afc7c3; border-radius:0; background:none; box-shadow:none; }
body.site-page .method-grid li:hover { border-color:#16808d; background:none; transform:none; }
body.site-page .method-grid li > span { color:#16808d; font:400 1.5rem Georgia,serif; letter-spacing:0; }
body.site-page .method-grid li h3 { margin:0 0 .45rem; color:#0a2d45; font:400 1.6rem/1.15 Georgia,serif; }
body.site-page .method-grid li p { margin:0; color:#4c6673; font-size:.95rem; line-height:1.6; }
body.site-page .method-grid li em { color:#0e7785; }
.method-terms { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.6fr); align-items:start; gap:2.5rem clamp(2rem,5vw,5rem); padding:clamp(4rem,7vw,6rem) clamp(1.5rem,7vw,7rem); background:#dbe5e7; }
.method-terms h2, .method-join h2 { margin:0; color:var(--site-ink); font:400 clamp(2.4rem,4vw,4.4rem)/1.04 Georgia,serif; letter-spacing:-.047em; text-wrap:balance; }
.method-terms h2 em, .method-join h2 em { color:var(--site-blue); font-style:normal; }
body.site-page .method-definitions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem; margin:0; background:none; }
body.site-page .method-definitions article { padding:1.2rem 0 0; border:0; border-top:2px solid #0e7785; border-radius:0; background:none; box-shadow:none; }
body.site-page .method-definitions article:hover { background:none; transform:none; }
body.site-page .method-definitions small { color:#0e7785; font:700 .68rem system-ui,sans-serif; letter-spacing:.12em; }
body.site-page .method-definitions h3 { margin:.6rem 0 .5rem; color:#0a2d45; font:400 1.7rem/1.1 Georgia,serif; }
body.site-page .method-definitions p { color:#385365; font-size:.95rem; line-height:1.6; }
.method-join { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:2rem 4rem; padding:clamp(4rem,7vw,6rem) clamp(1.5rem,7vw,7rem); background:#f1f2e9; }
.method-join h2 { max-width:720px; }
.method-join-actions { display:flex; flex-wrap:wrap; align-items:center; gap:1.6rem; }
body.site-page .site-footer { align-items:center; }

@media (max-width:820px) {
  body.site-page .method-intro { grid-template-columns:1fr; padding:3.5rem 1.35rem 2rem; }
  body.site-page .method-intro h2, body.site-page .method-intro > p:not(.section-index) { grid-column:1; }
  body.site-page .method-intro h2 { font-size:clamp(2.6rem,10vw,3.4rem); }
  body.site-page .method-body { padding:0 1.35rem 3.5rem; }
  body.site-page .method-flow span { font-size:1.02rem; }
  body.site-page .method-flow i { display:none; }
  body.site-page .method-grid, body.site-page .method-definitions, .method-terms { grid-template-columns:1fr; }
  body.site-page .method-grid li { padding:1.3rem 0; }
  .method-terms, .method-join { padding:3.5rem 1.35rem; }
  body.site-page .method-section.app-view-panel { padding-bottom:0; }
}

/* Archive page: editorial introduction like "Aprende". */
body.app-view-archive.site-page .explorer-panel { padding:clamp(3rem,6vw,6rem) clamp(1.5rem,7vw,7rem) 4rem; background:var(--site-paper); }
body.app-view-archive.site-page .explorer-panel::before { margin-bottom:1.6rem; }
body.app-view-archive.site-page .explorer-panel h1 { max-width:900px; margin:.4rem 0 1.2rem; font-size:clamp(3.2rem,6vw,6rem); line-height:1; }
body.app-view-archive.site-page .explorer-panel .intro { max-width:690px; color:#40596b; font-size:1.12rem; line-height:1.65; }
body.app-view-archive.site-page .atlas-pulse { max-width:900px; margin:2.5rem 0; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; border:0; border-top:1px solid #afc7c3; border-radius:0; background:none; }
body.app-view-archive.site-page .atlas-pulse div { padding:1.2rem 1.2rem 0 0; background:none; }
body.app-view-archive.site-page .atlas-pulse strong { font-size:clamp(2.4rem,4vw,3.6rem); letter-spacing:-.05em; }
body.app-view-archive.site-page .atlas-pulse span { font-size:.68rem; letter-spacing:.12em; }
@media (max-width:820px) {
  body.app-view-archive.site-page .explorer-panel { padding:2.5rem 1.35rem 2rem; }
  body.app-view-archive.site-page .explorer-panel h1 { font-size:clamp(2.6rem,10vw,3.4rem); }
  body.app-view-archive.site-page .atlas-pulse { grid-template-columns:repeat(2,minmax(0,1fr)); margin:1.8rem 0; }
}

/* Experimental Maya assistant on the Learn page. */
.learn-assistant[hidden] { display:none !important; }
.learn-assistant { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:2rem clamp(2rem,5vw,5rem); margin-top:clamp(3.5rem,6vw,5rem); padding-top:clamp(2.5rem,4vw,3.5rem); border-top:1px solid #b2c3c7; }
.assistant-intro h2 { margin:0; font:400 clamp(2.4rem,4vw,4.2rem)/1.04 Georgia,serif; letter-spacing:-.047em; text-wrap:balance; }
.assistant-intro h2 em { color:var(--site-blue); font-style:normal; }
.assistant-intro > p:not(.section-index) { max-width:520px; margin:1.4rem 0 0; color:#40596b; font-size:1.02rem; line-height:1.65; }
.assistant-form { display:grid; gap:.75rem; align-content:start; }
.assistant-form label { color:#28506a; font-weight:700; }
.assistant-form textarea { width:100%; min-height:110px; padding:1rem 1.1rem; border:1px solid #8caab6; border-radius:5px; background:#fff; color:var(--site-ink); font:1.15rem/1.45 Georgia,serif; resize:vertical; }
.assistant-form textarea:focus { border-color:#0d8793; outline:3px solid rgba(73,209,209,.3); }
.assistant-suggestions { display:flex; flex-wrap:wrap; gap:.5rem; }
.assistant-suggestions button { min-height:40px; padding:.45rem .9rem; border:1px solid #8caab6; border-radius:99px; background:transparent; color:#0a2d45; cursor:pointer; font:400 .92rem Georgia,serif; }
.assistant-suggestions button:hover { border-color:#0d8793; background:#e2f3f0; }
.assistant-actions { display:flex; flex-wrap:wrap; align-items:center; gap:1rem 1.4rem; margin-top:.4rem; }
.assistant-actions .home-cta:disabled { opacity:.6; cursor:progress; transform:none; }
.assistant-actions small { color:#59717d; font-size:.82rem; }
.assistant-answer { grid-column:2; }
.assistant-answer:empty { display:none; }
.assistant-loading, .assistant-error { margin:0; padding:1rem 0; color:#40596b; }
.assistant-error { color:var(--site-error); font-weight:600; }
.assistant-result { padding:1.6rem; border-left:3px solid var(--site-cyan); background:#fff; }
.assistant-meta { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem 1rem; color:#59717d; font-size:.74rem; letter-spacing:.04em; }
.assistant-confidence { padding:.2rem .6rem; border-radius:99px; font-weight:700; }
.confidence-alta { background:#dff1ee; color:#0a5d58; }
.confidence-media { background:#eaf0f6; color:#1b4a72; }
.confidence-baja { background:#fbe9e2; color:#8a3a22; }
.assistant-maya { margin:1.1rem 0 .3rem; color:var(--site-ink); font:400 clamp(2rem,3.4vw,2.8rem)/1.1 Georgia,serif; }
.assistant-pronunciation { display:grid; gap:.2rem; margin:.4rem 0 0; color:#28506a; font-size:.95rem; }
.assistant-pronunciation small { color:#547284; font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; }
.assistant-text { margin:1rem 0 0; color:#314a5b; line-height:1.65; }
.assistant-notes { margin:.8rem 0 0; padding-left:1.1rem; color:#40596b; font-size:.92rem; line-height:1.55; }
.assistant-check { margin:1.2rem 0 0; padding-top:.9rem; border-top:1px solid #d6e2e4; color:#59717d; font-size:.82rem; }
.assistant-check a { color:var(--site-blue); }
@media (max-width:820px) {
  .learn-assistant { grid-template-columns:1fr; }
  .assistant-answer { grid-column:1; }
  .assistant-result { padding:1.2rem; }
}

/* Dictionary: verified entries first, archive attestations, then an optional AI lookup. */
.word-entry-footer { grid-column:1 / -1; display:flex; flex-wrap:wrap; align-items:center; gap:.5rem 1rem; }
.word-entry-footer a { width:auto; }
.word-badge { padding:.15rem .55rem; border-radius:99px; font:700 .64rem system-ui,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.word-badge-verified { background:#dff1ee; color:#0a5d58; }
.word-archive { padding:1.4rem .2rem; border-bottom:1px solid #b2c3c7; }
.word-archive h3 { margin:0; font:400 1.45rem Georgia,serif; }
.word-archive-help { margin:.3rem 0 .9rem; color:#547284; font-size:.82rem; }
.word-archive ul { display:grid; gap:.7rem; margin:0; padding:0; list-style:none; }
.word-archive li { display:grid; grid-template-columns:1fr auto; gap:.2rem 1rem; align-items:center; padding:.75rem .9rem; border-left:3px solid #0e7785; background:#fff; }
.word-archive q { color:var(--site-ink); font:400 1.08rem/1.35 Georgia,serif; quotes:'«' '»'; }
.word-archive small { grid-column:1; color:#547284; font-size:.74rem; }
.word-archive-open { grid-column:2; grid-row:1 / span 2; min-height:40px; padding:.4rem .8rem; border:1px solid #0e7785; border-radius:99px; background:transparent; color:#0a5d58; cursor:pointer; font:600 .78rem system-ui,sans-serif; white-space:nowrap; }
.word-archive-open:hover { background:#0e7785; color:#fff; }
.word-ai { display:grid; gap:.8rem; padding:1.4rem .2rem; }
.word-ai-intro { margin:0; color:#40596b; font-size:.9rem; line-height:1.5; }
.word-ai-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.8rem 1.2rem; }
.word-ai-button { overflow-wrap:anywhere; }
.word-ai-button:disabled { opacity:.6; cursor:progress; transform:none; }
.word-ai-remaining { color:#59717d; font-size:.8rem; }
.word-ai-answer:empty { display:none; }
@media (max-width:430px) {
  .word-archive li { grid-template-columns:1fr; }
  .word-archive-open { grid-column:1; grid-row:auto; justify-self:start; }
}
