/* Appearance defaults are shared; viewport and navigation stay with their owners. */
:root {
  --lm-ui-page: var(--t-page);
  --lm-ui-surface: var(--t-card);
  --lm-ui-bar: var(--t-bar);
  --lm-ui-input: var(--t-input);
  --lm-ui-pressed: var(--t-hover);
  --lm-ui-border: var(--t-border);
  --lm-ui-text: #333;
  --lm-ui-muted: #777;
  --lm-ui-faint: #999;
  --lm-ui-selected: #ededee;
  --lm-ui-selected-text: #333;
  --lm-ui-focus: #737d77;
  --lm-ui-danger: #c66;
  --lm-ui-danger-soft: #fbeeee;
  --lm-ui-warning: #986c36;
  --lm-ui-overlay: rgba(0,0,0,.3);
  --lm-ui-space-1: 4px;
  --lm-ui-space-2: 8px;
  --lm-ui-space-3: 12px;
  --lm-ui-space-4: 16px;
  --lm-ui-space-5: 20px;
  --lm-ui-space-6: 24px;
  --lm-ui-font-small: 12px;
  --lm-ui-font-meta: 13px;
  --lm-ui-font-control: 14px;
  --lm-ui-font-body: 15px;
  --lm-ui-font-section: 16px;
  --lm-ui-font-title: 17px;
  --lm-ui-weight: 400;
  --lm-ui-weight-medium: 500;
  --lm-ui-weight-strong: 600;
  --lm-ui-line: 1.5;
  --lm-ui-letter-spacing: var(--lm-font-letter-spacing,0px);
  --lm-ui-radius-small: 8px;
  --lm-ui-radius-control: 10px;
  --lm-ui-radius-group: 14px;
  --lm-ui-radius-dialog: 18px;
  --lm-ui-border-width: 1px;
  --lm-ui-divider-width: .5px;
  --lm-ui-focus-width: 2px;
  --lm-ui-control-height: 44px;
  --lm-ui-row-height: 54px;
  --lm-ui-icon-size: 24px;
  --lm-ui-disabled-opacity: .46;
  --lm-ui-motion: 180ms;
  --lm-ui-group-shadow: 0 1px 4px rgba(0,0,0,.03);
  --lm-ui-dialog-shadow: 0 12px 40px rgba(0,0,0,.12);
  --lm-ui-toggle-on: #777981;
  --lm-ui-toggle-off: #d1d1d3;
  --lm-ui-toggle-knob: #fff;
  --lm-ui-toggle-width: 42px;
  --lm-ui-toggle-height: 24px;
  --lm-ui-toggle-inset: 2px;
  --lm-ui-toggle-shadow: 0 1px 3px rgba(0,0,0,.18);
  --lm-ui-dialog-width: 440px;
  --lm-ui-menu-width: 320px;
  --lm-ui-dialog-max-height: 720px;
  --lm-ui-code-height: 160px;
  --lm-ui-code-line: 1.55;
  --lm-ui-monospace: ui-monospace,SFMono-Regular,Consolas,monospace;
  --lm-ui-chat-accent: #29945d;
  --tm-page-space: var(--lm-ui-space-5);
  --tm-section-space: var(--lm-ui-space-5);
  --tm-summary-y: 18px;
  --tm-summary-x: var(--lm-ui-space-5);
  --tm-body-space: var(--lm-ui-space-5);
  --tm-preview-width: 72px;
  --tm-preview-height: 100px;
  --tm-preview-radius: 14px;
  --tm-preview-border-width: 2px;
  --tm-preview-selected-width: 2.5px;
  --tm-preview-border: #d0d0d0;
  --tm-preview-accent: var(--t-accent);
  --tm-preview-check-size: 18px;
  --tm-preview-check-icon: 11px;
  --tm-preview-check-inset: 3px;
  --tm-preview-check-text: #fff;
  --tm-preview-inset-x: 6px;
  --tm-preview-inset-y: 8px;
  --tm-preview-line-height: 9px;
  --tm-preview-line-space: 5px;
  --tm-preview-line-radius: 5px;
  --tm-bg-height: 200px;
  --tm-icon-size: 42px;
  --tm-icon-radius: 11px;
  --tm-icon-background: rgba(160,160,164,.52);
  --tm-icon-filter: brightness(0) invert(1);
  --tm-button-background: var(--t-page);
  --tm-button-primary-background: linear-gradient(135deg,var(--t-hover),var(--t-border));
  --tm-button-text: #555;
  --tm-font-delete: #e57373;
  --tm-font-delete-background: rgba(229,115,115,.1);
  --tm-add-size: 28px;
  --tm-add-stroke: 1.5px;
  --tm-add-offset: 42px;
  --tm-add-top: 14px;
  --tm-editor-header-height: 52px;
  --tm-editor-action-width: 64px;
}

