:root{
  --aa19-ink:#0b1220;
  --aa19-muted:#4b5563;
  --aa19-accent:#0ea5e9;
  --aa19-border:rgba(11,18,32,.12);
  --aa19-paper:#ffffff;
  --aa19-bg:#f3f5f7;
}
*{box-sizing:border-box}

.aa19-app{min-height:100vh;background:var(--aa19-bg);color:var(--aa19-ink)}
.aa19-wrap{max-width:1180px;margin:0 auto;padding:0 14px}

.aa19-top{position:sticky;top:0;z-index:50;background:rgba(243,245,247,.92);backdrop-filter:saturate(150%) blur(10px);border-bottom:1px solid var(--aa19-border)}
.aa19-top-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0}

#logo.aa19-logo a{color:var(--aa19-ink);text-decoration:none;font-weight:900;letter-spacing:.2px}

.aa19-meta{display:flex;align-items:center;gap:10px;color:var(--aa19-muted)}
.aa19-dot{width:6px;height:6px;border-radius:50%;background:var(--aa19-accent);opacity:.7}

.aa19-bar{height:3px;background:rgba(11,18,32,.08)}
.aa19-bar > div{height:100%;width:0;background:linear-gradient(90deg, var(--aa19-accent), #22c55e)}

.aa19-grid{display:grid;grid-template-columns: 1fr 320px;gap:14px;padding:14px 0 24px;align-items:start}
.aa19-paper{background:var(--aa19-paper);border:1px solid var(--aa19-border);border-radius:16px;padding:18px;min-width:0}

.aa19-mag{display:grid;grid-template-columns: 1.1fr .9fr;gap:14px}
.aa19-box{border:1px solid var(--aa19-border);border-radius:16px;background:#fff;padding:14px}
.aa19-box h3{margin:0 0 8px 0;font-size:1rem}
.aa19-box p{margin:0;color:var(--aa19-muted)}

.aa19-map{position:sticky;top:78px}
.aa19-map .aa19-box{padding:0;overflow:hidden}
.aa19-map-h{padding:12px 14px;border-bottom:1px solid var(--aa19-border);display:flex;align-items:center;justify-content:space-between;gap:10px}
.aa19-map-b{padding:12px 14px}
.aa19-maplist{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.aa19-maplist a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:12px;text-decoration:none;color:var(--aa19-ink);border:1px solid transparent;background:#fff}
.aa19-maplist a:hover{border-color:var(--aa19-border)}
.aa19-maplist a.is-active{border-color:rgba(14,165,233,.35);background:rgba(14,165,233,.08)}
.aa19-chip{font-size:.78rem;color:var(--aa19-muted);border:1px solid var(--aa19-border);border-radius:999px;padding:.05rem .45rem}

@media (max-width: 980px){
  .aa19-grid{grid-template-columns:1fr}
  .aa19-map{position:relative;top:auto}
  .aa19-mag{grid-template-columns:1fr}
}
