.ec-dark{background:var(--sim-bg);color:var(--sim-ink);border-radius:var(--radius);margin:20px 0;padding:12px}.ec-dark .sim-btn{color:var(--sim-ink);background:#16212f;border-color:#33445a}.ec-dark .sim-btn[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.ec-dark .sim-btn:disabled{opacity:.5;cursor:default}.ec-dark svg text{font-family:var(--font)}.ec-dim{color:var(--sim-dim)}.ec-row{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.ec-caption{min-height:2.6em;margin:8px 0 0;font-size:15.5px}.ec-steps{border-top:1px solid #263448;gap:6px;margin:12px 0 0;padding:10px 0 0;font-size:14.5px;list-style:none;display:grid}.ec-steps li{color:var(--sim-dim);grid-template-columns:24px 1fr;gap:8px;display:grid}.ec-steps li>span{border:1.5px solid #46586f;border-radius:50%;place-items:center;width:22px;height:22px;font-size:12px;font-weight:700;display:grid}.ec-steps li[data-done]{color:var(--sim-ink)}.ec-steps li[data-done]>span{background:var(--good);border-color:var(--good);color:#fff}.ec-pulse{animation:1.6s ease-in-out infinite ec-pulse}@keyframes ec-pulse{50%{border-color:#ffd36b;box-shadow:0 0 0 3px #ffd36b40}}.fb-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;display:flex}.fb-el{align-items:baseline;gap:8px;display:flex}.fb-el b{font-size:26px}.fb-config{font-variant-numeric:tabular-nums;color:#9fd0ff;font-weight:600}.fb-svg{width:100%;max-width:560px;height:auto;margin:6px auto 0;display:block}.fb-box{fill:#121c2b;stroke:#46586f;stroke-width:1.5px}.fb-floor[data-full] .fb-box{stroke:#4cc26a}.fb-floor[data-hi] .fb-box{stroke:#ffd36b;stroke-width:3px;animation:1.2s ease-in-out infinite ec-hi}@keyframes ec-hi{50%{fill:#3a3215}}.fb-e{fill:none;stroke:#ffb27a;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.fb-e.down{stroke:#7fd0ff}.fb-new{animation:.55s cubic-bezier(.5,0,.75,0) both ec-drop}@keyframes ec-drop{0%{transform:translateY(var(--drop));opacity:.2}to{opacity:1;transform:translateY(0)}}.fb[data-reduced] *{animation:none!important}.fb-predict{background:#ffd36b1f;border:1px solid #6b5a22;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;padding:8px 10px;font-weight:600;display:flex}.fb-predict .sim-btn{min-width:80px}.cbx-list{gap:12px;display:grid}.cbx-row{border-bottom:1px solid var(--border);gap:4px;padding-bottom:10px;display:grid}.cbx-row:last-child{border-bottom:0;padding-bottom:0}.cbx-name{flex-wrap:wrap;align-items:baseline;gap:2px 10px;font-weight:700;line-height:1.3;display:flex}.cbx-name small{color:var(--text-muted);font-size:13.5px;font-weight:400}.cbx-subs{flex-wrap:wrap;gap:4px 12px;display:flex}.cbx-sub{color:var(--text-muted);justify-items:center;gap:2px;font-size:13px;display:grid}.cbx-boxes{display:flex}.cbx-box{border:1.5px solid var(--text-muted);width:32px;height:32px;color:var(--text);letter-spacing:-2px;justify-content:center;align-items:center;margin-left:-1.5px;font-size:18px;font-weight:700;line-height:1;display:flex}.cbx-box:first-child{margin-left:0}.cbx-box .u{color:#c2410c}.cbx-box .d{color:#1d6fd1}.cbx-config{color:var(--text-muted);font-size:14.5px}.cbx-core{color:var(--text-muted);align-self:flex-start;font-weight:600;line-height:32px}.cb2-top{flex-wrap:wrap;justify-content:space-between;gap:8px 16px;margin-bottom:10px;display:flex}.cb2-el{flex:260px;align-items:center;gap:6px;display:flex}.cb2-select{border:1px solid var(--border);background:var(--surface);min-width:0;min-height:40px;color:var(--text);font:inherit;border-radius:10px;flex:1;padding:0 8px;font-size:15px}.cb2-charges{align-items:center}.cb2-charges .sim-btn{font-variant-numeric:tabular-nums;min-width:40px;min-height:40px;padding:0 6px}.cb2-lab{color:var(--text-muted);flex-basis:100%;margin-right:2px;font-size:13px}.cb2-goal{border-radius:var(--radius);background:var(--surface-2);flex-wrap:wrap;justify-content:space-between;gap:4px 12px;margin-bottom:10px;padding:8px 12px;display:flex}.cb2-species{font-size:20px}.cb2-dim{color:var(--text-muted);font-size:14px}.cb2-count{font-weight:600}.cb2-count[data-done]{color:var(--good)}.cb2-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:14px;display:grid}@media (width<=780px){.cb2-grid{grid-template-columns:minmax(0,1fr)}}.cb2-tools{margin-bottom:8px}.cb2-tools .sim-btn{padding:0 10px;font-size:14.5px}.cb2-board{gap:6px;margin:0;display:grid;position:relative}.cb2-axis{color:var(--sim-dim);font-size:13px}.cb2-row{grid-template-columns:62px 1fr;align-items:center;gap:8px;display:grid}.cb2-sub{text-align:right;line-height:1.2;display:grid}.cb2-sub b{font-size:18px}.cb2-sub span{color:var(--sim-dim);font-size:11.5px}.cb2-boxes{flex-wrap:wrap;display:flex}.cb2-box{width:46px;height:46px;color:var(--sim-ink);font:inherit;cursor:pointer;touch-action:manipulation;background:#121c2b;border:1.5px solid #5d6f86;justify-content:center;align-items:center;gap:2px;margin-left:-1.5px;padding:0;font-size:24px;font-weight:700;line-height:1;display:inline-flex}.cb2-box:first-child{border-radius:6px 0 0 6px;margin-left:0}.cb2-box:last-child{border-radius:0 6px 6px 0}.cb2-box:only-child{border-radius:6px}.cb2-box:hover{background:#1b2a40}.cb2-row[data-full] .cb2-box{border-color:#4cc26a}.cb2-box .up{color:#ffb27a}.cb2-box .dn{color:#7fd0ff}.cb2-box .new{animation:.35s ease-out both cb2-drop}@keyframes cb2-drop{0%{opacity:0;transform:translateY(-22px)}}.cb2-board[data-reduced] .new{animation:none}.cb2-mrow{color:var(--sim-dim);grid-template-columns:62px 1fr;gap:8px;font-size:12px;display:grid}.cb2-msg{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2);min-height:5.2em;padding:10px 12px;font-size:15px}.cb2-msg.error{background:#e5534b1a;border-color:#e5534b}.cb2-msg.info{border-color:var(--accent);background:var(--accent-soft)}.cb2-msg.ok{border-color:var(--good);background:var(--good-soft)}.cb2-read{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin:12px 0 0;display:grid}.cb2-read .wide{grid-column:span 2}.cb2-read dt{color:var(--text-muted);font-size:12.5px}.cb2-read dd{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0;font-weight:600}.cb2-bottom{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin-top:14px;display:grid}@media (width<=820px){.cb2-bottom{grid-template-columns:minmax(0,1fr)}}
