:root{color-scheme:dark;--bg:#111215;--fg:#eeeef1;--muted:#9296a1;--line:#ffffff14;--blue:#759cff}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
button{font:inherit;cursor:pointer;color:inherit;-webkit-tap-highlight-color:transparent}
button:disabled{cursor:wait;opacity:.5}
button:focus-visible,a:focus-visible,canvas:focus-visible{outline:2px solid var(--blue);outline-offset:5px}
button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5}
main{min-height:100svh;max-width:1800px;margin:auto;padding:0 4.5vw;display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(ellipse at 50% 43%,#24283290,transparent 59%)}
header{height:82px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}
.brand{display:flex;gap:15px;align-items:center;font-size:14px;font-weight:550;letter-spacing:.02em}
.brand-icon{display:flex;align-items:center;padding-right:17px;border-right:1px solid #ffffff23;color:#f0f0f5}
.brand-icon svg{width:57px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4}
.edition{font-size:12px;color:var(--muted);letter-spacing:.15em}
.header-actions{display:flex;align-items:center;gap:20px}
.mode{display:flex;align-items:center;gap:8px;font-size:12px;color:#a8acb6}
.mode i{width:6px;height:6px;background:#86a4ff;border-radius:50%;box-shadow:0 0 12px #6395ff50}
.icon-button{display:grid;place-items:center;border:1px solid #ffffff17;width:37px;height:37px;background:#ffffff03;border-radius:50%;transition:.2s}
.icon-button:hover{background:#ffffff0d;color:white;border-color:#ffffff40}
.intro{display:flex;align-items:end;justify-content:space-between;padding-top:30px;position:relative;z-index:2;pointer-events:none}
.intro h1{font-size:clamp(30px,3vw,43px);font-weight:450;letter-spacing:-1.8px;line-height:1.05;margin:0}
.intro p{color:#93959f;font-size:14px;margin:10px 0 0}
.model{font:12px/1.6 ui-monospace,SFMono-Regular,monospace;letter-spacing:.06em;color:#747884;text-align:right}
.model span{display:block;color:#b6b8c1;margin-bottom:4px}
.stage{--viewer-height:clamp(380px,calc(100svh - 358px),660px);flex:1;position:relative;margin-top:4px;min-height:390px;display:flex;flex-direction:column}
.viewer{height:var(--viewer-height);position:relative;flex:1;min-height:380px}
.viewer:before{content:'';position:absolute;width:50%;height:9%;left:25%;bottom:7%;filter:blur(22px);border-radius:50%;background:#0008;pointer-events:none}
#controller-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;touch-action:none;cursor:grab;outline-offset:-6px;border-radius:12px}
#controller-canvas:focus:not(:focus-visible){outline:none}
.view-switch{position:absolute;right:0;top:12px;display:flex;gap:3px;padding:3px;border:1px solid #ffffff13;border-radius:24px;z-index:3;background:#14161bcc}
.view-switch button{background:transparent;border:0;border-radius:20px;font-size:12px;color:#818894;padding:6px 14px;transition:background .2s,color .2s}
.view-switch button[aria-pressed=true]{color:#e1e6f0;background:#ffffff0d}
.view-switch button:hover{color:white}
.stage-hint{position:relative;display:flex;align-items:center;justify-content:center;gap:12px;color:#9298a5;font-size:12px;padding:3px 0 18px;pointer-events:none}
.stage-hint i{width:2px;height:2px;border-radius:50%;background:#5a626f}
.hover-label{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);padding:5px 13px;background:#1a1d25b3;backdrop-filter:blur(8px);color:#b9c2d3;border:1px solid #ffffff0f;border-radius:20px;font-size:12px;pointer-events:none;text-transform:capitalize}
.hover-label:empty{display:none}
.loading,.load-error{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:14px;font-size:14px;color:#a4adbe;background:radial-gradient(ellipse,#161920,transparent 70%)}
.loading[hidden],.load-error[hidden]{display:none}
.loading small{color:#7183a3;display:inline-block;min-width:35px;margin-left:6px}
.load-spinner{width:21px;height:21px;border-radius:50%;border:1.5px solid #ffffff18;border-top-color:#85acff;animation:spin 1.2s linear infinite}
.load-error{flex-direction:column;text-align:center;padding:40px}.load-error p{max-width:410px;margin:0}
.retry-button{padding:9px 17px;background:#222b3c;border:1px solid #698acc4d;border-radius:7px;font-size:14px}
@keyframes spin{to{transform:rotate(360deg)}}
.mesh-focus{position:absolute;left:50%;top:50%;opacity:0;pointer-events:none;transform:translate(-50%,-50%);padding:5px 9px;white-space:nowrap;font-size:12px;border:1px solid #80a8ff;border-radius:6px;background:#15213e;color:white;z-index:4}
.mesh-focus:focus-visible{opacity:1;outline:2px solid #759cff;outline-offset:3px}
.workspace-bottom{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:19px 0 21px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.finishes{display:flex;align-items:center;gap:18px}
.swatches{display:flex;align-items:center;gap:11px}
.swatch{border:1px solid transparent;border-radius:50%;background:transparent;width:29px;height:29px;padding:4px;transition:.2s}
.swatch:before{content:'';display:block;width:19px;height:19px;border-radius:50%;background:var(--swatch);box-shadow:inset 0 1px 2px #ffffff4d,inset 0 -2px 2px #0006}
.swatch[aria-pressed=true]{border-color:#b4bac7}.swatch:hover{transform:scale(1.1)}
.finish-label{font-size:13px;color:#b2b5be;min-width:104px}.finish-label small{display:block;font-size:10px;color:#787f8d;letter-spacing:.12em;margin-bottom:3px}
.last-input{display:flex;align-items:center;gap:10px;min-width:180px;justify-content:center;font-size:13px;color:#979ba8}
.input-dot{width:6px;height:6px;background:#5e6370;border-radius:50%}.last-input.active .input-dot{background:#72a2ff;box-shadow:0 0 13px #79a6ff}.last-input.active{color:#c3d6ff}
.utilities{display:flex;gap:20px}
.text-button{border:none;background:none;color:#a0a5b2;display:flex;align-items:center;gap:8px;font-size:13px;padding:7px 0}
.text-button:hover{color:white}.text-button svg{width:16px;height:16px}
.telemetry{display:grid;grid-template-columns:1fr 1fr 1fr 1.25fr;padding:22px 0;gap:25px}
.readout{border-right:1px solid var(--line);display:flex;align-items:center;gap:17px}.readout:last-child{border:none;justify-content:flex-end}
.readout-label{font-size:11px;letter-spacing:.1em;color:#8b93a1}
.readout-values{font:12px/1.6 ui-monospace,SFMono-Regular,monospace;color:#b9c2d2;margin-top:5px;display:flex;gap:17px}.readout-values b{font-weight:400;color:#6e7a8e;margin-right:5px}
.mini-stick{width:34px;height:34px;flex-shrink:0;border:1px solid #ffffff18;border-radius:50%;position:relative;background:linear-gradient(transparent 49%,#ffffff0b 49%,#ffffff0b 51%,transparent 51%),linear-gradient(90deg,transparent 49%,#ffffff0b 49%,#ffffff0b 51%,transparent 51%)}
.mini-stick i{position:absolute;width:5px;height:5px;border-radius:50%;left:14px;top:14px;background:#739cff;box-shadow:0 0 5px #5c8aff44}
.trigger-meters{display:flex;gap:7px;margin-top:8px}.trigger-meter{width:55px;height:3px;background:#252a34;border-radius:3px;overflow:hidden}.trigger-meter i{display:block;width:0;height:100%;background:#729cff;transition:width .08s}
.connect-note{font-size:12px;color:#939ba9;max-width:210px;text-align:right;line-height:1.55}
footer{font-size:12px;display:flex;justify-content:space-between;color:#727987;padding:8px 0 18px;gap:20px;flex-wrap:wrap}
footer a{color:#a0a9ba;text-decoration-color:#556078;text-underline-offset:3px}footer a:hover{color:#d0ddf5}
.help{border:1px solid #ffffff1c;border-radius:20px;color:var(--fg);background:#1a1c22;width:min(540px,calc(100% - 32px));max-height:calc(100svh - 50px);overflow:auto;box-shadow:0 30px 100px #000a;padding:28px}
.help::backdrop{background:#0008;backdrop-filter:blur(8px)}.help-header{display:flex;align-items:center;justify-content:space-between}.help h2{font-size:24px;font-weight:500;letter-spacing:-.7px;margin:0}.help p{color:#a7aebb;font-size:14px}
.key-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid #ffffff09;font-size:14px;color:#c1c5cf;gap:15px}.key-row:last-child{border:0}
kbd{font:11px ui-monospace,monospace;border:1px solid #ffffff1f;background:#ffffff05;border-radius:5px;display:inline-block;min-width:24px;text-align:center;padding:4px 6px;color:#bcc3d2;margin-left:3px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:900px){.edition{display:none}.telemetry{gap:18px}.readout{gap:11px}.readout-values{gap:10px}.connect-note{max-width:180px}.model-credit{font-size:11px}.workspace-bottom{gap:16px}.finishes{gap:13px}.finish-label{min-width:80px}}
@media(max-width:650px){main{padding:0 20px}header{height:68px}.brand{font-size:13px;gap:11px}.brand-icon{padding-right:12px}.brand-icon svg{width:43px}.header-actions{gap:12px}.mode{font-size:11px}.intro{padding-top:25px}.intro h1{font-size:34px}.intro p{font-size:13px}.model{display:none}.stage{margin:0 -18px;min-height:340px}.viewer{height:360px;min-height:340px;max-height:480px}.view-switch{top:16px;right:19px}.view-switch button{font-size:11px;padding:5px 11px}.stage-hint{font-size:10px;gap:7px;padding-bottom:17px}.workspace-bottom{padding:16px 0;flex-wrap:wrap;gap:12px}.last-input{order:3;width:100%;justify-content:flex-start;padding-top:4px}.utilities{gap:17px}.finish-label{min-width:0}.text-button{font-size:12px}.telemetry{grid-template-columns:1fr 1fr;padding:22px 0;gap:21px 15px}.readout:nth-child(2){border:none}.readout:last-child{justify-content:flex-start}.readout-label{font-size:10px}.connect-note{text-align:left;font-size:12px}.readout-values{font-size:11px}footer{font-size:11px;gap:6px;padding-top:0}.model-credit{font-size:10px}.help{padding:24px}.key-row{font-size:13px}}
@media(max-width:390px){main{padding:0 16px}.brand-icon{display:none}.intro p{max-width:260px}.stage{min-height:300px}.viewer{height:320px;min-height:300px}.utilities .text-button span{display:none}.readout{gap:9px}.readout-values{gap:8px}.stage-hint{font-size:9px;gap:6px}}
@media(prefers-reduced-motion:reduce){*,*:before{transition:none!important;animation:none!important}}

.trigger-effects{display:flex;align-items:center;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;border-top:1px solid var(--line);padding:20px 0;margin-bottom:12px}
.trigger-effects h2{font-size:18px;font-weight:500;margin:0 0 4px;letter-spacing:-.4px}
.trigger-effects p{font-size:14px;color:#a7aebb;margin:0;max-width:580px}
.trigger-effect-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.trigger-effect-actions select{font:inherit;font-size:13px;color:var(--fg);background:#1a1c22;border:1px solid #ffffff24;border-radius:8px;padding:10px 12px;cursor:pointer}
.trigger-effect-actions select:focus-visible{outline:2px solid #729fff;outline-offset:3px}
#trigger-mode-description{width:100%;max-width:none;font-size:13px}
.trigger-effects .trigger-effect-help{width:100%;max-width:none;font-size:12px;color:var(--muted)}
.trigger-effects button:disabled{cursor:default}
@media(max-width:650px){.trigger-effect-actions{width:100%}#enable-triggers{flex:1}.trigger-effects{gap:14px}}

.trigger-tag{position:absolute;transform:translate(-50%,-130%);pointer-events:none;z-index:3;padding:5px 9px;border:1px solid #6682af66;border-radius:7px;background:#111a2bee;color:#bac8e0;font:12px ui-monospace,monospace;white-space:nowrap}
.trigger-tag.active{border-color:#e7cd86;color:#fff1c7;background:#463b20ee;box-shadow:0 0 18px #e4c46222}

.range-launch{pointer-events:auto;margin-top:14px;padding:8px 13px;border:1px solid #90b9fb4a;border-radius:8px;background:#739de812;color:#c5dbff;font-size:13px}.range-launch:hover{background:#739de825}.range-launch span{margin-left:10px;font-size:9px;letter-spacing:.12em;color:#f4d878}
.range-dialog{width:min(1120px,calc(100% - 32px));max-height:calc(100svh - 32px);padding:26px;border:1px solid #6781a144;border-radius:22px;background:#10151e;color:var(--fg);overflow:auto;box-shadow:0 30px 100px #000b}.range-dialog::backdrop{background:#030710e8;backdrop-filter:blur(10px)}
.range-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}.range-eyebrow{color:#849ab7;font:10px ui-monospace,monospace;letter-spacing:.16em}.range-header h2{font-size:28px;letter-spacing:-1px;font-weight:500;margin:4px 0 0}.range-hud{display:flex;justify-content:space-between;padding:15px 22px;border:1px solid #ffffff12;border-bottom:0;border-radius:12px 12px 0 0;background:#161f2c}.range-hud span{font:10px ui-monospace,monospace;letter-spacing:.09em;color:#8396b0}.range-hud strong{display:block;margin-top:5px;font:24px ui-monospace,monospace;letter-spacing:-1px;color:#e7edf7}.range-hud span:first-child strong{color:#f4d878}
.range-field{position:relative;border:1px solid #ffffff18;border-radius:0 0 12px 12px;overflow:hidden}.range-field canvas{width:100%;aspect-ratio:1000/560;display:block;cursor:crosshair;touch-action:none;outline-offset:-4px}.range-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:#07101ddd;padding:16px}.range-overlay[hidden]{display:none}.range-overlay h3{font-size:clamp(22px,3.5vw,42px);letter-spacing:-1.4px;font-weight:500;margin:12px 0 0}.range-overlay p{font-size:14px;color:#9baec6;margin:9px 0 22px}.range-overlay small{color:#8396b0;font-size:11px;margin-top:12px}.range-primary{background:#f1d68d;color:#21201c;border:0;border-radius:9px;font-weight:600;padding:12px 26px}.range-primary:hover{background:#ffe7a8}
.range-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:18px}.range-toolbar label{display:flex;gap:10px;align-items:center;font:10px ui-monospace,monospace;color:#8fa2be}.range-toolbar select{background:#1a2434;border:1px solid #ffffff23;border-radius:8px;padding:10px;color:#e7edf7;font:13px system-ui}.range-toolbar p{width:100%;font-size:12px;color:#98abc5;margin:0 0 5px}.range-instructions{font-size:12px;color:#91a2b9;line-height:1.8;margin:8px 0 0}.range-instructions b{font-weight:500;color:#c8d5e9}
@media(max-width:650px){.range-dialog{width:calc(100% - 12px);max-height:calc(100svh - 12px);padding:12px;border-radius:14px}.range-header h2{font-size:23px}.range-header .retry-button{font-size:11px;padding:8px}.range-eyebrow{font-size:8px}.range-hud{padding:12px}.range-hud strong{font-size:19px}.range-hud span{font-size:8px}.range-overlay p{font-size:11px;margin:6px 0 12px}.range-overlay h3{margin-top:7px}.range-primary{padding:9px 18px}.range-overlay small{margin-top:7px;font-size:10px}.range-toolbar .retry-button{font-size:12px;padding:9px}.range-instructions{font-size:11px}}

/* Creation and controller tools */
.trigger-custom{flex-basis:100%;width:100%;border-top:1px solid #ffffff10;padding-top:14px;margin-top:4px}
.trigger-custom summary{cursor:pointer;color:#e3d09a;font-size:13px;list-style-position:inside}
.preset-controls{display:grid;grid-template-columns:1fr 1fr;gap:20px 28px;padding:22px 0 6px}
.preset-controls label{display:block;color:#bec5d0;font-size:12px}
.preset-controls output{float:right;color:#e9dcac;font-variant-numeric:tabular-nums}
.preset-controls input[type=range]{display:block;width:100%;margin:16px 0 0;accent-color:#e9cf86;cursor:pointer}
.preset-controls input:disabled{opacity:.3;cursor:default}
.preset-actions{display:flex;gap:8px;grid-column:1/-1}
.preset-controls .preset-link{grid-column:1/-1}.preset-link input{width:100%;margin-top:8px;background:#0d1119;border:1px solid #ffffff20;border-radius:6px;color:#d5deec;padding:10px;font:12px monospace}
#trigger-share-status{grid-column:1/-1;margin:0;font-size:12px;color:#9aa4b3}
.studio-tools{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0 30px}
.studio-tools>button{display:flex;align-items:center;text-align:left;gap:16px;border:1px solid #ffffff17;border-radius:12px;padding:22px;background:linear-gradient(115deg,#20232b,#15171d);color:#edf0f6;cursor:pointer}
.studio-tools>button:hover{border-color:#e9cf8655;background:#232630}.studio-tools strong{display:block;font-size:15px;font-weight:550}.studio-tools small{display:block;color:#929aaa;font-size:12px;margin-top:7px}.studio-tools>button>span:last-child{margin-left:auto;color:#a8afbb}.tool-symbol{font-size:30px;color:#e9cf86}
.studio-dialog{box-sizing:border-box;width:min(1040px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:26px;border:1px solid #394150;border-radius:20px;background:#10151e;color:#ecf0f8;overflow:auto}
.studio-dialog::backdrop{background:#03060ce8;backdrop-filter:blur(12px)}
.studio-dialog h2{font-size:30px;margin:6px 0 0;letter-spacing:-1px}.studio-description{font-size:13px;line-height:1.6;color:#9aa9bd;margin:16px 0;overflow-wrap:anywhere}
#drawing-canvas{display:block;width:100%;aspect-ratio:16/9;background:#090e18;border:1px solid #ffffff14;border-radius:12px;touch-action:none;cursor:crosshair}
.studio-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:20px}.studio-toolbar label{font-size:12px;color:#9aa9bd;display:flex;gap:10px;align-items:center}.studio-toolbar select{background:#1c2431;color:#edf0f8;border:1px solid #ffffff20;border-radius:6px;padding:9px;font:inherit}.studio-toolbar .range-primary{margin-left:auto;padding:10px 20px}
.diagnostics-sticks,.diagnostic-triggers{display:grid;grid-template-columns:1fr 1fr;gap:18px}.diagnostics-sticks section,.diagnostic-triggers section{background:#151d29;border:1px solid #ffffff12;border-radius:12px;padding:20px;text-align:center}.studio-dialog h3{font-size:14px;font-weight:550;margin:0 0 16px}.diagnostic-stick{position:relative;margin:0 auto 18px;width:130px;height:130px;border-radius:50%;border:1px solid #52617a;background:linear-gradient(transparent calc(50% - .5px),#52617a66 50%,transparent calc(50% + .5px)),linear-gradient(90deg,transparent calc(50% - .5px),#52617a66 50%,transparent calc(50% + .5px))}.diagnostic-stick:before{content:'';position:absolute;inset:25%;border:1px dashed #52617a77;border-radius:50%}.diagnostic-stick i{position:absolute;left:calc(50% - 5px);top:calc(50% - 5px);width:10px;height:10px;background:#f4d878;border-radius:50%;box-shadow:0 0 14px #f4d87866}.diagnostics-sticks output{font:13px ui-monospace,monospace;color:#d1dded}.diagnostics-sticks p,.diagnostic-triggers p{font-size:12px;line-height:1.5;color:#95a5ba;margin:10px 0 0}.diagnostic-triggers{text-align:left;margin-top:24px}.diagnostic-triggers h3{display:flex;justify-content:space-between;margin-bottom:10px}.diagnostic-triggers progress{width:100%;height:12px;accent-color:#f4d878}.diagnostic-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.diagnostic-buttons span{padding:12px;font-size:12px;color:#8695ab;border:1px solid #ffffff13;border-radius:6px;background:#151d29}.diagnostic-buttons .tested{color:#bedccb;border-color:#80c0a044}.diagnostic-buttons .down{color:#ffe8a5;background:#f4d87819;border-color:#f4d87877}
.range-result-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.range-overlay{justify-content:flex-start;overflow:auto}.range-overlay>*{flex-shrink:0}.range-overlay>.range-eyebrow{margin-top:auto}.range-overlay>:last-child{margin-bottom:auto}#range-download-status{font-size:12px;color:#c9d4e5;display:block;margin-top:8px}[hidden]{display:none!important}
@media(max-width:600px){.studio-tools{grid-template-columns:1fr}.studio-dialog{padding:18px;width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.studio-dialog h2{font-size:25px}.studio-dialog .range-header{gap:12px}.studio-dialog .range-header>.retry-button{font-size:11px;padding:8px}.preset-controls{grid-template-columns:1fr}.diagnostics-sticks,.diagnostic-triggers{gap:8px}.diagnostics-sticks section,.diagnostic-triggers section{padding:14px 8px}.diagnostic-stick{width:116px;height:116px}.diagnostics-sticks output{font-size:11px}.diagnostic-buttons{grid-template-columns:1fr 1fr}.studio-toolbar .range-primary{margin-left:0}}

.range-submit{display:flex;align-items:end;gap:14px;flex-wrap:wrap;padding:20px;border:1px solid #e3c87733;border-radius:12px;margin:20px 0;background:#f4d87808}.range-submit>div{flex:1 1 220px}.range-submit strong{font-size:17px;font-weight:550}.range-submit p{font-size:12px;color:#9aa9bd;line-height:1.5;margin:7px 0 0}.range-submit label{font-size:11px;color:#9aa9bd}.range-submit input{display:block;margin-top:6px;max-width:180px;padding:11px 12px;background:#111a27;color:#fff;border:1px solid #ffffff25;border-radius:7px;font:14px system-ui}.range-submit>p{flex-basis:100%}.range-leaderboard-row{display:flex;align-items:center;gap:14px;margin:16px 0}.range-leaderboard-row span{font-size:12px;color:#9aa9bd}.range-submit button:disabled{opacity:.55;cursor:default}@media(max-width:600px){.range-submit{padding:15px}.range-submit input{max-width:145px}.range-submit .range-primary{font-size:12px;padding:12px}.range-leaderboard-row{align-items:flex-start;flex-direction:column}}

.gyro-values{font:11px ui-monospace,monospace;color:#f4d878;grid-column:1/-1}.range-gyro-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px}.range-gyro-row span{font-size:11px;color:#a9bad0}

/* Compact physical-input controls beside the model. */
.sensor-dock{position:absolute;right:max(4px,calc(50% - var(--viewer-height)*.625 - 86px));top:48%;transform:translateY(-50%);z-index:6;display:flex;flex-direction:column;gap:5px;padding:6px;border:1px solid #a3b2c322;border-radius:16px;background:#14191fde;backdrop-filter:blur(16px);box-shadow:0 8px 30px #0003}
.sensor-tool{position:relative;display:flex}.sensor-button{position:relative;display:grid;place-items:center;width:42px;height:42px;border:1px solid transparent;border-radius:11px;background:transparent;color:#8493a5;padding:10px;transition:background .16s,color .16s,border-color .16s;cursor:pointer}.sensor-button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.sensor-button:hover:not(:disabled),.sensor-button:focus-visible{color:#e6edf4;background:#c3d4e610;border-color:#b2c4d427}.sensor-button:focus-visible{outline:2px solid #e5cd93;outline-offset:3px}.sensor-button[aria-pressed=true]{background:#e1bf6920;border-color:#d6b87b42;color:#f0d698}.sensor-button[aria-pressed=true]:after{content:"";position:absolute;width:4px;height:4px;right:5px;top:5px;border-radius:50%;background:#f0d698;box-shadow:0 0 7px #f0d69877}.sensor-button:disabled{opacity:.35;cursor:default}.sensor-recenter{border-top:1px solid #a6b3c51a;padding-top:5px;margin-top:1px}
.sensor-tooltip{position:absolute;right:calc(100% + 17px);top:50%;transform:translateY(-50%);width:230px;padding:12px 14px;border:1px solid #a2b7ca2b;border-radius:10px;background:#171e27f5;box-shadow:0 10px 35px #0005;color:#a8b5c4;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .12s;line-height:1.5;text-align:left;z-index:10}.sensor-tooltip:after{content:"";position:absolute;right:-5px;top:calc(50% - 5px);width:8px;height:8px;transform:rotate(45deg);background:#171e27;border-right:1px solid #a2b7ca2b;border-top:1px solid #a2b7ca2b}.sensor-tooltip strong{display:block;font-size:12px;color:#eff2f6;font-weight:550;margin-bottom:5px}.sensor-tooltip>span{display:block;font-size:11px}.sensor-tooltip .sensor-rates{font:9px ui-monospace,monospace;color:#d6c18d;margin-top:8px}.sensor-tool:hover .sensor-tooltip,.sensor-tool:focus-within .sensor-tooltip{visibility:visible;opacity:1}
.sensor-notice{position:absolute;left:50%;bottom:45px;transform:translateX(-50%);width:max-content;max-width:min(420px,calc(100% - 40px));padding:10px 15px;border:1px solid #b6c4d425;border-radius:10px;background:#18202cee;box-shadow:0 8px 30px #0003;color:#c6d0de;font-size:11px;line-height:1.5;text-align:center;z-index:7;pointer-events:none;margin:0}
@media(max-width:650px){.sensor-dock{left:50%;right:auto;top:auto;bottom:40px;transform:translateX(-50%);flex-direction:row;gap:4px;border-radius:14px;padding:4px}.sensor-button{width:40px;height:40px;padding:9px}.sensor-recenter{border-top:0;border-left:1px solid #a6b3c51a;padding-top:0;padding-left:4px;margin-top:0}.sensor-tooltip{top:auto;bottom:calc(100% + 14px);right:auto;left:50%;transform:translateX(-50%);width:210px;box-sizing:border-box;padding:10px 12px}.sensor-tooltip:after{right:auto;left:calc(50% - 5px);top:auto;bottom:-5px;transform:rotate(135deg)}.sensor-notice{bottom:98px;max-width:calc(100% - 45px);font-size:10px}.sensor-tool:first-child .sensor-tooltip{left:calc(50% + 35px)}.sensor-tool:first-child .sensor-tooltip:after{left:calc(50% - 40px)}.sensor-tool:last-child .sensor-tooltip{left:calc(50% - 35px)}.sensor-tool:last-child .sensor-tooltip:after{left:calc(50% + 30px)}}
