/* ============================================================
   Writing Tools — colour-coded UI
   5 categories (Write / Improve / Generate / Translate / Analyze),
   each with its own gradient identity carried from the card chip
   through to the opened tool's header and buttons.
   ============================================================ */

.wrt-root {
  --wrt-primary:#3b6ef6;
  --wrt-primary-2:#6f93ff;
  --wrt-bg:#F6F6FB;
  --wrt-card:#fff;
  --wrt-border:#e7e6f1;
  --wrt-text:#15131f;
  --wrt-muted:#6b6880;

  --cat-write-1:#2E6BFF;     --cat-write-2:#63C7FF;
  --cat-improve-1:#7B5CFA;   --cat-improve-2:#B79CFF;
  --cat-generate-1:#F0429C;  --cat-generate-2:#FF8FC7;
  --cat-translate-1:#05B889; --cat-translate-2:#4CE0B3;
  --cat-analyze-1:#D97706;   --cat-analyze-2:#FCD34D;

  padding-top:32px;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--wrt-text);
  line-height:1.5;
}
.wrt-root .wrt-name, .wrt-root .wrt-chip, .wrt-root .wrt-panel-head h2 {
  font-family:"Sora","Segoe UI",-apple-system,BlinkMacSystemFont,Roboto,sans-serif;
}

/* ---------- grid ---------- */
.wrt-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:20px; }

.wrt-card {
  position:relative;
  overflow:hidden;
  background:var(--wrt-card);
  border:1px solid var(--wrt-border);
  border-radius:18px;
  padding:22px 20px 24px;
  cursor:pointer;
  transition:transform .2s cubic-bezier(.2,.8,.2,1), box-shadow .2s ease;
}
a.wrt-card { display:block; text-decoration:none; color:inherit; }

.wrt-card::after {
  content:"";
  position:absolute; top:0; left:0; right:0; height:4px;
  background:linear-gradient(90deg, var(--_c1), var(--_c2));
}
.wrt-card[data-wrt-cat="Write"]     { --_c1:var(--cat-write-1);     --_c2:var(--cat-write-2); }
.wrt-card[data-wrt-cat="Improve"]   { --_c1:var(--cat-improve-1);   --_c2:var(--cat-improve-2); }
.wrt-card[data-wrt-cat="Generate"]  { --_c1:var(--cat-generate-1);  --_c2:var(--cat-generate-2); }
.wrt-card[data-wrt-cat="Translate"] { --_c1:var(--cat-translate-1); --_c2:var(--cat-translate-2); }
.wrt-card[data-wrt-cat="Analysis"]   { --_c1:var(--cat-analyze-1);   --_c2:var(--cat-analyze-2); }

.wrt-card:hover {
  transform:translateY(-4px);
  border-color:transparent;
  box-shadow:0 18px 36px -14px var(--_c1, rgba(59,110,246,.4));
}

.wrt-chip {
  display:inline-flex; align-items:center; justify-content:center;
  min-width:52px; height:28px; padding:0 10px;
  border-radius:9px;
  font-size:11px; font-weight:800; letter-spacing:.04em;
  color:#fff;
  background:linear-gradient(135deg, var(--_c1, var(--wrt-primary)), var(--_c2, var(--wrt-primary-2)));
}
.wrt-cat {
  display:inline-block; margin-left:9px;
  font-size:11px; font-weight:700;
  color:var(--_c1, var(--wrt-muted));
  vertical-align:middle;
}
.wrt-name { margin:16px 0 0; font-size:16.5px; font-weight:700; line-height:1.3; }

/* ---------- panel (opened tool) ---------- */
.wrt-tool-mount { margin-top:24px; }
.wrt-root.wrt-tool-active .wrt-tool-mount { margin-top:0; }

.wrt-panel { background:var(--wrt-card); border:1px solid var(--wrt-border); border-radius:20px; overflow:hidden; box-shadow:0 20px 50px -30px rgba(20,20,40,.25); }
.wrt-panel-head {
  display:flex; align-items:center; justify-content:space-between;
  padding:24px 26px; color:#fff;
  background:linear-gradient(120deg, var(--wrt-primary), var(--wrt-primary-2));
}
.wrt-root[data-active-cat="Write"]     .wrt-panel-head { background:linear-gradient(120deg, var(--cat-write-1), var(--cat-write-2)); }
.wrt-root[data-active-cat="Improve"]   .wrt-panel-head { background:linear-gradient(120deg, var(--cat-improve-1), var(--cat-improve-2)); }
.wrt-root[data-active-cat="Generate"]  .wrt-panel-head { background:linear-gradient(120deg, var(--cat-generate-1), var(--cat-generate-2)); }
.wrt-root[data-active-cat="Translate"] .wrt-panel-head { background:linear-gradient(120deg, var(--cat-translate-1), var(--cat-translate-2)); }
.wrt-root[data-active-cat="Analysis"]   .wrt-panel-head { background:linear-gradient(120deg, var(--cat-analyze-1), var(--cat-analyze-2)); }

