/* Layout adaptation only: the incoming studio's type, nodes, paper, controls and motion stay intact. */
body.app:has(.ws[data-state=idle]){overflow:auto}.ws[data-state=idle]{height:auto;min-height:calc(100svh - 64px);display:block;overflow:visible;width:min(1320px,100% - 2 * var(--gut));margin:0 auto;padding:44px 0 80px}.studio-home{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:56px;align-items:stretch}.studio-home-chat{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:24px 0}.home-kicker{font-size:11px;color:var(--soft);letter-spacing:.08em;margin-bottom:24px}.ws[data-state=idle] .pb{position:relative;left:auto;top:auto;translate:none;width:100%;margin:0}.ws[data-state=idle] .pb-hello{text-align:left;margin-bottom:28px}.ws[data-state=idle] .st-t{font-size:clamp(34px,3.4vw,56px);max-width:520px}.ws[data-state=idle] .pb-box{min-height:150px}.ws[data-state=idle] .pb textarea{min-height:72px}.ws[data-state=idle] .pb-sug{justify-content:flex-start;margin-top:14px}.studio-mandate{position:relative;min-height:400px;border-left:1px solid var(--line);padding:20px 0 20px 34px}.mandate-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.mandate-head .mono{font-size:11px;color:var(--soft)}.studio-mandate h2{font:350 28px/1.1 var(--f);letter-spacing:-.04em;margin:22px 0 0;position:relative;z-index:1}.mandate-field{position:relative;height:175px}.mandate-field canvas{width:100%;height:100%}#rule-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:12px 0 0}#rule-facts dt{font:10px var(--mono);color:var(--soft);text-transform:uppercase}#rule-facts dd{font:500 13px var(--mono);margin:5px 0 0}.ws[data-state=idle] .ws-lib{display:block!important;position:static;overflow:visible;margin-top:50px;border-top:1px solid var(--line);padding:28px 0 0;background:none}.ws[data-state=idle] .ws-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ws[data-state=work] .studio-home{display:none}.ws[data-state=work] .pb{grid-column:2;grid-row:2}.ws-sh button{font:10px var(--mono);color:var(--soft)}#chat-status{font-size:12px;color:var(--soft);padding:0 8px;white-space:pre-wrap}#chat-status.error{color:var(--red-ink)}.ws[data-state=work] #chat-status{color:#f2f2eeb0;background:var(--char);margin:0;padding:8px 14px}.ws-log p{white-space:pre-wrap}.studio-code{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.8 var(--mono);background:var(--char);color:var(--ghost);padding:24px;border-radius:4px;margin:20px 0}.studio-code .code-key{color:var(--red)}.studio-risk{font-size:13px;color:var(--soft);line-height:1.6}.studio-detail{padding:0 20px 20px}.studio-modal{border:1px solid var(--line);border-radius:6px;max-width:min(960px,94vw);width:900px;max-height:88svh;background:var(--paper);color:var(--ink);padding:24px}.studio-modal::backdrop{background:#12121270;backdrop-filter:blur(5px)}.studio-modal header{display:flex;justify-content:space-between;gap:20px}.studio-modal .detail-canvas{height:360px;overflow:auto}.ws-grid .wc-cv{height:200px}.ws-grid{list-style:none}.ws-lib[hidden]{display:none!important}.ws[data-state=idle] .ws-lib[hidden]{display:block!important}.ws-board .ws-cv{overflow:auto}.ws[data-state=work][data-view=mine] .pb,.ws[data-state=work][data-view=all] .pb{display:none}#load-more{margin:24px 0}.hd [aria-disabled=true],.ft [aria-disabled=true]{cursor:default}
@media(max-width:1000px){.studio-home{gap:24px}.studio-mandate{padding-left:24px}.ws[data-state=idle] .ws-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.ws[data-state=idle]{padding-top:28px}.studio-home{grid-template-columns:1fr;gap:16px}.studio-home-chat{padding:0}.studio-mandate{border-left:0;border-top:1px solid var(--line);padding:24px 0 0;min-height:0}.ws[data-state=idle] .ws-grid{grid-template-columns:1fr}.mandate-field{height:150px}.ws[data-state=idle] .ws-lib{margin-top:30px}.ws[data-state=work]{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto}.ws[data-state=work] .ws-side{grid-row:1;grid-column:1;display:block}.ws[data-state=work] .ws-nav{display:flex}.ws[data-state=work] .ws-sh,.ws[data-state=work] .ws-mine,.ws[data-state=work] .ws-orb{display:none}.ws[data-state=work] .ws-chat{grid-column:1;grid-row:2}.ws[data-state=work] .pb{grid-column:1;grid-row:3}.ws[data-state=work] .ws-board{display:none}.ws[data-state=work] .ws-lib{grid-column:1;grid-row:2/4}.studio-modal .detail-canvas{height:430px}}
.mm[hidden]{display:none!important}.hd [aria-disabled=true]{cursor:default}.pb-model:disabled{opacity:1}.ws[data-state=idle] .ws-lh{padding:0 0 22px}.ws[data-state=idle] .ws-grid{padding:0}.wc button{max-width:100%}.studio-modal .nc{min-height:340px}
#pb-model:disabled{opacity:1;color:#f2f2eebd}#pb-model>svg{display:none}.pb-cmds li{display:block}.pb-cmds li button{width:100%;text-align:left;padding:8px}
@media(max-width:700px){.ws[data-state=work]{display:grid;height:calc(100svh - 64px);overflow:hidden}.ws[data-state=work] .ws-chat{height:auto}.ws[data-state=work] .pb{position:relative;bottom:auto;width:100%;padding:8px;gap:0}.ws[data-state=work] .ws-sh{display:flex;padding:3px 12px;justify-content:flex-end}.ws[data-state=work] .ws-sh>span{display:none}.pb-box{min-width:0}.pb-row{gap:4px;padding:8px}.pb-chip{font-size:11px;padding:0 6px;gap:4px}#pb-model{flex:1;min-width:0}#pb-model-n{overflow:hidden;text-overflow:ellipsis}.pb-tier{display:none}.pb-sp{display:none}.pb-mic{width:28px;flex:none}.pb-go{width:38px;flex:none}.pb-slash{width:28px;flex:none}.pb-orb{flex:none;width:16px;height:16px}.ws[data-state=work] #chat-status:empty{display:none}}

/* Framed conversation surface, using the existing charcoal and paper palette. */
.ws[data-state=work] .ws-chat{margin:12px 8px 0;border:1px solid #40403d;border-bottom:0;border-radius:12px 12px 0 0;background:linear-gradient(115deg,#242422 0,#161615 24%,#121211 100%);box-shadow:inset 2px 2px 0 #ffffff15,inset -2px 0 0 #0007,7px 0 15px -10px #0008}
.ws[data-state=work] .pb{margin:0 8px 12px;border:1px solid #40403d;border-top:0;border-radius:0 0 12px 12px;background:#141413;box-shadow:inset 2px 0 0 #ffffff0b,inset -2px -2px 0 #0007,0 12px 18px -14px #0009}
.ws[data-state=idle] .pb-box{border:1px solid #51514b;box-shadow:inset 0 2px 1px #ffffff24,inset 2px 0 1px #ffffff10,inset 0 -3px 2px #0008,0 3px 0 #090909,0 5px 0 #b6b6af,0 20px 30px -18px #0007;background:linear-gradient(135deg,#292927,#161615 50%)}
.ws[data-state=idle] .pb-box:focus-within{border-color:#ff6d63}
.chat-back{grid-column:1/-1;justify-self:start;font:11px var(--mono);color:#c8c8c0;padding:3px 0 10px;margin-bottom:4px;transition:color .2s}
.chat-back:hover{color:#ff8f86}.chat-back:focus-visible{outline:1px solid #ff8f86;outline-offset:4px}.ws-ch{padding:14px 16px}.ws-ch .ws-agent{grid-column:1}.ws-ch>div{grid-column:2}#home-title:focus{outline:none}

/* A single document language for mandate files and signed strategy reviews. */
.studio-modal{width:1040px;max-width:calc(100vw - 40px);height:min(820px,90svh);max-height:90svh;padding:0;overflow:hidden;border:1px solid #aeaea4;border-radius:12px;background:#edede7;box-shadow:0 40px 100px -24px #0009,inset 0 1px 0 #fff;color:#171715}
.studio-modal[open]{display:flex;flex-direction:column}.studio-modal::backdrop{background:#14141080;backdrop-filter:blur(7px)}
.studio-modal .detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:24px 28px 20px;flex:none;border-bottom:1px solid #d2d2c9;background:linear-gradient(#fafaf5a0,#edede700)}
.detail-eyebrow{display:flex;align-items:center;gap:8px;color:#696960;font-size:10px;letter-spacing:.08em}.detail-eyebrow i,.source-toolbar i{width:5px;height:5px;background:var(--red);display:inline-block;flex:none}
.detail-header h2{font:400 clamp(22px,2.5vw,32px)/1.15 var(--f);letter-spacing:-.035em;margin:10px 0 0;overflow-wrap:anywhere}.detail-header h2:focus{outline:none}
#close-modal{display:grid;place-items:center;flex:none;width:32px;height:32px;font:24px/1 var(--f);border:1px solid #cecec4;background:#ffffff60;border-radius:4px;color:#55554d}#close-modal:hover{background:#fff;color:#161615}#close-modal:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.detail-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0 28px;flex:none;border-bottom:1px solid #d2d2c9}.detail-stats>div{padding:16px 18px;border-right:1px solid #d2d2c9;min-width:0}.detail-stats>div:first-child{padding-left:0}.detail-stats>div:last-child{border:0}.detail-stats dt,.file-label{font:10px/1.5 var(--mono);letter-spacing:.06em;color:#77776d;text-transform:uppercase}.detail-stats dd{font:500 13px/1.45 var(--mono);margin:6px 0 0;overflow-wrap:anywhere}
.detail-tabs{display:flex;align-items:center;gap:24px;padding:0 28px;border-bottom:1px solid #d2d2c9;flex:none}.detail-tabs button{font:12px var(--mono);padding:14px 0;border-bottom:2px solid transparent;color:#73736b}.detail-tabs button[aria-selected=true]{border-bottom-color:var(--red);color:#1a1a17}.detail-tabs>span{margin-left:auto;font-size:10px;color:#77776d}.detail-tabs button:focus-visible{outline:1px solid var(--red);outline-offset:3px}
.detail-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b5b5aa transparent}.detail-scroll [hidden]{display:none!important}.detail-thesis,.detail-risk{padding:20px 28px}.detail-thesis p{font:400 15px/1.65 var(--f);margin:9px 0 0;max-width:860px;white-space:pre-wrap}.detail-risk{border-top:1px solid #d2d2c9}.detail-risk .file-label{color:#a44a3c}.detail-risk p{font:13px/1.65 var(--f);margin:8px 0 0;color:#636359;white-space:pre-wrap}.detail-map{margin:0 28px 22px;border:1px solid #c8c8bd;border-radius:6px;overflow:hidden;background:radial-gradient(#b7b7ad60 .8px,transparent 1px) 0 0/18px 18px,#e5e5de}.studio-modal .detail-canvas{height:290px;overflow:auto}.studio-modal .detail-canvas .nc{min-height:290px}
.detail-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 28px;border-top:1px solid #ccccc1;background:#f4f4ee;flex:none}.submission-meta{display:grid;gap:4px}.submission-meta>.mono{font-size:11px;color:#57574f}.detail-footer .b{font-size:12px;min-height:36px}.detail-footer>div:last-child{display:flex;gap:10px}
.source-editor{background:#171816;color:#d8d9cc;border:1px solid #414339;border-radius:6px;overflow:hidden;margin:22px 28px;box-shadow:inset 0 1px 0 #ffffff15}.source-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:12px 16px;font:10px/1.4 var(--mono);letter-spacing:.03em;border-bottom:1px solid #ffffff16;background:#23241f;color:#d0d1c4}.source-toolbar>span:first-child{display:flex;align-items:center;gap:9px}.source-toolbar>span:last-child{font-size:9px;color:#96998a}.detail-map .source-toolbar{background:#deded5;color:#515148;border-color:#c8c8bd}.detail-map .source-toolbar>span:last-child{color:#727267}
.source-lines{margin:0;padding:16px 0 20px;white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.8 var(--mono);tab-size:2}.source-lines code{font:inherit}.source-line{display:grid;grid-template-columns:46px minmax(0,1fr);padding-right:20px;min-height:22px}.source-line:hover{background:#ffffff05}.line-no{color:#626657;border-right:1px solid #ffffff0b;text-align:right;padding-right:14px;margin-right:12px;user-select:none;font-size:10px}.syntax-key{color:#d8dbcc}.syntax-string{color:#b4c5a0}.syntax-number{color:#ff9b83}
.mandate-document{display:grid;grid-template-columns:184px minmax(0,1fr);min-height:100%;background:#181916;color:#d2d4c5}.document-nav{align-self:start;position:sticky;top:0;padding:24px 12px;display:grid;gap:7px}.document-nav>.file-label{padding:0 10px 12px;color:#8d9181}.document-nav button{display:flex;gap:10px;text-align:left;align-items:baseline;padding:9px 10px;font:11px/1.45 var(--mono);color:#c0c3b2;border-radius:3px}.document-nav button span{font-size:9px;color:#777c68}.document-nav button:hover,.document-nav button:focus-visible{background:#ffffff09;color:#ff9b83}.document-nav button:focus-visible{outline:1px solid #ff9b83}.document-sections{border-left:1px solid #ffffff13;padding:0 26px 30px;min-width:0}.rule-section{padding:23px 0 12px;border-bottom:1px solid #ffffff13}.rule-section:last-child{border:0}.rule-section h3{display:flex;align-items:baseline;gap:13px;margin:0 0 19px;font:500 14px var(--mono);color:#eceee1}.rule-section h3 span{font-size:10px;color:#e98f76}.rule-line{margin:0 0 14px;padding-left:14px;border-left:1px solid #484b3d;font:12px/1.85 var(--mono);overflow-wrap:anywhere}.rule-key{display:block;color:#e8a28c;font-size:11px;margin-bottom:3px}.rule-value{color:#b9beab;white-space:pre-wrap}
@media(max-width:700px){.studio-modal{max-width:calc(100vw - 16px);height:92svh;max-height:92svh;border-radius:9px}.studio-modal .detail-header{padding:18px 16px 16px;gap:12px}.detail-header h2{font-size:23px}.detail-stats{padding:0 16px;grid-template-columns:1fr 1fr}.detail-stats>div{padding:12px 10px}.detail-stats>div:nth-child(odd){padding-left:0}.detail-stats>div:nth-child(even){border:0}.detail-stats>div:nth-child(-n+2){border-bottom:1px solid #d2d2c9}.detail-stats dd{font-size:11px}.detail-tabs{padding:0 16px;gap:18px}.detail-tabs>span{display:none}.detail-thesis,.detail-risk{padding:18px 16px}.detail-map{margin:0 16px 18px}.studio-modal .detail-canvas{height:280px}.source-editor{margin:16px}.detail-footer{padding:12px 16px;gap:12px;flex-wrap:wrap}.mandate-document{grid-template-columns:1fr}.document-nav{display:none}.document-sections{padding:0 18px 20px;border:0}.rule-line{font-size:11px}.source-lines{font-size:10px}.ws[data-state=work] .ws-chat{margin:5px 8px 0}.ws[data-state=work] .pb{margin-bottom:8px;width:auto}.chat-back{padding-bottom:6px}.ws-ch{padding:10px 14px}.ws[data-state=work] .ws-sh{display:none}}
.ws-sh #studio-overview{white-space:nowrap;font-size:9px}
.ws[data-state=work] .pb-box{min-width:0}
@media(min-width:701px){.ws[data-state=work] .pb-row{gap:5px;padding:10px}.ws[data-state=work] .pb-chip{font-size:11px;padding:0 6px}.ws[data-state=work] #pb-model{min-width:0;flex:1}.ws[data-state=work] #pb-model-n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws[data-state=work] .pb-sp{display:none}.ws[data-state=work] .pb-tier{font-size:9px}}
@media(max-width:700px){.ws[data-state=work]:not([data-view=chat]) .ws-sh{display:flex}.ws[data-state=work]:not([data-view=chat]) .ws-sh b{display:none}}

/* Immediate message feedback and a clear next step after signing. */
.ws-log .mx.me>p{max-width:94%;padding:10px 13px;border-radius:5px;background:#ffffff12;color:#f2f2ee;justify-self:end}.ws-log .mx.me .who{justify-content:flex-end;margin-bottom:7px}.message-state{display:block;text-align:right;margin-top:7px;font:10px/1.5 var(--mono);color:#92958a}.message-state.error{color:#f2a493}.reply-pending .who{margin-bottom:8px}.reply-pending p{color:#aaa!important;font-size:13px!important}.submission-success{border:1px solid #5b5b4c;border-left:2px solid var(--red);background:linear-gradient(120deg,#ffffff0b,#ffffff03);border-radius:4px;padding:16px;display:grid;gap:10px}.success-label{font-size:10px;letter-spacing:.05em;color:#e6b09b}.submission-success>p{margin:0;font-size:13px;line-height:1.5;color:#e1e1d8}.submission-success button{justify-self:start;padding:9px 12px;background:#f1f1e9;color:#171715;font:500 12px var(--f);border-radius:3px}.submission-success button:hover{background:#fff}.submission-success button:focus-visible{outline:2px solid var(--red);outline-offset:3px}.submission-success .success-hint{font-size:11px;color:#a8aa9e;line-height:1.65}.submission-success button:disabled{opacity:.5;cursor:wait}#create-another{font-size:12px}

/* The FOREVER gallop strip signals a pending reply, never simulated progress. */
.ws-log .reply-pending{display:flex;align-items:center;gap:14px;min-height:64px;padding:12px 0}.thinking-horse{display:block;flex:0 0 80px;width:80px;height:46.45px;background:transparent url('/funds/assets/gallop-ink.webp') 0 0/2560px 46.45px no-repeat;filter:brightness(0) invert(1);animation:agent-gallop .9s steps(32) infinite}.thinking-copy{min-width:0}.thinking-copy .who{display:flex;align-items:center;gap:10px}.thinking-copy p{margin:0}.thinking-dots{display:inline-flex;gap:4px}.thinking-dots i{display:block;width:3px;height:3px;background:var(--red);animation:agent-thinking 1.2s ease-in-out infinite}.thinking-dots i:nth-child(2){animation-delay:.2s}.thinking-dots i:nth-child(3){animation-delay:.4s}@keyframes agent-gallop{to{background-position:-2560px 0}}@keyframes agent-thinking{0%,70%,100%{opacity:.25}35%{opacity:1}}@media(prefers-reduced-motion:reduce){.thinking-horse,.thinking-dots i{animation:none}.thinking-dots i{opacity:1}}

/* A read-only example uses the same renderer as the user's generated strategy. */
#cv.strategy-example{display:block;overflow:auto}.example-intro{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 28px;border-bottom:1px solid var(--line);background:#f1f1eb99}.example-intro .mono{font-size:9px;letter-spacing:.09em;color:var(--red-ink)}.example-intro p{font-size:12px;line-height:1.6;color:var(--soft);margin:7px 0 0;max-width:320px}.example-intro button{white-space:nowrap;flex:none}#example-flow{min-height:430px;background:none;border:0}#example-flow .nd-h{cursor:default}#example-flow .nd{animation:example-appear .65s both;animation-delay:calc(var(--i)*.09s)}@keyframes example-appear{from{opacity:0;filter:blur(4px)}to{opacity:1;filter:blur(0)}}@media(max-width:900px){.example-intro{align-items:flex-start;flex-direction:column;padding:18px;gap:12px}}@media(prefers-reduced-motion:reduce){#example-flow .nd{animation:none}}

.board-actions{display:flex;flex-direction:column;align-items:flex-end;gap:10px;flex-shrink:0}.board-back{font:11px var(--mono);color:var(--soft);padding:4px 0;white-space:nowrap}.board-back:hover{color:var(--ink)}.board-back:focus-visible{outline:1px solid var(--red);outline-offset:4px}@media(min-width:701px){.ws[data-state=work][data-view=chat] #chat-back{display:none}}

/* Inline market telemetry: real hourly candles, separate from strategy simulations. */
.price-chart{margin:18px 0 8px;border:1px solid #44443f;border-radius:10px;padding:16px;background:linear-gradient(145deg,#252522,#161615);box-shadow:inset 0 1px #ffffff13,0 5px 18px #0002;max-width:100%;color:#eee}
.price-chart header,.price-chart footer,.pc-values,.pc-dates{display:flex;align-items:center;justify-content:space-between;gap:12px}
.price-chart header,.price-chart nav,.price-chart footer,.pc-dates,.pc-readout,.pc-label{font:10px/1.5 'Geist Mono',monospace}
.pc-label{color:#a5a59e;letter-spacing:.06em}.price-chart select{max-width:48%;border:0;color:#eee;background:#30302c;padding:5px 8px;font:inherit}
.price-chart nav{display:flex;gap:7px;margin:12px 0}.price-chart button{border:1px solid #ffffff20;border-radius:3px;background:transparent;color:#aaa;padding:4px 9px;font:inherit;cursor:pointer}.price-chart button[aria-pressed=true]{color:#ff5545;border-color:#ff554580;background:#ff55450b}
.pc-values strong{font:24px/1.6 'Geist Mono',monospace;display:block}.pc-values small{display:block;color:#aaa;font:10px/1.6 'Geist Mono',monospace}.pc-change{font:13px 'Geist Mono',monospace;text-align:right}
.pc-plot{display:block;width:100%;height:140px;overflow:visible}.pc-grid{stroke:#ffffff12;stroke-width:1;fill:none}.pc-line{stroke:#eee;stroke-width:1.5;fill:none;vector-effect:non-scaling-stroke}.pc-dot{fill:#ff4938}.pc-dates{color:#a2a29c;font-size:9px}.pc-readout{display:block;min-height:30px;padding-top:10px;color:#ff776a}
.price-chart footer{border-top:1px solid #ffffff18;padding-top:10px;color:#999;font-size:9px}.price-chart footer a{color:#bbb}.pc-loading,.pc-error{min-height:180px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;text-align:center;font:12px/1.6 'Geist Mono',monospace;color:#aaa}.pc-loading span{color:#ff4938;letter-spacing:5px;animation:pc-pulse 1s ease-in-out infinite alternate}.pc-error button{color:#eee}
@keyframes pc-pulse{to{opacity:.25}}@media(prefers-reduced-motion:reduce){.pc-loading span{animation:none}}@media(max-width:700px){.price-chart{padding:12px}.pc-values strong{font-size:21px}}

.pc-fetched{display:block;margin-top:6px;font:9px/1.5 'Geist Mono',monospace;color:#888}
.price-chart{padding:12px}.price-chart nav{margin:8px 0}.pc-values strong{font-size:20px;line-height:1.4}.pc-plot{height:100px}.pc-readout{min-height:25px;padding-top:6px}.price-chart footer{padding-top:7px}

/* Exact plan review before opening the wallet. */
.sign-review{padding:24px 28px;display:grid;gap:24px}.sign-review section{min-width:0}.review-actions{padding-left:24px;margin:14px 0 0;display:grid;gap:12px;line-height:1.55}.review-limits{border:1px solid var(--line,#d2d2cb);padding:16px}.sign-review p{line-height:1.6}.review-diff{margin-top:12px;background:#171816;color:#ecece5;border:1px solid #42433f;border-radius:8px;overflow:hidden}.review-diff>div{padding:12px 16px;display:grid;grid-template-columns:minmax(140px,1fr) 1fr 1fr;gap:12px;border-bottom:1px solid #343530;overflow-wrap:anywhere}.review-diff code{color:#aaa;font-size:12px}.review-diff del{color:#aaa}.review-diff strong{color:#ff6253;font-weight:500}.review-note{color:#72746d}.sign-review details summary{cursor:pointer;font-family:monospace}.sign-review details[open] summary{margin-bottom:16px}
@media(max-width:600px){.sign-review{padding:18px}.review-diff>div{grid-template-columns:1fr 1fr}.review-diff code{grid-column:1/-1}.detail-footer .submission-meta{max-width:100%}}

/* A single, focused entry point; mandate details stay one click away. */
.ws[data-state=idle]{padding-top:48px}
.studio-home{display:flex;flex-direction:column;gap:0;max-width:860px;margin:0 auto}
.studio-home-chat{padding:0;align-items:stretch}
.home-kicker{text-align:center;font-size:10px;letter-spacing:.12em;margin-bottom:20px}
.ws[data-state=idle] .pb-hello{text-align:center;margin-bottom:24px}
.ws[data-state=idle] .st-t{font-size:clamp(34px,4.2vw,58px);line-height:1.04;max-width:760px;margin:0 auto;letter-spacing:-.055em}
.home-intro{font-size:15px;line-height:1.5;color:var(--soft);margin:18px 0 22px}
/* Decorative forward run; the track fills with the horse, then fades to reset. */
.studio-lifecycle{display:flex;justify-content:center;margin:28px auto 8px;max-width:540px}
.lifecycle-loop{flex:1;min-width:0}
.studio-sequence{display:flex;justify-content:space-between;list-style:none;margin:0;padding:0 6px;gap:10px}
.studio-sequence li{font:10px var(--mono);color:var(--ink);white-space:nowrap}
.studio-sequence li>div>span{font-size:9px;color:var(--ink);margin-right:6px}
.studio-sequence small{display:block;margin-top:7px;font:9px var(--mono);color:var(--soft);letter-spacing:0;line-height:1.4}
.studio-sequence .lifecycle-here{display:flex;align-items:center;gap:6px;color:var(--red-ink)}
.lifecycle-here i{position:relative;display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--red)}
.lifecycle-here i:after{content:'';position:absolute;inset:-3px;border:1px solid var(--red);border-radius:50%;animation:lifecycle-location 2.4s ease-out infinite}
@keyframes lifecycle-location{0%{transform:scale(.5);opacity:.65}75%,100%{transform:scale(1.4);opacity:0}}
.lifecycle-track{position:relative;height:1px;margin:34px 22px 16px;background:#22222275}
.lifecycle-track:before{content:'';position:absolute;inset:0;background:var(--red);transform-origin:left;animation:lifecycle-progress 8s linear infinite}
.track-node{position:absolute;width:4px;height:4px;top:-1.5px;left:0;background:var(--ink);border-radius:50%;animation:lifecycle-node-start 8s linear infinite}
.track-node:nth-last-child(2){left:50%;animation-name:lifecycle-node-middle}
.track-node:last-child{left:100%;animation-name:lifecycle-node-end}
.lifecycle-runner{position:absolute;z-index:1;left:0;top:-32px;width:100%;height:36px;pointer-events:none;animation:lifecycle-forward 8s linear infinite;will-change:transform,opacity}
.lifecycle-runner i{display:block;margin-left:-31px;width:62px;height:36px;background:url('/funds/assets/gallop-ink.webp') 0 0/1984px 36px no-repeat;animation:lifecycle-gallop .9s steps(32) infinite}
@keyframes lifecycle-gallop{to{background-position:-1984px 0}}
@keyframes lifecycle-forward{0%{transform:translate3d(-7.5%,0,0);opacity:0}6%{transform:translate3d(0,0,0);opacity:1}86%{transform:translate3d(100%,0,0);opacity:1}93%,100%{transform:translate3d(108.75%,0,0);opacity:0}}
@keyframes lifecycle-progress{0%,6%{transform:scaleX(0);opacity:1}86%,90%{transform:scaleX(1);opacity:1}96%,100%{transform:scaleX(1);opacity:0}}
@keyframes lifecycle-node-start{0%{background:var(--ink)}6%,90%{background:var(--red)}96%,100%{background:var(--ink)}}
@keyframes lifecycle-node-middle{0%,45.9%{background:var(--ink)}46%,90%{background:var(--red)}96%,100%{background:var(--ink)}}
@keyframes lifecycle-node-end{0%,85.9%{background:var(--ink)}86%,90%{background:var(--red)}96%,100%{background:var(--ink)}}
.composer-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-top:20px}
.composer-actions .mandate-read{margin-left:auto}
.ws[data-state=work] .composer-actions{display:none}
.ws[data-state=idle] .pb-box{min-height:174px;border-radius:13px;padding:8px}
.ws[data-state=idle] .pb textarea{min-height:102px;font-size:18px;line-height:1.6;padding:17px 18px}
.ws[data-state=idle] .pb-row{padding:8px 12px 10px}
.ws[data-state=idle] .pb-sug{justify-content:flex-start;gap:8px;margin:0;flex:1}
.ws[data-state=idle] .pb-sug>button{font-size:11px;background:transparent;border-color:var(--line);padding:8px 12px;border-radius:5px}
.ws[data-state=idle] #chat-status:empty{display:none}
.mandate-read{font:11px var(--mono);white-space:nowrap;color:var(--red-ink);padding:12px 16px;border:1px solid #ef4b3d;border-radius:4px;background:transparent;flex:none}
.mandate-read:hover{background:#f0443408;border-color:var(--red-ink)}.mandate-read:focus-visible{outline:2px solid var(--red);outline-offset:4px}
.ws[data-state=idle] .ws-lib{margin-top:44px;padding-top:28px}
.submission-success #chat-view-explore{color:#e9e9df;border:1px solid #68685e;background:transparent;margin-left:8px}
@media(max-width:700px){
 .ws[data-state=idle]{padding-top:30px}
 .home-intro{font-size:13px;max-width:32ch;margin:16px auto 20px}
 .studio-lifecycle{gap:14px;flex-wrap:wrap;margin-top:24px}.lifecycle-loop{flex-basis:100%;max-width:470px}.studio-sequence li{font-size:9px}.studio-sequence li>div>span{font-size:8px}.studio-sequence small{font-size:8px}
 .ws[data-state=idle] .pb-box{min-height:160px;padding:4px}.ws[data-state=idle] .pb textarea{font-size:16px;padding:14px;min-height:90px}
 .composer-actions{flex-wrap:wrap;gap:14px}.composer-actions .pb-sug{flex-basis:100%}
 .mandate-read{padding:10px 14px;font-size:10px}.ws[data-state=idle] .ws-lib{margin-top:30px}
}
@media(prefers-reduced-motion:reduce){.lifecycle-runner,.lifecycle-runner i,.lifecycle-track:before,.track-node,.lifecycle-here i:after{animation:none}.lifecycle-runner{transform:translate3d(50%,0,0)}.lifecycle-track:before{transform:scaleX(.5)}}

#board-overview{color:var(--red-ink)}

/* Compact library cards retain the original paper finish and show the flow inline. */
.ws-grid{gap:12px;overflow:visible}
.strategy-card>button[data-id]{display:flex;flex-direction:column;gap:0;padding:14px;min-height:0;border:0;border-radius:6px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line),0 2px 0 #12121208;transition:transform .2s,box-shadow .2s}
.strategy-card>button[data-id]:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 1px var(--ink),0 12px 24px -20px #0006}
.strategy-card>button[data-id]:focus-visible{outline:2px solid var(--red);outline-offset:4px}
.sc-top{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;margin-bottom:10px;min-height:40px}
.sc-heading{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
.sc-type{font:8px/1.3 var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--soft)}
.sc-title{font:500 15.5px/1.25 var(--f);letter-spacing:-.015em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sc-tokens{display:flex;align-items:center;flex:none;max-width:100px}.sc-tokens .tk{flex:none;width:24px!important;height:24px!important;box-shadow:0 0 0 2px var(--card);filter:grayscale(1)}.sc-tokens .tk+.tk{margin-left:-9px}.sc-tokens .tk svg{width:18px;height:18px}.sc-tokens .tk b{font-size:7px}.sc-tokens .tk img{width:24px;height:24px;object-fit:cover}.sc-orbio{background:#e3e3d9;border-radius:50%;display:grid;place-items:center}.sc-token-more{font:9px var(--mono);padding-left:4px}
.sc-flow{display:block;width:100%;box-sizing:border-box;background:var(--paper-2);background-image:radial-gradient(#22222218 .65px,transparent 1px);background-size:9px 9px;border-radius:4px;margin-bottom:10px;padding:10px 8px 4px}
.sc-graph{position:relative;display:grid;grid-template-columns:repeat(var(--steps),minmax(0,1fr));gap:6%;min-height:120px;align-items:start}
.sc-wires{position:absolute;inset:0;width:100%;height:120px;overflow:visible;pointer-events:none}.sc-wires path{fill:none;stroke:var(--red);stroke-width:1.2;vector-effect:non-scaling-stroke}
.sc-step{min-width:0;height:96px;box-sizing:border-box;display:flex;flex-direction:column;position:relative;gap:5px;padding:9px 7px;border-radius:4px;border:1px solid var(--sc-border,#383832);border-top-color:var(--sc-edge,#58584f);background:var(--sc-bg,linear-gradient(135deg,#292925,#151513));box-shadow:inset 0 1px 0 #ffffff0c,0 4px 7px -5px #17170f70;text-align:left}
.sc-step:nth-of-type(2){margin-top:16px}
.sc-step-label{display:flex;gap:4px;align-items:baseline;font:7px/1.3 var(--mono);color:var(--sc-muted,#b8b8a9);letter-spacing:.02em}.sc-step-label i{font-style:normal;color:var(--sc-number,#ff756a);font-size:7px}
.sc-step strong{font:500 11px/1.3 var(--f);color:var(--sc-ink,#f6f6ec);overflow-wrap:anywhere}.sc-step-note{font:8px/1.5 var(--mono);color:var(--sc-muted,#aaa99c);overflow-wrap:anywhere}
.sc-port{position:absolute;top:44px;width:5px;height:5px;box-sizing:border-box;background:var(--sc-port,#242420);border:1px solid var(--red)}.sc-port-in{left:-3px}.sc-port-out{right:-3px}.sc-step:first-of-type .sc-port-in,.sc-step:last-of-type .sc-port-out{display:none}
.sc-meta,.sc-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%}.sc-meta{font:9px/1.5 var(--mono);color:#38382f}.sc-meta i{font-style:normal;color:#aaa99e;margin:0 3px}.sc-open{font:14px var(--mono);color:var(--red-ink)}.sc-foot{font:8px/1.4 var(--mono);color:#929286;margin-top:4px}.sc-foot>span:first-child{letter-spacing:.04em;text-transform:uppercase}
@media(max-width:700px){.strategy-card>button[data-id]{padding:12px}.ws-grid{gap:12px}}
@media(prefers-reduced-motion:reduce){.strategy-card,.strategy-card>button[data-id]{animation:none;transition:none}}
.sc-token-image{border-radius:50%;overflow:hidden;display:block}.sc-token-image img{display:block;object-fit:cover}

/* Architectural outlines keep flows distinct without heavy solid blocks. */
.sc-step{border:0;border-radius:0;background:var(--sc-bg,#242424);box-shadow:none;padding:10px 8px 8px;isolation:isolate;--sc-ink:#f2f2ee;--sc-muted:#c4c4bf;--sc-number:#ff8b80;--sc-port:#303030;--sc-wire:#8d8d88;--sc-detail:#bebeba}
.sc-step[data-tone=light]{--sc-bg:linear-gradient(135deg,#555,#404040);--sc-wire:#92928d;--sc-detail:#d1d1ca}
.sc-step[data-tone=grey]{--sc-bg:linear-gradient(135deg,#414141,#2b2b2b);--sc-wire:#848480;--sc-detail:#babab4}
.sc-step[data-tone=silver]{--sc-bg:linear-gradient(135deg,#4a4a4a,#363636);--sc-wire:#90908a;--sc-detail:#c2c2bc}
.sc-step[data-tone=dark]{--sc-bg:linear-gradient(135deg,#292929,#171717);--sc-wire:#787875;--sc-detail:#aaa9a5}
.sc-frame{position:absolute;inset:-4px -4px -2px -2px;width:calc(100% + 6px);height:calc(100% + 6px);overflow:visible;pointer-events:none;z-index:-1;fill:none}
.sc-frame path{vector-effect:non-scaling-stroke;stroke-linejoin:miter}.sc-frame-depth{stroke:var(--sc-wire);stroke-width:.65;opacity:.7}.sc-frame-corners{stroke:var(--sc-detail);stroke-width:1.1}
.sc-step-label{border-bottom:1px solid #ffffff20;padding-bottom:4px;min-height:10px;align-items:flex-start}
.sc-step strong{font-size:11px;line-height:1.3}.sc-step-note{font-size:8px;line-height:1.4}
.sc-flow{background-color:#deded980;background-image:linear-gradient(#33333309 1px,transparent 1px),linear-gradient(90deg,#33333309 1px,transparent 1px);background-size:12px 12px;padding-top:12px}
.strategy-card>button:hover .sc-frame-corners{stroke:var(--red-ink)}
.ws-lib{container-type:inline-size}
.ws[data-state] .ws-grid{grid-template-columns:minmax(0,1fr)}
@container(min-width:560px){.ws[data-state] .ws-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container(min-width:820px){.ws[data-state] .ws-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@container(min-width:1100px){.ws[data-state] .ws-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* Keep recovery visible in the conversation, including after a failed reply. */
.ws-ch #new-chat { margin-left:auto; flex-shrink:0; color:#ddd; border-color:#555; background:transparent; font-size:11px; padding:7px 9px; }
.ws-ch #new-chat:hover { border-color:#ff343b; color:#fff; }
.ws-ch { grid-template-columns:auto minmax(0,1fr) auto; }
.ws-ch #new-chat { grid-column:3; }
