:root{--gray-50:#f9fafb;--gray-100:#f2f4f7;--gray-200:#e4e7ec;--gray-300:#d0d5dd;--gray-400:#98a2b3;--gray-500:#667085;--gray-600:#475467;--gray-700:#344054;--gray-900:#101828;--white:#fff;--secondary-50:#f4f3ff;--secondary-500:#7a5af8;--secondary-600:#6938ef;--secondary-700:#5925dc;--orange-500:#fb6514;--error-500:#f04438;--error-600:#d92d20;--success-500:#12b76a;--white-transparent:#ffffff98;--light-glass:#eeeeee5a;--text:var(--gray-600);--text-h:var(--gray-900);--bg:var(--white);--border:var(--gray-300);--accent:var(--secondary-600);--accent-bg:color-mix(in oklab, var(--secondary-500) 10%, transparent);--accent-border:var(--secondary-500);--shadow-sm:0px 1px 3px 0px #1018280f;--shadow:0px 12px 16px -4px #10182814;--radius:8px;--radius-panel:12px;--gradient-site:linear-gradient(180deg, transparent 0%, color-mix(in oklab, var(--secondary-500) 8%, transparent) 30%, color-mix(in oklab, var(--orange-500) 8%, transparent) 55%, color-mix(in oklab, var(--secondary-500) 8%, transparent) 80%, color-mix(in oklab, var(--secondary-500) 2%, transparent) 100%);--topbar-height:72px;--sans:"Inter", system-ui, "Segoe UI", Roboto, sans-serif;--heading:var(--sans);--mono:ui-monospace, Consolas, monospace;font:16px/150% var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--gray-50:#292929;--gray-100:#424242;--gray-200:#525252;--gray-300:#737373;--gray-400:#a3a3a3;--gray-500:#d6d6d6;--gray-600:#e5e5e5;--gray-700:#f5f5f5;--gray-900:#fcfcfc;--white:#121212;--white-transparent:#12121298;--light-glass:#eeeeee35;--shadow-sm:0px 1px 3px 0px #0000004d;--shadow:0px 12px 16px -4px #0006}}.glass-panel{background-color:var(--white-transparent);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid var(--light-glass);box-shadow:var(--shadow-sm)}.glass-modal{background-color:color-mix(in oklab, var(--white) 45%, transparent);-webkit-backdrop-filter:blur(32px);backdrop-filter:blur(32px);border:1px solid var(--light-glass);box-shadow:var(--shadow)}#root{box-sizing:border-box;flex-direction:column;width:100%;min-height:100svh;display:flex}body{background-color:var(--bg);background-image:var(--gradient-site);background-attachment:fixed;margin:0}h1,h2,h3{font-family:var(--heading);color:var(--text-h);font-weight:600}p{margin:0}.session-screen{height:100vh;color:var(--text-h);text-align:center;justify-content:center;align-items:center;padding:24px;font-size:15px;display:flex}.session-messages{z-index:50;flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:fixed;bottom:64px;right:16px}.session-toast,.session-error{border-radius:var(--radius);max-width:420px;box-shadow:var(--shadow);align-items:center;gap:10px;padding:10px 14px;font-size:14px;font-weight:500;display:flex}.session-toast{background:var(--success-500);color:#fff}.session-error{background:var(--error-600);color:#fff}.session-error a{color:inherit;font-weight:600;text-decoration:underline}.session-error button{color:inherit;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px;display:inline-flex}.session-error button:hover{background:#fff3}.session-banner{top:calc(var(--topbar-height) + 12px);border-radius:var(--radius-panel);color:var(--text-h);z-index:45;padding:8px 16px;font-size:14px;font-weight:500;position:fixed;left:50%;transform:translate(-50%)}.canvas-toolbar{height:calc(var(--topbar-height) - 20px);border-radius:var(--radius-panel);color:var(--text);box-sizing:border-box;z-index:40;justify-content:flex-start;align-items:center;gap:16px;padding:6px 12px;font-size:13px;display:flex;position:fixed;top:12px;left:12px;right:12px;overflow:visible}.canvas-toolbar__settings{margin-left:auto}.zoom-controls{align-items:center;gap:8px;display:flex}.zoom-controls--floating{z-index:10;background:var(--white-transparent);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid var(--light-glass);border-radius:var(--radius);box-shadow:var(--shadow);padding:6px 10px;position:absolute;bottom:12px;right:12px}.zoom-controls button{border:1px solid var(--gray-300);background:var(--bg);width:28px;height:28px;color:var(--text-h);font:inherit;cursor:pointer;border-radius:6px;justify-content:center;align-items:center;font-weight:600;line-height:1;transition:background .15s,border-color .15s;display:flex}.zoom-controls button:hover{border-color:var(--gray-900)}.zoom-controls__value{text-align:center;font-variant-numeric:tabular-nums;min-width:42px}.canvas-popup-editor{border-radius:var(--radius);border:1px solid var(--light-glass);background:color-mix(in oklab, var(--white) 70%, transparent);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);color:var(--text-h);box-shadow:var(--shadow);z-index:10;align-items:center;gap:4px;padding:6px 8px;font-size:13px;display:flex;position:absolute;transform:translate(-50%,-50%)}.canvas-popup-editor input{box-sizing:border-box;border:1px solid var(--gray-300);background:var(--bg);width:60px;height:28px;color:var(--text-h);font:inherit;border-radius:6px;padding:0 6px}.canvas-popup-editor input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.entrance-name{border-left:1px solid var(--gray-200);color:var(--text-h);white-space:nowrap;flex-shrink:0;align-items:center;gap:8px;padding-left:12px;font-weight:600;display:flex}.entrance-name input{box-sizing:border-box;border-radius:var(--radius);border:1px solid var(--gray-300);background:var(--white);width:150px;height:32px;color:var(--text-h);font:inherit;outline:none;padding:0 10px;font-weight:400}.entrance-name input:hover,.entrance-name input:focus-visible{border-color:var(--secondary-500)}.icon-btn{border-radius:var(--radius);border:1px solid var(--gray-300);background:var(--white-transparent);width:36px;height:36px;color:var(--text-h);cursor:pointer;justify-content:center;align-items:center;padding:0;transition:background .15s,border-color .15s,opacity .15s;display:inline-flex;position:relative}.icon-btn svg{width:18px;height:18px}.icon-btn--lg{width:48px;height:48px}.icon-btn--lg svg{width:24px;height:24px}.icon-btn:hover:not(:disabled){border-color:var(--gray-900)}.icon-btn:disabled{opacity:.5;cursor:not-allowed}.icon-btn--primary{background:var(--gray-900);border-color:var(--gray-900);color:var(--white)}.icon-btn--primary:hover:not(:disabled){background:var(--gray-900);opacity:.9}.icon-btn[draggable=true]{cursor:grab}.icon-btn[draggable=true]:active{cursor:grabbing}.icon-btn:after{content:attr(data-tooltip);white-space:nowrap;background:var(--gray-900);color:var(--white);pointer-events:none;opacity:0;z-index:60;border-radius:6px;padding:4px 8px;font-size:12px;font-weight:500;transition:opacity .12s,transform .12s;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(-4px)}.icon-btn:hover:after,.icon-btn:focus-visible:after{opacity:1;transform:translate(-50%)translateY(0)}.icon-btn[data-tooltip-align=start]:after{left:0;transform:translateY(-4px)}.icon-btn[data-tooltip-align=start]:hover:after,.icon-btn[data-tooltip-align=start]:focus-visible:after{transform:translateY(0)}.icon-btn[data-tooltip-align=end]:after{left:auto;right:0;transform:translateY(-4px)}.icon-btn[data-tooltip-align=end]:hover:after,.icon-btn[data-tooltip-align=end]:focus-visible:after{transform:translateY(0)}.icon-btn:disabled:after{content:none}.icon-btn:active:after{display:none}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-slide-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#10182899;justify-content:center;align-items:center;padding:16px;animation:.2s ease-out modal-fade-in;display:flex;position:fixed;inset:0}.modal{border-radius:var(--radius-panel);width:100%;max-width:440px;color:var(--text-h);animation:.25s ease-out modal-slide-in}.modal__header{border-bottom:1px solid var(--light-glass);justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 20px;display:flex}.modal__title{margin:0;font-size:16px;line-height:1.2}.modal__description{color:var(--gray-600);margin-top:4px;font-size:13px}.modal__close{color:var(--text-h);cursor:pointer;background:0 0;border:none;border-radius:6px;margin:-6px;padding:6px;display:inline-flex}.modal__body{flex-direction:column;gap:16px;padding:16px 20px 20px;font-size:14px;display:flex}.modal__actions{justify-content:flex-end;gap:12px;display:flex}.select{position:relative}.select--open{z-index:70}.select__button{border-radius:var(--radius);border:1px solid var(--gray-300);background:var(--white);width:100%;height:32px;color:var(--text-h);font:inherit;cursor:pointer;justify-content:space-between;align-items:center;gap:8px;padding:0 10px;transition:border-color .15s;display:flex}.select__button:hover,.select__button:focus-visible,.select--open .select__button{border-color:var(--secondary-500);outline:none}.select__chevron{color:var(--gray-500);transition:transform .2s}.select--open .select__chevron{color:var(--text-h);transform:rotate(180deg)}.select__list{border-radius:var(--radius);border:1px solid var(--gray-200);background:var(--white);min-width:100%;box-shadow:var(--shadow);box-sizing:border-box;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 6px);left:0}.select__item{width:100%;color:var(--text-h);font:inherit;text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:8px 12px;font-weight:500;display:block}.select__item:hover,.select__item:focus-visible,.select__item--selected{background:var(--gray-100);outline:none}.checkbox{cursor:pointer;white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.checkbox__box{width:18px;height:18px;display:inline-flex;position:relative}.checkbox__box input{appearance:none;border:1px solid var(--gray-300);background:var(--white);cursor:pointer;border-radius:5px;width:18px;height:18px;margin:0;transition:background .15s,border-color .15s}.checkbox__box input:checked{border-color:var(--secondary-500);background:var(--secondary-500)}.checkbox__box input:focus-visible{outline:2px solid var(--secondary-500);outline-offset:2px}.checkbox__tick{color:#fff;pointer-events:none;display:none;position:absolute;inset:2px}.checkbox__box input:checked+.checkbox__tick{display:block}.modal__form{flex-direction:column;gap:16px;display:flex}.field__hint{color:var(--gray-600);font-size:12px;font-weight:400}.element-props-bar{border-left:1px solid var(--border);flex-shrink:0;align-items:center;gap:14px;padding-left:12px;display:flex}.element-props-bar__label{color:var(--text-h);white-space:nowrap;font-weight:600}.element-props-bar__field{white-space:nowrap;align-items:center;gap:6px;font-size:13px;display:flex}.element-props-bar__field input{box-sizing:border-box;border-radius:var(--radius);border:1px solid var(--gray-300);background:var(--bg);width:64px;height:32px;color:var(--text-h);font:inherit;padding:0 8px}.element-props-bar__field input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.element-props-bar__field input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);padding:0}.element-props-bar__rotation{align-items:center;gap:4px;display:flex}.element-props-bar__rotate-btn{border:1px solid var(--gray-300);background:var(--bg);width:28px;height:28px;color:var(--text-h);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:0;display:flex}.element-props-bar__rotate-btn:hover{border-color:var(--gray-900)}.sidebar{border-radius:var(--radius-panel);width:340px;color:var(--text);box-sizing:border-box;flex-direction:column;margin:12px 0 12px 12px;font-size:14px;display:flex;overflow:hidden}.sidebar__content{flex:1;padding:16px;overflow-y:auto}.sidebar__content--chat{min-height:0;overflow:hidden}.sidebar__panel{height:100%}.sidebar__panel[hidden]{display:none}.panel-section{border-bottom:1px solid var(--gray-200);flex-direction:column;gap:10px;margin:16px 0;padding-bottom:16px;display:flex}.panel-section:first-child{margin-top:0}.panel-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.panel-heading{letter-spacing:.04em;text-transform:uppercase;color:var(--gray-500);margin:0;font-size:12px;font-weight:600}.btn{border-radius:var(--radius);border:1px solid var(--gray-500);height:40px;color:var(--text-h);font:inherit;cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:0 16px;font-size:14px;font-weight:600;transition:background .2s,border-color .2s,color .2s,opacity .2s;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--gray-900)}.btn:disabled{color:var(--gray-400);background:var(--gray-200);border-color:var(--gray-200);cursor:not-allowed}.btn--primary{background:var(--gray-900);border-color:var(--gray-900);color:var(--white)}.btn--primary:hover:not(:disabled){opacity:.9}.btn--danger{background:var(--error-600);border-color:var(--error-600);color:#fff}.btn--danger:hover:not(:disabled){opacity:.9;border-color:var(--error-600)}.btn--icon-text{gap:8px}.btn-row{flex-wrap:wrap;gap:8px;display:flex}.field{min-width:0;color:var(--gray-700);flex-direction:column;gap:6px;font-size:13px;font-weight:500;display:flex}.field__input,.algo-select,.tool-select{box-sizing:border-box;border-radius:var(--radius);border:1px solid var(--gray-300);background-color:var(--white);width:100%;min-width:0;height:40px;color:var(--text-h);font:inherit;outline:none;padding:0 12px;font-size:14px;transition:border-color .15s}.field__input:hover,.field__input:focus-visible,.algo-select:hover,.algo-select:focus-visible,.tool-select:hover,.tool-select:focus-visible{border-color:var(--secondary-500)}.algo-select,.tool-select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23667085' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:32px}.metric-row{justify-content:space-between;gap:8px;padding:4px 0;font-size:13px;display:flex}.metric-row__label{color:var(--text)}.metric-row__value{color:var(--text-h);font-weight:500}.error-text{color:var(--error-600);font-size:13px}.placeholder-text{color:var(--text);font-size:13px}.sidebar__tabs{border-radius:var(--radius);background:var(--gray-100);grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;margin:12px 12px 0;padding:4px;display:grid}.sidebar__tab{height:32px;color:var(--gray-600);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;font-size:13px;font-weight:600;transition:background .15s,color .15s}.sidebar__tab:hover{color:var(--text-h)}.sidebar__tab--active{background:var(--white);color:var(--text-h);box-shadow:var(--shadow-sm)}.row-label{color:var(--gray-500);font-size:12px;font-weight:500}.panel-heading--icon{color:var(--text-h);align-items:center;gap:6px;display:flex}.field-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.field--wide{grid-column:1/-1}.assistant{flex-direction:column;gap:12px;height:100%;min-height:0;display:flex}.assistant__list{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex;overflow-y:auto}.assistant__intro{text-align:center;color:var(--secondary-500);flex-direction:column;align-items:center;gap:8px;padding:32px 8px;display:flex}.assistant__intro p{color:var(--text-h);font-size:16px;font-weight:600}.assistant__can{text-align:left;color:var(--gray-500);margin-top:8px;font-size:13px}.assistant__can ul{margin:4px 0 0;padding-left:18px}.assistant__intro span{color:var(--gray-500);font-size:13px}.assistant__bubble{border-radius:var(--radius);background:var(--gray-100);max-width:90%;color:var(--text-h);white-space:pre-wrap;align-self:flex-start;padding:8px 12px;line-height:1.4}.assistant__bubble--user{background:var(--secondary-500);color:var(--white);align-self:flex-end}.assistant__bubble--error{background:var(--white);border:1px solid var(--error-500);color:var(--error-600);flex-direction:column;gap:8px;display:flex}.assistant__bubble--thinking{color:var(--gray-500);font-style:italic}.assistant__answer{flex-direction:column;gap:8px;display:flex}.assistant__card{border:1px solid var(--gray-200);border-radius:var(--radius);background:var(--white);flex-direction:column;gap:4px;padding:8px 10px;display:flex}.assistant__card--applied{border-color:var(--success-500);color:var(--gray-600)}.assistant__card--failed{border-color:var(--error-500)}.assistant__card-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.assistant__card--applied svg{color:var(--success-500);flex-shrink:0}.assistant__card-note{color:var(--gray-600);align-items:center;gap:4px;font-size:12px;display:flex}.assistant__card--failed .assistant__card-note{color:var(--error-600)}.assistant__unsupported{color:var(--gray-500);font-size:12px}.assistant__unsupported ul{margin:4px 0 0;padding-left:18px}.assistant__limit{border-radius:var(--radius);background:var(--secondary-50);color:var(--secondary-700);flex-direction:column;gap:8px;padding:10px 12px;font-size:13px;display:flex}.assistant__form{flex-direction:column;gap:8px;display:flex}.assistant__input{resize:none;height:auto;padding:8px 12px;line-height:1.4}.assistant__footer{justify-content:flex-end;align-items:center;gap:8px;display:flex}.assistant__usage{color:var(--gray-500);font-size:12px}.btn--small{align-self:flex-start;height:32px;padding:0 12px;font-size:13px}
