:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#17201c;font-synthesis:none;text-rendering:optimizelegibility;--ink:#17201c;--muted:#62706a;--line:#cbd4cf;--surface:#f8faf9;--surface-strong:#fff;--green:#0b7655;--green-soft:#d8eee5;--yellow:#f2c94c;--coral:#df6b57;--charcoal:#202b27;background:#e8eeeb;font-family:IBM Plex Sans,sans-serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{background-color:#e8eeeb;background-image:repeating-linear-gradient(90deg,#0000 0 31px,#17201c06 32px);min-height:100vh}button,input{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible{outline-offset:2px;outline:3px solid #0b765540}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff")}.app-shell{min-height:100vh}.topbar{color:#f7faf8;background:var(--charcoal);border-bottom:4px solid var(--yellow);justify-content:space-between;align-items:center;gap:20px;min-height:76px;padding:14px 22px;display:flex}.brand-block,.section-heading,.heading-actions,.metric-label,.interaction-actions,.dialog-heading,.dialog-actions{align-items:center;display:flex}.brand-block{gap:13px}.brand-mark{border:2px solid var(--yellow);width:44px;height:44px;color:var(--yellow);flex:0 0 44px;place-items:center;font-family:IBM Plex Mono,monospace;font-size:21px;font-weight:500;display:grid}.topbar h1,.section-heading h2,.device-header h2,.device-dialog h2,.empty-stage h2{letter-spacing:0;margin:0;font-weight:600}.topbar h1{font-size:22px}.eyebrow{color:var(--muted);text-transform:uppercase;letter-spacing:0;margin:0 0 3px;font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:500;line-height:1.2}.topbar .eyebrow{color:#9eb0a8}.connection-state{color:#ccd7d2;white-space:nowrap;border:1px solid #52615a;border-radius:5px;align-items:center;gap:7px;min-height:34px;padding:0 11px;font-size:13px;display:inline-flex}.connection-state.online{color:#8ee0bb;border-color:#4eae88}.connection-state.connecting{color:var(--yellow)}.connection-state.offline{color:#f09b8b;border-color:#9c6258}.workspace{background:var(--surface);border-inline:1px solid var(--line);grid-template-columns:276px minmax(440px,1fr) 292px;max-width:1500px;min-height:calc(100vh - 80px);margin:0 auto;display:grid}.inventory-panel,.activity-panel{background:#eef3f0;min-width:0;padding:22px 18px}.inventory-panel{border-right:1px solid var(--line)}.activity-panel{border-left:1px solid var(--line)}.section-heading{justify-content:space-between;gap:12px;min-height:42px;margin-bottom:18px}.section-heading h2{font-size:19px}.heading-actions{gap:7px}.icon-button{border:1px solid var(--line);background:var(--surface-strong);cursor:pointer;border-radius:5px;place-items:center;width:36px;height:36px;padding:0;display:grid}.icon-button:hover{background:#f2f5f3;border-color:#8f9d96}.icon-button.primary{border-color:var(--green);color:#fff;background:var(--green)}.device-list{gap:8px;display:grid}.device-item{text-align:left;cursor:pointer;background:#ffffffb8;border:1px solid #d5dcd8;border-radius:6px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:68px;padding:10px;transition:border-color .16s,background-color .16s,transform .16s;display:grid}.device-item:hover{border-color:#96a49d;transform:translate(2px)}.device-item.selected{border-color:var(--green);box-shadow:inset 3px 0 0 var(--green);background:#fff}.mini-face{background:#25312c;border-radius:5px;justify-content:center;align-items:center;gap:8px;width:42px;height:38px;display:flex}.mini-face i{background:#a5d7c2;border-radius:2px;width:5px;height:8px;display:block}.mini-face.happy i{background:var(--yellow);border-radius:5px 5px 2px 2px;height:5px}.device-item-copy{gap:2px;min-width:0;display:grid}.device-item-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.device-item-copy small,.device-id,.activity-entry time{color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:10px}.energy-value{color:var(--green);font-family:IBM Plex Mono,monospace;font-size:11px}.empty-inventory,.empty-stage{color:#819089;text-align:center;place-items:center;display:grid}.empty-inventory{border:1px dashed #bdc8c2;border-radius:6px;min-height:160px;padding:24px}.empty-inventory p{margin:9px 0 0;font-size:13px}.simulation-panel{background-color:var(--surface);background-image:linear-gradient(#17201c09 1px,#0000 1px),linear-gradient(90deg,#17201c09 1px,#0000 1px);background-size:24px 24px;min-width:0;padding:28px clamp(22px,4vw,54px)}.device-header{justify-content:space-between;align-items:flex-start;gap:20px;min-height:64px;display:flex}.device-header h2{overflow-wrap:anywhere;max-width:440px;font-size:30px;line-height:1.1}.device-id{margin-top:7px;display:inline-block}.mood-chip{color:#54615b;background:#f1f4f2;border:1px solid #c4cdc8;border-radius:999px;min-height:30px;padding:6px 10px;font-size:12px;font-weight:600}.mood-chip.happy{color:#594814;background:#fff3bf;border-color:#e1bd45}.device-stage{place-items:center;min-height:330px;display:grid}.rokemon-body{background:#dfe6e2;border:2px solid #141c19;border-radius:28px 28px 18px 18px;place-items:center;width:218px;height:248px;padding:25px 20px;animation:.44s ease-out both device-arrive;display:grid;position:relative;box-shadow:inset 0 -18px #c7d0cb,0 17px 0 -9px #141c1921}.rokemon-body:before,.rokemon-body:after{content:"";background:#cbd5d0;border:2px solid #141c19;width:13px;height:75px;position:absolute;top:92px}.rokemon-body:before{border-radius:8px 0 0 8px;left:-16px}.rokemon-body:after{border-radius:0 8px 8px 0;right:-16px}.antenna{background:#141c19;width:3px;height:36px;position:absolute;top:-36px}.antenna:after{content:"";background:var(--coral);border:2px solid #141c19;border-radius:50%;width:15px;height:15px;position:absolute;top:-8px;left:-6px}.face-screen{background:#17221e;border:3px solid #101714;border-radius:10px;place-items:center;width:164px;height:122px;display:grid;position:relative;box-shadow:inset 0 0 0 5px #26342e}.eyes{gap:46px;display:flex}.eyes span{background:#95e0bd;border-radius:4px;width:13px;height:25px;box-shadow:0 0 12px #95e0bd8c}.mouth{background:#95e0bd;border-radius:2px;width:26px;height:3px;position:absolute;bottom:23px}.rokemon-body.happy .eyes span{background:var(--yellow);border-radius:10px 10px 2px 2px;height:10px;box-shadow:0 0 12px #f2c94c8c}.rokemon-body.happy .mouth{border:3px solid var(--yellow);background:0 0;border-top:0;border-radius:0 0 20px 20px;width:34px;height:15px}.body-light{background:#45bc8b;border:1px solid #06543c;border-radius:50%;width:11px;height:11px;position:absolute;bottom:27px;box-shadow:0 0 0 5px #45bc8b1f}.telemetry-row{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:28px;padding:18px 0;display:grid}.metric-label{justify-content:space-between;gap:12px;margin-bottom:8px}.metric-label span{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.metric-label strong{font-family:IBM Plex Mono,monospace;font-size:13px}.meter-track{background:#d9e0dc;border-radius:2px;height:8px;overflow:hidden}.meter-track span{background:var(--green);height:100%;transition:width .3s;display:block}.updated-metric{text-align:right;gap:5px;display:grid}.updated-metric span{color:var(--muted);font-size:11px}.updated-metric strong{font-family:IBM Plex Mono,monospace;font-size:13px}.interaction-strip{justify-content:space-between;align-items:center;gap:24px;min-height:104px;display:flex}.interaction-strip h3{margin:0;font-size:17px}.interaction-actions{gap:8px}.interaction-actions button,.submit-button,.text-button{cursor:pointer;border-radius:5px;min-height:40px}.interaction-actions button,.submit-button{border:1px solid var(--green);color:#fff;background:var(--green);justify-content:center;align-items:center;gap:8px;padding:0 15px;font-size:13px;font-weight:600;display:inline-flex}.interaction-actions .secondary-action{color:#302812;background:var(--yellow);border-color:#aa8730}.interaction-actions button:disabled,.submit-button:disabled{color:#68736e;cursor:not-allowed;background:#d7ddda;border-color:#a9b4ae}.empty-stage{min-height:520px}.empty-stage h2{margin-top:15px;font-size:20px}.activity-list{display:grid}.activity-entry{border-top:1px solid #d6ddd9;grid-template-columns:10px minmax(0,1fr);gap:10px;min-height:66px;padding:13px 0;animation:.24s ease-out both event-enter;display:grid}.activity-dot{background:#7b8982;border-radius:50%;width:7px;height:7px;margin-top:6px}.activity-entry.event .activity-dot{background:var(--coral)}.activity-entry.command .activity-dot{background:var(--green)}.activity-entry p{overflow-wrap:anywhere;margin:0 0 4px;font-size:12px;line-height:1.45}.activity-empty{color:var(--muted);border-top:1px solid #d6ddd9;margin:0;padding:26px 0;font-size:12px}.dialog-backdrop{z-index:10;background:#121b179e;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.device-dialog{background:var(--surface-strong);border:1px solid #87958e;border-radius:8px;width:min(440px,100%);padding:24px;animation:.18s ease-out both dialog-enter;box-shadow:0 24px 70px #0e16124d}.dialog-heading{justify-content:space-between;gap:20px;margin-bottom:22px}.device-dialog h2{font-size:22px}.device-dialog form,.device-dialog label{display:grid}.device-dialog form{gap:16px}.device-dialog label{color:#46534d;gap:7px;font-size:12px;font-weight:600}.device-dialog input{width:100%;min-height:43px;color:var(--ink);background:#fbfcfb;border:1px solid #b7c1bc;border-radius:5px;padding:0 11px}.device-dialog input::placeholder{color:#96a19c}.form-error{border-left:3px solid var(--coral);color:#833b2f;background:#fbe8e4;margin:0;padding:9px 10px;font-size:12px}.dialog-actions{justify-content:flex-end;gap:8px;margin-top:8px}.text-button{background:0 0;border:1px solid #0000;padding:0 13px;font-size:13px}.spinning{animation:.8s linear infinite spin}@keyframes device-arrive{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes event-enter{0%{opacity:0;transform:translate(5px)}}@keyframes dialog-enter{0%{opacity:0;transform:translateY(8px)}}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1120px){.workspace{grid-template-columns:250px minmax(420px,1fr)}.activity-panel{border-top:1px solid var(--line);border-left:0;grid-column:1/-1}.activity-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}}@media (width<=760px){.topbar{padding:12px 14px}.connection-state span{display:none}.connection-state{justify-content:center;width:36px;padding:0}.workspace{border-inline:0;display:block}.inventory-panel,.activity-panel,.simulation-panel{border:0;border-bottom:1px solid var(--line);padding:20px 16px}.device-list{grid-auto-columns:minmax(210px,78vw);grid-auto-flow:column;padding-bottom:6px;overflow-x:auto}.empty-inventory{min-height:90px}.device-header h2{font-size:25px}.device-stage{min-height:315px}.rokemon-body{width:196px;height:224px}.face-screen{width:148px;height:108px}.telemetry-row{grid-template-columns:1fr;gap:14px}.updated-metric{text-align:left}.interaction-strip{flex-direction:column;align-items:stretch;padding:18px 0 4px}.interaction-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.interaction-actions button{min-width:0;padding-inline:8px}.activity-list{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
