:root {
  --btn-bg:#006e23;
  --panel-bg:#111;
  --txt-main:#eee;
  --accent:#08f;
}

#ai-util-btn{
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 9998;
}

.ai-panel{
  position: fixed;
  bottom: 100px;
  right: 20px;
  z-index: 9999;
  display: none;
}

.ai-panel.open{ display:block; }

#ai-util-btn:hover {
  transform: scale(1.06);
}

.ai-panel {
  position: fixed;

  /* 👇 버튼 바로 위 */
  bottom: 100px;
  right: 20px;

  width: 360px;
  max-height: 60vh;

  background: var(--panel-bg);
  color: var(--txt-main);

  border-radius: 12px;
  padding: 20px 22px;

  box-shadow: 0 4px 16px rgba(0,0,0,.45);
  overflow-y: auto;

  display: none;
  z-index: 9999;
  animation: fadeIn .25s;
}

.ai-panel.open {
  display: block;
}

@keyframes fadeIn {
  from { opacity:0; transform:translateY(8px); }
  to   { opacity:1; transform:none; }
}

#ai-menu-panel h4 {
  margin:0 0 14px;
  font:600 16px/1.4 system-ui;
}

#ai-menu-panel ul {
  list-style:none;
  margin:0;
  padding:0;
}

#ai-menu-panel li+li { margin-top:8px; }

.ai-menu-item {
  all:unset;
  display:block;
  width:100%;
  padding:10px 14px;
  border-radius:8px;
  cursor:pointer;
  transition:.15s;
  background:#1a1a1a;
}

.ai-menu-item:hover {
  background:#333;
  color:var(--accent);
}

.ai-menu-item.disabled {
  opacity:.4;
  pointer-events:none;
}

#ai-sum-panel h4 {
  margin:0 0 12px;
  font:600 16px/1.4 system-ui;
}

#ai-sum-input {
  width:100%;
  height:100px;
  padding:8px;
  border-radius:6px;
  border:1px solid #333;
  background:#222;
  color:var(--txt-main);
  resize:vertical;
  box-sizing:border-box;
  font:14px/1.4 system-ui;
}

#ai-sum-action {
  all:unset;
  display:inline-block;
  margin-top:8px;
  padding:8px 14px;
  background:var(--accent);
  color:#111;
  font-weight:600;
  border-radius:6px;
  cursor:pointer;
  transition:.15s;
}

#ai-sum-action:hover { opacity:0.9; }

#ai-sum-content {
  margin-top:12px;
  white-space:pre-wrap;
  line-height:1.45;
}

.tooltip {
  display:none;
  position:absolute;
  background-color:#1F2937;
  color:#ffffff;
  font-size:0.75rem;
  border-radius:0.25rem;
  padding:0.25rem 0.5rem;
  white-space:nowrap;
  z-index:50;
  pointer-events:none;
}

.tooltip.show { display:block; }

@media (max-width: 480px) {
  #ai-util-btn {
    width: 56px;
    height: 56px;
    font-size: 22px;
    bottom: 14px;
    right: 14px;
  }

  .ai-panel {
    width: calc(100vw - 28px);
    right: 14px;
    bottom: 84px;
  }
}
