:root{--bg:var(--tg-theme-secondary-bg-color,#eef2f6);--surface:var(--tg-theme-bg-color,#fff);--surface-2:var(--tg-theme-secondary-bg-color,#f1f5f9);--text:var(--tg-theme-text-color,#0f172a);--hint:var(--tg-theme-hint-color,#64748b);--link:var(--tg-theme-link-color,#2563eb);--accent:var(--tg-theme-button-color,#2563eb);--accent-text:var(--tg-theme-button-text-color,#fff);--border:color-mix(in srgb,var(--text) 14%,transparent);--shadow:0 1px 3px rgba(0,0,0,.12);--shadow-lg:0 8px 28px rgba(0,0,0,.18);--radius:12px}*{margin:0;padding:0;box-sizing:border-box}body,html{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Naskh Arabic,Segoe UI Arabic,Tahoma,sans-serif;background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body,button,html{color:var(--text)}button{font-family:inherit;-webkit-tap-highlight-color:transparent;transition:transform .06s ease,background .12s ease,box-shadow .12s ease}button:active:not(:disabled){transform:scale(.97)}input,textarea{font-family:inherit;background:var(--surface);color:var(--text)}input::placeholder,textarea::placeholder{color:var(--hint)}.center{display:flex;flex-direction:column;gap:14px;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;text-align:center;padding:24px;color:var(--hint);font-size:15px}.spinner{width:34px;height:34px;border-radius:50%;border:3px solid var(--border);border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.header{position:fixed;top:0;left:0;right:0;z-index:5;padding:10px 14px;background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--border);font-weight:600;font-size:14px}.react-flow__controls{box-shadow:var(--shadow)!important;border-radius:10px;overflow:hidden}.react-flow__controls-button{background:var(--surface)!important;border-bottom:1px solid var(--border)!important}.react-flow__controls-button svg{fill:var(--text)}.react-flow__minimap{background:var(--surface)!important;border-radius:10px;box-shadow:var(--shadow)}.react-flow__attribution{display:none}