:root{color-scheme:dark;--bg:#08121d;--panel:#0b1722;--panel2:#0c1926;--line:#203241;--text:#e6eef1;--muted:#708996;--teal:#42d7d1;--amber:#f4b46a;--mono:ui-monospace,SFMono-Regular,Consolas,'Liberation Mono',monospace;--sans:Inter,Arial,Helvetica,sans-serif}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font:13px/1.5 var(--sans)}body{overflow-x:hidden}button,select,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--teal);outline-offset:3px}#app{min-height:100vh;display:flex;flex-direction:column}.topbar{height:76px;display:flex;align-items:center;padding:0 28px;border-bottom:1px solid var(--line);background:#0a1620;gap:34px}.identity{display:flex;align-items:center;gap:12px;min-width:225px}.brandmark{display:grid;place-items:center;width:38px;height:38px;color:var(--teal)}.brandmark svg{width:36px;height:36px}.brandtext{display:flex;flex-direction:column;gap:2px;letter-spacing:.13em}.brandtext strong{font-size:12px;letter-spacing:.20em}.brandtext span{font:9px var(--mono);color:var(--muted);letter-spacing:.035em}.heading{display:flex;flex-direction:column;gap:0}.heading .eyebrow{font:10px var(--mono);letter-spacing:.14em;color:var(--muted)}.dot-separator{margin:0 6px;color:#35616b}.heading strong{font-size:20px;letter-spacing:.15em;font-weight:700;line-height:1.6}.greek{font-weight:400;color:var(--teal)}.slash{color:#4c6a79;font-weight:400;margin:0 2px}.topactions{margin-left:auto;display:flex;align-items:center;gap:16px}.online{font:10px var(--mono);color:#a4b9bf;letter-spacing:.08em;white-space:nowrap}.live-dot{width:7px;height:7px;background:var(--teal);display:inline-block;border-radius:50%;box-shadow:0 0 12px #42d7d178;margin-right:7px;vertical-align:middle}.iconbtn{background:#0c202c;border:1px solid #29414c;color:#aac0c8;display:grid;place-items:center;width:34px;height:34px;border-radius:5px}.iconbtn svg{width:17px;height:17px}.button{height:38px;padding:0 18px;border-radius:4px;border:1px solid #315361;background:transparent;color:#d5e4e8;font:11px var(--mono);letter-spacing:.055em;white-space:nowrap;transition:background .15s,border .15s}.button:hover{background:#173040;border-color:#478d91}.button-outline span,.data-export span{margin-left:10px;color:var(--teal)}.main-layout{display:grid;grid-template-columns:300px minmax(400px,1fr) 320px;flex:1;min-height:calc(100vh - 117px)}.controls-panel,.data-panel{background:var(--panel);padding:24px 22px;min-width:0}.controls-panel{border-right:1px solid var(--line)}.data-panel{border-left:1px solid var(--line);background:#0a1721}.panel-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.tiny-label{font:10px var(--mono);color:#58b6b5;letter-spacing:.1em}.panel-title h2,.stage-top h2{font-size:18px;margin:3px 0 0;font-weight:600;letter-spacing:-.02em}.mini-tag{font:10px var(--mono);color:var(--teal);border:1px solid #28575d;border-radius:3px;padding:4px 8px}.section-heading{font:10px var(--mono);letter-spacing:.08em;color:#b3d1d1;margin:0 0 14px;padding-bottom:9px;border-bottom:1px solid #1f3845}.section-index{color:var(--teal);margin-right:6px}.spaced{margin-top:25px}.field-label{display:block;color:#91aab5;font:10px var(--mono);letter-spacing:.075em;margin-bottom:8px}.select{width:100%;background:#102432;color:#d7e7eb;border:1px solid #2b4352;padding:10px 27px 10px 11px;border-radius:4px;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='m1 1 4 4 4-4' stroke='%238fb4bd' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;font-size:11px;min-height:36px}.sliderfield{margin:0 0 17px}.sliderfield label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:#c0d0d8}.sliderfield output{font:11px var(--mono);color:var(--teal);white-space:nowrap}.sliderfield input[type=range],.speed-row input{appearance:none;width:100%;height:3px;border-radius:2px;background:linear-gradient(to right,#44c8c6 0%,#44c8c6 var(--fill,50%),#28404c var(--fill,50%),#28404c 100%);margin:14px 0 8px;cursor:ew-resize}.sliderfield input[type=range]::-webkit-slider-thumb,.speed-row input::-webkit-slider-thumb{appearance:none;width:12px;height:12px;border-radius:50%;background:var(--teal);border:2px solid #14333c;box-shadow:0 0 0 2px #368b8b44}.sliderfield input[type=range]::-moz-range-thumb,.speed-row input::-moz-range-thumb{width:10px;height:10px;border-radius:50%;background:var(--teal)}.rangeticks{display:flex;justify-content:space-between;font:9px var(--mono);color:#5b7684}.bottomslider{margin-bottom:15px}.toggle-row{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:17px}.toggle-row strong{font-size:12px;font-weight:500}.toggle-row small{display:block;font:10px var(--mono);color:var(--muted);margin-top:3px}.switch{position:relative;width:40px;height:22px}.switch input{opacity:0;position:absolute}.switch span{display:block;width:40px;height:22px;border-radius:30px;background:#36505b;transition:background .2s}.switch span:before{content:'';display:block;position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#d5dfdf;transition:transform .2s}.switch input:checked+span{background:#257f81}.switch input:checked+span:before{transform:translateX(18px);background:#b4ffff}.bottom-controls{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:22px}.button-primary{background:var(--teal);border-color:var(--teal);color:#092129;font-weight:700}.button-primary:hover{background:#79eee6;color:#092129}.button-secondary{background:#112635}.smallprint{font:10px/1.75 var(--mono);color:#5d7887;margin-top:17px;border-top:1px solid var(--line);padding-top:15px}.visual-stage{display:flex;flex-direction:column;min-width:0;background:#081521}.stage-top{display:flex;justify-content:space-between;align-items:center;padding:22px 24px 19px;border-bottom:1px solid #203443;gap:12px}.stage-top-right{font:10px var(--mono);color:#849eaa;white-space:nowrap}.camera-icon{color:var(--teal);margin-right:5px}.dimension{padding:5px 8px;border:1px solid #334b58;border-radius:4px;margin-left:10px;color:#c0d2d9}.canvas-wrap{flex:1;position:relative;min-height:530px;overflow:hidden;background:radial-gradient(circle at 51% 39%,#1c3945 0%,#0b1e2c 38%,#06121f 80%)}.canvas-wrap:after{content:'';pointer-events:none;position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(62,127,146,.04) 49.8%,rgba(62,127,146,.04) 50.2%,transparent 51%),linear-gradient(0deg,transparent 0%,rgba(62,127,146,.03) 49.8%,rgba(62,127,146,.03) 50.2%,transparent 51%);background-size:65px 65px}#scene{position:absolute;width:100%;height:100%;inset:0;display:block;touch-action:none;cursor:grab}#scene:active{cursor:grabbing}.stage-overlay{position:absolute;z-index:3;pointer-events:none}.overlay-tl{top:23px;left:24px}.overlay-tr{top:27px;right:24px}.chip{display:inline-block;border:1px solid #285865;background:#0e2732cb;border-radius:3px;padding:7px 9px;font:10px var(--mono);letter-spacing:.05em;color:#afd8d8}.viewlabel{font:10px var(--mono);margin-top:12px;color:#81a1ae;letter-spacing:.08em}.viewlabel span{color:var(--teal)}.axis-legend{display:flex;gap:10px;font:10px var(--mono);color:#94acb3}.axis{width:7px;height:7px;display:inline-block;border-radius:1px;margin-right:3px}.axis.x{background:#e98887}.axis.y{background:#69c6b3}.axis.z{background:#7c9be1}.point-tag{position:absolute;z-index:2;pointer-events:none;display:flex;align-items:center;gap:11px;font:10px var(--mono);color:var(--teal);text-shadow:0 2px 5px #000}.point-tag span:last-child{display:block}.point-tag b{display:inline-block;color:#d8e8eb;font-weight:600;margin-left:5px}.point-tag small{display:block;color:#72919d;margin-top:3px;margin-left:20px}.tagline{width:30px;height:1px;background:#53c7c5;position:relative}.tagline:before{content:'';position:absolute;right:0;top:-3px;width:7px;height:7px;border:1px solid #53c7c5;border-radius:50%}.source-tag{left:5%;top:65%}.wafer-tag{right:6%;top:34%}.viewport-hint{position:absolute;bottom:27px;left:24px;color:#9cb0b7;font:10px var(--mono);z-index:2;display:flex;gap:10px;align-items:center;pointer-events:none}.viewport-hint>span:nth-child(2){color:#466474}.mouse-shape{width:13px;height:18px;display:inline-block;border:1px solid #6c929f;border-radius:7px;position:relative}.mouse-shape:after{content:'';position:absolute;top:3px;left:5px;width:1px;height:4px;background:var(--teal)}.scale-mark{position:absolute;bottom:26px;right:26px;font:10px var(--mono);color:#6f8e9c;z-index:2}.scale-mark span{display:block;width:90px;border:1px solid #5a8594;border-top:0;height:6px;margin-bottom:6px}.stage-footer{display:grid;grid-template-columns:1.1fr 1.6fr 1.3fr 1fr;gap:14px;padding:17px 24px 18px;background:#0b1c29;border-top:1px solid #243949}.footer-stat:not(:last-child){border-right:1px solid #25404b;padding-right:13px}.f-label{display:block;font:9px var(--mono);color:#698796;letter-spacing:.04em;margin-bottom:7px}.footer-stat strong{font:15px var(--mono);font-weight:500;color:#d1eaed}.speed-row{display:flex;gap:8px;align-items:center}.speed-row strong{min-width:29px;color:var(--teal)}.speed-row input{max-width:140px;margin:0}.source-state{color:var(--teal)!important;font-size:12px!important}.data-panel .panel-title{margin-bottom:26px}.readout-top{padding:15px;background:linear-gradient(135deg,#112b36,#10222f);border:1px solid #254452;border-radius:5px}.readout-top .field-label{margin:0;color:#9bb8bd}.big-number{display:flex;align-items:baseline;gap:10px;margin:4px 0 14px}.big-number strong{font:600 47px/1.15 var(--mono);letter-spacing:-.055em;color:#f2f7f7}.big-number span{font:16px var(--mono);color:var(--teal)}.progress-track{height:4px;background:#254351;border-radius:3px;overflow:hidden}.progress-track div{height:100%;width:0;background:linear-gradient(90deg,#29a4ad,#7ce5c1);transition:width .12s}.readout-caption{display:flex;justify-content:space-between;font:9px var(--mono);color:#819ca4;margin-top:7px}.readout-caption strong{color:var(--teal)}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#243b48;border:1px solid #243b48;border-radius:5px;overflow:hidden;margin-top:15px}.metric{background:#0d202d;min-height:92px;padding:13px 11px}.metric span{display:block;font:9px var(--mono);letter-spacing:.035em;color:#748f9e}.metric strong{display:block;font:18px var(--mono);color:#d6e9ed;letter-spacing:-.035em;margin-top:8px}.metric small{display:block;font:9px var(--mono);color:#688391;margin-top:3px}.chart-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;margin:25px 0 10px}.chart-heading strong{display:block;font:10px var(--mono);color:#d4e7e8;letter-spacing:.06em}.chart-heading span:not(.tiny-label){display:block;font:9px var(--mono);color:#688a99;margin-top:4px}.chart-heading>.tiny-label{color:#688a99;font-size:9px;white-space:nowrap}.heatmap-frame{position:relative;max-width:224px;margin:auto;border:1px solid #34505c;padding:4px;background:#08131f;aspect-ratio:1}.heatmap-frame canvas{width:100%;height:100%;display:block;image-rendering:auto}.heatmap-cross{position:absolute;pointer-events:none;background:#8fadb25c}.cross1{height:1px;top:50%;left:4px;right:4px}.cross2{width:1px;left:50%;top:4px;bottom:4px}.color-scale{display:flex;gap:8px;align-items:center;margin:12px 2px 0;font:9px var(--mono);color:#76929e}.scale-rainbow{height:5px;flex:1;background:linear-gradient(90deg,#0e263b,#196090,#14bfcc,#77d89b,#f2ca65,#fb774e,#f45192)}.profile-heading{margin-top:25px}.profile-wrap{height:130px;background:#0b1b27;border:1px solid #213a46}.profile-wrap canvas{width:100%;height:100%;display:block}.data-export{width:100%;margin-top:15px;text-align:left;color:#a5c9d1;background:#112635}.data-export span{float:right}.method-note{font:9px/1.6 var(--mono);color:#637f8d;margin-top:13px}.site-footer{min-height:41px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:10px;padding:0 25px;background:#09131d;font:9px var(--mono);letter-spacing:.055em;color:#56727e}.site-footer b{color:#45aeb5;font-weight:400}.canvas-error{position:absolute;inset:15%;z-index:5;background:#251921ed;border:1px solid #be6969;color:#f6cece;border-radius:6px;padding:28px;font-size:14px}
@media(max-width:1400px){.main-layout{grid-template-columns:260px minmax(360px,1fr) 280px}.controls-panel,.data-panel{padding:20px 16px}.topbar{padding:0 17px;gap:20px}.identity{min-width:200px}.stage-footer{padding:14px;gap:7px}.point-tag{font-size:9px}.point-tag small{display:none}.source-tag{left:3%}.wafer-tag{right:2%}.footer-stat strong{font-size:12px}}
@media(max-width:1030px){.main-layout{grid-template-columns:260px minmax(360px,1fr)}.data-panel{grid-column:1 / -1;border-top:1px solid var(--line);border-left:0;display:grid;grid-template-columns:1fr 1fr 1fr;column-gap:20px}.data-panel .panel-title{grid-column:1 / -1;margin-bottom:15px}.data-panel .readout-top{grid-column:1}.metric-grid{grid-column:2;grid-row:2;margin-top:0}.data-panel .chart-heading{grid-column:3;margin-top:0}.heatmap-frame{grid-column:3;grid-row:3;max-width:200px}.color-scale{grid-column:3;grid-row:4}.profile-heading{grid-column:1;margin-top:18px}.profile-wrap{grid-column:1 / 3;grid-row:6}.data-export{grid-column:3;grid-row:6;margin-top:15px;align-self:center}.method-note{grid-column:1 / -1}.site-footer span:nth-child(2){display:none}}
@media(max-width:760px){.topbar{height:auto;min-height:68px;gap:12px;padding:10px 13px;flex-wrap:wrap}.identity{min-width:0}.brandtext span,.online{display:none}.heading{margin-left:auto}.heading .eyebrow{font-size:8px}.heading strong{font-size:16px}.topactions{width:100%;justify-content:flex-end}.main-layout{display:flex;flex-direction:column}.visual-stage{order:1}.controls-panel{order:2}.data-panel{order:3}.canvas-wrap{min-height:420px}.stage-top{padding:16px}.stage-top-right{font-size:9px}.stage-top h2{font-size:16px}.stage-footer{grid-template-columns:1fr 1fr;gap:12px}.footer-stat:nth-child(2){border-right:0}.controls-panel,.data-panel{padding:20px}.controls-panel{display:block}.point-tag{display:none}.data-panel{display:block}.data-panel .chart-heading{margin-top:22px}.metric-grid{margin-top:15px}.heatmap-frame{max-width:260px}.profile-wrap{height:170px}.site-footer{min-height:52px;padding:10px;font-size:8px;flex-wrap:wrap}.viewport-hint{font-size:8px;bottom:20px}.scale-mark{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important}}
