/* ==========================================================================
   Trix Editor Styles - Enhanced Version
   ========================================================================== */

:root {
   --trix-primary: #3498db;
   --trix-border: #d1d5db;
   --trix-border-dark: #9ca3af;
   --trix-background: #ffffff;
   --trix-hover: #f8fafc;
   --trix-active: #dbeafe;
   --trix-text: #374151;
   --trix-text-light: #6b7280;
   --trix-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1),
      0 1px 2px 0 rgba(0, 0, 0, 0.06);
   --trix-radius: 8px;
   --trix-radius-sm: 6px;
   --trix-transition: all 0.2s ease-in-out;
}

/* Editor Container
   ========================================================================== */
trix-editor {
   border: 2px solid var(--trix-border);
   border-radius: var(--trix-radius);
   margin: 0;
   padding: 1rem;
   min-height: 20rem;
   outline: none;
   background: var(--trix-background);
   font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
      sans-serif;
   font-size: 14px;
   line-height: 1.6;
   color: var(--trix-text);
}

trix-editor:focus {
   border-color: var(--trix-primary);
   box-shadow: 0 0 0 3px rgba(52, 152, 219, 0.1);
}

/* Toolbar
   ========================================================================== */
trix-toolbar * {
   box-sizing: border-box;
}

trix-toolbar {
   background: var(--trix-background);
   border: 2px solid var(--trix-border);
   border-radius: var(--trix-radius);
   margin-bottom: 1rem;
   padding: 0.75rem;
   box-shadow: var(--trix-shadow);
}

trix-toolbar .trix-button-row {
   display: flex;
   flex-wrap: nowrap;
   justify-content: flex-start;
   gap: 0.5rem;
   overflow-x: auto;
   padding-bottom: 0.25rem;
}

/* Scrollbar styling for toolbar */
trix-toolbar .trix-button-row::-webkit-scrollbar {
   height: 4px;
}

trix-toolbar .trix-button-row::-webkit-scrollbar-track {
   background: #f1f1f1;
   border-radius: 2px;
}

trix-toolbar .trix-button-row::-webkit-scrollbar-thumb {
   background: #c1c1c1;
   border-radius: 2px;
}

trix-toolbar .trix-button-row::-webkit-scrollbar-thumb:hover {
   background: #a8a8a8;
}

/* Button Groups
   ========================================================================== */
