/* Strategy builder: a full-screen editor over the dashboard. Colours come from lab.css. */
.builder-cta{background:var(--accent);color:#0c0e11;border:1px solid var(--accent-border);border-radius:12px;font-weight:800;padding:10px 16px;cursor:pointer}
.builder-cta:hover{filter:brightness(1.08)}
body.building{overflow:hidden}
#builder{position:fixed;inset:0;z-index:45;background:var(--bg);color:var(--text);display:flex;flex-direction:column;animation:b-in .25s ease both}
@keyframes b-in{from{opacity:0;transform:translateY(10px)}}
#builder header.b-top{display:flex;align-items:center;gap:14px;padding:16px 28px;border-bottom:1px solid var(--border);background:var(--panel);margin:0}
#builder .b-title{font-size:18px;font-weight:800;letter-spacing:-.2px;margin-right:auto;display:flex;align-items:center;gap:12px}
#builder .b-title svg{color:var(--gold)}
#builder .b-fp{font:600 11px ui-monospace,Menlo,monospace;color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:4px 10px}
#builder button{font:inherit;cursor:pointer}
.b-btn{padding:9px 14px;border-radius:10px;border:1px solid var(--border);background:var(--inset);color:var(--text);font-weight:600;font-size:13px}
.b-btn:hover:not(:disabled){border-color:var(--accent)}
.b-btn:disabled{opacity:.45;cursor:default}
.b-btn.primary{background:var(--accent);color:#0c0e11;border-color:var(--accent-border);font-weight:800}
.b-btn.primary:hover:not(:disabled){filter:brightness(1.08)}
.b-btn.danger{color:var(--red)}
.b-btn.small{padding:6px 10px;font-size:12px;border-radius:8px}
.b-link{background:none;border:0;color:var(--accent);font-weight:700;padding:0;font-size:12.5px}
.b-link:hover{text-decoration:underline}
.b-body{flex:1;overflow:auto;display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;padding:24px 28px 60px;max-width:1500px;width:100%;margin:0 auto}
.b-main{min-width:0;display:flex;flex-direction:column;gap:18px}
.b-side{position:sticky;top:0;align-self:start;display:flex;flex-direction:column;gap:14px}
.b-card{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:20px 22px}
.b-card h3{margin:0 0 4px;font-size:12px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}
.b-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-top:12px}
.b-field{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;color:var(--muted)}
.b-field small{font-weight:400}
.b-in,.b-sel{font:inherit;font-size:13.5px;color:var(--text);background:var(--inset);border:1px solid var(--border);border-radius:10px;padding:9px 11px;outline:none;min-width:0}
.b-in:focus,.b-sel:focus{border-color:var(--accent)}
.b-pair{display:flex;gap:6px}.b-pair .b-sel{flex:0 0 auto}.b-pair .b-in{flex:1;width:100%}
.b-name{font-size:20px;font-weight:800;width:100%;background:transparent;border:1px solid transparent;padding:6px 8px;margin-left:-8px}
.b-name:hover{border-color:var(--border)}.b-name:focus{border-color:var(--accent);background:var(--inset)}
.b-sentence{margin:14px 0 0;padding:12px 14px;border-radius:12px;background:var(--accent-soft);border:1px solid var(--accent-border);font-size:13px;line-height:1.55}
/* Rule sets */
.b-rs{background:var(--panel);border:1px solid var(--border);border-radius:16px;overflow:hidden}
.b-rs.off{opacity:.6}
.b-rs-head{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--border-soft);background:var(--inset)}
.b-rs-head .b-in.rs-name{font-weight:800;font-size:15px;background:transparent;border-color:transparent;flex:1;min-width:120px}
.b-rs-head .b-in.rs-name:hover{border-color:var(--border)}.b-rs-head .b-in.rs-name:focus{border-color:var(--accent);background:var(--panel)}
.b-switch{position:relative;width:38px;height:22px;flex:0 0 auto}
.b-switch input{opacity:0;width:0;height:0}
.b-switch span{position:absolute;inset:0;border-radius:999px;background:var(--border);transition:.15s}
.b-switch span::after{content:'';position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:.15s}
.b-switch input:checked+span{background:var(--accent)}.b-switch input:checked+span::after{left:19px}
.b-units{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);white-space:nowrap}
.b-units .b-in{width:64px;text-align:center}
.b-rs-body{padding:16px 18px;display:flex;flex-direction:column;gap:16px}
.b-rs.collapsed .b-rs-body{display:none}
.b-sec{display:flex;flex-direction:column;gap:8px}
.b-sec-title{font-size:11px;font-weight:800;letter-spacing:2px;color:var(--accent)}
.b-sec-title.sell{color:var(--gold)}.b-sec-title.order{color:var(--info)}
.b-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 12px;border:1px solid var(--border-soft);border-radius:12px;background:var(--inset);font-size:13.5px}
.b-row .w{color:var(--text)}
.b-row .b-in{width:78px;padding:6px 8px}.b-row .b-in.time{width:100px}.b-row .b-in.text{width:260px;max-width:100%}
.b-row .b-sel{padding:6px 8px}
.b-row .unit{color:var(--muted);font-size:12.5px}
.b-row .rm{margin-left:auto;background:none;border:0;color:var(--muted);font-size:18px;line-height:1;padding:0 4px}
.b-row .rm:hover{color:var(--red)}
.b-and{font-size:11px;font-weight:800;letter-spacing:1.5px;color:var(--muted);padding-left:12px}
.b-add{align-self:flex-start;position:relative}
.b-menu{position:absolute;z-index:5;top:calc(100% + 6px);left:0;width:320px;max-height:380px;overflow:auto;background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:0 18px 50px #000a;padding:6px}
.b-menu .grp{font-size:10px;font-weight:800;letter-spacing:1.5px;color:var(--muted);padding:8px 10px 4px}
.b-menu button{display:block;width:100%;text-align:left;background:none;border:0;color:var(--text);padding:8px 10px;border-radius:8px;font-size:13px}
.b-menu button:hover:not(:disabled){background:var(--hover)}
.b-menu button:disabled{opacity:.35}
.b-hold{font-size:12.5px;color:var(--muted);padding-left:12px}
.b-english{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border-radius:12px;background:#0f141a;border:1px dashed var(--border);font-size:13px;line-height:1.5}
.b-english .buy{color:var(--text)}.b-english .sell{color:#c4a7ff}.b-english .order{color:var(--info)}.b-english .size{color:var(--muted)}
.b-problems{margin:0;padding:10px 14px 10px 30px;border-radius:12px;background:#2a1513;border:1px solid #5c2f2a;color:var(--red);font-size:12.5px}
.b-problems:empty{display:none}
.b-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.b-empty{text-align:center;padding:36px;border:1px dashed var(--border);border-radius:16px;color:var(--muted)}
.b-empty strong{display:block;color:var(--text);font-size:16px;margin-bottom:6px}
.b-addrs{display:flex;gap:10px;flex-wrap:wrap}
/* Chips (multi-select) */
.b-chips{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center;position:relative}
.b-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 6px 4px 10px;border-radius:999px;background:var(--accent-soft);border:1px solid var(--accent-border);color:var(--text);font-size:12.5px}
.b-chip button{background:none;border:0;color:var(--muted);padding:0 2px;font-size:14px;line-height:1}
.b-chip button:hover{color:var(--red)}
.b-picker{position:relative;display:inline-block}
.b-picker .b-in{width:170px}
.b-picker .b-menu{width:280px}
/* Side summary */
.b-side .b-card{padding:18px}
.b-side ol{margin:8px 0 0;padding-left:18px;font-size:12.5px;color:var(--muted);display:flex;flex-direction:column;gap:6px}
.b-side ol b{color:var(--text)}
.b-note{font-size:12px;color:var(--muted);margin:8px 0 0}
.b-save{width:100%;padding:13px;font-size:14px}
.b-why{margin-top:10px;padding:10px 14px;border-radius:12px;background:#2a1513;border:1px solid #5c2f2a;color:var(--red);font-size:12.5px}
.b-why ul{margin:6px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:4px}
/* Modals (presets, import, manual bets) */
.b-modal{position:fixed;inset:0;z-index:60;display:grid;place-items:center;background:#000a;padding:20px;animation:b-in .2s ease both}
.b-modal .box{width:min(760px,100%);max-height:86vh;overflow:auto;background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:24px;box-shadow:0 30px 80px #000c}
.b-modal h2{margin:0 0 4px;font-size:20px;font-weight:800;text-transform:none;letter-spacing:-.2px;color:var(--text)}
.b-modal .lead{color:var(--muted);font-size:13px;margin:0 0 16px}
.b-modal .warn{font-size:12px;color:var(--gold);margin:0 0 14px}
.b-presets{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin:10px 0 20px}
.b-preset{display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:14px;background:var(--inset);border:1px solid var(--border-soft)}
.b-preset strong{font-size:14px}.b-preset p{margin:0;color:var(--muted);font-size:12.5px;flex:1}
.b-modal textarea{width:100%;min-height:160px;font:12px ui-monospace,Menlo,monospace;color:var(--text);background:var(--inset);border:1px solid var(--border);border-radius:12px;padding:12px}
.b-modal .row{display:flex;gap:10px;justify-content:flex-end;margin-top:16px;flex-wrap:wrap}
.b-modal .err{color:var(--red);font-size:12.5px;margin:10px 0 0}
.b-bet{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;background:var(--inset);border:1px solid var(--border-soft);margin-bottom:8px}
.b-bet div{flex:1;font-size:12.5px;color:var(--muted)}.b-bet strong{display:block;color:var(--text);font-size:14px}
#builder-toast{position:fixed;z-index:70;left:50%;bottom:28px;transform:translateX(-50%);background:var(--panel);border:1px solid var(--accent-border);color:var(--text);padding:12px 18px;border-radius:12px;box-shadow:0 18px 50px #000a;font-size:13px;max-width:min(640px,92vw)}
@media(max-width:1000px){.b-body{grid-template-columns:1fr}.b-side{position:static}}

/* A modal spans the overlay and centres its box (a content-sized track would push a wide box to the left). */
.b-modal{grid-template-columns:minmax(0,1fr);justify-items:center}
/* Presets: the welcome page's list and explanation, inside the builder. */
.b-modal .box.b-presets-box{width:min(1100px,100%);max-height:92vh}
.b-tabs{display:flex;gap:6px;margin:0 0 14px}
.b-tabs button{font:inherit;font-size:12.5px;font-weight:600;color:var(--muted);background:transparent;border:1px solid var(--border);border-radius:999px;padding:7px 14px;cursor:pointer}
.b-tabs button[aria-selected=true]{color:var(--text);border-color:var(--accent);background:var(--accent-soft)}
.b-pick-body{margin:0}
.b-pick-body .ob-presets,.b-pick-body .ob-explain{max-height:min(60vh,600px)}
.b-pick{font:inherit;color:inherit;width:100%}
.b-pick-side{display:flex;flex-direction:column;gap:10px;min-width:0}
.b-pick-side .b-btn{width:100%;padding:12px}

/* ---------- Rule set: three zones ---------- */
.b-rs-body{gap:14px}
.b-zone{--zc:var(--accent);border:1px solid var(--border);border-left:3px solid var(--zc);border-radius:14px;background:#12151a;overflow:visible}
.b-zone.order{--zc:var(--info)}
.b-zone.sell{--zc:#c4a7ff}
.b-zone-head{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border-soft)}
.b-zone-num{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:12.5px;color:#0c0e11;background:var(--zc)}
.b-zone-head h4{margin:0;font-size:14px;font-weight:800;letter-spacing:-.1px;color:var(--text)}
.b-zone-head p{margin:1px 0 0;font-size:12px;color:var(--muted)}
.b-zone-body{display:flex;flex-direction:column;gap:8px;padding:14px 16px}
.b-zone-empty{margin:0;padding:12px 14px;border:1px dashed var(--border);border-radius:12px;color:var(--muted);font-size:12.5px}
.b-zone-note{margin:0;font-size:12px;color:var(--muted)}
.b-zone .b-and{padding-left:14px;color:var(--zc);opacity:.8}
.b-addbtn{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:10px;border:1px dashed color-mix(in srgb,var(--zc) 55%,var(--border));
  background:color-mix(in srgb,var(--zc) 8%,transparent);color:var(--zc);font-weight:700;font-size:13px}
.b-addbtn span{font-size:16px;line-height:1}
.b-addbtn:hover{border-style:solid;background:color-mix(in srgb,var(--zc) 14%,transparent)}

/* Order zone */
.b-otypes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.b-otype{display:flex;flex-direction:column;gap:4px;text-align:left;padding:12px 14px;border-radius:12px;border:1px solid var(--border);background:var(--inset);color:var(--text)}
.b-otype strong{font-size:13.5px}.b-otype span{font-size:12px;color:var(--muted);line-height:1.45}
.b-otype:hover{border-color:color-mix(in srgb,var(--info) 60%,var(--border))}
.b-otype.on{border-color:var(--info);background:color-mix(in srgb,var(--info) 10%,var(--inset));box-shadow:inset 0 0 0 1px var(--info)}
/* Sell as has the same three choices as Buy as, laid out the same way. */
.b-ofields[data-sell-order]{grid-template-columns:repeat(3,minmax(0,1fr))}
.b-oside{display:flex;align-items:baseline;gap:10px;margin:0 0 8px}.b-oside.sell{margin-top:16px}
.b-oside span{font-size:12px;font-weight:700;color:var(--text)}.b-oside small{font-size:12px;color:var(--muted)}
.b-ofields{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:4px}
.b-ofield{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:700;color:var(--text)}
.b-ofield small{font-weight:400;color:var(--muted);line-height:1.4}
.b-ounit{display:flex;align-items:center;gap:8px}.b-ounit .b-in{width:96px}.b-ounit em{font-style:normal;color:var(--muted);font-weight:500}

/* Chips with logos, and the Choose button */
.b-chip{gap:7px;padding:3px 6px 3px 4px}
.b-chip-ico{font-size:14px;line-height:1;padding-left:4px}
.b-choose{background:none;border:1px dashed var(--border);color:var(--accent);border-radius:999px;padding:4px 12px;font-size:12.5px;font-weight:700}
.b-choose:hover{border-color:var(--accent)}
.b-logo{position:relative;display:inline-grid;place-items:center;flex:none;border-radius:50%;overflow:hidden;background:#fff1}
.b-logo img{position:absolute;inset:8%;width:84%;height:84%;object-fit:contain;z-index:1}
.b-logo .b-mono{position:absolute;inset:0;width:100%!important;height:100%!important}
.b-mono{display:inline-grid;place-items:center;flex:none;border-radius:50%;color:#fff;font-weight:800;font-size:9.5px;letter-spacing:.3px;text-shadow:0 1px 1px #0006}
/* The coloured badge shows until the logo has actually loaded, so a slow or missing logo never leaves an empty circle. */
.b-logo img{opacity:0;transition:opacity .2s}.b-logo img.ok{opacity:1}
.b-logo:has(img.ok) .b-mono{opacity:0}

/* ---------- Picker windows ---------- */
.b-modal .box.b-pick-box{width:min(920px,100%);display:flex;flex-direction:column;max-height:88vh}
.b-pick-head{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.b-pick-head .lead{margin:0}
.b-pick-search{width:100%;margin-top:6px}
.b-cpick{display:grid;grid-template-columns:180px minmax(0,1fr);gap:16px;min-height:0;flex:1;overflow:hidden}
.b-cats{display:flex;flex-direction:column;gap:4px;overflow:auto}
.b-cats button{display:flex;justify-content:space-between;align-items:center;text-align:left;background:none;border:1px solid transparent;color:var(--muted);padding:9px 12px;border-radius:10px;font-weight:700;font-size:13px}
.b-cats button span{font-size:11px;font-weight:700;color:var(--muted);background:var(--inset);border-radius:999px;padding:1px 8px}
.b-cats button:hover{color:var(--text);background:var(--hover)}
.b-cats button.on{color:var(--text);background:var(--accent-soft);border-color:var(--accent-border)}
.b-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;overflow:auto;align-content:start;padding:2px}
.b-ccard{display:flex;gap:12px;text-align:left;padding:14px;border-radius:14px;border:1px solid var(--border);background:var(--inset);color:var(--text);transition:border-color .15s,transform .15s}
.b-ccard:hover:not(:disabled){border-color:var(--accent);transform:translateY(-1px)}
.b-ccard:disabled{opacity:.45;cursor:default}
.b-cicon{flex:none;width:38px;height:38px;border-radius:10px;display:grid;place-items:center;font-size:19px;background:var(--panel);border:1px solid var(--border)}
.b-ctext{display:flex;flex-direction:column;gap:3px;min-width:0}
.b-ctext strong{font-size:13.5px}.b-ctext small{font-size:12px;color:var(--muted);line-height:1.45}
.b-ctext i,.b-ctext em{font-style:normal;font-size:10.5px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-top:2px}
.b-ctext em{color:var(--accent)}
.b-vtabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.b-vtabs button{background:var(--inset);border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:6px 12px;font-weight:700;font-size:12.5px}
.b-vtabs button.on{color:var(--text);border-color:var(--accent);background:var(--accent-soft)}
.b-vgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;overflow:auto;align-content:start;flex:1;min-height:120px;padding:2px}
.b-vcard{position:relative;display:flex;align-items:center;gap:10px;text-align:left;padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:var(--inset);color:var(--text)}
.b-vcard:hover{border-color:color-mix(in srgb,var(--accent) 60%,var(--border))}
.b-vcard span{display:flex;flex-direction:column;min-width:0}
.b-vcard strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.b-vcard small{font-size:11px;color:var(--muted)}
.b-vcard .b-vemoji{font-size:20px;width:34px;text-align:center;flex:none;display:block}
.b-vcheck{margin-left:auto;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:11px;border:1px solid var(--border);color:transparent;flex:none}
.b-vcard.on{border-color:var(--accent);background:var(--accent-soft)}
.b-vcard.on .b-vcheck{background:var(--accent);border-color:var(--accent);color:#0c0e11}
.b-pick-box .row{align-items:center}.b-vcount{margin-right:auto;font-size:12.5px}
@media(max-width:760px){.b-otypes,.b-ofields[data-sell-order]{grid-template-columns:1fr}.b-cpick{grid-template-columns:1fr}.b-cats{flex-direction:row;flex-wrap:wrap}}

/* Strategy risk limits */
.b-risk{margin-top:14px;border:1px solid var(--border);border-radius:12px;padding:0 14px}
.b-risk>summary{cursor:pointer;list-style:none;padding:12px 0;font-weight:800;font-size:13.5px}
.b-risk>summary::-webkit-details-marker{display:none}
.b-risk>summary::before{content:"▸ ";color:var(--muted)}.b-risk[open]>summary::before{content:"▾ "}
.b-risk>summary small{font-weight:500;color:var(--muted);margin-left:8px}
.b-risk .b-grid{padding-bottom:14px}
.b-flag>span{display:flex;align-items:center;gap:8px;font-weight:600;font-size:13px}
.b-flag input{accent-color:var(--accent)}

/* Buy as a single position or a combo leg (piece of a combo). */
.b-buyas{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 12px}
.b-buyas>span{font-size:12px;color:var(--muted,#9aa3ad);margin-right:4px}
.b-buyas button{font:inherit;font-size:12px;padding:6px 12px;border-radius:999px;border:1px solid var(--border,#262b31);background:var(--input,#0f1216);color:var(--text,#f4f6f8);cursor:pointer}
.b-buyas button.on{border-color:var(--accent,#ffbe1a);background:var(--accent-soft,#2e2206);color:var(--accent,#ffbe1a)}
.b-combo summary{color:var(--accent,#ffbe1a)}

/* What a rule set evaluates: its class. */
.b-class{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 14px;padding:0 0 14px;border-bottom:1px solid var(--border,#262b31)}
.b-class>span{font-size:11px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted,#9aa3ad);margin-right:6px}
.b-class button{font:inherit;font-size:12px;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid var(--border,#262b31);background:var(--input,#0f1216);color:var(--text,#f4f6f8);cursor:pointer}
.b-class button i{font-style:normal}
.b-class button.on{border-color:var(--accent,#ffbe1a);background:var(--accent-soft,#2e2206);color:var(--accent,#ffbe1a)}
.b-class small{flex-basis:100%;color:var(--muted,#9aa3ad);font-size:12px}
/* Strategies saved to a PolyWasp account, listed in Import; and the website's export button and sign-in note. */
.b-account-list{margin:0 0 14px;padding:12px 14px;background:var(--inset);border:1px solid var(--border);border-radius:12px}
.b-account-list h3{margin:0 0 8px;font-size:13px}
.b-account-list .b-note{margin:0}
.b-account-rows{display:grid;gap:6px;max-height:220px;overflow:auto}
.b-account-row{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:9px 12px;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:10px;cursor:pointer}
.b-account-row:hover{border-color:var(--accent)}
.b-account-row small{color:var(--muted);font-size:11px}
.b-save.b-export{margin-top:8px}
.b-signin{margin-top:10px}
.b-signin a{color:var(--accent)}
/* Phones: a compact header whose buttons wrap into rows (every action stays on screen),
   and tighter cards, rule sets and pop-ups. Used by the app and by polywasp.com/build. */
@media(max-width:760px){
  #builder header.b-top{flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px}
  #builder .b-title{flex:1 1 auto;font-size:16px;gap:8px}
  #builder .b-title svg{width:22px;height:22px}
  #builder header.b-top .b-btn{flex:1 1 auto;width:auto;padding:8px 10px;font-size:12.5px;text-align:center}
  #builder header.b-top .b-btn.primary{flex-basis:100%}
  #builder .b-body{padding:12px 10px 40px;gap:14px}
  #builder .b-main{gap:14px}
  #builder .b-card{padding:14px;border-radius:14px}
  #builder .b-rs-head{flex-wrap:wrap;padding:10px 12px}
  #builder .b-row{padding:8px 10px}
  .b-modal{padding:8px}
  .b-modal .box{padding:16px;max-height:94vh;border-radius:14px}
}
/* The website's builder (polywasp.com/build): a line under the header saying where a strategy goes to be tested. */
.b-webnote{margin:0;padding:9px 28px;background:var(--accent-soft);border-bottom:1px solid var(--accent-border);color:var(--gold);font-size:13px;font-weight:600}
@media(max-width:760px){.b-webnote{padding:8px 12px;font-size:12px}}
