/*
 * Frogpost workspace theme
 * Light-first UI inspired by a modern creative workspace:
 * quiet canvas, structured sidebar, soft cards, and one confident green accent.
 */

:root{
  --app-bg:#f7f8f6;
  --app-sidebar:#f1f3f0;
  --app-panel:#ffffff;
  --app-panel-soft:#fafbf9;
  --app-hover:#ecefea;
  --app-line:#e3e7e2;
  --app-line-strong:#d6ddd7;
  --app-ink:#171a18;
  --app-muted:#757c77;
  --app-green:#24b47e;
  --app-green-dark:#159a68;
  --app-green-soft:#dff5ec;
  --app-danger:#dc2626;
  --app-shadow:0 1px 2px rgba(20,35,27,.025),0 10px 28px rgba(20,35,27,.045);

  /* Compatibility with existing theme code. */
  --aurora-bg:var(--app-bg);
  --aurora-glass:var(--app-panel);
  --aurora-border:var(--app-line);
  --aurora-card-highlight:#fff;
  --aurora-ink:var(--app-ink);
  --aurora-muted:var(--app-muted);
  --aurora-mint:var(--app-green);
  --aurora-violet:#7c83d9;
  --aurora-cyan:#4e9da5;
}

html{
  background:var(--app-bg);
}

body{
  position:relative;
  overflow-x:hidden;
  background:var(--app-bg)!important;
  color:var(--app-ink)!important;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
}

.skip-link{
  position:fixed;
  top:.75rem;
  left:.75rem;
  z-index:200;
  transform:translateY(-180%);
  border-radius:9px;
  background:var(--app-ink);
  padding:.7rem 1rem;
  color:#fff;
  font-size:.875rem;
  font-weight:700;
  transition:transform .18s ease;
}
.skip-link:focus{transform:translateY(0);outline:3px solid rgba(36,180,126,.4);outline-offset:2px}

:where(a,button,input,select,textarea,summary):focus-visible{
  outline:3px solid rgba(36,180,126,.28)!important;
  outline-offset:2px!important;
}

