:root{color:#d9e8ee;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;background:#0b151b;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,.labs-app{width:100%;height:100%;margin:0;overflow:hidden}body{background:#0b151b}button,select,input{font:inherit}button,select{min-height:44px}button{color:#d9e8ee;cursor:pointer}button:focus-visible,select:focus-visible,input:focus-visible,a:focus-visible{outline-offset:2px;outline:2px solid #63d9cc}.labs-app{isolation:isolate;background:#07131a;position:relative}.labs-stage{background:#07131a;position:absolute;inset:0;overflow:hidden}.lab-canvas{width:100%;height:100%;position:absolute;inset:0}.lab-water-canvas{z-index:0}.lab-overlay-canvas{z-index:1}.loom-legend{z-index:2;bottom:max(12px, env(safe-area-inset-bottom));left:max(12px, env(safe-area-inset-left));color:#c9dee0c7;pointer-events:none;flex-wrap:wrap;align-items:center;gap:5px 11px;max-width:min(720px,100vw - 480px);min-height:38px;padding:7px 10px;font-size:9px;display:flex;position:absolute}.loom-legend strong{color:#d9ecec;letter-spacing:.055em;text-transform:uppercase;font-size:9px}.loom-kind-item{align-items:center;gap:4px;display:inline-flex}.loom-kind-item i{border-radius:999px;width:13px;height:3px}.loom-legend small{color:#a4c3c594;flex-basis:100%;font-size:8px}.village-truth{z-index:2;top:max(72px, calc(env(safe-area-inset-top) + 72px));left:max(12px, env(safe-area-inset-left));color:#cadedeb8;pointer-events:none;border-radius:10px;max-width:min(390px,100vw - 24px);margin:0;padding:8px 11px;font-size:10px;line-height:1.35;position:absolute}.glass{-webkit-backdrop-filter:blur(14px)saturate(1.18);backdrop-filter:blur(14px)saturate(1.18);background:linear-gradient(145deg,#08141ae6,#02090ecc);border:1px solid #97dce029;box-shadow:0 10px 34px #00000057,inset 0 1px #dbffff0a}.labs-topbar{z-index:5;top:max(12px, env(safe-area-inset-top));left:max(12px, env(safe-area-inset-left));border-radius:14px;align-items:center;gap:13px;min-height:48px;padding:0 12px;display:flex;position:absolute}.labs-back,.labs-retry{color:#effdff;align-items:center;gap:6px;min-height:44px;font-size:13px;font-weight:750;text-decoration:none;display:inline-flex}.labs-back>span:first-child{color:#63d9cc;font-size:16px}.labs-netgraph{color:#9ccbc8;letter-spacing:.035em;align-items:center;gap:5px;min-height:44px;font-size:10px;font-weight:720;text-decoration:none;display:inline-flex}.labs-netgraph>span:first-child{color:#63d9cc}.labs-netgraph:hover,.labs-netgraph:focus-visible{color:#efffff}.labs-title{color:#9ccbc8;letter-spacing:.05em;text-transform:uppercase;align-items:center;gap:5px;font-size:11px;font-weight:800;display:inline-flex}.labs-title>span{color:#63d9cc;text-shadow:0 0 12px #63d9ccbf}.labs-status{color:#aebdcb;align-items:center;gap:6px;font-size:11px;font-weight:650;display:flex}.status-dot{background:#86919b;border-radius:50%;width:7px;height:7px}.labs-status[data-state=active] .status-dot{background:#45df9a;box-shadow:0 0 9px #45df9a}.labs-status[data-state=quiet] .status-dot{background:#70a99f}.labs-status[data-state=reconnecting] .status-dot{background:#e9c35b;animation:1.1s ease-in-out infinite status-pulse}.labs-status[data-state=offline] .status-dot{background:#ed7283}.labs-status[data-state=demo] .status-dot{background:#a78bfa;box-shadow:0 0 9px #a78bfa}.labs-controls{z-index:5;top:max(12px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));border-radius:14px;align-items:stretch;min-height:48px;transition:opacity .22s,transform .22s;display:flex;position:absolute}.labs-controls button,.labs-controls select{color:#c7d8df;background:0 0;border:0;border-right:1px solid #8bcdd621;padding:0 12px}.labs-controls button:hover,.labs-controls button[aria-pressed=true]{color:#efffff;background:#29b8a924}.labs-controls>:last-child{border-right:0}.experiment-picker,.compact-field,.volume-field{border-right:1px solid #8bcdd621;align-content:center;gap:1px;padding:4px 8px;display:grid}.experiment-picker>span,.compact-field>span,.volume-field>span{color:#7f96a4;letter-spacing:.06em;text-transform:uppercase;font-size:9px;font-weight:800}.experiment-picker select,.compact-field select{min-height:44px;padding:0 26px 0 0;font-size:12px;font-weight:700}.volume-field{grid-template-rows:auto auto;grid-template-columns:minmax(72px,120px) auto;column-gap:6px}.volume-field>span{grid-column:1/-1}.volume-field input{accent-color:#63d9cc;width:100%}.volume-field output{color:#b7cacd;align-self:center;font-size:10px}.live-caption{z-index:4;right:max(12px, env(safe-area-inset-right));bottom:max(12px, env(safe-area-inset-bottom));color:#b7c9d0;border-radius:12px;max-width:min(440px,100vw - 24px);min-height:36px;margin:0;padding:9px 13px;font-size:12px;position:absolute}.burst-indicator{z-index:5;bottom:max(58px, calc(env(safe-area-inset-bottom) + 58px));color:#ffd15a;border-radius:999px;padding:7px 11px;font-size:11px;font-weight:800;position:absolute;left:50%;transform:translate(-50%)}.info-dialog{color:#d9e8ee;border-radius:18px;width:min(520px,100vw - 28px);max-height:min(72vh,620px);padding:20px;overflow:auto}.info-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00060aad}.info-dialog header{justify-content:space-between;align-items:start;gap:16px;display:flex}.info-dialog h1{margin:4px 0 12px;font-size:24px}.info-dialog p{color:#b9cbd2;line-height:1.55}.info-dialog button{color:#cce1e7;background:#ffffff0a;border:0;border-radius:10px;width:44px;min-width:44px;font-size:24px}.experiment-status{color:#75e8d6;text-transform:uppercase;background:#4de7c41a;border-radius:999px;padding:4px 7px;font-size:10px;font-weight:800;display:inline-flex}.truth-note{border-top:1px solid #97dce01f;padding-top:12px;font-size:12px}.labs-fatal{z-index:7;color:#ffd7dd;border-radius:14px;max-width:min(520px,100vw - 30px);margin:0;padding:16px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.labs-app.exhibition .labs-controls,.labs-app.exhibition .labs-topbar{opacity:.2}.labs-app.exhibition .labs-controls:hover,.labs-app.exhibition .labs-controls:focus-within,.labs-app.exhibition .labs-topbar:hover,.labs-app.exhibition .labs-topbar:focus-within{opacity:1}.labs-app[data-loading=true] .labs-stage:after{content:"Loading experiment…";color:#9bb3bd;font-size:12px;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}@keyframes status-pulse{50%{opacity:.35}}@media (max-width:1020px){.labs-controls{top:auto;right:max(8px, env(safe-area-inset-right));bottom:max(58px, calc(env(safe-area-inset-bottom) + 58px));left:max(8px, env(safe-area-inset-left));grid-template-columns:repeat(4,minmax(44px,1fr));max-height:min(50vh,330px);display:grid;overflow-y:auto}.experiment-picker{grid-column:1/-1}.experiment-picker select{width:100%}.compact-field,.volume-field{grid-column:span 2}.labs-controls button,.labs-controls label{border-bottom:1px solid #8bcdd621;min-height:48px}.labs-controls #info-button{grid-column:span 2}.live-caption{right:8px;bottom:max(8px, env(safe-area-inset-bottom));text-align:center;max-width:none;left:8px}.loom-legend{top:max(68px, calc(env(safe-area-inset-top) + 68px));justify-content:center;max-width:none;bottom:auto;left:8px;right:8px}}@media (max-width:520px){.labs-topbar{top:max(8px, env(safe-area-inset-top));gap:9px;left:8px;right:8px}.labs-back{justify-content:center;min-width:44px}.labs-back>span:last-child,.labs-title{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.labs-status{margin-left:auto}.labs-controls{grid-template-columns:repeat(3,minmax(44px,1fr))}.compact-field,.volume-field{grid-column:span 3}.labs-controls #info-button{grid-column:span 2}.labs-controls button{padding-inline:7px;font-size:11px}.village-truth{top:max(64px, calc(env(safe-area-inset-top) + 64px));max-width:calc(100vw - 16px);font-size:9px;left:8px}}@media (orientation:landscape) and (max-height:520px){.labs-controls{grid-template-columns:repeat(6,minmax(44px,1fr));width:min(520px,100vw - 16px);max-height:calc(100vh - 118px);inset:64px 8px auto auto}.experiment-picker,.compact-field,.volume-field{grid-column:span 3}.labs-controls #info-button{grid-column:span 2}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.compact-field select{width:142px;max-width:100%}