[data-lm-theme="clean"] {
  --lm-desktop-icon-surface: #fff;
  --lm-desktop-dock-surface: #fff;
  --lm-desktop-icon-radius: 14px;
  --lm-desktop-dock-radius: 20px;
  --t-accent: #454b47;
  --t-bubble: #e9eee9;
  --t-bar: #f7f7f7;
  --t-card: #fff;
  --t-page: #ededed;
  --t-border: #e5e5e5;
  --t-hover: #f2f3f2;
  --t-input: #f5f5f5;
  --lm-ui-text: #222;
  --lm-ui-muted: #737773;
  --lm-ui-faint: #9b9e9b;
  --lm-ui-selected: #e8eee9;
  --lm-ui-selected-text: #365640;
  --lm-ui-radius-group: 8px;
  --lm-ui-radius-control: 8px;
  --lm-ui-radius-dialog: 14px;
  --lm-ui-group-shadow: none;
  --lm-ui-toggle-on: #29945d;
  --tm-page-space: var(--lm-ui-space-4);
  --tm-section-space: var(--lm-ui-space-3);
  --tm-summary-y: var(--lm-ui-space-4);
  --tm-summary-x: var(--lm-ui-space-4);
  --tm-body-space: var(--lm-ui-space-4);
  --tm-button-background: var(--lm-ui-input);
  --tm-button-primary-background: var(--lm-ui-selected);
  --tm-button-text: var(--lm-ui-text);
  --tm-add-top: var(--lm-ui-space-3);
}

