:root {
  color-scheme: light dark;
  --accent: #8054f5;
  --accent-ink: #fff;
  --pop: light-dark(#525d00, #d2f76f);
  --bg: light-dark(#f7f7fb, #14141c);
  --panel: light-dark(#fff, #1c1c27);
  --stage: light-dark(#edecf5, #111119);
  --ink: light-dark(#242334, #f3f2fa);
  --muted: light-dark(#777586, #a4a1b6);
  --line: light-dark(#e7e5ef, #30303e);
  --tint: light-dark(#ece6ff, #302546);
  --grid: light-dark(#d9d6e7, #282633);
  --subtle: light-dark(#f3f2f8, #252531);
  --bind: rgba(182, 221, 94, .24);
  --sel: #8054f5;
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html, body { margin: 0; min-height: 100%; }
body { font: 13px/1.45 "Segoe UI", Inter, Arial, sans-serif; color: var(--ink); background: var(--bg); }
button, input, select { font: inherit; }
button { cursor: pointer; }
button:disabled { cursor: wait; opacity: .6; }
button:focus-visible, summary:focus-visible, input:focus-visible, select:focus-visible, a:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
ul { list-style: none; margin: 0; padding: 0; }
h1, h2, h3, p { margin: 0; }
.icon { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
.muted { color: var(--muted); }
.lc-app { display: flex; flex-direction: column; height: 100dvh; min-height: 540px; }
.lc-action { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 9px 13px; border: 1px solid var(--line); border-radius: 9px; color: var(--ink); background: var(--panel); white-space: nowrap; }
.lc-action:hover { background: var(--subtle); }
a.lc-action { text-decoration: none; }
.lc-primary { border-color: var(--accent); color: var(--accent-ink); background: var(--accent); box-shadow: 0 4px 18px rgba(128, 84, 245, .18); font-weight: 600; }
.lc-primary:hover { background: #7145e3; }
.lc-notice {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 10000;
  width: min(380px, calc(100vw - 32px));
  max-height: min(240px, 40dvh);
  margin: 0;
  padding: 14px 17px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: var(--panel);
  color: var(--ink);
  box-shadow: 0 10px 36px #0003, 0 2px 8px #0001;
  overflow-wrap: anywhere;
  overflow-y: auto;
}
.lc-notice[role="alert"] { border-left: 3px solid light-dark(#b24b4b, #ee8383); background: light-dark(#faecec, #3a252b); }

.lc-welcome { flex: 1; min-height: 0; overflow-y: auto; padding: 45px max(44px, calc((100vw - 1120px) / 2)); display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .8fr); gap: 35px; align-items: center; }
.lc-welcome-copy { position: relative; z-index: 1; }
.lc-welcome h1 { font-size: clamp(36px, 4.5vw, 52px); line-height: 1.1; margin-bottom: 18px; font-weight: 650; letter-spacing: -1.8px; }
.lc-welcome p { font-size: 14px; color: var(--muted); margin-bottom: 29px; max-width: 350px; line-height: 1.7; }
.lc-dropzone { padding: 23px; border: 1px dashed color-mix(in srgb, var(--accent) 40%, var(--line)); border-radius: 13px; background: var(--panel); max-width: 375px; }
.lc-drop-top { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.lc-upload-icon { color: var(--accent); background: var(--tint); border-radius: 9px; width: 38px; height: 38px; display: grid; place-items: center; flex-shrink: 0; }
.lc-drop-title { font-size: 13px; font-weight: 600; }
.lc-drop-detail { font-size: 11px; color: var(--muted); margin-top: 3px; }
.lc-dropzone .lc-primary { width: 100%; }
.lc-welcome-art { position: relative; height: 355px; display: grid; place-items: center; }
.lc-orbit { position: absolute; width: 300px; height: 300px; border-radius: 50%; background: radial-gradient(circle, rgba(128, 84, 245, .22), transparent 69%); }
.lc-art-paper { position: relative; width: 208px; height: 273px; padding: 24px; background: #fff; color: #19191f; border-radius: 8px; transform: rotate(-10deg); box-shadow: 0 18px 35px #0002; border: 1px solid #e5e1f0; z-index: 1; }
.lc-art-paper::before { content: ""; position: absolute; top: 10px; left: 50%; width: 32px; height: 7px; transform: translateX(-50%); border-radius: 5px; background: #ece9f0; }
.lc-art-heading { width: 72%; height: 15px; background: #19191f; border-radius: 3px; margin: 23px 0 20px; }
.lc-art-rule { width: 100%; height: 8px; background: #e8e6ee; margin: 9px 0; border-radius: 3px; }
.lc-art-rule.short { width: 60%; }
.lc-art-bars { height: 54px; margin-top: 28px; background: repeating-linear-gradient(to right, #15151b 0 2px, #fff 2px 4px, #15151b 4px 5px, #fff 5px 8px, #15151b 8px 12px, #fff 12px 14px, #15151b 14px 16px, #fff 16px 19px, #15151b 19px 20px, #fff 20px 24px); }
.lc-art-check { position: absolute; right: 32px; bottom: 21px; background: #d2f76f; color: #354115; border-radius: 50%; padding: 12px; transform: rotate(10deg); }
.lc-art-check .icon { width: 22px; height: 22px; display: block; }
body.dragging .lc-dropzone, body.dragging .lc-canvas-area, body.dragging .lc-batch-queue { outline: 3px solid var(--accent); outline-offset: -4px; background-color: var(--tint); }
.lc-batch-entry { margin-top: 15px; width: min(375px, 100%); flex-wrap: wrap; justify-content: flex-start; font-weight: 600; }
.lc-batch-entry span { color: var(--muted); font-size: 11px; font-weight: 400; margin-left: auto; }
.lc-batch { display: flex; flex-direction: column; flex: 1; min-height: 0; }
.lc-batch-layout { display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 20px; padding: 0 24px 24px; min-height: 0; flex: 1; }
.lc-batch-queue { display: flex; flex-direction: column; min-height: 0; background: var(--panel); border: 1px solid var(--line); border-radius: 14px; overflow: hidden; }
.lc-batch-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 18px 20px; border-bottom: 1px solid var(--line); flex-shrink: 0; }
.lc-batch-toolbar h2 { font-size: 14px; display: flex; align-items: center; gap: 8px; margin-bottom: 3px; }
.lc-batch-toolbar .muted { font-size: 11px; }
.lc-batch-empty { display: flex; flex: 1; min-height: 290px; flex-direction: column; justify-content: center; align-items: center; gap: 15px; padding: 32px; text-align: center; }
.lc-batch-empty .lc-upload-icon { width: 58px; height: 58px; border-radius: 15px; }
.lc-batch-empty .lc-upload-icon .icon { width: 26px; height: 26px; }
.lc-batch-empty h2 { font-size: 20px; letter-spacing: -.4px; }
.lc-batch-empty p { color: var(--muted); line-height: 1.8; }
.lc-batch-files { overflow-y: auto; flex: 1; min-height: 0; overscroll-behavior: contain; }
.lc-batch-file { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 10px 16px; padding: 14px 20px; border-bottom: 1px solid var(--line); }
.lc-batch-file:last-child { border-bottom: 0; }
.lc-batch-file-ident { min-width: 0; }
.lc-batch-file-name { display: block; font-size: 12px; font-weight: 600; overflow-wrap: anywhere; }
.lc-batch-file-size { display: block; color: var(--muted); font-size: 11px; margin-top: 4px; overflow-wrap: anywhere; }
.lc-batch-badge { border-radius: 6px; background: var(--subtle); color: var(--muted); padding: 4px 8px; font-size: 10px; white-space: nowrap; }
.lc-batch-badge[data-state="converting"] { background: var(--tint); color: light-dark(#6031c5, #c4a9ff); }
.lc-batch-badge[data-state="converted"] { background: light-dark(#eaf3dc, #293721); color: light-dark(#3b621b, #c0e596); }
.lc-batch-badge[data-state="warning"] { background: light-dark(#fff2d8, #3f3220); color: light-dark(#815412, #f2c77c); }
.lc-batch-badge[data-state="failed"] { background: light-dark(#faecec, #3a252b); color: light-dark(#a03535, #f3a1a1); }
.lc-batch-remove { background: transparent; border: 0; border-radius: 5px; color: var(--muted); padding: 5px; font-size: 11px; }
.lc-batch-remove:hover { color: var(--ink); background: var(--subtle); }
.lc-batch-details { grid-column: 1 / -1; font-size: 11px; color: var(--muted); }
.lc-batch-details summary { cursor: pointer; width: fit-content; }
.lc-batch-details ul { padding: 8px 12px; margin-top: 8px; background: var(--subtle); border-radius: 6px; }
.lc-batch-details li { white-space: pre-wrap; overflow-wrap: anywhere; padding: 4px 0; }
.lc-batch-detail-error { color: light-dark(#a03535, #f3a1a1); }
.lc-batch-drop-hint { padding: 13px; text-align: center; font-size: 11px; color: var(--muted); background: var(--subtle); border-top: 1px dashed var(--line); flex-shrink: 0; }
.lc-batch-controls { overflow-y: auto; min-height: 0; display: flex; flex-direction: column; gap: 16px; }
.lc-batch-card { background: var(--panel); border: 1px solid var(--line); border-radius: 13px; padding: 20px; }
.lc-batch-card .lc-property-label { display: block; }
.lc-batch-card select { width: 100%; padding: 11px; border: 1px solid var(--line); border-radius: 8px; color: var(--ink); background: var(--subtle); }
.lc-batch-description { color: var(--muted); font-size: 12px; line-height: 1.7; margin: 14px 0 20px; }
.lc-batch-card > .lc-action { width: 100%; margin-top: 9px; min-height: 41px; }
.lc-batch-card h2 { font-size: 14px; font-weight: 600; margin-bottom: 15px; }
.lc-batch-card progress { width: 100%; height: 9px; display: block; border: 0; border-radius: 5px; overflow: hidden; accent-color: var(--accent); background: var(--subtle); }
.lc-batch-card progress::-webkit-progress-bar { background: var(--subtle); border-radius: 5px; }
.lc-batch-card progress::-webkit-progress-value { background: var(--accent); border-radius: 5px; transition: width .2s; }
.lc-batch-card progress::-moz-progress-bar { background: var(--accent); }
#batchProgressText { color: var(--muted); font-size: 12px; margin-top: 10px; font-variant-numeric: tabular-nums; }
.lc-batch-summary { display: flex; flex-wrap: wrap; gap: 7px 12px; font-size: 11px; margin-top: 14px; }
.lc-batch-error { padding: 15px; background: light-dark(#fff3e4, #332c22); color: light-dark(#7b4a13, #f0c997); border: 1px solid light-dark(#edcda6, #56412b); border-radius: 10px; font-size: 12px; line-height: 1.65; }
.lc-batch-error p { white-space: pre-wrap; overflow-wrap: anywhere; }
.lc-batch-error .lc-action { margin-top: 12px; }
.lc-batch-limits { font-size: 11px; color: var(--muted); padding: 0 4px; line-height: 1.8; }

.lc-loaded { flex: 1; display: flex; flex-direction: column; min-height: 0; }
.lc-docbar { padding: 16px 24px; display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-shrink: 0; }
.lc-doc-actions { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.lc-doc-ident { display: flex; gap: 12px; align-items: center; min-width: 0; }
.lc-file-icon { width: 43px; height: 48px; display: grid; place-items: center; background: var(--tint); color: var(--accent); border-radius: 10px; flex-shrink: 0; }
.lc-file-icon .icon { width: 21px; height: 21px; }
.lc-doc-name { min-width: 0; }
.lc-doc-title { font-size: 21px; line-height: 1.3; font-weight: 650; letter-spacing: -.6px; overflow-wrap: anywhere; }
.lc-filename { color: var(--muted); font-size: 12px; margin-top: 3px; overflow-wrap: anywhere; }
.lc-export-wrap { position: relative; flex-shrink: 0; }
.lc-export-menu { position: absolute; right: 0; top: calc(100% + 8px); width: 230px; z-index: 20; padding: 7px; background: var(--panel); border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 12px 38px #0003; }
.lc-menu-heading { color: var(--muted); font-size: 11px; letter-spacing: .08em; padding: 9px 10px; text-transform: uppercase; }
.lc-export-menu button { display: flex; width: 100%; text-align: left; padding: 11px 10px; gap: 10px; border: 0; color: var(--ink); background: transparent; border-radius: 7px; align-items: center; }
.lc-export-menu button:hover { background: var(--tint); }
.lc-export-menu small { color: var(--muted); display: block; font-size: 11px; }
.lc-workspace { flex: 1; min-height: 0; display: grid; grid-template-columns: 215px minmax(0, 1fr) 258px; margin: 0 18px; border: 1px solid var(--line); border-radius: 13px; overflow: hidden; background: var(--panel); }
.lc-layers { padding: 19px 12px 17px; border-right: 1px solid var(--line); overflow-y: auto; min-width: 0; }
.lc-panel-title { display: flex; align-items: center; justify-content: space-between; font-size: 13px; font-weight: 600; margin: 0 6px 16px; }
.lc-count { font-size: 11px; color: var(--muted); background: var(--subtle); border-radius: 5px; padding: 2px 6px; font-weight: 400; }
.lc-section-name { margin: 0 6px 9px; font-size: 10px; color: var(--muted); text-transform: uppercase; letter-spacing: .1em; font-weight: 600; }
.object-button { display: flex; gap: 10px; align-items: center; width: 100%; padding: 10px; text-align: left; border: 0; color: var(--muted); border-radius: 8px; background: transparent; margin: 2px 0; }
.object-label { min-width: 0; overflow-wrap: anywhere; font-size: 12px; }
.object-kind { font-size: 10px; color: var(--muted); }
.object-button:hover { background: var(--subtle); color: var(--ink); }
.object-button.selected, .object-button[aria-pressed="true"] { background: var(--tint); color: var(--ink); box-shadow: inset 3px 0 var(--accent); }
.object-button.selected .icon { color: var(--accent); }
.binding-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--pop); margin-left: auto; flex-shrink: 0; }
.lc-specs { margin: 22px 6px 0; padding-top: 18px; border-top: 1px solid var(--line); }
.lc-specs div { display: flex; justify-content: space-between; gap: 10px; padding: 4px 0; font-size: 11px; }
.lc-specs div > :first-child { color: var(--muted); flex-shrink: 0; }
.lc-specs div > :last-child { text-align: right; min-width: 0; overflow-wrap: anywhere; font-weight: 500; }
.lc-variable-section { margin: 22px 6px 0; padding-top: 18px; border-top: 1px solid var(--line); }
.lc-variable-section .lc-section-name { margin-left: 0; }
#vars li { display: grid; grid-template-columns: 14px minmax(0, 1fr); gap: 3px 7px; margin: 10px 0; font-size: 11px; overflow-wrap: anywhere; }
#vars li .icon { width: 13px; height: 13px; color: var(--pop); margin-top: 2px; }
#vars li small { grid-column: 2; color: var(--muted); font-size: 11px; }

.lc-viewer { min-width: 0; min-height: 0; display: flex; flex-direction: column; background: var(--stage); }
.lc-viewbar { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 12px 14px; background: var(--panel); border-bottom: 1px solid var(--line); flex-wrap: wrap; flex-shrink: 0; }
.lc-segment { display: inline-flex; gap: 2px; padding: 3px; background: var(--subtle); border-radius: 8px; }
.lc-segment button { padding: 5px 10px; border: 0; background: transparent; color: var(--muted); border-radius: 5px; font-size: 11px; }
.lc-segment button[aria-pressed="true"] { color: var(--ink); background: var(--panel); box-shadow: 0 1px 3px #0001; }
.lc-fields { display: flex; gap: 6px; align-items: center; color: var(--muted); font-size: 11px; white-space: nowrap; }
.lc-fields input[type="checkbox"] { accent-color: var(--accent); margin: 0; width: 13px; height: 13px; }
.lc-canvas-area { flex: 1; min-height: 0; position: relative; }
.lc-canvas { height: 100%; overflow: auto; padding: 30px 30px 64px; background-image: radial-gradient(var(--grid) .8px, transparent .8px); background-size: 18px 18px; }
.sheet { position: relative; margin: 0 auto; box-shadow: 0 9px 36px #0003, 0 2px 6px #0001; background: #fff; color-scheme: light; }
.sheet > svg, .sheet > img { position: absolute; inset: 0; width: 100%; height: 100%; }
.sheet img.preview { object-fit: contain; pointer-events: none; }
.sheet .obj { cursor: pointer; }
.sheet .frame { fill: none; stroke: var(--accent); stroke-width: .15; stroke-dasharray: .6 .4; opacity: .6; }
.sheet .selbox { fill: none; stroke: var(--sel); stroke-width: .35; pointer-events: none; }
.sheet .bind { fill: var(--bind); }
.sheet .placeholder { fill: rgba(0, 0, 0, .04); stroke: #888; stroke-width: .2; stroke-dasharray: 1 .6; }
.sheet .phtext { fill: #666; font-family: Arial, sans-serif; }
.lc-zoom { position: absolute; bottom: 13px; left: 50%; transform: translateX(-50%); display: flex; align-items: center; gap: 6px; padding: 5px; border: 1px solid var(--line); border-radius: 9px; background: var(--panel); color: var(--ink); box-shadow: 0 3px 10px #0001; z-index: 2; }
.lc-zoom button { display: grid; place-items: center; background: transparent; border: 0; color: var(--muted); padding: 3px 5px; min-width: 23px; font-size: 11px; border-radius: 4px; }
.lc-zoom button:hover { color: var(--ink); background: var(--subtle); }
.lc-zoom output { font-size: 11px; min-width: 39px; text-align: center; font-variant-numeric: tabular-nums; }
.lc-zoom-separator { height: 16px; width: 1px; background: var(--line); }
.lc-view-options { padding: 10px 14px; display: flex; gap: 14px; flex-wrap: wrap; border-top: 1px solid var(--line); background: var(--panel); flex-shrink: 0; }
.lc-opacity { flex: 1; min-width: 160px; }
.lc-opacity input { min-width: 60px; max-width: 120px; width: 100%; accent-color: var(--accent); }

.lc-inspector { padding: 19px 17px; border-left: 1px solid var(--line); background: var(--panel); min-width: 0; overflow-y: auto; }
.lc-inspector .lc-panel-title { margin: 0 0 17px; }
.lc-inspector-empty { padding: 28px 10px; text-align: center; color: var(--muted); font-size: 12px; }
.lc-inspector-empty .icon { width: 26px; height: 26px; margin-bottom: 12px; }
.lc-object-ident { display: flex; align-items: center; gap: 9px; margin-bottom: 16px; }
.lc-object-icon { width: 32px; height: 32px; background: var(--tint); color: var(--accent); border-radius: 8px; display: grid; place-items: center; flex-shrink: 0; }
.lc-object-heading { min-width: 0; }
.lc-object-name { font-size: 13px; font-weight: 600; overflow-wrap: anywhere; }
.lc-object-type { font-size: 11px; color: var(--muted); }
.lc-property-group { margin-top: 17px; }
.lc-property-label { color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 7px; font-weight: 500; }
.lc-content-value { padding: 9px 10px; font-size: 11px; line-height: 1.7; background: var(--subtle); border: 1px solid var(--line); border-radius: 7px; white-space: pre-wrap; overflow-wrap: anywhere; max-height: 220px; overflow-y: auto; }
.lc-bindings { display: grid; gap: 6px; }
.lc-binding { display: flex; align-items: center; gap: 7px; color: var(--pop); background: light-dark(#f1f5df, #29301f); border-radius: 6px; padding: 8px 9px; font-size: 11px; overflow-wrap: anywhere; }
.lc-binding .icon { width: 13px; height: 13px; }
.lc-binding span { min-width: 0; }
.lc-pos-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.lc-property { background: var(--subtle); padding: 7px 9px; border-radius: 6px; display: flex; align-items: center; flex-wrap: wrap; gap: 5px; font-size: 11px; min-width: 0; overflow-wrap: anywhere; }
.lc-property > span { color: var(--muted); }
.lc-property > strong { font-weight: 500; margin-left: auto; min-width: 0; overflow-wrap: anywhere; }
.lc-property > small { color: var(--muted); font-size: 10px; }
.lc-object-details { margin-top: 22px; border-top: 1px solid var(--line); padding-top: 13px; color: var(--muted); font-size: 11px; }
.lc-object-details summary { cursor: pointer; padding: 4px 0; }
#props { font: 11px/1.6 Consolas, monospace; color: var(--ink); white-space: pre-wrap; overflow-wrap: anywhere; }
.lc-statusbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 9px; padding: 14px 24px 17px; color: var(--muted); font-size: 11px; flex-shrink: 0; }
.lc-status { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; }
.lc-status .icon { color: var(--pop); width: 13px; height: 13px; }
.lc-note-button { border: 0; padding: 0; background: transparent; color: var(--muted); display: flex; gap: 6px; align-items: center; font-size: 11px; }
.lc-note-button .icon { width: 13px; height: 13px; color: light-dark(#966318, #e6b56b); }
.lc-notes { margin: 0 24px 17px; padding: 0 12px; background: var(--subtle); border-left: 2px solid #c48c40; border-radius: 5px; overflow-y: auto; max-height: 140px; flex-shrink: 0; }
.lc-notes li { color: var(--muted); font-size: 11px; padding: 9px 0; overflow-wrap: anywhere; }
.lc-notes li + li { border-top: 1px solid var(--line); }

@media (max-width: 1100px) { .lc-workspace { grid-template-columns: 185px minmax(0, 1fr) 218px; } }
@media (max-width: 820px) {
  .lc-batch-layout { grid-template-columns: minmax(0, 1fr) 260px; gap: 12px; padding: 0 16px 16px; }
  .lc-batch-queue { min-height: 430px; max-height: 70dvh; }
  .lc-batch-controls { overflow: visible; }
  .lc-batch-card { padding: 16px; }
  .lc-batch-toolbar { padding: 14px; flex-wrap: wrap; }
  .lc-batch-file { padding: 14px; gap: 8px; }
  .lc-app { height: auto; min-height: 100dvh; }
  .lc-loaded { min-height: 0; }
  .lc-workspace { grid-template-columns: 165px minmax(0, 1fr); flex: none; overflow: visible; }
  .lc-layers { max-height: 565px; }
  .lc-viewer { min-height: 540px; }
  .lc-canvas-area { height: 420px; flex: auto; }
  .lc-inspector { grid-column: 1 / -1; border-left: 0; border-top: 1px solid var(--line); border-radius: 0 0 12px 12px; overflow: visible; }
  #inspectorContent { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
  .lc-object-ident { grid-column: 1 / -1; margin-bottom: 0; }
  .lc-property-group { margin-top: 0; }
  .lc-object-details { grid-column: 1 / -1; margin-top: 0; }
  .lc-docbar { flex-wrap: wrap; }
  .lc-welcome { padding: 65px 28px; gap: 18px; min-height: 100dvh; overflow: visible; }
  .lc-art-paper { width: 180px; height: 255px; }
  .lc-orbit { width: 240px; height: 240px; }
}
@media (max-width: 570px) {
  .lc-batch-layout { display: flex; flex-direction: column; }
  .lc-batch-controls { display: contents; }
  .lc-batch-controls > .lc-batch-card:first-child { order: -1; }
  .lc-batch-queue { min-height: 330px; max-height: 55dvh; }
  .lc-batch-file { grid-template-columns: minmax(0, 1fr) auto; }
  .lc-batch-file .lc-batch-badge { grid-column: 1; width: fit-content; }
  .lc-batch-remove { grid-column: 2; grid-row: 1 / span 2; }
  .lc-batch-entry { width: 100%; }
  .lc-notice { right: 16px; bottom: 16px; }
  .lc-docbar { padding: 16px; }
  .lc-doc-actions { gap: 8px; flex-wrap: wrap; }
  .lc-doc-actions .lc-action { padding: 8px 10px; font-size: 12px; }
  .lc-doc-title { font-size: 19px; }
  .lc-workspace { display: flex; flex-direction: column; margin: 0 10px; overflow: hidden; }
  .lc-layers { border-right: 0; border-bottom: 1px solid var(--line); padding: 13px; max-height: 230px; }
  .lc-layers .lc-panel-title { margin-bottom: 10px; }
  .lc-object-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px; }
  .object-button { padding: 7px; gap: 7px; }
  .object-label { font-size: 11px; }
  .lc-specs { margin-top: 14px; padding-top: 12px; }
  .lc-viewer { min-height: 520px; }
  .lc-canvas-area { height: 380px; }
  .lc-inspector { padding: 16px; }
  #inspectorContent { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #fontValues, #appearanceValues { grid-template-columns: 1fr; }
  .lc-welcome { grid-template-columns: 1fr; min-height: 100dvh; padding: 55px 23px; }
  .lc-welcome h1 { font-size: 38px; }
  .lc-welcome-art { display: none; }
  .lc-welcome p { font-size: 13px; }
  .lc-dropzone { max-width: none; }
  .lc-statusbar { padding: 15px 16px; }
  .lc-export-menu { left: auto; right: 0; }
  .lc-notes { margin-right: 16px; margin-left: 16px; }
}
@media (pointer: coarse) {
  .lc-action, .object-button, .lc-segment button, .lc-zoom button, .lc-note-button { min-height: 44px; }
  .lc-fields { min-height: 30px; }
}
