/* @mostajs/geo — exemples basics (web). Author: Dr Hamid MADANI <drmdh@msn.com> */
:root{--bg:#0f172a;--card:#1e293b;--txt:#e2e8f0;--muted:#94a3b8;--accent:#38bdf8;--ok:#22c55e;--warn:#f97316}
*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background:var(--bg);color:var(--txt);line-height:1.5}
a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}
header{padding:1rem 1.5rem;border-bottom:1px solid #334155;display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
header h1{font-size:1.15rem;margin:0;color:var(--accent)}
header .crumb{color:var(--muted);font-size:.9rem}
main{max-width:920px;margin:0 auto;padding:1.5rem}
.card{background:var(--card);border-radius:10px;padding:1.1rem 1.25rem;margin-bottom:1.25rem;border:1px solid #334155}
h2{font-size:1rem;color:var(--muted);margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.04em}
label{display:block;font-size:.85rem;color:var(--muted);margin:.5rem 0 .15rem}
input,button,select,textarea{font:inherit;border-radius:7px;border:1px solid #475569;background:#0b1220;color:var(--txt);padding:.5rem .7rem}
button{background:var(--accent);color:#04222e;border:0;font-weight:600;cursor:pointer}
button:hover{filter:brightness(1.08)}
button.ghost{background:transparent;color:var(--muted);border:1px solid #475569}
textarea{width:100%;min-height:140px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.86rem;color:#cbd5e1;resize:vertical;line-height:1.45}
#code{min-height:160px}
.row{display:flex;gap:.6rem;flex-wrap:wrap;align-items:end}
.result{margin-top:.9rem;padding:.8rem 1rem;background:#0b1220;border-radius:8px;border-left:3px solid var(--ok);white-space:pre-wrap;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.92rem}
.truth{margin-top:.6rem;font-size:.85rem;color:var(--muted)}
.truth b{color:var(--ok)}
pre{margin:0;overflow:auto;background:#0b1220;border-radius:8px;padding:1rem;border:1px solid #334155}
code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.86rem;color:#cbd5e1}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}
.gallery a{display:block;background:var(--card);border:1px solid #334155;border-radius:10px;padding:1rem;color:var(--txt)}
.gallery a:hover{border-color:var(--accent);text-decoration:none}
.gallery .fn{color:var(--accent);font-weight:600}
.gallery .d{color:var(--muted);font-size:.85rem;margin-top:.25rem}
.badge{font-size:.75rem;padding:.1rem .5rem;border-radius:999px;background:#0b1220;border:1px solid #475569;color:var(--muted)}
footer{max-width:920px;margin:0 auto;padding:1rem 1.5rem;color:var(--muted);font-size:.85rem;border-top:1px solid #334155}