.tm-page {
  padding: var(--tm-page-space);
  overflow-y: auto;
  height: 100%;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y;
  color: var(--lm-ui-text);
  font-size: var(--lm-ui-font-body);
  line-height: var(--lm-ui-line);
  letter-spacing: var(--lm-ui-letter-spacing);
}
body.theme-clean { background-color: var(--lm-ui-page); }
body.theme-clean::before,body.theme-clean::after { display: none; }
body.theme-clean .ic-box { background: var(--lm-desktop-icon-surface); border-radius: var(--lm-desktop-icon-radius); box-shadow: var(--lm-ui-group-shadow); -webkit-backdrop-filter: none; backdrop-filter: none; }
body.theme-clean #dock { background: var(--lm-desktop-dock-surface); border-radius: var(--lm-desktop-dock-radius); box-shadow: var(--lm-ui-group-shadow); -webkit-backdrop-filter: none; backdrop-filter: none; }
body.theme-clean.built-in-desk-bg .ic-lb { color: var(--lm-ui-text); text-shadow: none; }
body.theme-clean.built-in-desk-bg .ic-svg { filter: none; }
html #ctx { max-width: calc(100% - var(--lm-ui-space-4)*2); max-height: calc(var(--lm-app-height,100vh) - var(--lm-safe-top,0px) - var(--lm-safe-bottom,0px) - var(--lm-ui-space-4)*2); overflow-y: auto; -webkit-overflow-scrolling: touch; }
body.theme-clean #ctx { background: var(--lm-ui-surface); box-shadow: var(--lm-ui-dialog-shadow); }
body.theme-clean .ctx-i { color: var(--lm-ui-text); }
.tm-page button,.tm-page input { font-family: inherit; }
.tm-section { background: var(--lm-ui-surface); border-radius: var(--lm-ui-radius-group); margin-bottom: var(--tm-section-space); }
.tm-section summary { padding: var(--tm-summary-y) var(--tm-summary-x); font-size: var(--lm-ui-font-section); font-weight: var(--lm-ui-weight-strong); color: var(--lm-ui-text); cursor: pointer; list-style: none; display: flex; align-items: center; justify-content: space-between;  text-align: left; overflow-wrap: break-word; overflow-wrap: anywhere; }
.tm-section summary>*+* { margin-left: var(--lm-ui-space-2); }
.tm-section summary::-webkit-details-marker { display: none; }
.tm-chevron { font-size: var(--lm-ui-font-small); color: var(--lm-ui-faint); font-weight: var(--lm-ui-weight); flex: 0 0 auto; transition: transform var(--lm-ui-motion); }
.tm-section[open]>summary .tm-chevron { transform: rotate(90deg); }
.tm-section-body { padding: 0 var(--tm-body-space) var(--tm-body-space); min-width: 0; }
.tm-presets { display: grid; grid-template-columns: repeat(3,minmax(0,var(--tm-preview-width))); gap: var(--lm-ui-space-5); justify-content: center; }
.tm-card { display: block; flex: 0 1 var(--tm-preview-width); min-width: 0; border: 0; padding: 0; background: transparent; color: var(--lm-ui-text); cursor: pointer; text-align: center; }
.tm-preview { display: block; width: var(--tm-preview-width); max-width: 100%; height: var(--tm-preview-height); overflow: hidden; position: relative; border: var(--tm-preview-border-width) solid var(--tm-preview-border); border-radius: var(--tm-preview-radius); margin: 0 auto; }
.tm-card[aria-pressed="true"] .tm-preview { border: var(--tm-preview-selected-width) solid var(--tm-preview-accent); }
.tm-preview-desk,.tm-preview-bar,.tm-preview-page { display: block; }
.tm-preview-desk { height: 35%; background: var(--tm-preview-desk); }
.tm-preview-bar { height: 8%; background: var(--tm-preview-bar); }
.tm-preview-page { height: 57%; background: var(--tm-preview-page); padding: var(--tm-preview-inset-y) var(--tm-preview-inset-x); }
.tm-preview-page i { display: block; width: 50%; height: var(--tm-preview-line-height); border-radius: var(--tm-preview-line-radius); background: var(--tm-preview-line); margin-bottom: var(--tm-preview-line-space); }
.tm-preview-page i:nth-child(2) { width: 62%; margin-left: auto; background: var(--tm-preview-bubble); }
.tm-preview-page i:last-child { width: 45%; }
.tm-preview-check { display: none; position: absolute; top: var(--tm-preview-check-inset); right: var(--tm-preview-check-inset); width: var(--tm-preview-check-size); height: var(--tm-preview-check-size); border-radius: 50%; background: var(--tm-preview-accent); color: var(--tm-preview-check-text); align-items: center; justify-content: center; }
.tm-card[aria-pressed="true"] .tm-preview-check { display: flex; }
.tm-preview-check svg { width: var(--tm-preview-check-icon); height: var(--tm-preview-check-icon); }
.tm-card-name { display: block; font-size: var(--lm-ui-font-meta); margin-top: var(--lm-ui-space-2); color: var(--tm-button-text); overflow-wrap: break-word; overflow-wrap: anywhere; }
.tm-card[aria-pressed="true"] .tm-card-name { font-weight: var(--lm-ui-weight-strong); }
.tm-bg-preview { width: 100%; height: var(--tm-bg-height); border-radius: var(--lm-ui-radius-control); background: var(--lm-ui-page); overflow: hidden; margin-bottom: var(--lm-ui-space-4); border: var(--lm-ui-border-width) dashed var(--lm-ui-border); }
.tm-bg-preview img { width: 100%; height: 100%; object-fit: cover; }
.tm-note { font-size: var(--lm-ui-font-meta); color: var(--lm-ui-faint); margin-bottom: var(--lm-ui-space-3); overflow-wrap: break-word; overflow-wrap: anywhere; }
.tm-actions { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0,1fr); gap: var(--lm-ui-space-3); }
.tm-actions>* { flex: 1; min-width: 0; }
.tm-actions-spaced,.tm-preset-list { margin-top: var(--lm-ui-space-3); }
.tm-button { min-height: var(--lm-ui-control-height); padding: var(--lm-ui-space-2) var(--lm-ui-space-3); border: 0; border-radius: var(--lm-ui-radius-control); background: var(--tm-button-background); color: var(--tm-button-text); font-size: var(--lm-ui-font-control); line-height: var(--lm-ui-line); cursor: pointer; overflow-wrap: break-word; overflow-wrap: anywhere; }
.tm-button-primary { background: var(--tm-button-primary-background); font-weight: var(--lm-ui-weight-medium); }
.tm-button-quiet { background: transparent; }
.tm-button:active { background: var(--lm-ui-pressed); }
.tm-button:disabled,.tm-card:disabled { opacity: var(--lm-ui-disabled-opacity); cursor: default; }
.tm-button-block { display: block; width: 100%; margin-top: var(--lm-ui-space-3); border: var(--lm-ui-border-width) solid var(--lm-ui-border); }
.tm-button-wide { width: 100%; }
.tm-button-small { padding: var(--lm-ui-space-1) var(--lm-ui-space-2); font-size: var(--lm-ui-font-meta); flex-shrink: 0; }
.tm-label { font-size: var(--lm-ui-font-body); font-weight: var(--lm-ui-weight-strong); margin-bottom: var(--lm-ui-space-2); }
.tm-toggle-row { min-height: var(--lm-ui-row-height); display: flex; align-items: center; justify-content: space-between;  border-bottom: var(--lm-ui-border-width) solid var(--lm-ui-border); cursor: pointer; font-size: var(--lm-ui-font-control); text-align: left; }
.tm-toggle-row>*+* { margin-left: var(--lm-ui-space-3); }
.tm-icon-row { min-height: var(--lm-ui-row-height); display: flex; align-items: center;  border-bottom: var(--lm-ui-border-width) solid var(--lm-ui-border); padding-top: var(--lm-ui-space-1); padding-bottom: var(--lm-ui-space-1); text-align: left; }
.tm-icon-row>*+* { margin-left: var(--lm-ui-space-2); }
.tm-icon-row .tm-button-small { white-space: nowrap; }
.tm-icon-preview { width: var(--tm-icon-size); height: var(--tm-icon-size); flex: 0 0 var(--tm-icon-size); border-radius: var(--tm-icon-radius); overflow: hidden; display: flex; align-items: center; justify-content: center; background: var(--tm-icon-background); }
.tm-icon-preview img { width: 62%; height: 62%; object-fit: contain; filter: var(--tm-icon-filter); }
.tm-icon-preview.is-custom img { width: 100%; height: 100%; object-fit: cover; filter: none; }
.tm-icon-info { min-width: 0; flex: 1; overflow-wrap: break-word; overflow-wrap: anywhere; }
.tm-icon-name { font-size: var(--lm-ui-font-control); }
.tm-icon-source { font-size: var(--lm-ui-font-small); color: var(--lm-ui-faint); }
.tm-stack { display: grid; gap: var(--lm-ui-space-2); }
.tm-font-actions { margin-bottom: var(--lm-ui-space-4); }
.tm-font-row { display: flex; align-items: center;  padding: var(--lm-ui-space-3); border-radius: var(--lm-ui-radius-control); background: var(--lm-ui-page); cursor: pointer; border: var(--lm-ui-focus-width) solid transparent; text-align: left; min-width: 0; }
.tm-font-row>*+* { margin-left: var(--lm-ui-space-3); }
.tm-font-row.is-selected { border-color: var(--t-accent); }
.tm-font-row input { accent-color: var(--t-accent); flex: 0 0 auto; }
.tm-font-name { min-width: 0; flex: 1; overflow-wrap: break-word; overflow-wrap: anywhere; font-size: var(--lm-ui-font-control); }
.tm-font-source { color: var(--lm-ui-faint); font-size: var(--lm-ui-font-small); }
.tm-font-delete { color: var(--tm-font-delete); background: var(--tm-font-delete-background); padding: var(--lm-ui-space-1) var(--lm-ui-space-2); border-radius: var(--lm-ui-radius-small); font-size: var(--lm-ui-font-small); flex-shrink: 0; }
.tm-code { width: 100%; min-height: var(--lm-ui-code-height); border: var(--lm-ui-border-width) solid var(--lm-ui-border); border-radius: var(--lm-ui-radius-control); padding: var(--lm-ui-space-3); font: var(--lm-ui-font-meta)/var(--lm-ui-code-line) var(--lm-ui-monospace); background: var(--lm-ui-input); color: var(--lm-ui-text); resize: vertical; box-sizing: border-box; }
.tm-empty { font-size: var(--lm-ui-font-meta); color: var(--lm-ui-faint); text-align: center; padding: var(--lm-ui-space-3); }
.tm-error { color: var(--lm-ui-danger); }
.tm-share-note { text-align: left; }
.tm-export-source { width: 100%; display: flex; align-items: center;  text-align: left; margin-bottom: var(--lm-ui-space-3); }
.tm-export-source>*+* { margin-left: var(--lm-ui-space-2); }
.tm-export-source [data-source-label] { flex: 1; min-width: 0; overflow-wrap: break-word; overflow-wrap: anywhere; }
.tm-preset { border: var(--lm-ui-border-width) solid var(--lm-ui-border); border-radius: var(--lm-ui-radius-control); padding: var(--lm-ui-space-3); background: var(--lm-ui-page); text-align: left; }
.tm-preset.is-active { border-color: var(--lm-ui-focus); }
.tm-preset-name { font-size: var(--lm-ui-font-body); font-weight: var(--lm-ui-weight-strong); overflow-wrap: break-word; overflow-wrap: anywhere; }
.tm-preset-meta { color: var(--lm-ui-faint); font-size: var(--lm-ui-font-small); margin-top: var(--lm-ui-space-1); }
.tm-preset-actions { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--lm-ui-space-2); margin-top: var(--lm-ui-space-3); }
.tm-preset-actions .tm-button { padding-left: var(--lm-ui-space-1); padding-right: var(--lm-ui-space-1); font-size: var(--lm-ui-font-small); background: var(--lm-ui-surface); }
.tm-preset-actions [data-preset-action="delete"] { color: var(--lm-ui-danger); }
.tm-reference { margin-top: var(--lm-ui-space-4); text-align: left; }
.tm-reference>summary { color: var(--lm-ui-muted); font-size: var(--lm-ui-font-meta); cursor: pointer; }
.tm-reference-body { margin-top: var(--lm-ui-space-2); font: var(--lm-ui-font-small)/var(--lm-ui-code-line) var(--lm-ui-monospace); color: var(--lm-ui-muted); background: var(--lm-ui-input); padding: var(--lm-ui-space-3); border-radius: var(--lm-ui-radius-small); overflow-wrap: break-word; overflow-wrap: anywhere; }
.tm-reference-body code { color: var(--lm-ui-text); user-select: text; }
.tm-reference-heading { font-family: inherit; font-weight: var(--lm-ui-weight-strong); color: var(--lm-ui-text); margin-top: var(--lm-ui-space-3); }

