/* SI War Room: dark neon motion dashboard (transform/opacity animations only, so it stays light at 60fps) */
body.wr{background:#05060d radial-gradient(1200px 600px at 50% -10%,rgba(255,79,216,.16),transparent 60%),radial-gradient(900px 500px at 100% 30%,rgba(43,216,255,.10),transparent 60%);color:#e9f6ff}
.wr .abar{background:rgba(5,6,13,.86);border-bottom:1px solid rgba(255,79,216,.35)}
.neon{font:900 15px var(--mono);letter-spacing:.12em;color:#ff7be3;text-shadow:0 0 8px rgba(255,79,216,.8),0 0 18px rgba(255,79,216,.45)}
.clock{font:700 11px var(--mono);color:#7ff3ff;margin-left:6px}
.wrmain{padding-top:10px}
.wr h2{font:800 15px var(--mono);letter-spacing:.06em;color:#7ff3ff;margin:0 0 8px;text-transform:uppercase}
.wr .muted{color:#8fa3b8}
.record,.panel,.brainzone,.kids{border:1px solid rgba(127,243,255,.22);background:linear-gradient(180deg,rgba(14,20,44,.92),rgba(8,10,22,.92));border-radius:18px;padding:12px;margin:12px 0;box-shadow:0 0 0 1px rgba(255,79,216,.06),0 10px 30px rgba(0,0,0,.45);min-width:0}
.rtop{display:flex;justify-content:space-between;gap:8px;align-items:center;flex-wrap:wrap}.rlab{font:800 12px var(--mono);letter-spacing:.1em;color:#ff7be3;text-transform:uppercase}
.live{font:700 11px var(--mono);color:#8fa3b8}.live.on{color:#3dffa8}.live.on::before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;background:#3dffa8;margin-right:6px;box-shadow:0 0 8px #3dffa8;animation:blink 1.4s infinite}
.spark{width:100%;height:90px;display:block;margin:8px 0 2px}
.spklegend{display:flex;gap:10px;flex-wrap:wrap;font:11px var(--mono);color:#b8c8d8}.spklegend span::before{content:'';display:inline-block;width:12px;height:3px;background:var(--c);margin-right:5px;vertical-align:middle;border-radius:2px}.spklegend .hold::before{background:repeating-linear-gradient(90deg,#5ee0ff 0 3px,transparent 3px 6px)}
.rk{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}
.kc{border:1px solid rgba(127,243,255,.16);border-radius:12px;padding:8px 10px;background:rgba(0,0,0,.25);min-width:0}.kc span{display:block;font:10.5px var(--mono);color:#8fa3b8;text-transform:uppercase;letter-spacing:.05em}.kc b{display:block;font:800 16px var(--mono);color:#e9f6ff;overflow-wrap:anywhere}
.kc b.up{color:#3dffa8}.kc b.down{color:#ff5c7a}.up{color:#3dffa8!important}.down{color:#ff5c7a!important}
.brainzone{position:relative;overflow:hidden}
.brain{display:flex;flex-direction:column;align-items:center;margin:2px auto 10px;position:relative}
.orb{width:120px;height:120px;filter:drop-shadow(0 0 14px rgba(43,216,255,.55))}
.ring{transform-origin:60px 60px}.r1{animation:spin 9s linear infinite}.r2{animation:spin 14s linear infinite reverse}
.syn{stroke-dasharray:24;stroke-dashoffset:24;animation:syn 2.4s ease-in-out infinite}
.brain.fire .orb{animation:pulse .6s ease-out}
.bname{font:900 18px var(--mono);color:#e9f6ff;letter-spacing:.2em;text-shadow:0 0 10px #2bd8ff;margin-top:-6px}.bsub{font:11px var(--mono);color:#8fa3b8}
.threads{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.th{--c:#5ee0ff;border:1px solid rgba(127,243,255,.18);border-radius:14px;padding:9px;background:rgba(3,6,16,.7);min-width:0;transition:border-color .25s,box-shadow .25s,transform .25s}
.th:last-child{grid-column:1/-1}
.th.on{border-color:var(--c);box-shadow:0 0 0 1px var(--c),0 0 18px color-mix(in srgb,var(--c) 45%,transparent);transform:translateY(-1px)}
.thh{display:flex;align-items:center;gap:6px;font:800 12px var(--mono);color:#cfe9ff}.thh b{flex:1;min-width:0;font-weight:800;overflow-wrap:anywhere}.thi{font-size:15px}
.dots{display:inline-flex;gap:3px}.dots i{width:4px;height:4px;border-radius:50%;background:#3a4a66}.th.on .dots i{background:var(--c);animation:dot 1s infinite}.th.on .dots i:nth-child(2){animation-delay:.15s}.th.on .dots i:nth-child(3){animation-delay:.3s}
.tht{font:12px/1.45 var(--mono);color:#e9f6ff;min-height:52px;margin-top:6px;overflow-wrap:anywhere}
.th:not(.on) .tht{color:#8fa3b8}
.bar{height:3px;background:rgba(255,255,255,.06);border-radius:2px;overflow:hidden;margin-top:6px}.bar span{display:block;height:100%;width:100%;background:var(--c);transform-origin:left;transform:scaleX(0)}.th.on .bar span{animation:fill 1.6s linear forwards}
.replay{font:11px var(--mono);color:#8fa3b8;margin:10px 0 0;text-align:center}
.sh{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;align-items:baseline}
.avatars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px}
.kid{--c:#5ee0ff;display:flex;flex-direction:column;align-items:center;text-decoration:none;color:inherit;border:1px solid rgba(127,243,255,.14);border-radius:14px;padding:8px 6px;background:rgba(3,6,16,.6);min-width:0;transition:box-shadow .25s,border-color .25s}
.kid .av{width:54px;height:54px;animation:bob 3s ease-in-out infinite}.kid:nth-child(2) .av{animation-delay:.4s}.kid:nth-child(3) .av{animation-delay:.8s}.kid:nth-child(4) .av{animation-delay:1.2s}.kid:nth-child(5) .av{animation-delay:1.6s}.kid:nth-child(6) .av{animation-delay:2s}
.kid .av svg{width:100%;height:100%;display:block}.kid .eyes{transform-origin:32px 29px;animation:blinkEye 5s infinite}.kid .ant{animation:blink 2s infinite}
.kid .kn{font:800 13px var(--mono);color:var(--c);margin-top:4px}.kid .kp{font:700 12px var(--mono)}
.kid .bub{font:10.5px/1.35 var(--mono);color:#b8c8d8;text-align:center;margin-top:4px;min-height:28px;overflow-wrap:anywhere;width:100%}
.kid.busy{border-color:var(--c);box-shadow:0 0 16px color-mix(in srgb,var(--c) 40%,transparent)}.kid.busy .av{animation:bobFast .5s ease-in-out infinite}.kid.busy .mouth{animation:talk .25s infinite alternate}
.kid.dead{opacity:.45;filter:grayscale(.8)}.kid.ctrl{border-style:dashed}
.feed{list-style:none;margin:0;padding:0;font:12px/1.5 var(--mono);display:grid;gap:4px}
.fe{display:grid;grid-template-columns:auto auto 1fr;gap:4px 8px;padding:6px 8px;border-radius:10px;background:rgba(0,0,0,.28);border-left:3px solid #2a3a58;min-width:0}
.fe .seq{color:#7ff3ff;text-decoration:none;font-weight:800}.fe .ft{color:#8fa3b8}.fe .fk{color:#ff7be3;font-weight:700;overflow-wrap:anywhere}.fe .fx{grid-column:1/-1;color:#e9f6ff;overflow-wrap:anywhere}
.fe.k-v3_enter{border-left-color:#ffd23f}.fe.k-v3_exit{border-left-color:#3dffa8}.fe.k-v3_fail{border-left-color:#ff5c7a}.fe.k-child_born{border-left-color:#ff4fd8}.fe.k-rulebook_commit,.fe.k-selection_commit{border-left-color:#7ff3ff}
.panel h3{font:800 12px var(--mono);color:#ff7be3;margin:10px 0 6px;text-transform:uppercase}
.tr{--c:#5ee0ff;display:flex;justify-content:space-between;gap:8px;align-items:center;flex-wrap:wrap;padding:8px 10px;border-radius:10px;background:rgba(0,0,0,.28);border-left:3px solid var(--c);margin:4px 0;font:12px var(--mono)}
.tr .tw{min-width:0;overflow-wrap:anywhere;flex:1 1 200px}.tr .pf{color:#7ff3ff;text-decoration:none;white-space:nowrap}
.tree ul{list-style:none;margin:0;padding-left:16px;border-left:1px dashed rgba(127,243,255,.3)}.tree .troot{padding-left:0;border:0}
.tree li{margin:6px 0;position:relative;--c:#5ee0ff}.tree li li::before{content:'';position:absolute;left:-16px;top:10px;width:12px;border-top:1px dashed rgba(127,243,255,.3)}
.tree .tn{font:800 13px var(--mono);color:var(--c);margin-right:6px}.tree .root>.tn{color:#7ff3ff}.tree .tg{font:11px var(--mono);color:#8fa3b8;margin-right:6px}.tree .tp{font:700 12px var(--mono)}
.tree li.dead>.tn{text-decoration:line-through;opacity:.6}.tree li.ctrl>.tn{opacity:.8}
.intel{display:grid;gap:6px}.in{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;font:12px var(--mono);padding:6px 8px;border-radius:10px;background:rgba(0,0,0,.28)}
.in .dot{width:8px;height:8px;border-radius:50%;background:#56607a}.in.on .dot{background:#3dffa8;box-shadow:0 0 8px #3dffa8}.in b{font-weight:700;color:#8fa3b8;font-size:11px;text-align:right}.in.on b{color:#3dffa8}
.foot p{font-size:13px;color:#b8c8d8}.foot .row{display:flex;gap:8px;flex-wrap:wrap}
.wr .btn.sm{background:rgba(3,6,16,.7);border-color:rgba(127,243,255,.4);color:#e9f6ff}
.rec-head,.rec-mark,.recx{display:none}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes syn{50%{stroke-dashoffset:0}100%{stroke-dashoffset:-24}}
@keyframes pulse{0%{transform:scale(1)}40%{transform:scale(1.08)}100%{transform:scale(1)}}
@keyframes blink{50%{opacity:.25}}@keyframes blinkEye{0%,92%,100%{transform:scaleY(1)}95%{transform:scaleY(.1)}}
@keyframes bob{50%{transform:translateY(-3px)}}@keyframes bobFast{50%{transform:translateY(-4px) rotate(-3deg)}}@keyframes talk{to{transform:scaleX(.5)}}
@keyframes dot{50%{transform:translateY(-3px);opacity:.5}}@keyframes fill{to{transform:scaleX(1)}}
@media (min-width:760px){.rk{grid-template-columns:repeat(4,minmax(0,1fr))}.threads{grid-template-columns:repeat(3,minmax(0,1fr))}.th:last-child{grid-column:auto}.avatars{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media (prefers-reduced-motion:reduce){.wr *{animation:none!important;transition:none!important}}
/* recorder mode: a clean 9:16 frame for screen capture */
html.rec,html.rec body{overflow:hidden;height:100%}
body.rec .abar,body.rec .fback,body.rec .panel,body.rec .kids .sh .muted{display:none!important}
body.rec #stage{width:min(100vw,calc(100vh * 9 / 16));height:min(100vh,calc(100vw * 16 / 9));margin:0 auto;padding:2.2vh 2.4vh;overflow:hidden;display:flex;flex-direction:column;gap:1.2vh;position:relative}
body.rec .rec-head{display:block;text-align:center}.rec-head .big{font-size:3.4vh}.rec-sub{font:1.4vh var(--mono);color:#8fa3b8;margin-top:.4vh}
body.rec .record,body.rec .brainzone,body.rec .kids{margin:0;padding:1.2vh}
body.rec .panel.feedrec{display:block!important}
body.rec .rec-mark{display:block;position:absolute;bottom:1vh;left:0;right:0;text-align:center;font:700 1.4vh var(--mono);color:#ff7be3;opacity:.8}
body.rec .recx{display:block;position:fixed;top:8px;right:8px;font:12px var(--mono);color:#8fa3b8;text-decoration:none;opacity:.15;z-index:9}body.rec .recx:hover{opacity:1}
body.rec #stage>*{flex-shrink:0}
body.rec .spark{height:64px}body.rec .rk{grid-template-columns:repeat(4,minmax(0,1fr));gap:.6vh}body.rec .kc{padding:.6vh .8vh}body.rec .kc b{font-size:1.6vh}body.rec .kc span{font-size:1.05vh}
body.rec .brainzone{flex:1 1 auto;flex-shrink:1;min-height:0}body.rec .orb{width:9vh;height:9vh}body.rec .brain{margin-bottom:.6vh}
body.rec .tht{min-height:4.6vh;font-size:1.3vh}body.rec .thh{font-size:1.25vh}
body.rec .avatars{grid-template-columns:repeat(6,minmax(0,1fr));gap:.5vh}body.rec .kid{padding:.6vh .3vh}body.rec .kid .av{width:5vh;height:5vh}body.rec .kid .bub{display:none}body.rec .kid .kn{font-size:1.2vh}body.rec .kid .kp{font-size:1.15vh}
body.rec .kids h2,body.rec .feedrec h2{font-size:1.4vh;margin-bottom:.6vh}
body.rec .feedrec .fe:nth-child(n+4){display:none}body.rec .feedrec{margin:0;padding:1vh}
body.rec .rec-mark{position:static;margin-top:auto}
/* v3.2 motion layer: one viewport canvas for neon streams (bursts only on real beats), radar sweep, typed engine log, avatar pulse, counters */
canvas.fx{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:5}
body.wr::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:0;background:linear-gradient(rgba(127,243,255,.045) 1px,transparent 1px) 0 0/100% 34px,linear-gradient(90deg,rgba(127,243,255,.035) 1px,transparent 1px) 0 0/34px 100%;mask-image:linear-gradient(180deg,transparent,#000 20%,#000 80%,transparent);animation:grid 18s linear infinite}
@keyframes grid{to{background-position:0 34px,34px 0}}
.wrmain{position:relative;z-index:1}
.sndbtn{background:rgba(3,6,16,.7);border:1px solid rgba(127,243,255,.4);color:#e9f6ff;border-radius:999px;min-width:34px;height:30px;font-size:14px;cursor:pointer;margin-right:6px;padding:0 8px}
.sndbtn[aria-pressed=true]{border-color:#3dffa8;box-shadow:0 0 10px rgba(61,255,168,.45)}
.recsnd,.rec-frame{display:none}
.brain .sweep{position:absolute;top:0;left:50%;width:120px;height:120px;margin-left:-60px;border-radius:50%;pointer-events:none;background:conic-gradient(from 0deg,rgba(43,216,255,0) 0 300deg,rgba(43,216,255,.08) 320deg,rgba(127,243,255,.55) 359deg,transparent 360deg);-webkit-mask:radial-gradient(circle,transparent 30%,#000 31%,#000 70%,transparent 71%);mask:radial-gradient(circle,transparent 30%,#000 31%,#000 70%,transparent 71%);animation:spin 3.2s linear infinite;will-change:transform}
.brain .sweep.go{animation:spin .9s cubic-bezier(.3,.6,.4,1) 1,spin 3.2s linear .9s infinite}
.brain::after{content:'';position:absolute;top:60px;left:50%;width:10px;height:10px;margin:-5px;border-radius:50%;border:1px solid rgba(127,243,255,.6);opacity:0;pointer-events:none}
.brain.fire::after{animation:shock .8s ease-out}
@keyframes shock{0%{opacity:.9;transform:scale(1)}100%{opacity:0;transform:scale(18)}}
.th{position:relative;overflow:hidden}
.th.on::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--c) 22%,transparent),transparent);transform:translateX(-100%);animation:scanbar 1.1s ease-out 1;pointer-events:none}
@keyframes scanbar{to{transform:translateX(100%)}}
.termw{margin-top:10px;border:1px solid rgba(61,255,168,.28);border-radius:12px;background:rgba(0,4,8,.78);overflow:hidden}
.termh{display:flex;align-items:center;gap:6px;font:700 10.5px var(--mono);color:#3dffa8;letter-spacing:.08em;text-transform:uppercase;padding:5px 9px;border-bottom:1px solid rgba(61,255,168,.18);background:rgba(61,255,168,.06)}
.termh .dot{width:7px;height:7px;border-radius:50%;background:#3dffa8;box-shadow:0 0 8px #3dffa8;animation:blink 1.4s infinite}
.term{font:11.5px/1.5 var(--mono);padding:6px 9px;min-height:calc(6 * 1.5em + 12px);color:#c9ffe6}
.term .tl{overflow-wrap:anywhere}body.rec .term .tl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.term .tl .tg{font-weight:800;margin-right:6px}
.term .tl:last-child:not(.done) .tx::after{content:'▌';color:#3dffa8;animation:blink .7s infinite}
.term .tl:not(:last-child){opacity:.72}
.kid{position:relative}
.kid .av{position:relative}
.kid .av::after{content:'';position:absolute;inset:-6px;border-radius:50%;box-shadow:0 0 0 2px var(--c),0 0 18px var(--c);opacity:0;pointer-events:none}
.kid.act .av::after{animation:ping .9s ease-out}
.kid.act{animation:glow .9s ease-out}
.kid .av svg{filter:drop-shadow(0 0 6px color-mix(in srgb,var(--c) 60%,transparent))}
@keyframes ping{0%{opacity:1;transform:scale(.7)}100%{opacity:0;transform:scale(1.5)}}
@keyframes glow{0%{box-shadow:0 0 0 1px var(--c),0 0 26px var(--c)}100%{box-shadow:0 0 16px color-mix(in srgb,var(--c) 40%,transparent)}}
.kc b.ticking{text-shadow:0 0 12px currentColor}
.kc.hero b{font-size:20px;color:#7ff3ff;text-shadow:0 0 10px rgba(43,216,255,.5)}
@media (prefers-reduced-motion:reduce){body.wr::before,.brain .sweep,.th.on::after,.kid.act .av::after,.kid.act{animation:none!important}canvas.fx{display:none}}
/* ?rec=1: 9:16 stage with neon frame, big hero counter, engine log instead of the feed list */
body.rec .rec-frame{display:block;position:absolute;inset:.6vh;border:2px solid #ff4fd8;border-radius:2.2vh;box-shadow:0 0 18px rgba(255,79,216,.6),inset 0 0 18px rgba(255,79,216,.25);pointer-events:none;z-index:3}
body.rec .recsnd{display:block;position:absolute;top:1.6vh;right:1.8vh;z-index:6;height:3.2vh;min-width:3.2vh;font-size:1.6vh;opacity:.55}
body.rec .panel.feedrec{display:none!important}
body.rec .rec-head .big{font-size:4vh;letter-spacing:.2em}
body.rec .rk{grid-template-columns:repeat(3,minmax(0,1fr))}
body.rec .kc.hero{grid-column:1/-1;display:flex;align-items:baseline;justify-content:space-between;padding:.8vh 1.2vh;border-color:rgba(43,216,255,.5);box-shadow:inset 0 0 20px rgba(43,216,255,.12)}
body.rec .kc.hero span{font-size:1.4vh}body.rec .kc.hero b{font-size:3.6vh}
body.rec .orb{width:11vh;height:11vh}body.rec .brain .sweep{width:11vh;height:11vh;margin-left:-5.5vh}body.rec .brain::after{top:5.5vh}
body.rec .term{font-size:1.25vh;min-height:calc(7 * 1.5em + 1vh);padding:.6vh 1vh}body.rec .termh{font-size:1.1vh;padding:.5vh 1vh}body.rec .termw{margin-top:.8vh}
body.rec .tht{min-height:3.4vh}
body.rec .replay{margin-top:.6vh;font-size:1.15vh}
body.rec .spark{height:6vh;margin:.4vh 0}body.rec .spklegend{font-size:1.05vh;gap:.8vh}
body.rec .kc:nth-child(n+5){display:none}body.rec .rk{margin-top:.6vh}
body.rec .orb{width:9vh;height:9vh}body.rec .brain .sweep{width:9vh;height:9vh;margin-left:-4.5vh}body.rec .brain::after{top:4.5vh}body.rec .bname{font-size:1.7vh}body.rec .bsub{font-size:1.05vh}
body.rec .threads{gap:.6vh}body.rec .th{padding:.7vh .9vh}body.rec .tht{min-height:0;height:calc(2 * 1.4em);line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:.4vh}body.rec .th .bar{margin-top:.4vh}
body.rec .term{min-height:calc(6 * 1.5em + 1vh)}
body.rec .recsnd{right:auto;left:1.8vh}
body.rec .kids{padding:.8vh 1.2vh}
body.rec .threads{grid-template-columns:repeat(6,minmax(0,1fr))}body.rec .th{grid-column:span 2}body.rec .th:nth-child(4),body.rec .th:nth-child(5){grid-column:span 3}
body.rec .thh b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body.rec .thi{font-size:1.4vh}
body.rec .kids .sh{display:none}body.rec .avatars{margin-top:0}body.rec .kid .av{width:4.4vh;height:4.4vh}
body.rec .rec-head .big{font-size:3.4vh}body.rec .rec-sub{font-size:1.2vh}
body.rec .kc.hero b{font-size:3.2vh}
body.rec .term{min-height:calc(5 * 1.5em + 1vh)}
