/* Public visit statistics and the two mathematical easter eggs. */
.math-secret { display:flex; align-items:center; justify-content:center; margin:0; width:44px; height:44px; flex-shrink:0; border:1px solid var(--line); border-radius:50%; background:transparent; color:var(--muted); font:20px Georgia,serif; cursor:pointer; }
.math-secret:hover { background:var(--hover-surface); color:var(--ink); }
.abdu-dialog { box-sizing:border-box; border:1px solid var(--line); border-radius:28px; padding:38px; width:min(510px,calc(100% - 32px)); max-height:calc(100vh - 32px); max-height:calc(100dvh - 32px); overflow:auto; color:var(--ink); background:var(--surface); box-shadow:0 24px 90px var(--dialog-shadow); font:16px/1.6 -apple-system,BlinkMacSystemFont,'Helvetica Neue',Arial,sans-serif; }
.abdu-dialog::backdrop { background:var(--veil); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); }
.abdu-dialog h2 { font-size:30px; line-height:1.12; letter-spacing:-.04em; margin:20px 0 14px; }
.abdu-dialog p { margin:12px 0; }
.abdu-dialog .eyebrow { color:var(--muted); font-size:12px; line-height:1.4; letter-spacing:.04em; }
.abdu-dialog .dialog-close { position:absolute; right:16px; top:14px; border:0; border-radius:50%; background:var(--paper); color:var(--muted); width:44px; height:44px; font-size:26px; cursor:pointer; }
.abdu-formula { padding:23px 8px; margin:24px 0; border-radius:18px; background:var(--tint); text-align:center; font:32px/1.5 Georgia,serif; color:var(--accent); }
.abdu-formula sup { font-size:.6em; }
.abdu-formula .lim { display:inline-flex; flex-direction:column; vertical-align:middle; font-size:.9em; line-height:1.2; }
.abdu-formula .lim small { font-size:.45em; }
.abdu-dialog .dialog-action,.math-answers button { font:500 15px/1.4 -apple-system,BlinkMacSystemFont,'Helvetica Neue',Arial,sans-serif; min-height:44px; padding:12px 20px; border:1px solid var(--accent-fill); border-radius:999px; cursor:pointer; background:var(--accent-fill); color:var(--accent-ink); }
.abdu-dialog button:focus-visible { outline:3px solid var(--accent-fill); outline-offset:4px; }
.math-answers { display:flex; gap:12px; margin:22px 0; }
.math-answers button { flex:1; border-radius:14px; border-color:var(--line); background:var(--surface); color:var(--ink); font:26px Georgia,serif; }
.math-answers button:hover,.math-answers button[aria-pressed="true"] { background:var(--tint); border-color:var(--accent-fill); }
.math-answers button.is-correct { border-color:var(--success); background:var(--success); color:var(--success-ink); }
.math-feedback { min-height:76px; }
.math-sparkles { position:fixed; inset:0; overflow:hidden; pointer-events:none; z-index:1; }
.math-sparkle { position:absolute; top:-40px; font:25px Georgia,serif; color:var(--lesson-teal-secondary); opacity:0; animation:abdu-math-fall 2.8s ease-out both; }
@keyframes abdu-math-fall { 8% { opacity:.7; } 85% { opacity:.55; } to { transform:translateY(70vh) rotate(160deg); opacity:0; } }
.visit-section { background:var(--paper); color:var(--ink); padding:96px 40px 64px; }
.visit-wrap { max-width:1120px; margin:0 auto; }
.visit-eyebrow { font-size:12px; font-weight:600; letter-spacing:.07em; color:var(--muted); margin:0 0 16px; }
.visit-section h2 { font-size:clamp(34px,4.5vw,56px); line-height:1.1; letter-spacing:-.045em; margin:0 0 20px; }
.visit-intro { max-width:650px; font-size:19px; line-height:1.5; color:var(--muted); }
.visit-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:44px 0; }
.visit-metrics > div { display:flex; min-width:0; flex-direction:column; padding:30px; background:var(--surface); border-radius:24px; }
.visit-metrics strong { font-size:clamp(40px,5vw,64px); font-weight:600; line-height:1.1; letter-spacing:-.05em; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.visit-metrics span { margin-top:14px; font-size:14px; color:var(--muted); }
.visit-details { display:grid; grid-template-columns:1fr 1.2fr; gap:60px; margin:40px 0 22px; }
.visit-details h3 { font-size:22px; line-height:1.3; letter-spacing:-.025em; margin:0 0 12px; }
#visit-period { color:var(--muted); font-size:14px; line-height:1.7; margin:0; }
.visit-country-list { margin:0; padding:0; list-style:none; }
.visit-country-list li { display:grid; grid-template-columns:1fr auto; gap:8px 20px; margin-bottom:20px; font-size:14px; }
.visit-country-list .country-count { font-weight:600; font-variant-numeric:tabular-nums; }
.country-track { grid-column:1/-1; background:var(--line); height:5px; border-radius:4px; overflow:hidden; }
.country-bar { display:block; height:100%; min-width:3px; border-radius:4px; background:var(--accent-fill); }
.visit-status { color:var(--muted); font-size:13px; min-height:22px; }
.visit-privacy { border-top:1px solid var(--line); margin-top:22px; padding-top:16px; font-size:12px; line-height:1.7; color:var(--muted); }
.visit-privacy summary { cursor:pointer; font-weight:500; width:fit-content; min-height:44px; padding-block:10px; }
.visit-privacy p { margin:12px 0; max-width:850px; }
@media (max-width:800px) { .visit-section { padding:80px 28px 50px; } .visit-details { gap:30px; } .visit-metrics { gap:16px; } }
@media (max-width:600px) {
  .visit-section { padding:68px 24px 40px; }
  .visit-intro { font-size:17px; }
  .visit-metrics { gap:10px; margin:30px 0; }
  .visit-metrics > div { padding:21px 12px; border-radius:18px; }
  .visit-metrics strong { font-size:34px; }
  .visit-metrics span { font-size:12px; overflow-wrap:anywhere; }
  .visit-details { grid-template-columns:1fr; gap:24px; }
  .abdu-dialog { padding:34px 24px 26px; }
  .abdu-dialog h2 { font-size:27px; }
  .abdu-formula { font-size:28px; }
  .math-secret { margin-left:auto; }
}
@media (prefers-reduced-motion:reduce) { .math-sparkles { display:none; } }
