/* ============================================================
   Text Expander — tool-specific layout on top of ../Shared/theme.css
   Shared chrome (gradient header, hamburger nav, .nltm-check,
   .nltm-canvas-frame) now lives in theme.css; this file only holds
   the page layout unique to this tool. Tokens only — no hardcoded
   colors/fonts.
   ============================================================ */

/* ---------- Main / cards ---------- */

.et-main {
   max-width: 1180px;
   margin: 0 auto;
   padding: var(--nltm-sp-6) var(--nltm-sp-5) var(--nltm-sp-8);
   display: flex;
   flex-direction: column;
   gap: var(--nltm-sp-5);
}

.et-card { padding: var(--nltm-sp-5); }

.et-heading {
   font-family: var(--nltm-font-display);
   font-style: italic;
   font-weight: 600;
   font-size: var(--nltm-fs-4);
   color: var(--nltm-primary-deep);
   margin: 0 0 var(--nltm-sp-3);
}

.et-help {
   color: var(--nltm-muted);
   font-size: var(--nltm-fs-2);
   margin: 0 0 var(--nltm-sp-3);
}
.et-help code {
   font-family: var(--nltm-font-mono);
   font-size: 0.95em;
   background: var(--nltm-surface-2);
   border: 1px solid var(--nltm-line);
   border-radius: var(--nltm-radius-sm);
   padding: 0.05em 0.4em;
   color: var(--nltm-ink);
}

.et-textarea {
   width: 100%;
   box-sizing: border-box;
   font-family: var(--nltm-font-mono);
   resize: vertical;
}

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

.et-controls {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   gap: var(--nltm-sp-4);
   margin-top: var(--nltm-sp-4);
}

/* ---------- Samples ---------- */

.et-samples {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   gap: var(--nltm-sp-3);
}
.et-samples-label {
   font-family: var(--nltm-font-display);
   font-style: italic;
   color: var(--nltm-muted);
}

.et-sample-btn {
   background: var(--nltm-surface);
   color: var(--nltm-primary-deep);
   border: 1px solid var(--nltm-line);
   box-shadow: var(--nltm-shadow-1);
}
.et-sample-btn:hover { background: var(--nltm-accent-soft); color: var(--nltm-primary-deep); }

.et-sample-caption {
   flex-basis: 100%;
   margin: var(--nltm-sp-1) 0 0;
   min-height: 1.4em;
   font-family: var(--nltm-font-hand);
   font-size: var(--nltm-fs-3);
   color: var(--nltm-accent);
}

/* ---------- Output split ---------- */

.et-output-split {
   display: flex;
   flex-wrap: wrap;
   gap: var(--nltm-sp-5);
   align-items: flex-start;
}
.et-output {
   flex: 1 1 320px;
   min-width: 260px;
   font-family: var(--nltm-font-mono);
   font-size: var(--nltm-fs-1);
   line-height: 1.15;
   resize: vertical;
}
.et-canvas-slot {
   flex: 1 1 320px;
   min-width: 260px;
}
#colorCanvas {
   max-width: 100%;
   height: auto;
   image-rendering: pixelated;
   background: var(--nltm-surface);
   border: 1px solid var(--nltm-line);
   border-radius: var(--nltm-radius-sm);
}

@media (max-width: 640px) {
   .et-main { padding: var(--nltm-sp-5) var(--nltm-sp-4) var(--nltm-sp-7); }
   #FrameHeader.nltm-tool-header { flex-direction: column; gap: var(--nltm-sp-1); }
}