.lm-css-card-wrap { position: relative; }
.lm-css-add { position: absolute; right: var(--tm-add-offset); top: var(--tm-add-top); z-index: 2; width: var(--tm-add-size); height: var(--tm-add-size); border: 0; background: transparent; padding: 0; }
.lm-css-add:before,.lm-css-add:after { content: ""; position: absolute; left: 25%; right: 25%; top: 50%; height: var(--tm-add-stroke); border-radius: var(--tm-add-stroke); background: var(--lm-ui-muted); }
.lm-css-add:after { transform: rotate(90deg); }
.lm-css-fragments { margin-top: var(--lm-ui-space-3); border-top: var(--lm-ui-border-width) solid var(--lm-ui-border); }
.lm-css-fragment { min-height: var(--lm-ui-row-height); display: flex; align-items: center; border-bottom: var(--lm-ui-border-width) solid var(--lm-ui-border); }
.lm-css-fragment-main { min-width: 0; flex: 1; border: 0; background: transparent; text-align: left; padding: var(--lm-ui-space-2) var(--lm-ui-space-1) var(--lm-ui-space-2) 0; }
.lm-css-fragment-main strong,.lm-css-fragment-main span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lm-css-fragment-main strong { font-size: var(--lm-ui-font-control); color: var(--lm-ui-text); font-weight: var(--lm-ui-weight-medium); }
.lm-css-fragment-main span { font-size: var(--lm-ui-font-small); color: var(--lm-ui-faint); margin-top: var(--lm-ui-space-1); }
.lm-css-fragment-toggle { flex: 0 0 auto; border: 0; background: transparent; color: var(--lm-ui-muted); font-size: var(--lm-ui-font-small); padding: var(--lm-ui-space-2) 0 var(--lm-ui-space-2) var(--lm-ui-space-3); }
.lm-css-fragment-toggle[aria-pressed="false"] { color: var(--lm-ui-faint); }
.lm-css-dialog-cover { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 100000; background: var(--lm-ui-overlay); display: flex; align-items: flex-end; }
.lm-css-dialog-cover[hidden] { display: none; }
.lm-css-dialog { width: 100%; max-height: 86vh; max-height: min(86vh,var(--lm-ui-dialog-max-height)); display: flex; flex-direction: column; background: var(--lm-ui-surface); border-radius: var(--lm-ui-radius-dialog) var(--lm-ui-radius-dialog) 0 0; padding-bottom: var(--lm-safe-bottom,0px); color: var(--lm-ui-text); }
.lm-css-dialog-head { min-height: var(--tm-editor-header-height); flex: 0 0 auto; display: grid; grid-template-columns: var(--tm-editor-action-width) minmax(0,1fr) var(--tm-editor-action-width); align-items: center; border-bottom: var(--lm-ui-border-width) solid var(--lm-ui-border); }
.lm-css-dialog-head strong { text-align: center; font-size: var(--lm-ui-font-body); overflow-wrap: break-word; overflow-wrap: anywhere; }
.lm-css-dialog-head button { min-height: var(--tm-editor-header-height); border: 0; background: transparent; color: var(--lm-ui-muted); font-size: var(--lm-ui-font-control); }
.lm-css-dialog-body { min-height: 0; overflow-y: auto; padding: var(--lm-ui-space-4) var(--lm-ui-space-5); touch-action: pan-y; -webkit-overflow-scrolling: touch; }
.lm-css-dialog-label { display: block; color: var(--lm-ui-muted); font-size: var(--lm-ui-font-small); margin-bottom: var(--lm-ui-space-2); }
.lm-css-dialog-input,.lm-css-dialog-code { width: 100%; box-sizing: border-box; border: var(--lm-ui-border-width) solid var(--lm-ui-border); border-radius: var(--lm-ui-radius-control); background: var(--lm-ui-input); color: var(--lm-ui-text); padding: var(--lm-ui-space-2) var(--lm-ui-space-3); font-size: var(--lm-ui-font-control); outline: none; min-height: var(--lm-ui-control-height); }
.lm-css-dialog-code { min-height: var(--lm-ui-code-height); resize: vertical; font: var(--lm-ui-font-small)/var(--lm-ui-code-line) var(--lm-ui-monospace); }
.lm-css-dialog-section { margin-bottom: var(--lm-ui-space-4); }
.lm-css-scope-list { display: flex; flex-wrap: wrap; }
.lm-css-scope-option { margin: 0 var(--lm-ui-space-2) var(--lm-ui-space-2) 0; }
.lm-css-scope-option input { position: absolute; opacity: 0; pointer-events: none; }
.lm-css-scope-option span { display: block; border: var(--lm-ui-border-width) solid var(--lm-ui-border); border-radius: var(--lm-ui-radius-control); background: var(--lm-ui-page); color: var(--lm-ui-muted); padding: var(--lm-ui-space-2); font-size: var(--lm-ui-font-small); }
.lm-css-scope-option input:checked+span { border-color: var(--lm-ui-focus); background: var(--lm-ui-selected); color: var(--lm-ui-selected-text); }
.lm-css-scope-option input:focus+span { outline: var(--lm-ui-focus-width) solid var(--lm-ui-focus); }
.lm-css-dialog-diagnostic { min-height: var(--lm-ui-space-5); margin-top: var(--lm-ui-space-1); color: var(--lm-ui-warning); font-size: var(--lm-ui-font-small); line-height: var(--lm-ui-line); }
.lm-css-dialog-tools { display: flex; margin-top: var(--lm-ui-space-1); }
.lm-css-dialog-tools>*+* { margin-left: var(--lm-ui-space-2); }
.lm-css-dialog-tools[hidden] { display: none; }
.lm-css-dialog-tools button { min-height: var(--lm-ui-control-height); flex: 1; border: 0; border-radius: var(--lm-ui-radius-control); background: var(--lm-ui-page); color: var(--lm-ui-muted); font-size: var(--lm-ui-font-small); }
.lm-css-dialog-tools button.danger { color: var(--lm-ui-danger); }
[data-lm-theme="clean"] .lm-css-dialog-cover { align-items: center; justify-content: center; padding: var(--lm-ui-space-4); }
[data-lm-theme="clean"] .lm-css-dialog { max-width: var(--lm-ui-dialog-width); max-height: 100%; max-height: min(100%,var(--lm-ui-dialog-max-height)); border-radius: var(--lm-ui-radius-dialog); padding-bottom: 0; box-shadow: var(--lm-ui-dialog-shadow); }

