@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap";*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}button{color:inherit}.tf-root{font-family:Inter,system-ui,sans-serif;color:var(--text);min-height:100vh;position:relative;overflow-x:hidden;background:var(--bg);transition:background .6s ease,color .4s ease}.tf-disp{font-family:Space Grotesk,system-ui,sans-serif;letter-spacing:-.02em}.tf-mono{font-family:JetBrains Mono,monospace;font-variant-numeric:tabular-nums}.tf-aurora{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden}.tf-blob{position:absolute;border-radius:50%;filter:blur(90px);opacity:var(--blob-o);animation:tf-drift 18s ease-in-out infinite}.tf-b1{width:46vw;height:46vw;left:-8vw;top:-12vw;background:radial-gradient(circle,#6366F1,transparent 65%)}.tf-b2{width:40vw;height:40vw;right:-10vw;top:6vw;background:radial-gradient(circle,#22D3EE,transparent 65%);animation-delay:-6s}.tf-b3{width:38vw;height:38vw;left:24vw;bottom:-16vw;background:radial-gradient(circle,#A855F7,transparent 65%);animation-delay:-11s}@keyframes tf-drift{0%,to{transform:translate(0) scale(1)}50%{transform:translate(3%,-3%) scale(1.08)}}.tf-wrap{position:relative;z-index:1;max-width:1180px;margin:0 auto;padding:22px 20px 90px}.glass{background:var(--glass);border:1px solid var(--border);border-radius:22px;backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%);box-shadow:var(--shadow)}.glass-soft{background:var(--glass2);border:1px solid var(--border);border-radius:16px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.tf-seg{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;padding:5px;border-radius:16px;background:var(--glass2);border:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.tf-seg button{display:flex;align-items:center;gap:7px;border:none;cursor:pointer;padding:9px 14px;border-radius:11px;font-size:13.5px;font-weight:600;color:var(--sub);background:transparent;transition:all .25s ease;white-space:nowrap;font-family:Space Grotesk,sans-serif}.tf-seg button:hover{color:var(--text)}.tf-seg button.on{color:#fff;background:var(--grad);box-shadow:0 6px 18px -6px var(--accent)}.tf-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid var(--border);background:var(--glass2)}.tf-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;border:none;border-radius:13px;font-family:Space Grotesk,sans-serif;font-weight:600;font-size:14px;padding:11px 18px;color:#fff;background:var(--grad);box-shadow:0 10px 26px -10px var(--accent);transition:transform .2s ease,filter .2s ease}.tf-btn:hover{transform:translateY(-1px);filter:brightness(1.07)}.tf-btn:active{transform:translateY(0)}.tf-btn:disabled{cursor:default}.tf-btn.ghost{background:var(--glass2);color:var(--text);border:1px solid var(--border);box-shadow:none}.tf-btn.ghost:hover{border-color:var(--accent)}.tf-icbtn{width:36px;height:36px;border-radius:11px;border:1px solid var(--border);cursor:pointer;background:var(--glass2);color:var(--text);display:grid;place-items:center;transition:.2s}.tf-icbtn:hover{border-color:var(--accent);color:var(--accent)}.tf-icbtn:disabled{opacity:.4;cursor:default}.tf-stop{transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,border-color .25s;cursor:pointer}.tf-stop:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:0 18px 40px -22px var(--accent)}.tf-stop.dragging{opacity:.45}.tf-stop.over{border-color:var(--accent);border-style:dashed}.tf-conn{stroke-dasharray:6 8;animation:tf-dash 1s linear infinite}@keyframes tf-dash{to{stroke-dashoffset:-28}}.tf-route{stroke-dasharray:10 14;animation:tf-flow 24s linear infinite}@keyframes tf-flow{to{stroke-dashoffset:-1000}}.tf-node{cursor:pointer;transition:r .3s ease}.tf-pulse{animation:tf-pulse 2.4s ease-in-out infinite;transform-origin:center}@keyframes tf-pulse{0%,to{opacity:.35}50%{opacity:.9}}.tf-marker{transition:transform 1.1s cubic-bezier(.4,0,.2,1)}.tf-spin{animation:tf-spin .8s linear infinite}@keyframes tf-spin{to{transform:rotate(360deg)}}.tf-panel{position:fixed;top:0;right:0;height:100vh;width:min(440px,100vw);z-index:60;background:var(--panelbg);border-left:1px solid var(--border);-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);box-shadow:-30px 0 80px -30px #0009;animation:tf-slide .35s cubic-bezier(.2,.8,.2,1);overflow-y:auto;outline:none}@keyframes tf-slide{0%{transform:translate(100%)}to{transform:translate(0)}}.tf-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;background:#05081473;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:tf-fade .3s ease}@keyframes tf-fade{0%{opacity:0}to{opacity:1}}.tf-grow{animation:tf-grow .4s cubic-bezier(.2,.8,.2,1)}@keyframes tf-grow{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.tf-shimmer{background:linear-gradient(100deg,var(--glass2) 30%,var(--border) 50%,var(--glass2) 70%);background-size:200% 100%;animation:tf-sh 1.4s ease-in-out infinite;border-radius:8px}@keyframes tf-sh{to{background-position:-200% 0}}.tf-todo{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:11px;cursor:pointer;border:1px solid transparent;transition:.2s}.tf-todo:hover{background:var(--glass2);border-color:var(--border)}input.tf-in,textarea.tf-in,select.tf-in{width:100%;background:var(--glass2);border:1px solid var(--border);border-radius:11px;color:var(--text);padding:10px 12px;font-family:Inter,sans-serif;font-size:13.5px;outline:none;transition:border-color .2s}textarea.tf-in{resize:vertical}input.tf-in:focus,textarea.tf-in:focus,select.tf-in:focus{border-color:var(--accent)}.tf-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;border-radius:999px;background:var(--border);outline:none}.tf-slider::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--grad);cursor:pointer;box-shadow:0 4px 12px -2px var(--accent);border:2px solid var(--bg2)}.tf-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#6366f1;cursor:pointer;border:2px solid #fff}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:var(--border);border-radius:9px}::-webkit-scrollbar-track{background:transparent}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:10px}.tf-flowscroll{overflow-x:auto;padding-bottom:8px}.tf-noeffects .tf-blob{display:none}.tf-noeffects .tf-route,.tf-noeffects .tf-conn,.tf-noeffects .tf-pulse,.tf-noeffects .tf-shimmer{animation:none!important}.tf-noeffects .glass,.tf-noeffects .glass-soft,.tf-noeffects .tf-panel{backdrop-filter:none;-webkit-backdrop-filter:none}@media (max-width: 720px){.tf-wrap{padding:16px 13px 90px}.tf-hidemob{display:none!important}.tf-seg button{padding:8px 10px;font-size:12.5px}}@media (prefers-reduced-motion: reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}select.tf-in{appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;padding-right:32px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%239aa6c8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 11px center;background-size:14px}select.tf-in option{color:#16203a;background:#fff}.tf-tripselect{font-weight:600}.tf-modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:65;background:#05081480;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:tf-fade .25s ease}.tf-modal{position:fixed;z-index:70;top:50%;left:50%;transform:translate(-50%,-50%);width:min(480px,calc(100vw - 28px));max-height:calc(100vh - 48px);overflow-y:auto;padding:22px;border-radius:22px;background:var(--panelbg);border:1px solid var(--border);backdrop-filter:blur(28px) saturate(140%);-webkit-backdrop-filter:blur(28px) saturate(140%);box-shadow:0 40px 90px -40px #000000b3;animation:tf-grow .3s cubic-bezier(.2,.8,.2,1)}.tf-noeffects .tf-modal{backdrop-filter:none;-webkit-backdrop-filter:none}@media print{.tf-aurora,.tf-seg,header,.tf-scrim,.tf-panel,.tf-modal,.tf-modal-scrim,.tf-icbtn,.tf-btn,.tf-slider{display:none!important}.tf-root{background:#fff!important;color:#000!important}.tf-wrap{max-width:100%;padding:0}.glass,.glass-soft{background:#fff!important;border:1px solid #ddd!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;break-inside:avoid;page-break-inside:avoid;margin-bottom:10px}.tf-disp,.tf-mono,p,span,div{color:#000!important}.tf-chip{border:1px solid #ccc!important}a{text-decoration:none}}