.sidebar-backdrop{border:0;background:rgba(15,23,42,.46);backdrop-filter:blur(3px)}
.password-reveal:hover{background:var(--app-hover);color:var(--app-ink)}
.app-toast{animation:toast-arrive .22s ease-out both}
.feedback-modal-open{overflow:hidden}
.mcp-security-note{border-color:var(--app-line);background:var(--app-hover);color:var(--app-muted)}
.feedback-modal-backdrop{background:rgba(15,23,42,.58);backdrop-filter:blur(5px)}
.feedback-modal-card[role="dialog"]{overflow:hidden;border:1px solid var(--app-line)!important;border-radius:18px;background:var(--app-panel)!important;color:var(--app-ink)!important;box-shadow:0 28px 80px rgba(15,23,42,.24);animation:feedback-modal-arrive .2s cubic-bezier(.22,1,.36,1) both}
.feedback-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.5rem 1.5rem 1.25rem;border-bottom:1px solid var(--app-line)}
.feedback-modal-heading{display:flex;align-items:flex-start;gap:.85rem}
.feedback-modal-icon{display:grid;flex:0 0 auto;width:2.5rem;height:2.5rem;place-items:center;border-radius:12px;background:var(--app-green-soft);color:var(--app-green);font-size:1.25rem}
.feedback-modal-heading h2{margin:0;color:var(--app-ink);font-size:1.125rem;font-weight:700;letter-spacing:-.015em}
.feedback-modal-heading p{margin:.3rem 0 0;color:var(--app-muted);font-size:.875rem;line-height:1.45}
.feedback-modal-close{display:grid;width:2.25rem;height:2.25rem;flex:0 0 auto;place-items:center;border:0;border-radius:9px;background:transparent;color:var(--app-muted);font-size:1.4rem;transition:background .15s,color .15s}
.feedback-modal-close:hover{background:var(--app-hover);color:var(--app-ink)}
.feedback-modal-body{display:grid;gap:1.25rem;padding:1.35rem 1.5rem}
.feedback-modal-body legend,.feedback-details-label>span{margin-bottom:.65rem;color:var(--app-ink);font-size:.8125rem;font-weight:650}
.feedback-modal-body legend span,.feedback-details-label small{color:var(--app-muted);font-weight:500}
.feedback-chip-list{display:flex;flex-wrap:wrap;gap:.55rem}
.feedback-chip{display:inline-flex;cursor:pointer;align-items:center;gap:.35rem;border:1px solid var(--app-line-strong);border-radius:999px;background:var(--app-panel);padding:.55rem .8rem;color:var(--app-ink);font-size:.8125rem;font-weight:550;line-height:1.2;transition:border-color .15s,background .15s,color .15s,transform .15s}
.feedback-chip:hover{border-color:var(--app-green);background:var(--app-green-soft);transform:translateY(-1px)}
.feedback-chip i{display:none;font-size:1rem}
.feedback-chip:has(input:checked),.feedback-chip.is-selected{border-color:var(--app-green);background:var(--app-green-soft);color:var(--app-green-dark)}
.feedback-chip:has(input:checked) i,.feedback-chip.is-selected i{display:inline-block}
.feedback-details-label{position:relative;display:grid}
.feedback-details-label textarea{width:100%;min-height:7.5rem;resize:vertical;border:1px solid var(--app-line-strong)!important;border-radius:12px!important;background:var(--app-panel-soft)!important;padding:.8rem .9rem 1.75rem;color:var(--app-ink)!important;font-size:.875rem;line-height:1.55}
.feedback-details-label textarea::placeholder{color:var(--app-muted)}
.feedback-details-label>[data-feedback-count]{position:absolute;right:.75rem;bottom:.55rem;margin:0;color:var(--app-muted);font-size:.6875rem;font-variant-numeric:tabular-nums}
.feedback-privacy-note{display:flex;align-items:flex-start;gap:.5rem;margin:0;border-radius:10px;background:var(--app-panel-soft);padding:.7rem .8rem;color:var(--app-muted);font-size:.75rem;line-height:1.45}
.feedback-privacy-note i{margin-top:.05rem;color:var(--app-green);font-size:1rem}
.feedback-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:.65rem;border-top:1px solid var(--app-line);padding:1rem 1.5rem}
.feedback-cancel-button,.feedback-submit-button{border-radius:10px;padding:.65rem 1rem;font-size:.8125rem;font-weight:650;transition:background .15s,transform .15s}
.feedback-cancel-button{border:1px solid var(--app-line);background:var(--app-panel);color:var(--app-muted)}
.feedback-cancel-button:hover{background:var(--app-hover);color:var(--app-ink)}
.feedback-submit-button{display:inline-flex;align-items:center;gap:.45rem;border:1px solid var(--app-green);background:var(--app-green);color:#fff}
.feedback-submit-button:hover{background:var(--app-green-dark);transform:translateY(-1px)}
.feedback-submit-button:disabled{cursor:wait;opacity:.6;transform:none}
@keyframes feedback-modal-arrive{from{opacity:0;transform:translateY(12px) scale(.975)}to{opacity:1;transform:none}}
.idea-feedback-button.is-active{border-color:#6ee7b7!important;background:#ecfdf5!important;color:#047857!important}
@media(max-width:520px){.feedback-modal-header,.feedback-modal-body{padding-left:1.1rem;padding-right:1.1rem}.feedback-modal-footer{padding:1rem 1.1rem}.feedback-modal-icon{display:none}.feedback-modal-footer>*{flex:1;justify-content:center}.feedback-chip{font-size:.78rem}}
@media(prefers-reduced-motion:reduce){.feedback-modal-card[role="dialog"]{animation:none}.feedback-chip,.feedback-submit-button{transition:none}}
@keyframes toast-arrive{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}

/* The previous aurora artwork is intentionally muted in the new workspace UI. */
.aurora-atmosphere,
.aurora-grain{
  display:none!important;
}

body>header,
body>.app-shell,
body>main{
  position:relative;
  z-index:2;
}

/* -------------------------------------------------------------------------- */
/* App shell                                                                   */
/* -------------------------------------------------------------------------- */

.app-shell{
  gap:0;
  padding:0;
}

.app-main{
  min-height:100vh;
  background:var(--app-bg);
  padding-left:0;
}

.app-sidebar{
  inset:0 auto 0 0!important;
  height:100vh;
  border:0!important;
  border-right:1px solid var(--app-line)!important;
  border-radius:0!important;
  background:var(--app-sidebar)!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}

.app-topbar{
  top:0!important;
  margin:0;
  border:0!important;
  border-bottom:1px solid var(--app-line)!important;
  border-radius:0!important;
  background:rgba(255,255,255,.9)!important;
  box-shadow:none!important;
  backdrop-filter:blur(16px) saturate(120%)!important;
}

.app-content{
  max-width:1540px;
  margin-inline:auto;
}

.page-heading{
  max-width:48rem;
}
.page-eyebrow{
  margin-bottom:.45rem;
  color:var(--app-green-dark);
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.filter-bar{
  border:1px solid var(--app-line);
  border-radius:14px;
  background:var(--app-panel);
  padding:.75rem;
  box-shadow:0 1px 2px rgba(20,35,27,.025);
}

.question-radar-button .question-radar-ring,
.question-loading-radar .question-radar-ring{
  position:absolute;
  inset:0;
  border:2px solid currentColor;
  border-radius:999px;
  opacity:0;
  pointer-events:none;
}
.question-radar-button.is-loading .question-radar-ring,
.question-loading-radar .question-radar-ring{
  animation:question-radar-ping 1.6s cubic-bezier(0,.55,.45,1) infinite;
}
.question-radar-button.is-loading .question-radar-ring-delay,
.question-loading-radar .question-radar-ring-delay{animation-delay:.55s}
.question-radar-button.is-loading{background:var(--app-green)!important}
@keyframes question-radar-ping{
  0%{opacity:.65;transform:scale(.72)}
  80%,100%{opacity:0;transform:scale(1.65)}
}
@media(prefers-reduced-motion:reduce){
  .question-radar-button.is-loading .question-radar-ring,
  .question-loading-radar .question-radar-ring{animation:none;opacity:.35;transform:scale(1.18)}
}

.question-lineage{display:grid;grid-template-columns:minmax(0,1fr) minmax(28px,.35fr) minmax(0,1fr) minmax(28px,.35fr) auto;align-items:center;gap:8px}
.question-lineage-node{display:flex;min-width:0;align-items:center;gap:7px;color:var(--app-muted)}
.question-lineage-node>i{flex:none;color:var(--app-green);font-size:1rem}
.question-lineage-node span{min-width:0}
.question-lineage-node small{display:block;color:#94a3b8;font-size:8px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.question-lineage-node strong{display:block;overflow:hidden;color:#64748b;font-size:10px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}
.question-lineage-output strong{color:var(--app-green-dark)}
.question-lineage-line{position:relative;height:1px;background:#cbd5e1}
.question-lineage-line::before{content:"";position:absolute;inset:-3px 0;border-top:1px dashed rgb(148 163 184/.3)}
.question-lineage-line i{position:absolute;top:50%;left:0;width:5px;height:5px;border-radius:999px;background:var(--app-green);box-shadow:0 0 0 3px rgb(36 180 126/.12);transform:translate(-50%,-50%);animation:question-lineage-travel 2.4s linear infinite}
.question-lineage-line i+i{animation-delay:1.2s}
.question-lineage-line-delay i{animation-delay:.55s}
.question-lineage-line-delay i+i{animation-delay:1.75s}
@keyframes question-lineage-travel{from{left:0;opacity:0}10%,90%{opacity:1}to{left:100%;opacity:0}}
@media(max-width:640px){.question-lineage{grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr)}.question-lineage-line-delay,.question-lineage-output{display:none}}
@media(prefers-reduced-motion:reduce){.question-lineage-line i{animation:none}.question-lineage-line i+i{display:none}}

/* -------------------------------------------------------------------------- */
/* Brand                                                                       */
/* -------------------------------------------------------------------------- */

.sidebar-brand-wrap{
  min-height:48px;
  display:flex;
  align-items:center;
}

.brand-icon{
  border:1px solid rgba(36,180,126,.16)!important;
  background:var(--app-green-soft)!important;
  box-shadow:none!important;
}

.brand-word{
  color:var(--app-ink);
  font-family:Inter,ui-sans-serif,system-ui,sans-serif!important;
  font-size:1rem;
  line-height:1.1;
  letter-spacing:-.02em;
}

.sidebar-subtitle{
  margin-top:.22rem;
  color:var(--app-muted)!important;
}

/* -------------------------------------------------------------------------- */
/* Sidebar                                                                     */
/* -------------------------------------------------------------------------- */

.sidebar-scroll{
  max-height:calc(100vh - 210px);
  overflow-y:auto;
  overflow-x:hidden;
  padding-bottom:18px;
}

.app-sidebar.has-upgrade-prompt .sidebar-scroll{
  max-height:calc(100vh - 390px);
}

.workspace-label{
  padding:0 10px 8px;
  color:#8b918d;
  font-size:10px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.sidebar-divider{
  height:1px;
  margin:14px 10px;
  background:var(--app-line);
}

.sidebar-scroll nav.space-y-1>:not([hidden])~:not([hidden]){
  margin-top:.125rem;
}

.sidebar-link{
  position:relative;
  min-height:36px;
  gap:.5rem!important;
  overflow:hidden;
  padding-block:.25rem!important;
  border:1px solid transparent!important;
  border-radius:13px!important;
  color:var(--app-muted)!important;
  font-size:.8125rem!important;
  transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}

.sidebar-link:hover{
  background:rgba(255,255,255,.62)!important;
  color:var(--app-ink)!important;
}

.sidebar-link .sidebar-icon{
  width:1.75rem!important;
  height:1.75rem!important;
  color:#707873;
  background:transparent;
  border:1px solid transparent;
  font-size:1.25rem;
  transition:color .2s ease,transform .2s ease;
}

.sidebar-link .sidebar-icon i{
  font-size:1.25rem!important;
}

.sidebar-link:hover .sidebar-icon{
  transform:scale(1.04);
}

.sidebar-link.is-active{
  border-color:rgba(36,180,126,.16)!important;
  background:linear-gradient(90deg,rgba(78,88,82,.12),rgba(36,180,126,.20))!important;
  color:var(--app-ink)!important;
  box-shadow:0 7px 20px rgba(21,154,104,.10),inset 0 1px 0 rgba(255,255,255,.45);
}

.sidebar-link.is-active::after{
  content:"";
  position:absolute;
  top:8px;
  right:-3px;
  bottom:8px;
  width:5px;
  border-radius:999px;
  background:var(--app-green);
  box-shadow:0 0 9px 2px rgba(36,180,126,.65);
}

.sidebar-link.is-active .sidebar-icon{
  border-color:transparent!important;
  background:transparent!important;
  color:var(--app-ink)!important;
}

/* Keep the primary dashboard action in the same visual family as the menu. */
.generate-ideas-button{
  border:1px solid rgba(36,180,126,.16)!important;
  border-radius:13px!important;
  background:linear-gradient(90deg,rgba(78,88,82,.12),rgba(36,180,126,.20))!important;
  color:var(--app-ink)!important;
  box-shadow:0 7px 20px rgba(21,154,104,.10),inset 0 1px 0 rgba(255,255,255,.45);
  transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}

.generate-ideas-button:hover:not(:disabled){
  border-color:rgba(36,180,126,.28)!important;
  background:linear-gradient(90deg,rgba(78,88,82,.16),rgba(36,180,126,.26))!important;
  box-shadow:0 9px 24px rgba(21,154,104,.14),inset 0 1px 0 rgba(255,255,255,.55);
  transform:translateY(-1px);
}

.generate-ideas-button:disabled{
  cursor:not-allowed;
  border-color:var(--app-line)!important;
  background:rgba(139,145,141,.12)!important;
  color:var(--app-muted)!important;
  box-shadow:none;
  opacity:.65;
}

/* Dashboard publishing schedule. Four cards remain visible on wide screens,
   while touch and keyboard users can scroll the same track at smaller sizes. */
.upcoming-carousel{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(260px,calc((100% - 3rem)/4));
  gap:1rem;
  overflow-x:auto;
  padding:.15rem .1rem 1rem;
  scroll-behavior:smooth;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
}

.upcoming-carousel::-webkit-scrollbar{display:none}

.upcoming-content-card{
  display:flex;
  min-height:250px;
  flex-direction:column;
  scroll-snap-align:start;
  border:1px solid var(--app-line);
  border-radius:14px;
  background:var(--app-panel);
  padding:1.25rem;
  box-shadow:var(--app-shadow);
}

.upcoming-carousel-button{
  display:grid;
  width:2.5rem;
  height:2.5rem;
  place-items:center;
  border:1px solid var(--app-line);
  border-radius:12px;
  background:var(--app-panel);
  color:var(--app-ink);
  transition:border-color .2s ease,background-color .2s ease,opacity .2s ease;
}

.upcoming-carousel-button:hover:not(:disabled){background:var(--app-hover);border-color:var(--app-line-strong)}
.upcoming-carousel-button:disabled{cursor:not-allowed;opacity:.35}

@keyframes idea-card-highlight-grow{
  0%{border-color:var(--app-line);box-shadow:0 0 0 0 rgba(36,180,126,0)}
  55%{border-color:var(--app-green);box-shadow:0 0 0 7px rgba(36,180,126,.2)}
  100%{border-color:var(--app-green);box-shadow:0 0 0 2px rgba(36,180,126,.13)}
}

.idea-card-highlight{
  border-color:var(--app-green)!important;
  animation:idea-card-highlight-grow .8s cubic-bezier(.22,1,.36,1) 1;
  box-shadow:0 0 0 2px rgba(36,180,126,.13);
}

@media (max-width:1279px){.upcoming-carousel{grid-auto-columns:minmax(270px,calc((100% - 2rem)/3))}}
@media (max-width:899px){.upcoming-carousel{grid-auto-columns:minmax(270px,calc((100% - 1rem)/2))}}
@media (max-width:639px){.upcoming-carousel{grid-auto-columns:minmax(265px,88%)}}

@media (prefers-reduced-motion:reduce){.idea-card-highlight{animation:none}}

.content-lineage-grid{
  display:grid;
  grid-template-columns:minmax(100px,.65fr) minmax(150px,1fr) minmax(170px,1.15fr) minmax(100px,.65fr) minmax(210px,1.45fr);
  align-items:center;
  gap:1.25rem;
}
.content-lineage-hub{display:grid;justify-items:center;gap:.65rem;text-align:center;font-size:.75rem;color:var(--app-muted)}
.content-lineage-logo{display:grid;width:4.75rem;height:4.75rem;place-items:center;border:1px solid var(--app-line);border-radius:999px;background:var(--app-panel);box-shadow:0 12px 28px rgba(20,35,27,.1);font-size:1.75rem;font-weight:700;color:var(--app-green-dark)}
.content-lineage-frog{background:var(--app-green-soft)}
.content-lineage-list{display:grid;gap:.55rem;min-width:0}
.content-lineage-list>p{font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--app-muted)}
.content-lineage-node{display:flex;min-height:2.8rem;align-items:center;justify-content:space-between;gap:.35rem;border:1px solid var(--app-line);border-radius:9px;background:var(--app-panel);padding:.65rem .75rem;font-size:.72rem;font-weight:600;line-height:1.25;color:var(--app-ink);box-shadow:0 5px 16px rgba(20,35,27,.045)}
a.content-lineage-node:hover{border-color:var(--app-green);background:var(--app-green-soft)}
@media (max-width:1100px){.content-lineage-grid{grid-template-columns:1fr}.content-lineage-list{width:min(100%,36rem);margin-inline:auto}.content-lineage-hub{margin-block:.5rem}.content-lineage-grid>*:not(:last-child)::after{content:"↓";display:block;margin:.55rem auto 0;text-align:center;color:var(--app-green)}}

.sidebar-user-panel{
  border-color:var(--app-line)!important;
  border-radius:13px!important;
  background:rgba(255,255,255,.82)!important;
  box-shadow:0 6px 22px rgba(20,35,27,.035)!important;
}

.sidebar-avatar{
  background:var(--app-green-soft);
  color:var(--app-green-dark);
}

.sidebar-user-action{
  border:1px solid transparent;
  color:var(--app-muted);
  transition:background-color .2s ease,border-color .2s ease,color .2s ease;
}

.sidebar-user-actions{
  border-color:var(--app-line)!important;
}

.sidebar-user-action:hover,
.sidebar-user-action.is-active{
  border-color:var(--app-line);
  background:var(--app-panel-soft);
  color:var(--app-ink);
}

.sidebar-scan-usage{
  border-color:var(--app-line)!important;
}

.sidebar-scan-track{
  background:var(--app-panel-soft);
}

.sidebar-scan-progress{
  background:var(--app-green);
  box-shadow:0 0 8px rgba(36,180,126,.28);
}

.plan-badge{
  display:inline-flex;
  border:1px solid var(--app-line);
  background:var(--app-panel-soft);
}

.sidebar-upgrade-prompt{
  border-color:var(--app-line)!important;
  border-radius:13px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(240,246,242,.9));
  box-shadow:0 10px 28px rgba(20,35,27,.06);
}

.sidebar-upgrade-icon{
  border:1px solid rgba(36,180,126,.18);
  background:var(--app-green-soft);
  color:var(--app-green-dark);
}

.sidebar-upgrade-plan{
  background:var(--app-panel-soft);
  color:var(--app-muted);
}

.sidebar-upgrade-button{
  background:var(--app-ink);
  color:var(--app-panel);
  transition:opacity .2s ease,transform .2s ease;
}

.sidebar-upgrade-button:hover{
  opacity:.88;
  transform:translateY(-1px);
}

/* -------------------------------------------------------------------------- */
/* Top bar                                                                     */
/* -------------------------------------------------------------------------- */

.app-topbar select{
  min-height:40px;
  max-width:190px;
  padding:.45rem 2.25rem .45rem .85rem!important;
  border-color:var(--app-line)!important;
  background-color:#fff!important;
  box-shadow:0 2px 10px rgba(20,35,27,.025);
}

.topbar-icon-button,
.source-health-button{
  border-color:var(--app-line)!important;
  background:#fff!important;
  box-shadow:0 2px 10px rgba(20,35,27,.025);
}

.topbar-icon-button:hover,
.source-health-button:hover{
  background:var(--app-hover)!important;
}

/* Keep the status drawer independent from light-only utility colors. */
.source-health-backdrop{
  background:rgba(15,23,42,.30);
}

.source-health-panel{
  border-color:var(--app-line);
  background:var(--app-panel);
  color:var(--app-ink);
  box-shadow:-20px 0 48px rgba(20,35,27,.10);
}

/* -------------------------------------------------------------------------- */
/* General surfaces                                                           */
/* -------------------------------------------------------------------------- */

.rounded-md{
  border-radius:12px!important;
}

.rounded-md.border,
.rounded-md[class*="border-"]{
  border-color:var(--app-line)!important;
}

.bg-white:not(header):not(aside):not(.theme-preview-sidebar){
  background-color:var(--app-panel)!important;
  backdrop-filter:none!important;
}

article.rounded-md,
.grid>.rounded-md.border,
section.rounded-md,
form.rounded-md{
  border-color:var(--app-line)!important;
  border-radius:14px!important;
  background:var(--app-panel)!important;
  box-shadow:var(--app-shadow);
  backdrop-filter:none!important;
}

article.rounded-md{
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}

article.rounded-md:hover{
  transform:translateY(-2px);
  border-color:var(--app-line-strong)!important;
  box-shadow:0 2px 4px rgba(20,35,27,.025),0 16px 34px rgba(20,35,27,.065);
}

.bg-slate-50{
  background-color:var(--app-panel-soft)!important;
}

.bg-slate-100{
  background-color:#f0f2ef!important;
}

.bg-slate-200{
  background-color:#e1e5e1!important;
}

.text-slate-950,
.text-slate-900,
.text-slate-800{
  color:var(--app-ink)!important;
}

.text-slate-700,
.text-slate-600{
  color:#4f5953!important;
}

.text-slate-500,
.text-slate-400{
  color:var(--app-muted)!important;
}

.border-slate-100,
.border-slate-200,
.border-slate-300,
.border-slate-400{
  border-color:var(--app-line)!important;
}

.divide-slate-100> :not(:last-child),
.divide-slate-200> :not(:last-child){
  border-color:var(--app-line)!important;
}

/* Headings now feel more like a product workspace than a magazine. */
h1,h2,h3,h4,h5,h6{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  letter-spacing:-.025em;
}

.font-mono,
[class*="tracking-"]{
  font-variant-numeric:tabular-nums;
}

/* -------------------------------------------------------------------------- */
/* Controls                                                                    */
/* -------------------------------------------------------------------------- */

button{
  cursor:pointer!important;
}

button:not(.cursor-default),
select,
[data-custom-select]>button{
  border-radius:11px!important;
}

button:disabled,
button[aria-disabled="true"]{
  cursor:not-allowed!important;
  opacity:.55;
  box-shadow:none!important;
  filter:grayscale(.25);
}

select,
input,
textarea{
  border:1px solid var(--app-line);
  border-radius:11px!important;
  background:#fff;
}

select{
  padding:.5rem .8rem;
}

input,
textarea{
  color:var(--app-ink);
}

input:focus,
textarea:focus,
select:focus,
button:focus-visible,
a:focus-visible{
  outline:2px solid rgba(36,180,126,.25);
  outline-offset:2px;
}

select,
[data-custom-select]>[role="listbox"],
[role="dialog"][aria-modal="true"]{
  background-color:#fff!important;
  backdrop-filter:none!important;
}

/* Main actions keep a strong green accent. */
button[class*="from-emerald"],
a[class*="from-emerald"],
.bg-emerald-600,
.bg-emerald-700{
  background:var(--app-green)!important;
  color:#fff!important;
}

button[class*="from-emerald"]{
  border-radius:11px!important;
  box-shadow:0 8px 20px rgba(36,180,126,.18)!important;
}

button[class*="from-emerald"]:hover,
a[class*="from-emerald"]:hover{
  background:var(--app-green-dark)!important;
}

/* Existing black CTA utilities become dark neutral buttons in light mode. */
a[class*="bg-slate-950"],
button[class*="bg-slate-950"]{
  background:#1d211e!important;
  color:#fff!important;
}

a[class*="bg-slate-950"]:hover,
button[class*="bg-slate-950"]:hover{
  background:#0f1210!important;
}

/* -------------------------------------------------------------------------- */
/* Semantic colors                                                             */
/* -------------------------------------------------------------------------- */

.bg-emerald-50,
.bg-emerald-100{
  background-color:var(--app-green-soft)!important;
}

.border-emerald-100,
.border-emerald-200{
  border-color:rgba(36,180,126,.23)!important;
}

.text-emerald-600,
.text-emerald-700,
.text-emerald-800,
.text-emerald-900{
  color:var(--app-green-dark)!important;
}

/* -------------------------------------------------------------------------- */
/* Appearance picker                                                          */
/* -------------------------------------------------------------------------- */

.theme-choice-card{
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}

.theme-choice:hover .theme-choice-card{
  transform:translateY(-2px);
}

.theme-choice input:checked+.theme-choice-card{
  border-color:var(--app-green)!important;
  box-shadow:0 0 0 2px rgba(36,180,126,.13);
}

.theme-choice-card .bx-check-circle{
  color:#a1a8a3;
}

.theme-choice input:checked+.theme-choice-card .bx-check-circle{
  color:var(--app-green);
}

.theme-preview{
  position:relative;
  height:82px;
  border:1px solid #dfe3df;
  background:#f7f8f6;
}

.theme-preview-sidebar{
  position:absolute;
  inset:0 auto 0 0;
  width:27%;
  border-right:1px solid #dfe3df;
  background:#fff;
}

.theme-preview-main{
  position:absolute;
  inset:13px 10px 10px 35%;
  display:flex;
  flex-direction:column;
  gap:7px;
}

.theme-preview-main i{
  display:block;
  height:8px;
  border-radius:4px;
  background:#fff;
  box-shadow:0 0 0 1px #dfe3df;
}

.theme-preview-main i:first-child{
  width:62%;
  background:#24b47e;
  box-shadow:none;
}

.theme-preview-dark{background:#101010}
.theme-preview-dark .theme-preview-sidebar{border-color:#2a2a2a;background:#171717}
.theme-preview-dark .theme-preview-main i{background:#1d1d1d;box-shadow:0 0 0 1px #2a2a2a}
.theme-preview-dark .theme-preview-main i:first-child{background:#b8ff2c;box-shadow:none}
.theme-preview-system{background:linear-gradient(135deg,#f7f8f6 0 49.5%,#101010 50%)}
.theme-preview-system .theme-preview-sidebar{background:linear-gradient(135deg,#fff 0 49%,#171717 50%);border-color:#767976}
.theme-preview-system .theme-preview-main i{background:linear-gradient(135deg,#fff 0 49%,#1d1d1d 50%);box-shadow:0 0 0 1px #767976}
.theme-preview-system .theme-preview-main i:first-child{background:linear-gradient(135deg,#24b47e 0 49%,#b8ff2c 50%);box-shadow:none}
.theme-preview-system:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 49.5%,rgba(255,255,255,.18) 50%,transparent 51%)}

.theme-save-status{
  min-width:4rem;
  padding-top:.25rem;
  text-align:right;
}

.theme-save-status:not(:empty):before{
  content:"";
  display:inline-block;
  width:.42rem;
  height:.42rem;
  margin-right:.4rem;
  border-radius:999px;
  background:var(--app-green);
  vertical-align:.08rem;
}

/* -------------------------------------------------------------------------- */
/* Dark mode                                                                  */
/* -------------------------------------------------------------------------- */

html[data-theme="dark"]{
  color-scheme:dark;
  background:#101010;
  --app-bg:#101010;
  --app-sidebar:#161616;
  --app-panel:#1b1b1b;
  --app-panel-soft:#202020;
  --app-hover:#262626;
  --app-line:#2b2b2b;
  --app-line-strong:#383838;
  --app-ink:#f4f5f4;
  --app-muted:#9ca19d;
  --app-green:#8ee66a;
  --app-green-dark:#a5ef85;
  --app-green-soft:rgba(142,230,106,.11);
  --app-shadow:0 14px 32px rgba(0,0,0,.18);

  --aurora-bg:var(--app-bg);
  --aurora-glass:var(--app-panel);
  --aurora-border:var(--app-line);
  --aurora-ink:var(--app-ink);
  --aurora-muted:var(--app-muted);
  --aurora-mint:var(--app-green);
}

html[data-theme="dark"] body,
html[data-theme="dark"] .app-main{
  background:var(--app-bg)!important;
  color:var(--app-ink)!important;
}

html[data-theme="dark"] .app-sidebar{
  background:var(--app-sidebar)!important;
  border-right-color:var(--app-line)!important;
}

html[data-theme="dark"] .app-topbar{
  background:rgba(22,22,22,.92)!important;
  border-bottom-color:var(--app-line)!important;
}

html[data-theme="dark"] .brand-icon{
  border-color:rgba(142,230,106,.16)!important;
  background:var(--app-green-soft)!important;
}

html[data-theme="dark"] .sidebar-link{
  color:var(--app-muted)!important;
}

html[data-theme="dark"] .sidebar-link:hover{
  background:#202020!important;
  color:var(--app-ink)!important;
}

html[data-theme="dark"] .sidebar-link .sidebar-icon{
  background:transparent;
  color:#a6aca7;
}

html[data-theme="dark"] .sidebar-link.is-active{
  border-color:rgba(142,230,106,.18)!important;
  background:linear-gradient(90deg,#292d2a 0%,#2b3d31 62%,rgba(55,139,74,.72) 100%)!important;
  color:#f7f7f8!important;
  box-shadow:0 9px 24px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.05);
}

html[data-theme="dark"] .sidebar-link.is-active .sidebar-icon{
  border-color:transparent!important;
  background:transparent!important;
  color:#f7f7f8!important;
}

html[data-theme="dark"] .sidebar-user-panel{
  background:#1b1b1b!important;
}

html[data-theme="dark"] .sidebar-avatar{
  background:var(--app-green-soft);
  color:var(--app-green);
}

html[data-theme="dark"] .sidebar-user-action:hover,
html[data-theme="dark"] .sidebar-user-action.is-active{
  background:#252525;
}

html[data-theme="dark"] .sidebar-scan-progress{
  box-shadow:0 0 8px rgba(142,230,106,.22);
}

html[data-theme="dark"] .plan-badge{
  border-color:var(--app-line);
  background:#202020;
  color:var(--app-muted)!important;
}

html[data-theme="dark"] .sidebar-upgrade-prompt{
  background:linear-gradient(145deg,#1d1d1d,#191d1a);
  box-shadow:0 10px 28px rgba(0,0,0,.2);
}

html[data-theme="dark"] .sidebar-upgrade-button{
  background:#303030;
  color:#f4f5f4;
}

html[data-theme="dark"] .bg-white:not(.theme-preview-sidebar),
html[data-theme="dark"] article.rounded-md,
html[data-theme="dark"] section.rounded-md,
html[data-theme="dark"] form.rounded-md,
html[data-theme="dark"] .grid>.rounded-md.border{
  background-color:var(--app-panel)!important;
}

html[data-theme="dark"] .brand-form-actions{
  background-color:rgba(27,27,27,.95)!important;
}

html[data-theme="dark"] [data-brand-fetch-panel]{
  border-color:rgba(142,230,106,.18)!important;
  background-color:var(--app-green-soft)!important;
}

.onboarding-chat{--onboarding-accent:var(--app-green);--onboarding-ring:rgba(36,180,126,.18)}
.onboarding-intro-icon{display:grid;width:3.25rem;height:3.25rem;place-items:center;border:1px solid rgba(36,180,126,.2);border-radius:16px;background:var(--app-green-soft);box-shadow:0 8px 24px rgba(36,180,126,.1);color:var(--app-green-dark);font-size:1.55rem}
.onboarding-eyebrow{color:var(--app-green-dark);font-size:.7rem;font-weight:750;letter-spacing:.16em}
.onboarding-error{display:flex;align-items:flex-start;gap:.75rem;border:1px solid #fecaca;border-radius:12px;background:#fef2f2;padding:1rem;color:#b91c1c;font-size:.8125rem;line-height:1.5}
.onboarding-error>i{margin-top:.1rem;font-size:1.15rem}.onboarding-error span{display:grid;gap:.15rem}.onboarding-error strong{color:#991b1b}
.onboarding-progress-wrap{padding:0 .25rem}.onboarding-progress-track{height:.45rem;overflow:hidden;border-radius:999px;background:var(--app-line);box-shadow:inset 0 1px 2px rgba(15,23,42,.05)}
.onboarding-progress-track>span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--app-green),var(--app-green-dark));box-shadow:0 0 12px rgba(36,180,126,.25);transition:width .35s cubic-bezier(.22,1,.36,1)}
.onboarding-card{border:1px solid var(--app-line);border-radius:20px;background:var(--app-panel);box-shadow:var(--app-shadow),0 24px 60px rgba(20,35,27,.04)}
.onboarding-step{animation:onboarding-step-in .24s cubic-bezier(.22,1,.36,1) both}
@keyframes onboarding-step-in{from{opacity:0;transform:translateX(8px)}to{opacity:1;transform:none}}
.onboarding-bot{display:flex;align-items:flex-start;gap:.8rem;color:var(--app-ink);font-size:1.08rem;font-weight:650;line-height:1.6}
.onboarding-bot>i{display:grid;flex:0 0 auto;width:2.1rem;height:2.1rem;place-items:center;border:1px solid rgba(36,180,126,.16);border-radius:11px;background:var(--app-green-soft);color:var(--app-green-dark);font-size:1.1rem}
.onboarding-choice{display:flex;min-height:6.25rem;align-items:center;gap:1rem;border:1px solid var(--app-line-strong);border-radius:14px;background:var(--app-panel-soft);padding:1rem;color:var(--app-ink);text-align:left;transition:border-color .15s,background .15s,box-shadow .15s,transform .15s}
.onboarding-choice:hover,.onboarding-choice:focus-visible{border-color:var(--app-green);background:var(--app-panel);box-shadow:0 0 0 4px var(--onboarding-ring);transform:translateY(-2px);outline:none}
.onboarding-choice>i{display:grid;width:2.5rem;height:2.5rem;flex:0 0 auto;place-items:center;border-radius:10px;background:var(--app-green-soft);color:var(--app-green-dark);font-size:1.4rem}.onboarding-choice span{display:grid;gap:.25rem}.onboarding-choice strong{font-size:.9rem}.onboarding-choice small{color:var(--app-muted);font-size:.75rem;line-height:1.4}
.onboarding-input{display:block;width:100%;border:1px solid var(--app-line-strong);border-radius:11px;background:var(--app-panel-soft);padding:.82rem 1rem;color:var(--app-ink);font-size:.9rem;outline:none;transition:border-color .15s,background .15s,box-shadow .15s}.onboarding-input::placeholder{color:var(--app-muted);opacity:.78}
.onboarding-input:hover{border-color:var(--app-muted)}.onboarding-input:focus{border-color:var(--app-green);background:var(--app-panel);box-shadow:0 0 0 4px var(--onboarding-ring)}
.onboarding-label{display:block;margin-bottom:.4rem;color:var(--app-muted);font-size:.75rem;font-weight:650}
.onboarding-hint{display:flex;align-items:flex-start;gap:.4rem;color:var(--app-muted);font-size:.75rem;line-height:1.45}.onboarding-hint i{margin-top:.05rem;color:var(--app-green-dark);font-size:.95rem}
.onboarding-review{border:1px solid rgba(36,180,126,.2);border-radius:14px;background:var(--app-green-soft)}
.onboarding-primary{display:inline-flex;min-height:2.75rem;align-items:center;justify-content:center;gap:.5rem;border:1px solid var(--app-ink);border-radius:11px;background:var(--app-ink);padding:.75rem 1.15rem;color:var(--app-panel);font-size:.875rem;font-weight:650;box-shadow:0 6px 16px rgba(15,23,42,.1);transition:opacity .15s,transform .15s,box-shadow .15s}
.onboarding-primary:hover{box-shadow:0 9px 20px rgba(15,23,42,.16);opacity:.9;transform:translateY(-1px)}.onboarding-primary:disabled{cursor:wait;opacity:.6;transform:none}.onboarding-primary:active{transform:translateY(1px)}
.onboarding-footer{border-top:1px solid var(--app-line);background:var(--app-panel-soft)}.onboarding-back{display:inline-flex;align-items:center;gap:.25rem;border-radius:8px;padding:.35rem .45rem;color:var(--app-muted);font-size:.8125rem;font-weight:650}.onboarding-back:hover{background:var(--app-hover);color:var(--app-ink)}
html[data-theme="dark"] .onboarding-card{box-shadow:0 24px 60px rgba(0,0,0,.24)}html[data-theme="dark"] .onboarding-error{border-color:#7f1d1d;background:rgba(127,29,29,.18);color:#fca5a5}html[data-theme="dark"] .onboarding-error strong{color:#fecaca}
@media(max-width:520px){.onboarding-card>div{padding:1.35rem}.onboarding-primary{width:100%}.onboarding-choice{min-height:5.5rem}.onboarding-intro h1{font-size:1.75rem}}
@media(prefers-reduced-motion:reduce){.onboarding-step{animation:none}.onboarding-progress-track>span,.onboarding-choice,.onboarding-primary{transition:none}}

html[data-theme="dark"] .bg-slate-50{
  background-color:var(--app-panel-soft)!important;
}

html[data-theme="dark"] .bg-slate-100{
  background-color:#272727!important;
}

html[data-theme="dark"] .bg-slate-200{
  background-color:#353535!important;
}

html[data-theme="dark"] .text-slate-950,
html[data-theme="dark"] .text-slate-900,
html[data-theme="dark"] .text-slate-800,
html[data-theme="dark"] .text-slate-700,
html[data-theme="dark"] .text-slate-600{
  color:#e9ecea!important;
}

html[data-theme="dark"] .text-slate-500,
html[data-theme="dark"] .text-slate-400{
  color:var(--app-muted)!important;
}

html[data-theme="dark"] .border-slate-100,
html[data-theme="dark"] .border-slate-200,
html[data-theme="dark"] .border-slate-300,
html[data-theme="dark"] .border-slate-400{
  border-color:var(--app-line)!important;
}

html[data-theme="dark"] select,
html[data-theme="dark"] input,
html[data-theme="dark"] textarea,
html[data-theme="dark"] [data-custom-select]>[role="listbox"],
html[data-theme="dark"] [role="dialog"][aria-modal="true"],
html[data-theme="dark"] .source-health-panel{
  border-color:var(--app-line)!important;
  background-color:var(--app-panel)!important;
  color:var(--app-ink)!important;
}

html[data-theme="dark"] .source-health-backdrop{
  background:rgba(0,0,0,.62);
}

html[data-theme="dark"] select option{
  background:#1c1c1c;
  color:var(--app-ink);
}

html[data-theme="dark"] .topbar-icon-button,
html[data-theme="dark"] .source-health-button{
  border-color:var(--app-line)!important;
  background:#1b1b1b!important;
  color:var(--app-ink)!important;
}

html[data-theme="dark"] [class~="hover:bg-slate-50"]:hover,
html[data-theme="dark"] [class~="hover:bg-slate-100"]:hover,
html[data-theme="dark"] [class~="hover:bg-white"]:hover{
  background:#252525!important;
}

html[data-theme="dark"] a[class*="bg-slate-950"],
html[data-theme="dark"] button[class*="bg-slate-950"]{
  background:#f2f4f2!important;
  color:#111!important;
}

html[data-theme="dark"] button.bg-emerald-600,
html[data-theme="dark"] button.bg-emerald-700,
html[data-theme="dark"] a.bg-emerald-600,
html[data-theme="dark"] a.bg-emerald-700{
  color:#111!important;
}


html[data-theme="dark"] button[data-outline-id].bg-emerald-600{
  color:#000!important;
}

html[data-theme="dark"] [aria-label^="Opportunity score"] svg circle:first-child{
  stroke:#353535;
}

html[data-theme="dark"] ::-webkit-scrollbar-track{background:#151515}
html[data-theme="dark"] ::-webkit-scrollbar-thumb{border:3px solid #151515;border-radius:999px;background:#454545}

/* Idea metric explanations ------------------------------------------------- */
.idea-metric-label{
  display:flex;
  align-items:center;
  gap:.35rem;
}

.idea-metric-tooltip{
  position:relative;
  display:inline-flex;
}

.idea-metric-help{
  display:grid;
  width:1rem;
  height:1rem;
  place-items:center;
  border:1px solid #cbd5e1;
  border-radius:999px;
  background:transparent;
  color:#64748b;
  font-size:.625rem;
  font-weight:700;
  line-height:1;
  cursor:help;
}

.idea-metric-help:hover,
.idea-metric-help:focus-visible{
  border-color:var(--app-green);
  color:var(--app-green-dark);
  outline:none;
}

.idea-metric-tooltip-content{
  position:absolute;
  z-index:40;
  bottom:calc(100% + .5rem);
  left:50%;
  width:min(17rem,75vw);
  padding:.65rem .75rem;
  border-radius:.375rem;
  background:#0f172a;
  box-shadow:0 10px 25px rgba(15,23,42,.2);
  color:#fff;
  font-size:.75rem;
  font-weight:500;
  line-height:1.4;
  letter-spacing:normal;
  text-align:left;
  text-transform:none;
  opacity:0;
  pointer-events:none;
  transform:translate(-50%,.25rem);
  transition:opacity .15s ease,transform .15s ease;
}

.idea-metric-tooltip:hover .idea-metric-tooltip-content,
.idea-metric-tooltip:focus-within .idea-metric-tooltip-content{
  opacity:1;
  transform:translate(-50%,0);
}

html[data-theme="dark"] .idea-metric-help{
  border-color:#525252;
  color:#a3a3a3;
}

html[data-theme="dark"] .idea-metric-tooltip-content{
  border:1px solid #404040;
  background:#f2f4f2;
  color:#171717;
  box-shadow:0 10px 25px rgba(0,0,0,.4);
}

/* -------------------------------------------------------------------------- */
/* Responsive                                                                  */
/* -------------------------------------------------------------------------- */

@media(max-width:1023px){
  .app-shell{
    display:block;
    padding:0;
  }

  .app-sidebar{
    width:min(292px,88vw)!important;
    border-right:1px solid var(--app-line)!important;
    box-shadow:18px 0 50px rgba(20,35,27,.12)!important;
  }

  .app-topbar{
    top:0!important;
    margin:0;
  }

  .app-main>div:last-child{
    padding-top:1.5rem;
  }
}

@media(max-width:639px){
  .app-topbar select{
    max-width:132px;
  }

  .app-content{padding-inline:1rem!important}
  .app-toast{left:1rem;right:1rem;max-width:none}
  h2.text-3xl{font-size:1.65rem!important;line-height:1.2!important}
}

@media(prefers-reduced-motion:reduce){
  *{
    scroll-behavior:auto!important;
  }

  article.rounded-md,
  .theme-choice-card,
  .sidebar-link,
  .sidebar-icon,
  .sidebar-chevron{
    transition:none!important;
  }

  .app-toast{animation:none}
}
