:root{--bg: #1d1b19;--panel: #262320;--panel-2: #2f2b27;--line: #3d3833;--text: #ece6dc;--muted: #a39a8e;--accent: #e8b04a;--accent-ink: #1d1b19;--error: #f08a7e;--ok: #8fd19e;--radius: 6px;--panel-deep: #161412;--panel-head: #211e1b;--edge: #4a443d;--stage: #3b3b3b;--stage-bg: var(--stage);--stage-ink: #dddddd;--warn: #f2c46d;--bad: #e0574a;--info: #4fb3ff;--info-ink: #9fd2ff;--module: #f0a35e;--missing: #ff6b6b;--shadow: rgba(0, 0, 0, .45);--font-head: inherit;color-scheme:dark;font:15px/1.45 system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text)}button,input,select{font:inherit;color:inherit}code,kbd{font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.92em}kbd{opacity:.6;font-size:.75em;margin-left:4px}button{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);padding:5px 10px;cursor:pointer}button:hover:not(:disabled){border-color:var(--muted)}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}button.ghost{background:none;border-color:transparent}button.ghost:hover{border-color:var(--line)}button.link{background:none;border:none;padding:0;color:var(--accent);text-decoration:underline}input[type=search],input[type=password],.new-module input,select{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:5px 8px}input:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.muted{color:var(--muted)}.small{font-size:13px}.num{font-variant-numeric:tabular-nums;min-width:44px}.error{color:var(--error)}.ok{color:var(--ok)}.spacer{flex:1}.pad{padding:16px}.update-banner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:7px 14px;background:color-mix(in srgb,var(--accent) 16%,var(--panel));border-bottom:1px solid var(--line)}.update-banner.is-error{background:color-mix(in srgb,var(--error) 16%,var(--panel))}.update-banner.is-done{background:color-mix(in srgb,var(--ok) 14%,var(--panel))}.banner{padding:6px 12px;background:color-mix(in srgb,var(--error) 16%,var(--panel));border-bottom:1px solid var(--line)}.badge{font-size:11px;padding:1px 6px;border-radius:10px;background:var(--panel-2);border:1px solid var(--line);color:var(--muted)}.splash{display:grid;place-items:center;height:100%;color:var(--muted);letter-spacing:.1em}.login{position:relative}.login-lang{position:absolute;top:14px;right:16px}.lang-switch button{padding:3px 9px;font-size:12px;font-weight:600;letter-spacing:.04em}.login{display:grid;place-items:center;height:100%}.login-box{display:flex;flex-direction:column;gap:12px;width:min(320px,90vw);padding:28px;background:var(--panel);border:1px solid var(--line);border-radius:10px}.login-box h1{margin:0 0 8px;font-size:22px;color:var(--accent);letter-spacing:.04em}.login-box label{display:flex;flex-direction:column;gap:4px;color:var(--muted);font-size:12px}.login-box input{font-size:15px;color:var(--text)}.count{font-size:11px;color:var(--muted);margin-left:2px}.workspace{flex:1;display:flex;min-height:0}.main-pane{flex:1;min-width:0;display:flex;flex-direction:column}.toolbar{display:flex;align-items:center;gap:10px;padding:6px 12px;border-bottom:1px solid var(--line);flex-wrap:wrap}.search{width:220px}.zoom{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px}.zoom input{width:110px;accent-color:var(--accent)}.check{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:12px}.segmented{display:inline-flex;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.segmented button{border:none;border-radius:0;background:none;color:var(--muted);padding:4px 10px}.segmented button+button{border-left:1px solid var(--line)}.segmented button.active{background:var(--panel-2);color:var(--text)}.projects{padding:24px;max-width:960px}.projects h2{margin-top:0;font-weight:600}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.project-card{display:flex;flex-direction:column;gap:6px;text-align:left;padding:16px;background:var(--panel)}.project-card strong{font-size:16px}.project-card:hover{border-color:var(--accent)}.cards-view{flex:1;display:flex;flex-direction:column;min-height:0}.scaled-frame{flex:1;min-height:0;overflow:auto;position:relative;background:var(--stage-bg)}.scaled-frame iframe{background:var(--stage-bg)}.frame-loading{position:absolute;top:12px;left:12px;color:var(--stage-ink);font-size:12px;background:#0006;padding:4px 8px;border-radius:4px}.warnings{border-top:1px solid var(--line);font-size:13px;max-height:32vh;overflow:auto;background:var(--panel)}.warnings.ok{padding:6px 12px;color:var(--ok)}.warnings-head{width:100%;text-align:left;border:none;border-radius:0;background:none;padding:6px 12px;color:var(--warn)}.warnings.has-errors .warnings-head{color:var(--error)}.warnings ul{list-style:none;margin:0;padding:0 12px 8px}.warnings li{display:flex;gap:10px;padding:3px 0;border-top:1px solid var(--line);align-items:baseline}.w-kind{color:var(--muted);min-width:110px}.w-liquid .w-kind{color:var(--error)}.w-msg{flex:1;word-break:break-word}.detail{width:min(470px,45vw);border-left:2px solid var(--edge);background:var(--panel-deep);box-shadow:-10px 0 24px var(--shadow);position:relative;z-index:2;display:flex;flex-direction:column;overflow:auto}.detail-head{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--panel-head);z-index:1}.detail-frame{flex:none;overflow:hidden}.detail-links{padding:6px 12px;color:var(--muted)}.detail-links a{color:var(--accent)}.detail .warnings{max-height:none;overflow:visible}.detail>*{flex-shrink:0}.detail>p{padding:0 12px}table.fields{width:100%;border-collapse:collapse;font-size:14px}.fields th{text-align:left;vertical-align:top;color:var(--muted);font-weight:500;padding:5px 12px;width:38%;word-break:break-word}.fields td{padding:5px 12px 5px 0;word-break:break-word}.fields tr+tr{border-top:1px solid var(--line)}.data-view{flex:1;overflow:auto}table.data{border-collapse:collapse;font-size:14px;min-width:100%}.data th{position:sticky;top:0;z-index:1;background:var(--panel);text-align:left;padding:9px 12px;border-bottom:1px solid var(--line);white-space:nowrap;cursor:pointer;font-weight:600}.data td{padding:8px 12px;border-bottom:1px solid var(--line);vertical-align:top;max-width:360px}.data td>.clamp{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.data td.id{color:var(--accent)}.data tbody tr{cursor:pointer}.data tbody tr:hover{background:var(--panel)}.data tr.selected{background:var(--panel-2)}.data tr.inactive{opacity:.5}.template-view{flex:1;display:grid;grid-template-columns:200px minmax(340px,1fr) minmax(380px,1fr);min-height:0}.file-list{border-right:1px solid var(--line);overflow:auto;padding:6px 0;background:var(--panel)}.file-group{padding:8px 12px 4px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.file{display:flex;align-items:center;gap:6px;width:100%;text-align:left;border:none;border-radius:0;background:none;padding:5px 12px 5px 16px;font-family:ui-monospace,Consolas,monospace;font-size:13.5px}.file.active{background:var(--panel-2);color:var(--accent)}.module-row{display:flex;align-items:center;gap:2px;padding:2px 8px 2px 16px}.module-row.active{background:var(--panel-2)}.module-name{flex:1;text-align:left;border:none;background:none;padding:3px 0;font-family:ui-monospace,Consolas,monospace;font-size:13.5px}.module-row.active .module-name{color:var(--accent)}.ext{border:1px solid transparent;background:none;padding:0 5px;font-size:12px;color:var(--muted);display:inline-flex;align-items:center;gap:3px}.ext.active{border-color:var(--line);color:var(--text);background:var(--bg)}.ext .dot{width:5px;height:5px;margin:0}.dot{width:7px;height:7px;border-radius:50%;background:var(--accent);margin-left:auto}.new-module{padding:10px 12px}.new-module input{width:100%;font-size:12px}.editor-pane{display:flex;flex-direction:column;min-width:0;min-height:0;border-right:1px solid var(--line)}.editor-pane .path{font-family:ui-monospace,Consolas,monospace;font-weight:500}.code{flex:1;min-height:0;overflow:auto;font-size:14px}.code .cm-editor{height:100%}.preview-pane{display:flex;flex-direction:column;min-width:0;min-height:0}.variables-view{padding:16px 20px;overflow:auto}.variables-view h3{margin:8px 0;font-weight:600}.var-head{display:flex;align-items:flex-start;gap:10px;position:sticky;top:-16px;z-index:2;background:var(--bg);padding:12px 0 10px;margin-top:-12px;border-bottom:1px solid var(--line)}.var-head .intro{margin:0 0 4px;max-width:760px}.variables-view section{margin:18px 0;max-width:960px}.edit-table{border-collapse:collapse;margin-bottom:8px}.edit-table th{text-align:left;font-weight:500;color:var(--muted);font-size:13px;padding:4px 8px}.edit-table td{padding:3px 6px;vertical-align:middle}.edit-table input,.variables-view input.wide{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:5px 8px}.edit-table input{width:150px}input.wide{width:380px;max-width:100%}input.mono{font-family:ui-monospace,Consolas,monospace;font-size:13px}.brace{color:var(--muted);font-family:ui-monospace,Consolas,monospace;padding:0 2px}.thumb{width:40px}.thumb img{width:32px;height:32px;object-fit:contain;background:#8a7f72;border-radius:4px;display:block}.try{font-size:16px;padding:8px 12px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}.token{border-radius:4px;padding:0 3px;font-family:ui-monospace,Consolas,monospace;font-size:.9em}.token.icon{background:color-mix(in srgb,var(--ok) 22%,var(--panel));color:var(--ok)}.token.unknown{background:color-mix(in srgb,var(--error) 22%,var(--panel));color:var(--error)}.path-cell{display:flex;gap:6px;align-items:center}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#0000008c;display:grid;place-items:center}.modal{background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 20px 60px var(--shadow);display:flex;flex-direction:column}.modal-head{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line)}.modal-head input{width:240px}.picker{width:min(1100px,94vw);height:min(760px,88vh)}.picker-body{flex:1;display:flex;min-height:0}.picker-folders{width:230px;border-right:1px solid var(--line);overflow:auto;padding:6px 0;flex:none}.picker-folders button{display:flex;justify-content:space-between;gap:8px;width:100%;text-align:left;border:none;border-radius:0;background:none;padding:6px 14px;font-family:ui-monospace,Consolas,monospace;font-size:13px;overflow-wrap:anywhere;align-items:baseline}.picker-folders .count{flex:none}.picker-folders button.active{background:var(--panel-2);color:var(--accent)}.picker-grid{flex:1;overflow:auto;padding:12px;display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;align-content:start}.picker-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px;background:var(--bg)}.picker-item img{width:110px;height:110px;object-fit:contain;background:repeating-conic-gradient(var(--panel-2) 0 25%,var(--panel) 0 50%) 0 0 / 16px 16px;border-radius:4px}.picker-item span{font-size:12px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker-item:hover{border-color:var(--accent)}.picker-item.current{border-color:var(--accent);background:var(--panel-2)}.icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.icon-cell{display:flex;align-items:center;gap:8px;padding:6px 8px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}.icon-cell img{width:28px;height:28px;object-fit:contain;background:#8a7f72;border-radius:4px}@media (max-width: 900px){.template-view{grid-template-columns:1fr;grid-template-rows:auto 50vh 60vh;overflow:auto}.file-list{display:flex;flex-wrap:wrap}.detail{position:fixed;inset:46px 0 0 auto;width:100vw;z-index:5}.search{width:140px}}.unit-list{border-right:1px solid var(--line);overflow:auto;padding:6px 0;background:var(--panel)}.unit{display:flex;align-items:center;gap:6px;width:100%;text-align:left;border:none;border-radius:0;background:none;padding:6px 12px 6px 16px}.unit.active{background:var(--panel-2);color:var(--accent)}.unit:disabled{opacity:.45}.unit .dot{margin-left:auto}.unit-editor{flex:1;min-height:0;display:flex;flex-direction:column}.file-section{flex:1 1 0;min-height:110px;display:flex;flex-direction:column;border-bottom:1px solid var(--line)}.unit-editor.tabs .file-section{border-bottom:none}.file-head,.file-tabs button{display:flex;align-items:center;gap:8px;font-size:13px}.file-head{padding:4px 12px;background:var(--panel);border-bottom:1px solid var(--line);color:var(--muted)}.file-tabs{display:flex;gap:2px;padding:4px 8px 0;background:var(--panel);border-bottom:1px solid var(--line)}.file-tabs button{border:1px solid transparent;border-bottom:none;border-radius:var(--radius) var(--radius) 0 0;background:none;color:var(--muted);padding:5px 12px}.file-tabs button.active{background:var(--bg);border-color:var(--line);color:var(--text)}.kind{font:600 11px/1 ui-monospace,Consolas,monospace;text-transform:uppercase;padding:3px 5px;border-radius:4px;background:var(--panel-2);color:var(--accent)}.file-label{font-family:ui-monospace,Consolas,monospace}.file-section .code{flex:1}.cm-ct-hl{background:color-mix(in srgb,var(--info) 18%,transparent)!important;box-shadow:inset 3px 0 0 var(--info)}.card-name{display:flex;align-items:center;gap:6px;color:var(--muted);margin-right:12px}.card-name select{padding:3px 6px}.chips-bar{padding:6px 12px}.chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.chip{display:inline-flex;align-items:center;gap:6px;padding:2px 4px 2px 10px;border:1px solid var(--line);border-radius:14px;background:var(--panel);font-size:13px;max-width:320px}.chip.missing{opacity:.5}.chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip-reason{font-size:11px;color:var(--accent);white-space:nowrap}.chip-x{border:none;background:none;padding:0 6px;color:var(--muted)}.chip-x:hover{color:var(--text)}.chips>button{padding:3px 10px;font-size:13px}.chip-add{position:relative}.chip-add>button{padding:3px 10px;font-size:13px}.dropdown{position:absolute;top:calc(100% + 4px);left:0;z-index:20;width:320px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 10px 30px var(--shadow);padding:8px}.dropdown input{width:100%;margin-bottom:6px}.dropdown-list{max-height:300px;overflow:auto;display:flex;flex-direction:column}.dropdown-list button{text-align:left;border:none;border-radius:4px;background:none;padding:5px 8px;font-size:13px}.dropdown-list button:hover{background:var(--panel-2)}.pad-s{padding:6px 8px}.hover-hint{padding:4px 12px;background:color-mix(in srgb,var(--info) 12%,transparent);border-bottom:1px solid var(--line);color:var(--info-ink);font-family:ui-monospace,Consolas,monospace}.card-icon{display:inline-block;width:10px;height:14px;border:1.5px solid currentColor;border-radius:2px;opacity:.8;position:relative}.card-icon:after{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;border-top:1.5px solid currentColor;opacity:.6}.card-type{flex:1;display:flex;flex-direction:column;min-height:0}.splitter{flex:1;display:flex;flex-direction:column;min-height:0;position:relative}.splitter-part{display:flex;flex-direction:column;min-height:0;flex-grow:0;flex-shrink:1;overflow:hidden}.splitter-bar{flex:none;height:7px;cursor:row-resize;background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;touch-action:none}.splitter-bar:after{content:"";position:absolute;left:50%;top:2px;width:36px;height:1px;margin-left:-18px;border-top:1px solid var(--muted);border-bottom:1px solid var(--muted);opacity:.6}.splitter-bar:hover,.splitter-bar.dragging,.splitter-bar:focus-visible{background:var(--panel-2)}.splitter-shield{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;cursor:row-resize}.gallery-pane{flex:1;display:flex;flex-direction:column;min-height:0}.splitter-part .data-view{flex:1;min-height:0}.unit-list{display:flex;flex-direction:column;padding:0}.unit-scroll{flex:1;overflow:auto;padding:6px 0}.unit-bottom{border-top:1px solid var(--line);padding:4px 0}.unit-name{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.unit-sub{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-body{flex:1;min-height:0;position:relative;display:flex;flex-direction:column}.preview-overlays{position:absolute;left:10px;right:10px;bottom:10px;display:flex;flex-direction:column;gap:6px;align-items:flex-start;pointer-events:none}.preview-overlays .hover-hint{pointer-events:auto;border:1px solid color-mix(in srgb,var(--info) 40%,transparent);border-radius:var(--radius);background:color-mix(in srgb,var(--panel) 94%,transparent);box-shadow:0 4px 14px #0006}.add-all{width:100%;margin-bottom:6px;font-size:13px}.projects{max-width:none}.project-list{display:flex;flex-direction:column;gap:18px}.project-tile{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:14px 16px 16px}.project-head{display:flex;align-items:baseline;gap:10px;border:none;background:none;padding:0 0 10px}.project-head strong{font-size:19px}.project-head:hover strong{color:var(--accent)}.project-sets{display:flex;flex-wrap:wrap;gap:14px}.project-set{display:flex;flex-direction:column;align-items:center;gap:8px;padding:8px;background:var(--bg);border-radius:8px}.project-set:hover{border-color:var(--accent)}.project-set .sample-frame{width:170px;flex:none;overflow:hidden;border-radius:6px}.project-set .sample-frame iframe{pointer-events:none}.sample-empty{display:grid;place-items:center;border:1px dashed var(--line);border-radius:6px}.set-name{display:inline-flex;align-items:center;gap:6px;font-size:14px}.template-group{padding-bottom:4px}.template-group+.template-group{border-top:1px solid var(--line);padding-top:4px}.unit.side{padding:4px 12px 4px 30px;font-size:14px;color:var(--muted);position:relative}.unit.side:before{content:"";position:absolute;left:18px;top:0;bottom:50%;width:7px;border-left:1px solid var(--line);border-bottom:1px solid var(--line)}.unit.side.active{color:var(--accent)}.save-state{color:var(--muted)}.preview-overlays .hover-hint.pinned{border-color:color-mix(in srgb,var(--accent) 70%,transparent);color:var(--warn)}.scaled-frame.fit-height{overflow-x:auto;overflow-y:hidden}.editor-row{flex:1;min-height:0;display:flex}.editor-row>.unit-editor{flex:1;min-width:0}.fields-panel{width:260px;flex:none;display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--line);background:var(--panel);font-size:13px}.fields-head{display:flex;align-items:center;gap:8px;padding:6px 10px;border-bottom:1px solid var(--line)}.fields-head input{flex:1;min-width:0}.fields-focus{padding:6px 10px;border-bottom:1px solid var(--line);display:flex;gap:8px;align-items:baseline;justify-content:space-between}.fields-focus.active{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--warn)}.fields-list{list-style:none;margin:0;padding:4px 0;overflow:auto;flex:1}.fields-list li{padding:5px 10px;border-bottom:1px solid color-mix(in srgb,var(--text) 4%,transparent)}.fields-list li.unused .field-name{opacity:.75}.field-name{background:none;border:0;padding:0;color:var(--accent);font:600 13px/1.3 ui-monospace,Consolas,monospace;cursor:pointer;text-align:left}.field-name:hover{text-decoration:underline}.fields-list .badge{margin-left:6px;font-size:11px;color:var(--muted);border:1px solid var(--line);border-radius:8px;padding:0 5px}.field-desc{color:var(--muted);font-size:12px;margin-top:2px}.field-value{margin-top:2px;font-size:12px;white-space:pre-wrap;word-break:break-word;max-height:6em;overflow:hidden}.field-value.empty{color:var(--muted);font-style:italic}.chip .chip-name{cursor:pointer}.chip.focused{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 18%,transparent)}.unit-title{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.unit-title .rename-btn{margin-left:auto}.rename-btn{opacity:0;font-size:12px;color:var(--muted);padding:0 3px;border-radius:3px;cursor:pointer}.unit:hover .rename-btn{opacity:1}.rename-btn:hover{color:var(--text);background:color-mix(in srgb,var(--text) 8%,transparent)}.rename-input{width:100%;box-sizing:border-box;font:inherit;padding:1px 4px}.fields-source{padding:8px 10px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--info) 8%,transparent);font-size:12px}.fields-source p{margin:0 0 6px}.fields-source select{width:100%}.fields-list .badge.declared{color:var(--info-ink);border-color:color-mix(in srgb,var(--info) 40%,transparent)}.fields-empty-toggle{padding:6px 10px;border-top:1px solid var(--line);text-align:left;font-size:12px}.cm-ct-module,.cm-ct-module *{color:var(--module)!important;font-weight:600}.cm-ct-module{text-decoration:underline dotted var(--module);text-underline-offset:3px}.cm-ct-module.missing,.cm-ct-module.missing *{color:var(--missing)!important}.cm-ct-module.missing{text-decoration:underline wavy var(--missing)}.cm-editor:has(.cm-content:hover) .cm-ct-module:not(.missing):hover{cursor:pointer;text-decoration-style:solid}.card-form{padding:6px 12px 16px;display:flex;flex-direction:column;gap:8px}.form-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:4px 0 6px;border-bottom:1px solid var(--line)}.form-actions .confirm{display:inline-flex;align-items:center;gap:6px;color:var(--warn);font-size:13px}button.danger{background:#8e2a22;border-color:#b4372d;color:#fff}.form-field{display:flex;flex-direction:column;gap:3px}.form-label{font-size:12px;color:var(--muted);display:flex;flex-wrap:wrap;align-items:baseline;gap:6px}.form-desc{font-size:11px;opacity:.8}.form-input{display:flex;gap:6px;align-items:flex-start}.form-input input,.form-input textarea{flex:1;min-width:0;width:100%;box-sizing:border-box;font:inherit;font-size:13px}.form-input textarea{resize:vertical;line-height:1.35}.form-input textarea.mono{font-family:ui-monospace,Consolas,monospace;font-size:12px}.form-field.empty .form-label{opacity:.7}.form-field.dirty .form-input input,.form-field.dirty .form-input textarea{border-color:var(--accent)}.form-input .pick{flex:none;padding:4px 8px}.form-add input{width:100%;box-sizing:border-box}.data td.editing{padding:2px}.data td.editing textarea{width:100%;min-width:140px;box-sizing:border-box;font:inherit;font-size:13px;resize:vertical}.new-set{position:relative;display:inline-flex}.new-set-form{display:flex;flex-direction:column;gap:8px;width:260px}.new-set-form label{display:flex;flex-direction:column;gap:3px}label.button{display:inline-flex;align-items:center;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);padding:5px 10px;cursor:pointer;font-size:13px}label.button:hover{border-color:var(--accent)}.git{position:relative;display:inline-flex;margin-right:12px}.git-chip{display:inline-flex;align-items:center;gap:6px;font-size:13px;padding:3px 10px}.git-dot{width:8px;height:8px;border-radius:50%;background:var(--ok)}.git-chip.dirty .git-dot{background:var(--accent)}.git-chip.error .git-dot,.git-chip.paused .git-dot{background:var(--bad)}.git-chip.paused,.git-chip.error{border-color:#b4372d}.git-panel{left:auto;right:0;width:380px;display:flex;flex-direction:column;gap:8px}.git-line{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.git-files{list-style:none;margin:0;padding:6px 8px;background:var(--bg);border-radius:4px;max-height:220px;overflow:auto;font-family:ui-monospace,Consolas,monospace;font-size:12px}.git-status{display:inline-block;width:1.4em;font-weight:700;color:var(--accent)}.git-status.s-new,.git-status.s-A{color:var(--ok)}.git-status.s-D{color:var(--bad)}.git-panel form{display:flex;flex-direction:column;gap:6px}.git-actions{display:flex;align-items:center;gap:8px;border-top:1px solid var(--line);padding-top:8px}.history{margin:0 12px 16px;border-top:1px solid var(--line);padding-top:8px}.history summary{cursor:pointer;color:var(--muted);font-size:13px}.history-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}.history-list li{border-left:2px solid var(--line);padding-left:10px}.history-head{display:flex;flex-direction:column;gap:2px;margin-bottom:4px;font-size:13px}.history-diff{border-collapse:collapse;margin-bottom:6px}.history-diff th,.history-diff td{text-align:left;vertical-align:top;padding:2px 6px 2px 0}.history-diff thead th{color:var(--muted);font-weight:500}.history-diff td.before{color:var(--warn)}.history-diff td.arrow{color:var(--muted)}.history-diff td{word-break:break-word}.card-form table.fields th{padding-left:0}.form-empty{display:flex;flex-wrap:wrap;gap:6px;padding-top:4px}.form-empty:empty{display:none}.chip-add{font-size:12px;padding:2px 9px;border-radius:12px;color:var(--muted);background:none;border-style:dashed}.chip-add:hover:not(:disabled){color:var(--text);border-color:var(--accent)}.tokens-view{padding:16px 24px;overflow:auto;max-width:980px}.token-form{display:flex;flex-direction:column;gap:8px;max-width:520px;margin:16px 0 24px;padding:12px 14px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}.token-form h3{margin:0 0 4px;font-size:15px}.token-form .segmented,.token-form button.primary{align-self:flex-start}.token-projects{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center}.token-created{margin:12px 0;padding:12px 14px;border:1px solid var(--accent);border-radius:var(--radius);background:color-mix(in srgb,var(--accent) 8%,transparent)}.token-created p{margin:4px 0 8px}.token-secret{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.token-secret code{padding:6px 8px;background:var(--bg);border-radius:4px;word-break:break-all;-webkit-user-select:all;user-select:all}.tokens-table{width:100%}.git-suggestion{margin:0;padding:6px 8px;background:var(--bg);border-radius:4px;max-height:160px;overflow:auto;white-space:pre-wrap;color:var(--muted);font-family:ui-monospace,Consolas,monospace;font-size:11px}.print-view{display:grid;grid-template-columns:320px 1fr;height:100%;min-height:0}.print-settings{overflow:auto;padding:12px 14px;border-right:1px solid var(--line);background:var(--panel);display:flex;flex-direction:column;gap:12px;font-size:13px}.print-settings label{display:flex;flex-direction:column;gap:3px}.print-settings label.inline{flex-direction:row;align-items:center;gap:8px}.print-settings label.inline input{width:64px}.print-settings fieldset{border:1px solid var(--line);border-radius:var(--radius);padding:8px 10px 10px;display:flex;flex-direction:column;gap:8px;margin:0}.print-settings legend{color:var(--muted);padding:0 4px}.print-settings .grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.print-settings input,.print-settings select{min-width:0;width:100%;box-sizing:border-box}.print-settings .grid2>label{min-width:0}.print-settings fieldset{min-width:0}.print-summary{margin:0;line-height:1.45}.print-actions{display:flex;gap:8px;flex-wrap:wrap}a.button{display:inline-flex;align-items:center;padding:5px 12px;border-radius:var(--radius);border:1px solid var(--line);background:var(--panel-2);color:inherit;text-decoration:none;font-size:13px}a.button.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}a.button.disabled{opacity:.45;pointer-events:none}.print-entries{width:100%;border-collapse:collapse}.print-entries td{padding:3px 4px;border-top:1px solid var(--line)}.print-entries td.num{text-align:right;white-space:nowrap}.print-preview{display:flex;flex-direction:column;min-height:0;min-width:0}.print-preview .scaled-frame{flex:1}.tts-view{padding:16px 24px;overflow:auto;max-width:980px;height:100%;box-sizing:border-box}.tts-view h2{margin:0 0 4px}.tts-view h3{margin:0 0 6px;font-size:15px}.inline-select{display:inline-flex;align-items:center;gap:8px;margin:8px 0 12px;font-size:13px}.tts-plan,.tts-result{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;margin-bottom:14px}.tts-plan ul{margin:0 0 8px;padding-left:18px;font-size:13px;line-height:1.5}.tts-actions{display:flex;gap:8px;margin:8px 0}.tts-sheets{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0}.tts-sheets img{height:220px;width:auto;background:var(--stage-bg);border:1px solid var(--line);border-radius:4px;display:block}.error-text{color:var(--warn)}.export-view{display:flex;flex-direction:column;height:100%;min-height:0}.export-body{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.export-body>*{flex:1;min-height:0}h1,h2,h3,.brand,.login-box h1{font-family:var(--font-head)}:root[data-theme=parchment]{color-scheme:light;--bg: #eee5d2;--panel: #f8f2e4;--panel-2: #fffaf0;--panel-deep: #e8dec8;--panel-head: #f0e6d1;--edge: #c4b391;--line: #d9cdb2;--text: #2b2118;--muted: #7a6a55;--accent: #9a3b1f;--accent-ink: #fff7ea;--error: #b3261e;--ok: #2f7a3a;--warn: #9a5b00;--bad: #c0392b;--info: #1d6fb8;--info-ink: #14558c;--module: #b4510c;--missing: #c0392b;--stage: #cdbf9f;--stage-ink: #4a3c2a;--shadow: rgba(60, 40, 10, .25);--radius: 9px;--font-head: Georgia, "Times New Roman", serif}:root[data-theme=parchment] button{box-shadow:0 1px color-mix(in srgb,var(--text) 10%,transparent)}:root[data-theme=parchment] button.primary{box-shadow:0 2px color-mix(in srgb,var(--accent) 60%,black)}:root[data-theme=parchment] .detail,:root[data-theme=parchment] .tts-plan,:root[data-theme=parchment] .tts-result{background:var(--panel)}:root[data-theme=parchment] input,:root[data-theme=parchment] select,:root[data-theme=parchment] textarea{background:#fffdf7}:root[data-theme=slate]{color-scheme:dark;--bg: #0e1217;--panel: #141a21;--panel-2: #1d2630;--panel-deep: #0b0f14;--panel-head: #111820;--edge: #2b3745;--line: #232d39;--text: #e3e9f0;--muted: #8696a8;--accent: #34d3b4;--accent-ink: #04211b;--error: #ff7b72;--ok: #56d364;--warn: #e3b341;--bad: #f85149;--info: #58a6ff;--info-ink: #a5d6ff;--module: #ffa657;--missing: #ff7b72;--stage: #1a212a;--stage-ink: #9fb0c3;--shadow: rgba(0, 0, 0, .6);--radius: 3px;--font-head: system-ui, sans-serif;font-size:14px}:root[data-theme=slate] .segmented{border-radius:3px}:root[data-theme=slate] .segmented button.active{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent)}:root[data-theme=slate] h2,:root[data-theme=slate] h3{text-transform:uppercase;letter-spacing:.1em;font-size:12px;color:var(--muted)}:root[data-theme=slate] table.data th{text-transform:uppercase;letter-spacing:.08em;font-size:11px;color:var(--muted)}:root[data-theme=felt]{color-scheme:dark;--bg: #0f1b15;--panel: #162a20;--panel-2: #1f3a2c;--panel-deep: #0c1610;--panel-head: #12231a;--edge: #35573f;--line: #27432f;--text: #eef2e8;--muted: #9db4a1;--accent: #e8c45a;--accent-ink: #1a2418;--error: #ff8f80;--ok: #9be28a;--warn: #f2d27a;--bad: #e8604f;--info: #6cc1ff;--info-ink: #b5defa;--module: #f2b470;--missing: #ff8f80;--stage: #0b1a12;--stage-ink: #cfe3d3;--shadow: rgba(0, 0, 0, .55);--stage-bg: radial-gradient(ellipse at 50% 25%, #226646 0%, #153f2b 55%, #0c2619 100%);--radius: 10px;--font-head: Georgia, "Times New Roman", serif}:root[data-theme=felt] .segmented{border-radius:999px}:root[data-theme=felt] .segmented button{padding-left:14px;padding-right:14px}:root[data-theme=felt] .segmented button.active{background:var(--accent);color:var(--accent-ink)}:root[data-theme=felt] .detail{border-left-color:var(--accent)}:root[data-theme=paper]{color-scheme:light;--bg: #f3f5f8;--panel: #ffffff;--panel-2: #eef1f6;--panel-deep: #e8ecf2;--panel-head: #f7f9fc;--edge: #c9d1de;--line: #dde3ec;--text: #18202e;--muted: #667389;--accent: #3563e9;--accent-ink: #ffffff;--error: #d92d20;--ok: #1a7f37;--warn: #b54708;--bad: #d92d20;--info: #0b72d9;--info-ink: #0b5aa8;--module: #c2410c;--missing: #d92d20;--stage: #dfe4ec;--stage-ink: #3c4658;--shadow: rgba(24, 32, 46, .18);--radius: 8px}:root[data-theme=paper] button.primary{box-shadow:0 1px 2px color-mix(in srgb,var(--accent) 50%,transparent)}:root[data-theme=paper] .segmented button.active{background:var(--accent);color:var(--accent-ink)}:root[data-theme=paper] .detail{border-left:1px solid var(--line)}:root[data-theme=paper] .tts-plan,:root[data-theme=paper] .tts-result,:root[data-theme=paper] .token-form{box-shadow:0 1px 3px color-mix(in srgb,var(--text) 10%,transparent)}.theme-switch{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-size:12px}.theme-switch select{font-size:12px;padding:3px 6px;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);color:var(--text)}:root{--sidebar-w: 236px;--header-h: 52px;--radius-lg: 14px;--hair: color-mix(in srgb, var(--text) 8%, transparent)}.shell{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);height:100%}.shell-main{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--bg)}.shell-main>.workspace{flex:1;min-height:0}.sidebar{background:var(--panel-deep);border-right:1px solid var(--line);padding:10px 8px;display:flex;flex-direction:column;gap:1px;min-height:0;overflow:auto}.sidebar .popover-wrap{display:block;width:100%}.sb-project{display:flex;align-items:center;gap:9px;width:100%;padding:6px 8px;border:0;border-radius:9px;background:none;text-align:left;margin-bottom:6px}.sb-project:hover{background:var(--panel)}.sb-avatar{width:26px;height:26px;border-radius:7px;background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 55%,black));color:var(--accent-ink);font-weight:700;display:grid;place-items:center;flex:none}.sb-avatar.small{width:20px;height:20px;border-radius:5px;font-size:11px}.sb-project-name{flex:1;min-width:0;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-search{display:flex;align-items:center;gap:8px;width:100%;height:30px;padding:0 10px;border:1px solid transparent;border-radius:8px;background:var(--panel-2);color:var(--muted);font-size:13px;margin-bottom:4px}.sb-search:hover{border-color:var(--line)}.sb-search kbd{margin-left:auto;opacity:.8;font-size:11px;padding:1px 5px;border:1px solid var(--line);border-radius:4px}.sb-group{margin:14px 10px 4px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.nav-item{display:flex;align-items:center;gap:10px;width:100%;height:32px;padding:0 10px;border:1px solid transparent;border-radius:7px;background:none;color:color-mix(in srgb,var(--text) 86%,var(--muted));text-align:left;font-size:13.5px}.nav-item:hover:not(.on){background:color-mix(in srgb,var(--text) 6%,transparent);border-color:transparent}.nav-item.on{background:var(--panel-2);color:var(--text)}.nav-item.on .icon{color:var(--accent)}.nav-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-trail{margin-left:auto;display:inline-flex;font-size:11px;color:var(--muted)}.nav-item.add{color:var(--muted)}.new-set{position:relative;display:block}.new-set .dropdown{position:static;width:auto;margin:4px 0 6px;box-shadow:none;background:var(--panel)}.sb-slot{display:flex;flex-direction:column}.sb-slot:empty{display:none}.sidebar .git{display:block;width:100%;margin:0 0 2px}.sidebar .git-chip{display:flex;align-items:center;gap:8px;width:100%;height:36px;padding:0 10px;border-radius:8px;background:var(--panel);border:1px solid var(--line);font-size:13px;text-align:left}.sidebar .git-panel{width:330px;max-width:calc(100vw - 24px)}.icon{flex:none}.popover-wrap{position:relative;display:inline-flex}.popover-panel{position:fixed;z-index:80;min-width:220px;padding:6px;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 40px var(--shadow)}.switcher-panel{min-width:232px}.menu{display:flex;flex-direction:column;gap:1px;min-width:200px}.menu.wide{min-width:290px}.menu-item{display:flex;align-items:center;gap:9px;width:100%;height:32px;padding:0 10px;border:0;border-radius:7px;background:none;text-align:left;font-size:13.5px}.menu-item:hover{background:var(--panel-2);border-color:transparent}.menu-item.on{color:var(--accent)}.menu-sep{height:1px;margin:4px 2px;background:var(--line)}.menu-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 10px;font-size:13px}.menu-field{display:flex;flex-direction:column;gap:4px;padding:6px 10px;font-size:13px}.menu-check{display:flex;align-items:center;gap:8px;padding:6px 10px;font-size:13px}.menu-note{margin:0;padding:4px 10px 6px}.page-header{flex:none;height:var(--header-h);display:flex;align-items:center;gap:14px;padding:0 20px}.ph-title{display:flex;align-items:baseline;gap:12px;min-width:0}.ph-title h1{margin:0;font-size:17px;font-weight:600;white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}.ph-sub{color:var(--muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ph-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.field{display:flex;align-items:center;gap:8px;height:30px;padding:0 10px;border:1px solid transparent;border-radius:8px;background:var(--panel-2);color:var(--muted)}.field:focus-within{border-color:var(--accent)}.field input{width:100%;padding:0;border:0;outline:0;background:none;color:var(--text)}.search-field{width:240px}.icon-seg button{display:inline-flex;align-items:center;padding:4px 9px}button.with-icon{display:inline-flex;align-items:center;gap:6px;height:30px}.icon-btn{display:inline-grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid transparent;border-radius:8px;background:none;color:var(--muted)}.icon-btn:hover:not(:disabled){background:var(--panel-2);color:var(--text);border-color:transparent}.palette-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#00000080;display:flex;justify-content:center;align-items:flex-start;padding-top:14vh}.palette{width:min(620px,92vw);max-height:64vh;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:0 24px 70px var(--shadow);overflow:hidden}.palette-input{display:flex;align-items:center;gap:10px;padding:0 14px;height:48px;border-bottom:1px solid var(--line);color:var(--muted);flex:none}.palette-input input{flex:1;border:0;outline:0;background:none;color:var(--text);font-size:15px;padding:0}.palette-list{overflow:auto;padding:6px}.palette-group{padding:8px 10px 4px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.palette-item{display:flex;align-items:center;gap:10px;width:100%;height:34px;padding:0 10px;border:0;border-radius:8px;background:none;text-align:left;font-size:14px}.palette-item.active{background:color-mix(in srgb,var(--accent) 16%,var(--panel-2))}.palette-item.active .icon{color:var(--accent)}.palette-label{flex:none;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette-hint{margin-left:auto;color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.palette-empty{padding:18px;color:var(--muted);text-align:center}.ct-body{flex:1;min-height:0;display:flex}.ct-main{flex:1;min-width:0;display:flex;padding:0 20px 14px}.card-type .gallery-pane{border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:var(--stage-bg)}.card-type .splitter-bar{height:14px;border:0;background:none;display:grid;place-items:center}.card-type .splitter-bar:after{position:static;width:44px;height:4px;margin:0;border:0;border-radius:2px;background:var(--line);opacity:1}.card-type .splitter-bar:hover:after,.card-type .splitter-bar.dragging:after,.card-type .splitter-bar:focus-visible:after{background:var(--accent)}.card-type .splitter-bar:hover,.card-type .splitter-bar.dragging,.card-type .splitter-bar:focus-visible{background:none}.card-type .data th{background:var(--bg);border-bottom:1px solid var(--line);font-size:12px;font-weight:500;color:var(--muted)}.card-type .data td{border-bottom:1px solid var(--hair)}.card-type .data tr.selected{background:none}.card-type .data tr.selected td{background:color-mix(in srgb,var(--accent) 12%,transparent)}.card-type .data tr.selected td:first-child{box-shadow:inset 3px 0 var(--accent)}.card-type .detail{flex:none;width:min(400px,38vw);margin:0 12px 12px 0;border:1px solid var(--line);border-radius:16px;background:var(--panel);box-shadow:0 18px 50px var(--shadow)}.card-type .detail-head{background:var(--panel-head)}.ct-main,.ct-main>.splitter,.card-type .splitter-part,.card-type .gallery-pane,.card-type .scaled-frame,.card-type .data-view{min-width:0}.card-type .detail-head{flex-wrap:wrap}.template-page{flex:1;display:flex;flex-direction:column;min-height:0;min-width:0}.template-page .template-view{grid-template-columns:minmax(340px,1fr) minmax(380px,1fr);border-top:1px solid var(--line)}.pane-head{display:flex;align-items:center;gap:8px;height:42px;padding:0 12px;border-bottom:1px solid var(--line);flex:none}.pane-note{padding:6px 12px;flex:none}.chips-pop{min-width:380px;max-width:min(560px,90vw);padding:6px}button.toggled{background:var(--panel-2);border-color:var(--accent);color:var(--accent)}.page-header .primary kbd{opacity:.6;margin-left:2px}.template-page .file-head{background:var(--panel-head);padding:6px 14px;border-bottom:1px solid var(--line)}.template-page .file-tabs{background:none;padding:6px 10px 0;border-bottom:1px solid var(--line);gap:4px}.template-page .file-tabs button{border:0;border-radius:7px 7px 0 0;padding:6px 12px}.template-page .file-tabs button.active{background:var(--panel-2);color:var(--text);box-shadow:inset 0 -2px var(--accent)}.sb-slot .tpl-tree{display:flex;flex-direction:column;gap:1px;margin:1px 0 0}.sb-slot .unit.group{gap:7px;color:var(--text);font-weight:600}.sb-slot .unit.group .icon{color:var(--muted);flex:none}.sb-slot .unit.group.static{cursor:default;margin-top:6px}.sb-slot .unit.group.static:hover{background:none}.sb-slot .unit.group.active .icon{color:var(--accent)}.sb-slot .unit.group:disabled{opacity:.45;cursor:default}.sb-slot .tree-sub{display:flex;flex-direction:column;gap:1px;margin-left:12px}.sb-slot .tree-sub .unit,.sb-slot .tree-sub .tree-add{padding-left:14px}.sb-slot .tree-sub .tree-add-form{padding-left:8px}.sb-slot .tree-children>.unit.group:last-child{margin-top:6px}.sb-slot .nav-item.static{cursor:default}.sb-slot .nav-item.static:hover{background:none}.sb-slot .nav-item:disabled{opacity:.45;cursor:default}.sb-slot .tree-children{display:flex;flex-direction:column;gap:1px;margin:0 0 6px 19px;border-left:1px solid var(--line)}.sb-slot .template-group,.sb-slot .template-group+.template-group{padding:0;border:0}.sb-slot .template-group+.template-group{margin-top:4px}.sb-slot .unit{min-height:28px;padding:4px 8px 4px 12px;border:0;border-radius:7px;font-size:13px;color:var(--muted)}.sb-slot .unit:hover:not(.renaming){background:color-mix(in srgb,var(--text) 6%,transparent)}.sb-slot .unit.active{background:var(--panel);color:var(--text)}.sb-slot .template-group .unit:not(.side){color:var(--text);font-weight:600}.sb-slot .unit.side{padding-left:26px;font-size:13px;font-weight:400;color:var(--muted)}.sb-slot .unit.side.active{color:var(--text)}.sb-slot .unit.side:before{content:none}.sb-slot .unit-sub{display:none}.sb-slot .unit-name{gap:0}.sb-slot .unit .dot{margin-left:auto}.sb-slot .unit.renaming{padding:0 6px 0 8px}.sb-slot .tree-add{display:flex;align-items:center;gap:6px;height:26px;padding:0 8px 0 12px;border:0;border-radius:7px;background:none;color:var(--muted);font-size:12.5px;opacity:.8}.sb-slot .tree-add:hover{background:none;color:var(--accent);opacity:1}.sb-slot .tree-add-form{padding:2px 6px 2px 8px}.sb-slot .tree-add-form .rename-input{width:100%;box-sizing:border-box;height:26px;font-size:13px;background:var(--bg);border:1px dashed var(--accent);border-radius:6px;color:var(--text);padding:0 8px;outline:0}.sb-project.static{cursor:default}.sb-project.static:hover{background:none}.projects{flex:1;overflow:auto;padding:0 20px 24px;max-width:none}.tokens-view{flex:1;overflow:auto;padding:0 20px 24px;max-width:980px}.select-field{gap:6px}.select-field select{border:0;background:none;color:var(--text);padding:0;outline:0}.variables-page{flex:1;display:flex;flex-direction:column;min-height:0}.variables-page .variables-view{flex:1;min-height:0;padding-top:0}.variables-page .var-head{position:static;padding-top:0}:root[data-theme=parchment] .page-header{border-bottom:2px solid var(--accent);margin-bottom:8px}:root[data-theme=parchment] .nav-item.on{box-shadow:0 1px color-mix(in srgb,var(--text) 10%,transparent)}:root[data-theme=slate] .nav-item{border-radius:3px}:root[data-theme=slate] .nav-item.on{background:none;box-shadow:inset 2px 0 var(--accent);border-radius:0}:root[data-theme=slate] .sb-group{letter-spacing:.14em}:root[data-theme=felt] .nav-item{border-radius:999px}:root[data-theme=felt] .nav-item.on{background:var(--accent);color:var(--accent-ink);font-weight:600}:root[data-theme=felt] .nav-item.on .icon,:root[data-theme=felt] .nav-item.on .nav-trail{color:var(--accent-ink)}:root[data-theme=felt] .sidebar{background:linear-gradient(var(--panel-head),var(--panel-deep))}:root[data-theme=paper] .nav-item.on{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);font-weight:600}:root[data-theme=paper] .sidebar{background:var(--panel)}:root[data-theme=paper] .page-header{box-shadow:0 1px 3px color-mix(in srgb,var(--text) 10%,transparent);margin-bottom:8px}.menu-btn,.phone-only,.shell-backdrop{display:none}.shell{height:100%}@supports (height: 100dvh){.shell{height:100dvh}}@media (max-width: 1000px){.shell{grid-template-columns:minmax(0,1fr)}.sidebar{position:fixed;z-index:70;left:0;top:0;bottom:0;width:min(300px,86vw);transform:translate(-102%);transition:transform .2s ease;box-shadow:none}.nav-open .sidebar{transform:none;box-shadow:0 0 40px var(--shadow)}.nav-open .shell-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#00000073}.menu-btn{display:inline-grid;flex:none;margin-left:-8px;color:var(--text)}.sidebar .git-panel{width:min(330px,calc(100vw - 40px))}}@media (max-width: 720px){.phone-only{display:block}.page-header{height:auto;flex-wrap:wrap;row-gap:6px;padding:8px 12px}.ph-title{flex:1;min-width:0;flex-wrap:wrap;row-gap:0}.ph-sub{display:none}.ph-actions{flex-basis:100%;margin-left:0;flex-wrap:wrap;row-gap:6px}.search-field{flex:1 1 100%;width:auto}.popover-panel{max-width:calc(100vw - 24px)}.palette-backdrop{padding-top:8vh}.ct-main{padding:0 12px 10px}.card-type .detail{position:fixed;top:0;right:0;bottom:0;left:0;z-index:65;width:auto;margin:0;border-radius:0;border:0}.card-type .data td:first-child,.card-type .data th:first-child{position:sticky;left:0;z-index:1;background:var(--bg)}.template-page .template-view{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);overflow:hidden}.template-view.show-code .preview-pane,.template-view.show-preview .editor-pane{display:none}.pane-switch{padding:0 12px 8px}.editor-row{flex-direction:column}.editor-row .fields-panel{width:100%;max-height:38%;border-right:0;border-bottom:1px solid var(--line)}.chips-pop{min-width:0;width:calc(100vw - 40px)}.print-view{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(60vh,1fr);overflow:auto;height:auto}.print-settings{border-right:0;border-bottom:1px solid var(--line);overflow:visible}.export-body>*{min-height:0}.tokens-view,.projects,.variables-page .variables-view{padding:0 12px 20px}.tts-view{padding:8px 12px}}@media (pointer: coarse){.nav-item,.menu-item,.palette-item{min-height:42px}.icon-btn{width:40px;height:40px}button.primary,button.with-icon,.field{min-height:38px}.segmented button{min-height:36px}.card-type .splitter-bar{height:24px}}@media (hover: none){.rename-btn{opacity:1}}.print-selection{display:flex;flex-direction:column;gap:6px}.ps-bar{display:flex;align-items:center;gap:10px;color:var(--muted)}.ps-rows{max-height:280px;overflow:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg)}.print-settings .ps-row{flex-direction:row;align-items:center;gap:8px;padding:3px 8px;border-bottom:1px solid var(--line);cursor:pointer}.ps-row:last-child{border-bottom:0}.ps-row .ps-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.ps-row.on .ps-name{color:var(--text)}.print-settings .ps-row input[type=checkbox]{width:auto}.print-settings .ps-row input[type=number]{width:56px}.ps-actions{display:flex;flex-wrap:wrap;gap:6px}.ps-new{display:flex;gap:6px}.ps-new input{flex:1}.collection{flex:1;min-height:0;display:flex;flex-direction:column}.col-body{flex:1;min-height:0;display:flex;gap:12px;padding:0 12px 12px 20px}.col-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.col-toolbar,.col-stats{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.col-toolbar label,.col-stats label{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px}.col-toolbar>input{width:180px}.col-toolbar input[type=number],.col-stats input[type=number]{width:52px}.col-stats{color:var(--muted)}.col-chip{padding:1px 8px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--text)}.col-chip b{margin-left:3px}.col-scroll{flex:1;min-height:0;overflow:auto;border:1px solid var(--line);border-radius:var(--radius-lg, 10px);background:var(--bg);padding:12px}.col-stacks{display:flex;gap:14px;align-items:flex-start;min-width:min-content}.col-stack{width:var(--cw);flex:none}.col-stack>header{display:flex;align-items:baseline;gap:6px;margin-bottom:6px;border-bottom:1px solid var(--line);padding-bottom:4px;position:relative}.col-stack>header strong{font-size:15px}.col-bar{position:absolute;left:0;bottom:-1px;height:3px;width:min(100%,calc(var(--n, 0) * 12%));background:var(--accent);border-radius:2px}.col-stack.empty>header strong{color:var(--muted);font-weight:400}.col-pile{display:flex;flex-direction:column}.col-card{position:relative;display:block;width:var(--cw);aspect-ratio:var(--card-ratio, 63 / 88);padding:0;border:0;background:none;border-radius:6px;cursor:pointer;flex:none;box-shadow:0 1px 4px #00000059}.col-pile .col-card+.col-card{margin-top:var(--pile-gap, calc(var(--cw) * -1.18))}.col-card .card-face{border-radius:6px}.col-card:hover{z-index:2;outline:2px solid var(--accent)}.col-card.on{outline:2px solid var(--accent)}.col-badge{position:absolute;right:6px;bottom:6px;padding:0 8px;border-radius:10px;background:#000000c7;color:#fff;font-size:22px;font-weight:700;line-height:1.3}.col-grid{display:flex;flex-wrap:wrap;gap:12px}.col-hand{border:1px solid var(--line);border-radius:var(--radius-lg, 10px);background:var(--panel);padding:6px 10px 10px}.col-hand-bar{display:flex;align-items:center}.col-hand-cards{display:flex;gap:8px;overflow-x:auto;padding:4px 0}.col-hand-card{flex:none;padding:0;border:0;background:none;cursor:pointer;border-radius:6px;box-shadow:0 1px 4px #00000059}.col-drawer{width:290px;flex:none;display:flex;flex-direction:column;gap:8px;min-height:0;border:1px solid var(--line);border-radius:var(--radius-lg, 10px);background:var(--panel);padding:10px}.col-preview{flex:none}.col-preview .card-face{border-radius:8px}.col-preview-bar{display:flex;align-items:center;gap:6px;margin-top:6px}.col-results{list-style:none;margin:0;padding:0;overflow:auto;flex:1;min-height:0}.col-results li{display:flex;align-items:center;gap:8px;padding:3px 2px;border-bottom:1px solid var(--line)}.col-results li.in .col-rname{font-weight:600}.col-rname{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.col-step{display:inline-flex;align-items:center;gap:4px}.col-step .icon-btn{width:24px;height:24px;padding:0;justify-content:center}.col-n{min-width:18px;text-align:center;font-variant-numeric:tabular-nums}.col-new,.col-menu{display:flex;flex-direction:column;gap:6px;min-width:220px;padding:4px}@media (max-width: 719px){.col-body{flex-direction:column;padding:0 12px 12px;overflow:auto}.col-main{flex:none}.col-scroll{min-height:320px}.col-drawer{width:auto;flex:none;max-height:70vh}.col-toolbar>input{width:100%}}.col-pile .col-badge{top:5px;bottom:auto;right:5px;font-size:15px;line-height:1.25;padding:0 6px}.card-face{display:block;position:relative;overflow:hidden;flex:none}.card-face iframe{position:absolute;left:0;top:0;border:0;transform-origin:0 0;pointer-events:none;background:transparent}.col-results li{cursor:pointer}.col-results li.sel{background:var(--panel-2);box-shadow:inset 3px 0 0 var(--accent)}.col-results li:hover{background:color-mix(in srgb,var(--panel-2) 60%,transparent)}.col-drawer{transition:width .15s ease}.col-drawer.editing{width:430px}.col-drawer.editing .col-preview{display:flex;flex-direction:column;align-items:center}.col-edit{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:4px}.col-edit-bar{display:flex;align-items:center;gap:8px}.col-edit .card-form{padding:0 2px 12px}@media (max-width: 719px){.col-drawer.editing{width:auto}}.clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.25;overflow-wrap:anywhere}.sb-slot .unit-name{min-width:0}.menu-cols{max-height:40vh;overflow:auto}.settings-view{display:flex;flex-direction:column;min-height:0;overflow:auto}.settings-body{padding:0 20px 24px;max-width:900px;display:flex;flex-direction:column;gap:24px}.asset-roots{list-style:none;margin:8px 0;padding:0;display:flex;flex-direction:column;gap:4px}.asset-roots li{display:flex;align-items:center;gap:10px;padding:4px 8px;border:1px solid var(--line);border-radius:8px}.lookup{list-style:none;padding:0;margin:8px 0}.yaml-view{margin:8px 0 0;padding:12px;overflow:auto;max-height:60vh;border:1px solid var(--line);border-radius:8px;background:var(--panel-2);font-size:12px}.resources{position:relative;display:flex;flex-direction:column;min-height:0;flex:1}.res-body{flex:1;display:flex;min-height:0;border-top:1px solid var(--line)}.res-detail{width:300px;flex:none;border-left:1px solid var(--line);padding:14px;overflow:auto;background:var(--panel)}.res-detail h4{margin:10px 0;overflow-wrap:anywhere}.res-detail dl{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;margin:0 0 10px;font-size:13px}.res-detail dt{color:var(--muted)}.res-detail dd{margin:0;overflow-wrap:anywhere}.res-preview{display:grid;place-items:center;min-height:160px;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:8px}.res-preview img{max-width:100%;max-height:260px}.res-drop{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 14%,transparent);border:2px dashed var(--accent);border-radius:12px;pointer-events:none;font-weight:600}
