/* Mode Atlas app modal, visit flow, import/export, PWA and about styling. */
.ma-no-data-card{
  margin:18px auto;
  width:min(1320px,calc(100% - 36px));
  padding:24px;
}
.ma-no-data-card h2{margin:0 0 8px}
.ma-no-data-card p{margin:0 0 16px}
.ma-no-data-actions{display:flex;gap:10px;flex-wrap:wrap}
.ma-install-prompt{
  position:fixed;
  left:50%;
  bottom:22px;
  transform:translateX(-50%);
  z-index:40000;
  width:min(620px,calc(100vw - 28px));
  display:flex;
  gap:12px;
  align-items:center;
  justify-content:space-between;
  border-radius:22px;
  border:1px solid var(--ma-border-strong);
  background:var(--ma-surface-strong);
  color:var(--ma-text);
  box-shadow:var(--ma-shadow);
  padding:14px;
}
.ma-install-prompt div{display:grid;gap:2px}
.ma-install-prompt span{color:var(--ma-muted)}

.ma-level-up-card{display:grid;justify-items:center;text-align:center;gap:8px;padding:10px 8px 4px}
.ma-level-up-badge{width:88px;height:88px;display:grid;place-items:center;border-radius:28px;background:var(--ma-control-active);border:1px solid var(--ma-control-active-border);box-shadow:var(--ma-shadow-control);font-family:var(--ma-font-display);font-size:2.5rem;font-weight:950;letter-spacing:-.06em;color:var(--ma-text-strong)}
.ma-level-up-label{font-size:.72rem;font-weight:950;letter-spacing:.16em;text-transform:uppercase;color:var(--ma-muted)}
.ma-level-up-card p{max-width:420px;margin:2px 0 0;color:var(--ma-muted);line-height:1.55}
@media(max-width:640px){.ma-install-prompt{align-items:stretch;flex-wrap:wrap}.ma-install-prompt>div{flex:1 0 100%}.ma-install-prompt .ma-button{flex:1}.ma-level-up-badge{width:76px;height:76px;border-radius:24px;font-size:2.2rem}}

