:root{color:#000;background:#fff;--plot-drawer-height: 304px;--plot-drawer-motion: 1.5s cubic-bezier(.22, 1, .36, 1);--bode-expand-motion: .7s cubic-bezier(.22, 1, .36, 1);--bode-expanded-left: 322px;--usage-info-panel-width: 350px;--hammer-cursor-static: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cg transform='translate(20 18) rotate(60 4 3)'%3E%3Cpath d='M-12,-10C-12,-15 4,-15 4,-10V10C4,15 -12,15 -12,10Z' fill='%23d9d9d9' stroke='black' stroke-width='2.6' stroke-linejoin='round'/%3E%3Cellipse cx='-4' cy='-10' rx='8' ry='4.5' fill='white' stroke='black' stroke-width='2.6'/%3E%3Cpath d='M-12,7C-9,10.5 1,10.5 4,7V10C4,15 -12,15 -12,10Z' fill='%238f8f8f' stroke='black' stroke-width='2.6' stroke-linejoin='round'/%3E%3Cpath d='M4,-1H22C25,-1 25,7 22,7H4Z' fill='white' stroke='black' stroke-width='2.6' stroke-linejoin='round'/%3E%3Cellipse cx='22' cy='3' rx='4' ry='4' fill='white' stroke='black' stroke-width='2.6'/%3E%3Cline x1='-8' y1='-3' x2='-8' y2='6' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/g%3E%3C/svg%3E") 24 21, pointer;--code-editor-cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M12 2V22M7 2H17M7 22H17' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E") 12 12, text;font-family:Inter,Segoe UI,Microsoft YaHei,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;overflow:hidden}body{margin:0;min-width:320px;background:#fff}button,input{font:inherit}.app-shell{width:100%;height:100vh;display:grid;grid-template-rows:auto auto 1fr;overflow:hidden;background:transparent}.app-shell.hammer-cursor{cursor:var(--hammer-cursor-static)}.app-shell.hammer-cursor button:not(:disabled),.app-shell.hammer-cursor a,.app-shell.hammer-cursor [role=button]{cursor:pointer}.app-shell.hammer-cursor input,.app-shell.hammer-cursor textarea,.app-shell.hammer-cursor select{cursor:text}.app-shell.hammer-cursor button:disabled{cursor:default}.control-panel{position:relative;z-index:30;display:grid;width:330px;gap:10px;justify-items:start;padding:14px 0 6px 22px;background:transparent;opacity:0;transform:translateY(-16px);transition:opacity .9s ease,transform .9s ease}.main-entered .control-panel{opacity:1;transform:translateY(0)}.runtime-field{--runtime-progress-offset-x: 0px;position:relative;z-index:2;padding:0;margin-top:-1px;background:transparent;opacity:0;transform:translateY(-16px);transition:opacity .9s ease,transform .9s ease}.main-entered .runtime-field{opacity:1;transform:translateY(0)}.runtime-number-field{display:block}.runtime-number-field input{width:78px;border:0;border-bottom:2px solid #000000;outline:0;padding:0 0 2px;background:transparent;color:#000;font-size:17px;font-weight:400;font-variant-numeric:tabular-nums;text-align:left}.runtime-number-field input:disabled{color:#777;opacity:1}.runtime-label{color:#000;font-size:14px;font-weight:650;white-space:nowrap}.runtime-unit{color:#444;font-size:12px;font-weight:400;white-space:nowrap}.runtime-help{justify-self:end;margin-left:4px}.control-panel:has(.parameter-help:hover),.control-panel:has(.parameter-help:focus){z-index:4000}.runtime-help .parameter-help-tooltip{width:292px;max-width:min(292px,calc(100vw - 42px))}.runtime-field-content{display:grid;width:240px;min-height:24px}.runtime-input-layer,.runtime-progress-layer{grid-area:1 / 1;align-items:center}.runtime-input-layer{display:grid;grid-template-columns:72px 78px auto;gap:8px;opacity:1;transform:translateY(0);transition:opacity .15s ease .7s,transform .22s cubic-bezier(.22,1,.36,1) .7s}.runtime-label{display:inline-flex;align-items:center}.runtime-progress-layer{display:flex;justify-content:center;position:relative;left:var(--runtime-progress-offset-x);width:163px;pointer-events:none;opacity:0;transform:translateY(0);transition:opacity 1ms linear .5s,transform .36s cubic-bezier(.22,1,.36,1)}.runtime-field.show-progress .runtime-input-layer{pointer-events:none;opacity:0;transform:translateY(-4px);transition:opacity .16s ease,transform .26s cubic-bezier(.22,1,.36,1)}.runtime-field.show-progress .runtime-progress-layer{opacity:1;transform:translateY(0);transition:opacity .12s ease,transform .36s cubic-bezier(.22,1,.36,1)}.runtime-progress{position:relative;width:.24px;height:22px;overflow:hidden;border:2px solid #000000;border-radius:0;background:#fff;transition:width .7s cubic-bezier(.22,1,.36,1)}.runtime-field.show-progress .runtime-progress{width:163px}.runtime-progress-fill{position:absolute;inset:0;background:#000;transform-origin:left center;transition:transform 90ms linear}.input-grid{display:grid;grid-template-columns:1fr;gap:6px;width:240px}.parameter-input-area{position:relative;width:240px}.parameter-input-area:has(.parameter-help:hover),.parameter-input-area:has(.parameter-help:focus){z-index:9000}.parameter-input-switcher{display:grid;width:240px}.parameter-input-panel{grid-area:1 / 1;max-height:0;opacity:0;overflow:hidden;pointer-events:none;transform:translateY(-8px);transition:max-height .36s ease,opacity .24s ease,transform .36s cubic-bezier(.22,1,.36,1)}.parameter-input-panel.active{max-height:104px;opacity:1;z-index:3;overflow:visible;pointer-events:auto;transform:translateY(0)}.parameter-input-panel.modal-parameter-fields.active{max-height:104px}.parameter-input-panel.pole-parameter-fields.active{max-height:70px}.parameter-mode-toggle{--parameter-lever-pivot-x: 15px;--parameter-lever-length: 17px;--parameter-lever-angle: 42deg;--parameter-lever-knob-size: 10px;--parameter-lever-knob-radius: calc(var(--parameter-lever-knob-size) / 2);position:absolute;top:-14px;left:266px;z-index:2;width:30px;height:34px;border:0;padding:0;background:transparent;color:#000;cursor:pointer;line-height:1}.parameter-mode-toggle:disabled{color:#b8b8b8;cursor:default}.parameter-mode-lever-arm{position:absolute;top:0;left:calc(var(--parameter-lever-pivot-x) - 1px);width:2px;height:var(--parameter-lever-length);background:currentColor;transform-origin:top center;transform:rotate(var(--parameter-lever-angle));transition:transform .24s ease}.parameter-mode-lever-knob{position:absolute;top:var(--parameter-lever-length);left:calc(var(--parameter-lever-pivot-x) - var(--parameter-lever-knob-radius));width:var(--parameter-lever-knob-size);height:var(--parameter-lever-knob-size);border:2px solid currentColor;border-radius:50%;background:#fff;box-sizing:border-box;transform:rotate(var(--parameter-lever-angle));transform-origin:var(--parameter-lever-knob-radius) calc(-1 * var(--parameter-lever-length));transition:transform .24s ease}.parameter-mode-toggle.modal .parameter-mode-lever-arm,.parameter-mode-toggle.modal .parameter-mode-lever-knob{transform:rotate(0)}.parameter-mode-toggle.poles .parameter-mode-lever-arm,.parameter-mode-toggle.poles .parameter-mode-lever-knob{transform:rotate(calc(-1 * var(--parameter-lever-angle)))}.mode-input-switcher{display:grid;width:240px}.mode-input-panel{grid-area:1 / 1;max-height:0;opacity:0;overflow:hidden;pointer-events:none;transform:translateY(-8px);transition:max-height .32s ease,opacity .22s ease,transform .32s ease}.mode-input-panel.active{max-height:34px;opacity:1;overflow:visible;position:relative;z-index:8000;pointer-events:auto;transform:translateY(0)}.closed-loop-fields.active:has(.target-sine-fields){max-height:94px}.closed-loop-fields.active:has(.target-sweep-fields){max-height:184px}.target-reference-field{position:relative;z-index:7000}.target-sine-fields,.target-sweep-fields{display:grid;gap:5px}.target-sine-number-field{grid-template-columns:72px 46px auto}.target-sine-number-field input{width:46px}.target-sweep-number-field{grid-template-columns:72px 46px auto}.target-sweep-number-field input{width:46px}.target-reference-field:has(.target-sine-fields) .target-signal-button,.target-reference-field:has(.target-sweep-fields) .target-signal-button{left:178px}.target-reference-field:has(.target-sine-fields) .target-signal-menu,.target-reference-field:has(.target-sweep-fields) .target-signal-menu{left:80px}.target-signal-button{position:absolute;top:4px;left:178px;z-index:7100;width:20px;height:20px;border:2px solid #000000;padding:0;background:#fff;color:#000;cursor:pointer;box-sizing:border-box}.target-signal-button:disabled{border-color:#b8b8b8;color:#b8b8b8;cursor:default}.target-signal-arrow{position:absolute;top:6px;left:4px;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:6px solid currentColor;transition:transform .16s ease}.target-signal-button.open .target-signal-arrow{transform:rotate(180deg)}.target-signal-menu{position:absolute;top:27px;left:80px;z-index:7200;display:grid;width:108px;border:2px solid #000000;background:#fff;box-shadow:0 6px #00000014;transform-origin:100% 0;animation:target-signal-menu-enter .18s ease-out both}@keyframes target-signal-menu-enter{0%{opacity:0;transform:translateY(-4px) scaleY(.72)}to{opacity:1;transform:translateY(0) scaleY(1)}}.target-signal-menu button{display:grid;grid-template-columns:1fr 34px;align-items:center;gap:8px;border:0;border-bottom:1px solid #000000;padding:4px 7px 4px 9px;background:#fff;color:#000;font-family:inherit;font-size:11px;font-weight:650;line-height:1;text-align:left;cursor:pointer}.target-signal-menu button:last-child{border-bottom:0}.target-signal-menu button.active,.target-signal-menu button:hover{background:#000;color:#fff}.target-signal-menu-icon{width:34px;height:24px}.target-signal-menu-icon polyline,.target-signal-menu-icon path{fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:square;stroke-linejoin:miter}.pid-input-panel{max-height:0;opacity:0;overflow:hidden;pointer-events:none;transform:translateY(-8px);transition:max-height .32s ease,opacity .22s ease,transform .32s ease}.pid-input-panel.active{max-height:128px;opacity:1;overflow:visible;pointer-events:auto;position:relative;z-index:4000;transform:translateY(0)}.number-field{display:grid;grid-template-columns:72px 78px auto;align-items:baseline;gap:8px;color:#000;font-size:14px}.number-field:has(.number-field-after-input){grid-template-columns:72px 78px 10px auto;gap:5px}.number-field:has(.number-field-before-input){grid-template-columns:72px 24px 78px auto;gap:5px}.number-field:has(.number-field-before-input):has(.number-field-after-input){grid-template-columns:72px 24px 78px 15px auto;gap:5px}.number-field>span{font-weight:650}.number-field-before-input,.number-field-after-input{color:#000;font-weight:650;white-space:nowrap}.target-reference-number-field input{width:46px}.target-reference-number-field:has(.number-field-after-input){grid-template-columns:72px 36px 34px auto;gap:8px}.target-reference-number-field:has(.number-field-after-input) input{width:36px}.number-field-label{display:grid;grid-template-columns:1fr 13px;align-items:center;gap:6px;padding-right:2px;white-space:nowrap}.pid-input-panel.active.dual-loop{max-height:380px}.pid-input-panel.active.lead-lag{max-height:390px}.dual-loop-pid-fields,.lead-lag-fields{display:grid;gap:8px;width:212px}.lead-lag-section-fields{gap:6px}.lead-lag-output-limit-field{margin-top:2px}.pid-loop-card{position:relative;display:grid;gap:6px;width:212px;box-sizing:border-box;margin-top:18px;margin-left:-8px;border-radius:0 4px 4px;background:#f1f1f1;padding:10px 8px 8px}.pid-loop-card-heading{position:absolute;top:-18px;left:0;display:flex;align-items:center;gap:6px;min-width:58px;height:20px;box-sizing:border-box;border-radius:7px 7px 0 0;background:#f1f1f1;color:#000;font-size:14px;font-weight:900;line-height:1;padding:0 10px 0 8px}.pid-loop-card-frequency{color:#555;font-size:10px;font-weight:500;white-space:nowrap}.pid-loop-card-heading:after{position:absolute;right:-9px;bottom:0;width:10px;height:10px;background:#f1f1f1;clip-path:polygon(0 0,0 100%,100% 100%);content:""}.derivative-gain-field .number-field-label{justify-self:start;grid-template-columns:auto 13px}.output-limit-field .number-field-label{justify-self:start;grid-template-columns:auto 13px;gap:3px}.derivative-gain-field .parameter-help-tooltip{z-index:3000;width:330px;max-width:min(330px,calc(100vw - 42px));background:#fff;box-shadow:0 0 0 1px #fff}.derivative-filter-tooltip{display:grid;gap:6px;color:#333;font-size:12px;line-height:1.25;white-space:nowrap}.derivative-filter-title{font-weight:650}.derivative-filter-formula{display:inline-flex;align-items:center;gap:7px;color:#000;font-family:Times New Roman,Times,serif;font-size:15px;font-style:italic;font-weight:650}.derivative-filter-formula-symbol{transform:translateY(-6px)}.math-fraction{display:inline-grid;grid-template-rows:auto auto;align-items:center;justify-items:center;line-height:1.05;vertical-align:middle}.math-fraction>span:first-child{width:100%;border-bottom:1.5px solid currentColor;padding:0 5px 2px;text-align:center}.math-fraction>span:last-child{padding:2px 5px 0;text-align:center}.math-fraction-inline{font-size:13px}.derivative-filter-inline-fraction{font-size:12px}.derivative-filter-main-fraction>span:last-child{display:inline-flex;align-items:center;gap:4px}.number-field input{width:78px;border:0;border-bottom:2px solid #000000;outline:0;padding:2px 0;background:#ffffffb8;color:#000;font-variant-numeric:tabular-nums}html:lang(en) .modal-parameter-fields .number-field{grid-template-columns:124px 42px auto;gap:4px}html:lang(en) .modal-parameter-fields .number-field input,html:lang(en) .modal-parameter-fields .derived-number-field-value{width:42px}html:lang(en) .modal-parameter-fields .number-field:has(.parameter-help) input{padding-left:0}.number-field input:disabled{color:#777;border-bottom-color:#999;cursor:default;opacity:1}.target-reference-number-field input{appearance:textfield}.target-reference-number-field input::-webkit-outer-spin-button,.target-reference-number-field input::-webkit-inner-spin-button{margin:0;appearance:none}.derived-number-field{pointer-events:auto}.damped-display-field{border:0;padding:0;background:transparent;font:inherit;text-align:left;cursor:pointer}.derived-number-field-value{display:block;width:78px;padding:2px 0;color:#000;font-variant-numeric:tabular-nums}.number-field small{color:#444;font-size:12px;white-space:nowrap}.number-field-unit{display:inline-block}.pole-field{position:relative;display:grid;gap:6px}.pole-row{position:relative;display:grid;grid-template-columns:72px 78px auto;align-items:baseline;gap:8px;color:#000;font-size:14px}.pole-row:before{position:absolute;top:14px;left:70px;width:6px;height:2px;background:#fff;content:""}.pole-row>span:first-child{font-weight:650}.pole-field-inputs{display:grid;grid-template-columns:25px 22px 25px;align-items:baseline;gap:2px;padding-left:4px}.pole-field-inputs input{width:25px;border:0;border-bottom:2px solid #000000;outline:0;padding:2px 0;background:#ffffffb8;color:#000;font-variant-numeric:tabular-nums}.pole-field-inputs input:disabled{color:#777;border-bottom-color:#999;cursor:default;opacity:1}.pole-field-imaginary-prefix{display:grid;grid-template-columns:8px 8px;justify-content:center;column-gap:1px;color:#000;font-weight:650;text-align:center;white-space:nowrap}.parameter-help{position:relative;display:inline-flex;align-items:center;justify-content:center;width:13px;height:13px;box-sizing:border-box;border:1px solid #aaaaaa;border-radius:50%;color:#999;cursor:help;font-size:10px;font-weight:700;line-height:1}.parameter-help-tooltip{position:absolute;top:-6px;left:calc(100% + 8px);z-index:1000;width:260px;max-width:min(260px,calc(100vw - 42px));border:1px solid #bbbbbb;background:#fff;color:#444;opacity:0;padding:7px 8px;pointer-events:none;font-size:12px;font-weight:500;line-height:1.5;text-align:left;overflow-wrap:anywhere;white-space:pre-line;transform:translate(-4px);transition:opacity .16s ease,transform .16s ease}.parameter-help:hover .parameter-help-tooltip,.parameter-help:focus .parameter-help-tooltip{opacity:1;transform:translate(0)}.option-field{display:grid;grid-template-columns:72px auto;align-items:center;gap:8px;width:240px;color:#000;font-size:14px}.option-field>span{font-weight:650}.output-flip-button{display:inline-flex;align-items:center;gap:7px;width:fit-content;height:24px;border:0;background:transparent;color:#000;padding:0;cursor:pointer;font-size:14px;font-weight:650;line-height:22px}.output-flip-button:disabled{cursor:default;opacity:.72}.output-flip-window{display:block;height:22px;overflow:hidden}.output-flip-track{display:grid;grid-template-rows:22px 22px;transition:transform .32s ease}.output-flip-track>span{display:flex;align-items:center;height:22px}.output-flip-button.velocity .output-flip-track{transform:translateY(-22px)}.output-flip-arrows{display:inline-flex;align-items:center;justify-content:center;gap:2px;width:22px;height:22px;box-sizing:border-box;border:2px solid #000000;border-radius:5px;background:#000}.output-flip-arrow-up,.output-flip-arrow-down{position:relative;display:block;width:6px;height:13px}.output-flip-arrow-up:before,.output-flip-arrow-down:before,.output-flip-arrow-up:after,.output-flip-arrow-down:after{position:absolute;background:#fff;content:""}.output-flip-arrow-down:before{top:0;right:0;width:2px;height:13px}.output-flip-arrow-down:after{right:0;bottom:0;width:6px;height:5px;clip-path:polygon(0 0,100% 0,100% 100%)}.output-flip-arrow-up:after{top:0;left:0;width:2px;height:13px}.output-flip-arrow-up:before{top:0;left:0;width:6px;height:5px;clip-path:polygon(0 0,0 100%,100% 100%)}.button-row{position:relative;display:flex;flex-wrap:wrap;gap:3px;margin-top:-0px}.button-row button{min-width:75px;border:2px solid #000000;background:#ffffffb8;color:#000;padding:6px 10px;cursor:pointer}.button-row button:not(:disabled):hover{background:#000;color:#fff}.button-row .primary-button{background:#000;color:#fff}.button-row button:disabled{border-color:#aaa;color:#888;cursor:default}.start-risk-indicator{position:absolute;top:50%;left:-18px;z-index:20;display:inline-flex;align-items:center;justify-content:center;align-self:center;width:14px;height:30px;color:#b00000;cursor:help;font-size:28px;font-weight:800;line-height:1;transform:translateY(-50%)}.start-risk-tooltip{position:absolute;top:50%;left:calc(100% + 8px);z-index:2000;width:max-content;max-width:220px;border:1px solid #bbbbbb;background:#fff;color:#444;opacity:0;padding:6px 8px;pointer-events:none;font-size:12px;font-weight:500;line-height:1.45;text-align:left;white-space:normal;transform:translateY(-50%) translate(-4px);transition:opacity .16s ease,transform .16s ease}.start-risk-indicator:hover .start-risk-tooltip,.start-risk-indicator:focus .start-risk-tooltip{opacity:1;transform:translateY(-50%) translate(0)}.button-row .reset-button{--reset-offset-x: 10px;--reset-offset-y: 0px;transform:translate(var(--reset-offset-x),var(--reset-offset-y))}.open-loop-interaction-row{display:flex;align-items:center;gap:10px;margin-top:8px;margin-left:2px}.open-loop-interaction-button{position:relative;display:inline-flex;align-items:center;justify-content:center;width:34px;height:32px;box-sizing:border-box;border:2px solid #000000;border-radius:6px;background:#fff;color:#000;cursor:pointer;padding:0;box-shadow:inset -2px -2px #d8d8d8}.open-loop-interaction-button svg{width:28px;height:28px}.open-loop-interaction-button.active{background:#f2f2f2;border-color:#000;box-shadow:inset 0 0 0 2px #000,inset -3px -3px #cfcfcf}.open-loop-interaction-button:disabled{cursor:default;opacity:.38}.interaction-icon-stroke{fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}.interaction-icon-front,.interaction-icon-side,.interaction-icon-shadow,.interaction-icon-handle{stroke:#000;stroke-width:2;stroke-linejoin:round}.interaction-icon-front{fill:#fff}.interaction-icon-side{fill:#d9d9d9}.interaction-icon-shadow{fill:#8f8f8f}.interaction-icon-handle{fill:#f4f4f4}.interaction-icon-highlight{fill:none;stroke:#000;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.intro-controls{position:fixed;top:16px;left:22px;z-index:7;display:inline-flex;align-items:center;gap:12px;opacity:calc(1 - var(--intro-controls-exit-progress, 0));transition:opacity .12s linear}.intro-start-button{min-width:72px;border:2px solid #000000;background:#fff;color:#000;padding:6px 10px;cursor:pointer}.intro-start-button:hover,.intro-start-button.running{background:#000;color:#fff}.intro-skip-button{border:0;background:transparent;color:#777;font-size:12px;line-height:1;padding:0;cursor:pointer}.intro-skip-button:hover{color:#000}.intro-shell .control-panel,.intro-shell .runtime-field{opacity:var(--intro-interface-progress, 0);transform:translateY(var(--intro-interface-y, -34px));pointer-events:none;transition:none}.intro-shell .readout-panel{opacity:var(--intro-interface-progress, 0);transform:translateY(var(--intro-interface-bottom-y, 34px));pointer-events:none;transition:none}.intro-shell .transfer-card,.intro-shell .model-representation-tabs{opacity:var(--intro-interface-progress, 0);transform:translate(-50%) translateY(var(--intro-interface-y, -34px));pointer-events:none;transition:none}.intro-shell .music-toggle,.intro-shell .more-menu,.intro-shell .language-toggle{opacity:var(--intro-interface-progress, 0);transform:translateY(var(--intro-interface-y, -34px));transition:none}.intro-shell .time-plot-drawer{opacity:var(--intro-interface-progress, 0);transition:none}.mode-pull-cord{position:absolute;top:0;left:220px;display:grid;grid-template-rows:122px 42px;justify-items:center;width:48px;height:164px;border:0;background:transparent;color:#000;padding:0;cursor:pointer}.mode-pull-cord:disabled{color:#777;cursor:default}.mode-cord-line{width:2px;height:124px;background:currentColor;transform-origin:top center}.mode-cord-tag{position:relative;z-index:8100;display:grid;justify-items:center;transform:translateY(-1px)}.mode-cord-tag-triangle{display:none}.mode-cord-tag-body{width:18px;height:40px;border:2px solid currentColor;background:#fff}.mode-pull-cord.closed-loop .mode-cord-tag-body{background:#fff}.mode-pull-cord.pulling .mode-cord-line{height:138px}.mode-pull-cord.pulling .mode-cord-tag{transform:translateY(14px)}.mode-cord-line,.mode-cord-tag{transition:height .15s ease,transform .15s ease,background .15s ease,color .15s ease}.readout-panel{position:fixed;right:16px;bottom:12px;z-index:7;display:flex;flex-direction:row;align-items:baseline;gap:16px;padding:0;border:0;background:transparent;color:#000;font:inherit;opacity:0;transform:translateY(-16px);transition:opacity var(--plot-drawer-motion),transform var(--plot-drawer-motion)}.readout-panel.bode-zooming{transition:opacity var(--plot-drawer-motion),transform var(--bode-expand-motion)}.main-entered .readout-panel{opacity:1;transform:translateY(0)}.main-entered .readout-panel.plot-open{transform:translateY(calc(-1 * var(--plot-drawer-height)))}.main-entered .readout-panel.plot-open.bode-expanded{transform:translateY(calc(-100vh - 60px))}.response-tab{appearance:none;border:0;padding:0;background:transparent;color:#000;font-family:inherit;font-size:18px;font-weight:500;line-height:1;white-space:nowrap;cursor:pointer}.readout-panel.phase-portrait-enabled{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:min(360px,calc(100vw - 32px));gap:12px}.readout-panel.phase-portrait-enabled .response-tab{min-width:0;overflow:hidden;text-align:center;text-overflow:ellipsis}.response-tab.active{font-weight:850}.simulation-guard-message{width:240px;margin:-5px 0 0;color:#b00000;font-size:12px;font-weight:700;white-space:nowrap}.music-toggle{position:fixed;top:16px;right:20px;z-index:6;display:grid;place-items:center;width:28px;height:28px;border:2px solid #000000;border-radius:50%;background:#fff;color:#000;cursor:pointer;padding:0;pointer-events:auto;opacity:0;transform:translateY(-16px);transition:opacity .56s ease,transform .56s ease}.main-entered .music-toggle{opacity:1;transform:translateY(0)}.language-toggle{position:fixed;top:21px;right:66px;z-index:7;border:0;background:transparent;color:#aaa;cursor:pointer;padding:0;font-size:12px;font-weight:650;line-height:1;text-decoration:underline;text-decoration-color:#aaa;text-decoration-thickness:1px;text-underline-offset:2px;opacity:0;pointer-events:auto;transform:translateY(-16px);transition:opacity .56s ease,transform .56s ease}.main-entered .language-toggle{opacity:1;transform:translateY(0)}.lesson-diagram-block>b:after{content:"";position:absolute;right:-1px;top:-6px;width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:9px solid #111}.lesson-diagram-block>span{box-sizing:border-box;min-height:34px;padding:5px 8px;text-align:center;white-space:pre-wrap;overflow:hidden;cursor:text;font-size:14px;line-height:1.2}.slide-element-image{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}.author-feedback-trigger{position:fixed;z-index:1200;right:26px;bottom:24px;border:1.5px solid #111;border-radius:999px;padding:10px 16px;background:#fff;color:#111;box-shadow:3px 3px #0000001f;font:800 13px/1 Arial,sans-serif;cursor:pointer}.author-feedback-trigger:hover{background:#111;color:#fff}.controller-menu-dropdown .feedback-option{display:grid;place-items:center}.controller-feedback-icon{width:30px;height:30px;fill:#fff;stroke:#111;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}.author-feedback-overlay{position:fixed;z-index:1300;inset:0;display:grid;place-items:center;padding:18px;background:#ffffff8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.author-feedback-modal{width:min(100%,400px);border:2px solid #111;background:#fff;box-shadow:7px 7px #00000024;color:#111}.author-feedback-modal header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #d8d8d3}.author-feedback-modal header strong{font:800 20px/1 Georgia,serif}.author-feedback-modal header button{width:28px;height:28px;border:0;background:transparent;color:#555;font:28px/24px Arial,sans-serif;cursor:pointer}.author-feedback-modal form{display:grid;gap:12px;padding:16px}.author-feedback-modal label{display:grid;gap:6px;color:#444;font:800 12px/1.15 Arial,sans-serif}.author-feedback-modal input,.author-feedback-modal select,.author-feedback-modal textarea{box-sizing:border-box;width:100%;border:1px solid #9e9e98;border-radius:0;padding:10px;background:#fff;color:#111;font:14px/1.4 Arial,sans-serif;outline:none}.author-feedback-modal textarea{min-height:180px;resize:vertical}.author-feedback-profession{display:flex;align-items:center;flex-wrap:nowrap;gap:8px;margin:0;min-width:0;color:#444}.author-feedback-profession-label{flex:0 0 auto;color:#444;font:800 12px/1 Arial,sans-serif}.author-feedback-profession>label{display:inline-flex;grid-template-columns:none;align-items:center;gap:5px;color:#555;font:500 11px/1 Arial,sans-serif;cursor:pointer;white-space:nowrap}.author-feedback-profession input{appearance:none;width:13px;height:13px;margin:0;padding:0;border:1.5px solid #444;border-radius:50%;background:#fff}.author-feedback-profession input:checked{border-color:#444;background:radial-gradient(circle at center,#111 0 2px,transparent 2.35px)}.author-feedback-modal input:focus,.author-feedback-modal select:focus,.author-feedback-modal textarea:focus{border-color:#111;box-shadow:inset 0 -2px #111}.author-feedback-turnstile{min-height:0;overflow:hidden}.author-feedback-error{margin:-3px 0 0;color:#b00020;font:700 12px/1.4 Arial,sans-serif}.author-feedback-privacy{margin:0;color:#777;font:11px/1.45 Arial,sans-serif}.author-feedback-submit,.author-feedback-success button{border:1px solid #111;padding:11px;background:#111;color:#fff;font:800 13px/1 Arial,sans-serif;cursor:pointer}.author-feedback-submit:disabled{cursor:wait;opacity:.6}.author-feedback-success{display:grid;gap:17px;padding:42px 22px;text-align:center}.author-feedback-success strong{font:800 18px/1.4 Georgia,serif}@media(max-width:720px){.author-feedback-trigger{right:14px;bottom:14px}}.control-diagram-editor-overlay{position:fixed;z-index:500;inset:0;display:grid;grid-template-rows:58px minmax(0,1fr);background:#f3f3f0;color:#111}.control-diagram-editor-header{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid #111;background:#fff}.control-diagram-editor-header strong{font:700 17px/1 Georgia,serif}.control-diagram-editor-header div{display:flex;gap:8px}.control-diagram-editor-header button{position:relative;z-index:11}.control-diagram-editor-header button,.diagram-delete-node{border:1px solid #111;background:#fff;color:#111;padding:7px 12px;font:700 12px/1 Arial,sans-serif;cursor:pointer}.control-diagram-editor-header .diagram-editor-return{background:#111;color:#fff}.control-diagram-editor-body{min-height:0;display:grid;grid-template-columns:220px minmax(0,1fr)}.control-diagram-tool-panel{display:flex;flex-direction:column;gap:12px;padding:22px 16px;border-right:1px solid #111;background:#fff}.control-diagram-tool-panel>span{font:700 12px/1 Arial,sans-serif;letter-spacing:.08em}.control-diagram-tool-panel p{margin:0;color:#686868;font-size:12px;line-height:1.5}.control-diagram-palette-item{display:grid;grid-template-columns:58px 1fr;align-items:center;min-height:64px;padding:0 12px;border:1px solid #111;background:#fff;cursor:pointer;-webkit-user-select:none;user-select:none}.control-diagram-palette-item:active{cursor:grabbing}.control-diagram-palette-item b{font:700 13px/1 Arial,sans-serif}.control-diagram-palette-item i{position:relative;display:block;width:42px;height:28px}.palette-block i{border:2px solid #111}.palette-circle i{width:30px;height:30px;margin-left:6px;border:2px solid #111;border-radius:50%}.palette-arrow i:before,.control-diagram-free-arrow:before{content:"";position:absolute;top:50%;left:0;right:10px;height:2px;transform:translateY(-50%);background:#111}.palette-arrow i:after,.control-diagram-free-arrow:after{content:"";position:absolute;top:50%;right:0;width:0;height:0;transform:translateY(-50%);border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:12px solid #111}.control-diagram-tool-panel label{display:grid;gap:6px;font-size:12px;font-weight:700}.control-diagram-tool-panel input,.control-diagram-tool-panel output{width:100%;min-height:32px;border:1px solid #111;padding:7px 8px;background:#fff;font:13px/1.2 Courier New,monospace}.control-diagram-tool-panel output{display:block;border-color:#ddd;color:#666;font-family:inherit}.diagram-delete-node{margin-top:6px;color:#9a2020;border-color:#9a2020}.control-diagram-canvas{position:relative;margin:26px;width:calc(100% - 52px);height:auto;aspect-ratio:960 / 560;align-self:center;overflow:hidden;border:1px solid #111;background-color:#fff;background-image:linear-gradient(#e7e7e7 1px,transparent 1px),linear-gradient(90deg,#e7e7e7 1px,transparent 1px);background-size:20px 20px}.control-diagram-canvas>svg{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#111;stroke-width:2;pointer-events:auto}.control-diagram-canvas>svg>path{pointer-events:none}.control-diagram-arrow-hit{stroke:transparent;stroke-width:18;pointer-events:stroke;cursor:pointer}.control-diagram-arrow-line{stroke:#111;stroke-width:2;pointer-events:stroke;cursor:pointer}.control-diagram-arrow-element.selected .control-diagram-arrow-line{stroke:#286cff}.control-diagram-arrow-endpoint{fill:#fff;stroke:#286cff;stroke-width:3;pointer-events:all;cursor:crosshair}.lesson-diagram-model-preview{display:block;width:100%;height:100%;overflow:visible;pointer-events:none}.lesson-diagram-model-preview path,.lesson-diagram-model-preview line,.lesson-diagram-model-preview rect,.lesson-diagram-model-preview circle{fill:none;stroke:#111;stroke-width:2;vector-effect:non-scaling-stroke}.lesson-diagram-model-preview text{fill:#111;stroke:none;text-anchor:middle;dominant-baseline:middle;font:italic 18px/1 Georgia,serif}.control-diagram-node{position:absolute;z-index:2;display:grid;place-items:center;min-width:28px;min-height:28px;border:2px solid #111;background:#fff;cursor:grab;-webkit-user-select:none;user-select:none}.control-diagram-node:active{cursor:grabbing}.control-diagram-node.selected{outline:2px solid #3d7dff;outline-offset:4px}.control-diagram-node.block span{padding:4px 8px;text-align:center;font:italic 16px/1.15 Georgia,serif;overflow-wrap:anywhere}.control-diagram-node.sum{border-radius:50%;font:700 18px/1 Georgia,serif}.control-diagram-node.branch{border-radius:50%;background:#fff}.control-diagram-node.arrow{border:0;background:transparent}.control-diagram-free-arrow{position:relative;display:block;width:100%;height:100%}.control-diagram-node.sum .control-diagram-port,.control-diagram-node.branch .control-diagram-port{opacity:0}.control-diagram-node.input,.control-diagram-node.output{border:0;background:transparent;font:italic 17px/1 Georgia,serif}.control-diagram-node.input span,.control-diagram-node.output span{padding:2px 4px;background:#fff}.control-diagram-port{position:absolute;top:50%;width:11px;height:11px;transform:translateY(-50%);border:2px solid #111;border-radius:50%;background:#fff;cursor:crosshair}.control-diagram-port-in{left:-7px}.control-diagram-port-out{right:-7px}.control-diagram-port-out.active{background:#111}.lesson-diagram-block>b:after{content:"\\25B6";right:-11px;top:-9px;width:auto;height:auto;border:0;color:#111;font-size:13px;line-height:13px}.lesson-diagram-closed svg{z-index:0;pointer-events:none}.lesson-diagram-closed>:not(svg){z-index:1}.lesson-diagram-closed em{left:33%;width:17%}.lesson-diagram-closed strong{left:59%;width:29%;padding:3px;text-align:center;font-size:10px;line-height:1.1}.start-control{position:relative;display:grid;justify-items:center}.start-control>button{width:100%}.custom-c-registration-required{position:absolute;top:calc(100% + 4px);color:#c00000;font-size:11px;font-weight:700;line-height:1;white-space:nowrap}.account-access-menu{position:fixed;top:21px;right:152px;z-index:9500;display:grid;justify-items:end;opacity:0;transform:translateY(-16px);transition:opacity .56s ease,transform .56s ease}.main-entered .account-access-menu{opacity:1;transform:translateY(0)}.account-access-trigger{border:0;background:transparent;color:#aaa;cursor:pointer;padding:0;font-size:13px;font-weight:650;line-height:1;text-decoration:underline;text-decoration-color:#aaa;text-decoration-thickness:1px;text-underline-offset:2px}.account-access-menu:has(.account-engineer-avatar){top:15px}.account-access-menu:not(:has(.account-engineer-avatar)){top:21px}.account-engineer-avatar{display:block;width:24px;height:24px}.account-engineer-avatar .account-avatar-background{fill:#eee;stroke:none}.account-engineer-avatar .account-avatar-head,.account-engineer-avatar .account-avatar-body{fill:#8a8a8a;stroke:none}.account-access-dropdown{position:absolute;top:calc(100% + 8px);right:0;display:grid;min-width:188px;border:1px solid #000000;background:#fff;box-shadow:3px 3px #00000029;padding:7px}.account-access-email{overflow:hidden;color:#555;padding:3px 3px 8px;font-family:Lucida Console,Courier New,monospace;font-size:12px;font-weight:700;text-align:center;text-overflow:ellipsis;white-space:nowrap;z-index:9501}.account-access-dropdown button{border:1px solid #000000;background:#fff;color:#000;cursor:pointer;padding:5px 7px;font-size:11px;font-weight:700}.account-access-dropdown button:hover,.account-access-dropdown button:focus-visible{background:#000;color:#fff;outline:none}.transfer-card{position:fixed;top:48px;left:50%;z-index:6;display:grid;grid-template-rows:auto auto;justify-items:center;min-width:760px;padding:8px 14px 12px;border:0;background:transparent;transform:translate(-50%) translateY(-16px);opacity:0;pointer-events:auto;transition:opacity .56s ease,transform .56s ease}.main-entered .transfer-card{opacity:1;transform:translate(-50%) translateY(0)}.transfer-card .transfer-function{position:static;top:auto;left:auto;z-index:auto;transform:none;pointer-events:auto}.model-representation-tabs{position:fixed;top:0;left:50%;z-index:8;display:flex;align-items:flex-start;justify-content:center;gap:0;opacity:0;transform:translate(-50%) translateY(-16px);transition:opacity .56s ease,transform .56s ease}.main-entered .model-representation-tabs{opacity:1;transform:translate(-50%) translateY(0)}.model-representation-tab{position:relative;z-index:0;display:inline-flex;align-items:center;justify-content:center;width:124px;height:32px;border:0;padding:0 14px 4px;background:transparent;color:#000;cursor:pointer;font-family:inherit;font-size:13px;font-weight:650;line-height:1;white-space:nowrap;isolation:isolate}.model-representation-tab:before{content:"";position:absolute;inset:0;z-index:-1;background-image:url("data:image/svg+xml,%3Csvg width='124' height='32' viewBox='0 0 124 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M123 0L106 28H18L1 0' fill='white' stroke='black' stroke-width='2' stroke-linejoin='miter' stroke-linecap='butt' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:100% 100%}.model-representation-tab.active{color:#fff;font-weight:750}.model-representation-tab.active:before{background-image:url("data:image/svg+xml,%3Csvg width='124' height='32' viewBox='0 0 124 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M123 0L106 28H18L1 0' fill='black' stroke='black' stroke-width='2' stroke-linejoin='miter' stroke-linecap='butt' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E")}.model-representation-tab:disabled{color:#a8a8a8;cursor:default}.model-representation-tab:disabled:before{opacity:.35}.model-representation-tab:focus-visible{outline:2px solid #000000;outline-offset:2px}.model-equation-view{display:grid;min-height:82px;place-items:center;color:#000;font-family:Times New Roman,serif;font-size:24px;font-style:normal;font-weight:600;line-height:1.2;white-space:nowrap}.differential-equation{display:flex;align-items:center;justify-content:center;gap:5px}.differential-equation-toggle{width:max-content;margin:0;padding:2px 5px;border:0;background:transparent;cursor:pointer;appearance:none}.differential-equation-toggle:focus{outline:none}.differential-equation-toggle:focus-visible{outline:1px solid #000000;outline-offset:2px}.combined-equation-symbol{display:inline-flex;align-items:center;gap:2px}.combined-equation-symbol .equation-operator{margin:0 1px}.closed-loop-equation{font-size:22px}.equation-term-wrap,.equation-term{display:inline-flex;align-items:center}.equation-term-wrap{gap:5px}.equation-term{gap:2px}.equation-operator{display:inline-flex;margin:0 4px}.equation-variable,.equation-dotted-variable{font-style:italic}.equation-number{font-style:normal}.equation-dotted-variable{position:relative;display:inline-flex;min-width:.5em;justify-content:center;text-align:center}.equation-derivative-dots{position:absolute;top:.22em;left:50%;display:inline-flex;align-items:center;justify-content:center;gap:.09em;transform:translate(-50%)}.equation-derivative-dot{display:block;width:.13em;height:.13em;flex:0 0 .13em;border-radius:50%;background:currentColor}.state-equation{grid-template-columns:max-content;align-items:center;justify-content:center;gap:6px 7px;width:auto;margin:0;padding:0;border:0;background:transparent;color:inherit;font-size:19px;cursor:pointer;appearance:none}.state-equation:focus{outline:none}.state-equation:focus-visible{outline:1px solid #000000;outline-offset:5px}.state-equation-row,.state-output-equation{display:contents}.state-equation-section{position:relative;display:grid;grid-template-columns:repeat(7,max-content);align-items:center;justify-content:center;gap:4px 6px}.state-equation-closed-loop{grid-template-columns:repeat(2,max-content);align-items:start;column-gap:0;row-gap:0;font-size:17px}.state-equation-closed-loop .controller-state-equation{padding-right:30px}.state-equation-closed-loop .plant-state-equation{padding-left:30px;border-left:1.5px dashed #777777}.state-equation-closed-loop .state-equation-section{display:grid}.state-equation-section-label{position:relative;z-index:3;grid-column:1 / -1;justify-self:start;font-family:Arial,Microsoft YaHei,sans-serif;font-size:12px;font-style:normal;font-weight:600}.state-equation-click-target{position:absolute;z-index:2;inset:3px 6px;margin:0;padding:0;border:0;background:transparent;cursor:pointer}.state-equation-section-labeled .state-equation-click-target{top:20px}.state-equation-click-target:focus{outline:none}.state-equation-click-target:focus-visible{outline:1px solid #000000;outline-offset:-2px}.pid-state-equation-label{position:static;display:inline-flex;align-items:center;gap:6px}.pid-state-help{position:static;flex:0 0 13px;font-family:Arial,sans-serif;font-style:normal}.pid-state-help-tooltip{top:calc(100% + 8px);right:auto;left:0;width:300px;max-width:min(300px,calc(100vw - 42px));display:grid;gap:3px;font-family:Arial,Microsoft YaHei,sans-serif;font-style:normal;white-space:normal;transform:translateY(-4px)}.pid-state-help-tooltip sub{font-size:.72em}.pid-state-gain{display:inline-flex;align-items:flex-end;font-style:italic}.pid-state-gain sub{margin-left:1px;font-size:.62em;line-height:1}.state-symbol-product{display:inline-flex;align-items:center;gap:2px}.state-symbol-product .equation-operator{margin:0}.state-direct-term{gap:3px}.state-model-fraction{display:inline-grid;grid-template-rows:auto auto;min-width:16px;align-items:center;justify-items:center;font-style:normal;line-height:1}.state-model-fraction>span:first-child{width:100%;padding:0 2px 2px;border-bottom:1.5px solid currentColor;text-align:center}.state-model-fraction>span:last-child{padding-top:2px}.state-signed-fraction{display:inline-flex;align-items:center}.state-signed-fraction .equation-operator{margin:0 1px 0 0}.model-matrix{--matrix-columns: 1;position:relative;display:inline-grid;grid-template-columns:repeat(var(--matrix-columns),minmax(24px,auto));align-items:center;justify-items:center;gap:1px 12px;min-height:38px;padding:2px 8px;border-left:2px solid #000000;border-right:2px solid #000000}.model-matrix:before,.model-matrix:after{content:"";position:absolute;left:0;right:0;height:2px;background:linear-gradient(to right,#000000 0 8px,transparent 8px calc(100% - 8px),#000000 calc(100% - 8px))}.model-matrix:before{top:0}.model-matrix:after{bottom:0}.model-matrix-cell{display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:19px}.controller-menu{position:fixed;top:calc(50% - 35px);right:58px;left:auto;z-index:20;width:70px;height:70px;opacity:0;pointer-events:auto;transform:translateY(-16px);transition:opacity .56s ease,transform .56s ease}.main-entered .controller-menu{opacity:1;transform:translateY(0)}.controller-menu-trigger{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;position:relative;width:70px;height:70px;box-sizing:border-box;border:3px solid #000000;border-radius:50%;background:#fff;color:#000;cursor:grab;padding:5px;font-family:inherit;font-weight:750;line-height:1;box-shadow:none;touch-action:none;-webkit-user-select:none;user-select:none;isolation:isolate;transition:transform .15s ease,box-shadow .15s ease,background .15s ease,color .15s ease}.controller-menu-trigger:before{content:none}.controller-menu-trigger:after{content:none}.controller-menu-trigger:active{cursor:grabbing;transform:scale(.97)}.controller-menu-trigger:hover{background:#f5f5f2;transform:scale(1.04)}.controller-menu-trigger.guide:not(.open){cursor:pointer;animation:controller-menu-trigger-guide-background 1.9s ease-in-out infinite}.controller-menu-trigger.guide:not(.open):before{content:"";position:absolute;inset:0;z-index:0;border-radius:inherit;border:3px solid #000000;background:#f2f2ee;pointer-events:none;animation:controller-menu-trigger-breathe-button 1.9s ease-in-out infinite}.controller-menu-trigger.guide:not(.open):after{content:"";position:absolute;inset:-3px;z-index:1;border:2px solid rgba(0,0,0,.13);border-radius:inherit;pointer-events:none;animation:controller-menu-trigger-breathe-ring 1.9s ease-in-out infinite}.controller-menu-trigger.guide:not(.open) .controller-menu-title{position:relative;z-index:2}.controller-menu-trigger:focus-visible{outline:2px solid #000000;outline-offset:3px}.controller-menu-trigger.open{background:#f1f1ee;color:#000;box-shadow:none;transform:scale(.97)}.controller-menu-trigger.open:before{content:none}.controller-menu-trigger.open:after{content:none}.controller-menu-title{font-size:13px;font-weight:750;letter-spacing:0;line-height:1;white-space:nowrap}.controller-menu-dropdown{position:absolute;inset:0;z-index:2;border:0;background:transparent;padding:0;pointer-events:none}.controller-menu-dropdown button{position:absolute;top:50%;left:50%;width:62px;height:62px;box-sizing:border-box;border:2px solid #000000;border-radius:50%;background:#fff;color:#000;cursor:pointer;padding:5px 4px;font-family:inherit;font-size:10.5px;font-weight:650;line-height:1.1;text-align:center;pointer-events:auto;transform:translate(-50%,-50%) translate(var(--controller-bubble-x),var(--controller-bubble-y));animation:controller-menu-bubble-enter .36s cubic-bezier(.16,.84,.24,1) both}.controller-menu-dropdown button:hover:not(:disabled){background:#fff}.controller-menu-dropdown button.active{background:#f1f1ee;color:#000;box-shadow:inset 0 0 0 1px #000}.controller-menu-dropdown.closing button{pointer-events:none;animation:controller-menu-bubble-exit .42s cubic-bezier(.55,0,.85,.35) both}.controller-menu-dropdown button.custom-c-option{width:62px;height:62px;border-radius:50%;background:#fff;color:#000;box-shadow:none;font-family:inherit;font-size:10.5px;font-weight:650;letter-spacing:0}.controller-menu-dropdown button.custom-c-option:hover:not(:disabled),.controller-menu-dropdown button.custom-c-option.active{background:#f1f1ee;border-color:#000;color:#000;box-shadow:inset 0 0 0 1px #000}.controller-code-option-mark{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border:1px solid currentColor;border-radius:3px;font-size:10px;font-weight:850;line-height:1}.controller-menu.custom-c-context{top:calc(50% - 35px);right:58px;left:auto}@keyframes controller-menu-trigger-guide-background{0%,to{background:#fff}50%{background:#f2f2ee}}@keyframes controller-menu-trigger-breathe-ring{0%,to{opacity:0;transform:scale(.98)}50%{opacity:1;transform:scale(1.24)}}@keyframes controller-menu-trigger-breathe-button{0%,to{opacity:0;transform:scale(1)}50%{opacity:1;transform:scale(1.055)}}@keyframes controller-menu-bubble-enter{0%{opacity:0;transform:translate(-50%,-50%) scale(.08)}72%{opacity:1;transform:translate(-50%,-50%) translate(var(--controller-bubble-x),var(--controller-bubble-y)) scale(1.08)}to{opacity:1;transform:translate(-50%,-50%) translate(var(--controller-bubble-x),var(--controller-bubble-y)) scale(1)}}@keyframes controller-menu-bubble-exit{0%{opacity:1;transform:translate(-50%,-50%) translate(var(--controller-bubble-x),var(--controller-bubble-y)) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.08)}}.more-menu{--more-menu-text-color: #aaaaaa;position:fixed;top:21px;right:112px;z-index:7;display:grid;justify-items:end;color:#000;opacity:0;pointer-events:auto;transform:translateY(-16px);transition:opacity .56s ease,transform .56s ease}.main-entered .more-menu{opacity:1;transform:translateY(0)}.more-menu-trigger{border:0;background:transparent;color:var(--more-menu-text-color);cursor:pointer;padding:0;font-size:12px;font-weight:600;line-height:1;text-decoration:underline;text-decoration-color:var(--more-menu-text-color);text-decoration-thickness:1px;text-underline-offset:2px}.more-menu-trigger:hover{color:var(--more-menu-text-color)}.more-menu-dropdown{position:absolute;top:22px;right:0;min-width:86px;border:2px solid #000000;background:#fff;padding:4px 0;animation:menu-panel-enter .18s ease-out both}.more-menu-dropdown button{width:100%;border:0;background:transparent;color:#000;cursor:pointer;padding:6px 10px;font-size:12px;font-weight:650;text-align:left;white-space:nowrap}.more-menu-dropdown button:hover{background:#eee}.model-info-panel,.usage-info-panel,.author-contact-panel{position:absolute;top:22px;right:0;width:208px;border:2px solid #000000;background:#fff;color:#000;padding:7px 9px 8px;text-align:left;animation:menu-panel-enter .18s ease-out both}.model-info-panel p,.usage-info-panel p,.author-contact-panel p{margin:0 0 6px;color:#333;font-size:12px;font-weight:500;line-height:1.38;white-space:pre-line}.model-info-panel p{color:#000;font-size:12px;font-weight:650;line-height:1.2}.model-info-panel .model-method-note{margin-top:6px;color:#333;font-size:11px;font-weight:500;line-height:1.45}.usage-info-panel p{color:#000;font-weight:650}.usage-info-panel ul{margin:0;padding-left:15px;color:#333;font-size:12px;font-weight:500;line-height:1.45}.usage-info-panel li{margin:0 0 4px}.usage-info-panel{width:var(--usage-info-panel-width)}.model-equation{display:flex;align-items:baseline;gap:5px;color:#000;font-family:Times New Roman,Times,serif;font-size:19px;font-style:italic;font-weight:600;line-height:1.55;white-space:nowrap}.dotted-variable{position:relative;display:inline-block;min-width:.5em;text-align:center}.dotted-variable:before,.dotted-variable:after{position:absolute;top:.22em;width:.13em;height:.13em;border-radius:50%;background:currentColor;content:""}.single-dot:before{left:50%;transform:translate(-50%)}.single-dot:after{display:none}.double-dot:before{left:28%}.double-dot:after{left:72%}.author-email-row{display:flex;align-items:center;justify-content:flex-start;gap:6px}.author-email-label{color:#000;font-size:12px;font-weight:650;line-height:1.2;white-space:nowrap}.author-email-row a{color:#000;font-size:12px;font-weight:650;line-height:1.2;text-decoration:underline;text-underline-offset:2px}.author-copy-button{display:inline-flex;align-items:center;gap:4px;min-width:18px;height:18px;border:0;background:transparent;color:#888;cursor:pointer;padding:0;font-size:11px;font-weight:650;line-height:1;white-space:nowrap}.author-copy-button:hover{color:#666}.author-copy-button svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}@keyframes menu-panel-enter{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.music-icon{display:block;width:20px;height:20px;transform:rotate(0);transform-origin:50% 50%}.music-toggle.playing .music-icon{animation:music-note-spin 4.2s linear infinite}.music-toggle.disabled .music-icon{animation:none;transform:rotate(0)}.music-note{fill:#000;stroke:#000;stroke-linejoin:round;stroke-width:.4}.music-disabled-slash{stroke:#000;stroke-linecap:round;stroke-width:2.4;opacity:0}.music-toggle.disabled .music-disabled-slash{opacity:1}.music-toggle:hover{background:#fff}@keyframes music-note-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.transfer-function{--open-loop-input-start-offset: 78px;position:fixed;top:18px;left:50%;z-index:4;display:grid;justify-items:center;transform:translate(-50%);color:#000;font-size:20px;font-weight:700;line-height:1.1;pointer-events:none;white-space:nowrap;transition:padding-bottom .63s ease .63s}.transfer-function.closed-loop{padding-bottom:64px;transition:padding-bottom .63s ease}.modular-transfer-diagram,.modular-transfer-diagram.closed-loop{transition:none}.diagram-forward-path{gap:0}.diagram-signal-label{min-width:42px;height:26px;justify-content:center;overflow:visible}.modular-transfer-diagram .signal-arrow{transition:none}.modular-transfer-diagram .diagram-input-to-summing-arrow,.modular-transfer-diagram .diagram-summing-to-block-arrow{width:45px;flex-basis:45px}.modular-transfer-diagram .diagram-block-to-block-arrow{width:48px;flex-basis:48px}.modular-transfer-diagram .diagram-disturbance-forward-arrow{width:36px;flex-basis:36px}.diagram-summing-node{position:relative;z-index:4;display:inline-block;width:14px;height:14px;box-sizing:border-box;border:2px solid #000000;border-radius:50%;background:#fff;flex:0 0 14px}.diagram-disturbance-summing-node{z-index:5}.diagram-disturbance-input{position:absolute;left:50%;bottom:7px;width:54px;height:58px;transform:translate(-50%);pointer-events:none}.diagram-disturbance-label{position:absolute;top:0;left:50%;transform:translate(-50%);font-size:17px;line-height:1}.diagram-disturbance-line{position:absolute;left:calc(50% - 1px);top:20px;width:2px;height:23px;background:#000}.diagram-disturbance-arrow-head{position:absolute;left:50%;bottom:7px;width:0;height:0;transform:translate(-50%);border-top:9px solid #000000;border-right:4px solid transparent;border-left:4px solid transparent}.diagram-summing-negative{position:absolute;left:-28px;top:12px;color:#000;font-size:20px;font-weight:700;line-height:1}.modular-transfer-diagram .diagram-block{transition:none}.modular-transfer-diagram .diagram-controller-block{min-width:176px;min-height:58px}.modular-transfer-diagram .diagram-controller-block .fraction{min-width:78px}.modular-transfer-diagram.closed-loop .feedback-arrow-reveal{stroke-dashoffset:0;transition:none}.modular-transfer-diagram.closed-loop .feedback-arrow-head{display:none}.modular-transfer-diagram.closed-loop .feedback-negative-sign{opacity:1;transform:scaleX(1);transition:none}.modular-transfer-diagram.closed-loop .feedback-branch-dot,.modular-transfer-diagram.closed-loop .feedback-summing-node{opacity:1}.dual-loop-transfer-diagram,.dual-loop-transfer-diagram.closed-loop,.lead-lag-transfer-diagram,.lead-lag-transfer-diagram.closed-loop{position:relative;top:-14px;width:min(900px,calc(100vw - 380px));min-width:720px;padding-bottom:0}.dual-loop-transfer-diagram svg,.lead-lag-transfer-diagram svg{display:block;width:100%;height:auto;overflow:visible}.dual-loop-signal-lines path{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:square;stroke-linejoin:miter}.dual-loop-nodes circle{fill:#fff;stroke:currentColor;stroke-width:2}.dual-loop-nodes .dual-loop-branch-dot{fill:currentColor;stroke:none}.dual-loop-transfer-block rect{fill:#fff;stroke:currentColor;stroke-width:2}.dual-loop-transfer-block line{stroke:currentColor;stroke-width:2}.dual-loop-transfer-block text,.dual-loop-signal-label,.dual-loop-minus-sign{fill:currentColor;font-family:Times New Roman,serif;font-size:17px;font-style:normal;font-weight:600}.dual-loop-transfer-block text{font-size:20px}.transfer-card.custom-c-mode{top:8px;min-width:0;padding:0}.custom-c-registration-hint{margin-top:8px;border:0;background:transparent;color:#8a8a8a;cursor:pointer;padding:0;font-size:11px;line-height:1.25;text-decoration:underline;text-decoration-color:silver;text-underline-offset:3px}.custom-c-registration-hint:hover{color:#444}.custom-c-editor{--custom-c-code-font-size: 14px;--custom-c-code-line-height: 20px;position:relative;display:block;width:min(570px,calc(100vw - 390px));min-width:460px;height:230px;overflow:visible;background:transparent;color:#000}.control-panel.custom-c-controls,.main-entered .control-panel.custom-c-controls{transform:none;transition:none}.custom-c-controls>.option-field{display:none}.custom-c-controls>.mode-input-switcher,.custom-c-controls>.parameter-input-area{position:fixed;z-index:28;width:240px;border:2px solid #000000;border-radius:4px;background:#fff;padding:0;box-shadow:4px 4px #0000001a}.custom-c-controls>.mode-input-switcher{display:flex;flex-direction:column;top:123px;left:calc(50% - 600px);transform:translateY(-50%);transition:none}.custom-c-controls>.parameter-input-area{--custom-c-output-pipe-top: calc(50% - 5px) ;top:123px;left:calc(50% + 360px);height:144px;box-sizing:border-box;transform:translateY(-50%)}.custom-c-controls>.mode-input-switcher:after,.custom-c-controls>.parameter-input-area:after{position:absolute;top:50%;color:#000;font-size:30px;font-weight:750;line-height:1;transform:translateY(-50%);content:"⟶"}.custom-c-controls>.mode-input-switcher:after{right:-39px}.custom-c-controls>.parameter-input-area:after{left:-39px}.custom-c-controls>.mode-input-switcher:after,.custom-c-controls>.parameter-input-area:after{top:calc(50% - 5px);z-index:9002;transform:translateY(-50%);height:10px;border:0;background:linear-gradient(#000,#000) top / 100% 2px no-repeat,linear-gradient(#000,#000) bottom / 100% 2px no-repeat,repeating-linear-gradient(135deg,transparent 0 6px,#111111 6px 8px,transparent 8px 16px) center / 16px 6px repeat-x;animation:none;font-size:0;content:""}.custom-c-controls>.mode-input-switcher:after{right:-94px;width:92px}.custom-c-controls>.parameter-input-area:after{left:-78px;width:76px}.custom-c-controls.is-running>.mode-input-switcher:after,.custom-c-controls.is-running>.parameter-input-area:after{animation:custom-c-signal-forward 1s linear infinite}.custom-c-controls>.mode-input-switcher:before,.custom-c-controls>.parameter-input-area:before{position:absolute;top:calc(50% - 22px);z-index:9003;color:#555;font-family:IBM Plex Mono,Cascadia Mono,Consolas,monospace;font-size:11px;font-weight:600;letter-spacing:.02em;line-height:1}.custom-c-controls>.mode-input-switcher:before{right:-94px;width:92px;text-align:center;content:"ref"}.custom-c-controls>.parameter-input-area:before{top:calc(var(--custom-c-output-pipe-top) - 17px);left:-78px;width:76px;text-align:center;content:"output"}.custom-c-controls>.parameter-input-area:after{top:var(--custom-c-output-pipe-top)}.custom-c-controls:not(.has-custom-c-reference-pipe)>.mode-input-switcher:before,.custom-c-controls:not(.has-custom-c-reference-pipe)>.mode-input-switcher:after,.custom-c-controls:not(.has-custom-c-output-pipe)>.parameter-input-area:before,.custom-c-controls:not(.has-custom-c-output-pipe)>.parameter-input-area:after{content:none;display:none;animation:none}.custom-c-controls>.parameter-input-area.custom-c-feedback-count-1{--custom-c-output-pipe-top: calc(50% - 19px) }.custom-c-controls>.parameter-input-area.custom-c-feedback-count-2{--custom-c-output-pipe-top: calc(50% - 33px) }.custom-c-controls>.parameter-input-area.custom-c-feedback-count-3{--custom-c-output-pipe-top: calc(50% - 47px) }.custom-c-controls .custom-c-feedback-pipe{position:absolute;top:calc(50% + var(--feedback-pipe-offset));left:-78px;width:76px;height:10px;background:linear-gradient(#000,#000) top / 100% 2px no-repeat,linear-gradient(#000,#000) bottom / 100% 2px no-repeat,repeating-linear-gradient(45deg,transparent 0 6px,#111111 6px 8px,transparent 8px 16px) center / 16px 6px repeat-x;animation:none;color:transparent;font-size:0;pointer-events:none}.custom-c-controls.is-running .custom-c-feedback-pipe{animation:custom-c-signal-backward 1s linear infinite}.custom-c-controls .custom-c-feedback-pipe:before{position:absolute;top:-12px;left:0;width:100%;color:#555;content:attr(data-variable);font-family:IBM Plex Mono,Cascadia Mono,Consolas,monospace;font-size:11px;font-weight:600;letter-spacing:.02em;line-height:1;text-align:center}.custom-c-context-title{display:flex;position:static;z-index:5;height:28px;align-items:center;padding:0 10px;border-bottom:1px solid #c8c8c8;background:#fff;color:#000;font-family:inherit;font-size:14px;font-weight:700;letter-spacing:0;line-height:1}@keyframes custom-c-signal-forward{0%{background-position:0 0,0 100%,0 50%}to{background-position:0 0,0 100%,16px 50%}}@keyframes custom-c-signal-backward{0%{background-position:0 0,0 100%,0 50%}to{background-position:0 0,0 100%,-16px 50%}}@media(prefers-reduced-motion:reduce){.custom-c-controls>.mode-input-switcher:after,.custom-c-controls>.parameter-input-area:after,.custom-c-controls .custom-c-feedback-pipe{animation:none}}.custom-c-context-title{pointer-events:none}.custom-c-target-title{position:relative;gap:8px;pointer-events:auto;z-index:9001}.custom-c-controls .custom-c-target-type{position:static;display:inline-flex;width:auto;height:20px;align-items:center;gap:5px;border:0;background:transparent;color:#000;padding:0;font:inherit;font-weight:650}.custom-c-controls .custom-c-target-type .target-signal-arrow{position:static;display:block;margin-top:3px}.custom-c-target-title .target-signal-menu{top:27px;right:6px;left:auto}.custom-c-controls>.mode-input-switcher .mode-input-panel{grid-area:auto;margin:8px}.custom-c-controls>.parameter-input-area .parameter-input-switcher{margin:8px;height:100px}.custom-c-parameter-mode-toggle{--custom-c-lever-pivot-x: 2px;--custom-c-lever-length: 28px;--custom-c-lever-knob-radius: 6.5px;position:absolute;top:50%;right:-42px;z-index:6;width:42px;height:56px;border:0;background:transparent;color:#000;cursor:pointer;padding:0;transform:translateY(-50%)}.custom-c-parameter-mode-toggle:before{content:none}.custom-c-parameter-mode-lever-arm{position:absolute;top:28px;left:calc(var(--custom-c-lever-pivot-x) - 1px);width:2px;height:var(--custom-c-lever-length);background:currentColor;transform:rotate(-120deg);transform-origin:top center}.custom-c-parameter-mode-lever-arm:after{position:absolute;bottom:calc(-1 * var(--custom-c-lever-knob-radius));left:50%;width:13px;height:13px;box-sizing:border-box;border:2px solid currentColor;border-radius:50%;background:#fff;content:"";transform:translate(-50%)}.custom-c-parameter-mode-lever-knob{display:none}.custom-c-parameter-mode-toggle.pulled .custom-c-parameter-mode-lever-arm{animation:custom-c-parameter-lever-arm-pull .42s cubic-bezier(.22,1,.36,1) both}.custom-c-parameter-mode-toggle:hover:not(:disabled){color:#d47a00}.custom-c-parameter-mode-toggle:disabled{color:#b8b8b8;cursor:default}.custom-c-parameter-mode-toggle:focus-visible{outline:2px solid #000000;outline-offset:3px}@keyframes custom-c-parameter-lever-arm-pull{0%,to{transform:rotate(-120deg)}42%{transform:rotate(-60deg)}}.custom-c-controls .target-reference-number-field{grid-template-columns:78px auto}.custom-c-controls .target-reference-number-field .number-field-label{display:none}.custom-c-controls .target-reference-number-field:has(.number-field-after-input){grid-template-columns:36px 34px auto;gap:8px}.custom-c-controls>.mode-input-switcher.custom-c-compact-target{width:142px;left:calc(50% - 518px)}.custom-c-controls .custom-c-compact-target .target-signal-button{left:106px}.custom-c-controls .custom-c-compact-target .target-signal-menu{left:18px}.custom-c-controls>.parameter-input-area .parameter-input-switcher,.custom-c-controls>.mode-input-switcher{width:224px}.custom-c-controls .input-grid{width:224px}@media(max-width:1199px){.custom-c-controls>.mode-input-switcher,.custom-c-controls>.parameter-input-area{position:relative;top:auto;left:auto;transform:none;box-shadow:none}.custom-c-controls>.mode-input-switcher:after,.custom-c-controls>.parameter-input-area:after{display:none}}.custom-c-editor-resize-handle{position:absolute;right:auto;bottom:-10px;left:50%;z-index:4;width:44px;height:16px;cursor:ns-resize;touch-action:none;transform:translate(-50%)}.custom-c-editor-resize-handle:after{position:absolute;right:auto;bottom:1px;left:4px;width:36px;height:3px;border-radius:999px;background:#8a8a8a;content:""}.custom-c-editor-toolbar{position:absolute;right:0;bottom:-30px;z-index:2;display:flex;min-width:0;align-items:flex-start;justify-content:flex-end;gap:0}.custom-c-editor-panes{display:grid;width:100%;height:100%;min-height:0;grid-template-columns:.585fr 1.415fr;overflow:hidden;border:2px solid #000000;border-radius:4px;background:#fff;box-shadow:4px 4px #0000001a}.custom-c-editor-pane{display:grid;min-width:0;min-height:0;grid-template-rows:28px 1fr}.custom-c-editor-pane+.custom-c-editor-pane{border-left:1px solid #c8c8c8}.custom-c-editor-pane.loop-pane{grid-template-rows:28px minmax(0,1fr) 28px}.custom-c-editor-pane.loop-pane.has-additional-loop{display:flex;flex-direction:column}.custom-c-editor-pane.loop-pane.has-additional-loop>label,.custom-c-editor-pane.loop-pane.has-additional-loop>.custom-c-code-libraries{flex:0 0 28px}.custom-c-primary-loop-code{min-height:80px;flex:0 0 auto}.custom-c-editor-pane label{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d0d0d0;padding:0 10px;background:#fff;font-size:12px;font-weight:850}.custom-c-variables-heading{display:inline-flex;align-items:baseline;gap:7px}.custom-c-variable-type-hint{color:#989898;font-size:10px;font-style:normal;font-weight:600;line-height:1}.custom-c-editor-pane label strong{border:1px solid #000000;border-radius:8px;padding:2px 7px;background:#fff;color:#000;font-family:Lucida Console,Courier New,Courier,monospace;font-size:8.5px;font-weight:650;letter-spacing:.06em;line-height:1}.custom-c-loop-heading{display:inline-flex;align-items:baseline;gap:9px}.custom-c-editor-pane label .custom-c-loop-frequency{border:0;border-radius:0;padding:0;background:transparent;color:#777;font-family:Lucida Console,Courier New,Courier,monospace;font-size:10px;font-weight:600;letter-spacing:.015em;line-height:1}.custom-c-secondary-loop{position:relative;display:grid;min-height:0;flex:1 1 104px;grid-template-rows:28px minmax(0,1fr);border-top:1px solid #c8c8c8}.custom-c-loop-add-button{display:grid;width:16px;height:16px;place-items:center;border:1px solid #9a9a9a;border-radius:3px;padding:0;background:#fff;color:#595959;font-family:Lucida Console,Courier New,Courier,monospace;font-size:15px;font-weight:500;line-height:1;cursor:pointer}.custom-c-loop-add-button:hover:not(:disabled),.custom-c-loop-add-button:focus-visible{border-color:#000;color:#000;outline:none}.custom-c-loop-add-button:disabled{cursor:default;opacity:.38}.custom-c-loop-remove-button{display:grid;width:16px;height:16px;place-items:center;border:1px solid #9a9a9a;border-radius:3px;padding:0;background:#fff;color:#595959;font-family:Lucida Console,Courier New,Courier,monospace;font-size:16px;font-weight:500;line-height:1;cursor:pointer}.custom-c-loop-remove-button:hover:not(:disabled),.custom-c-loop-remove-button:focus-visible{border-color:#000;color:#000;outline:none}.custom-c-loop-remove-button:disabled{cursor:default;opacity:.38}.custom-c-loop-splitter{position:absolute;top:-6px;right:0;left:0;z-index:5;height:12px;cursor:ns-resize;touch-action:none}.custom-c-loop-splitter:after{position:absolute;top:5px;right:11px;left:11px;height:1px;background:#a4a4a4;content:"";opacity:.55;transition:opacity .12s ease}.custom-c-loop-splitter:hover:after{opacity:1}.custom-c-loop-frequency-input{display:inline-flex;align-items:baseline;gap:4px;color:#777;font-family:Lucida Console,Courier New,Courier,monospace;font-size:10px;font-weight:600;line-height:1}.custom-c-loop-frequency-input input{width:36px;min-width:0;padding:0 0 1px;border:0;border-bottom:1px solid #777777;border-radius:0;outline:0;background:transparent;color:#555;font:inherit;text-align:center}.custom-c-loop-frequency-input input:focus{border-bottom-color:#000;color:#000}.custom-c-loop-frequency-input em{font:inherit;font-style:normal}.custom-c-default-type{color:#777;font-family:Lucida Console,Courier New,Courier,monospace;font-size:10.5px;font-weight:500;letter-spacing:.015em}.custom-c-loop-actions,.custom-c-examples{display:inline-flex;align-items:center}.custom-c-loop-actions{gap:7px}.custom-c-examples{gap:3px}.custom-c-examples>span{color:#777;font-size:8px;font-weight:750;letter-spacing:.08em}.custom-c-examples>button{border:1px solid #b8b8b8;border-radius:2px;background:#fff;color:#222;cursor:pointer;padding:2px 4px;font-family:Lucida Console,Courier New,Courier,monospace;font-size:8px;font-weight:650;line-height:1}.custom-c-examples>button:hover:not(:disabled),.custom-c-examples>button:focus-visible{border-color:#000;background:#000;color:#fff;outline:none}.custom-c-examples>button:disabled{cursor:default;opacity:.4}.custom-c-system-variables{position:relative;display:flex;min-width:0;align-items:center;gap:4px;overflow:visible;border-top:1px solid #d0d0d0;padding:3px 7px;background:#fff;scrollbar-width:none}.custom-c-system-variables::-webkit-scrollbar{display:none}.custom-c-system-variables>span{flex:0 0 auto;margin-right:2px;color:#777;font-size:8px;font-weight:750;letter-spacing:.08em}.custom-c-system-variables button{flex:0 0 auto;border:1px solid #b8b8b8;border-radius:2px;background:#fff;color:#222;cursor:pointer;padding:2px 5px;font-family:Lucida Console,Courier New,Courier,monospace;font-size:8.5px;line-height:1}.custom-c-system-variables button:hover:not(:disabled),.custom-c-system-variables button:focus-visible{border-color:#000;background:#000;color:#fff;outline:none}.custom-c-system-variables button:disabled{cursor:default;opacity:.4}.custom-c-code-libraries{position:relative;display:flex;align-items:center;justify-content:flex-start;gap:4px;overflow:visible;border-top:1px solid #d0d0d0;padding:3px 7px;background:#fff}.custom-c-library-toggle,.custom-c-code-library button{flex:0 0 auto;border:1px solid #b8b8b8;border-radius:2px;background:#fff;color:#222;cursor:pointer;padding:2px 5px;font-family:Lucida Console,Courier New,Courier,monospace;font-size:10.5px;line-height:1}.custom-c-library-toggle{min-width:33px;color:#555;font-size:9.5px;font-weight:800;letter-spacing:.07em}.custom-c-save-library-toggle{margin-left:auto}.custom-c-library-toggle.active,.custom-c-library-toggle:hover:not(:disabled),.custom-c-library-toggle:focus-visible,.custom-c-code-library button:hover:not(:disabled),.custom-c-code-library button:focus-visible{border-color:#000;background:#000;color:#fff;outline:none}.custom-c-library-toggle:disabled,.custom-c-code-library button:disabled{cursor:default;opacity:.4}.custom-c-code-library{position:static;display:flex;min-height:30px;align-items:center;flex:0 0 100%;width:100%;box-sizing:border-box;flex-wrap:wrap;gap:5px;border:2px solid #000000;background:#fff;box-shadow:4px 4px #0000002e;padding:6px 7px}.custom-c-code-libraries>.custom-c-code-library{position:absolute;right:auto;bottom:calc(100% + 1px);left:6px;z-index:6;display:flex;min-height:28px;align-items:center;align-content:center;justify-content:flex-start;flex:none;width:min(280px,calc(100% - 12px));border:1px solid #000000;box-shadow:3px 3px #00000024;padding:2px 7px}.custom-c-code-libraries>.custom-c-code-library .custom-c-system-variable{display:flex;height:17px;align-self:center;align-items:center;line-height:0}.custom-c-code-libraries>.custom-c-code-library .custom-c-system-variable>button{height:17px;box-sizing:border-box;padding:2px 5px;line-height:1}.custom-c-code-libraries>.custom-c-saved-controller-library{display:block;width:min(300px,calc(100% - 12px));padding:6px}.custom-c-saved-controller-form{display:flex;gap:5px}.custom-c-saved-controller-form input{min-width:0;flex:1 1 auto;border:1px solid #9c9c9c;border-radius:2px;background:#fff;color:#222;padding:3px 5px;font-family:Lucida Console,Courier New,Courier,monospace;font-size:10.5px;line-height:1.1}.custom-c-saved-controller-form input:focus{border-color:#000;outline:none}.custom-c-saved-controller-list{display:grid;gap:3px;max-height:132px;margin-top:6px;overflow-y:auto}.custom-c-saved-controller-entry{display:flex;min-width:0;gap:4px}.custom-c-saved-controller-entry>button:first-child{min-width:0;flex:1 1 auto;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.custom-c-saved-controller-entry .custom-c-saved-controller-delete{min-width:20px;padding-right:4px;padding-left:4px;font-size:13px}.custom-c-saved-controller-empty{color:#777;font-family:Lucida Console,Courier New,Courier,monospace;font-size:10px;line-height:1.2}.custom-c-floating-code-library{display:none}.custom-c-math-library-toggle{margin-left:auto;border-color:#777!important;color:#555!important;font-size:9.5px!important;font-weight:800!important;letter-spacing:.07em}.custom-c-math-library-toggle.active,.custom-c-math-library-toggle:hover:not(:disabled),.custom-c-math-library-toggle:focus-visible{border-color:#000!important;background:#000!important;color:#fff!important}.custom-c-math-library{position:absolute;right:6px;bottom:calc(100% + 6px);z-index:9500;display:flex;gap:3px;border:1px solid #000000;background:#fff;box-shadow:3px 3px #0000001f;padding:5px}.custom-c-math-library:before{content:"MATH";align-self:center;color:#777;font-size:9px;font-weight:800;letter-spacing:.08em}.custom-c-math-library button{min-width:27px;padding:3px 4px;font-size:9.5px}.custom-c-system-variable{position:relative;flex:0 0 auto}.custom-c-system-variable-tooltip{position:absolute;bottom:calc(100% + 7px);left:50%;z-index:8;display:grid;width:max-content;max-width:176px;transform:translate(-50%,4px);border:1px solid #000000;background:#fff;color:#222;opacity:0;padding:6px 8px;pointer-events:none;transition:opacity .12s ease,transform .12s ease;font-size:10px;line-height:1.42;white-space:nowrap}.custom-c-system-variable-tooltip strong{color:#a44700;font-family:Lucida Console,Courier New,Courier,monospace;font-size:10.5px}.custom-c-system-variable-tooltip em{color:#666;font-style:normal}.custom-c-system-variable:hover .custom-c-system-variable-tooltip,.custom-c-system-variable:focus-within .custom-c-system-variable-tooltip{opacity:1;transform:translate(-50%)}.custom-c-editor textarea{width:100%;min-height:0;box-sizing:border-box;resize:none;border:0;outline:none;background:#fff;color:#111;padding:9px 14px;font-family:Lucida Console,Courier New,Courier,monospace;font-size:var(--custom-c-code-font-size);font-weight:500;font-kerning:none;font-variant-ligatures:none;letter-spacing:.012em;line-height:var(--custom-c-code-line-height);tab-size:4;white-space:pre}.custom-c-code-field{position:relative;height:100%;min-width:0;min-height:0;overflow:visible}.custom-c-code-field>pre{position:absolute;inset:0;margin:0;overflow:auto;padding:9px 14px;color:#111;font-family:Lucida Console,Courier New,Courier,monospace;font-size:var(--custom-c-code-font-size);font-weight:500;font-kerning:none;font-variant-ligatures:none;letter-spacing:.012em;line-height:var(--custom-c-code-line-height);tab-size:4;white-space:pre;pointer-events:none;scrollbar-width:thin;scrollbar-color:transparent transparent;scrollbar-gutter:stable;z-index:1}.custom-c-code-field>pre::-webkit-scrollbar{display:block;width:7px}.custom-c-code-field>pre::-webkit-scrollbar-thumb{background:transparent}.custom-c-system-value{color:#a44700;font-weight:inherit}.custom-c-code-line{display:block}.custom-c-code-line.has-error{margin:0;box-shadow:inset 3px 0 #c52828;background:#ffe2e2;padding:0}.custom-c-error-tooltip{position:absolute;z-index:8;max-width:min(280px,calc(100% - 20px));padding:5px 8px;border:1px solid #8d1f1f;border-radius:3px;background:#fff8f8;color:#8d1f1f;font-family:Lucida Console,Courier New,Courier,monospace;font-size:11px;line-height:1.35;pointer-events:none;box-shadow:2px 2px #32000024;white-space:normal}.custom-c-code-field>textarea{position:relative;z-index:2;display:block;height:100%;overflow:auto;background:transparent;color:transparent;cursor:var(--code-editor-cursor)!important;caret-color:#000;caret-shape:bar;-webkit-text-fill-color:transparent;scrollbar-width:thin;scrollbar-color:#8a8a8a transparent;scrollbar-gutter:stable}.custom-c-code-field>textarea:focus{cursor:var(--code-editor-cursor)!important;caret-color:#111}.custom-c-code-field>textarea::-webkit-scrollbar{display:block;width:7px}.custom-c-code-field>textarea::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:8px;background:#8a8a8a;background-clip:padding-box}.custom-c-code-field>textarea::selection{background:#326ebe47}.custom-c-editor textarea:focus{background:transparent}.custom-c-editor textarea:focus{background:transparent;box-shadow:inset 0 0 0 1px #8b8b8b}.custom-c-compile-status{max-width:260px;height:29px;color:#444;font-size:11.5px;font-weight:650;line-height:29px;white-space:nowrap;min-width:0;overflow:hidden;text-align:center;text-overflow:ellipsis}.custom-c-compile-status.success{color:#444}.custom-c-compile-status.error{color:#b00020}.lead-section-card .pid-loop-card-heading,.lag-section-card .pid-loop-card-heading{min-width:112px;justify-content:space-between;padding-right:7px}.section-enable-toggle{position:relative;width:27px;height:14px;flex:0 0 auto;border:1.5px solid #000000;border-radius:8px;background:#fff;cursor:pointer;padding:0}.section-enable-toggle-knob{position:absolute;top:2px;left:2px;width:8px;height:8px;border-radius:50%;background:#000;transition:transform .16s ease,background .16s ease}.section-enable-toggle.enabled{background:#000}.section-enable-toggle.enabled .section-enable-toggle-knob{background:#fff;transform:translate(13px)}.section-enable-toggle:disabled{cursor:not-allowed;opacity:.45}.section-enable-toggle:focus{outline:none}.section-enable-toggle:focus-visible{outline:1.5px solid #000000;outline-offset:2px}.pid-loop-card.section-disabled .lead-lag-section-fields{opacity:.42}.dual-loop-transfer-block .transfer-block-title{font-family:inherit;font-size:13px;font-weight:750}.lead-lag-gain-label{fill:currentColor;font-family:inherit;font-size:12px;font-weight:750}.lead-lag-transfer-diagram .dual-loop-transfer-block.section-disabled rect{fill:#f1f1f1;stroke:#777}.lead-lag-transfer-diagram .dual-loop-transfer-block.section-disabled text{fill:#777}.dual-loop-signal-label{font-size:20px;font-weight:700}.dual-loop-minus-sign{font-size:19px;font-weight:700}.forward-path{position:relative;display:inline-flex;align-items:center;gap:0}.pid-segment{display:inline-flex;align-items:center;max-width:0;opacity:0;overflow:hidden;transform:scaleX(0);transform-origin:left center;transition:max-width .95s ease .9s,opacity .65s ease .9s,transform .95s ease .9s}.transfer-function.closed-loop .pid-segment{max-width:260px;opacity:1;transform:scaleX(1);transition:max-width .95s ease,opacity .65s ease,transform .95s ease}.signal-label{display:inline-flex;align-items:center;transition:transform 735ms ease}.input-signal-label{width:42px;height:26px;overflow:hidden;align-items:flex-start;transition:transform 735ms ease 1358ms}.input-signal-label.open-loop-position{transform:translate(var(--open-loop-input-start-offset))}.transfer-function.closed-loop .input-signal-label{transition:transform 735ms ease}.input-signal-track{display:grid;grid-template-rows:26px 26px;transition:transform 434ms ease}.input-signal-track span{display:inline-flex;align-items:center;height:26px}.input-signal-label.closed-loop .input-signal-track{transform:translateY(-26px)}.output-signal-label{width:42px;height:26px;overflow:hidden;align-items:flex-start}.output-signal-track{display:grid;grid-template-rows:26px 26px;transition:transform 434ms ease}.output-signal-track span{display:inline-flex;align-items:center;height:26px}.output-signal-label.velocity .output-signal-track{transform:translateY(-26px)}.signal-arrow{position:relative;z-index:2;display:inline-flex;align-items:center;width:72px;height:12px;flex:0 0 72px;overflow:hidden;transition:width 735ms ease,flex-basis 735ms ease}.signal-arrow-line{display:block;width:calc(100% - 14px);height:2px;background:#000}.signal-arrow-head{display:block;width:14px;height:12px;background:#000;clip-path:polygon(0 24%,100% 50%,0 76%);flex:0 0 14px}.input-path{position:relative;display:inline-grid;align-items:center;width:calc(120px + var(--open-loop-block-offset, 30px));height:78px;flex:0 0 calc(120px + var(--open-loop-block-offset, 30px));transition:width 735ms ease 1358ms,flex-basis 735ms ease 1358ms}.input-path.closed-loop{width:var(--closed-loop-input-path-width, 293px);flex-basis:var(--closed-loop-input-path-width, 293px);transition:width 735ms ease,flex-basis 735ms ease}.input-arrow-single,.input-arrow-split{grid-area:1 / 1;display:inline-flex;align-items:center;width:100%;position:relative}.input-arrow-single{z-index:0;opacity:1;transition:opacity 294ms ease .91s}.input-path.closed-loop .input-arrow-single{opacity:0;transition:opacity 154ms ease 735ms}.input-path:not(.closed-loop) .input-arrow-single{justify-content:flex-end}.input-path:not(.closed-loop) .input-arrow-single .input-single-arrow{width:calc(100% - var(--open-loop-input-start-offset));flex-basis:calc(100% - var(--open-loop-input-start-offset));transition:width 735ms ease 1358ms,flex-basis 735ms ease 1358ms}.input-path.closed-loop .input-arrow-single{justify-content:flex-end}.input-path.closed-loop .input-arrow-single .input-single-arrow{width:100%;flex-basis:100%;transition:width 735ms ease,flex-basis 735ms ease}.input-arrow-split{z-index:1;opacity:0;pointer-events:none;transition:opacity 154ms ease 1204ms}.input-path.closed-loop .input-arrow-split{opacity:1;pointer-events:auto;transition:opacity 154ms ease 735ms}.input-arrow-split .signal-arrow{width:auto;min-width:0;flex:1 1 0}.input-arrow-split .split-input-arrow:first-child .signal-arrow-head{transform:scaleY(.16);transform-origin:center center;transition:transform 294ms ease .91s}.input-path.closed-loop .input-arrow-split .split-input-arrow:first-child .signal-arrow-head{transform:scaleY(1);transition:transform 182ms ease 735ms}.blank-controller-block{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:.236px;height:2px;box-sizing:border-box;border:0 solid #000000;background:#000;flex:0 0 .236px;overflow:hidden;padding:0;appearance:none;font:inherit;cursor:pointer;pointer-events:auto;transition:width .91s ease,flex-basis .91s ease,height 294ms ease .91s,border-width 294ms ease .91s,background-color 126ms ease 1078ms}.controller-track{position:absolute;inset:0;display:grid;width:100%;height:200%;grid-template-rows:1fr 1fr;align-items:center;justify-items:center;color:#000;pointer-events:none;transform:translateY(0);transition:transform 434ms ease}.input-path.show-controller-transfer .controller-track{transform:translateY(-50%)}.controller-label,.controller-transfer{display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%;color:#000;font-weight:700;text-align:center;white-space:nowrap;flex:0 0 auto}.controller-label{font-size:20px}.controller-transfer{font-size:20px;line-height:1}.controller-width-measure{position:absolute;width:max-content;height:auto;visibility:hidden;pointer-events:none}.controller-transfer .fraction{min-width:78px}.controller-polynomial{display:inline-flex;align-items:center;justify-content:center;min-width:78px}.factored-polynomial{display:inline-flex;align-items:center;gap:2px;white-space:nowrap}.matched-factor{color:#b3b3b3}.controller-transfer .fraction-top,.controller-transfer .fraction-bottom{padding-left:5px;padding-right:5px}.input-path.closed-loop .blank-controller-block{width:var(--pid-block-width, 176px);height:78px;border-width:2px;background:#fff;flex-basis:var(--pid-block-width, 176px);transition:width .91s ease 735ms,flex-basis .91s ease 735ms,height 294ms ease 735ms,border-width 294ms ease 735ms,background-color 126ms ease 735ms}.input-path.closed-loop.show-controller-transfer,.input-path.closed-loop.show-controller-transfer .blank-controller-block{transition:none}.transfer-block{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;min-width:128px;min-height:58px;border:2px solid #000000;padding:8px 14px;background:#fff;color:#000;appearance:none;cursor:pointer;font:inherit;margin-left:0;pointer-events:auto;transition:margin-left 735ms ease .63s,transform 735ms ease .63s}.blank-controller-block:focus-visible,.transfer-block:focus-visible{outline:2px solid #000000;outline-offset:3px}.transfer-function.closed-loop .plant-block-wrap>.transfer-block{transition:margin-left 735ms ease,transform 735ms ease}.plant-block-wrap{position:relative;display:inline-flex;align-items:center}.pid-block{min-width:118px}.feedback-arrow{position:absolute;top:39px;height:78px;overflow:visible}.feedback-arrow-base,.feedback-arrow-vertical{fill:none;stroke:#000;stroke-linecap:butt;stroke-linejoin:miter;vector-effect:non-scaling-stroke}.feedback-arrow-base,.feedback-arrow-vertical{stroke-width:2}.feedback-arrow-reveal{fill:none;stroke:#fff;stroke-linecap:butt;stroke-dasharray:1000;stroke-dashoffset:1000;stroke-width:12;vector-effect:non-scaling-stroke;transition:stroke-dashoffset 1022ms ease 182ms}.feedback-arrow-head{position:absolute;top:-2px;left:-6px;display:block;width:14px;height:12px;background:#000;clip-path:polygon(50% 0,76% 100%,24% 100%);transform:scaleY(.16);transform-origin:center bottom;opacity:0;transition:opacity 84ms ease 182ms,transform 182ms ease}.feedback-marker{position:absolute;display:block;opacity:0}.feedback-marker-source{right:0}.feedback-marker-target{left:1%}.feedback-branch-dot{top:-3px;z-index:3;width:6px;height:6px;border-radius:50%;background:#000;transform:translate(50%)}.feedback-summing-node{top:-7px;z-index:4;width:14px;height:14px;box-sizing:border-box;border:2px solid #000000;border-radius:50%;background:#fff;transform:translate(-50%)}.feedback-summing-node:before{content:"";position:absolute;top:10px;left:50%;display:block;width:12px;height:14px;background:#000;clip-path:polygon(50% 0,76% 100%,24% 100%);transform:translate(-50%)}.feedback-summing-node:after{content:"";position:absolute;top:50%;left:-14px;display:block;width:14px;height:12px;background:#000;clip-path:polygon(0 24%,100% 50%,0 76%);transform:translateY(-50%)}.feedback-target-arrow-head{position:absolute;left:0;top:7px;display:block;width:12px;height:14px;background:#000;clip-path:polygon(50% 0,76% 100%,24% 100%);transform:translate(-50%)}.feedback-negative-sign{position:absolute;top:8px;left:-25px;color:#000;font-size:20px;font-weight:700;line-height:1;opacity:0;transform:scaleX(0);transform-origin:right center;transition:opacity 84ms ease 182ms,transform 182ms ease}.transfer-function.closed-loop .feedback-arrow-reveal{stroke-dashoffset:0;transition:stroke-dashoffset .63s ease 735ms}.transfer-function.closed-loop .feedback-arrow-head{opacity:1;transform:scaleY(1);transition:opacity 168ms ease 1.26s,transform 182ms ease 1.26s}.transfer-function.closed-loop .feedback-negative-sign{opacity:1;transform:scaleX(1);transition:opacity 168ms ease 1.26s,transform 182ms ease 1.26s}.fraction{display:inline-grid;grid-template-rows:auto auto;min-width:44px;text-align:center;vertical-align:middle}.fraction-top,.fraction-bottom{display:block;padding:0 8px}.fraction-top{border-bottom:2px solid #000000;padding-bottom:3px}.fraction-bottom{padding-top:3px}.state-value{display:inline-flex;align-items:baseline;gap:7px;margin:0;font-variant-numeric:tabular-nums}.state-value span{font-size:16px;font-weight:800}.state-value strong{font-size:18px}.state-value small{color:#444}.road-scene{position:fixed;inset:0;z-index:3;overflow:hidden;background:#fff;pointer-events:none}.road-scene svg{display:block;width:100%;height:100%;clip-path:inset(1px 0 0)}.road-surface{transition:fill .32s ease}.road-random-texture{pointer-events:none;transition:opacity .24s ease}.step-disturbance-zones,.step-disturbance-zone,.step-disturbance-zone.interactive,.step-disturbance-zone-base,.step-disturbance-zone-texture,.step-disturbance-boundary{pointer-events:none}.step-disturbance-boundary-hit-area{cursor:none;fill:none;pointer-events:stroke;stroke:transparent;stroke-width:18;touch-action:none}.step-disturbance-zone{transition:opacity .32s ease}.step-disturbance-zone-base{fill:#000;opacity:.07;animation:step-disturbance-zone-base-enter .42s cubic-bezier(.22,1,.36,1)}.step-disturbance-zone.assist .step-disturbance-zone-base{opacity:.025}.step-disturbance-zone-texture{animation:step-disturbance-zone-texture-enter .42s cubic-bezier(.22,1,.36,1)}.step-disturbance-pattern-line{fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.step-disturbance-boundary{stroke:#555;stroke-dasharray:7 5;stroke-linecap:butt;stroke-width:1.6;animation:step-disturbance-boundary-enter .42s ease-out}@keyframes step-disturbance-zone-base-enter{0%{opacity:0}to{opacity:.07}}@keyframes step-disturbance-zone-texture-enter{0%{opacity:0}to{opacity:1}}@keyframes step-disturbance-boundary-enter{0%{stroke-dashoffset:48;opacity:0}to{stroke-dashoffset:0;opacity:1}}.road-lines line{stroke:#000;stroke-linecap:square;stroke-width:3}.pulse-speed-bump{touch-action:none}.pulse-speed-bump.interactive{cursor:none;pointer-events:all}.pulse-speed-bump.interactive.dragging{cursor:none}.pulse-speed-bump-hit-area{fill:transparent;pointer-events:all;stroke:transparent;stroke-width:12}.pulse-speed-bump-orange{fill:#f28c28;pointer-events:none}.pulse-speed-bump-black{fill:#000;pointer-events:none}.pulse-speed-bump-outline{fill:none;pointer-events:none;stroke:#000;stroke-linejoin:miter;stroke-width:1.5}.road-property-control{pointer-events:auto}.road-property-sign{cursor:pointer;outline:none}.road-property-sign-post{stroke:#000;stroke-linecap:butt;stroke-dasharray:1;stroke-dashoffset:0}.road-property-sign.animate-entry .road-property-sign-post{stroke-dashoffset:1;animation:road-property-sign-post-enter .52s cubic-bezier(.22,1,.36,1) forwards}.road-property-sign-board-assembly{opacity:1;transform-box:fill-box;transform-origin:center center}.road-property-sign.animate-entry .road-property-sign-board-assembly{opacity:0;animation:road-property-sign-board-enter .62s cubic-bezier(.22,1,.36,1) .5s both}.road-property-sign-board{fill:#fff;stroke:#000;stroke-linejoin:bevel}.road-property-sign-side-face{fill:#000;stroke:none}.road-property-sign.active .road-property-sign-board{fill:#fff}.road-property-sign-text{fill:#000;font-family:Inter,Segoe UI,Arial,sans-serif;font-size:18px;font-weight:650;text-anchor:middle;dominant-baseline:middle;letter-spacing:0;pointer-events:none}@keyframes road-property-sign-post-enter{to{stroke-dashoffset:0}}@keyframes road-property-sign-board-enter{0%{opacity:0;transform:scaleX(0)}1%{opacity:1;transform:scaleX(.015)}to{opacity:1;transform:scaleX(1)}}@media(prefers-reduced-motion:reduce){.road-property-sign.animate-entry .road-property-sign-post,.road-property-sign.animate-entry .road-property-sign-board-assembly{animation:none}.road-property-sign.animate-entry .road-property-sign-post{stroke-dashoffset:0}.road-property-sign.animate-entry .road-property-sign-board-assembly{opacity:1;transform:none}}.road-property-menu-object{overflow:visible;pointer-events:none}.road-property-menu{width:184px;box-sizing:border-box;border:2px solid #000000;background:#fff;color:#000;font-family:Inter,Segoe UI,Microsoft YaHei,sans-serif;font-size:12px;overflow:visible;pointer-events:auto;transform-origin:0 0;animation:road-property-menu-enter .22s cubic-bezier(.22,1,.36,1) both}.road-property-menu.english{width:224px}@keyframes road-property-menu-enter{0%{opacity:0;transform:translate(-7px) translateY(-3px) scale(.94)}to{opacity:1;transform:translate(0) translateY(0) scale(1)}}.road-property-disturbance-group+.road-property-disturbance-group{border-top:1px solid #b8b8b8}.road-property-disturbance-option{display:flex;align-items:center;gap:7px;min-height:30px;padding:0 10px;cursor:pointer;font-weight:600}.road-property-disturbance-option input{width:14px;height:14px;margin:0;accent-color:#000000;cursor:pointer}.road-property-disturbance-label{min-width:0;white-space:nowrap}.road-disturbance-help{flex:0 0 13px;margin-left:-2px}.road-disturbance-help .parameter-help-tooltip{top:-7px;right:calc(100% + 7px);left:auto;width:238px;max-width:min(238px,calc(100vw - 42px));transform:translate(4px)}.road-disturbance-help:hover .parameter-help-tooltip,.road-disturbance-help:focus .parameter-help-tooltip{transform:translate(0)}.road-property-disturbance-icon{width:30px;height:18px;margin-left:auto;flex:0 0 30px}.road-property-disturbance-icon path{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:square;stroke-linejoin:miter;vector-effect:non-scaling-stroke}.road-property-disturbance-option input:disabled,.road-disturbance-field input:disabled{cursor:default;opacity:.45}.road-property-disturbance-option input:disabled:checked{opacity:1;accent-color:#000000}.road-disturbance-fields{display:grid;gap:4px;padding:2px 9px 7px}.road-disturbance-field{display:grid;grid-template-columns:minmax(48px,1fr) 18px 54px 22px;align-items:end;column-gap:3px;min-height:22px}.road-disturbance-field-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.road-disturbance-field-symbol{font-family:Times New Roman,serif;font-style:italic;text-align:center}.road-disturbance-field input{width:54px;min-width:0;box-sizing:border-box;border:0;border-bottom:2px solid #000000;border-radius:0;outline:0;background:#fff;color:#000;font:inherit;text-align:center}.road-disturbance-field-unit{color:#555;font-size:10px}.start-line,.target-line{stroke:#000;stroke-dasharray:12 10;stroke-linecap:butt;stroke-width:3}.loop-count{fill:#000;font-size:18px;font-weight:500;dominant-baseline:middle;text-anchor:middle;paint-order:stroke;stroke:#fff;stroke-width:5px}.spring-segment-dark{fill:#000}.spring-effect{transition:none}.ground-label{overflow:visible}.ground-label text{fill:#6f6f6f;font-family:Inter,Segoe UI,Microsoft YaHei,sans-serif;font-size:80px;font-style:normal;font-weight:750;opacity:1;letter-spacing:0;paint-order:stroke;stroke:#fff;stroke-width:2px;stroke-linejoin:round}.spring-segment-light{fill:#fff}.spring-outline{fill:none;stroke:#000;stroke-width:2;vector-effect:non-scaling-stroke}.cube-face{fill:#fff;stroke:none}.cube-edges{fill:none;stroke:#000;stroke-linejoin:round;stroke-linecap:round;stroke-width:3}.cube line{stroke:#000;stroke-width:3}.cube.interactive{pointer-events:visiblePainted;touch-action:none}.cube.interactive.hammer{cursor:var(--hammer-cursor-static)}.cube.interactive.hand,.cube.interactive.hand.interacting{cursor:none}.hand-cursor-overlay{pointer-events:none}.target-flag-base-shadow{fill:#0000002e}.target-flag-base{fill:#b85b09;stroke:#2b1006;stroke-width:4}.target-flag-base-inner{fill:#7f3304;stroke:#3b1606;stroke-width:2}.target-flag-pole{fill:#ffc526;stroke:#2b1006;stroke-width:4}.target-flag-pole-highlight{fill:#fff36c}.target-flag-cloth{fill:#f20d0d;stroke:#2b1006;stroke-linejoin:round;stroke-width:4}.target-flag-cloth-highlight{fill:#ff5c5cb3}.target-flag-knob{fill:#ffc526;stroke:#2b1006;stroke-width:4}.target-flag-knob-highlight{fill:#ffffffc7}.time-plot-drawer{position:fixed;right:0;bottom:0;top:calc(100% - var(--plot-drawer-height));left:calc(100% - 446px);z-index:6;display:flex;align-items:flex-end;pointer-events:none;transform:translateY(var(--plot-drawer-height));opacity:0;transition:top var(--bode-expand-motion),right var(--bode-expand-motion),bottom var(--bode-expand-motion),left var(--bode-expand-motion),transform var(--plot-drawer-motion),opacity var(--plot-drawer-motion)}.time-plot-drawer.open{transform:translateY(0)}.time-plot-drawer.bode-expanded{top:0;right:0;bottom:0;left:min(var(--bode-expanded-left),42vw);z-index:8;align-items:stretch;transform:none}.main-entered .time-plot-drawer{opacity:1}.time-plot-panel{position:relative;width:100%;height:100%;border:2px solid #000000;border-right:0;border-bottom:0;background:#fff;pointer-events:auto;transition:border-color var(--bode-expand-motion),padding var(--bode-expand-motion)}.time-plot-drawer.bode-expanded .time-plot-panel{width:100%;height:100%;border:2px solid #000000;padding:2px 8px 8px 0}.time-plot-choice{display:flex;gap:18px;align-items:center;height:38px;padding:8px 18px 0}.time-plot-choice.dual-loop-choice{gap:16px}.dual-loop-plot-groups,.time-plot-series-options{display:inline-flex;align-items:center;gap:14px}.dual-loop-plot-groups{gap:0;border:1px solid #000000;border-radius:999px;overflow:hidden}.dual-loop-plot-groups>button{border:0;border-right:1px solid #000000;background:transparent;color:#555;cursor:pointer;padding:3px 10px;font-size:12px;font-weight:700;line-height:1}.dual-loop-plot-groups>button:last-child{border-right:0}.dual-loop-plot-groups>button.active{background:#000;color:#fff}.time-plot-option{display:inline-flex;align-items:center;gap:5px}.time-plot-option.pid-option,.time-plot-option.disturbance-option{margin-left:-10px}.time-plot-option>button{border:0;border-bottom:2px solid transparent;background:transparent;color:#000;cursor:pointer;padding:1px 0;font-size:14px;font-weight:650}.time-plot-option>button.active{border-bottom-color:#000;font-weight:850}.time-plot-drawer.time-response-expanded .time-plot-choice{gap:28px;height:54px;padding:14px 26px 0}.time-plot-drawer.time-response-expanded .time-plot-choice.dual-loop-choice{gap:22px}.time-plot-drawer.time-response-expanded .dual-loop-plot-groups>button{padding:5px 14px;font-size:16px}.time-plot-drawer.time-response-expanded .time-plot-series-options{gap:24px}.time-plot-drawer.time-response-expanded .time-plot-option{gap:7px}.time-plot-drawer.time-response-expanded .time-plot-option.pid-option,.time-plot-drawer.time-response-expanded .time-plot-option.disturbance-option{margin-left:-18px}.time-plot-drawer.time-response-expanded .time-plot-option>button{border-bottom-width:3px;font-size:20px}.time-plot-drawer.time-response-expanded .time-plot-help{width:17px;height:17px;font-size:12px}.time-plot-help{flex:0 0 auto;transform:translateY(-1px)}.time-plot-help .parameter-help-tooltip{top:calc(100% + 6px);left:50%;width:210px;max-width:min(210px,calc(100vw - 42px));transform:translate(-50%,-4px)}.time-plot-energy-help .parameter-help-tooltip{width:280px;max-width:min(280px,calc(100vw - 42px));white-space:pre}.time-plot-help:hover .parameter-help-tooltip,.time-plot-help:focus .parameter-help-tooltip{transform:translate(-50%)}.time-plot-choice .time-plot-export{position:relative;width:22px;height:22px;margin-left:auto;margin-right:30px;border:0;appearance:none;background:transparent;box-shadow:none;padding:0}.time-plot-choice .time-plot-export:disabled{cursor:default;opacity:.28}.time-plot-export-menu{position:absolute;top:34px;right:44px;z-index:2;display:grid;gap:6px;min-width:168px;border:2px solid #000000;background:#fff;padding:8px}.time-plot-export-menu label{display:flex;align-items:center;gap:7px;color:#000;font-size:13px;font-weight:650;line-height:1;white-space:nowrap}.time-plot-export-menu .time-plot-export-subitem{padding-left:18px}.time-plot-export-menu input{width:12px;height:12px;margin:0;accent-color:#000000}.time-plot-export-menu button{justify-self:end;border:2px solid #000000;background:#fff;color:#000;cursor:pointer;padding:2px 8px;font-size:13px;font-weight:650}.time-plot-export-icon,.time-plot-export-icon:before,.time-plot-export-icon:after{position:absolute;display:block;content:""}.time-plot-export-icon{right:3px;bottom:3px;width:16px;height:5px;border:2px solid #000000;border-top:0}.time-plot-export-icon:before{left:5px;bottom:5px;width:2px;height:12px;background:#000}.time-plot-export-icon:after{left:2px;bottom:5px;width:8px;height:6px;background:#000;clip-path:polygon(0 0,100% 0,50% 100%)}.time-plot-panel svg{display:block;width:100%;height:calc(100% - 38px)}.time-plot-drawer.time-response-expanded .time-response-plot{height:calc(100% - 54px)}.time-plot-panel .frequency-plot{height:100%}.custom-c-signal-monitor{height:100%;overflow:hidden}.custom-c-signal-content{display:grid;grid-template-columns:132px minmax(0,1fr);height:100%;min-height:0}.custom-c-signal-table{position:relative;min-height:0;border-right:1px solid #000000}.custom-c-signal-list{display:grid;align-content:start;gap:1px;overflow:auto;padding:5px 8px}.custom-c-signal-row{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:4px;min-width:0;border:0;background:transparent;color:#5d5d5d;padding:3px 0;text-align:left}.custom-c-signal-row.selected{color:#000;font-weight:700}.custom-c-signal-row.system-signal .custom-c-signal-name,.custom-c-signal-row.system-signal .custom-c-signal-value{font-family:inherit;font-weight:750}.custom-c-signal-row.custom-signal .custom-c-signal-name,.custom-c-signal-row.custom-signal .custom-c-signal-value{font-family:IBM Plex Mono,Cascadia Mono,monospace}.custom-c-signal-name,.custom-c-signal-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:IBM Plex Mono,Cascadia Mono,monospace;font-size:12.5px}.custom-c-signal-name{color:var(--custom-c-signal-color, #000000)}.custom-c-signal-value{color:var(--custom-c-signal-color, #727272);font-size:12px}.custom-c-signal-add{display:flex;width:calc(100% + 16px);min-height:25px;align-items:center;justify-content:center;margin:5px -8px 0;border:0;border-radius:2px;background:#eee;color:#5e5e5e;cursor:pointer;font-family:inherit;font-size:17px;font-weight:500;line-height:1;padding:0}.custom-c-signal-visibility{position:relative;width:20px;height:16px;border:0;background:transparent;color:var(--custom-c-signal-color, #000000);cursor:pointer;opacity:.38;padding:0}.custom-c-signal-visibility>span{position:absolute;top:3px;left:1px;width:16px;height:10px;box-sizing:border-box;border:1.5px solid currentColor;border-radius:50%/65%}.custom-c-signal-visibility>span:after{position:absolute;top:2px;left:5px;width:4px;height:4px;border-radius:50%;background:currentColor;content:""}.custom-c-signal-visibility.visible{opacity:1}.custom-c-signal-visibility:not(.visible):after{position:absolute;top:7px;left:0;width:18px;height:1.5px;background:currentColor;content:"";transform:rotate(-36deg)}.custom-c-signal-visibility:focus-visible{outline:1px solid #000000;outline-offset:1px}.custom-c-curve-limit-hint{position:absolute;z-index:6;top:calc(100% + 3px);left:-2px;width:118px;box-sizing:border-box;padding:4px 5px;border:1px solid #555555;background:#fff;color:#222;font-family:Arial,sans-serif;font-size:10px;font-style:normal;font-weight:600;line-height:1.25;pointer-events:none;animation:custom-c-curve-limit-hint-in .12s ease-out both}@keyframes custom-c-curve-limit-hint-in{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.custom-c-signal-add.open{background:#dedede;color:#000}.custom-c-signal-picker{position:absolute;z-index:4;top:6px;left:7px;display:grid;gap:7px;width:150px;max-height:calc(100% - 12px);overflow:auto;border:1.5px solid #000000;background:#fff;box-shadow:3px 3px #00000029;padding:7px}.custom-c-signal-picker-group{display:grid;gap:2px}.custom-c-signal-picker-group>span{color:#8a8a8a;font-family:IBM Plex Mono,Cascadia Mono,monospace;font-size:9px;font-weight:700;letter-spacing:.08em}.custom-c-signal-picker-group button{display:grid;grid-template-columns:12px minmax(0,1fr);align-items:center;gap:5px;border:0;background:transparent;color:#222;cursor:pointer;padding:2px 0;text-align:left}.custom-c-signal-picker-group button i{display:inline-flex;align-items:center;justify-content:center;width:10px;height:10px;border:1px solid #999999;border-radius:2px;color:#fff;font-size:8px;font-style:normal}.custom-c-signal-picker-group button.selected i{border-color:#000;background:#000}.custom-c-signal-picker-group button.system-signal{font-family:inherit;font-size:12px;font-weight:750}.custom-c-signal-picker-group button.custom-signal{font-family:IBM Plex Mono,Cascadia Mono,monospace;font-size:11px}.custom-c-signal-value{color:var(--custom-c-signal-color, #727272);font-variant-numeric:tabular-nums}.custom-c-signal-plot{display:block;min-height:0;width:100%;height:100%}.time-plot-panel .custom-c-signal-plot{height:100%}.custom-c-signal-path{stroke-width:2.3;shape-rendering:geometricPrecision}.custom-c-signal-zero-reference{stroke:#747474;stroke-width:1;stroke-dasharray:3 4;vector-effect:non-scaling-stroke}.phase-portrait-plot{overflow:visible}.phase-portrait-title,.phase-axis-label,.phase-axis-tick text,.phase-legend text{fill:#000;font-family:inherit}.phase-portrait-title{font-size:13px;font-weight:850}.phase-axis-label{font-size:10px;font-weight:750}.phase-axis-label-x{text-anchor:end}.phase-axis-tick line,.phase-plot-frame,.phase-grid-axis{fill:none;stroke:#000;vector-effect:non-scaling-stroke}.phase-plot-frame{stroke-width:1.2}.phase-grid-axis{stroke:#b9b9b9;stroke-dasharray:4 4;stroke-width:.9}.phase-axis-tick line{stroke-width:1}.phase-axis-tick text{font-size:8px;text-anchor:middle}.phase-axis-tick-y text{text-anchor:end}.phase-trajectory{fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;vector-effect:non-scaling-stroke}.phase-start-marker{fill:#fff;stroke:#000;stroke-width:1.6;vector-effect:non-scaling-stroke}.phase-current-marker{fill:#000;stroke:#fff;stroke-width:1.4;vector-effect:non-scaling-stroke}.phase-target-marker line,.phase-target-marker circle{fill:none;stroke:#000;stroke-width:1.4;vector-effect:non-scaling-stroke}.phase-target-marker circle{stroke-dasharray:2 2}.phase-legend text{font-size:8px;font-weight:650}.phase-portrait-plot.expanded .phase-portrait-title{font-size:9px}.bode-expand-toggle{position:absolute;top:12px;right:14px;z-index:3;width:22px;height:22px;border:0;appearance:none;background:transparent;box-shadow:none;color:#000;cursor:pointer;padding:0}.time-plot-drawer.time-response-expanded .time-response-expand-toggle{top:23px}.bode-expand-toggle svg{display:block;width:100%;height:100%}.bode-expand-toggle path{fill:none;stroke:#000;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}.bode-guide-toggle{position:absolute;top:13px;right:44px;z-index:3;width:25px;height:20px;border:0;background:transparent;cursor:pointer;opacity:.45;padding:0}.bode-guide-toggle.active{opacity:1}.bode-guide-toggle svg{display:block;width:100%;height:100%}.bode-guide-eye-outline,.bode-guide-eye-slash{fill:none;stroke:#000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.bode-guide-eye-pupil{fill:#000}.bode-history-action{position:absolute;top:13px;z-index:3;width:24px;height:22px;border:0;background:transparent;cursor:pointer;padding:0}.bode-history-record{right:108px}.bode-history-clear{right:78px}.bode-history-action:disabled{cursor:default;opacity:.25}.bode-history-action svg{display:block;width:100%;height:100%}.bode-history-record.recorded{opacity:.35}.bode-history-record path{fill:none;stroke:#000;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.bode-history-record .bode-history-plus{stroke-width:2}.bode-history-clear path{stroke:#000;stroke-linecap:round;stroke-linejoin:round}.bode-history-clear .broom-handle,.bode-history-clear .broom-collar,.bode-history-clear .broom-bristles{fill:#fff;stroke-width:1.5}.plot-axis{vector-effect:non-scaling-stroke}.plot-axis{stroke:#000;stroke-width:1.4}.plot-axis-arrow{fill:#000}.plot-value-tick line{stroke:#000;stroke-width:1;vector-effect:non-scaling-stroke}.plot-value-tick text{fill:#333;font-size:8.5px;font-weight:500;text-anchor:end}.plot-time-tick line{stroke:#000;stroke-width:1;vector-effect:non-scaling-stroke}.plot-time-tick text{fill:#333;font-size:10px;font-weight:500;text-anchor:middle}.plot-line{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.3;vector-effect:non-scaling-stroke}.frequency-line{fill:none;stroke:#000;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.frequency-history-line{fill:none;stroke-width:1.6;stroke-dasharray:5 4;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.bode-history-phase-margin-marker{stroke:none;pointer-events:none}.pole-zero-mode-label{fill:#000;font-size:12px;font-weight:850}.pole-zero-axis-label,.pole-zero-origin{fill:#333;font-size:9px;font-weight:600}.pole-zero-axis-label{font-family:Times New Roman,serif;font-style:italic}.pole-zero-origin{text-anchor:end}.pole-zero-zero{fill:#fff;stroke:#000;stroke-width:1.8;vector-effect:non-scaling-stroke}.pole-zero-pole line{stroke:#000;stroke-width:1.8;stroke-linecap:round;vector-effect:non-scaling-stroke}.pole-zero-multiplicity{fill:#000;font-size:7px;font-weight:750;paint-order:stroke;pointer-events:none;stroke:#fff;stroke-linejoin:round;stroke-width:3px}.pole-zero-marker{cursor:crosshair;outline:none}.pole-zero-hit-area{fill:transparent;stroke:none;pointer-events:all}.pole-zero-tooltip{fill:#000;font-size:9px;font-weight:650;opacity:0;paint-order:stroke;pointer-events:none;stroke:#fff;stroke-linejoin:round;stroke-width:5px}.pole-zero-marker:hover .pole-zero-tooltip,.pole-zero-marker:focus .pole-zero-tooltip,.pole-zero-marker:focus-visible .pole-zero-tooltip{opacity:1}.pole-zero-plot.expanded .pole-zero-mode-choice{transform:translateY(4px)}.pole-zero-plot.expanded .pole-zero-axis-label,.pole-zero-plot.expanded .pole-zero-origin,.pole-zero-plot.expanded .pole-zero-tick text{font-size:7px}.pole-zero-plot.expanded .pole-zero-tooltip{font-size:7.5px}.pole-zero-plot.expanded .pole-zero-multiplicity{font-size:5.5px}.sweep-frequency-point{fill:#fff;stroke:#000;stroke-width:1.4;vector-effect:non-scaling-stroke}.frequency-box{fill:none;stroke:#666;stroke-width:1.3;vector-effect:non-scaling-stroke}.frequency-grid{stroke:#777;stroke-dasharray:1.4 5;stroke-linecap:round;stroke-width:1;vector-effect:non-scaling-stroke}.frequency-grid.minor{opacity:.55}.frequency-reference-line{stroke:#000;stroke-dasharray:5 5;stroke-width:1.1;vector-effect:non-scaling-stroke}.plot-time-tick line.frequency-grid,.plot-value-tick line.frequency-grid{stroke:#777;stroke-dasharray:1.4 5;stroke-linecap:round;stroke-width:1}.frequency-title{font-size:14px;font-weight:850}.bode-loop-choice text{cursor:pointer;fill:#000;font-size:12px;font-weight:500;font-kerning:none;font-variant-ligatures:none;outline:none;-webkit-user-select:none;user-select:none}.bode-frequency-plot.expanded .bode-loop-choice{transform:translateY(4px)}.bode-frequency-plot.expanded .bode-loop-choice text{font-size:10px}.bode-frequency-plot.expanded .plot-time-tick text{font-size:8px}.bode-frequency-plot.expanded .frequency-x-axis-label{font-size:8.5px}.bode-frequency-plot.expanded .frequency-box{stroke-width:2.9}.bode-loop-choice text:focus,.bode-loop-choice text:focus-visible{outline:none}.bode-loop-choice text.active{font-weight:850}.bode-loop-separator{stroke:#777;stroke-width:.8;vector-effect:non-scaling-stroke}.bode-ideal-help{cursor:help;outline:none}.bode-frequency-plot.expanded .bode-ideal-help{transform:translateY(4px)}.bode-frequency-plot.expanded .bode-ideal-help>circle{r:5px}.bode-frequency-plot.expanded .bode-ideal-help-mark{font-size:7px}.bode-ideal-help>circle{fill:#fff;stroke:#aaa;stroke-width:1}.bode-ideal-help-mark{fill:#8a8a8a;font-size:10px;font-weight:700;pointer-events:none}.bode-ideal-help-tooltip{opacity:0;pointer-events:none;transition:opacity .12s ease}.bode-ideal-help:hover .bode-ideal-help-tooltip,.bode-ideal-help:focus .bode-ideal-help-tooltip,.bode-ideal-help:focus-within .bode-ideal-help-tooltip{opacity:1}.bode-ideal-help-tooltip rect{fill:#fff;stroke:#bbb;stroke-width:1}.bode-ideal-help-tooltip text{fill:#444;font-size:12px;font-weight:500}.bode-frequency-plot.expanded .bode-ideal-help-tooltip text{font-size:6px}.frequency-axis-label{font-size:10.5px;font-style:normal;font-weight:750}.frequency-axis-variable{font-style:italic}.frequency-axis-exponent{font-size:7px}.bode-frequency-plot.expanded .frequency-axis-exponent{font-size:6px}.bode-crossover-marker line{stroke:#000;stroke-dasharray:4 4;stroke-width:1.2;vector-effect:non-scaling-stroke}.bode-crossover-marker circle{fill:#fff;stroke:#000;stroke-width:1.2;vector-effect:non-scaling-stroke}.bode-crossover-marker .bode-crossover-hit-area{fill:transparent;stroke:none;pointer-events:all}.bode-crossover-tooltip{display:none;fill:#000;font-size:8.5px;font-weight:750;paint-order:stroke;pointer-events:none;stroke:#fff;stroke-linejoin:round;stroke-width:3}.bode-crossover-point:hover .bode-crossover-tooltip,.bode-crossover-point.pinned .bode-crossover-tooltip{display:block}.bode-resonance-marker>circle:not(.bode-resonance-hit-area){fill:#fff;stroke:#000;stroke-width:1.2;vector-effect:non-scaling-stroke}.bode-resonance-hit-area{fill:transparent;stroke:none;pointer-events:all}.bode-resonance-tooltip{display:none;fill:#000;font-size:8.5px;font-weight:750;paint-order:stroke;pointer-events:none;stroke:#fff;stroke-linejoin:round;stroke-width:3}.bode-resonance-marker:hover .bode-resonance-tooltip,.bode-resonance-marker.pinned .bode-resonance-tooltip{display:block}.frequency-x-axis-label,.frequency-y-axis-label{text-anchor:middle}.plot-target-line{fill:none;stroke-dasharray:7 6;stroke-width:1.8;vector-effect:non-scaling-stroke}.plot-target-line.sine-target{stroke-dasharray:1.4 5;stroke-linecap:round}.plot-rise-time-marker circle,.plot-overshoot-marker circle,.plot-settling-marker circle{fill:#000}.plot-rise-time-marker text,.plot-overshoot-marker text,.plot-settling-marker text{fill:#000;font-size:11px;font-weight:650;paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round}.plot-damped-frequency-marker line{stroke:#000;stroke-width:1.2;vector-effect:non-scaling-stroke}.plot-damped-frequency-marker{cursor:pointer;outline:none}.plot-damped-frequency-marker:focus,.plot-damped-frequency-marker:focus-visible{outline:none}.plot-damped-frequency-marker polygon{fill:#000}.plot-damped-frequency-marker text{fill:#000;font-size:10px;font-weight:650;paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round;text-anchor:middle}.displacement-line{stroke:#000}.velocity-line{stroke:#8b1e1e}.force-line{stroke:#225f5f}.disturbance-line{stroke:#4f6d2f}.error-line{stroke:#6b4f82}.proportional-line{color:#111;stroke:#111}.integral-line{color:#8b1e1e;stroke:#8b1e1e}.derivative-line{color:#225f5f;stroke:#225f5f}.kinetic-energy-line{color:#111;stroke:#111}.elastic-energy-line{color:#9a2f2f;stroke:#9a2f2f}.mechanical-energy-line{stroke:#222}.plot-value-label,.plot-time-label{fill:#333;font-size:11px;font-weight:600}.plot-energy-label,.plot-pid-label{fill:currentColor;font-size:11px;font-weight:650;paint-order:stroke;stroke:#fff;stroke-linejoin:round;stroke-width:2px}.plot-time-label{text-anchor:end}.time-response-plot.expanded .plot-value-tick text{font-size:7px}.time-response-plot.expanded .plot-time-tick text{font-size:8px}.time-response-plot.expanded .plot-value-label,.time-response-plot.expanded .plot-time-label,.time-response-plot.expanded .plot-rise-time-marker text,.time-response-plot.expanded .plot-overshoot-marker text,.time-response-plot.expanded .plot-settling-marker text,.time-response-plot.expanded .plot-damped-frequency-marker text{font-size:8.5px}.time-response-plot.expanded .plot-energy-label,.time-response-plot.expanded .plot-pid-label{font-size:9px}.time-response-plot.expanded .plot-energy-label tspan{font-size:5.5px}@media(max-width:1000px){.control-panel{width:280px}}@media(max-width:620px){.control-panel,.readout-panel{padding-left:14px;padding-right:14px}.control-panel{width:100%}.input-grid{width:240px}}.pwa-install-prompt{display:none}@media(max-width:820px){:root{--plot-drawer-height: min(62dvh, 520px);--usage-info-panel-width: min(350px, calc(100vw - 28px) )}html,body,#root{height:auto;min-height:100%;overflow-x:hidden;overflow-y:auto;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{min-width:0;overscroll-behavior-y:contain}.app-shell{height:100dvh;min-height:100dvh}.app-shell.main-entered{display:flex;flex-direction:column;height:auto;min-height:100dvh;overflow:visible;padding-top:calc(48px + env(safe-area-inset-top));padding-bottom:calc(60px + env(safe-area-inset-bottom))}.main-entered .control-panel{position:relative;z-index:30;width:100%;flex:0 0 auto;padding:10px 14px 18px;background:#fff;transform:none}.runtime-number-field input{font-size:15px}.runtime-label,.number-field,.pole-row,.option-field,.output-flip-button,.pid-loop-card-heading,.number-field input,.pole-field-inputs input,.button-row button{font-size:13px}.number-field small,.runtime-unit{font-size:11px}.transfer-card .transfer-function{font-size:17px}.transfer-card .model-equation-view{font-size:20px}.transfer-card .closed-loop-equation{font-size:18px}.transfer-card .state-equation{font-size:16px}.transfer-card .state-equation-closed-loop{font-size:14px}.main-entered .model-representation-tabs{position:relative;top:auto;left:auto;z-index:8;display:flex;width:100%;flex:0 0 auto;padding:0 8px;transform:none}.model-representation-tab{width:33.333%;min-width:0;height:38px;padding:0 4px 5px;font-size:11px}.main-entered .transfer-card{position:relative;top:auto;left:auto;z-index:6;display:flex;width:100%;min-width:0;min-height:116px;flex:0 0 auto;align-items:flex-start;justify-content:flex-start;overflow-x:auto;overflow-y:hidden;padding:12px 16px 18px;background:#fff;transform:none;scrollbar-width:thin;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.main-entered .transfer-card.custom-c-mode{overflow:visible;padding:12px 14px 18px}.custom-c-editor{width:calc(100vw - 28px);min-width:0;height:270px}.custom-c-editor textarea{font-size:var(--custom-c-code-font-size)}.transfer-card>*{margin-right:auto;margin-left:auto;flex:0 0 auto}.transfer-card .transfer-function,.transfer-card .model-equation-view{max-width:none}.dual-loop-transfer-diagram,.dual-loop-transfer-diagram.closed-loop,.lead-lag-transfer-diagram,.lead-lag-transfer-diagram.closed-loop{width:720px}.main-entered .controller-menu{position:relative;top:auto;right:auto;left:auto;z-index:20;align-self:flex-end;flex:0 0 70px;margin:0 18px 18px 0;transform:none}.main-entered .road-scene{position:relative;inset:auto;z-index:3;width:100%;height:clamp(220px,55vw,340px);min-height:220px;flex:0 0 auto;border-top:1px solid #dddddd;border-bottom:1px solid #dddddd}.main-entered .readout-panel{position:fixed;right:0;bottom:0;left:0;z-index:61;display:flex;width:100%;height:calc(52px + env(safe-area-inset-bottom));align-items:center;justify-content:space-evenly;gap:6px;padding:0 8px env(safe-area-inset-bottom);border-top:2px solid #000000;background:#fff;transform:none}.main-entered .readout-panel.phase-portrait-enabled{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));justify-content:normal}.main-entered .readout-panel.plot-open,.main-entered .readout-panel.plot-open.bode-expanded{transform:translateY(calc(-1 * var(--plot-drawer-height)))}.response-tab{min-height:44px;padding:0 6px;font-size:clamp(13px,3.8vw,16px)}.time-plot-drawer{inset:auto 0 0;z-index:60;width:100%;height:var(--plot-drawer-height);transform:translateY(100%)}.time-plot-drawer.open{transform:translateY(0)}.time-plot-drawer.bode-expanded{inset:0;width:100%;height:100dvh}.time-plot-panel,.time-plot-drawer.bode-expanded .time-plot-panel{border-right:0;border-bottom:0}.time-plot-choice,.time-plot-drawer.time-response-expanded .time-plot-choice{gap:12px;min-width:max-content;height:48px;overflow-x:auto;padding:8px 54px 0 12px;scrollbar-width:none}.time-plot-choice::-webkit-scrollbar{display:none}.time-plot-option,.time-plot-drawer.time-response-expanded .time-plot-option{gap:4px;flex:0 0 auto}.time-plot-option.pid-option,.time-plot-option.disturbance-option,.time-plot-drawer.time-response-expanded .time-plot-option.pid-option,.time-plot-drawer.time-response-expanded .time-plot-option.disturbance-option{margin-left:0}.time-plot-option>button,.time-plot-drawer.time-response-expanded .time-plot-option>button{min-height:36px;font-size:13px}.time-plot-panel svg,.time-plot-drawer.time-response-expanded .time-response-plot{height:calc(100% - 48px)}.time-plot-choice .time-plot-export{margin-right:0}.time-plot-export-menu{right:10px;max-width:calc(100vw - 20px)}.bode-expand-toggle{top:13px;right:12px;width:26px;height:26px}.more-menu{top:calc(17px + env(safe-area-inset-top));right:112px}.account-access-menu{top:calc(17px + env(safe-area-inset-top));right:152px}.account-access-menu:not(:has(.account-engineer-avatar)){top:calc(13px + env(safe-area-inset-top))}.account-access-menu:has(.account-engineer-avatar){top:calc(13px + env(safe-area-inset-top))}.account-access-trigger{min-height:30px;font-size:11px}.language-toggle{top:calc(17px + env(safe-area-inset-top));right:62px;min-width:40px;min-height:30px}.music-toggle{top:calc(11px + env(safe-area-inset-top));right:14px;width:36px;height:36px}.more-menu-trigger{min-width:44px;min-height:30px}.more-menu-dropdown,.model-info-panel,.usage-info-panel,.author-contact-panel{max-width:calc(100vw - 28px)}.parameter-help-tooltip,.start-risk-tooltip{max-width:calc(100vw - 28px);white-space:normal}.pwa-install-prompt{position:fixed;right:12px;bottom:calc(64px + env(safe-area-inset-bottom));left:12px;z-index:70;display:flex;min-height:52px;align-items:center;gap:10px;border:2px solid #000000;background:#fff;padding:7px 8px 7px 12px;color:#000;box-shadow:3px 3px #0000002e;font-size:13px;font-weight:650}.pwa-install-prompt>span{min-width:0;flex:1 1 auto}.pwa-install-button{min-width:58px;min-height:36px;flex:0 0 auto;border:2px solid #000000;background:#000;color:#fff;cursor:pointer;padding:5px 10px;font-weight:750}.pwa-install-dismiss{width:36px;height:36px;flex:0 0 36px;border:0;background:transparent;color:#000;cursor:pointer;padding:0;font-size:24px;line-height:1}}@media(max-width:430px){:root{--plot-drawer-height: min(58dvh, 470px)}.app-shell.main-entered{padding-top:calc(44px + env(safe-area-inset-top));padding-bottom:calc(54px + env(safe-area-inset-bottom))}.main-entered .control-panel{gap:8px;padding:8px 12px 14px}.runtime-number-field input{font-size:14px}.runtime-label,.number-field,.pole-row,.option-field,.output-flip-button,.pid-loop-card-heading,.number-field input,.pole-field-inputs input,.button-row button{font-size:12px}.number-field small,.runtime-unit{font-size:10px}.button-row button{min-width:70px;min-height:36px;padding:5px 8px}.parameter-help-tooltip,.start-risk-tooltip,.derivative-filter-tooltip{font-size:11px}.main-entered .model-representation-tabs{padding:0 6px}.model-representation-tab{height:34px;font-size:10px}.main-entered .transfer-card{min-height:100px;padding:9px 12px 14px}.transfer-card .transfer-function{font-size:15px}.transfer-card .model-equation-view{min-height:70px;font-size:18px}.transfer-card .closed-loop-equation{font-size:16px}.transfer-card .state-equation{font-size:14px}.transfer-card .state-equation-closed-loop{font-size:12px}.main-entered .road-scene{height:clamp(210px,54vw,240px);min-height:210px}.main-entered .readout-panel{height:calc(48px + env(safe-area-inset-bottom));gap:2px;padding-right:4px;padding-left:4px}.response-tab{min-height:40px;padding-right:4px;padding-left:4px;font-size:12px}.time-plot-choice,.time-plot-drawer.time-response-expanded .time-plot-choice{gap:9px;height:44px;padding:6px 48px 0 10px}.time-plot-option>button,.time-plot-drawer.time-response-expanded .time-plot-option>button{min-height:34px;font-size:12px}.time-plot-panel svg,.time-plot-drawer.time-response-expanded .time-response-plot{height:calc(100% - 44px)}.pwa-install-prompt{right:10px;bottom:calc(58px + env(safe-area-inset-bottom));left:10px;min-height:48px;gap:7px;padding:6px 6px 6px 10px;font-size:12px}.pwa-install-button{min-width:52px;min-height:34px;padding:4px 8px;font-size:12px}.pwa-install-dismiss{width:34px;height:34px;flex-basis:34px;font-size:21px}}.custom-c-registration-backdrop{position:fixed;z-index:10000;inset:0;display:grid;place-items:center;padding:18px;background:#ffffffc7;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.custom-c-registration-modal{position:relative;width:min(410px,100%);border:2px solid #000000;background:#fff;box-shadow:8px 8px #00000029;padding:23px 24px 17px;color:#000}.custom-c-registration-kicker{display:inline-block;border:1px solid #000000;padding:2px 6px;font-family:Courier New,monospace;font-size:10px;font-weight:700;letter-spacing:.08em}.custom-c-registration-modal h2{margin:13px 0 6px;font-size:22px;line-height:1.2}.custom-c-registration-modal p{margin:0 0 18px;color:#555;font-size:13px;line-height:1.55}.custom-c-registration-modal label{display:block;margin-bottom:6px;font-size:12px;font-weight:700}.custom-c-registration-modal input{box-sizing:border-box;width:100%;height:40px;border:1.5px solid #000000;border-radius:0;background:#fff;color:#000;padding:0 10px;font:14px/1.2 Courier New,monospace;outline:none}.custom-c-registration-modal input:focus{box-shadow:none}.custom-c-email-input-wrap{position:relative}.custom-c-email-input-wrap input{padding-right:104px}.custom-c-registration-send{position:absolute;top:0;right:0;bottom:0;min-width:94px;border:0;border-left:1.5px solid #000000;background:#000;color:#fff;cursor:pointer;padding:0 8px;font:12px/1 Courier New,monospace;font-weight:700}.custom-c-registration-send:disabled{cursor:default;background:#b5b5b5;color:#fff}.custom-c-email-suggestions{position:absolute;top:calc(100% + 2px);right:0;left:0;z-index:3;overflow:hidden;border:1.5px solid #000000;background:#fff;box-shadow:3px 3px #00000029}.custom-c-email-suggestions button{display:block;width:100%;border:0;border-bottom:1px solid #dddddd;background:#fff;color:#111;cursor:pointer;padding:8px 11px;font:14px/1.2 Courier New,monospace;text-align:left}.custom-c-email-suggestions button:last-child{border-bottom:0}.custom-c-email-suggestions button:hover,.custom-c-email-suggestions button:focus-visible{background:#eee;outline:none}.custom-c-registration-submit{width:100%;min-height:40px;margin-top:13px;border:2px solid #000000;border-radius:0;background:#000;color:#fff;cursor:pointer;font-size:13px;font-weight:700}.custom-c-registration-submit:hover{background:#333}.custom-c-registration-close{position:absolute;top:7px;right:9px;width:28px;height:28px;border:0;background:transparent;color:#000;cursor:pointer;font-size:24px;line-height:1}.custom-c-registration-error{margin:6px 0 -8px!important;color:#a40000!important;font-size:12px!important}.custom-c-registration-note{margin:10px 0 0!important;color:#888!important;font-size:11px!important}.classroom-entry{width:100%;height:100%;min-height:100vh;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;background:#f7f7f4}.entry-card{border:0;padding:clamp(32px,5vw,84px);background:#f7f7f4;color:#111;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;text-align:left;transition:background .22s ease,color .22s ease}.entry-card+.entry-card{border-left:1px solid #161616}.entry-card:hover{background:#111;color:#fff}.entry-card span{font:700 12px/1 Lucida Console,monospace;opacity:.55}.entry-card strong{font:700 clamp(74px,13vw,180px)/1 Georgia,"Times New Roman",serif;letter-spacing:-.08em}.entry-card i{font:700 13px/1 Arial,sans-serif;font-style:normal;letter-spacing:.03em}.classroom-catalog{position:relative;min-height:100vh;display:grid;place-items:center;overflow:hidden;background:#f7f7f4;color:#111}.catalog-back{position:absolute;top:28px;left:34px;border:0;padding:0;background:transparent;color:#777;font:700 12px/1 Arial,sans-serif;cursor:pointer}.catalog-back:hover{color:#111}.course-coming-soon-card{width:min(640px,calc(100% - 48px));min-height:310px;box-sizing:border-box;padding:42px;border:1.5px solid #171717;background:#fff;display:grid;align-content:center;gap:18px;box-shadow:12px 12px #e1e1da}.course-coming-soon-card span{color:#777;font:700 10px/1 Lucida Console,monospace;letter-spacing:.12em}.course-coming-soon-card strong{font:700 clamp(48px,7vw,84px)/1 Georgia,"Times New Roman",serif;letter-spacing:-.07em}.course-coming-soon-card p{max-width:310px;margin:0;color:#666;font:14px/1.7 Arial,Microsoft YaHei,sans-serif}.slide-editor-shell{width:100%;height:100%;min-height:100vh;overflow:hidden;background:#ecece8;color:#111;display:grid;grid-template-columns:72px minmax(0,1fr) 236px;grid-template-rows:56px minmax(0,1fr);font-family:Arial,Microsoft YaHei,sans-serif}.slide-editor-header{grid-column:1 / -1;border-bottom:1px solid #bcbcb7;background:#fafaf8;display:flex;align-items:center;padding:0 18px;gap:22px;z-index:2}.editor-logo{border:0;padding:0;background:transparent;color:#111;font:800 16px/1 Georgia,serif;cursor:pointer;white-space:nowrap}.editor-title-input{width:min(430px,34vw);border:0;border-left:1px solid #d2d2cc;padding:0 18px;background:transparent;color:#444;font:700 13px/1 Arial,sans-serif;outline:0}.editor-header-actions{margin-left:auto;display:flex;gap:12px}.editor-header-actions button{border:1px solid #111;padding:8px 14px;background:#fff;color:#111;font-size:12px;font-weight:800;cursor:pointer}.editor-header-actions .editor-publish{background:#111;color:#fff}.slide-toolbar{grid-row:2;border-right:1px solid #bcbcb7;background:#fafaf8;padding-top:20px;display:flex;flex-direction:column;align-items:center;gap:13px}.slide-toolbar>span{margin-bottom:4px;color:#777;font:700 9px/1 monospace;letter-spacing:.1em}.slide-toolbar button{width:49px;height:49px;border:1px solid transparent;background:transparent;color:#222;cursor:pointer;font:23px/1 Georgia,serif;display:grid;place-content:center;gap:3px}.slide-toolbar button:hover{border-color:#111;background:#fff}.slide-toolbar button span{font:9px/1 Arial,sans-serif}.slide-image-input{display:none}.slide-pages{grid-row:2;overflow-y:auto;border-right:1px solid #bcbcb7;background:#f7f7f4;padding:17px 12px}.slide-pages-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px;padding:0 5px;font-size:11px;font-weight:800}.slide-pages-head button{border:0;background:transparent;font-size:19px;cursor:pointer}.slide-thumbnail{width:100%;height:90px;margin-bottom:12px;padding:10px;border:1px solid #d0d0ca;background:#fff;color:#666;text-align:left;cursor:pointer;display:grid;align-content:space-between}.slide-thumbnail.active{border:2px solid #111;color:#111}.slide-thumbnail b{font:700 10px/1 monospace}.slide-thumbnail span{font:700 10px/1.35 Arial,sans-serif}.slide-workspace{grid-column:2;grid-row:2;min-width:0;min-height:0;overflow:hidden;padding:27px 24px 10px;display:flex;flex-direction:column;align-items:center;position:relative}.slide-workspace-tools{position:absolute;top:9px;right:16px;display:flex;gap:18px;color:#777;font:700 10px/1 monospace}.slide-canvas{width:min(100%,1450px);max-height:calc(100% - 78px);flex:1 1 auto;aspect-ratio:16 / 9;position:relative;overflow:hidden;background:#fff;box-shadow:0 12px 35px #0000001f;touch-action:none}.slide-element{position:absolute;box-sizing:border-box;cursor:grab;-webkit-user-select:none;user-select:none}.slide-element:active{cursor:grabbing}.slide-element.selected{outline:1.5px solid #1683ff}.slide-element-handle{position:absolute;right:-5px;bottom:-5px;width:9px;height:9px;border:1px solid #1683ff;background:#fff}.slide-element-content{display:block;width:100%;height:100%;outline:none}.slide-element-content[contenteditable=true]{cursor:text;-webkit-user-select:text;user-select:text}.slide-element-text{padding:4px;font-family:Georgia,serif;font-weight:700;letter-spacing:-.055em}.slide-element-formula{padding:16px;border-top:1px solid currentColor;border-bottom:1px solid currentColor;font-family:Georgia,serif;font-style:italic;text-align:center}.slide-element-shape{padding:17px;border-left:4px solid #111;background:#efefea;color:#333;font-size:clamp(11px,1.15vw,17px);font-weight:700;line-height:1.5}.slide-element-axis{overflow:visible}.canvas-axis-preview{width:100%;height:100%;position:relative;color:#111}.axis-x-line,.axis-y-line{position:absolute;background:currentColor}.axis-x-line{left:10%;right:5%;bottom:13%;height:2px}.axis-x-line:after{content:"";position:absolute;right:-1px;top:-4px;border-width:5px 0 5px 9px;border-style:solid;border-color:transparent transparent transparent currentColor}.axis-y-line{left:10%;top:8%;bottom:13%;width:2px}.axis-y-line:after{content:"";position:absolute;left:-4px;top:-1px;border-width:0 5px 9px;border-style:solid;border-color:transparent transparent currentColor}.axis-x-label{position:absolute;right:1%;bottom:0;font:italic 16px/1 Georgia,serif}.axis-y-label{position:absolute;left:0;top:3%;font:italic 16px/1 Georgia,serif}.axis-function{position:absolute;left:10%;right:5%;bottom:13%;width:85%;height:75%;fill:none;stroke:#118a7e;stroke-width:2;pointer-events:none}.axis-resize-handle{position:absolute;z-index:3;width:10px;height:10px;border:1px solid #1683ff;background:#fff}.axis-resize-x{right:3%;bottom:calc(13% - 5px);cursor:ew-resize}.axis-resize-y{left:calc(10% - 5px);top:calc(8% - 5px);cursor:ns-resize}.canvas-simulation-preview{width:100%;height:100%;border:1.5px solid #111;background:#fbfbf9;display:grid;grid-template-rows:auto 1fr auto;padding:12px;box-sizing:border-box;color:#333}.canvas-simulation-preview>span{font:700 10px/1 monospace;letter-spacing:.08em}.canvas-sim-scene{position:relative;min-height:70px;margin:6px 0;border-bottom:2px solid #151515;overflow:hidden}.canvas-sim-scene i{position:absolute;left:9%;top:17%;width:5px;height:66%;border-right:2px solid #111;background:repeating-linear-gradient(45deg,#111 0 1px,transparent 1px 5px)}.canvas-sim-scene b{position:absolute;left:11%;top:51%;width:48%;border-top:2px dashed #111}.canvas-sim-scene em{position:absolute;left:60%;top:24%;width:44px;height:44px;border:2px solid #111;background:#efefea;font:italic 20px/40px Georgia,serif;text-align:center}.canvas-simulation-preview svg{position:absolute;right:18px;bottom:43px;width:37%;fill:none;stroke:#0d8d80;stroke-width:3}.canvas-simulation-preview button{justify-self:end;border:1px solid #111;padding:5px 7px;background:#fff;font-size:9px;font-weight:800;cursor:pointer}.slide-pages-bottom{flex:0 0 68px;align-self:stretch;width:100%;margin-top:10px;padding:0;overflow-x:auto;border:0;background:transparent;display:flex;gap:8px}.slide-pages-bottom .slide-thumbnail{flex:0 0 108px;height:61px;margin:0;padding:3px;position:relative;overflow:hidden}.slide-thumbnail>b{position:absolute;left:4px;top:3px;z-index:1;font-size:8px}.slide-thumbnail-preview{width:100%;height:100%;position:relative;overflow:hidden;background:#fff}.thumbnail-element{position:absolute;display:block;min-width:1px;min-height:1px;opacity:.9}.thumbnail-element.text,.thumbnail-element.formula{height:2px!important}.thumbnail-element.shape{background:#e4e4de}.thumbnail-element.simulation{border:1px solid #222;box-sizing:border-box}.thumbnail-element.axis{border-left:1px solid #222;border-bottom:1px solid #222;box-sizing:border-box}.slide-add-page{align-items:center;justify-content:center;font:28px/1 Arial,sans-serif}.slide-inspector{grid-column:3;grid-row:2;overflow-y:auto;border-left:1px solid #bcbcb7;background:#fafaf8;padding:20px 16px;display:grid;align-content:start;gap:13px}.inspector-label{color:#777;font:700 10px/1 monospace;letter-spacing:.1em}.slide-inspector>strong{font:700 17px/1 Georgia,serif}.slide-inspector label{display:grid;gap:6px;color:#666;font-size:11px;font-weight:700}.slide-inspector textarea,.slide-inspector select,.slide-inspector input{width:100%;box-sizing:border-box;border:1px solid #bbb;padding:8px;background:#fff;color:#222;font:12px/1.35 Arial,sans-serif;outline:0}.slide-inspector textarea{min-height:74px;resize:vertical}.inspector-position,.inspector-text-style{display:grid;grid-template-columns:1fr 1fr;gap:9px}.inspector-theme-colors{display:grid;gap:7px;color:#666;font-size:11px;font-weight:700}.inspector-theme-colors>div{display:flex;flex-wrap:wrap;gap:5px}.inspector-theme-colors button{width:18px;height:18px;border:1px solid transparent;cursor:pointer}.inspector-theme-colors button.active{outline:2px solid #111;outline-offset:1px}.inspector-color{width:18px!important;height:18px;padding:0!important;border:0!important;cursor:pointer}.axis-hint{margin:0;color:#777;font-size:11px;line-height:1.45}.inspector-lab,.inspector-delete{border:1px solid #111;padding:9px;background:#fff;color:#111;font-size:11px;font-weight:800;cursor:pointer}.inspector-delete{border-color:#aaa;color:#777}.slide-inspector>p{color:#777;font-size:12px;line-height:1.5}.classroom-shell{height:100%;min-height:100vh;overflow-x:hidden;overflow-y:auto;background:#f7f7f4;color:#121212;font-family:Arial,Microsoft YaHei,sans-serif}.classroom-topbar{height:72px;padding:0 clamp(26px,5vw,82px);border-bottom:1px solid #d7d7d1;background:#f7f7f4eb;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.classroom-wordmark{border:0;padding:0;color:#111;background:transparent;font:800 18px/1 Georgia,Times New Roman,serif;letter-spacing:-.03em;cursor:pointer}.classroom-beta,.classroom-kicker,.lesson-kicker,.lesson-outline-eyebrow,.block-label,.experience-copy>span{font-size:10px;font-weight:800;letter-spacing:.13em}.classroom-beta{color:#777}.classroom-hero{max-width:820px;margin:0 auto;padding:clamp(70px,12vh,136px) 28px 50px;text-align:center}.classroom-kicker,.lesson-kicker,.block-label{color:#696969}.classroom-hero h1{margin:16px 0;font:700 clamp(40px,6vw,76px)/1.02 Georgia,"Times New Roman",serif;letter-spacing:-.06em}.classroom-hero p{max-width:570px;margin:0 auto;color:#5f5f5a;font-size:17px;line-height:1.75}.experience-grid{width:min(1120px,calc(100% - 48px));margin:0 auto;padding-bottom:88px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.experience-card{min-height:480px;padding:23px;border:1.5px solid #171717;color:#111;background:#fff;text-align:left;cursor:pointer;display:grid;grid-template-rows:auto 1fr auto auto;transition:transform .18s ease,box-shadow .18s ease}.experience-card:hover{transform:translateY(-5px);box-shadow:8px 8px #171717}.experience-index{font:700 12px/1 monospace;color:#777}.experience-visual{margin:27px 0 18px;position:relative;overflow:hidden}.classroom-visual{min-height:210px;padding:30px;background:#f2f2ed}.paper-line{display:block;width:87%;height:7px;margin:11px 0;background:#c5c5bd}.paper-line.short{width:42%;background:#151515}.paper-equation{display:block;margin-top:28px;font:italic 22px/1.2 Georgia,serif}.paper-panel{position:absolute;right:-20px;bottom:-25px;width:155px;height:90px;border:2px solid #111;background:#fff;transform:rotate(-6deg)}.lab-visual{min-height:210px;background:linear-gradient(154deg,#f3f3ed 0 49%,#141414 49.5% 50.5%,#f3f3ed 51%)}.lab-wall{position:absolute;left:30px;top:50px;width:12px;height:100px;background:repeating-linear-gradient(45deg,#111 0 2px,transparent 2px 7px);border-right:3px solid #111}.lab-spring{position:absolute;left:42px;top:95px;width:190px;border-top:3px dashed #111;transform:skew(-18deg)}.lab-mass{position:absolute;left:220px;top:66px;width:61px;height:61px;border:3px solid #111;background:#fff}.lab-visual svg{position:absolute;right:16px;bottom:11px;width:210px;height:70px;fill:none;stroke:#0d8d80;stroke-width:3}.experience-copy h2{margin:7px 0 8px;font:700 33px/1 Georgia,serif;letter-spacing:-.04em}.experience-copy p{max-width:360px;margin:0;color:#666;font-size:14px;line-height:1.6}.experience-action{margin-top:24px;padding-top:16px;border-top:1px solid #d6d6d0;font-size:14px;font-weight:800;display:flex;justify-content:space-between}.experience-action b{font-size:20px;line-height:.7}.classroom-top-actions{display:flex;gap:22px}.classroom-top-actions button,.return-to-classroom{border:0;padding:0;background:transparent;color:#222;font:700 13px/1 Arial,sans-serif;cursor:pointer}.classroom-top-actions button:hover{text-decoration:underline;text-underline-offset:5px}.return-to-classroom{position:fixed;top:24px;right:242px;z-index:9600;color:#777}.lesson-layout{width:min(1180px,calc(100% - 48px));margin:0 auto;display:grid;grid-template-columns:240px minmax(0,720px);gap:clamp(40px,9vw,130px);padding:72px 0 120px}.lesson-outline{align-self:start;position:sticky;top:112px;display:grid;gap:6px}.lesson-outline>strong{margin:8px 0 18px;font:700 20px/1.25 Georgia,serif}.lesson-outline button{padding:10px 0;border:0;border-left:2px solid transparent;background:transparent;text-align:left;color:#777;font:13px/1.35 Arial,sans-serif;cursor:pointer}.lesson-outline button.active{padding-left:10px;border-left-color:#111;color:#111;font-weight:800}.lesson-progress{margin-top:25px;color:#777;font:12px/1 Arial,sans-serif}.lesson-progress span{display:inline-block;width:38px;margin-right:7px;border-top:2px solid #111;vertical-align:middle}.lesson-document h1{margin:12px 0 20px;font:700 clamp(42px,5vw,63px)/1.05 Georgia,serif;letter-spacing:-.055em}.lesson-document h2{margin:48px 0 14px;font:700 29px/1.15 Georgia,serif;letter-spacing:-.035em}.lesson-document p{color:#484844;font-size:16px;line-height:1.8}.lesson-lead{max-width:680px;font-size:19px!important}.lesson-callout{margin:35px 0;padding:18px 20px;border-left:3px solid #111;background:#eaeae4;display:grid;gap:5px}.lesson-callout strong{font-size:13px}.lesson-callout span{color:#555;font-size:14px}.lesson-equation{margin:24px 0;padding:25px;border:1px solid #d4d4cf;background:#fff;text-align:center;font:italic 27px/1.3 Georgia,serif}.lesson-simulation-block{margin:26px 0 36px;border:1.5px solid #151515;background:#fff;box-shadow:6px 6px #d7d7d1}.simulation-block-head{min-height:70px;padding:15px 18px;border-bottom:1px solid #d8d8d2;display:flex;align-items:center;justify-content:space-between;gap:15px}.simulation-block-head h3{margin:4px 0 0;font:700 18px/1 Georgia,serif}.simulation-block-head button{border:1px solid #111;padding:8px 10px;background:#fff;color:#111;font-size:11px;font-weight:800;cursor:pointer}.simulation-stage{height:160px;position:relative;overflow:hidden;background:repeating-linear-gradient(0deg,#fafaf8,#fafaf8 30px,#f2f2ed 31px)}.simulation-wall{position:absolute;left:55px;top:35px;width:13px;height:91px;border-right:3px solid #151515;background:repeating-linear-gradient(45deg,#151515 0 2px,transparent 2px 8px)}.simulation-spring{position:absolute;left:68px;top:76px;width:calc(230px + var(--sim-shift));display:flex;align-items:center}.simulation-spring i{width:38px;height:23px;border-top:2px solid #111;border-right:2px solid #111;transform:rotate(45deg) skew(-10deg)}.simulation-damper{position:absolute;left:75px;top:113px;width:calc(195px + var(--sim-shift));height:18px;border:2px solid #111}.simulation-damper span{position:absolute;left:42%;top:-2px;width:40%;height:18px;border:2px solid #111;background:#fff}.simulation-damper b{position:absolute;right:-4px;top:-9px;width:4px;height:32px;background:#111}.simulation-mass{position:absolute;left:calc(300px + var(--sim-shift));top:52px;width:70px;height:70px;border:3px solid #111;background:#f4f4ef;display:grid;place-items:center;font:italic 27px Georgia,serif;transition:left .18s ease}.simulation-reference{position:absolute;right:34px;top:27px;color:#0d8d80;font:italic 17px Georgia,serif}.simulation-controls{padding:18px;border-top:1px solid #d8d8d2;display:grid;grid-template-columns:1fr 1fr 1.1fr;gap:16px}.simulation-controls label{display:grid;grid-template-columns:1fr auto;gap:7px;font-size:12px}.simulation-controls label span{grid-column:1 / -1;font-weight:700}.simulation-controls input{width:100%;accent-color:#111}.simulation-controls output{color:#777;font-family:monospace}.simulation-observation{padding-left:16px;border-left:1px solid #d8d8d2;display:grid;align-content:center;gap:4px}.simulation-observation span{color:#777;font-size:10px;font-weight:800;letter-spacing:.1em}.simulation-observation strong{font-size:12px;line-height:1.5}.lesson-task{padding:19px 20px;border:1px dashed #777}.lesson-task span{font-size:11px;font-weight:800;letter-spacing:.11em}.lesson-task p{margin:7px 0 0;font-size:14px}@media(max-width:760px){.experience-grid{grid-template-columns:1fr}.classroom-hero{padding-top:70px}.lesson-layout{grid-template-columns:1fr;padding-top:38px}.lesson-outline{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-outline>strong,.lesson-outline-eyebrow,.lesson-progress{grid-column:1 / -1}.simulation-controls{grid-template-columns:1fr}.simulation-observation{padding:12px 0 0;border-top:1px solid #d8d8d2;border-left:0}.return-to-classroom{right:90px}.classroom-top-actions{gap:12px}}.shape-tool{position:relative}.shape-tool-menu{position:absolute;left:54px;top:0;z-index:30;width:126px;padding:7px;border:1px solid #111;background:#fff;display:grid;grid-template-columns:repeat(3,1fr);box-shadow:4px 4px #00000029}.shape-tool-menu button,.shape-tool-menu button:hover{width:36px;height:36px;padding:0;border:0;background:transparent;color:#111;font:21px/1 Arial,sans-serif;display:grid;place-items:center}.shape-tool-menu button:hover{outline:1px solid #111}.slide-element-shape{color:#111}.slide-element-shape.selected{outline:0}.slide-element-shape:has(.slide-element-content){padding:17px;border-left:4px solid #111;background:#efefea;color:#333;font-size:clamp(11px,1.15vw,17px);font-weight:700;line-height:1.5}.slide-element-shape:not(:has(.slide-element-content)){padding:0;border:0;background:transparent}.shape-resize-points{position:absolute;inset:0;pointer-events:none}.shape-resize-point{position:absolute;width:9px;height:9px;box-sizing:border-box;border:1.5px solid #111;border-radius:50%;background:#fff;pointer-events:auto;z-index:4}.shape-resize-point.nw{left:-5px;top:-5px;cursor:nwse-resize}.shape-resize-point.ne{right:-5px;top:-5px;cursor:nesw-resize}.shape-resize-point.sw{left:-5px;bottom:-5px;cursor:nesw-resize}.shape-resize-point.se{right:-5px;bottom:-5px;cursor:nwse-resize}.canvas-shape-svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2}.canvas-shape-svg line,.canvas-shape-svg path{vector-effect:non-scaling-stroke}.canvas-basic-shape{box-sizing:border-box;display:block;width:100%;height:100%;border:2px solid currentColor;background:transparent}.canvas-basic-shape-ellipse{border-radius:50%}.canvas-basic-shape-triangle{clip-path:polygon(50% 0,100% 100%,0 100%);border:0;background:currentColor}.axis-function{stroke:currentColor}.numeric-stepper{display:grid;gap:6px;color:#666;font-size:11px;font-weight:700}.numeric-stepper>div{display:grid;grid-template-columns:30px 1fr 30px;height:32px;border:1px solid #bbb;background:#fff}.numeric-stepper button{border:0;background:#f2f2ef;color:#222;font-size:17px;cursor:pointer}.numeric-stepper output{display:grid;place-items:center;font:12px/1 Arial,sans-serif;color:#222}.inspector-typography{display:grid;grid-template-columns:1fr 1fr;gap:9px}.diagram-tool-menu{width:144px;grid-template-columns:repeat(2,1fr)}.diagram-tool-menu button,.diagram-tool-menu button:hover{width:62px;font-size:13px;font-family:Georgia,serif}.embedded-mck{width:100%;height:100%;box-sizing:border-box;padding:8px;border:1.5px solid #111;background:#fff;display:grid;grid-template-rows:20px 1fr 27px 42px 20px;gap:4px;color:#111}.embedded-mck-head{display:flex;justify-content:space-between;align-items:center;font:700 9px/1 monospace;letter-spacing:.08em}.embedded-mck-head select{border:1px solid #111;background:#fff;font-size:9px}.embedded-mck-scene{position:relative;overflow:hidden;border-bottom:2px solid #111;background:repeating-linear-gradient(0deg,#fff,#fff 17px,#f3f3ef 18px)}.mck-wall{position:absolute;left:9%;top:17%;height:66%;width:5px;border-right:2px solid #111;background:repeating-linear-gradient(45deg,#111 0 1px,transparent 1px 5px)}.mck-spring{position:absolute;left:11%;top:46%;width:43%;border-top:2px dashed #111}.mck-damper{position:absolute;left:11%;top:65%;width:44%;height:9px;border:2px solid #111}.mck-mass{position:absolute;left:58%;top:29%;width:38px;height:38px;border:2px solid #111;background:#f4f4ee;display:grid;place-items:center;font:italic 18px Georgia,serif}.embedded-mck-scene em{position:absolute;right:8%;top:14%;color:#b22;font:italic 15px Georgia,serif}.embedded-mck-controls{display:flex;gap:5px;align-items:center}.embedded-mck-controls label{display:flex;gap:2px;align-items:center;font:8px monospace}.embedded-mck-controls input{width:27px;border:0;border-bottom:1px solid #111;padding:0;font:8px monospace}.embedded-mck-controls button,.embedded-mck-open{border:1px solid #111;background:#fff;padding:3px 5px;font:8px Arial,sans-serif;font-weight:700;cursor:pointer}.embedded-mck-plot{position:relative;border-top:1px solid #ddd}.embedded-mck-plot span{position:absolute;left:0;top:3px;font:italic 9px Georgia,serif}.embedded-mck-plot svg{width:84%;height:100%;margin-left:12%;fill:none;stroke:#111;stroke-width:2}.embedded-mck-open{justify-self:end}.embedded-mck-full-page{padding:22px 34px 26px;border:0;background:#fff;grid-template-rows:34px 1fr 36px;gap:12px}.embedded-mck-full-page .embedded-mck-head{font-size:13px}.embedded-mck-full-page .embedded-mck-head select{font-size:12px;padding:4px}.embedded-mck-full-page .embedded-mck-scene{border-bottom-width:5px;background:linear-gradient(150deg,#fff 0 59%,#edede8 59% 60%,#fff 60%)}.embedded-mck-full-page .mck-wall{left:15%;top:20%;height:60%;width:13px;border-right-width:4px}.embedded-mck-full-page .mck-spring{left:17%;top:52%;width:38%;border-top-width:4px}.embedded-mck-full-page .mck-damper{left:17%;top:68%;width:38%;height:20px;border-width:4px}.embedded-mck-full-page .mck-mass{left:58%;top:32%;width:95px;height:95px;border-width:4px;font-size:38px}.embedded-mck-full-page .embedded-mck-scene em{right:13%;top:18%;font-size:31px}.embedded-mck-full-page .embedded-mck-controls{justify-content:center;gap:13px}.embedded-mck-full-page .embedded-mck-controls label{font-size:12px}.embedded-mck-full-page .embedded-mck-controls input{width:48px;font-size:12px}.embedded-mck-full-page .embedded-mck-controls button{font-size:11px;padding:6px 11px}.slide-element-blockDiagram{color:#111}.lesson-diagram-block,.lesson-diagram-closed{width:100%;height:100%;position:relative;box-sizing:border-box}.lesson-diagram-block span{position:absolute;left:23%;top:27%;width:54%;height:42%;border:2px solid #111;display:grid;place-items:center;font:italic 20px Georgia,serif}.lesson-diagram-block i,.lesson-diagram-block b{position:absolute;top:48%;width:23%;border-top:2px solid #111}.lesson-diagram-block i{left:0}.lesson-diagram-block b{right:0}.lesson-diagram-single{width:100%;height:100%;display:grid;place-items:center;font:25px Georgia,serif}.lesson-diagram-sum{width:42px;height:42px;border:2px solid #111;border-radius:50%;position:relative}.lesson-diagram-sum i{position:absolute;left:8px;bottom:2px;font-style:normal;font-size:16px}.lesson-diagram-node{width:14px;height:14px;border-radius:50%;background:#111}.lesson-diagram-closed svg{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#111;stroke-width:2}.lesson-diagram-closed span,.lesson-diagram-closed small{position:absolute;top:27%;font:italic 15px Georgia,serif}.lesson-diagram-closed span{left:1%}.lesson-diagram-closed small{right:1%}.lesson-diagram-closed b{position:absolute;left:14%;top:36%;width:28px;height:28px;border:2px solid #111;border-radius:50%;display:grid;place-items:center}.lesson-diagram-closed i{position:absolute;left:19%;top:58%;font-style:normal}.lesson-diagram-closed em,.lesson-diagram-closed strong{position:absolute;top:28%;width:18%;height:34%;border:2px solid #111;display:grid;place-items:center;font:italic 16px Georgia,serif}.lesson-diagram-closed em{left:34%}.lesson-diagram-closed strong{left:72%}.canvas-basic-shape-circle{border-radius:50%}.shape-resize-point.n{left:calc(50% - 5px);top:-5px;cursor:ns-resize}.shape-resize-point.e{right:-5px;top:calc(50% - 5px);cursor:ew-resize}.shape-resize-point.s{left:calc(50% - 5px);bottom:-5px;cursor:ns-resize}.shape-resize-point.w{left:-5px;top:calc(50% - 5px);cursor:ew-resize}.shape-resize-point.line-start{left:calc(5% - 5px);bottom:calc(8% - 5px);cursor:crosshair}.shape-resize-point.line-end{right:calc(8% - 5px);top:calc(11% - 5px);cursor:crosshair}.canvas-shape-svg .arrow-head{fill:#111;stroke:none}.slide-element-simulation.selected{outline:0}.formula-editor-overlay{position:fixed;z-index:900;left:50%;top:50%;width:min(720px,calc(100vw - 48px));transform:translate(-50%,-50%);border:1px solid #111;background:#fff;box-shadow:12px 14px #00000024;color:#111}.formula-editor-overlay>header{display:flex;align-items:center;gap:8px;height:52px;padding:0 16px;border-bottom:1px solid #111}.formula-editor-overlay>header strong{margin-right:auto;font:700 18px/1 Georgia,serif}.formula-editor-overlay>header button{border:1px solid #111;padding:7px 12px;background:#fff;color:#111;font:700 12px/1 Arial,sans-serif;cursor:pointer}.formula-editor-overlay>header .formula-editor-apply{background:#111;color:#fff}.formula-editor-preview{min-height:145px;margin:18px;padding:18px 28px;border:1px solid #d0d0ca;background:#fbfbf8;display:grid;place-items:center;overflow:hidden}.formula-editor-preview .matrix-preview{width:min(400px,100%);min-height:105px}.formula-editor-input{width:100%;min-height:106px;outline:0;color:#111;font:italic 30px/1.35 Georgia,serif;white-space:pre-wrap;text-align:center;cursor:text}.formula-editor-input:empty:before{content:"点击此处输入公式";color:#aaa}.formula-display{display:inline-block;min-width:1em}.math-fraction{display:inline-grid;grid-template-rows:1fr 1fr;vertical-align:middle;min-width:1.55em;margin:0 .1em;text-align:center;line-height:1.05}.math-fraction>span:first-child{border-bottom:1.5px solid currentColor;padding:0 .12em .06em}.math-fraction>span:last-child{padding:.06em .12em 0}.math-power{white-space:nowrap}.math-power sup,.math-power sub{padding-left:.04em;font-size:.63em}.math-placeholder{min-width:.65em;outline:none}.formula-editor-input .math-placeholder{display:inline-block;color:inherit}.formula-editor-input .math-placeholder:focus{background:#0000000f}.formula-tool-fraction{display:inline-grid;grid-template-rows:12px 12px;justify-items:center;width:26px;height:24px;vertical-align:middle}.formula-tool-fraction i{display:block;width:16px;height:12px;font:15px/12px Georgia,serif;font-style:normal;text-align:center}.formula-tool-fraction i:first-child{border-bottom:1px solid currentColor}.formula-tool-power{display:inline-block;position:relative;width:30px;height:26px;vertical-align:middle}.formula-tool-power i,.formula-tool-power sup,.formula-tool-power sub{box-sizing:border-box;position:absolute;display:block;width:13px;height:13px;border:1.5px dotted currentColor}.formula-tool-power i{left:4px;top:8px}.formula-tool-power sup,.formula-tool-power sub{left:16px}.formula-tool-power sup{top:2px}.formula-tool-power sub{top:12px}.math-dot{position:relative;display:inline-block;min-width:.65em;padding-top:.18em}.math-dot:before{content:"·";position:absolute;left:50%;top:-.52em;transform:translate(-50%);font-style:normal;font-weight:700}.formula-tool-dot{position:relative;display:inline-block;width:18px;height:21px;padding-top:5px;font:15px/16px Georgia,serif}.formula-tool-dot:before{content:"·";position:absolute;left:50%;top:-1px;transform:translate(-50%);font:700 14px/1 Georgia,serif}.formula-editor-tabs{display:flex;gap:0;padding:0 18px;border-bottom:1px solid #d0d0ca}.formula-editor-tabs button{border:0;border-bottom:3px solid transparent;padding:10px 17px 8px;background:transparent;color:#777;font:700 13px/1 Arial,sans-serif;cursor:pointer}.formula-editor-tabs button.active{border-bottom-color:#111;color:#111}.formula-editor-formula,.formula-editor-matrix{padding:16px 18px 18px}.formula-editor-tools{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:11px}.formula-editor-tools button{min-width:42px;height:34px;border:1px solid #bbb;background:#fff;color:#111;font:700 15px/1 Georgia,serif;cursor:pointer}.formula-editor-formula p{margin:9px 0 0;color:#777;font-size:11px}.formula-editor-matrix{display:grid;gap:12px}.formula-editor-matrix .matrix-dimension-controls{max-width:260px}.slide-element-matrix{display:grid;place-items:center;padding:8px 12px;color:#111}.matrix-preview{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;width:100%;min-height:100%;font-family:Georgia,serif}.matrix-label{padding-right:8px;font:italic 22px/1 Georgia,serif;white-space:nowrap}.matrix-bracket{font:400 clamp(44px,5vw,76px)/.65 Georgia,serif;transform:scaleY(1.35)}.matrix-bracket-left{margin-right:5px}.matrix-bracket-right{margin-left:5px}.matrix-grid{display:grid;gap:4px 12px;align-items:center;min-width:0}.matrix-cell{min-width:0;padding:2px 1px;border:0;background:transparent;color:inherit;font:italic 19px/1.2 Georgia,serif;cursor:text}.matrix-cell:hover{background:#0000000d}.matrix-cell-input{width:100%;min-width:0;box-sizing:border-box;border:0;border-bottom:1px solid #1683ff;padding:2px 1px;background:#fff;color:inherit;font:italic 19px/1.2 Georgia,serif;outline:0;text-align:center}.matrix-dimension-controls{display:grid;grid-template-columns:1fr 28px 32px 28px;gap:5px;align-items:center;color:#666;font-size:11px;font-weight:700}.matrix-dimension-controls span:nth-of-type(2){margin-top:5px}.matrix-dimension-controls button{height:27px;border:1px solid #bbb;background:#fff;cursor:pointer;font-size:16px}.matrix-dimension-controls output{display:grid;height:27px;place-items:center;border:1px solid #bbb;background:#fff;color:#222;font:12px/1 Arial,sans-serif}.matrix-template-controls{display:grid;gap:7px;color:#666;font-size:11px;font-weight:700}.matrix-template-controls>div{display:flex;flex-wrap:wrap;gap:5px}.matrix-template-controls button{min-width:31px;border:1px solid #bbb;padding:6px 7px;background:#fff;color:#222;font:700 11px/1 Arial,sans-serif;cursor:pointer}.slide-element-simulation .slide-element-handle{display:none}.slide-original-mck-scene{position:absolute;inset:0;overflow:hidden;background:#fff;pointer-events:none}.slide-original-mck-scene .road-scene{position:absolute;inset:0;z-index:0;width:100%;height:100%;overflow:hidden;background:#fff}.slide-original-mck-scene .road-scene svg{width:100%;height:100%;clip-path:none}.slide-mck-runtime-controls{position:absolute;right:28px;bottom:24px;z-index:4;display:flex;gap:8px;pointer-events:auto}.slide-mck-runtime-controls button{min-width:58px;border:1px solid #111;padding:7px 10px;background:#fff;color:#111;font:700 11px/1 Arial,sans-serif;cursor:pointer}.slide-mck-runtime-controls button:first-child{background:#111;color:#fff}@media(max-width:370px){.main-entered .control-panel{padding-right:10px;padding-left:10px}.model-representation-tab{font-size:10px}.response-tab{padding-right:3px;padding-left:3px;font-size:12px}}.lesson-diagram-block>i{left:0;width:15%}.lesson-diagram-block>b{left:85%;right:auto;width:15%}.lesson-diagram-block>i:after,.lesson-diagram-block>b:before{display:none}.lesson-diagram-block>b:after{content:"▶";right:-11px;top:-9px;width:auto;height:auto;border:0;color:#111;font-size:13px;line-height:13px}.lesson-diagram-block>i:after,.lesson-diagram-block>b:before{content:"";position:absolute;top:-4px;width:7px;height:7px;border:2px solid #111;border-radius:50%;background:#fff}.lesson-diagram-block>i:after{right:-2px}.lesson-diagram-block>b:before{left:-2px}.lesson-diagram-block>span{left:15%;top:20%;width:70%;height:60%;box-sizing:border-box;min-height:34px;padding:5px 8px;text-align:center;white-space:pre-wrap;overflow:hidden;cursor:text;font-size:14px;line-height:1.2}.lesson-diagram-block>span[contenteditable=true]{outline:2px solid #3d7dff;background:#fff}
