@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&display=swap");

:root { --gold: #fec700; }

html, body, button, input, select, textarea { font-family: "Poppins", sans-serif; }
.brand-logo { width: 36px; height: 36px; object-fit: contain; }
.premium-copy { color: var(--gold); font-weight: 800; }
.rarity-control { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 0; border-bottom:1px solid var(--line); }
.goodie-list { display:grid; gap:8px; margin-top:12px; }
.goodie-editor { background:var(--panel2); border:1px solid var(--line); border-radius:6px; }
.goodie-editor > summary { display:grid; grid-template-columns:36px 1fr auto; gap:10px; align-items:center; padding:12px; cursor:pointer; }
.goodie-editor summary small { display:block; color:var(--muted); }
.goodie-edit-form { display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:10px; align-items:end; padding:14px; border-top:1px solid var(--line); }
.goodie-edit-form label { color:var(--muted); font-size:12px; }
.goodie-edit-form input,.goodie-edit-form select { display:block; width:100%; margin-top:5px; background:#101319; color:var(--text); border:1px solid var(--line); border-radius:6px; padding:9px; }
.goodie-edit-form .switch-row,.goodie-form .switch-row { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:40px; margin:0; color:var(--text); cursor:pointer; }
.toggle-list { display:grid; gap:4px; margin:8px 0 18px; }
.switch-row input { position:absolute; opacity:0; pointer-events:none; }
.switch-row i { position:relative; width:40px; height:23px; flex:0 0 auto; border-radius:999px; background:#4a525e; transition:background .15s ease; }
.switch-row i::after { content:""; position:absolute; width:17px; height:17px; left:3px; top:3px; border-radius:50%; background:#fff; transition:transform .15s ease; }
.switch-row input:checked + i { background:var(--green); }
.switch-row input:checked + i::after { transform:translateX(17px); }
.switch-row input:focus-visible + i { outline:2px solid #fff; outline-offset:2px; }
.premium-actions {
  align-items: flex-start;
  flex-direction: column;
}

.premium-settings {
  width: min(430px, 100%);
}

.premium-settings label {
  display: block;
  color: var(--muted);
  font-size: 12px;
  margin-bottom: 12px;
}

.premium-settings textarea {
  display: block;
  width: 100%;
  min-height: 90px;
  resize: vertical;
  margin-top: 6px;
  background: #101319;
  color: var(--text);
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 10px;
}

.premium-settings small {
  display: block;
  margin-top: 5px;
}

.premium-settings .check {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--text);
}

.owner-controls {
  padding: 14px 0 0;
  border: 0;
  border-top: 1px solid var(--line);
  flex-wrap: wrap;
}

.work-command-block {
  grid-column: 1 / -1;
  background: var(--panel2);
}

.work-message-editor {
  padding: 0 14px 14px;
  border-top: 1px solid var(--line);
}

.work-message-editor label,
.work-message-editor small {
  display: block;
  color: var(--muted);
  font-size: 12px;
  margin: 10px 0;
}

.work-message-editor textarea {
  display: block;
  width: 100%;
  min-height: 78px;
  resize: vertical;
  margin-top: 6px;
  background: #101319;
  color: var(--text);
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 10px;
}

.work-message-editor.locked {
  opacity: .48;
}

.work-message-editor.locked textarea,
.work-message-editor.locked button {
  cursor: not-allowed;
}

.owner-premium-list {
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
}

.owner-premium-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 16px 18px;
  background: var(--panel);
  border-bottom: 1px solid var(--line);
}

.owner-premium-row:last-child {
  border-bottom: 0;
}

.owner-premium-row strong,
.owner-premium-row small {
  display: block;
}

.owner-premium-row small {
  color: var(--muted);
  margin-top: 3px;
}

.owner-premium-row .owner-controls {
  padding: 0;
  border: 0;
}

@media (max-width: 760px) {
  .owner-premium-row {
    align-items: flex-start;
    flex-direction: column;
  }
}

.command-settings-block {
  background: var(--panel2);
}

.command-settings-block details {
  border-top: 1px solid var(--line);
}

.command-settings-block summary {
  padding: 10px 14px;
  color: var(--muted);
  cursor: pointer;
  font-size: 12px;
  font-weight: 700;
}

.reward-editor {
  padding: 4px 14px 14px;
}

.reward-fields {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 10px;
  margin-bottom: 12px;
}

.reward-editor label {
  display: block;
  color: var(--muted);
  font-size: 12px;
}

.reward-editor input,
.reward-editor textarea {
  display: block;
  width: 100%;
  margin-top: 5px;
  background: #101319;
  color: var(--text);
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 9px;
}

.reward-editor textarea {
  min-height: 76px;
  resize: vertical;
}

.phrase-field {
  margin: 0 0 12px;
}

.phrase-field small {
  display: block;
  color: var(--muted);
  margin-top: 5px;
}

.phrase-field.locked {
  opacity: .48;
}

.command-grid {
  display: block;
  background: transparent;
  border: 1px solid var(--line);
}

.command-dropdown {
  background: var(--panel2);
  border-bottom: 1px solid var(--line);
}

.command-dropdown:last-child {
  border-bottom: 0;
}

.command-dropdown > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px;
  cursor: pointer;
  list-style: none;
}

.command-dropdown > summary::-webkit-details-marker {
  display: none;
}

.command-dropdown > summary code,
.command-dropdown > summary small {
  display: block;
}

.command-dropdown > summary small,
.command-note,
.locked-feature,
.limit-note {
  color: var(--muted);
}

.dropdown-chevron {
  color: var(--muted);
  font-size: 20px;
  transition: transform .15s ease;
}

.command-dropdown[open] .dropdown-chevron {
  transform: rotate(180deg);
}

.command-dropdown-body {
  padding: 0 14px 14px;
  border-top: 1px solid var(--line);
}

.command-toggle-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 0;
}

.income-rules {
  margin-top: 8px;
}

.income-rule {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
}

.income-rule strong,
.income-rule small {
  display: block;
}

.income-rule small {
  color: var(--muted);
}

.income-create {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr auto;
  gap: 10px;
  align-items: end;
  padding-top: 14px;
}

.income-create label {
  color: var(--muted);
  font-size: 12px;
}

.income-create input,
.income-create select {
  display: block;
  width: 100%;
  margin-top: 5px;
  background: #101319;
  color: var(--text);
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 9px;
}

.locked-feature,
.command-note,
.limit-note {
  padding: 12px 0;
}

@media (max-width: 760px) {
  .income-create {
    grid-template-columns: 1fr;
  }
}

.guild-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.plan-badge { display:flex; align-items:center; gap:9px; min-width:112px; justify-content:center; border:1px solid var(--line); border-radius:6px; padding:9px 12px; }
.plan-badge span,.plan-badge strong,.plan-badge small { display:block; }
.plan-badge small { font-size:10px; margin-top:1px; }
.plan-badge.is-premium { color:#fec700; background:#2b250d; border-color:#66540b; }
.plan-badge.is-free { color:#aab2bd; background:#24282f; }
.premium-crown { width:24px; height:24px; object-fit:contain; flex:0 0 auto; }
.status.premium { display:inline-flex; align-items:center; gap:5px; color:#fec700; }
.status.premium img { width:16px; height:16px; object-fit:contain; }
.module-launcher { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-auto-rows:112px; margin:24px 0; gap:12px; }
.module-link { position:relative; display:block; height:112px; background:var(--panel); border:1px solid var(--line); border-radius:8px; padding:18px; min-width:0; }
.module-link:hover { background:var(--panel2); }
.module-link > span { display:flex; align-items:center; gap:8px; }
.module-link strong,.module-link small { display:block; }
.module-link small { color:var(--muted); margin-top:3px; white-space:normal; }
.module-link > b { position:absolute; right:18px; bottom:14px; color:var(--muted); font-size:22px; }
.module-panel { padding:0; overflow:hidden; }
.module-title { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 20px; border-bottom:1px solid var(--line); }
.module-title > div { display:flex; align-items:center; gap:10px; }
.module-title h2,.module-title p { margin:0; }
.module-title h2 { font-size:20px; }
.module-title p,.module-title > a { color:var(--muted); font-size:12px; }
.module-stack { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:var(--line); }
.module-command,.compact-command { background:var(--panel2); padding:0 16px 16px; min-width:0; }
.module-command .reward-editor,.compact-command .reward-editor { padding:0; }
.module-command .command-toggle-row,.compact-command .command-toggle-row { border-bottom:1px solid var(--line); }
.command-toggle-row span code,.command-toggle-row span small { display:block; }
.module-panel > .command-toggle-row,.module-panel > .income-rules,.module-panel > .reward-editor { margin-left:20px; margin-right:20px; }
.premium-heading,.premium-lock { display:flex; align-items:center; gap:11px; }
.premium-heading strong,.premium-heading small,.premium-lock strong,.premium-lock small { display:block; }
.premium-heading,.premium-lock strong { color:#fec700; }
.premium-heading small,.premium-lock small { color:var(--muted); }
.premium-lock { min-height:84px; padding:20px; background:#211e12; border-top:1px solid #51450f; }
.premium-lock .premium-button { margin-left:auto; }
.premium-setting { display:grid; grid-template-columns:24px 1fr; align-items:start; gap:10px; padding:14px; margin-bottom:14px; background:#211e12; border:1px solid #51450f; border-radius:6px; }
.premium-setting label,.premium-setting small { grid-column:2; }
.unlocked-setting { padding:14px; margin-bottom:14px; background:var(--panel); border:1px solid var(--line); border-radius:8px; }
.unlocked-setting label,.unlocked-setting small { display:block; }
.unlocked-setting small { color:var(--muted); margin-top:6px; }
.crime-message-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.crime-message-grid > small { grid-column:1 / -1; }
.setting-heading strong,.setting-heading small { display:block; }
.setting-heading small { color:var(--muted); }
.premium-button { display:inline-flex; align-items:center; justify-content:center; border:0; border-radius:6px; padding:10px 15px; font-weight:750; color:#111; background:#fec700; }
.premium-button .premium-crown { width:18px; height:18px; margin-right:6px; }
.premium-button:disabled { opacity:.55; }
.module-form { display:grid; grid-template-columns:1.2fr 1fr 1fr auto; align-items:end; gap:12px; padding:20px; }
.module-form label { color:var(--muted); font-size:12px; }
.module-form input { display:block; width:100%; margin-top:5px; background:#101319; color:var(--text); border:1px solid var(--line); border-radius:6px; padding:9px; }
.premium-copy { display:inline-flex; align-items:center; gap:5px; color:#fec700; }
.premium-copy .premium-crown { width:18px; height:18px; }
.store-actions { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:0 20px; }
.store-actions .rarity-control { flex:1; }
.module-panel .goodie-list { padding:0 20px 20px; }
.command-tile-grid { display:grid; grid-template-columns:1fr; gap:12px; padding:18px; }
.command-tile-grid.single { grid-template-columns:1fr; }
.command-tile { min-width:0; background:var(--panel2); border:1px solid var(--line); border-radius:8px; overflow:hidden; }
.command-tile > summary { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:58px; padding:16px; cursor:pointer; list-style:none; }
.command-tile > summary::-webkit-details-marker { display:none; }
.command-tile > summary > span:first-child { display:flex; align-items:center; gap:8px; }
.command-tile > summary .premium-crown { width:20px; height:20px; }
.command-state { color:var(--muted); font-size:12px; }
.command-state b { display:inline-block; font-size:17px; margin-left:6px; transition:transform .15s ease; }
.command-tile[open] .command-state b { transform:rotate(180deg); }
.command-tile-body { padding:0 16px 16px; border-top:1px solid var(--line); }
.command-tile-body .reward-editor { padding:0; }
.command-tile-body .command-toggle-row { border-bottom:1px solid var(--line); }
.module-view .module-panel { margin-top:10px; }
.server-row { grid-template-columns:48px minmax(0,1fr) auto auto; }
.server-action { min-width:76px; }
.server-access { color:var(--muted); font-size:12px; white-space:nowrap; }
.plans-heading { display:flex; align-items:center; gap:16px; margin-bottom:24px; }
.plans-heading > .premium-crown { width:48px; height:48px; }
.plans-heading h1 { margin:3px 0; font-size:42px; }
.plans-heading p { margin:0; color:var(--muted); }
.plan-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.plan-tile { display:flex; align-items:flex-start; flex-direction:column; min-height:310px; padding:22px; background:var(--panel); border:1px solid var(--line); border-radius:8px; }
.plan-tile.featured { border-color:#766000; background:#18160d; }
.plan-tile h2 { margin:14px 0 8px; }
.plan-tile p { color:var(--muted); }
.plan-tile button { margin-top:auto; width:100%; }
.plan-discord-button { margin-top:auto; width:100%; background:#5865f2; color:#fff; }
.plan-icon { display:grid; place-items:center; width:42px; height:42px; border-radius:8px; background:#2b250d; }
.plan-price { display:block; color:#fec700; font-size:30px; }
.plan-price small { color:var(--muted); font-size:13px; }
.redeem-panel { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:16px; padding:22px; background:var(--panel); border:1px solid var(--line); border-radius:8px; }
.redeem-panel h2,.redeem-panel p { margin:0; }
.redeem-panel p { color:var(--muted); margin-top:4px; }
.redeem-panel form { display:flex; gap:8px; }
.redeem-panel input,.redeem-server select { min-width:240px; background:#101319; color:var(--text); border:1px solid var(--line); border-radius:6px; padding:10px; }
.redeem-server { max-width:680px; margin:0 auto; padding:28px; background:var(--panel); border:1px solid #6a5524; border-radius:8px; }
.redeem-server > .premium-crown { width:44px; height:44px; }
.redeem-server h1 { margin:5px 0; }
.redeem-server p { color:var(--muted); }
.redeem-server form { display:flex; align-items:end; gap:10px; margin-top:22px; }
.redeem-server label { display:block; flex:1; color:var(--muted); font-size:12px; }
.redeem-server select { display:block; width:100%; margin-top:5px; }
.feature-band,.home-cta { display:grid; grid-template-columns:1fr 1fr; gap:36px; align-items:center; margin:24px 0; padding:30px; background:var(--panel); border:1px solid var(--line); border-radius:8px; }
.feature-band h2,.feature-band p,.home-cta h2,.home-cta p { margin:0; }
.feature-band p,.home-cta p { color:var(--muted); margin-top:8px; }
.feature-list { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.feature-list span { padding:12px; background:var(--panel2); border:1px solid var(--line); border-radius:6px; }
.showcase-section { padding:34px 0; }
.showcase-section h2 { margin:5px 0 18px; font-size:30px; }
.showcase-grid,.upload-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.showcase-shot,.showcase-placeholder { aspect-ratio:16/10; margin:0; border:1px solid var(--line); border-radius:8px; overflow:hidden; background:var(--panel); }
.showcase-shot img { display:block; width:100%; height:100%; object-fit:cover; }
.showcase-placeholder { display:grid; place-items:center; color:var(--muted); }
.home-cta { grid-template-columns:1fr auto; }
.upload-tile { display:grid; gap:10px; padding:14px; background:var(--panel); border:1px solid var(--line); border-radius:8px; }
.upload-tile > img,.upload-tile > .showcase-placeholder { width:100%; aspect-ratio:16/10; object-fit:cover; border-radius:6px; }
.upload-tile label { color:var(--muted); font-size:12px; }
.upload-tile input { display:block; width:100%; margin-top:6px; }
@media (max-width:760px) {
  .guild-heading { align-items:flex-start; flex-direction:column; }
  .module-launcher { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .module-stack,.module-form,.command-tile-grid { grid-template-columns:1fr; }
  .module-form { align-items:stretch; }
  .store-actions { align-items:stretch; flex-direction:column; padding-top:12px; }
  .plan-grid { grid-template-columns:1fr; }
  .redeem-panel,.redeem-panel form,.redeem-server form { align-items:stretch; flex-direction:column; }
  .redeem-panel input,.redeem-server select { min-width:0; width:100%; }
  .server-row { grid-template-columns:44px minmax(0,1fr) auto; }
  .server-row > .server-action,.server-row > .server-access { grid-column:2 / -1; justify-self:start; }
  .feature-band,.home-cta { grid-template-columns:1fr; padding:20px; }
  .feature-list,.showcase-grid,.upload-grid { grid-template-columns:1fr; }
  .crime-message-grid { grid-template-columns:1fr; }
  .crime-message-grid > small { grid-column:auto; }
}
