:root{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;line-height:1.5;font-weight:400;color:#111;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}a{font-weight:500;color:inherit;text-decoration:inherit}a:hover{text-decoration:underline}body{margin:0;display:block;min-width:320px;min-height:100vh;overflow:hidden}html,body,#root{height:100%}button:focus,button:focus-visible{outline:2px solid rgba(0,0,0,.25);outline-offset:2px}.page{height:100vh;display:grid;grid-template-rows:auto 1fr;background:#fff;color:#111;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;overflow:hidden}@font-face{font-family:LeagueSpartan;src:url(/LeagueSpartan-Bold.otf) format("opentype");font-weight:700;font-style:normal;font-display:swap}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border-bottom:1px solid rgba(0,0,0,.08)}.title{font-family:LeagueSpartan,ui-sans-serif,system-ui;font-weight:700;letter-spacing:.02em;font-size:18px;text-transform:lowercase}.actions{display:flex;align-items:center;gap:10px}.btn{appearance:none;border:1px solid rgba(0,0,0,.14);background:transparent;color:#000000c7;padding:8px 10px;border-radius:10px;font-weight:800;cursor:pointer}.btn:disabled{opacity:.6;cursor:not-allowed}.stage{display:grid;grid-template-columns:1fr;gap:16px;padding:14px;height:100%;min-height:0;overflow:hidden}.page.running .stage{grid-template-columns:1fr;grid-template-rows:1fr 320px}.cameraWrap{position:relative;border-radius:16px;overflow:hidden;border:1px solid rgba(0,0,0,.12);background:#f7f7f7;min-height:0}.cameraWrap.blind{background:#000;border-color:#ffffff24}.hidden{display:none}.video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.cameraWrap.blind .video{opacity:0}.overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.cameraBlank{position:absolute;inset:0;display:grid;place-items:center;background:transparent}.cameraBlankInner{text-align:center;padding:18px 20px;border-radius:14px;border:1px solid rgba(0,0,0,.1);background:#ffffffa6}.cameraBlankTitle{font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#000000a6;font-size:12px}.cameraBlankHint{margin-top:6px;font-size:12px;color:#00000073}.panel{border-radius:16px;border:1px solid rgba(0,0,0,.1);background:transparent;padding:14px;overflow:hidden;min-height:0;display:flex;flex-direction:column;gap:12px}.terminalWrap{border-radius:14px;overflow:hidden;border:1px solid rgba(0,0,0,.1);background:transparent;box-shadow:none;flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.dock{flex:1 1 auto;min-height:0;display:flex;gap:12px;align-items:stretch}.splitter{flex:0 0 10px;border-radius:999px;background:#0000000f;cursor:col-resize}.splitter:hover{background:#0000001a}.docs{border-radius:14px;overflow:hidden;border:1px solid rgba(0,0,0,.1);background:transparent;padding:10px 12px;min-height:0;flex:0 0 auto;display:flex;flex-direction:column;align-self:stretch}.docsSummary{cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:900;letter-spacing:.08em;text-transform:uppercase;font-size:11px;color:#0000008c;list-style:none}.docsSummary::-webkit-details-marker{display:none}.docsBody{margin-top:10px;overflow:auto;min-height:0;flex:1 1 0;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;max-height:calc(100% - 36px)}.docsBody::-webkit-scrollbar{width:10px}.docsBody::-webkit-scrollbar-thumb{background:#0000002e;border-radius:999px}.docsLine{font-size:12px;line-height:1.45;color:#000000a6;white-space:pre-wrap}.terminalBar{display:flex;justify-content:flex-end;gap:8px;padding:10px 12px;border-bottom:1px solid rgba(0,0,0,.08)}.miniBtn{appearance:none;border:1px solid rgba(0,0,0,.12);background:transparent;color:#0009;padding:6px 10px;border-radius:10px;font-weight:800;font-size:12px;cursor:pointer}.miniBtn:disabled{opacity:.55;cursor:not-allowed}.terminalEditor{width:100%;min-height:0;flex:1 1 auto;background:transparent;border-bottom:1px solid rgba(0,0,0,.08);overflow:hidden}.terminalEditor .cm-editor,.terminalEditor .cm-scroller{height:100%}.terminalEditor .cm-scroller{overflow:auto}.terminalEditor .cm-placeholder{color:#0000004d}.moosikTooltip{background:#fff;border:1px solid #000000;color:#000;padding:8px 10px;border-radius:8px;box-shadow:none;max-width:360px;font-size:12px;line-height:1.35}.moosikTooltip .cm-tooltip-arrow{display:none}.terminalOut{flex:0 0 auto;padding:8px 12px;background:transparent;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;line-height:1.35;color:#000000b3;border-top:1px solid rgba(0,0,0,.08)}.terminalOutRow{display:flex;align-items:center;gap:10px}.terminalOutRow .terminalLine{flex:1 1 auto;min-width:0}.terminalLine{white-space:nowrap;overflow-x:auto;overflow-y:hidden}.terminalLineRun{color:#28aa5ff2}.terminalLineError{color:#d73737f2}.terminalHint{color:#00000061}.code{margin:0;padding:12px;border-radius:12px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);font-size:12px;line-height:1.5;overflow:auto}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:#ffffff0f;font-weight:700;font-size:12px}.error{margin-top:12px;padding:10px 12px;border-radius:12px;border:1px solid rgba(0,0,0,.1);background:#00000008;color:#000000a6}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;color:#ffffffeb}@media(max-width:980px){.stage{grid-template-columns:1fr}.page.running .stage{grid-template-rows:1fr 300px}.dock{display:block}.splitter,.docs{display:none}}
