:root{color:#0b1a33;font-synthesis:none;text-rendering:optimizelegibility;--blue:#2863f3;--blue-soft:#eef4ff;--ink:#0b1a33;--muted:#7890b0;--line:#dce4ef;--surface:#f7f9fc;--green:#10b981;background:#fff;font-family:Inter,PingFang SC,Microsoft YaHei,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;min-width:320px;min-height:100%}body{min-width:320px;min-height:100vh;margin:0;font-size:13px}button,input,select,textarea{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline-offset:2px;outline:2px solid #7aa1ff}[hidden]{display:none!important}.topbar{border-bottom:1px solid var(--line);white-space:nowrap;z-index:20;background:#fff;align-items:center;gap:22px;height:56px;padding:0 26px;display:flex;position:relative}.brand{color:#0b1a33;flex:none;align-items:center;gap:10px;font-size:16px;display:inline-flex}.database-mark{border:2px solid var(--blue);border-top:0;border-radius:0 0 8px 8px;width:18px;height:20px;margin-top:4px;display:inline-block;position:relative}.database-mark:before{content:"";border:2px solid var(--blue);background:#fff;border-radius:50%;width:14px;height:6px;position:absolute;top:-4px;left:0}.database-mark:after{content:"";border-top:1.5px solid var(--blue);box-shadow:0 5px 0 #fff, 0 6px 0 var(--blue);position:absolute;top:4px;left:0;right:0}.primary-nav,.topbar-right{align-items:center;gap:5px;min-width:0;display:flex}.primary-nav{flex:1}.primary-nav>.nav-item,.primary-nav>.nav-menu{flex:none}.topbar-right{gap:10px;margin-left:auto}.nav-item,.nav-menu>summary{color:#263a56;border-radius:5px;justify-content:center;align-items:center;gap:7px;height:36px;padding:0 10px;font-size:13px;display:inline-flex}.nav-item:hover,.nav-menu>summary:hover{background:#f4f7fc}.nav-item.active{color:var(--blue);background:var(--blue-soft);font-weight:600}.nav-item i{color:#586b84;font-size:15px;font-style:normal;line-height:1}.nav-item.active i,.ai-menu>summary span{color:var(--blue)}.nav-icon{padding:0 7px}.project-link{color:#1c3151}.nav-menu{list-style:none;position:relative}.nav-menu>summary{cursor:pointer;list-style:none}.nav-menu>summary::-webkit-details-marker{display:none}.mobile-more{display:none}.ai-menu>summary{color:var(--blue)}.ai-settings-button{border:1px solid var(--line);color:#35506e;background:#fff;border-radius:5px;justify-content:center;align-items:center;gap:5px;height:34px;padding:0 9px;font-size:12px;display:inline-flex}.ai-settings-button:hover{color:var(--blue);background:#f8faff;border-color:#b8c9e1}.ai-settings-button span:first-child{color:var(--blue);font-size:14px}.menu-popover{border:1px solid var(--line);z-index:40;background:#fff;border-radius:6px;min-width:160px;padding:5px;display:grid;position:absolute;top:39px;left:0;box-shadow:0 8px 20px #14243a1c}.menu-popover a{border-radius:4px;padding:9px 11px}.menu-popover a:hover{background:var(--blue-soft);color:var(--blue)}.topbar-right .menu-popover{left:auto;right:0}.button{white-space:nowrap;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 16px;font-size:13px;font-weight:600;display:inline-flex}.button.primary{color:#fff;background:var(--blue);border-color:var(--blue)}.button.primary:hover{background:#1e54d5}.button.secondary{color:#35506e;background:#fff;border-color:#cfd9e8}.button.secondary:hover{background:#f8faff}.button.small{min-height:32px;padding:0 13px}.button.mini{min-height:26px;padding:0 10px;font-size:12px}.button.warn{color:#fff;background:#f29a09;border-color:#f29a09}.button:disabled{color:#a9b8cd;cursor:default;background:#fff;border-color:#e0e7f0}.ai-dialog{width:min(520px,100vw - 28px);max-height:calc(100vh - 32px);color:var(--ink);background:#fff;border:1px solid #dce4ef;border-radius:8px;padding:0;overflow:auto;box-shadow:0 18px 60px #0b1a3340}.ai-dialog::backdrop{background:#0b1a3355}.ai-dialog-form{padding:21px}.ai-dialog-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.ai-dialog-header h2{margin:0;font-size:17px;font-weight:650}.ai-dialog-header p{color:#7186a2;margin:5px 0 0;font-size:11px}.ai-dialog-close{color:#6e829d;background:#fff;border:1px solid #e3e9f1;border-radius:5px;flex:none;width:30px;height:30px;font-size:18px;line-height:1}.ai-dialog-close:hover{color:var(--blue);background:#f6f9ff}.ai-field{color:#405979;gap:7px;font-size:12px;font-weight:600;display:grid}.ai-key-field{border:1px solid #ccd8e7;border-radius:5px;align-items:center;min-width:0;display:flex;overflow:hidden}.ai-key-field:focus-within{border-color:#84a6fa;box-shadow:0 0 0 2px #2863f320}.ai-key-field input{color:#263f60;background:#fff;border:0;outline:0;flex:auto;width:100%;min-width:0;height:40px;padding:0 11px}.ai-key-field button{color:#536b8b;white-space:nowrap;background:#fff;border:0;border-left:1px solid #e3e9f1;flex:none;min-width:52px;height:40px;padding:0 12px;font-size:11px}.ai-key-field button:hover{color:var(--blue);background:#f8faff}.ai-field textarea{resize:vertical;color:#263f60;background:#fff;border:1px solid #ccd8e7;border-radius:5px;width:100%;min-height:122px;padding:10px 11px;font-weight:400;line-height:1.65}.ai-field textarea:focus{border-color:#84a6fa;outline:2px solid #2863f320}.ai-security-note{color:#7186a2;margin:13px 0 17px;font-size:11px;line-height:1.7}.ai-dialog-actions{justify-content:flex-end;align-items:center;gap:7px;display:flex}.ai-dialog-status{color:#6d819c;flex:1;min-width:0;font-size:11px;line-height:1.5}.ai-dialog-status[data-state=error]{color:#b54747}.ai-dialog-status[data-state=success]{color:#16805f}.ai-dialog-actions button:disabled,.ai-dialog-close:disabled{cursor:progress;opacity:.65}.er-sql-dialog{width:min(780px,100vw - 28px)}.er-sql-preview-field{margin-top:16px}.er-sql-output{resize:vertical;tab-size:2;max-height:40vh;font-family:Consolas,Microsoft YaHei,monospace;font-size:12px;min-height:260px!important}.er-sql-dialog .ai-dialog-actions{flex-wrap:wrap}.er-rename-dialog{width:min(420px,100vw - 28px)}.er-rename-field input{color:#263f60;background:#fff;border:1px solid #ccd8e7;border-radius:5px;width:100%;height:40px;padding:0 11px}.er-rename-field input:focus{border-color:#84a6fa;outline:2px solid #2863f320}.er-rename-dialog .ai-dialog-actions{margin-top:20px}.page[hidden]{display:none}.home-page{max-width:1024px;margin:0 auto;padding:55px 0 64px}.hero{text-align:center}.hero h1{letter-spacing:0;color:#07142c;margin:0 0 11px;font-size:46px;font-weight:800;line-height:1.24}.hero h1 span{color:var(--blue)}.hero-copy{color:#3e597c;margin:0 auto;font-size:18px;line-height:1.58}.hero-copy b{color:#0b1a33}.tag-row{justify-content:center;gap:8px;margin:19px 0 35px;display:flex}.tag-row span{color:#647b99;background:#fff;border:1px solid #dce4ef;border-radius:18px;padding:5px 12px;font-size:12px}.hero-actions{justify-content:center;gap:12px;display:flex}.hero-actions .button{height:42px}.attribution{color:#687f9e;margin:21px 0 0;font-size:13px}.attribution a:not(.author-link){color:var(--blue);text-decoration:underline}.author-link{color:#0b1a33;text-underline-offset:3px;font-weight:700;-webkit-text-decoration:underline #f59e0b;text-decoration:underline #f59e0b}.feature-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:47px;display:grid}.feature-card{border:1px solid var(--line);background:#fff;border-radius:8px;min-height:101px;padding:16px}.feature-card h3{margin:0 0 8px;font-size:14px;font-weight:700}.feature-card h3 span{color:var(--blue);margin-right:8px;font-size:16px}.feature-card p{color:#7189a7;margin:0;font-size:12px;line-height:1.7}.tool-index{padding-top:48px}.tool-index h2{margin:0 0 8px;font-size:20px}.tool-index>p{color:#6f86a4;margin:0 0 18px}.tool-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 20px;display:grid}.tool-row{color:#203b60;border-bottom:1px solid #edf1f6;align-items:center;gap:10px;min-height:43px;display:flex}.tool-row:hover{color:var(--blue)}.tool-row i,.tool-row span{color:var(--blue);font-style:normal}.tool-row span{opacity:0;margin-left:auto}.tool-row:hover span{opacity:1}.workspace-toolbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:48px;padding:0 16px;display:flex}.workspace-title,.toolbar-actions{align-items:center;gap:10px;min-width:0;display:flex}.workspace-title strong{font-size:14px;font-weight:600}.title-icon{color:var(--blue);font-size:17px}.count-badge{color:#7186a2;background:#f2f5fa;border-radius:15px;padding:3px 9px;font-size:12px}.toolbar-actions{gap:8px;position:relative}.toolbar-quiet.selected,.toolbar-quiet[aria-pressed=true]{color:var(--blue);background:#f3f7ff}.font-picker{flex:none;position:relative}.font-picker-panel{z-index:16;background:#fff;border:1px solid #dbe4ef;border-radius:7px;gap:14px;width:280px;padding:13px 15px 15px;display:grid;position:absolute;top:calc(100% + 5px);right:-1px;box-shadow:0 8px 24px #20334d20}.font-picker-panel[hidden]{display:none}.font-picker-section{gap:7px;min-width:0;display:grid}.font-picker-label{color:#7186a2;font-size:12px}.font-picker-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 6px;display:grid}.font-picker-options button{color:#263a56;min-width:0;min-height:30px;font:inherit;text-align:left;background:#fff;border:0;border-radius:4px;padding:0 10px}.font-picker-options button:hover{background:#f3f7ff}.font-picker-options button[aria-pressed=true]{color:var(--blue);background:#e1ecff}.font-picker-size select{color:#30465f;width:100%;height:38px;font:inherit;background:#f8fafd;border:1px solid #dbe4ef;border-radius:6px;padding:0 10px}.er-export-menu{z-index:12;background:#fff;border:1px solid #dbe4ef;gap:2px;width:224px;padding:5px;display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 24px #20334d20}.er-export-menu[hidden]{display:none}.er-export-menu button{color:#30465f;text-align:left;cursor:pointer;background:#fff;border:0;gap:3px;padding:9px 10px;display:grid}.er-export-menu button:hover{color:var(--blue);background:#f4f8fd}.er-export-menu small{color:#8293a8;font-size:10px}.toolbar-mode-controls{align-items:center;gap:8px;display:flex}.usecase-role-picker{position:relative}.usecase-role-trigger{align-items:center;gap:3px;display:inline-flex}.usecase-role-trigger [data-usecase-role-chevron]{transition:transform .16s;display:inline-block}.usecase-role-trigger[aria-expanded=true] [data-usecase-role-chevron]{transform:rotate(180deg)}.usecase-role-menu{z-index:8;background:#fff;border:1px solid #e0e6ef;border-radius:6px;width:min(220px,100vw - 24px);padding:8px;position:absolute;top:calc(100% + 5px);right:0;box-shadow:0 8px 24px #1b2b421f}.usecase-role-menu-heading{color:#75849a;justify-content:space-between;align-items:center;padding:2px 4px 7px;font-size:11px;display:flex}.usecase-role-menu-heading button{color:var(--blue);background:0 0;border:0;padding:2px 4px;font-size:11px}.usecase-role-menu-heading button:disabled{color:#aab4c2;cursor:default}.usecase-role-list{gap:2px;max-height:240px;display:grid;overflow:auto}.usecase-role-option{color:#51627a;text-align:left;background:0 0;border:0;border-radius:4px;align-items:center;gap:8px;width:100%;min-height:30px;padding:4px 7px;font-size:12px;display:flex}.usecase-role-option:hover{background:#f5f8fc}.usecase-role-option[aria-pressed=true]{color:#344f73}.usecase-role-option[aria-pressed=false]{color:#9aa6b5}.usecase-role-visibility{color:#7d91aa;text-align:center;width:14px}.toolbar-quiet{color:#9aaac0;background:0 0;border:1px solid #0000;border-radius:5px;height:32px;padding:0 9px}.toolbar-quiet:hover{color:var(--blue);background:#f6f8fc}.editor-workspace{background:#fff;grid-template-columns:minmax(330px,32%) minmax(0,1fr);height:calc(100vh - 140px);min-height:490px;display:grid;overflow:hidden}.editor-workspace[data-layout=table]{grid-template-columns:minmax(340px,32%) minmax(215px,19.2%) minmax(0,1fr)}.editor-workspace[data-layout=er]{grid-template-columns:minmax(330px,28%) minmax(220px,19.2%) minmax(0,1fr)}.editor-pane,.entity-pane,.canvas-pane{border-right:1px solid var(--line);min-width:0;min-height:0}.editor-pane{flex-direction:column;display:flex;overflow:hidden}.editor-actions{white-space:nowrap;border-bottom:1px solid #edf1f5;align-items:center;gap:8px;min-height:51px;padding:0 12px;display:flex;overflow-x:auto}.editor-actions>button:not(.button){color:#6b819d;background:0 0;border:0;padding:4px 0;font-size:12px}.editor-actions>button:hover{color:var(--blue)}.file-action{color:#6b819d;cursor:pointer;padding:4px 0;font-size:12px;position:relative}.file-action input{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.editor-name{color:#58708f;max-width:76px;font-size:12px}.ai-button{color:#fff!important;background:#17243a!important;border-radius:4px!important;padding:4px 10px!important}.editor-help{color:#35577f;background:#f6faff;border-bottom:1px solid #dce7f7;padding:10px 12px;font-size:11px;line-height:1.75}.code-editor{min-height:0;font-family:Consolas,SFMono-Regular,monospace;font-size:var(--editor-font,13px);flex:1;grid-template-columns:39px minmax(0,1fr);padding-top:8px;line-height:1.55;display:grid;overflow:auto}.line-numbers{color:#1573bc;text-align:right;-webkit-user-select:none;user-select:none;align-content:start;padding:0 7px 0 0;display:grid}.line-numbers span{height:21px}.code-editor textarea{resize:none;color:#10223d;width:100%;min-width:0;min-height:100%;font-family:inherit;font-size:inherit;line-height:inherit;white-space:pre;tab-size:2;background:#fff;border:0;border-left:1px solid #e0e6ef;outline:0;padding:0 10px}.code-editor textarea:focus{outline:0}.editor-status{color:#8ba0ba;border-top:1px solid #edf1f5;justify-content:space-between;min-height:24px;padding:4px 10px;font-size:10px;display:flex}.entity-pane{background:#fbfcfe;padding:12px 10px;overflow:auto}.pane-heading{border-bottom:1px solid var(--line);color:#526b8b;grid-template-columns:1fr auto;gap:11px;padding-bottom:10px;display:grid}.pane-heading label{grid-column:1;align-items:center;gap:6px;display:flex}.pane-heading input,.entity-list input{accent-color:var(--blue)}.entity-count{color:#8ba0ba;grid-area:2/2;font-size:11px}.entity-list{gap:10px;padding:11px 0;display:grid}.entity-list label{white-space:nowrap;color:#516b8d;align-items:center;gap:6px;display:flex}.entity-list input{margin:0}.canvas-pane{border-right:0;flex-direction:column;min-height:0;display:flex}.canvas-toolbar{border-bottom:1px solid #edf1f5;flex:none;justify-content:flex-end;align-items:center;gap:8px;height:39px;padding:0 10px;display:flex}.canvas-spacer{flex:1}.canvas-tabs{align-self:stretch;gap:10px;margin-right:auto;display:flex}.canvas-tabs button{color:#7b8fa9;background:#fff;border:0;border-bottom:2px solid #0000;padding:0 12px;font-size:12px}.canvas-tabs button.active{color:var(--blue);border-color:var(--blue)}.canvas-tabs small{color:#9aabc1}.canvas-options{z-index:4;gap:7px;display:grid;position:absolute;top:155px;right:14px}.canvas-options label{min-width:180px;color:var(--blue);background:#fff;border:1px solid #dbe4ef;border-radius:7px;padding:7px 10px}.canvas-options label+label{color:#697f9d}.canvas-options input[type=range]{width:80px;accent-color:var(--blue);vertical-align:middle}.segmented{background:#f8faff;border:1px solid #dfe6f0;border-radius:6px;height:31px;padding:2px;display:flex}.segmented button{color:#657c9a;background:0 0;border:0;border-radius:4px;min-width:40px;padding:0 8px;font-size:11px}.segmented button.selected{color:var(--blue);background:#fff;box-shadow:0 1px 3px #22365320}.canvas-stage{background:#fff;flex:1;place-items:center;min-height:0;display:grid;position:relative;overflow:hidden}.watermark{pointer-events:none;grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(4,1fr);place-items:center;display:grid;position:absolute;inset:0;overflow:hidden}.watermark span{color:#edf0f4;font-size:19px;font-weight:500;line-height:1.8;transform:rotate(-24deg)}.watermark small{font-size:13px;display:block}.canvas-content{z-index:1;place-items:center;width:100%;height:100%;display:grid;position:relative;overflow:auto}.canvas-content:has(.er-svg){place-items:start}.canvas-content:has(.er-svg) .er-svg{margin:auto}.diagram-svg{transform-origin:50%;width:min(100%,900px);height:min(100%,650px);transition:transform .16s;overflow:visible}.diagram-svg text{fill:#183252;text-anchor:middle;stroke:none;font-family:Microsoft YaHei,Arial,sans-serif;font-size:11px}.sequence-svg text{fill:#252a31;font-family:Microsoft YaHei,Arial,sans-serif;font-size:10px}.sequence-svg .sequence-title{font-size:15px;font-weight:700}.sequence-svg .sequence-participant-label{font-size:11px}.sequence-svg .sequence-message-label{font-size:10px}.sequence-svg .sequence-message-self-label,.sequence-svg .sequence-frame-label,.sequence-svg .sequence-frame-condition,.sequence-svg .sequence-branch-label{text-anchor:start}.sequence-svg .sequence-frame-label{font-size:9px;font-weight:700}.sequence-svg .sequence-frame-condition,.sequence-svg .sequence-branch-label{font-size:8px}.architecture-svg .architecture-layer-label{text-anchor:start;font-size:12px;font-weight:700}.architecture-svg .architecture-component-title{font-size:9px;font-weight:700}.architecture-svg .architecture-component-detail{font-size:7px}.architecture-component{cursor:move}.architecture-component.selected rect,.architecture-component:focus rect{stroke:var(--blue);stroke-width:2px}.architecture-export-menu{min-width:220px}.toolbar-mode-controls label{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.diagram-node{fill:#fff;stroke:#666;stroke-width:1px;cursor:move}.diagram-node:focus{stroke:var(--blue);stroke-width:2px;outline:none}.diagram-node.selected rect,.diagram-node.selected path{stroke:var(--blue);stroke-width:2px}.edge-labels text{fill:#687f9b;font-size:10px}.module-svg{width:min(100%,980px)}.module-svg text{fill:#444;font-family:Microsoft YaHei,PingFang SC,Arial,sans-serif;font-size:17px;font-weight:400}.module-node rect,.module-leaf rect{fill:#fff;stroke:#666;stroke-width:1px}.module-leaf text{writing-mode:vertical-rl;font-size:16px}.usecase-svg{width:min(100%,850px)}.usecase-svg text{font-size:10px}.usecase-shape ellipse{fill:#fff;stroke:#666;stroke-width:1px}.er-svg{width:min(100%,1000px);height:min(100%,660px)}.er-svg text{font-size:9px}.er-entities rect{fill:#fff;stroke:#777}.er-entities text{font-size:11px}.er-relations ellipse{fill:#fff;stroke:#777}.er-entity text{fill:#183252;font-size:12px}.er-entity,.er-relation{cursor:move;touch-action:none}.er-relation:focus path,.er-relation.selected path{stroke:var(--blue);stroke-width:2px}.er-attribute ellipse{fill:#fff;stroke:#777}.er-attribute text,.er-relation text{fill:#183252;font-size:10px}.er-relation .er-cardinality{fill:#293e58;font-size:11px}.generated-diagram{justify-content:center;align-items:center;gap:24px;width:min(760px,100%);display:flex}.generic-node{color:#223b5b;text-align:center;background:#fff;border:1px solid #556a81;place-items:center;min-width:135px;min-height:72px;padding:12px;display:grid;position:relative}.generic-node span{color:#506884;font-size:22px;position:absolute;right:-23px}.zoom-control{z-index:4;justify-items:center;gap:3px;display:grid;position:absolute;bottom:46px;left:18px}.zoom-control button{color:#526a88;background:#fff;border:1px solid #dce4ef;border-radius:5px;width:28px;height:28px;box-shadow:0 1px 3px #12243a10}.zoom-control span{color:#6f86a4;text-align:center;background:#fff;border-radius:4px;min-width:40px;padding:3px 4px;font-size:10px}.canvas-tip{color:#869ab4;background:#ffffffed;border:1px solid #e3e9f1;border-radius:6px;padding:5px 11px;font-size:10px;position:absolute;bottom:10px;right:12px}.table-preview{min-width:0;padding:25px 32px;overflow:auto}.document-title{text-align:center;margin:7px 0 31px}.document-title h1{margin:0 0 7px;font-size:23px}.document-title p{color:#8093ad;margin:0}.table-empty{color:#8093ad;text-align:center;padding:28px 12px}.data-table{min-width:530px;margin:0 0 30px}.data-table h2{margin:0 0 12px;font-size:16px}.data-table table{border-collapse:collapse;text-align:left;width:100%;font-family:Consolas,monospace;font-size:12px}.data-table th{white-space:nowrap;border-block:2px solid #111;padding:9px 8px;font-family:Microsoft YaHei,sans-serif}.data-table td{white-space:nowrap;padding:10px 8px}.data-table tbody tr:last-child{border-bottom:2px solid #111}.type-value{color:#0646d5}.site-footer{z-index:15;border-top:1px solid var(--line);color:#8196b2;white-space:nowrap;background:#fbfcfe;justify-content:space-between;align-items:center;gap:12px;height:36px;padding:0 16px;font-size:10px;display:flex;position:fixed;bottom:0;left:0;right:0}.footer-left,.footer-right{align-items:center;gap:11px;min-width:0;display:flex}.footer-left>a:not(:first-child){border-left:1px solid #d5dfeb;padding-left:9px}.footer-right a{color:#7186a2}.footer-right strong{color:#14233a;text-decoration:underline}.footer-pill{color:#526c8d;background:#fff;border:1px solid #dbe4ef;border-radius:14px;height:23px;padding:0 9px;font-size:10px}.footer-pill.green{color:#0e9f71;background:#f2fff9;border-color:#a6ead0}.footer-meta{border-left:1px solid #d5dfeb;padding-left:10px}.toast{z-index:60;color:#fff;opacity:0;pointer-events:none;white-space:nowrap;background:#183252;border-radius:6px;padding:10px 15px;transition:opacity .16s,transform .16s;position:fixed;bottom:54px;left:50%;transform:translate(-50%,8px)}.toast.visible{opacity:1;transform:translate(-50%)}.toast:empty{display:none}.pricing-page{text-align:center;background:#f7f9fc;min-height:calc(100vh - 92px);padding:48px 24px 55px}.pricing-kicker{color:var(--blue);background:#f3f7ff;border:1px solid #bdd1ff;border-radius:16px;margin-bottom:14px;padding:5px 13px;font-size:12px;display:inline-block}.pricing-page>h1{margin:0 0 26px;font-size:34px}.plans{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:19px;max-width:1024px;margin:0 auto;display:grid}.plan-card{text-align:left;background:#fff;border:1px solid #dce4ef;border-radius:8px;flex-direction:column;min-height:451px;padding:25px 24px 23px;display:flex;position:relative;box-shadow:0 1px 3px #243a5610}.plan-card.violet{background:#fdfbff;border-color:#ddd0ff}.plan-card.blue{border:1.5px solid var(--blue);box-shadow:0 0 0 3px #2863f31a}.plan-card.orange{background:#fffdf7;border-color:#ffd067}.plan-badge{color:#fff;background:var(--blue);white-space:nowrap;border-radius:13px;padding:4px 12px;font-size:11px;font-weight:600;position:absolute;top:-12px;left:50%;transform:translate(-50%)}.violet .plan-badge,.violet .plan-cta{background:#783bf0}.orange .plan-badge,.orange .plan-cta{background:#f59e0b}.plan-card h2{margin:0 0 20px;font-size:17px}.plan-price{align-items:baseline;gap:5px;display:flex}.plan-price strong{font-size:30px}.plan-price span{color:#7389a7}.old-price{color:#91a3bb;margin:3px 0 15px;font-size:12px}.plan-card ul{color:#506b8d;gap:13px;margin:0 0 22px;padding:0;line-height:1.5;list-style:none;display:grid}.plan-card li:before{content:"✓";color:var(--green);margin-right:9px}.plan-cta{color:#fff;background:var(--blue);border:0;border-radius:5px;width:100%;height:38px;margin-top:auto;font-weight:600}.pricing-note{color:#6c829f;margin:24px auto 0}.pricing-note a{color:#0aa678;text-decoration:underline}.login-page{background:#f7f9fc;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:64px 18px 55px;display:flex}.login-brand{color:#0b1a33;align-items:center;gap:10px;margin:0 0 34px;font-size:19px;font-weight:700;display:flex}.login-card{border:1px solid var(--line);background:#fff;border-radius:8px;width:min(384px,100%);padding:25px 24px 24px;box-shadow:0 1px 3px #263b5510}.login-card h1{margin:0 0 5px;font-size:18px}.login-card>p{color:#6e85a4;margin:0 0 22px;font-size:12px}.login-card label{color:#516b8c;margin:12px 0;font-size:12px;display:block}.email-input,.code-input{border:1px solid #d6dfeb;border-radius:6px;align-items:center;gap:7px;height:39px;margin-top:5px;display:flex;overflow:hidden}.email-input>span,.code-input>span{color:#849ab6;padding-left:12px}.email-input input,.code-input input{color:#213b5e;border:0;outline:0;flex:1;min-width:0;height:100%}.email-input select{color:#35506f;background:#fff;border:0;border-left:1px solid #e2e8f0;width:100px;height:100%;padding:0 6px}.code-input button{color:#284668;white-space:nowrap;background:#fff;border:0;border-left:1px solid #dfe6ef;height:100%;padding:0 12px;font-size:11px}.login-submit{width:100%;margin-top:2px}.login-card small{color:#8ca0ba;margin-top:18px;font-size:10px;display:block}.login-card small a{color:var(--blue)}.back-home{color:#587393;margin-top:23px;font-size:12px}.thesis-page{max-width:1120px;min-height:calc(100vh - 92px);margin:0 auto;padding:24px 0 55px}.notice-banner{color:#36557e;background:#eff4ff;border:1px solid #d4e1ff;border-radius:7px;padding:16px 20px;line-height:1.65}.notice-banner b{color:var(--blue)}.notice-banner p{margin:3px 0 0;font-size:12px}.notice-banner em{color:#b45309;font-style:normal}.thesis-columns{grid-template-columns:400px minmax(0,1fr);gap:20px;margin-top:23px;display:grid}.thesis-form,.thesis-preview,.generation-progress{border:1px solid var(--line);background:#fff;border-radius:7px;box-shadow:0 1px 2px #2036510a}.thesis-form{padding:20px}.form-heading{justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}.form-heading button{color:var(--blue);background:0 0;border:0}.thesis-form label{color:#526d8f;margin:12px 0;font-size:12px;display:block}.thesis-form input,.thesis-form textarea{color:#273f60;background:#fff;border:1px solid #d2ddeb;border-radius:6px;width:100%;margin-top:6px;padding:10px 12px}.thesis-form textarea{resize:vertical;min-height:86px}.thesis-form input::placeholder,.thesis-form textarea::placeholder{color:#9aabc1}.thesis-ai-note{color:#527095;background:#f8faff;border:1px solid #dce4ef;border-radius:6px;justify-content:space-between;align-items:center;gap:10px;min-height:54px;margin-top:16px;padding:9px 10px;font-size:11px;line-height:1.6;display:flex}.thesis-ai-note .button{flex:none}.form-actions{gap:8px;margin-top:15px;display:flex}.form-actions>.button:first-child{background:var(--blue);flex:1}.thesis-preview{min-height:518px;overflow:hidden}.thesis-preview>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:46px;padding:0 18px;display:flex}.thesis-preview>header span{color:#7890ad;font-size:11px}.thesis-preview [data-thesis-output]{color:#8ca0b9;text-align:center;place-items:center;height:470px;padding:18px;display:grid;overflow:auto}.thesis-preview [data-thesis-output].has-paper{color:#263f61;text-align:left;display:block}.generated-paper{color:#263f61;text-align:left;max-width:680px;margin:0 auto;line-height:1.8}.generated-paper h1{text-align:center;font-size:23px}.generated-paper h2{margin-bottom:4px;font-size:15px}.generated-paper p{margin-top:4px}.generated-paper .paper-meta{text-align:center;color:#7289a7}.generation-progress{color:#345373;grid-column:1;grid-template-columns:1fr auto;padding:16px 20px;display:grid}.generation-progress span{color:#758ba7;font-size:11px}.progress-track{background:#e7edf5;border-radius:4px;grid-column:1/-1;height:4px;margin-top:18px}.progress-track i{border-radius:inherit;background:var(--blue);width:0;height:100%;transition:width .3s;display:block}.code-page{min-height:calc(100vh - 92px);padding:20px 16px 55px}.code-heading{justify-content:space-between;align-items:flex-start;display:flex}.code-heading h1{margin:0 0 5px;font-size:20px}.code-heading p{color:#778eab;margin:0}.code-columns{grid-template-columns:400px minmax(0,1fr);gap:20px;margin-top:23px;display:grid}.account-state{border:1px solid var(--line);color:#7186a2;background:#f8fafd;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;min-height:42px;padding:7px 10px;font-size:11px;display:flex}.account-state button{color:#4269b4;background:#fff;border:1px solid #dce4ef;border-radius:5px;flex:none;padding:4px 8px;font-size:11px}.principle-card{border:1px solid var(--line);color:#3b587c;background:#fbfcfe;border-radius:7px;margin-top:16px;padding:16px}.principle-card p{margin:0 0 7px}.principle-card ol{margin:0;padding-left:19px;font-size:12px;line-height:2.1}.upload-zone{color:#35577e;cursor:pointer;border:2px dashed #dce5f1;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:9px;min-height:212px;padding:20px;display:flex;position:relative}.upload-zone:hover{background:#fbfdff;border-color:#a7c1ff}.upload-zone input{opacity:0;cursor:pointer;position:absolute;inset:0}.upload-icon{width:55px;height:55px;color:var(--blue);background:#eff5ff;border-radius:50%;place-items:center;font-size:27px;display:grid}.upload-zone>span:not(.upload-icon){color:#8ca0ba;font-size:11px}.code-scan-actions{justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:7px 2px;display:flex}.code-scan-actions>span{color:#6f85a0;overflow-wrap:anywhere;font-size:12px}.code-workspace{grid-template-columns:minmax(320px,.9fr) minmax(420px,1.1fr);align-items:start;gap:16px;margin-top:18px;display:grid}.code-source-panel,.code-results-panel{border:1px solid var(--line);background:#fff;border-radius:7px;min-width:0}.code-source-panel{padding:15px}.code-source-panel>header,.code-results-panel>header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.code-source-panel h2,.code-results-panel h2{color:#273f60;margin:0;font-size:14px}.code-source-panel header p{color:#8295ad;margin:4px 0 0;font-size:11px}.code-file-list{border-top:1px solid #edf1f6;border-bottom:1px solid #edf1f6;max-height:330px;margin-top:12px;overflow:auto}.code-file-item{color:#455f80;border-bottom:1px solid #f0f3f7;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:35px;padding:6px 3px;font-size:11px;display:grid}.code-file-item:last-child{border-bottom:0}.code-file-item input{accent-color:var(--blue);margin:0}.code-file-path{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.code-file-size{color:#91a1b6;font-variant-numeric:tabular-nums}.code-project-note{color:#526d8f;margin-top:13px;font-size:11px;display:block}.code-project-note textarea{resize:vertical;color:#304b6d;width:100%;min-height:66px;font:inherit;border:1px solid #dce4ef;border-radius:5px;margin-top:5px;padding:8px 10px;line-height:1.6}.code-privacy-note{color:#8294aa;margin:10px 0 0;font-size:10px;line-height:1.65}.code-actions{flex-wrap:wrap;gap:7px;margin-top:12px;display:flex}.code-analysis-status{color:#7186a2;min-height:18px;margin:8px 0 0;font-size:11px;line-height:1.6}.code-analysis-status[data-state=error]{color:#b54747}.code-analysis-status[data-state=success]{color:#16805f}.code-results-panel>header{border-bottom:1px solid var(--line);align-items:center;min-height:48px;padding:14px 15px}.code-results-panel>header span{color:#8295ad;font-size:11px}.code-results{max-height:760px;padding:14px;overflow:auto}.code-empty-state{color:#8ca0b9;text-align:center;place-items:center;min-height:130px;font-size:12px;display:grid}.code-chapter{border-bottom:1px solid #edf1f6;padding:12px 0}.code-chapter:first-child{padding-top:0}.code-chapter:last-child{border-bottom:0}.code-chapter h3{color:#304b6d;margin:0 0 8px;font-size:13px}.code-chapter pre{color:#526b89;font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:12px;line-height:1.8}.code-history-list{gap:7px;display:grid}.code-history-empty{color:#8194ad;text-align:center;padding:20px 0;font-size:12px}.code-history-item{border:1px solid #e8edf4;border-radius:5px;justify-content:space-between;align-items:center;gap:10px;padding:10px;display:flex}.code-history-item strong{color:#3c5574;overflow-wrap:anywhere;font-size:12px;font-weight:550;display:block}.code-history-item span{color:#8a9bb0;margin-top:3px;font-size:10px;display:block}.code-history-item button{flex:none}.code-history-dialog{width:min(600px,100vw - 28px)}.legal-page{color:#4d6686;max-width:960px;min-height:calc(100vh - 100px);margin:0 auto;padding:50px 20px}.legal-page h1{color:var(--ink)}@media (width<=1100px){.topbar{gap:12px;padding-inline:14px}.primary-nav{scrollbar-width:none;overflow-x:auto}.primary-nav::-webkit-scrollbar{display:none}.topbar-right{gap:3px}.nav-item,.nav-menu>summary{padding-inline:7px;font-size:12px}.home-page{padding-inline:24px}.thesis-page{padding-inline:20px}.site-footer{overflow:hidden}.footer-right>span:last-child{display:none}}@media (width<=760px){.topbar{gap:7px;height:54px;padding-inline:10px}.brand{gap:7px;font-size:14px}.primary-nav{gap:2px}.primary-nav>.nav-item{padding:0 7px;font-size:11px}.primary-nav>.nav-item[data-route=\/er-diagram],.primary-nav>.nav-item[data-route=\/flowchart],.primary-nav>.nav-item[data-route=\/module],.primary-nav>.nav-item[data-route=\/use-case],.primary-nav>.nav-icon,.project-link{display:none}.primary-nav>.nav-menu{display:block}.desktop-more{display:none}.mobile-more{display:inline}.topbar-right{gap:1px}.ai-menu>summary{max-width:34px;font-size:0;overflow:hidden}.ai-menu>summary span{font-size:16px}.ai-settings-button{width:34px;padding-inline:0}.ai-settings-button span:last-child{display:none}.login-link{padding-inline:5px;font-size:11px}.home-page{padding:42px 18px 55px}.hero h1{font-size:31px;line-height:1.35}.hero-copy{font-size:15px}.wide-only{display:none}.tag-row{flex-wrap:wrap;gap:5px;margin:18px 0 24px}.tag-row span{padding:5px 9px}.hero-actions{flex-wrap:wrap}.attribution{line-height:1.8}.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:33px}.feature-card{min-height:112px;padding:12px}.tool-index{padding-top:33px}.tool-grid{grid-template-columns:1fr}.workspace-toolbar{flex-direction:column;align-items:flex-start;gap:6px;height:auto;min-height:48px;padding:8px 10px}.workspace-title{width:100%}.workspace-title strong{font-size:12px}.count-badge{font-size:10px}.toolbar-actions{gap:4px;width:100%;overflow-x:auto}.toolbar-actions .button.small{min-height:28px;padding-inline:9px;font-size:11px}.toolbar-quiet{flex:none;padding-inline:6px;font-size:11px}.editor-workspace{flex-direction:column;height:auto;min-height:calc(100vh - 180px);display:flex;overflow:visible}.editor-pane{border-bottom:1px solid var(--line);flex:none;height:380px}.editor-actions{min-height:45px}.editor-help{max-height:57px;overflow:auto}.entity-pane{border-bottom:1px solid var(--line);order:2;max-height:190px}.entity-list{grid-template-columns:repeat(2,minmax(0,1fr))}.canvas-pane{border-bottom:1px solid var(--line);order:3;min-height:55vh}.table-preview{order:3;min-height:60vh;padding:22px 16px}.canvas-toolbar{justify-content:flex-start;overflow-x:auto}.canvas-options{transform-origin:100% 0;top:48px;right:6px;transform:scale(.8)}.diagram-svg{min-width:660px;min-height:450px}.sequence-svg,.architecture-svg{min-width:0;min-height:0}.module-svg{min-width:780px}.usecase-svg{min-width:700px}.zoom-control{bottom:42px;left:6px}.canvas-tip{white-space:normal;text-align:right;max-width:70%}.site-footer{white-space:normal;flex-wrap:wrap;height:auto;min-height:38px;padding:8px 12px;position:static}.ai-dialog-form{padding:17px}.ai-dialog-actions{flex-wrap:wrap}.ai-dialog-status{flex-basis:100%}.footer-left,.footer-right{flex-wrap:wrap;gap:7px}.footer-right>span:nth-last-child(-n+2),.footer-meta{display:none}.pricing-page{min-height:calc(100vh - 54px);padding:35px 16px}.pricing-page>h1{font-size:27px}.plans{grid-template-columns:1fr;gap:24px;max-width:440px}.plan-card{min-height:410px}.pricing-note{max-width:420px;line-height:1.8}.login-page{min-height:100vh;padding-top:42px}.thesis-page{padding:16px 12px 24px}.notice-banner{padding:13px}.thesis-columns,.code-columns{grid-template-columns:1fr;gap:12px;margin-top:14px}.thesis-form{padding:15px}.thesis-preview{min-height:400px}.thesis-preview [data-thesis-output]{height:350px}.generation-progress{grid-column:1}.code-page{padding:16px 12px 25px}.upload-zone{min-height:190px}.code-workspace{grid-template-columns:1fr;gap:12px}.code-results{max-height:60vh}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
