diff --git a/ui/builder.html b/ui/builder.html index a027b46..8ef9ea9 100644 --- a/ui/builder.html +++ b/ui/builder.html @@ -245,6 +245,33 @@ input,textarea,button,select{font-family:inherit} .ftpl-role{font-size:9px;border-radius:3px;padding:1px 5px;font-weight:700;margin-left:2px;letter-spacing:.03em} .ftpl-role.collect{background:var(--accent-bg);color:var(--accent)} .ftpl-role.fixed{background:var(--surface-alt);color:var(--muted);border:1px solid var(--border)} + +/* ── Tab 3: 구조 추출 ────────────────────────── */ +#panel-extractor{flex-direction:column} +.ext-toolbar{background:var(--surface);border-bottom:1px solid var(--border);padding:8px 12px;display:flex;align-items:center;gap:8px;flex-shrink:0} +.ext-main{flex:1;display:flex;overflow:hidden} +.ext-input-panel{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg)} +.ext-config{padding:7px 14px;border-bottom:1px solid var(--border);background:var(--surface-alt);display:flex;flex-wrap:wrap;gap:5px 14px;align-items:center;flex-shrink:0} +.ext-cfg-row{display:flex;align-items:center;gap:6px} +.ext-cfg-lbl{font-size:11px;font-weight:600;color:var(--muted);white-space:nowrap} +.ext-marks-inp{font-size:12px;border:1px solid var(--border);border-radius:5px;padding:3px 7px;outline:none;width:190px;background:var(--surface)} +.ext-marks-inp:focus{border-color:var(--border-focus)} +.ext-textarea-wrap{flex:1;display:flex;flex-direction:column;padding:12px;overflow:hidden} +.ext-input-lbl{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:7px;display:flex;align-items:center;gap:7px} +.ext-preview-panel{width:400px;min-width:260px;display:flex;flex-direction:column;border-left:1px solid var(--border);background:var(--surface)} +.ext-preview-head{display:flex;align-items:center;gap:8px;padding:7px 12px;border-bottom:1px solid var(--border);background:var(--surface-alt);flex-shrink:0} +.ext-tree{flex:1;overflow-y:auto;padding:10px 12px} +.ext-tree::-webkit-scrollbar{width:5px} +.ext-tree::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px} +.ext-actions{padding:10px 12px;border-top:1px solid var(--border);flex-shrink:0} +.ext-apply-btn{width:100%;padding:9px;background:var(--accent);color:#fff;border:none;border-radius:var(--r);font-size:13px;font-weight:600;cursor:pointer;transition:background .15s} +.ext-apply-btn:hover:not(:disabled){background:#3a5ce0} +.ext-apply-btn:disabled{background:var(--border);color:var(--muted);cursor:not-allowed} +.ext-node{margin-bottom:3px} +.ext-node-head{display:flex;align-items:center;gap:5px;padding:5px 8px;background:var(--surface-alt);border:1px solid var(--border);border-radius:5px;border-left-width:3px} +.ext-node-name{font-size:12px;font-weight:500;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} +.ext-node-vals{font-size:10px;color:var(--accent);background:var(--accent-bg);border-radius:3px;padding:1px 5px;white-space:nowrap;flex-shrink:0} +.ext-node-empty{font-size:12px;color:var(--muted);font-style:italic;padding:20px;text-align:center;line-height:1.7} @@ -252,12 +279,13 @@ input,textarea,button,select{font-family:inherit}
🏗️

CTStruct

- v0.6 + v0.7
@@ -353,6 +381,61 @@ input,textarea,button,select{font-family:inherit}
+ +