/* === About Mode Atlas modal === */
.ma-about-content{min-width:0}.ma-about-hero{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;padding:18px;border-radius:26px;background:var(--ma-surface-soft);border:1px solid var(--ma-border)}
.ma-about-mark{width:62px;height:62px;border-radius:20px;display:grid;place-items:center;font-weight:950;color:var(--ma-app-bg);background:linear-gradient(135deg,var(--ma-reading),var(--ma-writing));box-shadow:0 16px 40px color-mix(in srgb,var(--ma-writing) 20%,transparent)}
.ma-about-kicker{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--ma-muted);font-weight:900}.ma-about-hero p{margin:0;color:var(--ma-muted);font-size:15px;line-height:1.45}
.ma-about-tabs{display:flex;gap:10px;margin:18px 0;flex-wrap:wrap}.ma-about-tabs button{font-weight:950}.ma-about-tabs button.active{color:var(--ma-app-bg);background:linear-gradient(135deg,var(--ma-reading),var(--ma-writing));border-color:transparent;box-shadow:0 14px 34px color-mix(in srgb,var(--ma-writing) 18%,transparent)}
.ma-about-panel{display:none}.ma-about-panel.active{display:block}.ma-about-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.ma-about-card,.ma-about-section{border-radius:24px;border:1px solid var(--ma-border);background:var(--ma-surface-soft);box-shadow:var(--ma-shadow-soft)}.ma-about-card{padding:18px}.ma-about-card span{display:block;color:var(--ma-muted);text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:950}.ma-about-card strong{display:block;margin-top:8px;font-size:22px;letter-spacing:-.03em}.ma-about-card small{display:block;margin-top:8px;color:var(--ma-muted);line-height:1.35}.ma-about-section{padding:20px;margin-top:14px}.ma-about-section h3{margin:0 0 12px;font-size:22px;letter-spacing:-.03em}.ma-about-section p{margin:8px 0;color:var(--ma-muted);line-height:1.55}.ma-about-muted{color:var(--ma-muted)}.ma-about-table{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ma-about-table>div{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:13px 14px;border-radius:16px;background:var(--ma-control);border:1px solid var(--ma-border)}.ma-about-table span{color:var(--ma-muted)}.ma-about-table strong{font-weight:950;text-align:right}.ma-about-list{margin:12px 0 18px;padding:0;list-style:none;display:grid;gap:10px}.ma-about-list li{padding:14px 16px;border-radius:16px;background:var(--ma-control);border:1px solid var(--ma-border);color:var(--ma-text)}.ma-about-list li:before{content:"•";color:var(--ma-reading);font-weight:950;margin-right:10px}


@media(max-width:800px){.ma-about-hero{grid-template-columns:1fr}.ma-about-grid{grid-template-columns:1fr 1fr}.ma-about-table{grid-template-columns:1fr}}@media(max-width:520px){.ma-about-grid{grid-template-columns:1fr}}

/* Import confirmation modal. */
.ma-import-confirm-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.ma-import-confirm-meta span{padding:8px 10px;border-radius:999px;background:var(--ma-card-2);border:1px solid var(--ma-border);font-size:12px;color:var(--ma-muted)}
.ma-import-confirm-table{display:grid;gap:8px}
.ma-import-confirm-row{display:grid;grid-template-columns:1.05fr 1fr 1fr 1.05fr;gap:10px;align-items:center;padding:10px;border-radius:14px;background:var(--ma-surface-soft);border:1px solid var(--ma-border);font-size:13px}
.ma-import-confirm-row.head{font-weight:900;color:var(--ma-muted);background:transparent;border-color:transparent;padding-bottom:2px}
.ma-import-confirm-row span{min-width:0}
.ma-import-confirm-row .will-import{color:var(--ma-success);font-weight:900}
.ma-import-confirm-row .will-keep{color:var(--ma-warning);font-weight:900}
@media(max-width:700px){.ma-import-confirm-row{grid-template-columns:1fr;gap:4px}
.ma-import-confirm-row.head{display:none}
}

/* Shared visit-flow presentation. Behaviour lives in mode-atlas-visit-flows.js;
   visual ownership lives in CSS rather than injected runtime styles. */
.ma-visit-backdrop{position:fixed;inset:0;z-index:240;display:none;align-items:center;justify-content:center;padding:18px;background:var(--ma-backdrop);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.ma-visit-backdrop.open{display:flex}
.ma-visit-card{width:min(640px,100%);max-height:min(92vh,820px);overflow:auto;border-radius:var(--ma-radius-card);padding:22px;color:var(--ma-text)}
.ma-visit-kicker{font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:var(--ma-muted);margin-bottom:10px}
.ma-visit-title{font-size:30px;line-height:1.04;font-weight:950;letter-spacing:-.04em;margin:0 0 10px}
.ma-visit-copy{color:var(--ma-muted);line-height:1.55;margin:0 0 18px;font-size:15px}
.ma-visit-panel{padding:14px;margin:12px 0;box-shadow:none}
.ma-visit-label{font-size:12px;font-weight:900;letter-spacing:.11em;text-transform:uppercase;color:var(--ma-muted);margin-bottom:8px}
.ma-visit-list{display:flex;flex-wrap:wrap;gap:8px}
.ma-visit-chip{padding:8px 10px;border-radius:var(--ma-radius-pill);background:var(--ma-card-2);border:1px solid var(--ma-border);font-size:13px;font-weight:800}
.ma-visit-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ma-visit-preset{appearance:none;width:100%;text-align:left;border:1px solid var(--ma-border);border-radius:var(--ma-radius-md);background:var(--ma-card-2);color:inherit;padding:13px 14px;cursor:pointer;display:grid;gap:4px;min-height:86px}
.ma-visit-preset:hover,.ma-visit-preset:focus-visible{background:var(--ma-control-hover);border-color:var(--ma-control-active-border);outline:none}
.ma-visit-preset.selected,.ma-visit-preset[aria-pressed="true"]{background:var(--ma-control-active);border-color:var(--ma-control-active-border);box-shadow:0 0 0 3px var(--ma-focus-ring),var(--ma-shadow-control)}
.ma-visit-preset span{font-size:15px;font-weight:950}.ma-visit-preset small{font-size:12px;color:var(--ma-muted);font-weight:750;line-height:1.35}
.ma-visit-legal{display:grid;gap:12px;margin-top:14px}.ma-visit-legal-links{display:flex;flex-wrap:wrap;gap:10px;color:var(--ma-muted);font-size:13px}.ma-visit-legal-links a{color:var(--ma-link);font-weight:900;text-decoration:none}.ma-visit-legal-links a:hover{text-decoration:underline}.ma-visit-link-note{color:var(--ma-muted);font-size:12px;font-weight:800}
.ma-visit-check{font-size:13px}.ma-visit-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.ma-visit-btn{min-width:128px}.ma-status.ma-visit-error{display:none;margin-top:10px}.ma-status.ma-visit-error.show{display:flex}
@media(max-width:640px){.ma-visit-card{padding:18px;border-radius:22px}.ma-visit-title{font-size:25px}.ma-visit-presets{grid-template-columns:1fr}.ma-visit-actions{display:grid}.ma-visit-btn{width:100%}}
