:root{--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-secondary: #7c3aed;--color-success: #16a34a;--color-warning: #d97706;--color-error: #dc2626;--color-info: #0891b2;--color-neutral-50: #fafafa;--color-neutral-100: #f5f5f5;--color-neutral-200: #e5e5e5;--color-neutral-300: #d4d4d4;--color-neutral-400: #a3a3a3;--color-neutral-500: #737373;--color-neutral-600: #525252;--color-neutral-700: #404040;--color-neutral-800: #262626;--color-neutral-900: #171717;--color-bg: var(--color-neutral-50);--color-surface: #ffffff;--color-surface-hover: var(--color-neutral-100);--color-border: var(--color-neutral-200);--color-text: var(--color-neutral-900);--color-text-muted: var(--color-neutral-500);--color-text-on-primary: #ffffff;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--font-family-base: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-mono: "JetBrains Mono", "Fira Code", monospace;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-base: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 30px;--radius-sm: 4px;--radius-md: 8px;--focus-ring: 0 0 0 3px rgba(37, 99, 235, .35)}@media (prefers-color-scheme: dark){:root{--color-primary: #3b82f6;--color-primary-hover: #60a5fa;--color-secondary: #a78bfa;--color-success: #22c55e;--color-warning: #f59e0b;--color-error: #f87171;--color-info: #22d3ee;--color-neutral-50: #171717;--color-neutral-100: #262626;--color-neutral-200: #404040;--color-neutral-300: #525252;--color-neutral-400: #737373;--color-neutral-500: #a3a3a3;--color-neutral-600: #d4d4d4;--color-neutral-700: #e5e5e5;--color-neutral-800: #f5f5f5;--color-neutral-900: #fafafa;--color-bg: #0f172a;--color-surface: #1e293b;--color-surface-hover: #27364c;--color-border: #334155;--color-text: var(--color-neutral-900);--color-text-muted: var(--color-neutral-500);--color-text-on-primary: #ffffff;--focus-ring: 0 0 0 3px rgba(59, 130, 246, .45)}}html,body,#root{height:100%}body{margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif}button{border:1px solid #ddd;background:#fff;border-radius:6px;padding:6px 10px;cursor:pointer}button:hover{background:#f6f6f8}.ts-spin{animation:ts-spin 1s linear infinite}@keyframes ts-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ts-node-label{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;text-align:center;padding:8px 12px;box-sizing:border-box;line-height:1.35}.ts-node-label__text{word-break:break-word;white-space:normal}div.mxRubberband{position:absolute;overflow:hidden;border-style:solid;border-width:1px;border-color:#00f;background:#07f}.mxCellEditor{background:url(data:image/gif;base64,R0lGODlhMAAwAIAAAP///wAAACH5BAEAAAAALAAAAAAwADAAAAIxhI+py+0Po5y02ouz3rz7D4biSJbmiabqyrbuC8fyTNf2jef6zvf+DwwKh8Si8egpAAA7);_background:url(data:image/gif;base64,R0lGODlhMAAwAIAAAP///wAAACH5BAEAAAAALAAAAAAwADAAAAIxhI+py+0Po5y02ouz3rz7D4biSJbmiabqyrbuC8fyTNf2jef6zvf+DwwKh8Si8egpAAA7);border-color:transparent;border-style:solid;display:inline-block;position:absolute;overflow:visible;word-wrap:normal;border-width:0;min-width:1px;resize:none;padding:0;margin:0}.mxPlainTextEditor *{padding:0;margin:0}div.mxWindow{-webkit-box-shadow:3px 3px 12px #C0C0C0;-moz-box-shadow:3px 3px 12px #C0C0C0;box-shadow:3px 3px 12px silver;background:url(data:image/gif;base64,R0lGODlhGgAUAIAAAOzs7PDw8CH5BAAAAAAALAAAAAAaABQAAAIijI+py70Ao5y02lud3lzhD4ZUR5aPiKajyZbqq7YyB9dhAQA7);_background:url(data:image/gif;base64,R0lGODlhGgAUAIAAAOzs7PDw8CH5BAAAAAAALAAAAAAaABQAAAIijI+py70Ao5y02lud3lzhD4ZUR5aPiKajyZbqq7YyB9dhAQA7);border:1px solid #c3c3c3;position:absolute;overflow:hidden;z-index:1}table.mxWindow{border-collapse:collapse;table-layout:fixed;font-family:Arial;font-size:8pt}td.mxWindowTitle{background:url(data:image/gif;base64,R0lGODlhFwAXAMQAANfX18rKyuHh4c7OzsDAwMHBwc/Pz+Li4uTk5NHR0dvb2+jo6O/v79/f3/n5+dnZ2dbW1uPj44yMjNPT0+Dg4N3d3ebm5szMzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAXABcAAAWQICESxWiW5Ck6bOu+MMvMdG3f86LvfO/rlqBwSCwaj8ikUohoOp/QaDNCrVqvWKpgezhsv+AwmEIum89ocmPNbrvf64p8Tq/b5Yq8fs/v5x+AgYKDhIAAh4iJiouHEI6PkJGSjhOVlpeYmZUJnJ2en6CcBqMDpaanqKgXq6ytrq+rAbKztLW2shK5uru8vbkhADs=) repeat-x;_background:url(data:image/gif;base64,R0lGODlhFwAXAMQAANfX18rKyuHh4c7OzsDAwMHBwc/Pz+Li4uTk5NHR0dvb2+jo6O/v79/f3/n5+dnZ2dbW1uPj44yMjNPT0+Dg4N3d3ebm5szMzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAXABcAAAWQICESxWiW5Ck6bOu+MMvMdG3f86LvfO/rlqBwSCwaj8ikUohoOp/QaDNCrVqvWKpgezhsv+AwmEIum89ocmPNbrvf64p8Tq/b5Yq8fs/v5x+AgYKDhIAAh4iJiouHEI6PkJGSjhOVlpeYmZUJnJ2en6CcBqMDpaanqKgXq6ytrq+rAbKztLW2shK5uru8vbkhADs=) repeat-x;text-overflow:ellipsis;white-space:nowrap;text-align:center;font-weight:700;overflow:hidden;height:13px;padding:4px 2px 6px;color:#000}td.mxWindowPane{vertical-align:top;padding:0}div.mxWindowPane{overflow:hidden;position:relative}td.mxWindowPane td{font-family:Arial;font-size:8pt}td.mxWindowPane input,td.mxWindowPane select,td.mxWindowPane textarea,td.mxWindowPane radio{border-color:#8c8c8c;border-style:solid;border-width:1px;font-family:Arial;font-size:8pt;padding:1px}td.mxWindowPane button{background:url(data:image/gif;base64,R0lGODlhCgATALMAAP7+/t7e3vj4+Ojo6OXl5e/v7/n5+fb29vPz8/39/e3t7fHx8e7u7v///wAAAAAAACH5BAAAAAAALAAAAAAKABMAAAQ2MMlJhb0Y6c2X/2AhjiRjnqiirizqMkEsz0Rt30Ou7y8K/ouDcEg0GI9IgHLJbDif0Kh06owAADs=) repeat-x;_background:url(data:image/gif;base64,R0lGODlhCgATALMAAP7+/t7e3vj4+Ojo6OXl5e/v7/n5+fb29vPz8/39/e3t7fHx8e7u7v///wAAAAAAACH5BAAAAAAALAAAAAAKABMAAAQ2MMlJhb0Y6c2X/2AhjiRjnqiirizqMkEsz0Rt30Ou7y8K/ouDcEg0GI9IgHLJbDif0Kh06owAADs=) repeat-x;font-family:Arial;font-size:8pt;padding:2px;float:left}img.mxToolbarItem{margin-right:6px;margin-bottom:6px;border-width:1px}select.mxToolbarCombo{vertical-align:top;border-style:inset;border-width:2px}div.mxToolbarComboContainer{padding:2px}img.mxToolbarMode{margin:2px 4px 4px 2px;border-width:0px}img.mxToolbarModeSelected{margin:0 2px 2px 0;border-width:2px;border-style:inset}div.mxTooltip{-webkit-box-shadow:3px 3px 12px #C0C0C0;-moz-box-shadow:3px 3px 12px #C0C0C0;box-shadow:3px 3px 12px silver;background:#ffc;border-style:solid;border-width:1px;border-color:#000;font-family:Arial;font-size:8pt;position:absolute;cursor:default;padding:4px;color:#000}div.mxPopupMenu{-webkit-box-shadow:3px 3px 12px #C0C0C0;-moz-box-shadow:3px 3px 12px #C0C0C0;box-shadow:3px 3px 12px silver;background:url(data:image/gif;base64,R0lGODlhGgAUAIAAAOzs7PDw8CH5BAAAAAAALAAAAAAaABQAAAIijI+py70Ao5y02lud3lzhD4ZUR5aPiKajyZbqq7YyB9dhAQA7);_background:url(data:image/gif;base64,R0lGODlhGgAUAIAAAOzs7PDw8CH5BAAAAAAALAAAAAAaABQAAAIijI+py70Ao5y02lud3lzhD4ZUR5aPiKajyZbqq7YyB9dhAQA7);position:absolute;border-style:solid;border-width:1px;border-color:#000}table.mxPopupMenu{border-collapse:collapse;margin-top:1px;margin-bottom:1px}tr.mxPopupMenuItem{color:#000;cursor:pointer}tr.mxPopupMenuItemHover{background-color:#006;color:#fff;cursor:pointer}td.mxPopupMenuItem{padding:2px 30px 2px 10px;white-space:nowrap;font-family:Arial;font-size:8pt}td.mxPopupMenuIcon{background-color:#d0d0d0;padding:2px 4px}.mxDisabled{opacity:.2!important;cursor:default!important}.landing__container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:48px 16px;background:#f5f7fb}.landing__card{width:min(420px,100%);padding:32px;border-radius:14px;background:#fff;color:#111827;box-shadow:0 10px 30px #00000014;border:1px solid #e5e7eb;display:flex;flex-direction:column;gap:20px}.landing__card h1{margin:0;font-size:28px;font-weight:700;letter-spacing:.5px}.landing__subtitle{margin:0;font-size:14px;line-height:1.5;color:#6b7280}.landing__provider{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:10px 12px;background:#fff;color:#111827;border:1px solid #e5e7eb;border-radius:10px;cursor:pointer}.landing__provider--google:hover:not(:disabled){background:#f9fafb}.landing__provider svg{display:block}.landing__divider{display:flex;align-items:center;gap:12px;color:#9ca3af;font-size:12px}.landing__divider:before,.landing__divider:after{content:"";height:1px;background:#e5e7eb;flex:1 1 auto}.landing__mode-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.landing__mode-toggle button{border:1px solid #e5e7eb;border-radius:8px;padding:10px 12px;background:#fff;color:inherit;font-weight:600;cursor:pointer;transition:background .2s ease,border-color .2s ease}.landing__mode-toggle button.active,.landing__mode-toggle button:hover:not(:disabled){background:#f3f4f6;border-color:#d1d5db}.landing__mode-toggle button:disabled{cursor:progress;opacity:.7}.landing__form{display:flex;flex-direction:column;gap:16px}.landing__form label{display:flex;flex-direction:column;gap:8px;font-size:13px;letter-spacing:.3px}.landing__form input{border:1px solid #d1d5db;border-radius:10px;padding:12px;background:#fff;color:inherit;font-size:15px}.landing__form input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb40}.landing__submit{margin-top:8px;padding:12px 16px;border-radius:10px;border:none;background:#2563eb;color:#fff;font-weight:600;letter-spacing:.2px;cursor:pointer;transition:background .15s ease,transform .15s ease}.landing__submit:disabled{cursor:progress;opacity:.8}.landing__submit:hover:not(:disabled){background:#1d4ed8;transform:translateY(-1px)}.landing__link{border:none;background:none;color:#2563eb;padding:0;align-self:flex-start;font-size:13px;text-decoration:underline;cursor:pointer}.landing__link:disabled{cursor:progress;opacity:.6}.landing__message{margin-top:4px;font-size:13px;line-height:1.5;color:#111827;background:#f3f4f6;border-radius:10px;padding:12px;border:1px solid #e5e7eb}.landing__footnote{margin:0;font-size:12px;color:#6b7280;line-height:1.6}@media (max-width: 480px){.landing__card{padding:28px 24px}}