trix-toolbar .trix-button-group {
   display: flex;
   border: 1px solid var(--trix-border);
   border-radius: var(--trix-radius-sm);
   background: var(--trix-background);
   overflow: hidden;
   box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

trix-toolbar .trix-button-group:not(:first-child) {
   margin-left: 0.75rem;
}

@media (max-width: 768px) {
   trix-toolbar .trix-button-group:not(:first-child) {
      margin-left: 0.5rem;
   }
}

/* Buttons
   ========================================================================== */
trix-toolbar .trix-button {
   position: relative;
   display: flex;
   align-items: center;
   justify-content: center;
   color: var(--trix-text);
   font-size: 0.75rem;
   font-weight: 500;
   white-space: nowrap;
   padding: 0.5rem 0.75rem;
   margin: 0;
   outline: none;
   border: none;
   background: transparent;
   cursor: pointer;
   min-width: 2.5rem;
   height: 2.5rem;
}

trix-toolbar .trix-button:not(:first-child) {
   border-left: 1px solid var(--trix-border);
}

trix-toolbar .trix-button:hover:not(:disabled) {
   background: var(--trix-hover);
   color: var(--trix-primary);
}

trix-toolbar .trix-button.trix-active {
   background: var(--trix-active);
   color: var(--trix-primary);
}

trix-toolbar .trix-button:disabled {
   color: var(--trix-text-light);
   cursor: not-allowed;
   opacity: 0.5;
}

@media (max-width: 768px) {
   trix-toolbar .trix-button {
      padding: 0.4rem 0.6rem;
      min-width: 2.2rem;
      height: 2.2rem;
   }
}

/* Icon Buttons
   ========================================================================== */
trix-toolbar .trix-button--icon {
   font-size: inherit;
   text-indent: -9999px;
   position: relative;
}

trix-toolbar .trix-button--icon::before {
   display: inline-block;
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
   opacity: 0.7;
   content: "";
   background-position: center;
   background-repeat: no-repeat;
   background-size: 18px 18px;
   width: 18px;
   height: 18px;
}

trix-toolbar .trix-button--icon:hover::before {
   opacity: 1;
}

trix-toolbar .trix-button--icon.trix-active::before {
   opacity: 1;
}

trix-toolbar .trix-button--icon:disabled::before {
   opacity: 0.3;
}

trix-toolbar .trix-button--icon-attach::before {
   background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M10.5%2018V7.5c0-2.25%203-2.25%203%200V18c0%204.125-6%204.125-6%200V7.5c0-6.375%209-6.375%209%200V18%22%20stroke%3D%22%23fff%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
}

trix-toolbar .trix-button--icon-bold::before {
   background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M6.522%2019.242a.5.5%200%200%201-.5-.5V5.35a.5.5%200%200%201%20.5-.5h5.783c1.347%200%202.46.345%203.24.982.783.64%201.216%201.562%201.216%202.683%200%201.13-.587%202.129-1.476%202.71a.35.35%200%200%200%20.049.613c1.259.56%202.101%201.742%202.101%203.22%200%201.282-.483%202.334-1.363%203.063-.876.726-2.132%201.12-3.66%201.12h-5.89ZM9.27%207.347v3.362h1.97c.766%200%201.347-.17%201.733-.464.38-.291.587-.716.587-1.27%200-.53-.183-.928-.513-1.198-.334-.273-.838-.43-1.505-.43H9.27Zm0%205.606v3.791h2.389c.832%200%201.448-.177%201.853-.497.399-.315.614-.786.614-1.423%200-.62-.22-1.077-.63-1.385-.418-.313-1.053-.486-1.905-.486H9.27Z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E");
}

trix-toolbar .trix-button--icon-italic::before {
   background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M9%205h6.5v2h-2.23l-2.31%2010H13v2H6v-2h2.461l2.306-10H9V5Z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E");
}

trix-toolbar .trix-button--icon-link::before {
   background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M18.948%205.258a4.337%204.337%200%200%200-6.108%200L11.217%206.87a.993.993%200%200%200%200%201.41c.392.39%201.027.39%201.418%200l1.623-1.613a2.323%202.323%200%200%201%203.271%200%202.29%202.29%200%200%201%200%203.251l-2.393%202.38a3.021%203.021%200%200%201-4.255%200l-.05-.049a1.007%201.007%200%200%200-1.418%200%20.993.993%200%200%200%200%201.41l.05.049a5.036%205.036%200%200%200%207.091%200l2.394-2.38a4.275%204.275%200%200%200%200-6.072Zm-13.683%2013.6a4.337%204.337%200%200%200%206.108%200l1.262-1.255a.993.993%200%200%200%200-1.41%201.007%201.007%200%200%200-1.418%200L9.954%2017.45a2.323%202.323%200%200%201-3.27%200%202.29%202.29%200%200%201%200-3.251l2.344-2.331a2.579%202.579%200%200%201%203.631%200c.392.39%201.027.39%201.419%200a.993.993%200%200%200%200-1.41%204.593%204.593%200%200%200-6.468%200l-2.345%202.33a4.275%204.275%200%200%200%200%206.072Z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E");
}

trix-toolbar .trix-button--icon-strike::before {
   background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M6%2014.986c.088%202.647%202.246%204.258%205.635%204.258%203.496%200%205.713-1.728%205.713-4.463%200-.275-.02-.536-.062-.781h-3.461c.398.293.573.654.573%201.123%200%201.035-1.074%201.787-2.646%201.787-1.563%200-2.773-.762-2.91-1.924H6ZM6.432%2010h3.763c-.632-.314-.914-.715-.914-1.273%200-1.045.977-1.739%202.432-1.739%201.475%200%202.52.723%202.617%201.914h2.764c-.05-2.548-2.11-4.238-5.39-4.238-3.145%200-5.392%201.719-5.392%204.316%200%20.363.04.703.12%201.02ZM4%2011a1%201%200%201%200%200%202h15a1%201%200%201%200%200-2H4Z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E");
}

trix-toolbar .trix-button--icon-quote::before {
   background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M4.581%208.471c.44-.5%201.056-.834%201.758-.995C8.074%207.17%209.201%207.822%2010%208.752c1.354%201.578%201.33%203.555.394%205.277-.941%201.731-2.788%203.163-4.988%203.56a.622.622%200%200%201-.653-.317c-.113-.205-.121-.49.16-.764.294-.286.567-.566.791-.835.222-.266.413-.54.524-.815.113-.28.156-.597.026-.908-.128-.303-.39-.524-.72-.69a3.02%203.02%200%200%201-1.674-2.7c0-.905.283-1.59.72-2.088Zm9.419%200c.44-.5%201.055-.834%201.758-.995%201.734-.306%202.862.346%203.66%201.276%201.355%201.578%201.33%203.555.395%205.277-.941%201.731-2.789%203.163-4.988%203.56a.622.622%200%200%201-.653-.317c-.113-.205-.122-.49.16-.764.294-.286.567-.566.791-.835.222-.266.412-.54.523-.815.114-.28.157-.597.026-.908-.127-.303-.39-.524-.72-.69a3.02%203.02%200%200%201-1.672-2.701c0-.905.283-1.59.72-2.088Z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E");
}

trix-toolbar .trix-button--icon-heading-1::before {
   background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M21.5%207.5v-3h-12v3H14v13h3v-13h4.5ZM9%2013.5h3.5v-3h-10v3H6v7h3v-7Z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E");
}

trix-toolbar .trix-button--icon-code::before {
   background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M3.293%2011.293a1%201%200%200%200%200%201.414l4%204a1%201%200%201%200%201.414-1.414L5.414%2012l3.293-3.293a1%201%200%200%200-1.414-1.414l-4%204Zm13.414%205.414%204-4a1%201%200%200%200%200-1.414l-4-4a1%201%200%201%200-1.414%201.414L18.586%2012l-3.293%203.293a1%201%200%200%200%201.414%201.414Z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E");
}

trix-toolbar .trix-button--icon-bullet-list::before {
   background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M5%207.5a1.5%201.5%200%201%200%200-3%201.5%201.5%200%200%200%200%203ZM8%206a1%201%200%200%201%201-1h11a1%201%200%201%201%200%202H9a1%201%200%200%201-1-1Zm1%205a1%201%200%201%200%200%202h11a1%201%200%201%200%200-2H9Zm0%206a1%201%200%201%200%200%202h11a1%201%200%201%200%200-2H9Zm-2.5-5a1.5%201.5%200%201%201-3%200%201.5%201.5%200%200%201%203%200ZM5%2019.5a1.5%201.5%200%201%200%200-3%201.5%201.5%200%200%200%200%203Z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E");
}

trix-toolbar .trix-button--icon-number-list::before {
   background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M3%204h2v4H4V5H3V4Zm5%202a1%201%200%200%201%201-1h11a1%201%200%201%201%200%202H9a1%201%200%200%201-1-1Zm1%205a1%201%200%201%200%200%202h11a1%201%200%201%200%200-2H9Zm0%206a1%201%200%201%200%200%202h11a1%201%200%201%200%200-2H9Zm-3.5-7H6v1l-1.5%202H6v1H3v-1l1.667-2H3v-1h2.5ZM3%2017v-1h3v4H3v-1h2v-.5H4v-1h1V17H3Z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E");
}

trix-toolbar .trix-button--icon-undo::before {
   background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M3%2014a1%201%200%200%200%201%201h6a1%201%200%201%200%200-2H6.257c2.247-2.764%205.151-3.668%207.579-3.264%202.589.432%204.739%202.356%205.174%205.405a1%201%200%200%200%201.98-.283c-.564-3.95-3.415-6.526-6.825-7.095C11.084%207.25%207.63%208.377%205%2011.39V8a1%201%200%200%200-2%200v6Zm2-1Z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E");
}

trix-toolbar .trix-button--icon-redo::before {
   background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M21%2014a1%201%200%200%201-1%201h-6a1%201%200%201%201%200-2h3.743c-2.247-2.764-5.151-3.668-7.579-3.264-2.589.432-4.739%202.356-5.174%205.405a1%201%200%200%201-1.98-.283c.564-3.95%203.415-6.526%206.826-7.095%203.08-.513%206.534.614%209.164%203.626V8a1%201%200%201%201%202%200v6Zm-2-1Z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E");
}

trix-toolbar .trix-button--icon-decrease-nesting-level::before {
   background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M5%206a1%201%200%200%201%201-1h12a1%201%200%201%201%200%202H6a1%201%200%200%201-1-1Zm4%205a1%201%200%201%200%200%202h9a1%201%200%201%200%200-2H9Zm-3%206a1%201%200%201%200%200%202h12a1%201%200%201%200%200-2H6Zm-3.707-5.707a1%201%200%200%200%200%201.414l2%202a1%201%200%201%200%201.414-1.414L4.414%2012l1.293-1.293a1%201%200%200%200-1.414-1.414l-2%202Z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E");
}

trix-toolbar .trix-button--icon-increase-nesting-level::before {
   background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M5%206a1%201%200%200%201%201-1h12a1%201%200%201%201%200%202H6a1%201%200%200%201-1-1Zm4%205a1%201%200%201%200%200%202h9a1%201%200%201%200%200-2H9Zm-3%206a1%201%200%201%200%200%202h12a1%201%200%201%200%200-2H6Zm-2.293-2.293%202-2a1%201%200%200%200%200-1.414l-2-2a1%201%200%201%200-1.414%201.414L3.586%2012l-1.293%201.293a1%201%200%201%200%201.414%201.414Z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E");
}

/* Dialog Windows
   ========================================================================== */
trix-toolbar .trix-dialogs {
   position: relative;
}

trix-toolbar .trix-dialog {
   position: absolute;
   top: 100%;
   left: 0;
   right: 0;
   font-size: 0.875rem;
   padding: 1.25rem;
   background: var(--trix-background);
   box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
   border: 1px solid var(--trix-border);
   border-radius: var(--trix-radius);
   z-index: 100;
   margin-top: 0.5rem;
}

trix-toolbar .trix-input--dialog {
   font-size: inherit;
   font-weight: normal;
   padding: 0.625rem 0.875rem;
   margin: 0 0.75rem 0 0;
   border-radius: var(--trix-radius-sm);
   border: 1px solid var(--trix-border);
   background-color: var(--trix-background);
   box-shadow: var(--trix-shadow);
   outline: none;
   width: 100%;
}

trix-toolbar .trix-input--dialog:focus {
   border-color: var(--trix-primary);
   box-shadow: 0 0 0 3px rgba(52, 152, 219, 0.1);
}

trix-toolbar .trix-input--dialog.validate:invalid {
   border-color: #ef4444;
   box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
}

trix-toolbar .trix-button--dialog {
   font-size: inherit;
   padding: 0.625rem 1.25rem;
   border-radius: var(--trix-radius-sm);
   background: var(--trix-primary);
   color: white;
   border: none;
   cursor: pointer;
}

trix-toolbar .trix-button--dialog:hover {
   background: #2980b9;
   transform: translateY(-1px);
}

/* Link Dialog
   ========================================================================== */
trix-toolbar .trix-dialog--link {
   max-width: 500px;
}

trix-toolbar .trix-dialog__link-fields {
   display: flex;
   align-items: center;
   gap: 0.75rem;
}

trix-toolbar .trix-dialog__link-fields .trix-input {
   flex: 1;
   margin: 0;
}

trix-toolbar .trix-dialog__link-fields .trix-button-group {
   flex: 0 0 auto;
   margin: 0;
}

/* Content Styling
   ========================================================================== */
.trix-content {
   line-height: 1.7;
   overflow-wrap: break-word;
   word-break: break-word;
   color: var(--trix-text);
}

.trix-content * {
   box-sizing: border-box;
   margin: 0;
   padding: 0;
}

.trix-content h1 {
   font-size: 1.5rem;
   line-height: 1.3;
   font-weight: 700;
   margin-bottom: 1rem;
   color: #1f2937;
}

.trix-content h2 {
   font-size: 1.25rem;
   line-height: 1.4;
   font-weight: 600;
   margin-bottom: 0.75rem;
   color: #374151;
}

.trix-content blockquote {
   border-left: 4px solid var(--color-primary);
   margin: 1.5rem 0;
   padding: 1rem 1.5rem;
   background: var(--color-gray-700);
   border-radius: 0 var(--trix-radius) var(--trix-radius) 0;
   font-style: italic;
}

.trix-content [dir="rtl"] blockquote,
.trix-content blockquote[dir="rtl"] {
   border-left: none;
   border-right: 4px solid var(--trix-border-dark);
   border-radius: var(--trix-radius) 0 0 var(--trix-radius);
}

.trix-content ul,
.trix-content ol {
   margin: 1rem 0;
   padding-left: 2rem;
}

.trix-content li {
   margin-bottom: 0.25rem;
}

.trix-content [dir="rtl"] li {
   margin-right: 1em;
}

.trix-content pre {
   display: block;
   width: 100%;
   font-family: "Monaco", "Menlo", "Ubuntu Mono", monospace;
   font-size: 0.875rem;
   padding: 1rem;
   margin: 1rem 0;
   background: #1f2937;
   color: #e5e7eb;
   border-radius: var(--trix-radius);
   overflow-x: auto;
   line-height: 1.5;
}

.trix-content code {
   font-family: "Monaco", "Menlo", "Ubuntu Mono", monospace;
   font-size: 0.875em;
   background: #f3f4f6;
   padding: 0.125rem 0.375rem;
   border-radius: 4px;
   color: #dc2626;
}

.trix-content img {
   max-width: 100%;
   height: auto;
   border-radius: var(--trix-radius);
   margin: 0.5rem 0;
}

/* Attachment Styling
   ========================================================================== */
.trix-content .attachment {
   display: inline-block;
   position: relative;
   max-width: 100%;
   margin: 0.5rem 0;
}

.trix-content .attachment--preview {
   width: 100%;
   text-align: center;
}

.trix-content .attachment--preview .attachment__caption {
   color: var(--trix-text-light);
   font-size: 0.875rem;
   line-height: 1.4;
   margin-top: 0.5rem;
}

.trix-content .attachment--file {
   color: var(--trix-text);
   line-height: 1.2;
   margin: 0.25rem;
   padding: 0.75rem 1.25rem;
   border: 1px solid var(--trix-border);
   border-radius: var(--trix-radius);
   background: var(--trix-background);
   display: inline-flex;
   align-items: center;
   gap: 0.5rem;
   text-decoration: none;
}

.trix-content .attachment--file:hover {
   border-color: var(--trix-primary);
   box-shadow: var(--trix-shadow);
}

/* Gallery Layout
   ========================================================================== */
.trix-content .attachment-gallery {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
   gap: 1rem;
   margin: 1rem 0;
}

.trix-content .attachment-gallery > action-text-attachment,
.trix-content .attachment-gallery > .attachment {
   max-width: 100% !important;
}

/* Responsive Design
   ========================================================================== */
@media (max-width: 640px) {
   trix-toolbar .trix-button-row {
      gap: 0.25rem;
   }

   trix-toolbar .trix-button-group:not(:first-child) {
      margin-left: 0.25rem;
   }

   .trix-content .attachment-gallery {
      grid-template-columns: 1fr;
   }

   trix-editor {
      padding: 0.75rem;
   }
}

/* Dark mode support */
@media (prefers-color-scheme: dark) {
   :root {
      --trix-border: #4b5563;
      --trix-border-dark: #6b7280;
      --trix-background: #1f2937;
      --trix-hover: #374151;
      --trix-active: #1e40af;
      --trix-text: #f3f4f6;
      --trix-text-light: #9ca3af;
   }

   .trix-content h1,
   .trix-content h2 {
      color: #f9fafb;
   }

   .trix-content code {
      background: #374151;
      color: #f87171;
   }
}

/* Embeds
   ========================================================================== */

.trix-content embed {
   max-width: 100%;
   height: auto;
   border-radius: var(--trix-radius);
   margin: 0.5rem 0;
}

.trix-content action-text-attachment .attachment {
   padding: 0 !important;
   max-width: 100% !important;
}

trix-editor ul {
   list-style-type: disc;
   padding-left: 20px;
}

trix-editor ol {
   list-style-type: decimal;
   padding-left: 20px;
}

trix-editor blockquote {
   font-style: italic;
   margin-left: 20px;
   padding-left: 10px;
   border-left: 3px solid #ccc;
}

trix-editor h1 {
   font-size: 1.8em;
   font-weight: bold;
}

trix-editor pre {
   background-color: #1e40af;
   border-radius: 4px;
   padding: 10px;
   font-family: "Courier New", Courier, monospace;
   overflow-x: auto;
}

trix-editor code {
   background-color: #eee;
   padding: 2px 4px;
   border-radius: 3px;
   font-family: "Courier New", Courier, monospace;
}

.prose ul {
   list-style-type: circle;
}

.prose ol {
   list-style-type: decimal;
}