/* The settings sample keeps all original routes and scroll ownership. */
[data-lm-theme="clean"] #set-main .set-group { margin: var(--lm-ui-space-3) 0; border-radius: 0; box-shadow: var(--lm-ui-group-shadow); border: 0; }
[data-lm-theme="clean"] #set-main .set-item { min-height: var(--lm-ui-row-height); padding: var(--lm-ui-space-3) var(--lm-ui-space-4); }
[data-lm-theme="clean"] #set-main .set-item-text { min-width: 0; color: var(--lm-ui-text); font-size: var(--lm-ui-font-body); line-height: var(--lm-ui-line); overflow-wrap: break-word; overflow-wrap: anywhere; }
[data-lm-theme="clean"] #set-main .set-item-icon { width: var(--lm-ui-icon-size); height: var(--lm-ui-icon-size); margin-right: var(--lm-ui-space-4); }
[data-lm-theme="clean"] #set-main .set-item-icon svg { width: 100%; height: 100%; }
[data-lm-theme="clean"] #set-main .set-item-arrow { color: var(--lm-ui-faint); margin-left: var(--lm-ui-space-2); }
[data-lm-theme="clean"] .tm-page { text-align: left; }
[data-lm-theme="clean"] .tm-presets { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--lm-ui-space-3); }
[data-lm-theme="clean"] .tm-card { width: 100%; }
[data-lm-theme="clean"] .tm-section>summary { font-weight: var(--lm-ui-weight-medium); }
[data-lm-theme="clean"] .tm-section[open]>summary { font-weight: var(--lm-ui-weight-strong); }
[data-lm-theme="clean"] .modal-box { width: calc(100% - var(--lm-ui-space-6)*2); max-width: var(--lm-ui-dialog-width); max-height: calc(var(--lm-app-height) - var(--lm-safe-top,0px) - var(--lm-safe-bottom,0px) - var(--lm-ui-space-6)*2); overflow-y: auto; border-radius: var(--lm-ui-radius-dialog); padding: var(--lm-ui-space-6) var(--lm-ui-space-5) var(--lm-ui-space-4); box-shadow: var(--lm-ui-dialog-shadow); }
[data-lm-theme="clean"] .modal-mask { background: var(--lm-ui-overlay); }
[data-lm-theme="clean"] .modal-title { color: var(--lm-ui-text); font-size: var(--lm-ui-font-title); line-height: var(--lm-ui-line); margin-bottom: var(--lm-ui-space-5); overflow-wrap: break-word; overflow-wrap: anywhere; }
[data-lm-theme="clean"] .modal-btn { min-height: var(--lm-ui-control-height); font-size: var(--lm-ui-font-body); border-radius: var(--lm-ui-radius-control); }
[data-lm-theme="clean"] .modal-btn.confirm { color: var(--lm-ui-selected-text); background: var(--lm-ui-selected); }
[data-lm-theme="clean"] .modal-btn.cancel { color: var(--lm-ui-muted); background: var(--lm-ui-input); }
[data-lm-theme="clean"] .noti-set-switch { width: var(--lm-ui-toggle-width); height: var(--lm-ui-toggle-height); flex-basis: var(--lm-ui-toggle-width); }
[data-lm-theme="clean"] .noti-set-switch i { background: var(--lm-ui-toggle-off); border-radius: var(--lm-ui-toggle-height); }
[data-lm-theme="clean"] .noti-set-switch i:after { width: calc(var(--lm-ui-toggle-height) - var(--lm-ui-toggle-inset)*2); height: calc(var(--lm-ui-toggle-height) - var(--lm-ui-toggle-inset)*2); top: var(--lm-ui-toggle-inset); left: var(--lm-ui-toggle-inset); background: var(--lm-ui-toggle-knob); box-shadow: var(--lm-ui-toggle-shadow); }
[data-lm-theme="clean"] .noti-set-switch input:checked+i { background: var(--lm-ui-toggle-on); }
[data-lm-theme="clean"] .noti-set-switch input:checked+i:after { transform: translateX(calc(var(--lm-ui-toggle-width) - var(--lm-ui-toggle-height))); }
.tm-page button:focus,.tm-page summary:focus-visible,.tm-page input:focus,.tm-page textarea:focus,.lm-css-dialog input:focus,.lm-css-dialog textarea:focus { outline: var(--lm-ui-focus-width) solid var(--lm-ui-focus); outline-offset: var(--lm-ui-focus-width); }
@media (max-width:360px) {
  .tm-icon-row>*+* { margin-left: var(--lm-ui-space-1); }
  .tm-icon-row .tm-button-small { padding-left: var(--lm-ui-space-1); padding-right: var(--lm-ui-space-1); }
}
@media (prefers-reduced-motion:reduce) {
  .tm-page { --lm-ui-motion: 0ms; }
}

