/* Source-aligned additions for lumin_ui.cpp, demo v2.1.0. */
.response-separator{height:1px;background:var(--border);opacity:.5;margin:16px 0}
.key-capture-area{border:1px dashed var(--border);padding:18px 10px;margin:8px 0 12px;text-align:center;border-radius:8px;background:var(--widget);font-size:13px;color:var(--text);cursor:pointer;touch-action:none}
.key-capture-area:focus{border-color:var(--accent)}
.consent-card{max-width:570px}.danger-text{color:var(--danger);font-size:15px}
.number-edit[aria-invalid=true]{border-color:var(--danger)!important;outline-color:var(--danger)!important}
.config-toolbar{justify-content:flex-start;gap:12px;margin:0 0 20px;flex-wrap:nowrap;min-height:31px}
.config-toolbar h1{font-size:20px;flex:none;width:74px}
.config-toolbar .segments{width:138px;min-width:138px;min-height:30px;flex:none}
.config-toolbar .segments button{font-size:13px;min-height:26px;padding:3px 7px}
.config-toolbar .segments button.active{background:var(--accent);color:#fff;border-radius:7px}
.config-search{position:relative;flex:0 1 320px;min-width:120px}
.config-search>.icon{position:absolute;left:9px;top:8px;width:14px;height:14px;color:var(--dim);pointer-events:none}
.config-search .text-input{padding-left:29px;width:100%;height:30px;min-height:30px;font-size:13px}
.config-toolbar .config-actions{margin:0;gap:7px;flex:none;display:flex}
.config-tool.button{width:28px;height:28px;min-height:28px;padding:5px;display:grid;place-items:center}
.config-tool .icon{width:14px;height:14px;stroke-width:1.7}
.folder-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:12px;margin:0 0 16px}
.folder-grid>.folder{position:relative;isolation:isolate;width:100%;max-width:416px;height:114px;min-height:114px;overflow:visible;margin:0;padding:0;border:0;background:none;border-radius:0;box-shadow:none}
.folder::before,.folder::after{display:none!important}
.folder-surface{position:absolute;inset:0;width:100%;height:114px;z-index:-1;pointer-events:none;overflow:visible}
.folder-surface path{fill:var(--card);stroke:var(--border);stroke-width:1;vector-effect:non-scaling-stroke}
.folder.selected .folder-surface path{stroke:var(--accent)}
.folder .folder-title{position:absolute;left:10px;top:1px;width:calc(var(--folder-tab) - 19px);height:30px;min-height:30px;margin:0;padding:0 7px;display:flex;align-items:center;gap:10px;background:transparent;border:0;color:var(--text);text-align:left;font-size:15px;font-weight:600;white-space:nowrap}
.folder.selected .folder-title{width:calc(var(--folder-tab) - 81px)}
.folder-title span{overflow:hidden;text-overflow:ellipsis}
.folder-title .icon{width:14px;height:14px;flex:none;color:var(--muted)}
.folder .selected-tag{position:absolute;right:auto;left:calc(var(--folder-tab) - 66px);top:6px;max-width:59px;height:20px;font-size:10px;line-height:20px;padding:0 7px;border-radius:6px;background:var(--accent);color:#fff;border:0}
.folder .folder-description{position:absolute;left:18px;right:18px;top:41px;height:20px;padding:0;margin:0;display:flex;gap:8px;align-items:center;border:0;color:var(--dim);font-size:12px;white-space:nowrap}
.folder-description .icon{width:12px;height:12px;flex:none}
.folder-description span{padding:3px 7px;background:var(--widget);border-radius:5px;overflow:hidden;text-overflow:ellipsis;line-height:14px}
.folder .folder-footer{position:absolute;left:18px;right:13px;top:74px;bottom:auto;height:28px;margin:0;padding:0;display:flex;align-items:center;justify-content:space-between;gap:8px;border:0;font-size:12px}
.folder-meta{display:flex;align-items:center;gap:6px;min-width:0;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px}
.folder-meta .icon{width:12px;height:12px;flex:none}
.folder-footer .action-group{flex:none;gap:6px;flex-wrap:nowrap}
.folder-footer .button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:28px;height:28px;border-radius:7px;font-size:12px;padding:4px 9px}
.folder-footer .button.danger{width:28px;padding:5px}
.folder-footer .button .icon{height:12px;width:12px}
.folder-footer .button.primary{min-width:76px;color:#fff}
.config-tools-toggle{margin:0 0 16px;text-align:center;width:160px}
.config-tools .custom-block>.text-input{margin:8px 0}
.cloud-library{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:16px}
.cloud-head h2{font-weight:600;font-size:16px;margin:0 0 10px}
.cloud-head>.hint{margin:0 0 14px}
.cloud-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.cloud-actions select{max-width:180px;min-height:30px}
.cloud-profile{border-top:1px solid var(--border);padding:16px 0}
.cloud-profile:last-child{padding-bottom:0}
.cloud-profile h3{font-size:16px;margin:0 0 6px}
.cloud-profile .tag{font-size:11px;color:var(--dim);background:transparent;border:0;padding:0}
.cloud-profile .hint{margin:8px 0 12px}
.cloud-profile .action-group{flex-wrap:wrap}
/* A collapsed rail and readable controls are retained on small displays.
   Viewer Fit / pinch handle the fixed native canvas; no hidden mobile fields. */
.menu.sidebar-open .folder-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.menu.sidebar-open .config-toolbar{gap:8px}
.menu.sidebar-open .config-search{flex-basis:260px}
:root[data-theme=light] .folder-surface path{fill:var(--card)}
.card.is-disabled{opacity:.45}
.card.is-disabled .row.disabled{opacity:1}
.disabled button,.disabled input{cursor:default}
.red-dot-status{margin:3px 0 8px;line-height:1.45}
@media (prefers-reduced-motion:reduce){.page-pop,.menu.is-pop{animation:none!important}.sidebar,.menu-foot,.menu-head,.page-subtitle,.content{transition:none!important}}
