.tg-app{width:min(1580px,calc(100% - 64px));margin:30px auto 0;font-size:16px;line-height:1.5}.tg-toolbar{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px}.tg-toolbar h1{font-size:28px;letter-spacing:-.03em;margin:0 0 8px}.tg-toolbar p{margin:0;max-width:760px}.tg-local{flex-shrink:0;font-size:14px;color:var(--muted)}.tg-local:before{content:"";display:inline-block;width:7px;height:7px;background:var(--blue);border-radius:50%;margin-right:8px}.tg-preset-bar{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;padding:16px 0;border-block:1px solid var(--line);margin-bottom:24px}.tg-preset-bar>div:first-child{display:flex;flex-direction:column;gap:3px}.tg-preset-bar strong{font-size:14px;font-weight:600}.tg-preset-bar>div>span{color:var(--muted);font-size:13px}.tg-preset-buttons{display:flex;flex-wrap:wrap;gap:8px}.tg-preset-buttons button{display:inline-flex;align-items:center;gap:8px}.tg-preset-dot{width:14px;height:14px;border-radius:50%;border:1px solid #80808060}.tg-app .tg-undo-preset{margin-left:auto;color:var(--muted);border-color:transparent;background:transparent}.tg-atlas-library{margin-top:26px}.tg-atlas-library h3{margin:0;font-size:14px;font-weight:600}.tg-atlas-library .tg-help{margin:6px 0 12px}.tg-library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px}.tg-library-item{min-width:0}.tg-app .tg-library-item button{width:100%;padding:0;overflow:hidden;text-align:left}.tg-library-item img{display:block;width:100%;aspect-ratio:1;object-fit:contain}.tg-library-item button span{display:block;padding:8px;font-size:13px}.tg-library-item>a{display:block;text-align:right;padding-top:5px;font-size:12px;color:var(--muted)}.tg-library-item>a:hover{color:var(--blue)}.tg-workspace{position:relative;display:grid;grid-template-columns:minmax(210px,.85fr) 116px minmax(250px,1fr) 48px minmax(340px,1.4fr);align-items:start}.tg-column{min-width:0;position:relative}.tg-atlases{grid-column:1}.tg-elements{grid-column:3}.tg-result{grid-column:5}.tg-column-heading{height:46px;display:flex;gap:8px;justify-content:space-between;align-items:baseline;color:var(--muted);font-size:13px}.tg-column-heading h2{font-size:16px;color:var(--ink);margin:0;letter-spacing:0}.tg-column-heading h2 span{margin-right:10px;color:var(--muted);font:12px ui-monospace,monospace}.tg-node{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:20px}.tg-node header{position:relative;display:flex;justify-content:space-between;gap:8px;align-items:center;min-height:28px;margin-bottom:10px}.tg-kind{color:var(--muted);font-size:14px}.tg-app button{border:1px solid var(--line);background:var(--panel);border-radius:6px;padding:8px 12px;font-size:14px;line-height:1.4;min-height:36px}.tg-app button:hover:not(:disabled){border-color:var(--blue);background:var(--blue-soft)}.tg-app button:disabled{cursor:not-allowed;opacity:.5}.tg-app button[aria-pressed=true]{color:var(--link);background:var(--blue-soft);border-color:var(--accent-line)}.tg-app .tg-icon{border:0;background:transparent;padding:0;min-width:28px;min-height:28px;font-size:22px;color:var(--muted);flex-shrink:0}.tg-app input:not([type=checkbox],[type=color],[type=range]),.tg-app select{width:100%;min-width:0;border:1px solid var(--line);border-radius:5px;background:var(--paper);color:var(--ink);padding:7px 9px;min-height:36px;font-size:14px}.tg-app .tg-name input{font-size:16px;font-weight:600;background:transparent;border-color:transparent;padding:5px 0;margin-bottom:12px}.tg-app .tg-name input:hover{border-bottom-color:var(--line)}.tg-field{display:flex;flex-direction:column;gap:5px;margin:12px 0;min-width:0;font-size:14px}.tg-field>span{color:var(--muted)}.tg-number{--tg-control-bg: #eef0f4;--tg-control-surface: #f8f9fb;--tg-control-hover: #e9ebf1;--tg-control-rail: #b2b7c3;--tg-control-text: #191c23;--tg-control-muted: #60676f;--tg-control-accent: #2f63e0;--tg-control-accent-soft: rgba(47, 99, 224, .12)}:root[data-theme=dark] .tg-number{--tg-control-bg: #14161c;--tg-control-surface: #1b1e26;--tg-control-hover: #242832;--tg-control-rail: #474d5c;--tg-control-text: #e8eaee;--tg-control-muted: #8d94a2;--tg-control-accent: #5b9bff;--tg-control-accent-soft: rgba(91, 155, 255, .15)}@media(prefers-color-scheme:dark){:root:not([data-theme]) .tg-number{--tg-control-bg: #14161c;--tg-control-surface: #1b1e26;--tg-control-hover: #242832;--tg-control-rail: #474d5c;--tg-control-text: #e8eaee;--tg-control-muted: #8d94a2;--tg-control-accent: #5b9bff;--tg-control-accent-soft: rgba(91, 155, 255, .15)}}.tg-number .field{display:flex;flex-direction:column;gap:4px;min-width:0}.tg-number .field-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 8px;min-height:28px}.tg-number .field-name{color:var(--tg-control-text)}.tg-number .field-value{margin-left:auto;color:var(--tg-control-muted);font:13px ui-monospace,monospace;white-space:nowrap}.tg-number .field-value-editable{display:inline-flex;align-items:center;min-height:28px;padding:2px 4px;border:1px solid transparent;border-radius:4px;cursor:text}.tg-number .field-value-editable:hover{color:var(--tg-control-text);background:var(--tg-control-hover)}.tg-number .field-value-editable:focus-visible{color:var(--tg-control-text);background:var(--tg-control-accent-soft);outline:none;box-shadow:0 0 0 1px var(--tg-control-accent)}.tg-app .tg-number .field-value-input{width:10ch;max-width:100%;margin-left:auto;min-height:28px;height:28px;padding:2px 4px;text-align:right;font:13px ui-monospace,monospace;color:var(--tg-control-text);background:var(--tg-control-surface);border-color:var(--tg-control-accent);outline:none;box-shadow:0 0 0 2px var(--tg-control-accent-soft)}.tg-number input[type=range]{appearance:none;-webkit-appearance:none;width:100%;min-width:0;height:24px;padding:0;margin:0;background:transparent;cursor:pointer}.tg-number input[type=range]:focus-visible{outline:2px solid var(--tg-control-accent);outline-offset:1px}.tg-number input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:var(--tg-control-rail)}.tg-number input[type=range]::-moz-range-track{height:4px;border-radius:2px;background:var(--tg-control-rail)}.tg-number input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:8px;height:18px;margin-top:-7px;border-radius:3px;border:1px solid var(--tg-control-bg);background:var(--tg-control-text);box-shadow:0 1px 2px #0000004d}.tg-number input[type=range]::-moz-range-thumb{width:8px;height:18px;border-radius:3px;border:1px solid var(--tg-control-bg);background:var(--tg-control-text);box-shadow:0 1px 2px #0000004d}.tg-number input[type=range]:active::-webkit-slider-thumb{background:var(--tg-control-accent)}.tg-number input[type=range]:active::-moz-range-thumb{background:var(--tg-control-accent)}.tg-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.tg-check{display:flex;align-items:center;gap:8px;font-size:14px;margin:10px 0}.tg-check input{width:16px;height:16px;margin:0;accent-color:var(--button);flex-shrink:0}.tg-node header .tg-check{margin:0}.tg-fold{border-top:1px solid var(--line);margin-top:14px}.tg-fold summary{padding:13px 0;font-size:14px;cursor:pointer;color:var(--ink)}.tg-fold summary:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.tg-fold>div{padding-bottom:2px}.tg-fold>div>.tg-pair:first-child .tg-field{margin-top:0}.tg-meta,.tg-help{font-size:13px;color:var(--muted)}.tg-help{margin:12px 0 0;line-height:1.65}.tg-atlas-image{border:1px solid var(--line);border-radius:6px;overflow:hidden}.tg-atlas-image svg{display:block;width:100%;max-height:260px}.tg-checker{background-color:#fff;background-image:conic-gradient(#e8ebef 25%,transparent 0 50%,#e8ebef 0 75%,transparent 0);background-size:16px 16px}.tg-app .tg-connect{width:100%;position:relative;text-align:left;margin-top:14px;padding-right:25px}.tg-port{display:block;width:11px;height:11px;background:var(--panel);border:2px solid var(--blue);border-radius:50%}.tg-connect .tg-port{position:absolute;right:-22px;top:calc(50% - 5px)}.tg-selected{border-color:var(--blue);box-shadow:0 0 0 2px var(--blue-soft)}.tg-output-port{position:absolute;right:-22px;top:calc(50% - 5px)}.tg-input-port{position:absolute;left:-22px;top:calc(50% - 5px)}.tg-paths{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.tg-paths path{fill:none;stroke:var(--blue);stroke-width:1.5}.tg-paths .tg-auto-path{stroke:var(--edge);stroke-dasharray:4 4}.tg-paths .tg-disabled-path{opacity:.25}.tg-connection{position:relative;display:flex;align-items:center;gap:8px;min-height:54px;padding:8px;margin:14px 0;border-radius:6px;background:var(--panel-alt)}.tg-source-name{min-width:0;flex:1;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tg-source-name small{display:block;font-size:12px;color:var(--muted)}.tg-edge-label{position:absolute;right:calc(100% + 30px);width:92px;top:50%;transform:translateY(-50%);background:var(--paper);border-radius:5px}.tg-edge-label>span{position:absolute;bottom:calc(100% + 2px);left:6px;background:var(--paper);color:var(--muted);font-size:12px}.tg-app .tg-edge-label input{font-family:ui-monospace,monospace;border-color:var(--accent-line);text-align:center;padding:6px}.tg-app .tg-invalid input{border-color:#c54646}.tg-off .tg-name,.tg-off .tg-source-name{opacity:.5}.tg-app .tg-inlet{width:100%;background:transparent;border-style:dashed;text-align:left;font-size:13px;margin:0 0 4px;color:var(--muted)}.tg-inlet span{margin-right:5px}.tg-app .tg-connecting{background:var(--blue-soft);border-color:var(--blue);color:var(--link)}.tg-app .tg-add{width:100%;border-style:dashed;background:transparent;min-height:46px}.tg-empty{border:1px dashed var(--line);padding:20px;border-radius:10px;font-size:14px}.tg-result-node header .tg-meta{text-align:right;font-size:12px}.tg-modes{display:flex;gap:4px;background:var(--paper);padding:4px;border-radius:8px;margin-bottom:16px}.tg-modes button{flex:1;border-color:transparent;background:transparent;padding-inline:5px}.tg-preview{position:relative;border-radius:6px;border:1px solid var(--line);overflow:hidden;display:grid;place-items:center;min-height:180px}.tg-preview>img{display:block;width:100%;max-height:560px;object-fit:contain}.tg-preview>p{padding:50px 20px;margin:0;color:#35445a;font-size:14px}.tg-tiled{width:100%;max-height:560px;background-repeat:repeat;background-size:50% 50%}.tg-rendering{position:absolute;inset:0;display:flex;gap:12px;align-items:center;justify-content:center;background:var(--glass);color:var(--ink)}.tg-spinner{border:2px solid var(--line);border-top-color:var(--blue);width:18px;height:18px;border-radius:50%;animation:tg-spin 1s linear infinite}@keyframes tg-spin{to{transform:rotate(360deg)}}.tg-preview-tools{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:8px;font:12px ui-monospace,monospace;color:var(--muted)}.tg-preview-tools>div{display:flex;gap:4px}.tg-preview-tools button{font-size:12px;padding:5px 8px;min-height:30px}.tg-state{min-height:36px;padding:12px 0;font-size:13px;color:var(--muted)}.tg-render-actions{display:flex;gap:8px}.tg-render-actions button{flex:1;min-height:42px}.tg-app .tg-primary{color:var(--on-button);background:var(--button);border-color:var(--button)}.tg-app .tg-primary:hover:not(:disabled){background:var(--button-hover);color:var(--on-button)}.tg-seed{display:flex;align-items:end;gap:8px}.tg-seed .tg-field{flex:1}.tg-seed button{flex-shrink:0;margin-bottom:12px}.tg-color{flex-direction:row;align-items:center;justify-content:space-between}.tg-color input{width:70px;height:34px;border:1px solid var(--line);padding:2px;border-radius:5px;background:var(--panel)}.tg-notices>p{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;background:var(--blue-soft);border:1px solid var(--accent-line);border-radius:8px;font-size:14px;color:var(--ink)}.tg-notices .tg-error{border-color:#c54646}.tg-error-inline{color:#c54646;font-size:13px}:root[data-theme=dark] .tg-error-inline{color:#f99}.tg-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media(max-width:1200px){.tg-app{width:calc(100% - 40px)}.tg-workspace{grid-template-columns:minmax(190px,.85fr) 104px minmax(220px,1fr) 36px minmax(300px,1.35fr)}.tg-edge-label{width:82px;right:calc(100% + 26px)}.tg-toolbar{align-items:start;flex-direction:column;gap:10px}}@media(max-width:1000px){.tg-workspace{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.tg-atlases{grid-column:1}.tg-elements{grid-column:2}.tg-result{grid-column:1 / -1}.tg-paths,.tg-port{display:none}.tg-edge-label{position:static;transform:none;width:100px;flex-shrink:0}.tg-edge-label>span{position:static;display:block;padding:0 6px}.tg-connection{flex-wrap:wrap}.tg-preview>img,.tg-tiled{max-height:480px}.tg-result-node{max-width:640px;margin-inline:auto}.tg-limits{text-align:center}}@media(max-width:600px){.tg-app{margin-top:24px}.tg-toolbar h1{font-size:26px}.tg-toolbar p{font-size:15px}.tg-workspace{display:block}.tg-column{margin-bottom:28px}.tg-preview>img,.tg-tiled{max-height:none}.tg-notices>p{align-items:start}.tg-notices button{flex-shrink:0}}@media(prefers-reduced-motion:reduce){.tg-spinner{animation:none}}
