:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #ecf7df;--muted: #93a986;--panel: rgba(8, 20, 22, .86);--panel-strong: rgba(12, 31, 33, .96);--field: #071012;--phosphor: #b7ff4a;--cyan: #69f7ff;--amber: #ffb02e;--danger: #ff5d4d;--line: rgba(183, 255, 74, .22)}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;color:var(--ink);background:radial-gradient(circle at 20% 10%,rgba(105,247,255,.18),transparent 28rem),radial-gradient(circle at 82% 28%,rgba(255,176,46,.14),transparent 24rem),linear-gradient(120deg,rgba(183,255,74,.08) 1px,transparent 1px),linear-gradient(0deg,rgba(183,255,74,.05) 1px,transparent 1px),var(--field);background-size:auto,auto,44px 44px,44px 44px,auto}button,input{font:inherit}.app-shell{width:min(1240px,calc(100% - 24px));margin:0 auto;padding:18px 0}.eyebrow{margin:0 0 14px;color:var(--cyan);font-size:.82rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase}h1,h2{margin:0;letter-spacing:-.055em}h1{max-width:850px;font-size:clamp(4rem,12vw,9.5rem);line-height:.78;text-transform:uppercase}h2{font-size:clamp(2rem,4vw,4rem);line-height:.88}.lede{max-width:720px;margin:28px 0 0;color:var(--muted);font-family:ui-serif,Georgia,serif;font-size:clamp(1.08rem,2vw,1.42rem);line-height:1.55}.metric-label{display:block;color:var(--muted);font-size:.78rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.runtime-panel,.swarm-panel{padding:clamp(24px,5vw,44px)}.runtime-panel,.swarm-panel{border:1px solid var(--line);background:linear-gradient(135deg,#0c1f21fa,#081416e0),radial-gradient(circle at 18% 20%,rgba(183,255,74,.08),transparent 30rem);box-shadow:0 28px 90px #00000070,inset 0 1px #ffffff0d}.panel-header{display:flex;align-items:start;justify-content:space-between;gap:24px}.panel-header__meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.panel-header__meta .eyebrow{margin:0}.panel-version{border:1px solid rgba(105,247,255,.36);padding:2px 10px;color:var(--cyan);font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.panel-repo-link{display:inline-flex;align-items:center;justify-content:center;min-width:28px;padding:1px 8px;border:1px solid rgba(105,247,255,.36);color:var(--cyan);text-decoration:none;font-size:.96rem;font-weight:700;line-height:1}.panel-repo-link:hover,.panel-repo-link:focus-visible{border-color:#69f7ffb3;color:var(--ink)}.splash-modal{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:24px;background:#040a0cd6}.splash-modal__card{position:relative;width:min(560px,calc(100% - 32px));border:1px solid rgba(105,247,255,.36);padding:20px 20px 18px;background:linear-gradient(135deg,#0b1d1ffa,#071214f5);box-shadow:0 18px 60px #00000080;cursor:pointer}.splash-modal__card h3{margin:10px 0 0;letter-spacing:-.02em;font-size:clamp(1.4rem,2.2vw,1.9rem)}.splash-modal__card p{margin:12px 0 0}.splash-modal__close{position:absolute;top:10px;right:10px;min-width:36px;padding:6px 10px;font-size:1.1rem;line-height:1}.debug-modal{position:fixed;inset:0;z-index:19;display:grid;place-items:center;padding:24px;background:#040a0cd6}.debug-modal--hidden{opacity:0;visibility:hidden;pointer-events:none}.debug-modal__card{position:relative;width:min(720px,calc(100% - 32px));max-height:calc(100vh - 72px);overflow-y:auto;border:1px solid rgba(105,247,255,.36);padding:20px 20px 18px;background:linear-gradient(135deg,#0b1d1ffa,#071214f5);box-shadow:0 18px 60px #00000080}.debug-modal__close{position:absolute;top:10px;right:10px;min-width:36px;padding:6px 10px;font-size:1.1rem;line-height:1}.status-pill{border:1px solid currentColor;padding:8px 12px;font-size:.82rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.status-pill--blocked{color:var(--amber)}.status-pill--ready{color:var(--phosphor)}.artifact-field{display:grid;gap:10px;max-width:620px;margin-top:34px;color:var(--muted);font-size:.86rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.artifact-field input{width:100%;border:1px solid rgba(105,247,255,.34);border-radius:0;outline:none;padding:16px 18px;color:var(--ink);background:#00000052;letter-spacing:.04em}.artifact-field input:focus{border-color:var(--cyan);box-shadow:0 0 0 4px #69f7ff1f}.artifact-field--compact{margin-top:0}.artifact-field--compact input{padding:12px}.hint{max-width:700px;margin:12px 0 0;color:var(--muted)}.hint--error{color:var(--danger)}.readiness-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:28px}.readiness-grid article{padding:18px;border:1px solid rgba(183,255,74,.18);background:#b7ff4a0b}.readiness-grid strong{display:block;margin-top:8px;color:var(--phosphor);font-size:clamp(1.3rem,3vw,2rem)}.capability-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:24px;border:1px solid rgba(147,169,134,.22);background:#93a98638}.simulator-card{margin-top:24px;padding:18px;border:1px solid rgba(255,176,46,.34);background:#ffb02e0f}.simulator-card strong{display:block;margin-top:8px;color:var(--amber);font-size:clamp(1.2rem,2vw,1.7rem)}.simulator-card p{max-width:850px;margin:10px 0 0;color:var(--muted)}.capability-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;background:#071012e6}.capability-row strong{color:var(--amber);text-transform:uppercase}.capability-row strong[data-state=ready]{color:var(--phosphor)}.capability-row strong[data-state=blocked]{color:var(--danger)}.format-strip{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.format-strip span{border:1px solid rgba(105,247,255,.28);padding:8px 10px;color:var(--cyan);font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.control-stack,.toolbar-card{display:flex;flex-wrap:wrap;gap:10px}.canvas-state-panel{margin-top:12px;border:1px solid rgba(105,247,255,.26);padding:12px;background:#050d0fb8;display:grid;gap:10px}.canvas-state-panel__section{display:grid;gap:8px}.canvas-state-panel__actions{display:flex;flex-wrap:wrap;gap:8px}.canvas-state-toggle{margin-top:0;width:auto;border:1px solid rgba(105,247,255,.38);padding:8px 12px;background:#69f7ff14}.canvas-state-toggle input{margin:0}.canvas-state-upload{border:1px solid rgba(105,247,255,.38);padding:10px 13px;color:var(--ink);background:#69f7ff14;cursor:pointer;font-size:.78rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.canvas-state-upload input{display:none}.canvas-state-drop{border:1px dashed rgba(105,247,255,.35);padding:10px 12px;font-size:.72rem;color:var(--cyan);letter-spacing:.08em;text-transform:uppercase}.canvas-state-drop--active{border-color:var(--cyan);background:#69f7ff14}.canvas-state-saved{display:grid;gap:8px}.canvas-state-saved__row{display:flex;gap:8px}.canvas-state-saved__item{justify-content:flex-start;flex:1 1 auto}.canvas-state-saved__delete{flex:0 0 auto}button{border:1px solid rgba(105,247,255,.38);padding:10px 13px;color:var(--ink);background:#69f7ff14;cursor:pointer;font-size:.78rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}button:hover:not(:disabled){border-color:var(--cyan);box-shadow:0 0 24px #69f7ff1f}button:disabled{cursor:not-allowed;opacity:.45}.swarm-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,320px);gap:20px;margin-top:28px}.canvas-wrap{min-height:420px}.swarm-canvas{display:block;width:100%;height:min(60vw,560px);min-height:420px;touch-action:none;border:1px solid rgba(105,247,255,.24);background:linear-gradient(90deg,rgba(105,247,255,.07) 1px,transparent 1px),linear-gradient(0deg,rgba(105,247,255,.06) 1px,transparent 1px),#0003;background-size:36px 36px}.canvas-field{fill:#050d0f9e}.radio-link{stroke:var(--cyan);stroke-dasharray:7 9;stroke-linecap:round;stroke-width:2;opacity:.64}.source-node,.microbit-node{cursor:grab}.source-node:active,.microbit-node:active{cursor:grabbing}.source-radius{fill:url(#source-glow);stroke:#ffb02e3d;stroke-dasharray:6 10;pointer-events:none}.source-radius--sound{fill:#69f7ff14;stroke:#69f7ff40}.source-radius--magnet{fill:#ff5d4d12;stroke:#ff5d4d47}.source-core{fill:#ffb02ed6;stroke:#ffffffb8;stroke-width:2}.source-node--sound .source-core{fill:#69f7ffb8}.source-magnet{stroke:#ffffffbd;stroke-width:1.6}.source-magnet--north{fill:#ff5d4de6}.source-magnet--south{fill:#69f7ffd1}.source-node text{fill:#061012;font-size:.9rem;font-weight:900;pointer-events:none}.radio-radius{fill:url(#radio-glow);stroke:#69f7ff2e;stroke-width:1.5;pointer-events:none}.microbit-body{fill:#0b2325f5;stroke:#b7ff4a8c;stroke-width:2}.microbit-node--selected .microbit-body{stroke:var(--phosphor);filter:drop-shadow(0 0 16px rgba(183,255,74,.34))}.runtime-activity{fill:none;opacity:0;pointer-events:none;transition:opacity .16s ease-in-out}.runtime-activity--tx{stroke:#69f7ffd1;stroke-width:2;stroke-dasharray:6 8}.runtime-activity--sound{stroke:#ffb02ee0;stroke-width:1.6;stroke-dasharray:2 6}.runtime-activity--active{opacity:1;animation:runtime-activity-pulse .48s ease-out}.runtime-sound-badge{pointer-events:none}.runtime-sound-badge circle{fill:#ffb02ef2;stroke:#070a0ceb;stroke-width:1.2}.runtime-sound-badge path{fill:none;stroke:#061012;stroke-linecap:round;stroke-width:1.4}.runtime-sound-badge__speaker{fill:#061012;stroke:none}.button-dot{fill:#ffb02ed1}.button-dot--interactive{cursor:pointer}.button-dot--combo{fill:#ffb02ed1}.button-dot-label{fill:#061012;font-size:.34rem;font-weight:900;letter-spacing:.02em;pointer-events:none;dominant-baseline:middle}.button-combo-link{pointer-events:none}.button-combo-link path{fill:none;stroke:#69f7ff5c;stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round}.runtime-state{pointer-events:none}.runtime-state circle{stroke:#070a0cf2;stroke-width:1.5}.runtime-state--pending circle{fill:#ffb02eeb}.runtime-state--ready circle{fill:#b7ff4af2}.runtime-state--failed circle{fill:#ff5f5ff2}.runtime-state--error circle{fill:#ff5f5ff2}.led-pixel{fill:#93a98642}.led-pixel--lit{fill:var(--danger);filter:drop-shadow(0 0 4px rgba(255,93,77,.8))}@keyframes runtime-activity-pulse{0%{transform:scale(.9)}50%{transform:scale(1.04)}to{transform:scale(1)}}.node-label{fill:var(--ink);font-size:.78rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;pointer-events:none}.swarm-sidebar{display:flex;flex-direction:column;gap:14px;position:relative}.swarm-sidebar-footer{margin-top:auto}.swarm-sidebar-debug-button{width:100%}.swarm-sidebar--drop-enabled{outline:1px dashed rgba(105,247,255,.18);outline-offset:4px}.swarm-sidebar--drag-over{outline-color:#69f7ff9e}.dropzone-hint{margin:0;padding:10px 12px;border:1px dashed rgba(105,247,255,.28);color:var(--cyan);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.swarm-sidebar-drop-overlay{position:absolute;inset:0;z-index:2;display:grid;place-items:center;border:2px dashed rgba(105,247,255,.65);background:#050d0fe6;color:var(--cyan);text-align:center;font-size:.86rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;pointer-events:none}.toolbar-card,.selection-card,.telemetry-card,.radio-inspector-card,.runtime-host-card{border:1px solid rgba(147,169,134,.24);padding:16px;background:#00000038}.toolbar-card .metric-label,.selection-card .metric-label,.telemetry-card .metric-label,.radio-inspector-card .metric-label,.runtime-host-card .metric-label{flex-basis:100%;margin-bottom:2px}.selection-card>strong,.telemetry-card>strong{display:block;margin-top:8px;color:var(--phosphor);font-size:1.45rem;text-transform:uppercase}.selection-name-row{display:flex;align-items:center;gap:8px;margin-top:8px}.selection-name{flex:1;min-width:0;margin:0;color:var(--phosphor);font-size:1.2rem;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.selection-name-edit{padding:4px 8px;min-width:auto;font-size:.95rem;line-height:1}.selection-name-input{width:100%;margin-top:8px;border:1px solid rgba(147,169,134,.36);background:#050d0ff5;color:var(--ink);font:inherit;font-weight:700;letter-spacing:.04em;padding:8px 10px}.selection-name-input:focus{outline:1px solid rgba(105,247,255,.65);outline-offset:1px}.selection-card p,.telemetry-card p,.radio-inspector-card p{margin:10px 0 0;color:var(--muted)}.selection-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.selection-actions button{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;font-size:.7rem}.selection-artifact-block{margin-top:12px;padding-top:12px;border-top:1px solid rgba(147,169,134,.2);display:grid;gap:6px}.selection-artifact-block p{margin:0;color:var(--muted);font-size:.78rem}.radio-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0}.radio-summary div{border:1px solid rgba(183,255,74,.16);padding:8px;background:#b7ff4a0a}.radio-summary dt{color:var(--muted);font-size:.68rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.radio-summary dd{margin:4px 0 0;color:var(--phosphor);font-size:1.1rem;font-weight:900}.device-log{margin-top:16px;border-top:1px solid rgba(147,169,134,.2);padding-top:12px}.compact-inspector{padding:0;font-size:.76rem}.compact-inspector summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;cursor:pointer;list-style:none}.compact-inspector summary::-webkit-details-marker{display:none}.compact-inspector summary:after{content:"+";color:var(--cyan);font-weight:900}.compact-inspector[open] summary:after{content:"-"}.compact-inspector summary>strong{display:inline-grid;min-width:2.1rem;min-height:2.1rem;place-items:center;border:1px solid rgba(105,247,255,.28);color:var(--cyan);font-size:.82rem}.compact-inspector__body{max-height:200px;overflow:auto;border-top:1px solid rgba(147,169,134,.18);padding:8px 12px 12px}.device-log__line,.radio-event{border-left:2px solid rgba(105,247,255,.36);padding-left:8px;margin:8px 0 0}.device-log strong,.radio-event strong{color:var(--cyan);text-transform:uppercase}.radio-event{display:grid;gap:2px}.radio-event__payload,.radio-event__meta{margin:0}.radio-event__payload{color:var(--cyan);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.72rem}.radio-event__meta{color:var(--muted);font-size:.7rem}.device-log__line{margin:8px 0 0;display:flex;gap:8px;align-items:baseline}.device-log__type{min-width:4.2ch;color:var(--cyan);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.68rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.runtime-host-card{display:grid;gap:12px;background:linear-gradient(135deg,#b7ff4a12,#69f7ff09),#0003}.runtime-host-mount--hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}.runtime-host-card>div>strong{display:block;margin-top:8px;color:var(--phosphor)}.runtime-host-actions{display:flex;flex-wrap:wrap;gap:8px}.runtime-frame-grid{display:flex;gap:10px;overflow-x:auto;overflow-y:hidden;padding:2px 2px 10px;scroll-snap-type:x proximity}.runtime-frame-grid--hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}.runtime-frame-card{flex:0 0 min(250px,82vw);scroll-snap-align:start;border:1px solid rgba(105,247,255,.2);background:#0000003d}.runtime-frame-card--hidden{flex:0 0 auto;width:1px;height:1px;border:0;background:transparent}.runtime-frame-card__header{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid rgba(105,247,255,.16);padding:7px 9px}.runtime-frame-card__header strong,.runtime-frame-card__header span{color:var(--cyan);font-size:.68rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.runtime-frame-card__header span{color:var(--muted)}.runtime-frame-card iframe{width:100%;height:142px;border:0;background:#020809}.runtime-frame-card__body{padding:11px 10px;color:var(--muted);font-size:.76rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.runtime-frame-card--virtual .runtime-frame-card__body{min-height:66px;display:grid;place-items:center start}.runtime-frame-card__body--makecode{gap:10px;width:100%;place-items:initial}.runtime-frame-card__note{margin:0;color:var(--muted);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.virtual-simulator{width:100%;display:grid;gap:10px}.virtual-simulator__led-grid{width:min(100%,170px);margin:0 auto;display:grid;grid-template-columns:repeat(5,1fr);gap:6px;border:1px solid rgba(105,247,255,.2);padding:8px;background:#020809e6}.virtual-led-pixel{width:18px;aspect-ratio:1;border-radius:5px;background:#93a9863d}.virtual-led-pixel--lit{background:var(--phosphor);box-shadow:0 0 8px #b7ff4a8c}.virtual-simulator__button-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.virtual-simulator__button-row button{padding:8px;font-size:.68rem}.runtime-load-list{display:grid;gap:6px}.runtime-load-list p{margin:0;color:var(--muted)}.runtime-load-list strong[data-state=loaded]{color:var(--phosphor)}.runtime-load-list strong[data-state=prepared]{color:var(--cyan)}.runtime-load-list strong[data-state=failed]{color:var(--danger)}.toggle-field,.range-field{display:grid;gap:8px;width:100%;margin-top:12px;color:var(--muted);font-size:.78rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.toggle-field{grid-template-columns:auto 1fr;align-items:center}.range-field input{accent-color:var(--phosphor)}@media(max-width:760px){.readiness-grid,.capability-list,.swarm-layout{grid-template-columns:1fr}}
