.node{cursor:grab}.node:hover .node-shape{stroke:#40785c;stroke-width:2}.node.selected .node-shape{stroke:#246347;stroke-width:3}.node text{pointer-events:none}.edge{cursor:pointer}.edge:hover path{stroke:#225d44;stroke-width:3}
.inspector{position:absolute;top:56px;right:0;bottom:0;width:290px;background:white;border-left:1px solid var(--line);padding:22px;overflow:auto;box-shadow:-6px 0 16px #334e3f06;z-index:5}.inspector h3{margin:15px 0}.inspector .close{position:absolute;right:12px;top:12px}.inspector label{font-size:10px;margin:16px 0 7px;display:block;color:#80917d}.inspector input,.inspector textarea,.inspector select{width:100%;font-size:12px;border:1px solid var(--line);border-radius:7px;padding:9px;background:#fcfdfb}.inspector textarea{min-height:100px;line-height:1.5;resize:vertical}.inspector .actions{display:flex;gap:8px;margin-top:17px}.inspector .edge-row{padding:9px 0;border-bottom:1px solid #edf0e9;font-size:11px;display:flex;justify-content:space-between;gap:6px}.inspector .edge-row button{padding:0 5px;border:0}.issues{position:absolute;left:16px;top:65px;max-width:350px;background:#fff9e8;border:1px solid #e8dcae;padding:15px;border-radius:9px;font-size:11px;z-index:4;box-shadow:0 3px 10px #00000005}.issues li{margin:6px 0}.issues ul{padding-left:18px;margin-bottom:0}.hidden{display:none!important}

.field{margin-bottom:19px}.field label{display:block;font-size:12px;margin-bottom:8px;font-weight:600}.field input,.field select,.field textarea{width:100%;border:1px solid #d5dfd1;border-radius:8px;padding:11px 12px;background:#fcfdfa;color:#344935;font-size:13px}.field textarea{min-height:110px;resize:vertical;line-height:1.5}.field small{display:block;color:#8a9884;font-size:10px;margin-top:7px}.field.check{display:flex;gap:10px;align-items:center}.field.check input{width:16px;height:16px}.field.check label{margin:0;font-weight:400}.info-note{background:#eef4e9;border:1px solid #dfe9d8;border-radius:9px;padding:14px 16px;font-size:12px;line-height:1.6;color:#5a7352;margin:16px 0}.provider-row{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid #edf1e9;font-size:12px}.provider-row small{color:#82937c}.modal-shade{position:fixed;inset:0;background:#18332666;backdrop-filter:blur(4px);display:grid;place-items:center;z-index:20;padding:20px}.modal{background:#fff;border-radius:17px;padding:30px;width:min(650px,100%);max-height:90vh;overflow:auto;box-shadow:0 20px 100px #102a3250}.modal.wide{width:min(980px,100%)}.modal-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.modal-top h2{margin:0}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:25px}.modal .block-grid{grid-template-columns:repeat(3,1fr)}.modal .block-card{padding:12px}.modal-error{color:#b34e40;font-size:12px}
#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#254c38;color:white;padding:13px 20px;border-radius:10px;z-index:50;font-size:12px;box-shadow:0 5px 20px #203d3225;display:none;max-width:600px}#toast.error{background:#8e443b}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.6}.mobile-nav{display:none}

*{box-sizing:border-box} :root{font-family:Arial,Segoe UI,sans-serif;color:#242424;background:#fff;--line:#e7e7e7;--muted:#888;--green:#252525}body{margin:0}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;border:1px solid #e3e3e3;border-radius:8px;background:white;padding:8px 11px}button:hover{background:#eee}button:disabled{opacity:.4;cursor:default}button.subtle{border:0;background:transparent}button.primary{background:#262626;color:white;border-color:#262626}button.danger{color:#a33}h1,h2,h3,p{margin-top:0}h3{font-size:15px}.small{font-size:12px}.muted{color:#888}.eyebrow{font-size:10px;color:#888;letter-spacing:1px}.boot{height:100vh;display:grid;place-content:center;font-size:28px}.boot span{display:none}.workspace{height:100dvh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 220px;grid-template-rows:minmax(0,1fr);overflow:hidden}.chat{min-width:0;min-height:0;display:flex;flex-direction:column;border-right:1px solid var(--line);background:#fff}.chat-header{height:64px;flex-shrink:0;padding:0 24px;display:flex;justify-content:space-between;align-items:center}.chat-header strong{font-size:22px;font-weight:600;letter-spacing:-.7px}.chat-header button{font-size:12px;color:#777}.messages{overflow-y:auto;flex:1;padding:32px max(24px,5%);min-height:0}.messages.is-empty{display:flex;flex-direction:column;justify-content:center}.chat-welcome{text-align:center;margin:0 0 35px}.chat-welcome h1{font-size:26px;font-weight:500;letter-spacing:-.7px;margin:0}.message{font-size:14px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 30px}.message.user{background:#f1f1f1;border-radius:20px;padding:12px 18px;margin-left:auto;max-width:90%;width:fit-content}.who{font-size:12px;font-weight:600;margin-bottom:10px}.message .apply{display:block;margin-top:16px;font-size:12px}.composer{flex-shrink:0;padding:16px 24px 24px}.composer-box{background:#f4f4f4;border-radius:24px;padding:15px 16px 10px;border:1px solid #ededed}.composer textarea{width:100%;display:block;min-height:52px;max-height:160px;resize:vertical;border:0;background:transparent;outline:none;font-size:14px;line-height:1.5;padding:2px 0}.composer-bottom{display:flex;justify-content:space-between;align-items:center;gap:8px}.composer select{font-size:11px;color:#777;border:0;background:transparent;max-width:85%;padding:6px 0}.send{border:0;border-radius:50%;width:32px;height:32px;background:#242424;color:white;font-size:22px;padding:0}.send:hover{background:#444}.typing{font-size:13px;color:#888;display:flex;gap:9px;align-items:center}.typing i{height:6px;width:6px;border-radius:50%;background:#777;animation:pulse 1.4s infinite}@keyframes pulse{50%{opacity:.2}}.graph-pane{display:flex;flex-direction:column;min-width:0;min-height:0;position:relative;background:#fff}.graph-toolbar{height:64px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 18px;gap:10px;border-bottom:1px solid #eee}.graph-toolbar strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.tools{display:flex;gap:5px;flex-shrink:0}.tools button{font-size:11px;padding:7px 8px}.graph-stage{flex:1;min-height:0;overflow:hidden;position:relative;touch-action:none}.graph-stage{background-color:#fafafa;background-image:radial-gradient(circle,#cfd3d7 .9px,transparent 1px);background-size:22px 22px;background-position:11px 11px}.graph-stage svg{height:100%;width:100%;display:block;user-select:none}.canvas-foot{position:absolute;bottom:18px;left:18px}.zoom{display:flex;align-items:center;background:#fff;border:1px solid #e7e7e7;border-radius:10px;padding:3px;box-shadow:0 2px 8px #00000005}.zoom button{border:0;padding:5px 9px}.zoom span{font-size:11px;min-width:40px;text-align:center}.right-rail{background:#f9f9f9;border-left:1px solid var(--line);display:grid;grid-template-rows:minmax(160px,32%) minmax(0,1fr);min-height:0;min-width:0}.right-rail section{display:flex;flex-direction:column;min-height:0;padding:0 12px}.right-rail h2{font-size:12px;font-weight:600;flex-shrink:0;margin:0;padding:25px 10px 17px;color:#555}.saved-section{border-bottom:1px solid var(--line)}.saved-list,.legend-list{overflow:auto;min-height:0;padding-bottom:14px}.saved-list button{display:block;text-align:left;width:100%;border:0;background:transparent;padding:10px;font-size:12px;line-height:1.5;border-radius:7px;overflow-wrap:anywhere}.saved-list button.selected,.saved-list button:hover{background:#eaeaea}.legend-list button{display:flex;gap:10px;align-items:center;width:100%;text-align:left;border:0;background:transparent;padding:9px 10px;font-size:11px;line-height:1.35}.legend-list button:hover{background:#ededed}.legend-list small{display:block;color:#999;font-size:9px;margin-top:3px}.tool-shape{width:18px;height:14px;flex-shrink:0;background:var(--tool-color);border:1px solid #00000018;border-radius:3px}.tool-shape.decision{width:13px;height:13px;transform:rotate(45deg);margin:0 2px;border-radius:1px}.tool-shape.para{transform:skew(-15deg);border-radius:1px}.tool-shape.hex{clip-path:polygon(20% 0,80% 0,100% 50%,80% 100%,20% 100%,0 50%)}.tool-shape.start,.tool-shape.end{border-radius:10px}.pill{display:inline-block;border-radius:14px;padding:4px 9px;font-size:10px}.block-grid{display:grid;gap:8px}.block-card{display:flex;gap:10px;text-align:left}.block-card small{display:block}.swatch{width:15px;height:25px}.provider-row{display:flex;justify-content:space-between;padding:12px 0}.modal-top{display:flex;justify-content:space-between;align-items:center}.modal-top h2{font-size:20px}.inspector{top:64px!important}.inspector .actions{font-size:12px}.modal-shade{background:#0005!important;backdrop-filter:blur(2px)!important}#toast{background:#292929!important}.field input,.field select,.field textarea{color:#333!important;background:#fff!important;border-color:#ddd!important}.info-note{background:#f6f6f6!important;color:#666!important;border-color:#eee!important}
@media(max-width:1000px){.workspace{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 180px}.chat-header{padding:0 16px}.composer{padding:14px}.messages{padding:24px 18px}.graph-toolbar{padding:0 10px}.right-rail section{padding:0 7px}.chat-welcome h1{font-size:22px}}
@media(max-width:650px){.workspace{grid-template-columns:minmax(260px,1fr) minmax(260px,1fr) 170px;overflow-x:auto}.chat-header{padding:0 14px}.inspector{width:250px!important}}

.input-actions{display:flex;gap:7px;align-items:center;flex-shrink:0}.mic{display:grid;place-items:center;background:transparent;border:0;width:32px;height:32px;padding:4px;border-radius:50%}.mic.recording{background:#ffe4e4;color:#be2020;animation:pulse 1.4s infinite}.voice-cancel{border:0;padding:4px 7px;background:transparent;font-size:22px}.voice-cancel[hidden]{display:none}.voice-status{font-size:10px;color:#888;flex:1;min-width:0}.voice-status:empty{display:none}.composer select{min-width:0;max-width:68%}.composer-bottom:has(.voice-status:not(:empty)) select{max-width:35%}

.model-picker{position:relative;min-width:0;max-width:75%}.model-trigger{display:flex;align-items:center;gap:9px;max-width:100%;padding:5px 7px;background:transparent;border:0;font-size:12px;color:#666}.model-trigger span:first-child{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.model-chevron{font-size:16px}.model-menu[hidden]{display:none}.model-menu{position:absolute;left:0;bottom:calc(100% + 12px);width:360px;max-width:calc(100vw - 50px);max-height:calc(100dvh - 135px);display:flex;flex-direction:column;background:#fff;border:1px solid #e5e5e5;border-radius:16px;box-shadow:0 8px 40px #0002;z-index:12;padding:8px}.model-menu-head{display:flex;align-items:center;justify-content:space-between;padding:8px 10px 12px;font-size:13px}.model-menu-head button{font-size:10px;border:0;padding:4px 6px;color:#777}.model-options{overflow-y:auto;min-height:0}.model-item{border-radius:9px;padding:3px 7px 9px;margin-bottom:3px}.model-item.chosen{background:#f3f3f3}.model-option{border:0;background:transparent;display:flex;width:100%;gap:10px;align-items:center;text-align:left;padding:8px 4px}.model-option:hover{background:#eee}.model-symbol{width:27px;height:27px;background:#fff;border:1px solid #ddd;border-radius:8px;display:grid;place-items:center;font-size:12px;flex-shrink:0}.model-info{min-width:0;flex:1}.model-info strong{font-size:12px;font-weight:500;display:block;overflow-wrap:anywhere}.model-info small{font-size:10px;display:block;color:#888;margin-top:4px}.model-check{font-size:14px;width:16px}.model-balance{display:flex;align-items:center;gap:8px;justify-content:space-between;margin-left:41px;margin-right:5px;font-size:11px;color:#969696;line-height:1.6}.model-balance.known{color:#26704c}.model-balance a{color:#888;text-decoration:none;font-size:14px;padding:0 5px}.balance-time{margin:2px 0 0 41px;font-size:9px;color:#999}.model-menu-foot{border-top:1px solid #eee;padding:11px 10px 4px;font-size:10px;line-height:1.6;color:#999}.composer-bottom:has(.voice-status:not(:empty)) .model-picker{max-width:35%}

/* Model name on the left, account balance on the right. */
.model-menu{width:410px}
.model-item{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:8px;align-items:center;padding:5px 7px}
.model-option{min-width:0}
.model-info strong{font-size:11px}
.model-balance{margin:0 3px 0 0;justify-content:flex-end;white-space:nowrap;font-size:10px;gap:3px}
.balance-time{grid-column:2;text-align:right;margin:-4px 26px 5px 0}
@media(max-width:480px){.model-menu{width:360px}.model-symbol{display:none}.model-info strong{font-size:10px}.model-balance{font-size:9px}}

/* Shared, desktop-style type scale. */
:root{font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI Variable","Segoe UI",sans-serif;font-size:14px;line-height:1.5;font-weight:400;font-synthesis:none;-webkit-font-smoothing:antialiased;--muted:#737373}
button,input,textarea,select{font-family:inherit}
button{font-size:13px;line-height:1.4}
.chat-header strong{font-size:18px;line-height:24px;font-weight:600;letter-spacing:-.35px}
.chat-header button{font-size:13px;color:#666}
.chat-welcome h1{font-size:24px;line-height:1.35;font-weight:600;letter-spacing:-.5px}
.message{font-size:15px;line-height:1.7;letter-spacing:0;margin-bottom:28px}
.message.user{padding:12px 16px;border-radius:18px}
.who{font-size:13px;line-height:20px;font-weight:600;color:#525252;margin-bottom:8px}
.message .apply{font-size:13px}
.composer textarea{font-size:15px;line-height:1.6;min-height:60px}
.composer textarea::placeholder{color:#858585}
.composer-box{border-radius:20px;padding:14px 14px 10px}
.typing{font-size:13px;color:#737373}
.right-rail h2{font-size:13px;line-height:20px;font-weight:600;color:#525252;padding-top:22px;padding-bottom:14px}
.saved-list button{font-size:13px;line-height:1.5;padding:9px 10px}
.legend-list button{font-size:13px;line-height:1.4;padding:9px 10px}
.legend-list small{font-size:11px;line-height:16px;color:#7a7a7a;margin-top:2px}
.model-trigger{font-size:13px;line-height:20px;color:#666}
.model-menu{width:460px;border-radius:14px}
.model-menu-head{font-size:14px;padding:10px 10px 12px}
.model-menu-head button{font-size:12px}
.model-info strong{font-size:13px;line-height:19px;font-weight:500;letter-spacing:-.1px}
.model-info small{font-size:12px;line-height:17px;color:#777;margin-top:2px}
.model-symbol{width:28px;height:28px;font-size:13px}
.model-balance{font-size:12px;line-height:18px;color:#777;font-variant-numeric:tabular-nums}
.balance-time{font-size:11px;line-height:16px;color:#808080;margin-top:-1px}
.model-menu-foot{font-size:11px;line-height:1.6;color:#777;padding:12px 10px 6px}
.model-option{padding-top:9px;padding-bottom:9px}
.graph-toolbar strong{font-size:13px;line-height:20px;font-weight:500}
.tools button{font-size:12px}.zoom span{font-size:12px}
.inspector{width:310px}.inspector h3{font-size:16px;line-height:23px;font-weight:600}
.inspector label,.field label{font-size:12px;line-height:18px;color:#666}
.inspector input,.inspector textarea,.inspector select{font-size:14px;line-height:1.5;color:#333;background:#fff}
.inspector .edge-row{font-size:12px;line-height:1.5}.inspector .actions{font-size:13px}
.small,.field small,.pill{font-size:12px}.eyebrow{font-size:11px;letter-spacing:.7px;color:#777}
.issues,.info-note,.provider-row,.modal-error{font-size:13px;line-height:1.6}
.field input,.field select,.field textarea{font-size:14px;line-height:1.5}
.modal-top h2{font-size:20px;line-height:28px;font-weight:600;letter-spacing:-.3px}
#toast{font-size:13px;line-height:1.5}.voice-status{font-size:12px;line-height:18px}
@media(max-width:1000px){.chat-welcome h1{font-size:22px}.right-rail section{padding:0 5px}}
@media(max-width:480px){.model-menu{width:410px}.model-info strong{font-size:12px}.model-balance{font-size:11px}}

.tools .close-graph{font-size:21px;line-height:20px;padding:4px 8px;border:0;background:transparent;color:#737373}.tools .close-graph:hover{background:#eaeaea;color:#222}.reopen-scheme{padding:0 24px;flex-shrink:0}.reopen-scheme button{font-size:12px;color:#666;background:#fafafa;border-color:#e5e5e5}.reopen-scheme span{margin-left:8px}

.casper-logo{display:block;width:44px;height:44px;object-fit:contain;flex-shrink:0}

.composer .send{display:grid;place-items:center;width:34px;height:34px;min-width:34px;flex-shrink:0;padding:0;border:0;border-radius:50%;background:#202020;color:#fff;line-height:1;transition:background .15s,transform .15s}.composer .send svg{display:block}.composer .send:hover:not(:disabled){background:#3b3b3b}.composer .send:active:not(:disabled){transform:scale(.94)}.composer .send:focus-visible{outline:2px solid #777;outline-offset:3px}.composer textarea{resize:none}

.casper-brand{display:flex;align-items:center;gap:10px;min-width:0}.casper-brand span{font-size:17px;font-weight:600;letter-spacing:-.35px;white-space:nowrap}.casper-brand .casper-logo{width:40px;height:40px}@media(max-width:480px){.casper-brand{gap:6px}.casper-brand span{font-size:15px}.casper-brand .casper-logo{width:34px;height:34px}}

.workspace-tabs{height:42px;display:flex;align-items:center;gap:4px;padding:4px 24px;border-bottom:1px solid #eee;background:#fff}.workspace-tabs button{border:0;background:transparent;font-size:12px;color:#777;padding:6px 12px}.workspace-tabs button[aria-current="page"]{background:#f0f0f0;color:#222}.workspace{height:calc(100dvh - 42px)}
.inline-questions{white-space:normal;border:1px solid #e5e5e5;border-radius:16px;padding:18px;margin-top:16px;background:#fafafa}.question-caption{font-size:11px;color:#777;margin-bottom:14px}.inline-questions fieldset{padding:0;margin:0 0 20px;border:0;min-width:0}.inline-questions legend{font-size:14px;font-weight:600;line-height:1.5;margin-bottom:12px}.answer-option{display:flex;gap:10px;align-items:center;background:white;border:1px solid #e7e7e7;border-radius:10px;padding:9px 12px;margin-bottom:7px;font-size:13px;line-height:1.4;cursor:pointer}.answer-option:has(input:checked){border-color:#555;background:#eee}.answer-option input{accent-color:#222;margin:0}.custom-answer{width:100%;border:1px solid #ddd;border-radius:9px;padding:10px 12px;background:white;font-size:13px}.custom-answer:focus{outline:1px solid #555}.inline-questions fieldset:disabled{opacity:.6}.answer-submit{background:#242424;color:white;font-size:12px;border:0}.answer-submit:hover{background:#444}.answer-error{font-size:12px;color:#a33;margin-top:8px}.developer-page{height:calc(100dvh - 42px);overflow:auto;padding:36px max(24px,calc((100vw - 1050px)/2));font-size:14px;line-height:1.6;background:#fafafa}.developer-page h1{font-size:26px;margin-bottom:4px}.developer-page header>p{color:#777}.developer-page section{background:#fff;border:1px solid #e5e5e5;border-radius:14px;padding:24px;margin:24px 0}.developer-page h2{font-size:19px}.developer-page h3{margin-top:20px}.developer-page pre{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.65 Consolas,monospace;background:#f6f6f6;padding:16px;border-radius:8px;max-height:550px;overflow:auto}.developer-page details{border-top:1px solid #eee;padding:12px 0}.developer-page summary{cursor:pointer;font-size:13px;font-weight:500}.developer-page code{font:12px Consolas,monospace}.dev-models{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.dev-models article{padding:14px;background:#f7f7f7;border-radius:10px}.dev-models code,.dev-models small{display:block;margin-top:6px}.dev-models small{color:#777}.dev-note{background:#f5f5f5;padding:14px;border-radius:8px}.pipeline{padding-left:20px}.pipeline li{margin:8px 0}

.model-trigger{gap:7px;padding:7px 6px;font-size:15px;font-weight:400;line-height:22px;color:#292929;border-radius:9px;min-height:36px}.model-trigger:hover,.model-trigger[aria-expanded="true"]{background:#e9e9e9}.model-trigger .model-trigger-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-speed-icon{width:19px;height:19px;flex-shrink:0}.model-trigger .model-chevron{width:16px;height:16px;flex-shrink:0;color:#929292;margin-left:2px;transition:transform .15s}.model-trigger[aria-expanded="true"] .model-chevron{transform:rotate(180deg)}.model-trigger:focus-visible{outline:2px solid #aaa;outline-offset:2px}

#system-prompt-editor{display:block;width:100%;min-height:460px;resize:vertical;padding:16px;border:1px solid #d9d9d9;border-radius:10px;background:#fafafa;font:13px/1.65 Consolas,monospace;tab-size:2}#system-prompt-editor:focus{outline:2px solid #aaa;outline-offset:2px}.prompt-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px}.prompt-actions button{font-size:12px}.prompt-actions #prompt-status{font-size:12px;color:#666;flex-basis:100%;margin-top:4px}.prompt-hint{font-size:12px;color:#777;margin-top:12px}

.inspector #start-mode{width:100%;border:1px solid #ddd;border-radius:8px;padding:10px;background:white;font-size:13px}.inspector #start-greeting{min-height:110px}.inspector [hidden]{display:none!important}

.node-description{margin-top:20px}.node-description-title{font-size:12px;color:#888;margin-bottom:8px}.node-description p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.65;color:#555}

.start-inline{user-select:text;cursor:default}.start-inline select:focus-visible,.start-inline textarea:focus-visible{outline:2px solid #c9e4d3;outline-offset:2px}.start-inline textarea::placeholder{color:#839389}

.graph-stage .start-inline svg{width:14px;height:14px}
