/* ATMA site shell (home, course map, glossary) — layers on top of doc.css's
   tokens and reset; kept in its own file per docs/04 D so the lesson-page
   stylesheet stays untouched by site-shell changes. */
.site-top{display:flex;justify-content:space-between;align-items:center;gap:12px;max-width:900px;margin:0 auto;padding:24px 20px 0}
.site-top .lang{display:inline-flex;gap:4px}
.site-top .lang a{color:var(--muted);text-decoration:none;font-size:13px;font-weight:700;padding:5px 11px;border-radius:99px}
.site-top .lang a:hover{background:var(--panel)}
.site-top .lang a[aria-current]{background:var(--indigo);color:var(--paper)}

.course-block{margin-block:28px;padding-bottom:20px;border-bottom:1px solid var(--rule)}
.course-block h2{margin-bottom:6px}
.tool-line{font-size:13px;color:var(--muted);margin-bottom:12px}
.tool-line a{color:var(--indigo)}
.course-progress{font-size:13px;font-weight:700;color:var(--indigo);text-transform:capitalize;margin-top:8px}

.table-scroll{overflow-x:auto}
.map-table{width:100%;border-collapse:collapse;font-size:14px;min-width:520px}
.map-table th,.map-table td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--rule)}
[dir=rtl] .map-table th,[dir=rtl] .map-table td{text-align:right}
.map-table th{font-family:"Archivo",sans-serif;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}

