/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.isolate{isolation:isolate}.hidden{display:none}.table{display:table}}:root{--ink:#101922;--muted:#697582;--line:#dce2e7;--blue:#078aa5;--blue-dark:#006a82;--navy:#102a37;--lime:#b6d756;--surface:#eef1f3}*{box-sizing:border-box}html{background:var(--surface)}body{color:var(--ink);background:var(--surface);margin:0;font-family:Arial,Helvetica,sans-serif}button,input,select{font:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:3px;outline:3px solid #078aa559}.app-shell{grid-template-columns:320px minmax(0,1fr);min-height:100vh;display:grid}.side-panel{color:#edf6f7;scrollbar-color:#40616a transparent;scrollbar-width:thin;background:radial-gradient(circle at -20% 105%,#b6d7562e,#0000 35%),linear-gradient(160deg,#153643 0%,#0e2734 62%,#0a202c 100%);height:100vh;padding:24px 22px;position:sticky;top:0;overflow:auto;box-shadow:12px 0 36px #0e27341f}.brand{border-bottom:1px solid #ffffff21;align-items:center;gap:12px;padding-bottom:20px;display:flex}.brand-mark{color:#fff;border:2px solid #8ed1db;border-radius:50%;place-items:center;width:38px;height:38px;font-weight:900;display:grid;box-shadow:inset 0 0 0 4px #ffffff0f}.brand span,.brand strong{display:block}.brand span{color:#9cc0c8;letter-spacing:.12em;font-size:9px}.brand strong{letter-spacing:.09em;margin-top:4px;font-size:13px}.side-kicker{color:var(--lime);letter-spacing:.18em;margin-top:22px;font-size:9px;font-weight:900}.category-menu{grid-template-columns:repeat(3,1fr);gap:6px;margin:11px 0 13px;display:grid}.category-menu button{color:#78979e;text-align:left;cursor:pointer;background:#0000001c;border:1px solid #ffffff1a;border-radius:9px;grid-template-columns:1fr auto;align-content:space-between;min-width:0;min-height:62px;padding:8px 5px;transition:all .2s;display:grid}.category-menu button span{letter-spacing:.12em;font-size:7px;font-weight:900}.category-menu button b{color:#86a8af;border:1px solid #ffffff21;border-radius:50%;place-items:center;width:21px;height:21px;font-size:9px;display:grid}.category-menu button em{white-space:nowrap;text-overflow:ellipsis;grid-column:1/-1;font-size:9px;font-style:normal;font-weight:800;overflow:hidden}.category-menu button:hover{color:#fff;border-color:#ffffff3d}.category-menu button.active{color:#fff;box-shadow:inset 0 -3px 0 var(--lime);background:#b6d7561f;border-color:#b6d7568c}.category-menu button.active span,.category-menu button.active b{color:var(--lime)}.category-menu button.active b{border-color:#b6d75699}.category-summary{background:#0000001f;border:1px solid #ffffff14;border-radius:9px 9px 0 0;padding:11px 12px}.category-summary span{color:#dcebed;letter-spacing:.04em;font-size:10px;font-weight:900}.category-summary p{color:#7f9fa6;margin:4px 0 0;font-size:9px;line-height:1.4}.route-menu{scrollbar-color:#40616a transparent;scrollbar-width:thin;background:#0000000f;border:1px solid #ffffff14;border-top:0;border-radius:0 0 9px 9px;gap:3px;max-height:148px;padding:4px;display:grid;overflow:auto}.route-menu button{color:#79989f;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;grid-template-columns:25px 1fr auto;align-items:center;gap:6px;min-height:31px;padding:5px 7px;display:grid}.route-menu button span{font-size:7px;font-weight:900}.route-menu button em{white-space:nowrap;text-overflow:ellipsis;font-size:9px;font-style:normal;font-weight:700;overflow:hidden}.route-menu button i{font-size:14px;font-style:normal}.route-menu button:hover{color:#fff;background:#ffffff0d}.route-menu button.active{color:#fff;background:#ffffff17}.route-menu button.active span,.route-menu button.active i{color:var(--lime)}.active-route-title{border-top:1px solid #ffffff1a;margin-top:17px;padding-top:13px}.active-route-title>span{color:#72949c;letter-spacing:.15em;font-size:8px;font-weight:900}.side-panel h1{letter-spacing:-.03em;margin:7px 0;font-size:21px;line-height:1.13}.side-description{color:#a9c1c6;margin:0;font-size:11px;line-height:1.45}.route-progress{margin:15px 0 12px}.progress-meta{color:#89a6ad;justify-content:space-between;font-size:9px;display:flex}.progress-meta strong{color:#fff}.progress-track{background:#ffffff1c;border-radius:99px;height:4px;margin-top:7px;overflow:hidden}.progress-track span{border-radius:inherit;background:linear-gradient(90deg,var(--lime),#d4e88e);height:100%;transition:width .35s;display:block}.step-list{scrollbar-color:#40616a transparent;scrollbar-width:thin;gap:3px;max-height:190px;display:grid;overflow:auto}.step-item{color:#78949b;text-align:left;background:0 0;border:0;border-radius:7px;grid-template-columns:23px 1fr;align-items:center;gap:7px;width:100%;padding:5px 6px;display:grid}.step-item span{border:1px solid #ffffff21;border-radius:50%;place-items:center;width:21px;height:21px;font-size:8px;font-weight:900;display:grid}.step-item em{white-space:nowrap;text-overflow:ellipsis;font-size:9px;font-style:normal;overflow:hidden}.step-item.active{color:#fff;background:#ffffff14}.step-item.active span{color:#17323b;border-color:var(--lime);background:var(--lime);box-shadow:0 0 0 3px #b6d7561f}.step-item.done{color:#a9c7b4;cursor:pointer}.step-item.done span{color:var(--lime);border-color:#b6d7568c}.step-item:disabled{cursor:not-allowed}.manual-note{background:#0000001a;border:1px solid #ffffff17;border-radius:9px;margin-top:14px;padding:11px}.manual-note span{color:#86a9b1;letter-spacing:.11em;font-size:8px;font-weight:900}.manual-note p{color:#8faab0;margin:5px 0 0;font-size:8px;line-height:1.45}.workspace{min-width:0;padding:0 30px 45px}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:22px;height:92px;display:flex}.eyebrow{color:var(--blue-dark);letter-spacing:.16em;font-size:9px;font-weight:900}.topbar h2{letter-spacing:-.035em;margin:4px 0 0;font-size:26px;line-height:1}.top-actions{align-items:center;gap:18px;display:flex}.route-count{color:#718089;letter-spacing:.1em;align-items:center;gap:7px;font-size:9px;font-weight:900;display:flex}.route-count b{color:var(--blue-dark);letter-spacing:0;font-size:18px}.mode-switch{background:#e4e9ec;border:1px solid #cbd4d9;border-radius:9px;padding:3px;display:flex}.mode-switch button{color:#718089;cursor:pointer;background:0 0;border:0;border-radius:6px;min-height:31px;padding:5px 12px;font-size:10px;font-weight:800}.mode-switch button.active{color:#fff;background:linear-gradient(135deg,var(--blue),var(--blue-dark));box-shadow:0 3px 8px #006a8238}.context-bar{color:#819098;border-bottom:1px solid #dfe4e7;align-items:center;gap:9px;max-width:1290px;min-height:41px;margin:0 auto;font-size:9px;display:flex}.context-bar span{letter-spacing:.08em;font-weight:900}.context-bar i{font-style:normal}.context-bar strong{color:#3c4a53;font-size:10px}.mode-pill{letter-spacing:.12em;border-radius:99px;margin-left:auto;padding:5px 8px;font-size:7px;font-style:normal;font-weight:900}.mode-pill.guided{color:#396073;background:#dff0f4}.mode-pill.evaluation{color:#805f16;background:#fff0c8}.main-grid{grid-template-columns:minmax(560px,1fr) 320px;gap:24px;max-width:1290px;margin:0 auto;padding-top:24px;display:grid}.simulator-column{min-width:0}.controller-wrap{background:#fff;border:1px solid #d2d9de;border-radius:20px;padding:18px 22px 13px;box-shadow:0 16px 48px #22323e1a}.controller-head{justify-content:space-between;align-items:center;margin-bottom:13px;display:flex}.controller-head span,.controller-head strong{display:block}.controller-head div span{color:var(--blue-dark);letter-spacing:.16em;font-size:7px;font-weight:900}.controller-head div strong{letter-spacing:.09em;margin-top:3px;font-size:11px}.controller-model{color:#697780;letter-spacing:.08em;border:1px solid #d8dee2;border-radius:5px;padding:5px 8px;font-size:8px;font-weight:900}.controller-body{background:linear-gradient(145deg,#eceff1 0%,#c7cdd1 45%,#eef1f2 100%);border:1px solid #59646a;border-radius:12px;grid-template-columns:58px minmax(260px,1fr) 188px;align-items:center;gap:13px;min-height:286px;padding:25px;display:grid;box-shadow:inset 0 2px 2px #fff,inset 0 -2px 5px #0000002e,0 9px 16px #1f2c3229}.nav-keys{gap:11px;display:grid}.numeric-keys{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.controller-key{color:#2377c8;cursor:pointer;background:linear-gradient(#fff,#e5e9eb);border:1px solid #abb3b8;border-radius:6px;min-height:38px;font-size:14px;font-weight:900;transition:transform 80ms,box-shadow 80ms;position:relative;box-shadow:0 3px #8e989e,0 5px 8px #00000029}.controller-key:hover{filter:brightness(1.03)}.controller-key:active{transform:translateY(3px);box-shadow:0 0 #8e989e,0 2px 3px #00000029}.controller-key.compact{min-height:40px;font-size:9px}.controller-key.key-menu{color:#d0443c}.controller-key.key-enter{color:#36a546;font-size:21px}.controller-key.key-back{color:#555}.controller-key.key-void{visibility:hidden;pointer-events:none}.controller-key.key-expected{z-index:1;animation:1.35s ease-in-out infinite expectedPulse}.controller-key.key-expected:after{content:"";pointer-events:none;border:2px solid var(--lime);border-radius:9px;position:absolute;inset:-5px}@keyframes expectedPulse{0%,to{box-shadow:0 3px #8e989e,0 0 #b6d7567a}50%{box-shadow:0 3px #8e989e,0 0 0 7px #b6d75600}}.lcd-bezel{background:linear-gradient(145deg,#30383a,#111719);border:2px solid #565d60;border-radius:5px;padding:12px 12px 8px;box-shadow:inset 0 0 0 3px #171d1e,0 4px 10px #00000040}.lcd-screen{color:#d2e4cf;white-space:pre;text-shadow:0 0 5px #b9e1b252;background:radial-gradient(circle at 45% 40%,#243329,#0b110d 75%);border:1px solid #5d6c60;border-radius:2px;min-height:176px;padding:14px 12px;font:700 10px/1.4 Courier New,monospace;position:relative;overflow:hidden;box-shadow:inset 0 0 20px #000,inset 0 0 2px #b4cfad}.lcd-screen>div{min-height:14px}.lcd-mode{color:#f0ffe9;text-align:center;font-size:14px}.lcd-glare{pointer-events:none;background:linear-gradient(120deg,#ffffff12,#0000 34% 65%,#ffffff06);position:absolute;inset:0}.screen-label{color:#9ba4a8;letter-spacing:.2em;text-align:center;margin-top:6px;font-size:6px;font-weight:900}.controller-status{align-items:center;gap:9px;min-height:31px;padding:9px 2px 0;display:flex}.controller-status p{color:#64717a;margin:0;font-size:10px}.status-dot{background:#9ba6ac;border-radius:50%;flex:none;width:7px;height:7px}.status-dot.correct{background:#46a85a;box-shadow:0 0 0 4px #46a85a21}.status-dot.wrong{background:#d94b43;box-shadow:0 0 0 4px #d94b4321}.controller-shake{animation:.28s linear shake}@keyframes shake{0%,to{transform:translate(0)}30%{transform:translate(-5px)}70%{transform:translate(5px)}}.legend-row{color:#6a7780;justify-content:center;gap:24px;padding:12px 10px 0;font-size:9px;font-weight:700;display:flex}.legend-row span{align-items:center;gap:6px;display:flex}.led{border-radius:50%;width:7px;height:7px}.led-green{background:#54ae63;box-shadow:0 0 5px #54ae63}.led-red{background:#d95149;box-shadow:0 0 5px #d95149}.led-amber{background:#edb644;box-shadow:0 0 5px #edb644}.guide-card{background:#fff;border:1px solid #d6dde1;border-radius:17px;flex-direction:column;min-height:520px;padding:23px;display:flex;box-shadow:0 16px 48px #22323e14}.guide-top{justify-content:space-between;align-items:flex-start;display:flex}.guide-number{color:#dbe3e6;letter-spacing:-.07em;font-size:43px;font-weight:900;line-height:.8}.evaluation-score{color:#805f16;text-transform:uppercase;background:#fff0c8;border-radius:99px;padding:5px 7px;font-size:7px;font-weight:900}.evaluation-score.hidden{visibility:hidden}.guide-label{color:var(--blue-dark);letter-spacing:.16em;margin-top:16px;font-size:8px;font-weight:900}.guide-card h3{letter-spacing:-.035em;margin:7px 0 8px;font-size:20px;line-height:1.15}.guide-card>p{color:#66737c;margin:0;font-size:11px;line-height:1.55}.impact-box{background:#f2f8f9;border:1px solid #d7e7ea;border-radius:8px;margin-top:15px;padding:10px 11px;display:grid}.impact-box span{color:#6b8b93;letter-spacing:.14em;font-size:7px;font-weight:900}.impact-box strong{color:#205363;margin-top:4px;font-size:10px}.impact-box small{color:#789099;margin-top:2px;font-size:8px}.warning-box{color:#694e0b;background:#fff8dc;border:1px solid #ebcf72;border-radius:8px;margin-top:12px;padding:11px}.warning-box b{letter-spacing:.13em;margin-bottom:3px;font-size:8px;display:block}.warning-box span{font-size:9px;line-height:1.4}.next-action{border-left:3px solid var(--lime);background:#f5f8ed;margin-top:14px;padding:12px}.next-action span{color:#6e7e44;letter-spacing:.15em;font-size:7px;font-weight:900;display:block}.next-action strong{color:#394521;margin-top:5px;font-size:10px;line-height:1.35;display:block}.evaluation-prompt{color:#6f5416;background:#fffaf0;border:1px dashed #d5b865;border-radius:8px;grid-template-columns:27px 1fr;align-items:center;column-gap:9px;margin-top:14px;padding:12px;display:grid}.evaluation-prompt>span{background:#f5cc51;border-radius:50%;grid-row:1/3;place-items:center;width:27px;height:27px;font-weight:900;display:grid}.evaluation-prompt strong{font-size:9px}.evaluation-prompt small{font-size:8px}.completion-card{color:#23532f;background:#edf8ef;border:1px solid #b9d8bd;border-radius:9px;align-items:center;gap:9px;margin-top:14px;padding:12px;display:flex}.completion-card>span{color:#fff;background:#4aa45e;border-radius:50%;flex:none;place-items:center;width:29px;height:29px;display:grid}.completion-card strong{font-size:10px}.completion-card p{margin:2px 0 0;font-size:8px}.completion-card small{margin-top:3px;font-size:8px;font-weight:900;display:block}.simulation-action{color:#184a57;cursor:pointer;background:#eaf6f8;border:1px solid #9cc7cf;border-radius:7px;justify-content:center;align-items:center;gap:7px;width:100%;min-height:38px;margin-top:10px;font-size:9px;font-weight:900;display:flex}.simulation-action span{font-size:14px;transition:transform .2s}.simulation-action:hover span{transform:translate(3px)}.guide-controls{grid-template-columns:1fr 1.25fr;gap:7px;margin-top:auto;padding-top:16px;display:grid}.guide-controls button{cursor:pointer;border-radius:7px;min-height:36px;padding:7px 9px;font-size:9px;font-weight:900}.guide-controls button:disabled{opacity:.45;cursor:not-allowed}.secondary-button{color:#5b6870;background:#fff;border:1px solid #d3dade}.primary-button{color:#fff;border:1px solid var(--blue-dark);background:linear-gradient(135deg,var(--blue),var(--blue-dark));box-shadow:0 5px 12px #006a822e}.primary-button.muted{color:#6e7a81;box-shadow:none;background:#e3e8ea;border-color:#ccd4d8}.reference-card{border-top:1px solid #e2e7ea;margin-top:13px;padding-top:11px}.reference-card span{color:#89949a;letter-spacing:.14em;font-size:7px;font-weight:900}.reference-card p{color:#45525a;margin:5px 0 2px;font-size:9px;font-weight:900}.reference-card small{color:#89949a;font-size:8px}.system-simulation{background:#fff;border:1px solid #cfd9de;border-radius:18px;max-width:1290px;margin:22px auto 0;overflow:hidden;box-shadow:0 16px 48px #22323e12}.sim-header{border-bottom:1px solid #e0e6e9;justify-content:space-between;align-items:center;gap:20px;min-height:67px;padding:14px 19px;display:flex}.sim-header>div:first-child span{color:var(--blue-dark);letter-spacing:.16em;font-size:7px;font-weight:900}.sim-header h3{letter-spacing:-.025em;margin:4px 0 0;font-size:17px}.sim-state{align-items:center;gap:9px;display:flex}.sim-state>i{background:var(--blue);border:2px solid #fff;border-radius:50%;width:10px;height:10px;animation:1.7s ease-in-out infinite statePulse;box-shadow:0 0 0 3px #078aa52e}.sim-state span,.sim-state strong{display:block}.sim-state strong{color:#36454e;font-size:9px}.sim-state span{color:#89969d;font-size:8px}@keyframes statePulse{50%{box-shadow:0 0 0 7px #078aa500}}.sim-stage{background:linear-gradient(#fbfcfd,#f2f5f6);grid-template-columns:minmax(300px,1fr) 105px 150px 105px minmax(190px,.75fr);align-items:center;gap:0;min-height:252px;padding:20px 24px;display:grid;position:relative}.sim-stage:before{content:"";pointer-events:none;opacity:.5;background-image:linear-gradient(#53707c0f 1px,#0000 1px),linear-gradient(90deg,#53707c0f 1px,#0000 1px);background-size:24px 24px;position:absolute;inset:0}.building-node,.controller-node,.interface-stack,.sim-link{z-index:1;position:relative}.building-node{background:#fffc;border:1px solid #bfcbd1;border-radius:8px 8px 3px 3px;height:196px;padding:30px 42px 10px 14px;position:relative;box-shadow:inset -7px 0 #e1e7ea}.building-title{color:#809097;letter-spacing:.13em;font-size:7px;font-weight:900;position:absolute;top:8px;left:13px}.floor-stack{gap:5px;display:grid}.floor{color:#607079;background:#f8fafb;border:1px solid #d8e0e3;border-radius:5px;grid-template-columns:28px 30px 1fr;align-items:center;gap:8px;min-height:31px;padding:3px 7px;transition:all .25s;display:grid}.floor>span{font-size:8px;font-weight:900}.floor em{letter-spacing:.08em;font-size:7px;font-style:normal;font-weight:900}.door-icon{border:2px solid #799099;border-radius:2px;width:25px;height:20px;position:relative}.door-icon:before{content:"";background:#799099;border-radius:50%;width:2px;height:2px;position:absolute;top:8px;right:3px}.door-icon i{background:#55ad65;border-radius:50%;width:5px;height:5px;position:absolute;top:4px;right:-8px;box-shadow:0 0 4px #55ad65}.floor.locked{color:#854842;background:#fff4f2;border-color:#e3c6c2}.floor.locked .door-icon i{background:#d9544d;box-shadow:0 0 5px #d9544d}.floor.cycle{color:#745510;background:#fff8df;border-color:#e7ca75;box-shadow:0 0 0 2px #edb6442e}.floor.cycle .door-icon i{background:#edb644;box-shadow:0 0 6px #edb644}.floor.jam{color:#923e38;background:#fff0ee;border-color:#d85a52;animation:1.2s ease-in-out infinite alarmBlink}.floor.missing{color:#684a8a;background:#f7f0ff;border-style:dashed;border-color:#9979bd}.floor.missing .door-icon i{background:#9270b8;box-shadow:0 0 5px #9270b8}@keyframes alarmBlink{50%{box-shadow:0 0 0 4px #d85a521f}}.chute-line{background:#dce4e7;border-left:3px solid #819aa3;border-right:3px solid #819aa3;width:11px;position:absolute;top:30px;bottom:11px;right:17px}.chute-line span{color:#6f838b;font-size:6px;font-weight:900;position:absolute;bottom:54px;left:-11px;transform:rotate(-90deg)}.sim-link{background:#7da3ad;height:2px}.sim-link:before,.sim-link:after{content:"";background:#4f8693;border-radius:50%;width:8px;height:8px;position:absolute;top:-3px}.sim-link:before{left:0}.sim-link:after{right:0}.sim-link span{color:#7f929a;font-size:7px;font-weight:900;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.sim-link i{background:var(--lime);border-radius:50%;width:6px;height:6px;animation:2s linear infinite dataFlow;position:absolute;top:-2px;left:4px}@keyframes dataFlow{to{left:calc(100% - 10px)}}.controller-node{background:linear-gradient(145deg,#33454c,#19282e);border:1px solid #253940;border-radius:10px;flex-direction:column;align-items:center;height:143px;padding:14px 15px;display:flex;box-shadow:0 9px 18px #1a2c3333}.controller-node>span{color:#8fb9c1;letter-spacing:.15em;font-size:7px;font-weight:900}.mini-screen{color:#d9efcf;background:#17271d;border:4px solid #0d171a;border-radius:3px;place-items:center;width:91px;height:55px;margin:10px 0;font:900 16px Courier New,monospace;display:grid;box-shadow:inset 0 0 10px #000}.controller-node strong{color:#fff;font-size:9px}.controller-node small{color:#7f9aa1;letter-spacing:.1em;margin-top:3px;font-size:6px}.interface-stack{gap:7px;display:grid}.interface-node{color:#7d8b92;background:#ffffffbf;border:1px solid #d8e0e3;border-radius:7px;grid-template-columns:29px 1fr;align-items:center;gap:8px;min-height:38px;padding:6px 8px;transition:all .25s;display:grid}.interface-node>i{color:#70858d;background:#e5ebed;border-radius:50%;place-items:center;width:27px;height:27px;font-size:9px;font-style:normal;font-weight:900;display:grid}.interface-node span,.interface-node strong{display:block}.interface-node strong{color:#53636b;letter-spacing:.06em;font-size:7px}.interface-node span{font-size:7px}.interface-node.active{color:#205a69;background:#eaf7f9;border-color:#75b5c2;box-shadow:0 0 0 3px #078aa514}.interface-node.active>i{color:#fff;background:var(--blue);box-shadow:0 0 0 3px #078aa521}.interface-node.active strong{color:#155264}.sim-clean .clean-node{border-color:#65a8c6}.sim-fire .fas-node,.sim-alarm .fas-node{background:#fff1ef;border-color:#da6b64}.sim-fire .fas-node>i,.sim-alarm .fas-node>i{background:#d9534b;animation:1s infinite alarmBlink}.sim-compactor .compactor-node>i{background:#d39b28}.sim-email .wifi-node:after{content:"EMAIL SENT";color:var(--blue-dark);margin-left:auto;font-size:6px;font-weight:900}.sim-ota .wifi-node:after{content:"68%";color:var(--blue-dark);margin-left:auto;font-size:7px;font-weight:900}.sim-action{color:#597078;background:#f7fafb;border-top:1px solid #dce4e7;align-items:center;gap:12px;min-height:43px;padding:10px 18px;display:flex;position:relative;overflow:hidden}.sim-action span{color:var(--blue-dark);letter-spacing:.14em;font-size:7px;font-weight:900}.sim-action strong{font-size:9px}.sim-action>i{background:#bfd1d6;width:62px;height:2px;position:absolute;right:18px}.sim-action>i:after{content:"";background:var(--lime);border-radius:50%;width:8px;height:8px;animation:1.5s ease-in-out infinite actionPulse;position:absolute;top:-3px;right:0}@keyframes actionPulse{50%{opacity:.35;transform:scale(1.7)}}@media (width<=1180px){.app-shell{grid-template-columns:280px minmax(0,1fr)}.side-panel{padding-left:17px;padding-right:17px}.workspace{padding-left:20px;padding-right:20px}.main-grid{grid-template-columns:1fr}.guide-card{min-height:0}.guide-controls{margin-top:18px}.sim-stage{grid-template-columns:minmax(260px,1fr) 70px 135px 70px minmax(170px,.7fr);padding-left:16px;padding-right:16px}}@media (width<=820px){.app-shell{display:block}.side-panel{width:100%;height:auto;padding:18px;position:relative}.brand{padding-bottom:14px}.side-kicker{margin-top:16px}.category-menu{grid-template-columns:repeat(6,1fr)}.category-menu button{min-height:55px}.category-menu button em{display:none}.category-summary{border-radius:9px}.route-menu{border-top:1px solid #ffffff14;border-radius:9px;grid-template-columns:repeat(2,1fr);max-height:none;margin-top:7px}.active-route-title,.side-description,.route-progress,.step-list,.manual-note{display:none}.workspace{padding:0 13px 28px}.topbar{align-items:flex-start;height:auto;padding:18px 3px}.topbar h2{font-size:23px}.top-actions{flex-direction:column;align-items:flex-end;gap:8px}.context-bar{min-height:37px}.main-grid{padding-top:16px}.controller-wrap{border-radius:14px;padding:13px}.controller-body{grid-template-columns:46px 1fr;gap:10px;padding:14px}.numeric-keys{grid-column:1/-1;grid-template-columns:repeat(6,1fr)}.controller-key{min-height:36px}.lcd-screen{min-height:164px;font-size:9px}.legend-row{flex-wrap:wrap;gap:9px 16px}.sim-stage{grid-template-rows:auto auto;grid-template-columns:1fr 45px 130px;gap:10px 0}.link-interfaces{display:none}.interface-stack{grid-area:2/1/auto/-1;grid-template-columns:repeat(4,1fr)}.interface-node{grid-template-columns:24px 1fr}.interface-node>i{width:23px;height:23px}}@media (width<=520px){.category-menu{grid-template-columns:repeat(3,1fr)}.route-menu{grid-template-columns:1fr;max-height:128px}.route-count{display:none}.context-bar span{white-space:nowrap;text-overflow:ellipsis;max-width:110px;overflow:hidden}.controller-head .controller-model{display:none}.controller-body{padding:9px}.lcd-screen{padding:11px 8px;font-size:7.5px}.numeric-keys{gap:5px}.guide-card{padding:20px}.sim-header{align-items:flex-start}.sim-state{max-width:150px}.sim-stage{padding:15px;display:block}.building-node{height:190px}.sim-link,.controller-node{margin:14px auto}.sim-link{width:2px;height:35px}.sim-link:before,.sim-link:after{left:-3px}.sim-link:before{top:0}.sim-link:after{top:auto;bottom:0}.sim-link span,.sim-link i{display:none}.controller-node{width:145px}.interface-stack{grid-template-columns:1fr 1fr}.sim-action{padding-right:90px}}
