/* 빠른 메뉴: 메뉴 버튼 위로 떠오르는 보랏빛 유리 카드, 그림 아이콘 타일을 3칸씩 놓는다 */
.installers-dialog { width:min(600px, calc(100vw - 24px)); height:auto; }
.installers-body { padding:4px 20px 20px; }
.installers-body p { line-height:1.6; }
.installer-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:20px 0; }
.installer-option { display:flex; flex-direction:column; gap:10px; padding:20px 16px; border:1px solid var(--border); border-radius:14px; color:var(--text); background:var(--panel); text-decoration:none; }
.installer-option strong { font-size:18px; }
.installer-option span { font-size:13px; line-height:1.6; }
.installer-option small { opacity:.75; }
.installer-option:hover { border-color:#b99bd9; box-shadow:0 4px 16px #8a63c022; }
.installer-option:focus-visible { outline:2px solid #b99bd9; outline-offset:3px; }
@media (max-width:480px) { .installer-options { grid-template-columns:1fr; } }
.sidebar-foot { position:relative; }
.quick-menu-toggle {
  display:flex; align-items:center; justify-content:center; gap:8px; width:100%; padding:10px 12px;
  border:1px solid #d6bdf04d; border-radius:12px;
  background:linear-gradient(160deg,#3a2b48d9,#241c2fe6);
  color:#f4ecfa; font-size:13px; font-weight:700; cursor:pointer;
  transition:border-color .15s ease, box-shadow .15s ease;
}
.quick-menu-toggle:hover, .quick-menu-toggle.open { border-color:#cfaef599; box-shadow:0 0 0 1px #c9a6f240,0 6px 18px #8a63c033; }
.quick-menu-toggle:focus-visible { outline:2px solid #d8c2f3; outline-offset:2px; }
.sidebar-foot .quick-menu[hidden] { display:none; }
.sidebar-foot .quick-menu {
  position:absolute; left:12px; right:12px; bottom:calc(100% - 6px); z-index:40;
  animation:quick-menu-pop .16s ease-out;
  display:grid; gap:10px; padding:12px 12px 13px;
  border:1px solid #d6bdf04d; border-radius:16px;
  background:linear-gradient(160deg,#3a2b48d9,#241c2fe6);
  box-shadow:0 14px 36px #0d0716aa,inset 0 1px #ffffff17;
}
@keyframes quick-menu-pop { from { opacity:0; transform:translateY(8px) scale(.98); } to { opacity:1; transform:none; } }
.quick-menu-head { display:flex; align-items:center; justify-content:space-between; padding:0 3px; }
.quick-menu-head strong { color:#f4ecfa; font-size:14px; font-weight:800; letter-spacing:-.2px; }
.quick-menu-dots {
  width:14px; height:14px; opacity:.75;
  background:radial-gradient(circle,#e3d4f2 1.3px,transparent 1.6px) 0 0/4.7px 4.7px;
}
.sidebar-foot .foot-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
.sidebar-foot .foot-actions button,
.sidebar-foot .foot-actions button:last-child {
  grid-column:auto; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; gap:4px;
  min-width:0; height:auto; padding:7px 4px 8px;
  border:1px solid #e0cdf224; border-radius:12px;
  background:linear-gradient(180deg,#ffffff0d,#ffffff04);
  color:#ece2f4; font-size:11px; font-weight:600; line-height:1.2; white-space:nowrap;
  transition:border-color .15s ease, background .15s ease, transform .15s ease, box-shadow .15s ease;
}
.sidebar-foot .foot-actions button img {
  display:block; width:46px; height:46px; object-fit:contain;
  filter:drop-shadow(0 4px 6px #0c061266); pointer-events:none;
  transition:transform .18s ease;
}
.sidebar-foot .foot-actions button span { max-width:100%; overflow:hidden; text-overflow:ellipsis; }
.sidebar-foot .foot-actions button:hover {
  border-color:#cfaef599; background:linear-gradient(180deg,#b590e02e,#8e6bc01a);
  box-shadow:0 0 0 1px #c9a6f240,0 6px 18px #8a63c033;
}
.sidebar-foot .foot-actions button:hover img { transform:translateY(-2px) scale(1.05); }
.sidebar-foot .foot-actions button:active { transform:scale(.97); }
.sidebar-foot .foot-actions button:focus-visible { outline:2px solid #d8c2f3; outline-offset:2px; }
.sidebar-foot .foot-actions button[aria-pressed="true"] {
  border-color:#e8bddf; background:linear-gradient(160deg,#a1638f66,#694b7e77);
}
@media (max-width:600px) {
  .sidebar-foot .foot-actions button img { width:40px; height:40px; }
  .sidebar-foot .foot-actions button { font-size:10.5px; }
}
@media (prefers-reduced-motion:reduce) {
  .sidebar-foot .quick-menu { animation:none; }
  .sidebar-foot .foot-actions button, .sidebar-foot .foot-actions button img { transition:none; }
  .sidebar-foot .foot-actions button:hover img { transform:none; }
}