.lm-ui-cover { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: var(--lm-ui-space-4); background: var(--lm-ui-overlay); box-sizing: border-box; }
.lm-ui-panel { width: 100%; max-width: var(--lm-ui-dialog-width); max-height: 100%; min-height: 0; overflow-y: auto; -webkit-overflow-scrolling: touch; background: var(--lm-ui-surface); color: var(--lm-ui-text); border-radius: var(--lm-ui-radius-dialog); padding: var(--lm-ui-space-5); box-shadow: var(--lm-ui-dialog-shadow); text-align: left; box-sizing: border-box; }
.lm-ui-title { font-size: var(--lm-ui-font-title); font-weight: var(--lm-ui-weight-strong); line-height: var(--lm-ui-line); margin: 0 0 var(--lm-ui-space-4); overflow-wrap: break-word; }
.lm-ui-field { display: block; margin-bottom: var(--lm-ui-space-4); font-size: var(--lm-ui-font-control); color: var(--lm-ui-muted); }
.lm-ui-field>span { display: block; margin-bottom: var(--lm-ui-space-2); }
.lm-ui-field input { display: block; width: 100%; min-height: var(--lm-ui-control-height); box-sizing: border-box; border: var(--lm-ui-border-width) solid var(--lm-ui-border); border-radius: var(--lm-ui-radius-control); padding: var(--lm-ui-space-3); color: var(--lm-ui-text); background: var(--lm-ui-input); font: inherit; font-size: var(--lm-ui-font-section); }
.lm-ui-field input[aria-invalid="true"] { border-color: var(--lm-ui-danger); }
.lm-ui-form-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--lm-ui-space-3); margin-top: var(--lm-ui-space-4); }
.lm-ui-choice { display: flex; align-items: center; width: 100%; min-height: var(--lm-ui-row-height); padding: var(--lm-ui-space-3); border: 0; border-bottom: var(--lm-ui-border-width) solid var(--lm-ui-border); background: var(--lm-ui-surface); color: var(--lm-ui-text); font: inherit; font-size: var(--lm-ui-font-body); text-align: left; }
.lm-ui-choice>span:first-child { flex: 1; min-width: 0; overflow-wrap: break-word; }
.lm-ui-choice[aria-pressed="true"] { background: var(--lm-ui-selected); color: var(--lm-ui-selected-text); }
.lm-ui-choice-mark { flex: 0 0 var(--lm-ui-icon-size); margin-left: var(--lm-ui-space-3); text-align: center; }
[data-lm-theme="clean"] #ctx svg { stroke: currentColor; }
.lm-css-dialog-cover { align-items: center; justify-content: center; padding: var(--lm-ui-space-4); }
.lm-css-dialog { max-width: var(--lm-ui-dialog-width); max-height: 100%; border-radius: var(--lm-ui-radius-dialog); padding-bottom: 0; }
html.lm-keyboard-open .lm-ui-cover,html.lm-keyboard-open .lm-css-dialog-cover { top: var(--lm-visual-page-top,0px); bottom: auto; height: var(--lm-visual-height,var(--lm-app-height,100vh)); }
@supports (-webkit-touch-callout: none) {
  .lm-css-dialog-input,.lm-css-dialog-code,.tm-code { font-size: var(--lm-ui-font-section); }
}

