:root{--bg:#f6f9fe;--ink:#263e5c;--muted:#74849e;--line:#e2eaf5;--blue:#2d78e6;--surface:#fff;--shadow:0 9px 36px #1f55900d}*{box-sizing:border-box}body{margin:0;font:13px/1.55 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid #79b9ff;outline-offset:2px}input,select,textarea{border:1px solid #dce6f3;border-radius:9px;padding:9px 10px;background:#fcfdff;color:var(--ink);width:100%;min-width:0;min-height:36px}input[type=color]{padding:2px;width:37px;height:34px;min-height:0;flex-shrink:0;cursor:pointer}input[type=checkbox]{accent-color:#347fe8;width:15px;min-height:0;vertical-align:middle}input[type=range]{padding:0;min-height:0;accent-color:var(--blue);cursor:pointer}input[type=file][hidden]{display:none}textarea{resize:vertical}.shell{max-width:1510px;margin:auto;padding:0 32px}.skip{position:absolute;top:-80px;left:10px;background:#fff;padding:10px;z-index:100}.skip:focus{top:10px}.site-header{background:#fff;border-bottom:1px solid #e8edf6}.nav{min-height:61px;display:flex;align-items:center;gap:32px}.brand{display:flex;align-items:center;font-size:18px;font-weight:730;letter-spacing:-.7px}.brand strong{color:#2e7be4;font-weight:800}.brand-icon{font-size:18px;margin-right:9px;color:#fff;background:linear-gradient(135deg,#b5d7ff,#3986ee);width:29px;height:29px;display:grid;place-items:center;border-radius:8px;font-weight:900}.nav nav{display:flex;gap:22px;color:#647896;font-size:12px;font-weight:650;margin-left:30px}.nav nav a:hover{color:var(--blue)}.privacy-tag{margin-left:auto;font-size:11px;color:#598d83;white-space:nowrap;font-weight:700}.privacy-tag i{display:inline-block;background:#2ebe91;width:7px;height:7px;border-radius:50%;margin-right:5px}.intro{padding:34px 0 29px;min-height:200px;display:flex;align-items:center;justify-content:space-between;gap:36px}.eyebrow,.overline{letter-spacing:1.25px;color:#5280b7;font-weight:830;font-size:10px;margin:0}.eyebrow span{color:#b0c1d7}.intro h1{font-size:clamp(30px,3.5vw,46px);line-height:1.2;letter-spacing:-1.6px;margin:9px 0}.intro h1 em{font-style:normal;color:#2d7de8}.intro>div>p:not(.eyebrow){font-size:14px;color:#6d7f96;max-width:720px;margin:0}.intro-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.intro-chips span{color:#6887ac;background:#edf4fd;border:1px solid #dfebfa;border-radius:20px;padding:5px 10px;font-size:11px;font-weight:650}.hero-art{width:250px;flex:0 0 250px;border:1px solid #dde8f8;background:linear-gradient(135deg,#fff,#edf5ff);border-radius:19px;padding:9px;box-shadow:var(--shadow);text-align:center}.hero-art svg{height:128px;display:block;width:100%}.hero-art small{font-size:10px;font-weight:700;color:#849bb9}.studio{background:#fff;border:1px solid #dce6f4;border-radius:18px;box-shadow:var(--shadow);overflow:hidden}.studio-header{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:18px 21px}.studio-header h2{margin:4px 0 0;font-size:19px;letter-spacing:-.5px}.studio-header h2 span{font-size:11px;margin-left:10px;color:#8596ae;font-weight:500;letter-spacing:0}.local{color:#269e75;background:#e7f8f0;border-radius:6px;padding:3px 5px;margin-left:6px}.detail-actions,.header-actions,.toolstrip-left,.toolstrip-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.btn{border:1px solid #dae4f2;padding:8px 12px;border-radius:9px;background:#fff;color:#466284;min-height:36px;font-size:11.5px;font-weight:790;white-space:nowrap;transition:.1s background,.1s border-color}.btn:hover:not(:disabled){background:#e9f2ff;border-color:#afcff6}.btn.primary{background:#307be6;color:#fff;border-color:#2c74de}.btn.primary:hover:not(:disabled){background:#176bd9}.btn.soft{background:#f6f9fe}.btn.danger{background:#fff3f3;color:#be4053;border-color:#ffd2d6}.btn.compact{min-height:30px;padding:6px 10px}.btn.wide{width:100%;margin-top:9px}.recovery{margin:0 15px 13px;padding:14px;background:#fff4f4;border:1px solid #f5d5da;border-radius:12px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.recovery div{flex:1;min-width:220px}.recovery p{margin:3px 0 0;color:#966c76}.recovery[hidden]{display:none}.toolstrip{background:#f7faff;border-block:1px solid var(--line);padding:10px 16px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.toolstrip label{font-size:11px;color:#657e9b;font-weight:760}.toolstrip select{width:auto;min-width:158px}.mini-tag{border:1px solid #d9e6f5;background:#fff;border-radius:8px;padding:6px 10px;color:#5b7eab;font-size:11px;font-weight:700}.layout{padding:13px;display:grid;grid-template-columns:minmax(240px,284px) minmax(390px,1fr) minmax(245px,285px);gap:13px;align-items:start}.canvas-panel,.sidebar{border:1px solid var(--line);border-radius:14px;min-width:0;background:#fff}.sidebar{padding:16px}.sidebar label{display:block;font-size:11px;color:#637d9d;font-weight:750;margin-top:10px;margin-bottom:5px}.sidebar label>input,.sidebar label>select{margin-top:4px}.canvas-heading h3,.sidebar h3{font-size:17px;margin:3px 0 0;letter-spacing:-.5px}.panel-heading{margin-bottom:12px}.editor-section{border-top:1px solid #e9edf5;margin-top:15px;padding-top:12px}.editor-section summary{list-style:none;display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:800;cursor:pointer}.editor-section summary::-webkit-details-marker{display:none}.editor-section summary:after{content:'⌄';color:#8098b3;margin-left:6px}.editor-section:not([open]) summary:after{content:'›'}.editor-section summary span{font-size:10px;color:#98a5b6;font-weight:600;margin-left:auto}.group-list{display:grid;gap:5px;margin-top:12px;max-height:290px;overflow:auto}.group-row{display:flex;align-items:center;gap:6px;border:1px solid #e6edf6;padding:5px 6px;border-radius:9px;background:#fcfdff}.group-row button.group-select{flex:1;min-width:0;background:0 0;border:0;color:#456787;text-align:left;font-weight:740;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.group-row button.group-select:hover{color:#2476e5}.group-row .tiny{border:0;background:#f1f5fa;border-radius:6px;color:#7e93a9;min-width:26px;height:26px;padding:0 3px}.group-row .tiny:hover{background:#fee}.inline-add{display:flex;align-items:center;gap:5px;margin-top:9px}.inline-add .btn{padding:8px 9px}.hint{font-size:10.5px;color:#7c8da4;line-height:1.55}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:8px}.twocol label{min-width:0}.flow-tools{margin:12px 0 7px}.flow-tools span{display:block;margin-top:4px}.flow-list{max-height:264px;overflow:auto;border:1px solid #e7edf6;border-radius:10px}.flow-row{display:flex;gap:7px;align-items:center;justify-content:space-between;padding:7px 9px;border-bottom:1px solid #edf1f7;min-width:0}.flow-row:last-child{border-bottom:none}.flow-row:hover{background:#f6faff}.flow-row button{color:#4a6e99;font-size:11px;min-width:0;overflow:hidden;text-overflow:ellipsis;background:0 0;border:0;text-align:left;cursor:pointer;flex:1}.flow-row strong{font-size:11px;color:#3172c6}.flow-row .delete-flow{color:#b75a60;flex:none;border-radius:5px;padding:0 4px;font-size:15px}.canvas-panel{padding:14px}.canvas-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.canvas-actions{display:flex;gap:6px}.canvas-controls{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin:13px 0 8px}.canvas-controls label{font-size:10px;color:#7186a4;font-weight:720}.canvas-controls input,.canvas-controls select{margin-top:4px;min-height:33px;font-size:11px}.diagram-stage{background:radial-gradient(circle at 50% 45%,#fff 25%,#f8fbff 100%);border:1px solid #ecf1f8;border-radius:13px;padding:8px;overflow:hidden}.diagram{width:100%;max-width:760px;margin:auto}.diagram svg{display:block;width:100%;height:auto}.chart-help{margin:0;text-align:center;color:#8497b0;font-size:10.5px}.plot-footer{display:grid;grid-template-columns:1fr 1fr 1fr;gap:11px;padding:14px 2px 6px}.plot-footer label{display:block;font-size:10px;color:#65809e;font-weight:720}.plot-footer strong{float:right;color:#2e73d1}.plot-footer input{width:100%;margin-top:8px}.plot-options{display:flex;align-items:center;flex-wrap:wrap;gap:14px;font-size:11px;color:#6a7f99;border-top:1px solid #eef1f8;padding-top:11px;margin-top:9px}.plot-options label{white-space:nowrap}.plot-options span{margin-left:auto;font-size:10px;color:#98a6b9}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.stat-grid>div{background:#f9fbff;border:1px solid #e6edf8;padding:11px;border-radius:10px;min-width:0}.stat-grid small{display:block;color:#7f91a7;font-size:10.5px}.stat-grid strong{display:block;font-size:20px;letter-spacing:-.6px;color:#35608c}.detail-card{margin-top:15px;border:1px solid #deebfb;background:linear-gradient(145deg,#f4f9ff,#fff);border-radius:13px;padding:14px}.detail-card h4{margin:6px 0 3px;font-size:15px}.detail-card p:not(.overline){color:#7188a1;font-size:11px;margin:0}.focus-info{margin-top:11px;display:grid;gap:6px}.focus-info div{display:flex;justify-content:space-between;border-bottom:1px solid #e4edf7;padding-bottom:5px;gap:10px;font-size:11px}.focus-info strong{color:#3e6490}.detail-actions{margin-top:13px}.detail-actions .btn{font-size:10px}.rank-title{margin-top:17px}.rank-title h4{margin:0;font-size:14px}.rank-title small{color:#8495a9;font-size:10px}.ranking{display:grid;gap:10px;margin-top:12px}.rank-row{display:grid;grid-template-columns:14px 1fr auto;align-items:center;gap:8px;font-size:11px}.rank-row .swatch{width:10px;height:10px;border-radius:3px}.rank-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:650}.rank-row strong{font-size:10px;color:#647e9b}.rank-meter{grid-column:2/-1;background:#eff3f9;height:5px;border-radius:3px;overflow:hidden}.rank-meter i{display:block;height:100%;background:#77a7e9;border-radius:3px}.export-panel{border-top:1px solid #e7eef7;padding-top:13px;margin-top:19px}.export-panel h4{margin:0;font-size:14px}.export-panel p{margin:4px 0 10px;font-size:11px;color:#8292a7}.export-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.export-grid .btn{font-size:10px;padding:8px 5px;min-width:0}.studio-footer{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;background:#fbfcff;border-top:1px solid var(--line);padding:11px 18px;color:#8092aa;font-size:10px}.guide{padding:42px 0 45px}.guide-heading{max-width:700px}.guide-heading h2{font-size:28px;margin:6px 0;letter-spacing:-1px}.guide-heading>p:last-child{color:#72839b}.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:19px}.guide-grid article{background:#fff;border:1px solid var(--line);padding:20px;border-radius:13px}.guide-grid article span{color:#397ee4;font-weight:820;font-size:11px}.guide-grid h3{margin:8px 0 5px;font-size:16px}.guide-grid p{margin:0;font-size:12px;color:#73859b}.disclaimer{font-size:11px;color:#8292a8;line-height:1.75;margin-top:21px}.footer{background:#fff;border-top:1px solid #e3eaf4;padding:17px 0;font-size:11px;color:#8896a9}.footer .shell{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}.toast{position:fixed;right:21px;bottom:21px;max-width:350px;padding:11px 15px;background:#244566;color:#fff;border-radius:10px;font-size:12px;box-shadow:0 12px 30px #102c4050;z-index:99;pointer-events:none}.toast[hidden]{display:none}@media(max-width:1230px){.layout{grid-template-columns:minmax(238px,290px) minmax(360px,1fr)}.sidebar.right{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;align-items:start}.sidebar.right .panel-heading{grid-column:1/-1}.sidebar.right .stat-grid{grid-column:1}.detail-card{margin:0;grid-column:2}.rank-title{grid-column:1;margin-top:0}.ranking{grid-column:1}.export-panel{grid-column:2;margin-top:0}}@media(max-width:820px){.shell{padding:0 16px}.intro{padding:24px 0;min-height:auto}.hero-art{display:none}.layout{grid-template-columns:1fr;padding:10px}.canvas-panel{grid-row:1}.sidebar.right{grid-column:1;display:block}.detail-card,.export-panel,.rank-title{margin-top:15px}.studio-header{flex-wrap:wrap;padding:16px}.privacy-tag{display:none}.nav nav{margin-left:auto}.studio-footer{padding:10px}.guide-grid{grid-template-columns:1fr}.plot-footer{gap:8px}.canvas-controls{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:450px){.shell{padding:0 10px}.intro h1{font-size:33px}.intro-chips{gap:5px}.intro-chips span{font-size:10px}.nav{gap:12px}.nav nav{gap:11px}.nav nav a{font-size:10px}.toolstrip{padding:10px}.toolstrip-left{gap:5px}.toolstrip select{width:145px;min-width:0}.toolstrip .btn{padding:8px}.toolstrip .icon-btn span{display:none}.canvas-panel{padding:9px}.canvas-heading h3{font-size:15px}.canvas-controls{grid-template-columns:1fr 1fr}.canvas-controls label:last-child{grid-column:1/-1}.plot-footer{grid-template-columns:1fr 1fr}.plot-footer label:last-child{grid-column:1/-1}.plot-options span{margin-left:0}.studio-header h2{font-size:17px}.header-actions{gap:6px}.header-actions .btn{padding:8px}.chart-help{font-size:9px}.sidebar{padding:12px}.guide-heading h2{font-size:24px}}@media(prefers-reduced-motion:reduce){*,:after,:before{transition:none!important;scroll-behavior:auto!important}}[hidden]{display:none!important}.matrix-panel{margin-top:16px;border:1px solid #e2ebf8;border-radius:12px;background:#fff;max-width:100%;overflow:hidden}.matrix-panel>summary{cursor:pointer;padding:12px 14px;color:#294766;font-weight:750;font-size:13px;display:flex;justify-content:space-between;gap:10px;align-items:center}.matrix-panel>summary span{font-size:10px;color:#8295ad;font-weight:500}.matrix-panel>.hint{margin:0 12px 10px}.matrix-scroll{overflow:auto;max-width:100%;max-height:360px;overscroll-behavior:contain;border-top:1px solid #ebeff7}.matrix-table{border-collapse:separate;border-spacing:0;font-size:11px;margin:0;min-width:max-content;width:max-content}.matrix-table td,.matrix-table th{border-bottom:1px solid #edf2fa;border-right:1px solid #edf2fa;padding:3px 5px;white-space:nowrap;background:#fff}.matrix-table thead th{position:sticky;top:0;z-index:2;background:#edf4ff;max-width:92px;overflow:hidden;text-overflow:ellipsis}.matrix-table th:first-child{position:sticky;left:0;z-index:3;max-width:125px;min-width:115px;background:#edf4ff}.matrix-table thead th:first-child{z-index:4}.matrix-table td input{font:inherit;text-align:right;border:1px solid #dce7f4;border-radius:5px;width:70px;height:30px;padding:4px 5px;background:#fff;color:#284564}.matrix-table td input:focus-visible{outline:2px solid #4089ed;outline-offset:1px}.matrix-table td.diagonal{background:#f3f7fb}.matrix-table td.diagonal input{background:#f3f7fb}.flow-order-label{font-size:10px;color:#6f849e;display:flex;align-items:center;gap:5px}.flow-order-label select{font-size:11px;min-width:95px;width:auto;max-width:145px;padding:4px 6px}.balance-card{border-top:1px solid #e4ecf7;margin-top:17px;padding-top:14px}.balance-header{display:flex;justify-content:space-between;align-items:center;gap:8px}.balance-header h4{margin:0;font-size:14px}.balance-header span{font-size:10px;color:#8193ab}.balance-summary{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:9px}.balance-summary span{border:1px solid #e4edf9;border-radius:8px;padding:7px;font-size:10px;color:#6983a3}.balance-summary strong{display:block;color:#26476b;font-size:14px;margin-top:3px}.balance-list{margin:8px 0 10px;display:grid;gap:6px}.balance-entry{display:flex;gap:8px;align-items:center;justify-content:space-between;border-bottom:1px solid #edf1f8;padding-bottom:5px;font-size:11px}.balance-entry button{font:inherit;background:0 0;border:0;color:#356ca7;cursor:pointer;text-align:left;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.balance-entry strong{font-size:11px;color:#436482;white-space:nowrap}@media(max-width:820px){.balance-card{margin-top:16px}.matrix-table th:first-child{min-width:85px;max-width:98px}}[hidden]{display:none!important}.matrix-panel{margin-top:16px;border:1px solid #e2ebf8;border-radius:12px;background:#fff;max-width:100%;overflow:hidden}.matrix-panel>summary{cursor:pointer;padding:12px 14px;color:#294766;font-weight:750;font-size:13px;display:flex;justify-content:space-between;gap:10px;align-items:center}.matrix-panel>summary span{font-size:10px;color:#8295ad;font-weight:500}.matrix-panel>.hint{margin:0 12px 10px}.matrix-scroll{overflow:auto;max-width:100%;max-height:360px;overscroll-behavior:contain;border-top:1px solid #ebeff7}.matrix-table{border-collapse:separate;border-spacing:0;font-size:11px;margin:0;min-width:max-content;width:max-content}.matrix-table td,.matrix-table th{border-bottom:1px solid #edf2fa;border-right:1px solid #edf2fa;padding:3px 5px;white-space:nowrap;background:#fff}.matrix-table thead th{position:sticky;top:0;z-index:2;background:#edf4ff;max-width:92px;overflow:hidden;text-overflow:ellipsis}.matrix-table th:first-child{position:sticky;left:0;z-index:3;max-width:125px;min-width:115px;background:#edf4ff}.matrix-table thead th:first-child{z-index:4}.matrix-table td input{font:inherit;text-align:right;border:1px solid #dce7f4;border-radius:5px;width:70px;height:30px;padding:4px 5px;background:#fff;color:#284564}.matrix-table td input:focus-visible{outline:2px solid #4089ed;outline-offset:1px}.matrix-table td.diagonal{background:#f3f7fb}.matrix-table td.diagonal input{background:#f3f7fb}.flow-order-label{font-size:10px;color:#6f849e;display:flex;align-items:center;gap:5px}.flow-order-label select{font-size:11px;min-width:95px;width:auto;max-width:145px;padding:4px 6px}.balance-card{border-top:1px solid #e4ecf7;margin-top:17px;padding-top:14px}.balance-header{display:flex;justify-content:space-between;align-items:center;gap:8px}.balance-header h4{margin:0;font-size:14px}.balance-header span{font-size:10px;color:#8193ab}.balance-summary{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:9px}.balance-summary span{border:1px solid #e4edf9;border-radius:8px;padding:7px;font-size:10px;color:#6983a3}.balance-summary strong{display:block;color:#26476b;font-size:14px;margin-top:3px}.balance-list{margin:8px 0 10px;display:grid;gap:6px}.balance-entry{display:flex;gap:8px;align-items:center;justify-content:space-between;border-bottom:1px solid #edf1f8;padding-bottom:5px;font-size:11px}.balance-entry button{font:inherit;background:0 0;border:0;color:#356ca7;cursor:pointer;text-align:left;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.balance-entry strong{font-size:11px;color:#436482;white-space:nowrap}@media(max-width:820px){.balance-card{margin-top:16px}.matrix-table th:first-child{min-width:85px;max-width:98px}}