:root{--text-xs:12px;--text-sm:13px;--text-base:14px;--text-lg:16px;font-size:var(--text-base);color:#243047;font-synthesis:none;--primary:#3479f6;--primary-hover:#2465dd;--muted:#8b96a9;--border:#e7f0ff;--radius:22px;--shadow:0 5px 24px #407cff08,0 2px 6px #407cff05;--space-sm:8px;--space-md:16px;--space-lg:24px;background:#f5f8fd;font-family:Inter,Noto Sans SC,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.45}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline-offset:3px;outline:3px solid #8ab4ff}button{background:0 0;border:0}svg{flex-shrink:0;width:18px;height:18px}h1,h2,h3,p{margin:0}button,a{transition:background .16s,color .16s,box-shadow .16s}button:hover:not(:disabled){filter:brightness(.98)}[hidden]{display:none!important}.app-shell{min-height:100dvh}.topbar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:20;background:#ffffffbd;border-bottom:1px solid #e7edf6;align-items:center;gap:24px;height:64px;padding:0 32px;display:flex;position:sticky;top:0}.brand{letter-spacing:1px;white-space:nowrap;align-items:center;gap:10px;font-size:23px;font-weight:650;display:flex}.brand-mark{color:#fff;background:linear-gradient(140deg,#438cff,#2467e1);border-radius:13px;place-items:center;width:38px;height:38px;display:grid;box-shadow:0 4px 12px #377cf62b}.brand-mark svg{width:25px;height:25px}.brand-en{font-size:var(--text-xs);color:#8a97ab;letter-spacing:2.4px;margin-top:0;display:block}.workspace-name{font-size:var(--text-base);color:#67758b;align-items:center;gap:14px;display:flex}.divider{background:#e7edf5;width:1px;height:22px;display:inline-block}.demo-badge{font-size:var(--text-xs);letter-spacing:1px;color:#8d9cb3;border:1px solid #dfe8f7;border-radius:5px;padding:3px 5px}.top-actions{align-items:center;gap:12px;margin-left:auto;display:flex}.save-status{font-size:var(--text-sm);color:#8e9db1;align-items:center;gap:6px;margin-right:8px;display:flex}.save-status svg{color:#8cadb0;width:15px;height:15px}.icon-btn{color:#8b97ab;border-radius:9px;flex-shrink:0;place-items:center;width:32px;height:32px;display:inline-grid}.icon-btn:hover{color:var(--primary);background:#edf4ff}.settings-btn{font-size:var(--text-base);border-radius:9px;align-items:center;gap:8px;padding:8px;display:flex}.settings-btn:hover{background:#edf4ff}.status-dot,.source-dot{background:#bbc4d1;border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.green,.source-dot{background:#68b19b}.orange{background:#d49c4b}.avatar{width:31px;height:31px;font-size:var(--text-sm);color:#8192ad;background:#edf2fa;border:3px solid #fff;border-radius:50%;place-items:center;margin-left:6px;display:grid;box-shadow:0 0 0 1px #e6ecf4}.workspace-body{min-height:calc(100dvh - 64px);display:flex}.main-panel{background:radial-gradient(at 0 0,#eaf2ff9c,#0000 55%),linear-gradient(#f7faff,#fbfcff);flex-direction:column;flex:1;min-width:0;padding:40px 36px 0;display:flex}.page-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.eyebrow{font-size:var(--text-xs);color:#8fa2bd;letter-spacing:2px;font-weight:600}.page-heading h1{letter-spacing:-.8px;color:#24334b;margin-top:10px;font-size:27px;font-weight:550}.title-dot{color:var(--primary)}.page-heading p{font-size:var(--text-base);color:#98a3b4;letter-spacing:.2px;margin-top:10px}.page-controls{align-items:center;gap:8px;display:flex}.secondary-btn,.primary-btn{font-size:var(--text-base);white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 15px;font-weight:500;display:inline-flex}.secondary-btn{background:#fff;border:1px solid #e1e9f5;box-shadow:0 2px 5px #204e8c03}.secondary-btn:hover{background:#f4f8ff}.primary-btn{color:#fff;background:linear-gradient(125deg,#438cfc,#2f70ee);box-shadow:0 5px 12px #3479f625}.primary-btn:hover{box-shadow:0 6px 16px #3479f63a}.canvas-bar{border-bottom:1px solid #e6edf7;justify-content:space-between;align-items:center;gap:10px;margin-top:38px;padding:0 0 17px;display:flex}.canvas-label{font-size:var(--text-base);align-items:center;gap:8px;font-weight:550;display:flex}.canvas-label>svg{color:#8296b5;width:15px}.canvas-label>span{font-size:var(--text-xs);color:#97a4b8;margin-left:5px;font-weight:400}.canvas-hint{color:#9aa9c0;font-size:var(--text-xs);align-items:center;gap:5px;display:flex}.canvas-hint svg{width:13px}.canvas{flex:1;padding:24px 0 28px}.welcome{text-align:center;max-width:850px;margin:auto;padding-top:18px}.welcome-art{width:250px;height:175px;margin:0 auto 10px;position:relative}.orb{filter:blur(16px);background:#deebff7a;border-radius:50%;width:135px;height:135px;position:absolute;top:18px;left:58px}.orb-two{filter:blur(20px);background:#d7f2ee69;width:70px;height:70px;top:58px;left:140px}.art-center{width:70px;height:70px;color:var(--primary);background:#fff;border:1px solid #dfeaff;border-radius:24px;place-items:center;display:grid;position:absolute;top:45px;left:90px;transform:rotate(-9deg);box-shadow:0 12px 24px #5e8ad51a}.art-center svg{width:30px;height:30px}.art-tile{background:#ffffffc9;border:1px solid #e2ecfb;border-radius:15px;flex-direction:column;gap:7px;padding:13px;display:flex;position:absolute;box-shadow:0 5px 14px #3d6dac07}.tile-todo{color:#91afe0;width:74px;height:78px;top:55px;left:28px;transform:rotate(-14deg)}.tile-todo>span{background:#e5edfa;border-radius:2px;width:32px;height:3px}.tile-chart{color:#7ebeb2;justify-content:center;align-items:center;width:71px;height:56px;top:79px;left:163px;transform:rotate(13deg)}.tile-chart svg{width:34px;height:34px}.art-spark{color:#a7c4f4;font-size:18px;position:absolute;top:21px;left:180px}.welcome-kicker{font-size:var(--text-xs);letter-spacing:3px;color:#90a5c1}.welcome h2{letter-spacing:-.4px;margin-top:14px;font-size:25px;font-weight:550}.welcome p{font-size:var(--text-base);color:#96a4b7;margin-top:14px;line-height:2}.welcome>.primary-btn{gap:10px;margin-top:25px;padding:12px 22px}.welcome>.primary-btn svg{width:15px}.welcome-footnote{color:#aab6c8;font-size:var(--text-xs);margin-top:14px;display:block}.starter-cards{text-align:left;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:43px;display:grid}.starter-cards>button{text-align:left;box-shadow:var(--shadow);background:#ffffffa8;border:1px solid #e5edf9;border-radius:16px;padding:19px 17px;position:relative}.starter-cards>button:hover{border-color:#b8d2ff;transform:translateY(-2px)}.feature-icon{border-radius:11px;place-items:center;width:34px;height:34px;margin-bottom:14px;display:grid}.blue{color:#6395e5;background:#edf4ff}.teal{color:#65a995;background:#eaf7f3}.amber{color:#c5a062;background:#fff5e6}.starter-cards strong{font-size:var(--text-base);font-weight:500;display:block}.starter-cards button>span:not(.feature-icon){font-size:var(--text-xs);color:#9eabbd;margin-top:7px;display:block}.starter-cards button>svg{color:#a9b8ce;width:13px;position:absolute;top:22px;right:14px}.main-footer{font-size:var(--text-xs);color:#a5b1c3;border-top:1px solid #e7edf5;justify-content:space-between;gap:12px;margin-top:16px;padding:17px 0;display:flex}.main-footer>span:first-child{align-items:center;gap:6px;display:flex}.main-footer .status-dot{width:5px;height:5px}.chat-panel{background:#fff;border-left:1px solid #e7edf6;flex-direction:column;flex-shrink:0;width:355px;height:calc(100dvh - 64px);display:flex;position:sticky;top:0}.chat-header{align-items:center;gap:11px;padding:25px 23px 19px;display:flex}.assistant-symbol{width:36px;height:36px;color:var(--primary);background:linear-gradient(135deg,#f4f8ff,#eaf2ff);border:1px solid #e3edff;border-radius:12px;flex-shrink:0;place-items:center;display:grid}.chat-header h2{font-size:var(--text-base);font-weight:550}.chat-header p{font-size:var(--text-xs);color:#9daabd;margin-top:5px}.chat-header>.icon-btn{width:26px;margin-left:auto}.chat-header>.icon-btn svg{width:14px}.model-line{font-size:var(--text-xs);color:#9dabc0;border-bottom:1px solid #edf1f7;justify-content:space-between;align-items:center;margin:0 23px;padding-bottom:17px;display:flex}.model-line>span:first-child{align-items:center;gap:6px;display:flex}.model-line .status-dot{width:5px;height:5px}.local-tag{font-size:var(--text-xs);background:#f6f8fc;border:1px solid #ecf0f6;border-radius:4px;padding:3px 5px}.messages{scroll-behavior:smooth;flex:1;min-height:150px;padding:0 22px 22px;overflow:auto}.chat-welcome{padding-top:33px}.chat-welcome-icon{color:#6999ed;background:#f2f7ff;border-radius:12px;place-items:center;width:37px;height:37px;margin-bottom:15px;display:grid}.chat-welcome h3{font-size:var(--text-base);font-weight:550}.chat-welcome p{font-size:var(--text-sm);color:#94a2b5;margin-top:10px;line-height:1.9}.suggestion-label{color:#b0bacb;font-size:var(--text-xs);margin:27px 0 11px;display:block}.chat-welcome>button{width:100%;font-size:var(--text-xs);text-align:left;color:#7186a6;background:linear-gradient(120deg,#f9fbff,#fff);border:1px solid #eaf0fa;border-radius:10px;align-items:center;gap:8px;margin:8px 0;padding:12px 10px;display:flex}.chat-welcome>button>svg{color:#91abe0;width:13px;height:13px}.chat-welcome>button>svg:last-child{color:#b4c1d6;width:12px;margin-left:auto}.chat-tip{font-size:var(--text-xs);color:#aab6c8;align-items:center;gap:6px;margin-top:22px;display:flex}.chat-tip svg{width:13px;height:13px}.composer-area{background:#fff;padding:12px 18px 17px}.composer{background:linear-gradient(145deg,#fcfdff,#f8faff);border:1px solid #dfe8f8;border-radius:15px;padding:12px;box-shadow:0 3px 12px #315ca708}.composer:focus-within{border-color:#a7c7ff;box-shadow:0 0 0 3px #eaf2ff}.composer textarea{resize:none;color:#475b78;width:100%;font-size:var(--text-sm);background:0 0;border:0;min-height:60px;line-height:1.8;display:block;outline:none!important}.composer textarea::placeholder{color:#a4b2c7}.composer-bottom{justify-content:space-between;align-items:center;margin-top:6px;display:flex}.composer-bottom>span{font-size:var(--text-xs);color:#b2bdce}.send-btn{background:var(--primary);color:#fff;border-radius:9px;place-items:center;width:29px;height:29px;display:grid;box-shadow:0 3px 7px #3479f62b}.send-btn svg{width:15px}.composer-note{text-align:center;font-size:var(--text-xs);color:#b3bdcc;margin-top:11px}.selection-context{font-size:var(--text-xs);color:#7093ca;text-overflow:ellipsis;white-space:nowrap;background:#f1f6ff;border-radius:6px;margin-bottom:8px;padding:6px 8px;overflow:hidden}.activity{font-size:var(--text-xs);color:#7c9bc9;padding:8px 22px;animation:1.5s infinite pulse}.message{align-items:flex-start;gap:8px;margin-top:20px;display:flex}.message-avatar{color:#598de0;background:#edf4ff;border-radius:8px;flex-shrink:0;place-items:center;width:25px;height:25px;display:grid}.message-avatar svg{width:13px}.message-bubble{font-size:var(--text-sm);white-space:pre-wrap;overflow-wrap:anywhere;min-width:0;line-height:1.9}.message.user{justify-content:flex-end}.message.user .message-bubble{color:#486893;background:#edf4ff;border-radius:12px 12px 2px;max-width:92%;padding:10px 12px}.message.assistant .message-bubble{color:#677a97;padding-top:2px}.message-error{color:#b66b5d!important}.retry-chat{margin-top:5px;margin-left:33px}.node-container{min-width:0}.node-container>.module-content{display:contents}.node-grid{grid-template-columns:repeat(var(--columns,2),minmax(0,1fr))}.root-grid{align-items:start}.module-card{border:1px solid var(--border);border-radius:var(--radius);min-width:0;box-shadow:var(--shadow);background:#ffffffed;padding:21px;overflow:hidden}.module-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:18px;display:flex}.module-heading{align-items:center;gap:9px;min-width:0;display:flex}.module-heading strong{font-size:var(--text-base);overflow-wrap:anywhere;font-weight:550}.module-icon{border-radius:9px;flex-shrink:0;place-items:center;width:28px;height:28px;display:grid}.module-icon svg{width:15px;height:15px}.module-actions{display:flex}.module-actions svg{width:13px;height:13px}.module-content{flex-direction:column;gap:12px;display:flex}.node-text{font-size:var(--text-base);overflow-wrap:anywhere;line-height:1.8;display:block}.module-source{font-size:var(--text-xs);color:#a6b2c4;border-top:1px solid #f0f4fa;margin-top:20px;padding-top:15px}.module-source>div{flex-wrap:wrap;align-items:center;gap:5px;line-height:1.8;display:flex}.module-source svg{width:12px;height:12px}.module-source a:hover{color:var(--primary)}.source-time{font-size:var(--text-xs);margin-left:auto}.source-dot{width:4px;height:4px}.record-list{min-width:0}.record-row{border-bottom:1px solid #f0f4fa;align-items:center;gap:10px;padding:11px 0;display:flex}.record-row:first-child{padding-top:3px}.record-row:last-of-type{border-bottom:0}.todo-check{border:1px solid #d7e3f4;border-radius:5px;flex-shrink:0;place-items:center;width:16px;height:16px;padding:0;display:grid}.todo-check svg{width:11px;height:11px}.completed .todo-check{color:#6599ed;background:#edf5ff;border-color:#bed6fc}.completed .record-title{color:#aeb9c9;text-decoration:line-through}.record-main{text-align:left;flex-direction:column;flex:1;align-items:flex-start;gap:5px;min-width:0;padding:0;display:flex}.record-title{font-size:var(--text-sm);color:#5d718f;overflow-wrap:anywhere;line-height:1.6}.record-main:hover .record-title{color:var(--primary)}.record-subtitle{font-size:var(--text-xs);color:#adb8c9}.record-chevron{color:#bcc9dc}.record-chevron svg{width:12px;height:12px}.list-summary{font-size:var(--text-xs);color:#aab7cb;margin-top:14px}.text-btn{font-size:var(--text-sm);color:#6a94d4;align-items:center;gap:5px;padding:4px 0;display:inline-flex}.text-btn:hover{color:var(--primary)}.text-btn svg{width:13px;height:13px}.add-todo{margin-top:10px}.search-form{background:#f8fbff;border:1px solid #e6edf8;border-radius:9px;align-items:center;gap:8px;padding:8px 10px;display:flex}.search-form>svg{color:#9cafc8;width:13px}.search-form input{width:100%;font-size:var(--text-sm);color:#657e9d;background:0 0;border:0;outline:0;min-width:0}.search-form button{color:#87a3ca;place-items:center;padding:0;display:grid}.search-form button svg{width:14px;height:14px}.book-cover{color:#95a6bf;width:30px;height:38px;font-size:var(--text-base);background:linear-gradient(130deg,#e6edf7,#f2f6fc);border-left:3px solid #ccd9ed;border-radius:3px 6px 6px 3px;flex-shrink:0;place-items:center;display:grid}.record-row:nth-child(3n+2) .book-cover{color:#8ba99c;background:linear-gradient(130deg,#e6f1ed,#f3f8f5);border-color:#c6ddd2}.record-row:nth-child(3n+3) .book-cover{color:#b19b73;background:linear-gradient(130deg,#f4ecdd,#fcf7ef);border-color:#e7d7b8}.pagination{font-size:var(--text-xs);color:#9aabc1;justify-content:space-between;align-items:center;margin-top:14px;display:flex}.pagination button{font-size:var(--text-xs)}.chart svg{width:100%;height:auto;display:block}.chart svg text{font-size:var(--text-xs);fill:#a3b1c6}.chart-value{color:#3c587f;letter-spacing:-1px;font-size:30px;font-weight:550}.chart-value span{font-size:var(--text-xs);letter-spacing:0;color:#abb8ca;margin-left:10px;font-weight:400}.chart-empty{height:180px;font-size:var(--text-sm);color:#a9b7cb;background:#f9fbff;border-radius:10px;place-items:center;display:grid}.chart-table summary{font-size:var(--text-xs);cursor:pointer;color:#92a6c4}.chart-table table{width:100%;font-size:var(--text-xs);border-collapse:collapse;margin-top:10px}.chart-table td,.chart-table th{text-align:left;border-bottom:1px solid #edf1f7;padding:5px}.skeleton-lines{gap:20px;padding:15px 0;display:grid}.skeleton-lines>span{background:linear-gradient(90deg,#f0f4fa,#f8fbff,#f0f4fa) 0 0/200%;border-radius:5px;height:12px;animation:1.5s infinite pulse}.skeleton-lines>span:nth-child(2){width:85%}.skeleton-lines>span:nth-child(3){width:65%}.error-text{color:#bd8067;overflow-wrap:anywhere;align-items:center;gap:5px;display:inline-flex}.empty-inline{color:#9bacc4;font-size:var(--text-sm);padding:20px 0;line-height:1.9}.detail-panel{background:#fff;border-left:1px solid #e7edf6;flex-shrink:0;width:300px;height:calc(100dvh - 64px);position:sticky;top:0;overflow-y:auto}.detail-header{font-size:var(--text-base);color:#8799b3;border-bottom:1px solid #eef2f8;justify-content:space-between;align-items:center;padding:20px;display:flex}.detail-content{padding:24px 22px}.detail-kicker{font-size:var(--text-xs);letter-spacing:1.5px;color:#a2b4ce}.detail-content h2{overflow-wrap:anywhere;margin:12px 0 20px;font-size:19px;font-weight:550;line-height:1.6}.field-list{font-size:var(--text-xs);color:#71849e;grid-template-columns:70px minmax(0,1fr);gap:14px;margin:24px 0;line-height:1.8;display:grid}.field-list dt{color:#a7b3c5}.field-list dd{overflow-wrap:anywhere;margin:0}.detail-buttons{flex-direction:column;align-items:stretch;gap:12px;display:flex}.detail-buttons .text-btn{justify-content:center}.tag{color:#7b9bcd;font-size:var(--text-xs);background:#f0f6ff;border-radius:5px;padding:4px 9px;display:inline-block}.tag.success{color:#65a48f;background:#eef8f4}.danger{color:#c58078}.danger-bg{background:#d47f75}.detail-field{border-bottom:1px solid #f1f4f9;padding:15px 0}.field-label{font-size:var(--text-xs);color:#a3b1c6}.detail-field p{font-size:var(--text-sm);overflow-wrap:anywhere;color:#7589a6;margin-top:7px;line-height:1.9}.muted{color:var(--muted);font-size:var(--text-sm)}.toast{z-index:100;color:#fff;font-size:var(--text-base);opacity:0;pointer-events:none;background:#263c5def;border-radius:12px;max-width:min(90vw,650px);padding:12px 20px;line-height:1.7;transition:all .2s;position:fixed;bottom:24px;left:50%;transform:translate(-50%,12px);box-shadow:0 8px 24px #18335d1a}.toast.show{opacity:1;transform:translate(-50%)}dialog{color:#344762;border:1px solid #e1ebfc;border-radius:24px;width:min(540px,100vw - 32px);max-height:85dvh;padding:0;box-shadow:0 24px 100px #284f8826}dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#233e6540}.dialog-head{background:linear-gradient(120deg,#f6faff,#fff);border-bottom:1px solid #edf2fa;justify-content:space-between;align-items:center;padding:25px 27px 18px;display:flex}.dialog-head h2{margin-top:8px;font-size:18px;font-weight:550}.dialog-body{max-height:60dvh;padding:23px 27px;overflow:auto}.dialog-intro{font-size:var(--text-base);color:#8c9db6;margin-bottom:20px;line-height:1.9}.dialog-footer{border-top:1px solid #edf2fa;justify-content:flex-end;gap:10px;padding:16px 27px 22px;display:flex}.provider-card{border:1px solid #e7effb;border-radius:14px;align-items:center;gap:11px;margin-bottom:23px;padding:15px;display:flex}.provider-card strong{font-size:var(--text-base);font-weight:550;display:block}.provider-card span:not(.tag):not(.assistant-symbol){font-size:var(--text-xs);color:#a2b3ca;margin-top:6px;display:block}.provider-card>.tag{white-space:nowrap;margin-left:auto}.form-label{font-size:var(--text-sm);justify-content:space-between;align-items:center;margin:18px 0 9px;font-weight:500;display:flex}.form-label>a{font-size:var(--text-xs);color:#80a1d5;align-items:center;gap:4px;display:flex}.form-label>a svg{width:11px;height:11px}.form-input{width:100%;font-size:var(--text-base);color:#617a9c;resize:vertical;background:#fbfcff;border:1px solid #dee8f7;border-radius:10px;padding:11px 12px;display:block}.form-help{font-size:var(--text-xs);color:#a0b0c7;margin-top:9px;line-height:1.8}.key-note{font-size:var(--text-xs);color:#9bacc4;align-items:center;gap:6px;margin-top:21px;display:flex}.key-note svg{width:14px}.add-options{gap:12px;display:grid}.add-options button{text-align:left;background:#fcfdff;border:1px solid #e6eefb;border-radius:14px;align-items:center;gap:14px;padding:17px;display:flex}.add-options button:hover{border-color:#bad3fc}.add-options .feature-icon{width:42px;height:42px;margin:0}.add-options strong{font-size:var(--text-base);font-weight:500;display:block}.add-options small{font-size:var(--text-xs);color:#a0b2ca;margin-top:7px;display:block}.add-options button>svg{color:#9eb4d4;width:14px;margin-left:auto}.history-list{gap:6px;display:grid}.history-row{border-bottom:1px solid #edf2f9;align-items:center;gap:12px;padding:15px 0;display:flex}.history-icon{color:#a1b8dc;background:#f3f7fe;border-radius:10px;place-items:center;width:30px;height:30px;display:grid}.history-icon svg{width:14px}.history-row>div{flex:1}.history-row strong{font-size:var(--text-base);font-weight:500;display:block}.history-row div>span{font-size:var(--text-xs);color:#a7b6cb;margin-top:7px;display:block}.history-row .secondary-btn{font-size:var(--text-xs);padding:6px 10px}.module-menu-actions{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}.checkbox-label{font-size:var(--text-sm);color:#91a3bc;align-items:center;gap:8px;margin-top:18px;display:flex}.checkbox-label input{accent-color:var(--primary)}.import-summary{font-size:var(--text-base);color:#8ca3c5;background:#f3f7ff;border-radius:12px;padding:20px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.45}}@media (width>=1500px){.main-panel{padding-left:50px;padding-right:50px}.chat-panel{width:385px}.welcome{padding-top:40px}.welcome-art{margin-bottom:22px}.starter-cards{margin-top:60px}.chat-welcome{padding-top:45px}}@media (width>=900px) and (width<=1250px){.main-panel{padding:30px 22px 0}.page-heading h1{font-size:23px}.chat-panel{width:315px}.detail-panel{z-index:6;width:310px;position:fixed;top:64px;right:315px;box-shadow:-10px 0 30px #2e548e13}.canvas-hint{display:none}.starter-cards{gap:9px}.starter-cards>button{padding:16px 12px}.starter-cards strong,.starter-cards button>span:not(.feature-icon){font-size:var(--text-xs)}.welcome h2{font-size:22px}.topbar{padding:0 22px}.save-status{display:none}.top-actions{gap:7px}.root-grid{gap:14px!important}.module-card{padding:16px}.module-heading strong{font-size:var(--text-base)}.module-source{font-size:var(--text-xs)}.module-source .source-time{margin-left:0}}@media (width<=899px){.topbar{gap:15px;height:56px;padding:0 18px}.brand{font-size:20px}.brand-mark{border-radius:10px;width:32px;height:32px}.brand-en{font-size:var(--text-xs)}.workspace-name{display:none}.top-actions{gap:5px}.save-status,.top-actions>.divider,.avatar{display:none}.settings-btn{font-size:var(--text-xs)}.workspace-body{min-height:calc(100dvh - 56px)}.main-panel{padding:26px 20px 0}.page-heading{align-items:flex-start}.page-heading h1{margin-top:8px;font-size:22px;line-height:1.5}.page-heading p{font-size:var(--text-xs)}.page-controls{gap:2px;padding-top:26px}.page-controls>.secondary-btn{font-size:var(--text-xs);padding:8px}.page-controls svg{width:13px}.canvas-bar{margin-top:28px}.canvas-hint{display:none}.canvas{padding-top:18px}.welcome{padding-top:0}.welcome-art{margin-top:-10px}.welcome h2{font-size:22px}.welcome p{font-size:var(--text-sm)}.starter-cards{grid-template-columns:1fr;gap:10px;margin-top:30px}.starter-cards>button{min-height:73px;padding:15px 18px 15px 65px}.starter-cards .feature-icon{position:absolute;top:17px;left:16px}.starter-cards strong{font-size:var(--text-sm)}.starter-cards button>span:not(.feature-icon){font-size:var(--text-xs)}.starter-cards button>svg{top:29px}.chat-panel{border:0;width:100%;height:calc(100dvh - 56px);position:relative}.chat-header{padding:22px}.chat-welcome{max-width:500px;margin:auto}.chat-welcome>button{font-size:var(--text-base)}.messages{padding-left:22px;padding-right:22px}.message-bubble,.composer textarea{font-size:var(--text-base)}.composer-note{font-size:var(--text-xs)}.detail-panel{border:0;width:100%;height:calc(100dvh - 56px);position:relative}.root-grid.node-grid{grid-template-columns:minmax(0,1fr)!important}.module-card{grid-column:auto!important}.record-title{font-size:var(--text-base)}.record-subtitle,.list-summary,.module-source{font-size:var(--text-xs)}.module-heading strong{font-size:var(--text-base)}.main-footer{font-size:var(--text-xs)}.dialog-head{padding:22px}.dialog-body{padding:20px 22px}.dialog-footer{padding:16px 22px}.dialog-head h2{font-size:17px}.dialog-intro{font-size:var(--text-sm)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.settings-resources{border-top:1px solid #e9f0fa;margin-top:24px;padding-top:20px}.settings-resources h3{font-size:var(--text-base);color:#7e91ae;margin-bottom:12px;font-weight:550}.settings-resource{text-align:left;border-radius:12px;align-items:center;gap:12px;width:100%;padding:13px 10px;display:flex}.settings-resource:hover{background:#f4f8ff}.settings-resource .feature-icon{flex-shrink:0;margin:0}.settings-resource strong{font-size:var(--text-base);font-weight:500;display:block}.settings-resource small{font-size:var(--text-xs);color:#9cacc3;margin-top:4px;line-height:1.7;display:block}.settings-resource>svg{color:#9eb4d2;width:15px;margin-left:auto}dialog[data-kind=storage]{width:min(900px,100vw - 32px);max-height:92dvh}dialog[data-kind=storage] .dialog-body{max-height:calc(92dvh - 180px)}.storage-stats{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:22px;display:grid}.storage-stats>div{background:linear-gradient(120deg,#f5f9ff,#fff);border:1px solid #e5edfb;border-radius:14px;padding:16px}.storage-stats span{font-size:var(--text-sm);color:#8fa1bc;display:block}.storage-stats strong{color:#527bad;margin-top:8px;font-size:23px;font-weight:550;display:block}.storage-meta{font-size:var(--text-sm);grid-template-columns:175px minmax(0,1fr);gap:12px;line-height:1.8;display:grid}.storage-meta dt{color:#8b9ebc}.storage-meta dd{overflow-wrap:anywhere;color:#657d9e;margin:0}.storage-meta code,.storage-key,.schema-table code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:var(--text-xs)}.storage-records,.storage-cleanup{border-top:1px solid #e7effb;margin-top:24px;padding-top:24px}.storage-records h3,.storage-cleanup h3{font-size:var(--text-lg);font-weight:550}.storage-records select{text-overflow:ellipsis}.record-explanation{background:#f5f9ff;border-radius:12px;margin-top:17px;padding:16px}.record-explanation>strong{font-size:var(--text-base)}.record-explanation p{font-size:var(--text-sm);color:#8ca0be;margin-top:7px;line-height:1.9}.storage-key{overflow-wrap:anywhere;color:#7796c3;margin-top:10px;display:block}.field-schema,.raw-data,.devtools-guide{margin-top:18px}.field-schema>summary,.raw-data>summary,.devtools-guide>summary{font-size:var(--text-base);cursor:pointer;color:#6988b3;padding:6px 0}.schema-scroll{border:1px solid #e8eff9;border-radius:10px;max-height:280px;margin-top:10px;overflow:auto}.schema-table{border-collapse:collapse;text-align:left;width:100%;font-size:var(--text-xs);line-height:1.8}.schema-table th{color:#94a8c4;background:#f6f9fe;font-weight:500;position:sticky;top:0}.schema-table th,.schema-table td{vertical-align:top;border-bottom:1px solid #edf2fa;padding:8px 12px}.schema-table td:first-child{overflow-wrap:anywhere;max-width:350px}.schema-table td{color:#7b91b1}.raw-data pre{font:var(--text-xs)/1.8 ui-monospace,SFMono-Regular,Consolas,monospace;color:#6780a3;tab-size:2;background:#f5f8fe;border:1px solid #e4edfa;border-radius:12px;max-height:350px;padding:16px;overflow:auto}.devtools-guide{background:#f7faff;border:1px solid #e7effb;border-radius:12px;padding:12px 16px}.devtools-guide li,.devtools-guide p{font-size:var(--text-sm);color:#8da1be;overflow-wrap:anywhere;line-height:2}.devtools-guide ol{padding-left:20px}.devtools-guide a{font-size:var(--text-xs);color:#7095cc;align-items:center;gap:5px;margin-top:10px;display:inline-flex}.devtools-guide svg{width:11px}.devtools-guide kbd{background:#fff;border:1px solid #e2eafa;border-radius:4px;padding:1px 5px}.storage-cleanup>p{font-size:var(--text-sm);color:#9aacc5;margin:10px 0 18px;line-height:1.9}.cleanup-row{border-bottom:1px solid #edf2fa;align-items:center;gap:20px;padding:17px 0;display:flex}.cleanup-row>div{flex:1}.cleanup-row strong{font-size:var(--text-base);font-weight:500;display:block}.cleanup-row span{font-size:var(--text-xs);color:#9aacc5;margin-top:5px;line-height:1.9;display:block}.cleanup-row .secondary-btn{font-size:var(--text-xs)}.cleanup-all strong{color:#bd8076}.clear-confirm-icon{color:#c38a7d;background:#fcf0ed;border-radius:13px;place-items:center;width:44px;height:44px;margin-bottom:18px;display:grid}.clear-warning{font-size:var(--text-sm);color:#bc8d7f;background:#fff7f3;border-radius:10px;padding:12px;line-height:1.9}.storage-cleanup{margin-bottom:10px}@media (width<=600px){.storage-stats{gap:8px}.storage-stats>div{padding:12px 9px}.storage-stats span{font-size:var(--text-xs)}.storage-stats strong{font-size:19px}.storage-meta{grid-template-columns:1fr;gap:3px}.storage-meta dd{margin-bottom:10px}.storage-meta dt{font-size:var(--text-xs)}.cleanup-row{gap:12px}.dialog-footer{flex-wrap:wrap}.schema-table td:first-child{max-width:185px}.settings-resource small{font-size:var(--text-xs)}}.main-panel{background:0 0;padding:0}.workspace-surface{background:radial-gradient(at 0 0,#eaf2ff9c,#0000 55%),linear-gradient(#f7faff,#fbfcff);flex-direction:column;flex:1;width:100%;min-width:0;min-height:calc(100dvh - 64px);padding:40px 36px 0;display:flex}.workspace-surface .header-text{min-width:0}.workspace-surface .page-title{letter-spacing:-.8px;color:#24334b;margin-top:10px;font-size:27px;font-weight:550;line-height:1.5}.workspace-surface .page-description{font-size:var(--text-base);color:#98a3b4;letter-spacing:.2px;margin-top:10px}.workspace-surface .page-controls{flex-shrink:0}.workspace-surface .page-controls>button{align-items:center;display:inline-flex}.workspace-surface .canvas-label>.page-status{font-size:var(--text-xs);color:#97a4b8;margin-left:5px;font-weight:400}.workspace-surface .welcome{width:100%;padding-top:36px}.workspace-surface .welcome-title{letter-spacing:-.4px;margin-top:14px;font-size:25px;font-weight:550;line-height:1.6}.workspace-surface .welcome-description{white-space:pre-line;font-size:var(--text-base);color:#96a4b7;margin-top:14px;line-height:2}.workspace-surface .starter-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.workspace-surface .starter-card{white-space:normal;font-weight:400;display:block}.workspace-surface .canvas{align-items:start;min-width:0}.workspace-surface .main-footer{margin-top:auto}.workspace-surface .node-text{white-space:pre-line}.workspace-surface>.module-content{display:contents}@media (width>=1500px){.workspace-surface{padding-left:50px;padding-right:50px}.workspace-surface .welcome{padding-top:40px}}@media (width>=900px) and (width<=1250px){.workspace-surface{padding:30px 22px 0}.workspace-surface .page-title{font-size:23px}.workspace-surface .starter-cards{gap:9px}.workspace-surface .welcome-title{font-size:22px}}@media (width<=899px){.workspace-surface{min-height:calc(100dvh - 56px);padding:26px 20px 0}.workspace-surface .page-title{margin-top:8px;font-size:22px;line-height:1.5}.workspace-surface .page-description{font-size:var(--text-xs)}.workspace-surface .welcome{padding-top:0}.workspace-surface .welcome-title{font-size:22px}.workspace-surface .welcome-description{font-size:var(--text-sm)}.workspace-surface .starter-cards{grid-template-columns:1fr;gap:10px}.workspace-surface.node-grid,.workspace-surface .node-grid{grid-template-columns:minmax(0,1fr)!important}.workspace-surface .page-controls>button{font-size:var(--text-xs);padding:8px}.workspace-surface .main-footer{padding-top:17px}}.page-heading,.canvas-bar,.page-controls{flex-wrap:wrap}.module-heading{min-width:0}.module-heading strong{line-height:1.6}.module-header{align-items:flex-start}.module-source>div{row-gap:6px}.source-time{white-space:normal}.record-subtitle{line-height:1.7}.record-row{padding-top:13px;padding-bottom:13px}.chat-header p{line-height:1.6}.chat-header{padding-left:20px;padding-right:20px}.chat-header>.icon-btn{width:30px;height:30px}.model-line{line-height:1.6}.messages{min-height:0}.chat-welcome>button{line-height:1.7}.chat-tip{align-items:flex-start;line-height:1.8}.composer textarea{font-size:var(--text-base);min-height:72px}.composer-bottom>span{line-height:1.6}.send-btn{flex-shrink:0;width:34px;height:34px}.composer-note{line-height:1.7}.module-actions .icon-btn{width:28px;height:28px}.chart-dates,.chart-range{font-size:var(--text-xs);color:#7e94b3;justify-content:space-between;gap:12px;line-height:1.8;display:flex}.chart-range{color:#7089ac;margin:8px 0 12px}.chart-table summary{line-height:1.8}.storage-meta{grid-template-columns:190px minmax(0,1fr)}.schema-table code,.raw-data pre{font-size:var(--text-xs)}.form-label,.settings-resource small{line-height:1.8}.main-footer{flex-wrap:wrap;line-height:1.8}.welcome-footnote{line-height:1.8}.pagination{flex-wrap:wrap;gap:8px}.starter-cards button>span:not(.feature-icon){line-height:1.8}@media (width<=1100px){.workspace-name{display:none}.topbar{gap:16px}.top-actions{gap:8px}}@media (width<=899px){.brand-en{display:none}.top-actions{gap:4px}.settings-btn{gap:6px;padding:8px 6px}.workspace-surface .page-heading{align-items:flex-start}.workspace-surface .page-controls{padding-top:0}.main-footer{gap:8px}.storage-meta{grid-template-columns:1fr}.composer-bottom>span{font-size:var(--text-xs)}.starter-cards>button{padding-right:34px}.detail-content h2{line-height:1.7}}.record-title,.message-bubble,.chat-welcome p,.chat-welcome>button,.dialog-intro,.node-text,.search-form input,.detail-field p,.field-list{font-size:var(--text-base)}.record-subtitle,.module-source,.source-time,.form-help,.composer-note,.composer-bottom>span,.list-summary,.chat-tip{color:#7f91aa}dialog[data-kind=protocol]{width:min(900px,100vw - 32px);max-height:92dvh}dialog[data-kind=protocol] .dialog-body{max-height:calc(92dvh - 180px)}.protocol-meta{color:#7e97ba;font-size:var(--text-xs);flex-wrap:wrap;gap:10px;margin:0 0 20px;display:flex}.protocol-meta>span{background:#f1f6ff;border-radius:7px;padding:5px 9px}.protocol-block{background:#fbfdff;border:1px solid #e2ebfb;border-radius:12px;min-width:0;margin:12px 0}.protocol-block>summary{color:#5d7ea9;font-size:var(--text-base);cursor:pointer;padding:14px 16px;line-height:1.8}.protocol-block pre{font:var(--text-xs)/1.9 ui-monospace,SFMono-Regular,Consolas,monospace;color:#627e9f;white-space:pre-wrap;overflow-wrap:anywhere;tab-size:2;background:#f5f8fe;border-top:1px solid #e5edfa;max-height:380px;margin:0;padding:16px;overflow:auto}.protocol-block>.form-help{margin:0;padding:0 16px 14px}.chat-panel,.detail-panel{top:64px}@media (width<=899px){.chat-panel,.detail-panel{top:0}}dialog[open]{flex-direction:column;display:flex}.dialog-head,.dialog-footer{flex-shrink:0}.dialog-body{flex:auto;min-height:0}@media (width<=600px){.dialog-footer>button{flex:auto;justify-content:center}}@media (width>=600px) and (width<=899px){.workspace-surface .node-grid:not([data-columns="1"]){align-content:start;grid-template-columns:repeat(2,minmax(0,1fr))!important}.chat-panel,.detail-panel{padding-inline:max(0px,50% - 360px)}}@media (pointer:coarse){button,a{-webkit-tap-highlight-color:transparent}input,textarea,select{font-size:16px!important}.icon-btn{min-width:36px;min-height:36px}.module-actions .icon-btn{width:32px;height:32px}}@media (orientation:landscape) and (height<=520px){.chat-header,.composer-note,.composer-bottom>span{display:none}.messages{min-height:0}.chat-welcome{padding-top:12px}.composer-area{padding-top:8px;padding-bottom:10px}.composer textarea{min-height:40px}.dialog-head{padding:14px 22px}.dialog-body{padding-top:16px;padding-bottom:16px}.dialog-footer{padding-top:12px;padding-bottom:14px}}.chat-handle{display:none}@media (width<=899px){.workspace-body,.detail-panel{padding-bottom:104px}.toast{bottom:116px}.chat-panel{z-index:25;width:auto;height:auto;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid #e3ebf7;border-radius:18px 18px 0 0;position:fixed;inset:auto 0 0;box-shadow:0 -10px 30px #2e548e1a}.chat-handle{flex-shrink:0;width:100%;height:18px;display:block;position:relative}.chat-handle:before{content:"";background:#d3deef;border-radius:2px;width:36px;height:4px;margin-left:-18px;position:absolute;top:7px;left:50%}.app-shell[data-chat=open] .chat-panel{height:60dvh}.chat-header{padding:2px 22px 10px}.chat-header p{display:none}.chat-header .assistant-symbol{width:30px;height:30px}.app-shell:not([data-chat=open]) .chat-panel>:not(.chat-handle,.composer-area),.app-shell:not([data-chat=open]) .composer-note,.app-shell:not([data-chat=open]) .composer-bottom>span{display:none}.app-shell:not([data-chat=open]) .composer-area{padding-top:0;padding-bottom:12px}.app-shell:not([data-chat=open]) .composer{align-items:center;gap:8px;padding:6px 6px 6px 12px;display:flex}.app-shell:not([data-chat=open]) .composer textarea{white-space:nowrap;height:30px;min-height:0;line-height:30px;overflow:hidden}.app-shell:not([data-chat=open]) .composer-bottom{margin-top:0}}@media (width<=899px) and (orientation:landscape) and (height<=520px){.app-shell[data-chat=open] .chat-panel{height:85dvh}}#canvas.editing .workspace-surface{border-radius:0 0 4px 4px;box-shadow:inset 0 0 0 2px #3479f640}.draft-bar{z-index:15;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f7faffd9;border-bottom:1px solid #d7e5fb;justify-content:flex-end;padding:10px 20px;display:flex;position:sticky;top:64px}.draft-bar-inner{background:#fff;border:1px solid #b9d2fb;border-radius:14px;align-items:center;gap:10px;max-width:100%;padding:6px 6px 6px 14px;display:flex;box-shadow:0 6px 18px #3479f620}.draft-dot{background:#f59e0b;border-radius:50%;flex-shrink:0;width:8px;height:8px;box-shadow:0 0 0 4px #f59e0b26}.draft-label{white-space:nowrap;align-items:baseline;gap:8px;min-width:0;margin-right:4px;display:flex}.draft-label strong{font-size:var(--text-sm);color:#24447a;font-weight:600}.draft-label span{font-size:var(--text-xs);color:#7e91ae}.draft-bar .secondary-btn,.draft-bar .primary-btn{font-size:var(--text-sm);white-space:nowrap;border-radius:10px;align-items:center;gap:6px;margin:0;padding:8px 14px;display:inline-flex}.draft-bar .primary-btn{padding:8px 16px;font-weight:600}.draft-bar .draft-undo{white-space:nowrap;padding:6px}.save-status.unsaved{color:#c27a0c}@media (width<=899px){.draft-bar{padding:8px 12px;top:56px}.draft-bar-inner{gap:6px;width:100%;padding:6px 6px 6px 12px}.draft-label{flex-direction:column;flex:1;gap:0}.draft-bar .draft-undo span{display:none}.draft-bar .secondary-btn,.draft-bar .primary-btn{padding:8px 12px}}.version-list{border-top:1px solid #edf2f9;display:grid}.version-row{border-bottom:1px solid #edf2f9;align-items:center;gap:12px;min-height:52px;padding:8px 4px;display:flex}.version-row.current{background:#f5f9ff;border-radius:10px;padding-inline:10px}.version-no{font-variant-numeric:tabular-nums;color:#4e6283;flex-shrink:0;min-width:52px;font-weight:600}.version-no.major{color:var(--primary)}.version-note{text-overflow:ellipsis;white-space:nowrap;color:#243047;flex:1;min-width:0;overflow:hidden}.version-time{font-size:var(--text-xs);color:#8e9db1;font-variant-numeric:tabular-nums;flex-shrink:0}.version-row .tag{flex-shrink:0;margin-left:0}.version-row .secondary-btn{flex-shrink:0}.version-warning{color:#9a5b05;font-size:var(--text-sm);background:#fff7e8;border-radius:10px;align-items:center;gap:8px;margin:0 0 14px;padding:10px 12px;display:flex}@media (width<=600px){.version-row{gap:8px}.version-time{display:none}}.detail-backdrop{inset:64px var(--chat-w,355px) 0 0;z-index:30;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1d2b4a2e;animation:.16s ease-out fade-in;position:fixed}.detail-back{font-size:var(--text-base);color:#4e6f9f;padding:4px 0}.detail-back svg{width:16px;height:16px}@keyframes fade-in{0%{opacity:0}}@keyframes sheet-in{0%{opacity:0;transform:translateY(40px)}}@keyframes modal-in{0%{opacity:0;margin-top:12px}}@media (width>=900px){.app-shell[data-detail=page] .main-panel{display:none}.detail-panel[data-mode=page]{width:auto;min-width:0;height:auto;min-height:calc(100dvh - 64px);box-shadow:none;background:linear-gradient(#f7faff,#fbfcff);border-left:0;flex:1;position:static;overflow:visible}.detail-panel[data-mode=page] .detail-header{z-index:5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f8fbffe6;padding:16px max(36px,50% - 440px);position:sticky;top:64px}.detail-panel[data-mode=page] .detail-content{max-width:880px;margin:0 auto;padding:32px 36px 60px}.detail-panel[data-mode=page] .detail-content h2{font-size:24px}.detail-panel[data-mode=modal]{z-index:31;top:calc(64px + 7vh);left:calc((100vw - var(--chat-w,355px)) / 2);width:min(560px,calc(100vw - var(--chat-w,355px) - 48px));border:1px solid #e3ebf7;border-radius:18px;height:auto;max-height:calc(100dvh - 64px - 14vh);animation:.18s ease-out modal-in;position:fixed;right:auto;transform:translate(-50%);box-shadow:0 24px 60px #1d3a6b33}}@media (width<=899px){.detail-backdrop{z-index:23;inset:56px 0 0}.app-shell[data-detail=page] .main-panel{display:none}.detail-panel[data-mode=page]{width:100%;height:auto;min-height:calc(100dvh - 56px);position:relative;top:0;overflow:visible}.detail-panel[data-mode=page] .detail-header{z-index:5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;position:sticky;top:56px}.detail-panel[data-mode=sheet]{top:auto;left:0;right:0;bottom:var(--composer-h,92px);width:auto;height:auto;max-height:min(72dvh,calc(100dvh - 56px - var(--composer-h,92px) - 12px));z-index:24;border:1px solid #e3ebf7;border-bottom:0;border-radius:20px 20px 0 0;padding-bottom:12px;transition:transform .22s,opacity .22s;animation:.22s ease-out sheet-in;position:fixed;box-shadow:0 -12px 40px #1d3a6b2e}.app-shell[data-chat=open] .detail-panel[data-mode=sheet]{opacity:0;visibility:hidden;pointer-events:none}.sheet-grip{background:#d5dfee;border-radius:3px;width:40px;height:5px;margin:10px auto 0}.detail-panel[data-mode=sheet] .detail-header{touch-action:none;padding:10px 20px 14px}.detail-panel[data-mode=sheet] .detail-content{padding:18px 20px 8px}}
