:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only;color:#172033;font-synthesis:none;text-rendering:optimizelegibility;--bg:#eef3f8;--panel-deep:#f6f9fc;--line:#2f435b24;--muted:#6c7c91;--accent:#0d9f72;--accent-blue:#397ecb;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);background:#eef3f8;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body,#app{min-width:320px;min-height:100%;margin:0;background-color:var(--bg)!important}html.page-locked,body.page-locked{overscroll-behavior:none;height:100%;overflow:hidden}body{min-height:100vh;background:radial-gradient(circle at 9% -10%, #569ad433, transparent 36%), radial-gradient(circle at 94% 106%, #4abc9129, transparent 34%), var(--bg);min-height:100dvh}button,input{font:inherit}button{color:inherit}.lab-shell{width:100%;height:100vh;height:100dvh;min-height:0;padding:calc(14px + var(--safe-top)) calc(18px + var(--safe-right)) calc(10px + var(--safe-bottom)) calc(18px + var(--safe-left));--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only;flex-direction:column;display:flex;position:relative;overflow:hidden;background-color:var(--bg)!important}.lab-shell:before{z-index:-1;pointer-events:none;content:"";opacity:.48;background-image:linear-gradient(#5c7a9d14 1px,#0000 1px),linear-gradient(90deg,#5c7a9d14 1px,#0000 1px);background-size:42px 42px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 72%);mask-image:linear-gradient(#000,#0000 72%)}.lab-shell.is-unlocked{height:auto;min-height:100vh;min-height:100dvh;overflow:visible}.topbar{flex:none;justify-content:space-between;align-items:center;min-height:48px;margin-bottom:12px;display:flex}.brand-block{align-items:center;gap:12px;display:flex}.brand-mark{background:#0d9f7214;border:1px solid #0d9f7257;border-radius:11px;place-items:center;width:38px;height:38px;display:grid;position:relative;transform:rotate(45deg)}.brand-mark i{background:var(--accent);border-radius:2px;width:17px;height:2px;position:absolute}.brand-mark i:first-child{transform:rotate(90deg)}.brand-block>div,.panel-heading>div:first-child{min-width:0}.kicker,.panel-index{color:var(--accent);font:500 9px/1.2 var(--font-mono);letter-spacing:.18em;margin:0 0 2px}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.035em;margin-bottom:0;font-size:clamp(17px,2vw,22px);line-height:1.1}.runtime-badge{border:1px solid var(--line);color:#4e6178;font:500 10px/1 var(--font-mono);white-space:nowrap;background:#ffffffd1;border-radius:999px;align-items:center;gap:8px;padding:7px 10px;display:flex}.live-dot{background:var(--accent);border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 4px #0d9f721a,0 0 12px #0d9f7257}.control-deck{flex:none;justify-content:space-between;align-items:stretch;gap:12px;margin-bottom:12px;display:flex}.metrics{border:1px solid var(--line);background:#fffc;border-radius:12px;flex:1;grid-template-columns:repeat(4,minmax(110px,1fr));display:grid;overflow:hidden}.metric{border-right:1px solid var(--line);min-width:0;padding:9px 12px}.metric:last-child{border-right:0}.metric span,.position-readout span,.panel-footer>span{color:var(--muted);font:400 8px/1.2 var(--font-mono);letter-spacing:.08em;text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.metric strong{color:#22314a;font:500 11px/1.2 var(--font-mono);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;display:block;overflow:hidden}.action-state strong{color:var(--accent)}.switches{border:1px solid var(--line);background:#fffc;border-radius:12px;align-items:center;gap:5px;padding:5px;display:flex}.switch-control{color:#4e6178;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;min-height:36px;padding:0 8px;font-size:10px;display:flex;position:relative}.switch-control input{opacity:0;width:1px;height:1px;position:absolute}.switch-control i{background:#dfe7ef;border-radius:999px;width:28px;height:16px;transition:background .16s;position:relative}.switch-control i:after{content:"";background:#8fa1b5;border-radius:50%;width:10px;height:10px;transition:transform .16s,background .16s;position:absolute;top:3px;left:3px}.switch-control input:checked+i{background:#0d9f7229}.switch-control input:checked+i:after{background:var(--accent);transform:translate(12px)}.switch-control input:focus-visible+i{outline:2px solid var(--accent-blue);outline-offset:3px}.test-grid{flex:auto;grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr);gap:12px;min-height:0;display:grid}.is-unlocked .test-grid{flex:none;min-height:680px}.test-panel{border:1px solid var(--line);background:linear-gradient(145deg,#fffffffa,#f7fafdfa);border-radius:16px;flex-direction:column;min-width:0;min-height:0;padding:14px;display:flex;overflow:hidden;box-shadow:0 18px 55px #2e486617}.panel-heading{flex:none;justify-content:space-between;align-items:flex-end;gap:12px;padding:0 2px 10px;display:flex}.panel-heading h2{color:#1a2a40;letter-spacing:-.035em;margin-bottom:2px;font-size:clamp(16px,1.7vw,21px);line-height:1.1}.panel-heading p:not(.panel-index){color:var(--muted);margin-bottom:0;font-size:10px}.position-readout{text-align:right;flex:none}.position-readout strong{color:var(--accent);font:500 15px/1 var(--font-mono);margin-top:2px;display:block}.progress-track{background:#5b6f8824;border-radius:2px;flex:0 0 2px;width:100%;margin-bottom:10px;position:relative;overflow:hidden}.progress-track i{border-radius:inherit;background:linear-gradient(90deg, var(--accent-blue), var(--accent));height:100%;transition:width 80ms linear;display:block;box-shadow:0 0 10px #0d9f7238}.scroll-surface{scrollbar-color:#0d9f7280 #d7e1ebb8;scrollbar-width:thin;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only;isolation:isolate;outline:none;min-width:0;min-height:0;position:relative;background-color:#f6f9fc!important;background-image:linear-gradient(#f6f9fc,#f6f9fc)!important;background-repeat:repeat!important}.scroll-surface:focus-visible{box-shadow:inset 0 0 0 2px #397ecb9e}.scroll-surface.momentum{-webkit-overflow-scrolling:touch}.scroll-surface.contained{overscroll-behavior:none}.horizontal-scroll{touch-action:pan-x;border:1px solid #4b638024;border-radius:12px;flex:auto;padding:0;display:flex;overflow:auto hidden;background-color:#f6f9fc!important;background-image:linear-gradient(#f6f9fc,#f6f9fc)!important}.horizontal-track{box-sizing:border-box;flex:none;align-items:stretch;gap:10px;width:max-content;min-width:100%;min-height:100%;padding:10px;display:flex;background-color:#f6f9fc!important;background-image:linear-gradient(#f6f9fc,#f6f9fc)!important}.scroll-card{background:linear-gradient(145deg,#fffffffa,#eef4fafa);border:1px solid #4b638026;border-radius:10px;flex-direction:column;flex:none;justify-content:space-between;width:clamp(210px,28vw,300px);min-height:100%;padding:14px;display:flex;position:relative;overflow:hidden}.scroll-card:first-child,.scroll-card:last-child{border-color:#0d9f725c}.scroll-card:after{content:"";border:1px solid #397ecb21;border-radius:50%;width:88px;height:88px;position:absolute;top:-34px;right:-34px}.card-number{color:#0d9f724d;font:500 clamp(28px, 4vw, 46px)/.9 var(--font-mono)}.card-content span{color:var(--accent-blue);font:500 8px/1 var(--font-mono);letter-spacing:.16em}.card-content h3{color:#22314a;margin:5px 0;font-size:18px}.card-content p{color:#64768c;margin-bottom:0;font-size:10px;line-height:1.6}.card-axis{align-items:center;gap:8px;margin-top:14px;display:flex}.card-axis i{background:#0d9f728a;width:38px;height:1px;display:block;position:relative}.card-axis i:after{border-top:1px solid var(--accent);border-right:1px solid var(--accent);content:"";width:5px;height:5px;position:absolute;top:-2px;right:0;transform:rotate(45deg)}.card-axis span{color:#74859a;font:400 7px/1 var(--font-mono);letter-spacing:.12em}.vertical-scroll{touch-action:pan-y;border:1px solid #4b638024;border-radius:12px;flex:auto;overflow:hidden auto;background-color:#f6f9fc!important;background-image:linear-gradient(#f6f9fc,#f6f9fc)!important}.vertical-list{min-height:100%;padding:7px;background-color:#f6f9fc!important;background-image:linear-gradient(#f6f9fc,#f6f9fc)!important}.list-row{border-bottom:1px solid #4b63801a;grid-template-columns:34px minmax(0,1fr) 8px;align-items:center;gap:10px;min-height:60px;padding:9px 10px;display:grid;background-color:#f6f9fc!important;background-image:linear-gradient(#f6f9fc,#f6f9fc)!important}.list-row:last-child{border-bottom:0}.row-number{color:var(--accent);font:500 11px/1 var(--font-mono)}.list-row h3{color:#26364c;margin-bottom:3px;font-size:11px;font-weight:600}.list-row p{color:#697b91;text-overflow:ellipsis;white-space:nowrap;margin-bottom:0;font-size:9px;line-height:1.45;overflow:hidden}.row-marker{background:#adbac8;border-radius:50%;justify-self:end;width:4px;height:4px}.list-row:first-child .row-marker,.list-row:last-child .row-marker{background:var(--accent);box-shadow:0 0 8px #0d9f7257}.panel-footer{flex:none;justify-content:space-between;align-items:flex-end;gap:10px;min-height:34px;padding:8px 2px 0;display:flex}.button-group{gap:5px;display:flex}.button-group button{color:#4f6279;cursor:pointer;background:#ffffffe6;border:1px solid #4b63802e;border-radius:7px;padding:5px 9px;font-size:9px}.button-group button:active{color:var(--accent);border-color:#0d9f726b;transform:translateY(1px)}.button-group button:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.safe-area-note{color:#718197;flex:none;align-items:center;gap:8px;min-height:24px;padding:6px 2px 0;font-size:8px;display:flex}.safe-area-note>span{border:1px solid var(--accent);flex:none;width:5px;height:5px;transform:rotate(45deg)}.safe-area-note p{margin:0}.safe-area-note code{color:#7d8ca0;font:400 8px/1 var(--font-mono);white-space:nowrap;margin-left:auto}@media (max-width:920px){.control-deck{flex-direction:column}.switches{justify-content:space-between}.switch-control{flex:1;justify-content:center}.test-grid{grid-template-rows:minmax(180px,.9fr) minmax(210px,1.1fr);grid-template-columns:1fr}.is-unlocked .test-grid{min-height:920px}.horizontal-panel,.vertical-panel{min-height:0}}@media (max-width:560px){.lab-shell{padding-right:calc(10px + var(--safe-right));padding-left:calc(10px + var(--safe-left))}.topbar{margin-bottom:9px}.brand-mark{width:32px;height:32px}.runtime-badge{text-overflow:ellipsis;max-width:43vw;overflow:hidden}.control-deck{gap:8px;margin-bottom:8px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metric{border-bottom:1px solid var(--line);padding:7px 9px}.metric:nth-child(2){border-right:0}.metric:nth-child(3),.metric:nth-child(4){border-bottom:0}.switch-control{gap:6px;min-height:31px;padding:0 3px;font-size:9px}.test-grid{grid-template-rows:minmax(150px,.9fr) minmax(180px,1.1fr);gap:8px}.test-panel{border-radius:13px;padding:10px}.panel-heading{padding-bottom:7px}.panel-heading p:not(.panel-index){display:none}.progress-track{margin-bottom:7px}.horizontal-track{padding:7px}.scroll-card{width:min(72vw,250px);padding:11px}.card-content p{line-height:1.45}.list-row{min-height:56px}.panel-footer{min-height:31px;padding-top:5px}.safe-area-note p{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.safe-area-note code{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
