*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;background:#090e14;color:#dae5f0;font:12px/1.48 ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace}a{color:#9fcaf5;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}.top{height:56px;padding:0 19px;display:flex;align-items:center;gap:12px;border-bottom:1px solid #273544;background:#0e151e;position:sticky;top:0;z-index:20}.mark{width:32px;height:32px;display:grid;place-items:center;color:#9cc9f5;background:#172838;border:1px solid #45617c;border-radius:7px;font-size:19px;font-weight:900}.brand{font-size:16px;letter-spacing:-.7px;font-weight:780}.brand span{color:#9ac8f5}.tag{padding:3px 7px;border:1px solid #36526a;border-radius:3px;background:#182638;color:#93bbdb;font-size:10px}.crumb{color:#869aae;margin-left:auto;font-size:10px}.shell{display:grid;grid-template-columns:284px minmax(300px,1fr) 295px;align-items:start;min-height:calc(100vh - 56px)}.side{background:#101821;min-width:0;min-height:calc(100vh - 56px);border-right:1px solid #293746}.side.right{border-left:1px solid #293746;border-right:0}.body{min-width:0;padding:14px;display:flex;flex-direction:column;gap:12px}.panel{border:1px solid #2c3b4b;background:#111b26;border-radius:7px;overflow:hidden}.panelhead{padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:8px;background:#141f2a;border-bottom:1px solid #2a3a49}.panelhead h2,.panelhead h3{margin:0;font-size:11px;letter-spacing:.08em;color:#cce2f6;text-transform:uppercase}.panelhead small{color:#8298ae}.pad{padding:12px}.title{font-size:13px;margin:0 0 4px;font-weight:800}.muted,.hint{color:#8599ad;font-size:10px}.hint{line-height:1.6}.fields{display:grid;grid-template-columns:1fr 1fr;gap:9px}.field{display:flex;flex-direction:column;gap:4px;min-width:0}.field.wide{grid-column:1/-1}label{color:#99b0c5;font-size:10px;min-width:0}input:not([type=checkbox]),select{width:100%;height:32px;border-radius:4px;border:1px solid #35495a;background:#0c141c;color:#e5f1fb;padding:5px 7px;outline:0;min-width:0}input:focus,select:focus{border-color:#73a8da;box-shadow:0 0 0 2px #73a8da22}input[type=range]{padding:0;height:20px;accent-color:#8ebff0}input[type=checkbox]{accent-color:#a0c8f3}button{border:1px solid #3a4f60;border-radius:4px;color:#c9e0f6;background:#1c2b38;padding:7px 9px;min-height:32px}button:hover{background:#26394a;border-color:#7196b6}button:disabled{opacity:.45;cursor:not-allowed}.primary{background:#284b68;border-color:#477b9e;color:#e8f4ff}.toolbar{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.tab[aria-pressed=true]{background:#335879;color:#fff;border-color:#6592bb}.hero{display:flex;gap:10px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}.hero h1{margin:0;font-size:20px;line-height:1.25;letter-spacing:-1px}.hero p{margin:4px 0 0;color:#98acbf;font-size:11px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.stat{padding:10px;background:#14202c;border:1px solid #2b4255;border-radius:5px;min-width:0}.stat small{display:block;color:#8ba5bd;font-size:9px;letter-spacing:.03em}.stat strong{display:block;font-size:18px;font-variant-numeric:tabular-nums;letter-spacing:-.4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat em{display:block;font-size:9px;color:#8296aa;font-style:normal}.stage{display:grid;grid-template-columns:1fr 56px 56px 23px;gap:5px;align-items:center;margin-bottom:7px}.stage label{grid-column:1/-1}.stage select{min-width:0}.stage button{padding:0;min-height:30px;color:#e5a6a6}.smallgrid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.tablewrap{overflow:auto;max-height:250px}.datagrid{width:100%;border-collapse:collapse;font-size:10px;font-variant-numeric:tabular-nums}.datagrid th,.datagrid td{text-align:right;border-bottom:1px solid #273646;padding:7px 8px;white-space:nowrap}.datagrid th{color:#91abc4;background:#131e28;position:sticky;top:0}.datagrid th:first-child,.datagrid td:first-child{text-align:left}.datagrid td{color:#dae7f2}.datagrid tr:last-child td{border:0}canvas{display:block;width:100%;height:clamp(350px,57vh,620px);background:radial-gradient(ellipse at 50% 30%,#192b3b 0%,#0c141e 68%);touch-action:pan-y}.footbar{display:flex;justify-content:space-between;align-items:center;gap:9px;padding:9px 12px;border-top:1px solid #263746;flex-wrap:wrap}.pill{border:1px solid #3b586d;color:#a4cbe5;border-radius:20px;padding:3px 7px;font-size:9px}.formula{padding:10px;background:#0c141c;border:1px solid #283c4d;border-radius:5px;color:#9cb8d0;font-size:10px;overflow-wrap:anywhere}.formula strong{color:#e9f4ff;font-size:12px}.warn{border-left:2px solid #d7a464;color:#e3c69d;background:#2a251e;padding:7px 9px;margin:6px 0;font-size:10px}.ok{color:#93d6ba}.fail{color:#f3a7a7}.lib{max-height:340px;overflow:auto;display:flex;flex-direction:column;gap:5px;margin-top:8px}.lib button{padding:7px 8px;text-align:left;background:#111d28;min-height:0}.lib button.active{border-color:#6eaece;background:#233c51}.lib b{font-size:10px;display:block}.lib small{display:block;font-size:9px;color:#8197ac}.flex{display:flex;align-items:center;gap:6px}.grow{flex:1}.tiny{font-size:9px;color:#8095a8}.slider{display:grid;grid-template-columns:1fr 37px;gap:6px;align-items:center}.status{font-size:10px;color:#96b6ce;min-height:16px}.hr{border:0;border-top:1px solid #2b3a4a;margin:12px 0}.actions{display:flex;gap:5px;flex-wrap:wrap}.actions button{font-size:10px}.footer{color:#778da0;font-size:9px;line-height:1.5}.kbd{font-size:9px;letter-spacing:.03em;color:#84a7c0}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:1180px){.shell{grid-template-columns:250px minmax(0,1fr)}.side.right{grid-column:1/-1;min-height:0;border:0;border-top:1px solid #293746;display:grid;grid-template-columns:1fr 1fr}.side.right>.panel{border-radius:0}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:790px){.top{height:52px;padding:0 9px}.tag{display:none}.crumb{font-size:9px}.shell{display:flex;flex-direction:column}.body{width:100%;order:0;padding:8px;gap:8px}.side{width:100%;min-height:0;order:1;border-right:0;border-top:1px solid #293746}.side.right{order:2;display:block}.side.left{display:grid;grid-template-columns:1fr 1fr}.side.left>.panel{border-radius:0}.hero h1{font-size:17px}.stats{grid-template-columns:repeat(2,1fr)}canvas{height:430px}.panelhead{padding:9px}.pad{padding:10px}}@media(max-width:480px){.side.left{display:block}.stat strong{font-size:16px}.toolbar button{padding:6px;font-size:10px}.hero p{font-size:10px}.footbar{align-items:flex-start}canvas{height:380px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important}}
.launch3d{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:7px 11px;border:1px solid #77abd2;border-radius:4px;background:#2d5878;color:#ebf8ff;font-size:11px;font-weight:800}.launch3d:hover{background:#3b739c;color:#fff}
