.april-launcher { position:fixed; bottom:20px; right:20px; z-index:120; display:flex; align-items:center; gap:9px; padding:5px 14px 5px 5px; border:1px solid #a51c30; border-radius:32px; background:#fff; color:#1e2229; cursor:pointer; font:600 15px "Helvetica Neue",Arial,sans-serif; box-shadow:0 2px 9px #0002; }
.april-launcher img { width:46px; height:46px; }
.april-launcher small { display:block; font-size:13px; font-weight:400; }
.april-dialog { position:fixed; inset:auto 18px 90px auto; margin:0; width:min(470px,calc(100vw - 24px)); max-height:calc(100dvh - 110px); padding:0; border:1px solid #b8b3a9; background:#fff; color:#1e2229; overflow:auto; font:15px/1.5 "Helvetica Neue",Arial,sans-serif; }
.april-dialog::backdrop { background:#0003; }
.april-dialog header { display:flex; align-items:center; gap:12px; border-bottom:1px solid #ddd; padding:14px 18px; }
.april-dialog header img { width:40px; height:40px; }
.april-dialog h2 { font:700 24px Georgia,serif; margin:0; }
.april-dialog header button { margin-left:auto; }
.april-dialog .april-body { padding:18px; }
.april-dialog label { display:block; margin:10px 0; }
.april-dialog input:not([type=checkbox]), .april-dialog textarea { width:100%; font:inherit; padding:9px; border:1px solid #999; box-sizing:border-box; }
.april-dialog button { font:inherit; min-height:40px; padding:7px 12px; cursor:pointer; border:1px solid #999; background:#fff; color:#1e2229; }
.april-dialog button[type=submit] { background:#a51c30; color:#fff; border-color:#a51c30; }
.april-dialog button:disabled { opacity:.55; cursor:wait; }
.april-dialog [hidden] { display:none !important; }
.april-status { color:#7a0019; min-height:1.5em; overflow-wrap:anywhere; }
.april-dialog a, .how-link { color:#a51c30; }
.april-history { max-height:260px; overflow:auto; border-top:1px solid #ddd; border-bottom:1px solid #ddd; padding:8px 0; }
.april-history p { margin:8px 0; white-space:pre-wrap; overflow-wrap:anywhere; }
.april-history .april-answer { border-left:2px solid #a51c30; padding-left:10px; }
.april-dialog details { margin:16px 0; }
.april-dialog summary { cursor:pointer; }
.april-dialog :focus-visible, .april-launcher:focus-visible { outline:3px solid #a51c30; outline-offset:3px; }
.how-link { display:inline-block; font-size:15px; margin-top:10px; text-underline-offset:3px; }
.how-content { max-width:800px; margin:auto; padding:32px 24px 100px; }
.how-content h2 { font-family:Georgia,serif; border-top:1px solid #ddd; padding-top:24px; }
@media(max-width:650px) {
  .nav-inner { height:auto; min-height:44px; flex-wrap:wrap; padding:8px 16px; }
  .nav-links { gap:12px; flex-wrap:wrap; }
  .nav-item { font-size:13px; }
  .container { padding:16px; }
  .explorer-grid > *, .panel-vis { min-width:0; }
  .vis-card { overflow-x:auto; padding:12px; }
  .vis-header { flex-wrap:wrap; }
  .phase-canvas-container { min-width:540px; }
  .masthead { padding:16px; }
  .april-dialog { right:12px; bottom:85px; }
}