.tm-page summary:focus:not(:focus-visible) { outline: none; }

.tm-file-choice{position:relative;display:flex;align-items:center;justify-content:center;text-align:center}
.tm-file-choice input[type="file"]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.tm-file-choice:focus-within{outline:2px solid var(--lm-ui-focus);outline-offset:2px}
.tm-file-choice:has(input:disabled){opacity:var(--lm-ui-disabled-opacity);cursor:default}
.tm-file-diagnostic{display:inline-block;text-decoration:none;margin-top:var(--lm-ui-space-2)}

.tm-font-scale { margin-bottom: var(--lm-ui-space-4); }
.tm-font-scale-label { display:flex;align-items:center;gap:var(--lm-ui-space-3);flex-wrap:wrap;margin-bottom:var(--lm-ui-space-2);font-size:var(--lm-ui-font-control); }
.tm-font-scale-label label { flex:1;min-width:5em; }
.tm-font-scale-label output { min-width:3em;text-align:right; }
.tm-font-scale input { width:100%;accent-color:var(--lm-ui-muted); }

.tm-font-preview{padding:var(--lm-ui-space-3) 0;border-top:1px solid var(--lm-ui-border);line-height:1.6;overflow-wrap:anywhere}
.tm-font-preview strong{font-weight:var(--lm-ui-weight-strong)}