.wrt-panel-head h2 { margin:0; font-size:21px; font-weight:800; letter-spacing:-.01em; }
.wrt-back { border:1px solid rgba(255,255,255,.55); background:rgba(255,255,255,.16); color:#fff; padding:9px 15px; border-radius:10px; cursor:pointer; font-weight:700; font-size:13px; transition:background .15s ease; }
.wrt-back:hover { background:rgba(255,255,255,.3); }

.wrt-panel-body { padding:24px 26px 28px; }

.wrt-field { margin-bottom:14px; }
.wrt-field label { display:block; font-size:15px; font-weight:800; margin:0 0 7px; color:var(--wrt-text); }
.wrt-panel input[type=text], .wrt-panel textarea, .wrt-panel select {
  width:100%; box-sizing:border-box; padding:11px 13px;
  border:1px solid var(--wrt-border); border-radius:11px;
  font-size:14px; font-family:inherit; background:#fff;
  transition:border-color .15s ease, box-shadow .15s ease;
}
.wrt-panel input[type=text]:focus, .wrt-panel textarea:focus, .wrt-panel select:focus {
  outline:none; border-color:var(--wrt-primary); box-shadow:0 0 0 3px rgba(59,110,246,.15);
}
.wrt-panel textarea { min-height:110px; resize:vertical; }

.wrt-row { display:flex; gap:12px; flex-wrap:wrap; margin-top:6px; }
.wrt-row > * { flex:0 0 auto; }

.wrt-btn {
  background:linear-gradient(120deg, var(--wrt-primary), var(--wrt-primary-2));
  color:#fff; border:none; padding:12px 22px; border-radius:11px;
  font-weight:700; cursor:pointer; font-size:14px;
  box-shadow:0 10px 22px -10px rgba(59,110,246,.6);
  transition:transform .12s ease, box-shadow .12s ease, opacity .15s ease;
}
.wrt-btn:hover { transform:translateY(-1px); }
.wrt-btn:disabled { opacity:.6; cursor:not-allowed; transform:none; }
.wrt-btn.sec { background:var(--wrt-bg); color:var(--wrt-text); box-shadow:none; border:1px solid var(--wrt-border); }

.wrt-root[data-active-cat="Write"]     .wrt-btn:not(.sec) { background:linear-gradient(120deg, var(--cat-write-1), var(--cat-write-2)); box-shadow:0 10px 22px -10px var(--cat-write-1); }
.wrt-root[data-active-cat="Improve"]   .wrt-btn:not(.sec) { background:linear-gradient(120deg, var(--cat-improve-1), var(--cat-improve-2)); box-shadow:0 10px 22px -10px var(--cat-improve-1); }
.wrt-root[data-active-cat="Generate"]  .wrt-btn:not(.sec) { background:linear-gradient(120deg, var(--cat-generate-1), var(--cat-generate-2)); box-shadow:0 10px 22px -10px var(--cat-generate-1); }
.wrt-root[data-active-cat="Translate"] .wrt-btn:not(.sec) { background:linear-gradient(120deg, var(--cat-translate-1), var(--cat-translate-2)); box-shadow:0 10px 22px -10px var(--cat-translate-1); }
.wrt-root[data-active-cat="Analysis"]   .wrt-btn:not(.sec) { background:linear-gradient(120deg, var(--cat-analyze-1), var(--cat-analyze-2)); box-shadow:0 10px 22px -10px var(--cat-analyze-1); }

.wrt-out {
  margin-top:14px; padding:16px 18px; background:var(--wrt-bg); border-radius:12px;
  font-size:14.5px; line-height:1.7; white-space:pre-wrap; word-break:break-word;
  border:1px solid var(--wrt-border); max-height:480px; overflow:auto;
}
.wrt-out.wrt-out-rich { white-space:normal; }

.wrt-hint { font-size:12.5px; color:var(--wrt-muted); margin-top:8px; }
.wrt-hint.bad { color:#DC2626; font-weight:600; }

.wrt-error { color:#c0392b; padding:12px; }
.wrt-hub-back { display:inline-flex; align-items:center; gap:6px; margin-bottom:18px; color:var(--wrt-primary); font-weight:700; font-size:14px; text-decoration:none; }
.wrt-hub-back:hover { text-decoration:underline; }

@media (max-width:480px) {
  .wrt-grid { grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:14px; }
  .wrt-card { padding:18px 16px 20px; }
  .wrt-panel-body, .wrt-panel-head { padding-left:18px; padding-right:18px; }
}

/* ---------- Rich editor extras: creativity slider, refine toolbar ---------- */
.wrt-range-wrap { display:flex; align-items:center; gap:12px; }
.wrt-range-wrap input[type=range] { flex:1; accent-color:var(--wrt-primary); }
.wrt-range-value { font-weight:800; font-size:13px; color:var(--wrt-primary); min-width:28px; text-align:right; }

.wrt-subhead { margin:22px 0 10px; padding-top:16px; border-top:1px solid var(--wrt-border); font-size:13px; font-weight:800; color:var(--wrt-muted); text-transform:uppercase; letter-spacing:.03em; }
.wrt-post-toolbar { margin-top:8px; }
.wrt-post-toolbar .wrt-row { margin-top:10px; }

.wrt-out h1 { font-size:24px; font-weight:800; margin:0 0 12px; }
.wrt-out h2 { font-size:19px; font-weight:800; margin:20px 0 8px; }
.wrt-out h3 { font-size:16px; font-weight:700; margin:16px 0 6px; }
.wrt-out p { margin:0 0 12px; }
.wrt-out ul { margin:0 0 12px; padding-left:22px; }
.wrt-out li { margin-bottom:4px; }
