:root{font-family:Arial,Helvetica,sans-serif;color:#344339;background:#deded1;font-synthesis:none;--ink:#344339;--muted:#7b8173;--line:#65715d2b;--paper:#f1eee3ee;--accent:#b8643c}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select{font:inherit;color:inherit}button,select{cursor:pointer}button{border:0;background:transparent;border-radius:5px;min-height:32px;transition:background .15s,color .15s}button:hover{background:#56674914}button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button:disabled{opacity:.35;cursor:default}button.active{background:var(--ink);color:#fff}select{border:0;background:transparent;min-height:29px}input[type=number]{width:100%;background:#fff7;border:1px solid var(--line);border-radius:4px;padding:7px 5px;font-family:monospace;font-size:13px}input[type=checkbox]{accent-color:var(--accent)}[hidden]{display:none!important}#world{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;touch-action:none;outline:none}.topbar{height:78px;position:absolute;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid var(--line);background:#f0eee1e8;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);gap:15px}.brand{text-decoration:none;color:var(--ink);display:flex;align-items:center;gap:13px;font-size:17px;font-weight:800;letter-spacing:2.2px}.brand>b{font:800 39px Georgia,serif;border:1px solid #67746071;width:43px;height:44px;line-height:42px;padding-left:8px;letter-spacing:-6px}.brand-dot{color:var(--accent)}.brand small{display:block;font:8px monospace;letter-spacing:2.25px;margin-top:6px}.transport{display:flex;align-items:center;border:1px solid var(--line);border-radius:6px;height:40px;gap:3px;padding:3px;background:#faf8edb0}.transport .play{background:var(--ink);color:#f0ead6;font-size:18px;width:37px}.transport #step{font-size:16px;width:32px}.clock{font:15px monospace;min-width:98px;border-left:1px solid var(--line);padding-left:17px;margin-left:5px}.clock small{font:10px monospace;margin-left:5px;color:var(--muted)}.transport select{font:10px monospace;width:86px;border-left:1px solid var(--line);padding-left:6px}.header-actions{display:flex;gap:8px;align-items:center;font-size:11px}.header-actions .help{border:1px solid var(--line);border-radius:50%;min-height:27px;width:27px;font:14px Georgia;margin-left:4px}.bench-heading{position:absolute;top:107px;left:30px;pointer-events:none}.eyebrow{font:9px monospace;letter-spacing:1.45px;color:#74806e}.bench-heading .eyebrow span{margin-left:16px;color:#738367;font-size:8px}.bench-heading h1{font:36px Georgia,Times New Roman,serif;letter-spacing:-1.3px;margin:12px 0 9px}.bench-heading p{font-size:11px;color:#808475;margin:0}.scene-choice{pointer-events:auto;display:flex;align-items:center;gap:9px;font:8px monospace;letter-spacing:1.3px;margin-top:23px}.scene-choice select{font:11px Arial;letter-spacing:0;border-bottom:1px solid var(--line);max-width:210px}.panel{background:var(--paper);border:1px solid #65715d30;box-shadow:0 6px 24px #293c2910;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:8px}.environment{position:absolute;right:26px;top:101px;display:flex;align-items:center;gap:8px;padding:7px 11px;font:9px monospace;width:274px}.environment label{letter-spacing:1px;font-size:8px}.environment select{font:11px Arial;max-width:64px}.environment input{width:59px;font:11px monospace;padding:5px 4px}.environment>span{font-size:9px;white-space:nowrap}.inspector{position:absolute;top:157px;right:26px;width:274px;padding:15px 16px 11px;max-height:calc(100dvh - 302px);overflow:auto;scrollbar-width:thin}.panel-heading{display:flex;align-items:center;justify-content:space-between;font:8px monospace;letter-spacing:1.5px;color:var(--muted);height:17px;margin-bottom:13px}.panel-heading button{font:18px Arial;min-height:24px;width:24px;letter-spacing:0}.object-heading{display:flex;align-items:center;gap:10px;margin-bottom:15px}.object-heading>span{border:1px solid var(--line);border-radius:50%;font:12px Georgia;display:grid;place-items:center;width:34px;height:34px;flex-shrink:0;color:var(--accent)}h2{font:20px Georgia,serif;letter-spacing:-.3px;margin:0}.object-heading p{font:9px monospace;margin:4px 0 0;color:var(--muted)}.field{display:block;font:8px monospace;letter-spacing:.8px;color:#737b6c}.field>select{display:block;border-bottom:1px solid var(--line);width:100%;font:12px Arial;margin:2px 0 12px}.properties{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.field>span{float:right;letter-spacing:0;color:#929889}.field input{margin-top:6px}.fineprint{font:9px/1.5 Arial;color:#858a7c;margin:8px 0 11px}.telemetry{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);margin-top:12px;padding:13px 0}.telemetry small{display:block;font:8px monospace;letter-spacing:1px;color:var(--muted);margin-bottom:5px}.telemetry strong{font:24px Georgia}.telemetry em{font:9px monospace;color:var(--muted)}.graph-head{display:flex;justify-content:space-between;font:8px monospace;letter-spacing:1px;border-top:1px solid var(--line);padding-top:11px}.graph-head small{font-size:8px;color:#8e9683}.dot{display:inline-block;width:5px;height:5px;border-radius:50%;margin-left:6px}.kinetic{background:#bd7046}.potential{background:#5d8c94}.elastic{background:#a99b51}#graph{width:100%;height:82px;margin:8px 0 2px}.graph-foot{display:flex;justify-content:space-between;font:7px monospace;letter-spacing:.5px;color:#929887}.graph-foot span+span{color:#63705e}.overlay-controls{display:flex;gap:13px;font-size:10px;margin-top:12px;border-bottom:1px solid var(--line);padding-bottom:12px}.overlay-controls label{display:flex;align-items:center;gap:4px}.overlay-controls input{margin:0}.object-actions{display:flex;justify-content:space-between;margin-top:8px}.object-actions button{font-size:10px;padding:0 8px}.manipulate{border-top:1px solid var(--line);margin-top:4px;padding-top:7px;display:flex;gap:3px;align-items:center}.manipulate span{font:7px monospace;margin-right:6px;color:var(--muted)}.manipulate button{font:12px monospace;min-width:25px}.manipulate #kick{font-size:8px}.danger{color:var(--accent)}#spring-controls{grid-template-columns:1fr 1fr}#empty-selection{text-align:center;padding:25px 3px}.selection-symbol{font-size:32px;margin-bottom:20px;color:var(--accent)}#empty-selection p{font:11px/1.7 Arial;color:var(--muted)}.view-tools{position:absolute;left:28px;bottom:196px;display:flex;padding:3px;font:10px Arial;gap:3px}.view-tools button{padding:0 11px}.toolbox{position:absolute;bottom:47px;left:50%;transform:translate(-50%);width:min(1000px,calc(100% - 54px));padding:15px 16px 12px}.toolbox-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.toolbox-top p{font:10px Arial;margin:5px 0 0;color:#8c907f}.toolbox-top>label{font:8px monospace;letter-spacing:1px;color:#838c7a;margin-left:auto}.toolbox-top select{font:11px Arial;letter-spacing:0;margin-left:7px;border-bottom:1px solid var(--line);width:96px}.toolbox-top>button{margin-left:8px;min-height:24px;width:24px}.parts{display:flex;gap:5px;overflow-x:auto;padding-bottom:1px;scrollbar-width:thin}.part{border:1px solid var(--line);background:#f8f6eb78;flex:1;min-width:69px;min-height:56px;padding:5px 4px 7px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}.part i{font:24px Georgia;line-height:24px;font-style:normal;color:#68735f}.part span{font:9px Arial}.part.active{background:#405546;color:#efe9d6;border-color:#405546}.part.active i{color:#dcc8a4}.toolbox.collapsed .parts{display:none}.toolbox.collapsed .toolbox-top{margin-bottom:0}footer{position:absolute;bottom:0;left:0;width:100%;display:flex;justify-content:space-between;align-items:center;height:35px;padding:0 28px;font:8px monospace;color:#6f7e6a;letter-spacing:.4px}footer b{margin:0 8px;color:#a0a795}.live-dot{width:5px;height:5px;background:#7b915d;border-radius:50%;display:inline-block;margin-right:7px}.placement{position:absolute;bottom:205px;left:50%;transform:translate(-50%);background:#3c5145;color:#faf1dc;padding:6px 8px 6px 17px;border-radius:30px;box-shadow:0 3px 15px #0002;display:flex;align-items:center;gap:15px;font-size:12px;max-width:90%;white-space:nowrap}.placement button{color:#d5d9c7;font-size:10px;padding:0 12px;background:#ffffff12;border-radius:20px}kbd{font:8px monospace;margin-left:6px}#toast{position:absolute;top:88px;left:50%;transform:translate(-50%);padding:11px 19px;border-radius:6px;background:#334f40;color:#f2ecd9;font-size:12px;box-shadow:0 3px 20px #0002;opacity:0;pointer-events:none;transition:opacity .18s;z-index:8;max-width:90%;text-align:center}#toast.show{opacity:1}.loading{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;gap:15px;background:#e9e6d8;z-index:20;text-align:center}.loading .brand{justify-content:center}.loading p{font:12px monospace;color:var(--muted)}dialog{border:1px solid var(--line);border-radius:12px;width:min(780px,92vw);max-height:85dvh;background:#f0eddf;color:var(--ink);padding:40px;box-shadow:0 30px 150px #172d3755}dialog::backdrop{background:#263b3366;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}dialog h2{font:34px Georgia;letter-spacing:-1px;margin:14px 0 18px}dialog p{font:12px/1.8 Arial;color:#737d6b}dialog h3{font:17px Georgia;margin-top:16px}.guide-columns{display:grid;grid-template-columns:1fr 1fr;gap:30px}dialog summary{font:13px Georgia;cursor:pointer;border-top:1px solid var(--line);padding-top:16px;margin-top:16px}dialog a{color:var(--accent)}.dialog-close{position:absolute;right:12px;top:10px;font-size:24px}.control-hint{opacity:.8}@media(min-width:1600px){.toolbox{bottom:55px}.inspector,.environment{right:40px}.bench-heading{left:40px;top:125px}}@media(max-height:800px)and (min-width:701px){.topbar{height:64px}.bench-heading{top:85px}.bench-heading h1{font-size:29px}.environment{top:82px}.inspector{top:133px;max-height:calc(100dvh - 280px)}.toolbox{padding-top:10px;padding-bottom:8px}.view-tools{bottom:177px}.placement{bottom:180px}}@media(max-width:1000px){.topbar{padding:0 17px}.brand{font-size:14px;gap:9px}.brand small{font-size:6px}.brand>b{width:35px;height:37px;font-size:32px;line-height:35px}.header-actions{gap:2px}.bench-heading h1{font-size:29px}.bench-heading{left:20px}.environment,.inspector{right:16px;width:247px}.inspector{padding-left:13px;padding-right:13px}.clock{min-width:79px;padding-left:10px}.control-hint,.bench-heading .eyebrow span{display:none}.toolbox{width:calc(100% - 32px)}}@media(max-width:700px){.topbar{height:62px;padding:0 12px;gap:5px}.brand{font-size:12px;letter-spacing:1px;gap:7px}.brand small{font-size:5px;letter-spacing:1px}.brand>b{font-size:28px;height:33px;width:30px;line-height:32px;padding-left:4px}.transport{height:34px;gap:1px;padding:2px}.transport .play{width:29px;min-height:28px;font-size:15px}.transport #step{width:24px;min-height:27px;font-size:11px}.clock{font-size:11px;min-width:59px;padding-left:7px;margin-left:1px}.clock small{font-size:8px}.transport select{width:48px;font-size:8px;padding-left:2px}.header-actions{gap:0}.header-actions #reset{font-size:21px;width:29px;padding:0}.header-actions #reset span,.header-actions #save,.header-actions #load{display:none}.header-actions .help{width:23px;min-height:23px;margin-left:3px}.bench-heading{top:84px;left:18px}.bench-heading h1{font-size:25px;margin-top:8px}.bench-heading p{display:none}.bench-heading .eyebrow{font-size:7px;letter-spacing:1px}.scene-choice{margin-top:12px;font-size:7px}.scene-choice select{font-size:10px;max-width:182px}.environment{top:177px;left:16px;right:auto;width:257px;padding:4px 9px;background:#efece2c9}.inspector{display:none;top:235px;right:14px;width:245px;max-height:calc(100dvh - 412px);z-index:4}.inspector.mobile-open{display:block;max-height:calc(100dvh - 210px);top:81px;box-shadow:0 14px 50px #152e3555;background:#f0eddf}.view-tools{left:16px;bottom:183px;font-size:10px;padding:1px}.view-tools button{padding:0 9px}.toolbox{bottom:36px;width:calc(100% - 22px);padding:11px 9px 9px}.toolbox-top{margin-bottom:9px}.toolbox-top .eyebrow{font-size:7px;letter-spacing:1px}.toolbox-top p{font-size:8px;margin-top:5px}.toolbox-top>label{font-size:6px;letter-spacing:.5px}.toolbox-top select{width:65px;font-size:10px;margin-left:3px}.toolbox-top>button{margin-left:0;width:22px}.parts{gap:5px}.part{min-width:65px;min-height:57px;flex:0 0 65px}.part span{font-size:9px}.part i{font-size:23px}footer{height:29px;padding:0 15px;font-size:7px;letter-spacing:0}footer b{margin:0 3px}.placement{bottom:223px;font-size:10px;gap:8px;padding-left:12px;border-radius:8px;max-width:95%;white-space:normal}.placement button{white-space:nowrap;padding:0 7px}.placement kbd{display:none}#toast{top:65px;font-size:11px;width:max-content;max-width:94%}dialog{padding:28px 23px}dialog h2{font-size:29px}.guide-columns{grid-template-columns:1fr;gap:0}dialog p{font-size:12px}#guide .mobile-save{display:block}}@media(max-width:370px){.brand>span{font-size:10px}.brand small{letter-spacing:.5px;font-size:4px}.clock{min-width:51px}.transport select,.toolbox-top p{display:none}.topbar{padding:0 8px}.environment{top:168px}.bench-heading h1{font-size:23px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}.connection-actions{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:4px;padding-top:3px}.connection-actions button{font-size:9px;min-height:27px}#export-data{font:8px monospace;min-height:14px;margin:-3px 0;padding:0 4px;color:var(--accent)}