.status-pill{display:inline-block;padding:3px 10px;border-radius:99px;font-size:12px;font-weight:700}
.st-none{background:var(--panel);color:var(--muted)}
.st-drafted{background:#fff3cd;color:#8a6100}
.st-built{background:#dbe6ff;color:#1c3fa0}
.st-green{background:#d8f5df;color:#1a7a3c}

.langs a{margin-inline-end:6px;color:var(--indigo);text-decoration:none;font-weight:700;font-size:12px}
.lang-off{margin-inline-end:6px;color:var(--muted);font-size:12px}
.free-tag{font-size:11px;font-weight:700;color:var(--ok, #1a7a3c);border:1px solid currentColor;border-radius:99px;padding:1px 7px;margin-inline-start:6px}

.glossary-search{width:100%;max-width:900px;margin:20px auto 18px;display:block;padding:13px 16px 13px 44px;border:1px solid var(--rule);border-radius:12px;font-size:16px;font-family:inherit;background:var(--paper) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round'><circle cx='8' cy='8' r='6'/><path d='m13 13 4 4'/></svg>") no-repeat 15px center;box-shadow:0 1px 2px rgba(0,0,0,.04)}
[dir=rtl] .glossary-search{padding:13px 44px 13px 16px;background-position:right 15px center}
.glossary-search:focus{outline:2px solid var(--indigo);outline-offset:1px;border-color:transparent}
.glossary-table{width:100%;border-collapse:separate;border-spacing:0;font-size:15px;background:var(--paper);border:1px solid var(--rule);border-radius:12px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.05)}
.glossary-table th{position:sticky;top:0;background:var(--panel);font-family:"Archivo",sans-serif;font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);padding:12px 14px;text-align:left;border-bottom:1px solid var(--rule);z-index:1}
.glossary-table td{padding:13px 14px;text-align:left;border-bottom:1px solid var(--rule);vertical-align:top;line-height:1.55}
.glossary-table tbody tr:nth-child(even){background:rgba(0,0,0,.018)}
.glossary-table tbody tr:hover{background:rgba(31,58,95,.06)}
.glossary-table tbody tr:last-child td{border-bottom:0}
[dir=rtl] .glossary-table th,[dir=rtl] .glossary-table td{text-align:right}
.glossary-table .g-term{font-family:"Archivo",sans-serif;font-weight:700;color:var(--indigo);width:26%}
.glossary-table .g-meaning{width:56%}
.glossary-table .g-lesson{white-space:nowrap}
.glossary-table .g-lesson a{font:600 12px/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--indigo);text-decoration:none;background:var(--panel);border:1px solid var(--rule);border-radius:99px;padding:5px 9px;display:inline-block}
.glossary-table .g-lesson a:hover{background:var(--indigo);color:var(--paper)}
.glossary-table .muted{color:var(--muted);font-size:12px}
@media (max-width:640px){.glossary-table thead{display:none}.glossary-table,.glossary-table tbody,.glossary-table tr,.glossary-table td{display:block;width:auto!important}.glossary-table tr{padding:12px 14px;border-bottom:1px solid var(--rule)}.glossary-table td{padding:2px 0;border:0}}

.home-wrap{max-width:720px;margin:0 auto;padding:80px 20px;text-align:center}
.home-wrap h1{font-size:48px;margin-bottom:4px}
.home-sub{color:var(--muted);margin-bottom:40px}
.home-choose{font-size:15px;font-weight:600;margin-bottom:20px}
.home-lang-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
@media (max-width:520px){.home-lang-grid{grid-template-columns:1fr}}
.home-lang-card{display:block;padding:20px;border:1px solid var(--rule);border-radius:14px;text-decoration:none;color:inherit;transition:box-shadow .15s,transform .15s}
.home-lang-card:hover{box-shadow:0 6px 20px rgba(0,0,0,.08);transform:translateY(-2px)}
.home-lang-name{display:block;font-family:"Archivo",sans-serif;font-weight:700;font-size:18px;margin-bottom:4px}
.home-lang-tagline{display:block;font-size:13px;color:var(--muted)}

/* ---- shared ATMA header and footer for the generated pages (same look as the app) ---- */
.atma-top{background:#14304f;color:#fff;border-bottom:0}
.atma-top-in{max-width:1100px;margin:0 auto;padding:10px 20px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px}
.atma-brand{display:inline-flex;align-items:center;gap:14px;text-decoration:none;color:#fff}
.atma-brand img{height:64px;width:auto;background:#fff;border-radius:16px;padding:6px;box-sizing:content-box;display:block}
.atma-name{font:700 clamp(2rem,1.4rem + 2vw,3rem)/1 "Archivo",system-ui,sans-serif;letter-spacing:-.01em;color:#fff}
.atma-academy{flex:1 1 220px;font:600 15px/1.4 "Archivo",system-ui,sans-serif;color:#dbe6f3;max-width:26ch;padding-inline-start:14px;border-inline-start:1px solid rgba(255,255,255,.3)}
.atma-top-end{margin-inline-start:auto;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.atma-lang{display:flex;gap:2px}
.atma-lang a{font:700 13px "Archivo",system-ui,sans-serif;color:#dbe6f3;text-decoration:none;padding:6px 10px;border-radius:99px;min-height:32px;display:inline-flex;align-items:center}
.atma-lang a:hover{background:rgba(255,255,255,.12);color:#fff}
.atma-lang a[aria-current]{background:#fff;color:#14304f}
.atma-btn{font:700 14px "Archivo",system-ui,sans-serif;color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.55);border-radius:8px;padding:8px 14px}
.atma-btn:hover{background:rgba(255,255,255,.12);border-color:#fff}
.atma-btn-primary{background:#f3704c;border-color:#f3704c;color:#14304f}
.atma-btn-primary:hover{background:#ff8460;border-color:#ff8460}
.atma-nav{flex:1 0 100%;display:flex;flex-wrap:wrap;gap:4px 22px;border-top:1px solid rgba(255,255,255,.18);padding-top:8px}
.atma-nav a{font:600 14.5px "Archivo",system-ui,sans-serif;color:#fff;text-decoration:none;padding:6px 2px}
.atma-nav a:hover{color:#ffb59d;text-decoration:underline}
.atma-nav a[aria-current]{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px;text-decoration-color:#f3704c}
@media (max-width:599px){.atma-brand img{height:42px;padding:5px;border-radius:12px}.atma-name{font-size:2rem}.atma-academy{display:none}.atma-top-end{margin-inline-start:0}}

.atma-foot{margin-top:56px;border-top:1px solid var(--rule);background:var(--panel);padding:36px 20px 28px;font-size:15px}
.atma-foot-in{max-width:1100px;margin:0 auto}
.atma-foot-grid{display:grid;gap:28px;grid-template-columns:1fr}
@media (min-width:720px){.atma-foot-grid{grid-template-columns:1.4fr 1fr 1fr}}
.atma-foot .atma-brand{color:#14304f}
.atma-foot .atma-brand img{height:52px;background:transparent;padding:0;border-radius:0}
.atma-foot .atma-name{color:#14304f;font-size:2.1rem}
.atma-foot h2{font:600 12px "Archivo",system-ui,sans-serif;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}
[dir=rtl] .atma-foot h2{letter-spacing:0;text-transform:none;font-size:14px}
.atma-foot ul{list-style:none;margin:0;padding:0}
.atma-foot li{margin-bottom:6px}
.atma-foot a{color:var(--ink,#211f1b)}
.atma-foot-muted{color:var(--muted);margin:10px 0 0}
.atma-social{display:inline-flex;align-items:center;gap:8px;margin-top:14px;padding:8px 14px;border:1px solid var(--rule);border-radius:99px;background:var(--paper);color:#0a66c2!important;font:700 14px "Archivo",system-ui,sans-serif;text-decoration:none}
.atma-social:hover{border-color:#0a66c2;background:#fff}
.atma-foot-note{margin:26px 0 0;color:var(--muted);font-size:13px}

/* ---- course map: tracks open on demand ---- */
.map-wrap{max-width:960px}
.map-lead{color:var(--muted);margin:-6px 0 4px}
.track-jump{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:14px 0 8px}
.track-jump span{font-size:13px;font-weight:700;color:var(--muted);margin-inline-end:6px}
.track-jump a{font:700 12px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--indigo);text-decoration:none;background:var(--panel);border:1px solid var(--rule);border-radius:99px;padding:5px 9px}
.track-jump a:hover{background:var(--indigo);color:var(--paper)}
.map-actions{margin:6px 0 16px}
.map-actions button{font:600 13px "Archivo",system-ui,sans-serif;color:var(--indigo);background:none;border:1px solid var(--rule);border-radius:8px;padding:6px 12px;cursor:pointer}
.map-actions button:hover{background:var(--panel)}
details.track{border:1px solid var(--rule);border-radius:12px;margin-bottom:10px;background:var(--paper);scroll-margin-top:16px}
details.track>summary{list-style:none;cursor:pointer;display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 14px;padding:16px 18px}
details.track>summary::-webkit-details-marker{display:none}
details.track>summary::after{content:"+";margin-inline-start:auto;font:700 22px/1 "Archivo",sans-serif;color:var(--indigo)}
details.track[open]>summary::after{content:"–"}
.track-id{font:700 13px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--paper);background:#14304f;border-radius:6px;padding:4px 8px}
.track-title{font:700 1.1rem "Archivo",system-ui,sans-serif;color:var(--ink,#211f1b)}
.track-count{font-size:13px;color:var(--muted)}
.track-courses{padding:0 14px 8px}
details.course-block{border:0;border-top:1px solid var(--rule);margin:0;padding:0;scroll-margin-top:16px}
details.course-block>summary{list-style:none;cursor:pointer;display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;padding:13px 4px}
details.course-block>summary::-webkit-details-marker{display:none}
details.course-block>summary::before{content:"▸";color:var(--indigo);font-size:13px}
details.course-block[open]>summary::before{content:"▾"}
.course-code{font:700 12px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--indigo)}
.course-title{font-weight:700}
.course-progress{margin-inline-start:auto;font-size:12px;font-weight:700;color:var(--indigo)}
details.course-block .tool-line,details.course-block .table-scroll{margin-inline:4px}
details.course-block .table-scroll{margin-bottom:14px}
#mapNone{color:var(--muted);padding:24px 0;text-align:center}
[hidden]{display:none!important}

.atma-skip{position:absolute;inset-inline-start:8px;top:-60px;z-index:100;background:#fff;color:#14304f;font:700 14px "Archivo",system-ui,sans-serif;padding:10px 14px;border-radius:8px;text-decoration:none}
.atma-skip:focus{top:8px}
.atma-top a:focus-visible,.atma-foot a:focus-visible{outline:3px solid #f3704c;outline-offset:2px}

@media (pointer: coarse){.atma-lang a,.atma-nav a,.atma-btn,.atma-foot li a,.atma-social{min-height:44px;display:inline-flex;align-items:center}.atma-foot li{margin-bottom:4px}.atma-nav a{padding-block:10px}}
