/* Logo maker page (owner, 7 Oct 2026). Theme tokens only. */
.lm-wrap { padding: 34px 0 60px; }
.lm-wrap h1 { font-size: clamp(1.9rem, 3vw, 2.6rem); margin: 6px 0 8px; }
.lm-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.4fr); gap: 28px; margin-top: 24px; align-items: start; }
.lm-controls { display: grid; gap: 16px; background: var(--paper); border: 1px solid var(--line); border-radius: 20px; padding: 22px; }
.lm-controls label, .lm-lbl { display: grid; gap: 6px; font-size: .82rem; font-weight: 600; color: var(--ink-2); }
.lm-controls input:not([type]), .lm-controls input[maxlength], .lm-controls select { height: 42px; border: 1px solid var(--line); border-radius: 10px; padding: 0 12px; font: inherit; font-size: .95rem; background: var(--paper); color: var(--ink); }
.lm-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.lm-icons { display: grid; grid-template-columns: repeat(auto-fill, minmax(44px, 1fr)); gap: 6px; }
.lm-icons button { aspect-ratio: 1; border: 1px solid var(--line); border-radius: 10px; background: var(--paper); cursor: pointer; display: grid; place-items: center; color: var(--ink); font: 700 .72rem/1 inherit; }
.lm-icons svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.lm-icons button[aria-pressed="true"] { border-color: var(--ember); color: var(--ember); box-shadow: 0 0 0 2px rgba(139, 30, 79, .18); }
.lm-pals { display: flex; flex-wrap: wrap; gap: 8px; }
.lm-pals button { width: 40px; height: 28px; border-radius: 8px; border: 1px solid var(--line); cursor: pointer; background: linear-gradient(90deg, var(--a) 0 60%, var(--b) 60%); }
.lm-cols { grid-template-columns: auto auto 1fr 1fr; align-items: end; margin-top: 10px; }
.lm-cols input[type=color] { width: 46px; height: 32px; border: 1px solid var(--line); border-radius: 8px; padding: 2px; background: var(--paper); }
.lm-bg { display: flex !important; flex-direction: row; align-items: center; gap: 6px !important; font-weight: 500 !important; }
.lm-stage canvas#lm-preview { width: 100%; height: auto; display: block; border-radius: 20px; border: 1px solid var(--line);
  background: repeating-conic-gradient(#f1f2f4 0 25%, #fff 0 50%) 0 0 / 22px 22px; }
.lm-acts { display: flex; flex-wrap: wrap; gap: 10px; align-items: end; margin: 14px 0 6px; }
.lm-boxsel { display: grid; gap: 4px; font-size: .78rem; font-weight: 600; color: var(--ink-2); }
.lm-boxsel select { height: 42px; border: 1px solid var(--line); border-radius: 10px; padding: 0 10px; font: inherit; background: var(--paper); color: var(--ink); }
.lm-h2 { font-size: 1.1rem; margin: 22px 0 10px; }
.lm-ideas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.lm-idea { padding: 0; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; cursor: pointer; background: #fff; transition: border-color .15s, transform .15s; }
.lm-idea:hover { border-color: var(--ember); transform: translateY(-2px); }
.lm-idea canvas { width: 100%; height: auto; display: block; }
@media (max-width: 900px) { .lm-grid { grid-template-columns: 1fr; } .lm-ideas { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.lm-controls label > .muted { display: inline; font-weight: 400; }
.lm-cols { grid-template-columns: auto auto; justify-content: start; gap: 18px; }
.lm-cols .lm-bg { grid-column: auto; }
.lm-bgrow { display: flex; gap: 18px; margin-top: 10px; }
.lm-search { height: 38px; border: 1px solid var(--line); border-radius: 10px; padding: 0 12px; font: inherit; font-size: .9rem; background: var(--paper); color: var(--ink); margin-bottom: 8px; width: 100%; }
.lm-icons { max-height: 248px; overflow: auto; padding: 2px; }
.lm-icons button[hidden] { display: none; }
.lm-controls input[type=range] { accent-color: var(--ember); width: 100%; }
.lm-ideas { grid-template-columns: repeat(3, minmax(0, 1fr)); }
