@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";.assignment-grade{display:inline-block;padding:6px 12px;border:1px solid;border-radius:7px;font-size:14px;line-height:1.4}.grade-distinction{background:#e1f4e7;color:#155b35;border-color:#368758}.grade-merit{background:#fff5bd;color:#655000;border-color:#b69720}.grade-pass{background:#ffe8cf;color:#80400d;border-color:#c57b30}.grade-fail{background:#ffe2e1;color:#8b2624;border-color:#bd5c59}.assignment-feedback{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:13px;padding:10px 12px;background:#f3f7f4;border:1px solid #cbd9d0;border-radius:8px}.assignment-feedback>span,.assignment-feedback>small{color:#50685a}.assignment-feedback p{white-space:pre-wrap;width:100%;margin:4px 0;line-height:1.5}.assignment-feedback>strong:not(.assignment-grade){font-size:13px}.assignment-inbox{position:fixed;inset:0;z-index:1400;background:#f2f6f3;color:#263f35;overflow:auto}.received-page{padding:30px;max-width:1450px;margin:auto}.received-page header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.received-page h1{margin:4px 0;font-size:30px}.received-page header p{margin:7px 0;color:#54715f}.assignment-inbox button{padding:10px 14px;border:1px solid #adc9b7;background:#fff;border-radius:7px;color:#284e3b;font-weight:650;cursor:pointer}.assignment-inbox button:disabled{opacity:.45;cursor:default}.assignment-inbox .review-primary{background:#2c7658;color:#fff;border-color:#2c7658;font-size:16px}.received-toolbar{display:flex;align-items:center;gap:20px;margin:25px 0}.received-empty{background:#fff;border:1px solid #d4dfd7;border-radius:12px;padding:40px;text-align:center}.received-group{margin:25px 0;background:#fff;border:1px solid #cadbd0;border-radius:12px;padding:20px;overflow:auto}.received-group h2{font-size:20px}.received-group table{width:100%;border-collapse:collapse}.received-group th,.received-group td{text-align:left;padding:14px 10px;border-bottom:1px solid #e0e9e3}.received-group th{color:#557462;font-size:13px}.received-group small{display:block;margin-top:6px;color:#6b7d70}.received-group td button{margin:3px 6px 3px 0}.assignment-inbox.reviewing{display:grid;grid-template-columns:minmax(0,1fr) 350px;overflow:hidden}.review-workspace{min-width:0;min-height:0}.review-workspace .workbench-app{height:100%;grid-template-rows:auto auto minmax(0,1fr)}.review-workspace .workspace-project{max-width:350px}.review-coach{padding:20px;background:#fff;border-left:1px solid #c3d6c8;overflow:auto}.review-heading{display:flex;flex-direction:column;gap:12px;font-size:12px;font-weight:750}.review-coach h2{font-size:23px;margin:22px 0 5px}.review-coach h3{font-size:17px}.review-coach p{line-height:1.5}.review-check{padding:12px;background:#edf5ef;border-radius:8px}.review-small{font-size:13px;color:#577261}.grade-options{border:0;padding:0;margin:18px 0;display:grid;grid-template-columns:1fr 1fr;gap:8px}.grade-options legend{font-weight:700;margin-bottom:8px}.grade-options label{display:flex;gap:6px;align-items:center;cursor:pointer}.review-feedback-label{display:block;font-weight:700}.review-feedback-label textarea{display:block;resize:vertical;width:100%;box-sizing:border-box;padding:10px;font:inherit;font-weight:400;border:1px solid #abc6b5;border-radius:8px;margin:8px 0 15px}.review-coach>.review-primary{width:100%}.review-confirm{padding:12px;background:#fff6df;border-radius:8px}.review-confirm button{margin:5px 5px 0 0}.student-work-context .assignment-feedback{flex-basis:100%}.student-work-context .student-send-assignment{background:#276d57;color:#fff;font-weight:750}.workbench-app[data-readonly=true] .save-indicator{background:#eff3f0;color:#4f6458}.student-work-context .assignment-feedback strong{margin-left:0}.student-work-context .assignment-feedback p{max-height:100px;overflow:auto}.student-table-scroll .assignment-feedback{min-width:240px;max-width:440px}.assignment-confirmation{position:fixed;inset:0;background:#10281e66;z-index:1700;display:grid;place-items:center;padding:24px}.assignment-confirmation section{background:#fff;max-width:520px;padding:30px;border-radius:14px;box-shadow:0 15px 60px #0003}.assignment-confirmation h2{margin-top:0}.assignment-confirmation p{line-height:1.6}.assignment-confirmation button{margin:10px 10px 0 0;padding:12px 18px;border:1px solid #96b69f;border-radius:7px;font-weight:700}.assignment-confirmation .confirm-send{background:#286b50;color:#fff}.assignment-confirmation label{display:flex;gap:10px;align-items:flex-start;line-height:1.5}.assignment-confirmation button:disabled{opacity:.5}@media(max-width:1000px){.assignment-inbox.reviewing{grid-template-columns:minmax(0,1fr) 290px}.review-coach{padding:14px}.received-page{padding:18px}}.supply-controls{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:0 0 13px}.supply-controls button{display:flex;align-items:center;justify-content:space-between;gap:4px;min-height:35px;padding:5px 7px;border:1px solid #dce7de;border-radius:6px;background:#f8faf7;color:#526c60;text-align:left;font:800 8px Manrope,Arial,sans-serif;letter-spacing:.03em}.supply-controls button:hover{border-color:#83b9a2;background:#f2f9f4}.supply-controls b{flex:none;padding:3px 4px;border-radius:3px;background:#f3e6e0;color:#b16455;font:800 8px Manrope,Arial,sans-serif}.supply-controls b.on{background:#dff2e8;color:#247c65}.supply-explainer{padding:0 0 11px;color:#82948b;font:600 9px DM Sans,Arial,sans-serif}.workspace-layout{display:grid;grid-template-columns:228px minmax(0,1fr);gap:18px;align-items:start}.library-panel{background:#fff;border:1px solid #dce5dd;border-radius:12px;padding:18px;box-shadow:0 12px 35px #3657450d}.library-heading{margin-bottom:16px}.library-heading p{margin:8px 0 0;color:#87998c;font-size:11px;line-height:1.5}.library-item{width:100%;display:flex;align-items:center;gap:10px;padding:10px 8px;margin:0 0 8px;border:1px solid #e1e9e0;border-radius:8px;background:#fbfcfa;text-align:left;color:#2c4539}.library-item:hover:not(:disabled){border-color:#79b89a;background:#f1f8f2;transform:translateY(-1px)}.library-item:active:not(:disabled){transform:none}.library-cables{order:2;margin:9px 0 4px;padding-top:12px;border-top:1px solid #dce8df}.library-cables>strong{display:block;margin:0 0 9px;color:#44705c;font:800 10px Manrope,Arial,sans-serif;letter-spacing:.1em}.library-item.active-cable{border-color:#2d8b75;background:#e9f6ef}.cable-setup small{display:block;color:#567166;line-height:1.45}.cable-setup>button{margin-top:9px;padding:7px;border:1px solid #8bbda4;border-radius:6px;background:#fff;color:#276b50;cursor:pointer}.library-item>span:nth-child(2){min-width:0;flex:1}.library-item strong{display:block;font:800 11px Manrope,Arial,sans-serif}.library-item small{display:block;margin-top:3px;color:#82968a;font-size:9px;line-height:1.3}.library-item b{color:#2d8b75;font-size:18px}.library-symbol{width:34px;height:34px;flex:none;display:grid;place-items:center;border-radius:7px;background:#e5f2e9;color:#287d68;font:800 19px Manrope,Arial,sans-serif}.library-symbol.lamp{background:#fff3d9;color:#c18a31}.library-help{border-top:1px solid #e7eee7;margin-top:15px;padding-top:15px}.library-help strong{font:800 10px Manrope,Arial,sans-serif;color:#526e5c}.library-help p{margin:6px 0 0;color:#87998b;font-size:10px;line-height:1.6}.part-inspector{margin-top:13px;padding:12px;border:1px solid #cfe4d4;border-radius:8px;background:#f5faf6}.part-inspector>strong{display:block;margin-bottom:9px;color:#325d48;font:800 10px Manrope,Arial,sans-serif}.variant-choice{display:grid;grid-template-columns:1fr 1fr;gap:5px}.variant-choice button{padding:7px 5px;border:1px solid #d6e2d8;border-radius:6px;background:#fff;color:#658071;font:800 10px Manrope,Arial,sans-serif}.variant-choice button.active{border-color:#398d6c;background:#e4f3e9;color:#247252}.variant-choice small{font:600 8px DM Sans,Arial,sans-serif}.page-picker{display:flex;align-items:center;gap:6px;color:#7f9387;font:800 9px Manrope,Arial,sans-serif;letter-spacing:.08em}.page-picker select{border:1px solid #d4e2d6;border-radius:5px;background:#fff;color:#2b7059;padding:5px 8px;font:800 11px Manrope,Arial,sans-serif}.grid-step-control{height:35px;display:flex;align-items:center;gap:4px;padding:0 7px;border:1px solid #dce5dd;border-radius:6px;background:#fff;color:#587368;font:800 10px Manrope,Arial,sans-serif;white-space:nowrap}.grid-step-control input{width:48px;min-width:0;border:0;border-bottom:1px solid #c9d9cc;border-radius:0;background:transparent;color:#286f5e;font:800 12px Manrope,Arial,sans-serif;text-align:center;outline:none}.grid-step-control input:focus{border-bottom-color:#247b67}.grid-step-control span{color:#829a8d;font-size:9px}.board-controls .zoom-label{min-width:43px;font-size:11px}.board-footer button{margin-left:0;padding:6px 8px;border-radius:5px;color:#287e67}.board-footer button:first-of-type{margin-left:auto;background:#eaf4ec}.board-footer button:hover{background:#dcefe1}.board-footer{flex-wrap:wrap}.board-footer>span:nth-child(2){flex:1 0 calc(100% - 20px);min-width:0;white-space:normal}.board-footer button:first-of-type{margin-left:0}.workbench-scroll{max-height:780px;min-height:560px;overscroll-behavior:contain}.workbench-scroll .konvajs-content{margin:14px auto 22px}.board-topline{height:auto;min-height:62px;gap:12px;flex-wrap:wrap;padding-top:9px;padding-bottom:9px}.board-actions{display:flex;align-items:center;gap:8px}.board-actions .check-btn{height:38px;background:#e6f4ea;border-color:#64aa82;color:#176b4d;font-size:12px;padding:0 16px}.board-actions .run-btn{height:38px;font-size:12px;padding:0 17px}.board-actions .board-controls{display:flex;align-items:center;margin-left:7px}.check-result{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 20px;border-bottom:1px solid #d5e4d8;background:#f0faf2;color:#2a6946;font-size:12px}.check-result.problem{border-bottom-color:#eecdbf;background:#fff5ee;color:#9a503c}.check-result strong{font-weight:800}.check-result span{line-height:1.35}@media(max-width:1050px){.workspace-layout{grid-template-columns:1fr}.library-panel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.library-heading,.library-help,.part-inspector{grid-column:1/-1}.library-heading{margin-bottom:0}.library-item{margin:0}.library-help{margin-top:3px;padding-top:10px}}@media(max-width:700px){.library-panel{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px}.library-item{padding:8px 5px}.library-symbol{width:28px;height:28px}.board-topline{height:auto;min-height:55px;gap:8px;flex-wrap:wrap;padding:9px 12px}.board-topline>div{gap:8px}.board-caption{display:inline;font-size:9px}.board-actions{width:100%;justify-content:space-between}.board-actions .board-controls{margin-left:auto}.board-footer{flex-wrap:wrap}.board-footer>span:nth-child(2){flex:1 0 calc(100% - 20px)}.board-footer button:first-of-type{margin-left:0}.workbench-scroll{min-height:450px}}:root{font-family:DM Sans,Arial,sans-serif;color:#253b38;background:#eef1ec;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px}button{font:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}.app-shell{min-height:100vh;background:radial-gradient(circle at 80% 0%,#f9faf6,#eef1ec 55%)}.topbar{height:77px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(34px,calc((100vw - 1500px)/2));border-bottom:1px solid #e4e9e3}.brand{display:flex;align-items:center;gap:12px;font-family:Manrope,Arial,sans-serif;font-size:19px;font-weight:800;letter-spacing:.045em;line-height:1;color:#243b37}.brand-mark{width:36px;height:36px;display:grid;place-items:center;border-radius:9px;background:#277b68;color:#fff;font-size:20px}.brand-light{color:#318a76}.brand small{display:block;margin-top:6px;color:#91a29a;font:500 9px DM Sans,Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase}.topbar-right{display:flex;gap:21px;align-items:center;color:#738780;font-weight:700;font-size:12px;letter-spacing:.04em}.lesson-pill{padding:7px 12px;background:#e8f2ed;color:#267a65;border-radius:5px;font-size:10px;letter-spacing:.11em}.topbar-divider{width:1px;height:22px;background:#dce4dd}.page-content{max-width:1516px;margin:auto;padding:46px 32px 34px}.intro-row{display:flex;justify-content:space-between;gap:35px;align-items:end;margin:0 0 31px}.eyebrow,.panel-eyebrow{display:flex;align-items:center;gap:10px;font:800 10px Manrope,Arial,sans-serif;color:#2d8b75;letter-spacing:.17em}.eyebrow-line{height:1px;width:21px;background:#2d8b75}.intro-row h1{font:800 clamp(35px,3.25vw,51px)/1.08 Manrope,Arial,sans-serif;letter-spacing:-.055em;margin:11px 0 10px;color:#203b36}.intro-row h1 em{font-style:normal;color:#2e947b}.intro-row p{margin:0;max-width:580px;color:#738680;font-size:14px;line-height:1.6}.status-card{width:292px;min-width:292px;background:#fff;border:1px solid #e0e8e1;border-radius:12px;padding:17px 20px 13px;box-shadow:0 10px 30px #5166580b}.status-top,.status-footer{display:flex;align-items:center;justify-content:space-between}.status-top{font:800 10px Manrope,Arial,sans-serif;letter-spacing:.13em;color:#81968d}.status-dot{width:8px;height:8px;border-radius:50%;background:#aebdb5;box-shadow:0 0 0 4px #eff3ef}.status-dot.energised{background:#30a27e;box-shadow:0 0 0 4px #e3f5eb}.status-lamp{display:flex;align-items:center;gap:14px;padding:20px 0 17px}.lamp-indicator{width:41px;height:41px;border-radius:50%;display:grid;place-items:center;background:#edf1ed;color:#8ca198;font-size:26px}.lamp-indicator.on{background:#fff1d5;color:#efa83e;box-shadow:0 0 25px #efb95485}.status-lamp strong{display:block;font:800 20px Manrope,Arial,sans-serif;letter-spacing:-.04em}.status-lamp small{display:block;color:#899b92;margin-top:4px;font-size:10px}.status-footer{border-top:1px solid #edf0eb;padding-top:12px;color:#899b92;font-size:10px;font-weight:700}.status-footer span:first-child{color:#2c8c74;letter-spacing:.08em}.lab-panel{border:1px solid #dce5dd;border-radius:12px;background:#fff;box-shadow:0 18px 50px #36574512;overflow:hidden}.lab-toolbar{padding:17px 22px;display:flex;align-items:center;gap:31px;flex-wrap:wrap;border-bottom:1px solid #e9eee9}.tool-section{display:flex;align-items:center;gap:15px}.toolbar-label{font:800 9px Manrope,Arial,sans-serif;color:#9aaa9f;letter-spacing:.16em;white-space:nowrap}.segmented{background:#f0f4ef;border:1px solid #e3e9e2;padding:3px;border-radius:8px;display:flex;gap:2px}.tool-btn{display:flex;align-items:center;gap:6px;padding:8px 11px;background:transparent;border:0;border-radius:6px;color:#60756d;font-size:11px;font-weight:700}.tool-btn.active{background:#fff;color:#247b67;box-shadow:0 1px 5px #1e3d2c1b}.colors{display:flex;gap:8px}.color-btn{width:22px;height:22px;border-radius:50%;border:3px solid #fff;background:var(--swatch);box-shadow:0 0 0 1px #cfd8cf}.color-btn.chosen{box-shadow:0 0 0 2px #358b73,0 0 0 5px #e3f1e9}.toolbar-spacer{flex:1}.action-buttons{display:flex;gap:7px;align-items:center}.icon-btn,.action-btn{height:35px;border:1px solid #dce5dd;border-radius:6px;background:#fff;color:#587368;display:flex;align-items:center;justify-content:center;gap:7px;font-size:11px;font-weight:800}.icon-btn{width:35px}.action-btn{padding:0 12px}.check-btn{color:#267b67}.run-btn{color:#fff;background:#267f69;border-color:#267f69;padding:0 15px;box-shadow:0 4px 11px #2e8b7340}.run-btn.running{background:#314a42;border-color:#314a42}.board-topline{height:55px;background:#fbfcfa;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid #e6ece5}.board-topline>div{display:flex;align-items:center;gap:15px}.mode-tag{font:800 10px Manrope,Arial,sans-serif;color:#2b826e;letter-spacing:.11em;background:#e5f2eb;padding:7px 9px;border-radius:4px;display:flex;align-items:center;gap:6px}.mode-tag i{width:6px;height:6px;background:#2f9e7c;border-radius:50%}.mode-tag.running{background:#e8f0ec}.board-caption{color:#a0afa4;font-size:10px;font-weight:800;letter-spacing:.1em}.board-controls{color:#7d9084;font-size:10px;font-weight:800}.board-controls button{background:none;border:0;color:#608073;font-weight:800}.board-controls button[aria-label]{font-size:18px;width:23px}.view-btn{font-size:10px!important}.board-control-divider{height:16px;width:1px;background:#dae3da}.workbench-scroll{overflow:auto;background:#f4f7f2;min-height:476px}.workbench-scroll .konvajs-content{margin:auto}.wire-cursor{cursor:crosshair}.board-footer{min-height:48px;display:flex;align-items:center;gap:9px;padding:10px 22px;border-top:1px solid #e5ebe4;color:#6d8378;font-size:11px;font-weight:600}.footer-dot{width:6px;height:6px;border-radius:50%;background:#3aa284;flex:none}.board-footer button{display:flex;align-items:center;gap:6px;margin-left:auto;background:none;border:0;color:#9aac9f;font-size:10px;font-weight:800;white-space:nowrap}.board-footer button svg{width:14px}.below-grid{display:grid;grid-template-columns:1fr 1.22fr;gap:18px;margin-top:20px}.feedback-panel,.guide-panel{background:#fff;border:1px solid #e2e9e2;border-radius:10px;padding:23px 26px;min-height:200px}.feedback-panel.problem{border-color:#ecc4b4;background:#fffaf7}.feedback-panel.good{border-color:#b9ddc8;background:#fbfffc}.feedback-panel h2{margin:13px 0 5px;font:800 20px Manrope,Arial,sans-serif;letter-spacing:-.035em}.feedback-panel p{margin:0;max-width:550px;color:#73867b;font-size:12px;line-height:1.6}.feedback-meta{border-top:1px solid #edf1ed;margin-top:19px;padding-top:11px;display:flex;align-items:center;gap:8px;color:#90a198;font-size:10px;font-weight:700}.feedback-icon{width:20px;height:20px;display:grid;place-items:center;border-radius:50%;border:1px solid #aebeb3;color:#6c8a77;font-size:12px}.guide-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}.guide-steps>div{display:flex;gap:10px}.guide-steps b{flex:none;color:#2a9477;font:800 12px Manrope,Arial,sans-serif}.guide-steps strong{display:block;color:#30473e;font:800 12px Manrope,Arial,sans-serif}.guide-steps small{display:block;margin-top:5px;color:#83958a;font-size:10px;line-height:1.5}.safety-note{margin:19px 2px 0;color:#a2aea4;font-size:10px;text-align:center}@media(max-width:1100px){.page-content{padding:35px 20px}.lab-toolbar{gap:18px}.toolbar-spacer{display:none}.action-section{width:100%;justify-content:space-between}.intro-row h1{font-size:39px}}@media(max-width:760px){.topbar{height:66px;padding:0 18px}.topbar-right{gap:9px;font-size:10px}.topbar-divider{display:none}.page-content{padding:28px 12px}.intro-row{align-items:stretch;flex-direction:column;gap:19px}.intro-row h1{font-size:36px}.status-card{width:100%;min-width:0}.lab-toolbar{padding:13px;gap:13px}.tool-section{gap:9px}.toolbar-label{font-size:8px}.action-buttons{flex-wrap:wrap}.action-section{align-items:start}.board-topline{padding:0 10px}.board-caption{display:none}.board-footer{padding:9px;font-size:10px}.below-grid{grid-template-columns:1fr}.guide-steps{gap:8px}.feedback-panel,.guide-panel{padding:20px}.view-btn{max-width:100px;text-align:center}}.app-shell .page-content{width:100%;max-width:none;padding-left:clamp(16px,2vw,48px);padding-right:clamp(16px,2vw,48px)}.app-shell .topbar{padding-left:clamp(16px,2vw,48px);padding-right:clamp(16px,2vw,48px)}.design-lab{display:flex;flex-direction:column;max-height:max(600px,calc(100dvh - 16px))}.design-lab>*{flex-shrink:0}.design-lab>.workbench-scroll{flex:0 1 auto;min-height:0;max-height:none}.mft-workspace-anchor{display:none}.mft-workbench.mft-workspace-floating{position:fixed;inset:auto;z-index:40;overflow:hidden}.mft-workspace-floating .mft-scaled-shell{overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;touch-action:pan-y}.mft-workspace-floating .mft-grab{touch-action:none}.mft-workspace-floating .mft-floating{touch-action:auto}.mft-workspace-floating .mft-report-body{overscroll-behavior:auto}.part-context-menu{position:fixed;z-index:1500;width:248px;padding:8px;border:1px solid #b7cbc2;border-radius:10px;background:#fbfdfb;box-shadow:0 10px 30px #183f352b;color:#29463c;outline:none}.part-context-menu small{display:block;padding:4px 8px 8px;color:#638076}.part-context-menu button{display:flex;justify-content:space-between;align-items:center;width:100%;padding:9px 8px;border:0;border-radius:5px;background:transparent;color:inherit;font:inherit;font-size:13px;cursor:pointer}.part-context-menu button:hover:not(:disabled),.part-context-menu button:focus-visible{background:#e1f0e8;outline:2px solid #32866e}.part-context-menu button:disabled{opacity:.4;cursor:default}.part-context-menu kbd{color:#6c8279;font-size:11px}.alignment-ribbon{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;padding:8px 16px;border-top:1px solid #e2eae5;border-bottom:1px solid #d4e1d9;background:#f3f8f4;color:#355d4e}.alignment-heading{display:flex;flex-direction:column;gap:5px;min-width:82px}.alignment-heading strong{font-size:11px;text-transform:uppercase;letter-spacing:.09em}.alignment-heading span{font-size:10px;color:#6a8175}.alignment-actions,.alignment-distribution{display:flex;gap:3px;align-items:center}.alignment-distribution{border-left:1px solid #ccddd2;padding-left:14px}.alignment-ribbon button{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:49px;padding:5px 7px;border:1px solid transparent;border-radius:6px;background:transparent;color:inherit;font:inherit;font-size:10px;cursor:pointer}.alignment-ribbon button:hover:not(:disabled),.alignment-ribbon button[aria-pressed=true]{border-color:#87b5a0;background:#e0efe5}.alignment-ribbon button:focus-visible{outline:2px solid #27846a;outline-offset:1px}.alignment-ribbon button:disabled{opacity:.35;cursor:default}.alignment-distribution label{display:flex;flex-direction:column;gap:4px;margin-right:5px;font-size:10px}.alignment-distribution select{max-width:124px;padding:4px 5px;border:1px solid #c0d4c7;border-radius:5px;background:#fff;color:#355d4e;font-size:11px}.alignment-help{margin-left:auto;display:flex;align-items:center;gap:7px;font-size:10px;color:#6a8175}.alignment-help span{max-width:180px;line-height:1.5}.alignment-help button{border-color:#cbdacf;min-width:40px;background:#fff}@media(max-width:1100px){.alignment-ribbon{gap:6px;padding:6px 10px}.alignment-help{width:100%;justify-content:space-between}.alignment-help span{max-width:none}.alignment-distribution{padding-left:6px}}.brand-mark{background:transparent;border-radius:0}.brand-mark img{display:block;width:36px;height:36px;object-fit:contain}.lab-panel .board-topline{height:auto;min-height:62px;padding:9px 20px;gap:10px;flex-wrap:wrap}.lab-panel .board-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.lab-panel .board-actions .check-btn{height:38px;background:#e6f4ea;border-color:#64aa82;color:#176b4d;font-size:12px;padding:0 16px}.lab-panel .board-actions .run-btn{height:38px;font-size:12px;padding:0 17px}.lab-panel .board-actions .board-controls{display:flex;align-items:center;margin-left:7px}.lab-panel .check-result{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 20px;border-bottom:1px solid #d5e4d8;background:#f0faf2;color:#2a6946;font-size:12px}.lab-panel .check-result.problem{border-bottom-color:#eecdbf;background:#fff5ee;color:#9a503c}@media(max-width:700px){.lab-panel .board-topline{padding:9px 12px}.lab-panel .board-actions{width:100%}.lab-panel .board-actions .board-controls{margin-left:auto}}.library-panel .library-item:not([data-library-id]){display:none}.library-search{box-sizing:border-box;width:100%;margin-top:12px;padding:10px 11px;border:1px solid #cbd9cf;border-radius:8px;background:#fff;color:#294237;font:inherit;font-size:12px}.library-search:focus{outline:2px solid #55a784;outline-offset:1px}.library-empty{padding:12px 18px;font-size:12px;color:#73877b}.lab-panel .board-actions .pre-btn{height:38px;background:#fff4dc;border-color:#e3b761;color:#765a20;font-size:12px;padding:0 15px}.lab-panel .board-actions .pre-btn.running{background:#e1a550;color:#fff}.straight-toggle{display:flex;align-items:center;gap:6px;white-space:nowrap;font-size:12px;color:#365b48;cursor:pointer}.straight-toggle input{accent-color:#238561}.trace-legend{display:flex;flex-wrap:wrap;gap:8px 18px;padding:9px 20px;background:#fff9eb;border-bottom:1px solid #e6d9b7;font-size:11px;color:#6c5b35}.trace-legend span{display:inline-flex;align-items:center;gap:7px}.trace-legend i{display:inline-block;width:22px;height:5px;border-radius:3px}.trace-live{background:#ffc85e;box-shadow:0 0 7px #eeb33c}.trace-current{background:repeating-linear-gradient(90deg,#edb63d 0 5px,transparent 5px 9px)}.trace-neutral{background:repeating-linear-gradient(90deg,#5aa9d0 0 5px,transparent 5px 9px)}.board-settings{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:9px 20px;background:#f7faf7;border-bottom:1px solid #dfe9df;color:#557369;font-size:11px;font-weight:700}.board-settings label{display:flex;align-items:center;gap:6px}.board-settings select,.inspector-field input,.inspector-field select{border:1px solid #cbdccf;border-radius:5px;background:#fff;color:#264d3c;padding:6px;font:inherit}.board-settings span{color:#80988b;font-size:10px}.protection-inspector>small{display:block;margin:-4px 0 10px;color:#668573}.inspector-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.inspector-field{display:flex;flex-direction:column;gap:3px;color:#557064;font-size:9px;font-weight:700}.inspector-field input,.inspector-field select{width:100%;min-width:0;font-size:10px}.inspector-check{grid-column:1/-1;flex-direction:row;align-items:center}.inspector-check input{width:auto}.check-issues{width:100%;max-height:160px;overflow:auto;margin:2px 0 0;padding-left:22px}.check-issues li{margin:2px 0}.check-issues button{border:0;background:transparent;color:#815047;text-align:left;padding:3px;font:inherit}.check-issues button.active{background:#ffe4d5;border-radius:4px;font-weight:800}.supply-controls{grid-template-columns:1fr}.library-panel{display:flex;flex-direction:column}.library-heading{order:0}.part-inspector{order:1;margin:0 0 13px}.library-item,.library-empty,.library-cables{order:2}.library-help{order:3}@media(max-width:1050px){.library-panel{display:grid}.part-inspector{order:1}.library-item,.library-cables{order:2}.library-cables{grid-column:1/-1}.library-help{order:3}}.extra-markings{grid-column:1/-1;display:flex;flex-direction:column;gap:5px;margin-top:5px}.extra-markings strong{color:#426657;font-size:9px}.extra-markings>button,.extra-marking-row button{border:1px solid #cbdccf;border-radius:5px;background:#fff;color:#287b5c;padding:5px;font-size:10px;font-weight:700}.extra-marking-row{display:grid;grid-template-columns:1fr 1fr 22px;gap:3px}.extra-marking-row input{min-width:0;border:1px solid #cbdccf;border-radius:5px;padding:4px;font-size:9px}.wire-inspector{padding:13px 20px 11px;border-bottom:1px solid #c9dfd2;background:#f3faf5;color:#315849}.wire-inspector-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.wire-inspector-heading strong{font:800 10px Manrope,Arial,sans-serif;letter-spacing:.08em}.wire-inspector-heading span{padding:5px 9px;border-radius:5px;background:#deefe3;font-size:11px;font-weight:800;white-space:nowrap}.wire-endpoints{margin:7px 0 11px;font-size:11px;overflow-wrap:anywhere}.wire-endpoints b{color:#278468;padding:0 4px}.wire-detail-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.wire-detail-fields label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:700}.wire-detail-fields input{width:100%;min-width:0;border:1px solid #b9d1c1;border-radius:6px;background:#fff;padding:8px 9px;color:#264737;font:inherit;font-size:12px}.wire-detail-fields input:focus{outline:2px solid #6ab48d;outline-offset:1px}.wire-inspector p{margin:9px 0 0;font-size:10px;line-height:1.45;color:#678574}@media(max-width:700px){.wire-inspector{padding:12px}.wire-detail-fields{grid-template-columns:1fr 1fr}.wire-detail-fields label:last-of-type{grid-column:1/-1}.wire-inspector-heading{align-items:flex-start;flex-direction:column}}.sleeve-fields{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:10px}.wire-detail-fields select{width:100%;min-width:0;border:1px solid #b9d1c1;border-radius:6px;background:#fff;padding:8px 9px;color:#264737;font:inherit;font-size:12px}.wire-detail-fields select:focus{outline:2px solid #6ab48d;outline-offset:1px}@media(max-width:700px){.sleeve-fields label:last-of-type{grid-column:auto}}.project-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 20px;margin:-14px 0 25px;padding:13px 16px;background:#fff;border:1px solid #dce7dd;border-radius:10px;box-shadow:0 7px 25px #315d4210}.project-identity,.project-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.project-identity label{color:#6d8578;font:800 10px Manrope,Arial,sans-serif;letter-spacing:.12em}.project-identity input{width:min(240px,55vw);padding:8px 10px;border:1px solid #cbdcd0;border-radius:6px;color:#284b3a;font:700 12px Manrope,Arial,sans-serif}.project-save-state{padding:5px 8px;border-radius:5px;background:#e7f3eb;color:#277457;font-size:10px;font-weight:800;white-space:nowrap}.project-save-state.dirty{background:#fff1d8;color:#8d6725}.project-actions button{padding:8px 10px;border:1px solid #d6e3d9;border-radius:6px;background:#f9fcf9;color:#366d54;font-size:11px;font-weight:800}.project-actions button:hover{background:#edf7ef;border-color:#79ad8a}.project-actions button.project-primary{background:#267f69;border-color:#267f69;color:#fff}.project-actions button.project-primary:hover{background:#1d6b56}.project-error{flex-basis:100%;margin:0;color:#a84735;font-size:11px;font-weight:700}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.modal-backdrop{position:fixed;inset:0;z-index:200;background:#193b30a8;display:flex;align-items:center;justify-content:center;padding:18px}.app-dialog{width:min(690px,100%);max-height:min(84vh,900px);overflow:auto;padding:24px;background:#fff;border:1px solid #c8dcd0;border-radius:13px;box-shadow:0 25px 75px #16332866;color:#294438}.app-dialog.compact-dialog{width:min(500px,100%)}.dialog-kicker{color:#2b9374;font:800 10px Manrope,Arial,sans-serif;letter-spacing:.14em}.app-dialog h2{margin:7px 0 11px;color:#233d31;font:800 22px Manrope,Arial,sans-serif;letter-spacing:-.025em}.app-dialog>p{color:#647f70;font-size:12px;line-height:1.55}.dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.dialog-header h2{margin-bottom:4px}.dialog-close{border:0;background:#edf4ee;border-radius:6px;width:32px;height:32px;color:#466a55;font-size:23px}.dialog-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin-top:23px}.dialog-actions button{padding:9px 12px;border:1px solid #d3e0d5;border-radius:6px;background:#f7faf7;color:#385d49;font-size:11px;font-weight:800}.dialog-actions button.primary{background:#267f69;border-color:#267f69;color:#fff}.app-dialog .dialog-error{padding:9px;border-radius:6px;background:#fff0e8;color:#a04331;font-weight:700}.project-list,.rules-list{display:flex;flex-direction:column;gap:8px;margin-top:15px;max-height:55vh;overflow:auto}.project-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:13px;text-align:left;border:1px solid #dbe8de;border-radius:8px;background:#f9fcf9;color:#2e503d}.project-row:hover{background:#eff8f0;border-color:#84b99a}.project-row strong{display:block;font-size:13px}.project-row small{display:block;margin-top:4px;color:#779282;font-size:10px}.project-row time{color:#819488;font-size:10px;white-space:nowrap}.rules-filters{display:flex;gap:8px}.rules-filters input,.rules-filters select{min-width:0;padding:9px;border:1px solid #c9ddcf;border-radius:6px;background:#fff;color:#315945;font:inherit;font-size:12px}.rules-filters input{flex:1}.rule-row{padding:12px 14px;border:1px solid #deeadf;border-radius:8px;background:#fbfdfb}.rule-row>div{display:flex;align-items:center;gap:7px}.rule-category,.rule-status{padding:3px 6px;border-radius:4px;background:#ecf3ed;color:#587b65;font-size:9px;font-weight:800}.rule-status.checked{background:#dff3e7;color:#20785a}.rule-row h3{margin:8px 0 4px;font:800 13px Manrope,Arial,sans-serif}.rule-row p{margin:0 0 7px;color:#526f5d;font-size:11px;line-height:1.45}.rule-row small{display:block;color:#829889;font-size:10px;line-height:1.4}.rule-row a{display:inline-block;margin-top:6px;color:#277a60;font-size:10px;font-weight:800;text-decoration:none}.rule-row a:hover{text-decoration:underline}@media(max-width:760px){.project-bar{margin:-10px 0 20px;padding:12px}.project-actions{width:100%}.project-actions button{flex:1 0 auto}.app-dialog{padding:17px}.project-row{align-items:flex-start;flex-direction:column}.rules-filters{flex-direction:column}}.feedback-source{display:inline-block;margin-top:9px;color:#287a5d;font-size:11px;font-weight:800;text-decoration:none}.feedback-source:hover{text-decoration:underline}.scene-switch{display:flex;align-items:center;padding:3px;border:1px solid #bac8c4;border-radius:8px;background:#edf2ee;gap:2px}.scene-switch button{border:0;border-radius:5px;background:transparent;color:#637971;padding:6px 9px;font-size:11px;font-weight:800;white-space:nowrap}.scene-switch button.active{background:#fff;color:#8b6d28;box-shadow:0 1px 5px #223b301c}.scene-switch button.active.night{background:#1c2b41;color:#e6efff}.workbench-scroll.night-scene{background:#101b2b}.control-inspector>small{display:block;margin-top:9px;color:#648273;font-size:10px;line-height:1.45}.control-inspector .inspector-grid{grid-template-columns:1fr 1fr}.control-inspector input[type=range]{accent-color:#31896f}.lab-panel .board-actions .mft-open-btn{height:38px;background:#eaf0fd;border-color:#869dc5;color:#274877;font-size:12px;padding:0 14px}.mft-panel{margin:24px 0;background:#f8fbfa;border:1px solid #cbded3;border-radius:12px;color:#244037;box-shadow:0 8px 28px #18382712;overflow:hidden}.mft-header{display:flex;justify-content:space-between;gap:16px;padding:22px 24px 16px;background:#eaf3ee}.mft-header h2{margin:5px 0 6px;font-size:22px}.mft-header p{margin:0;max-width:850px;font-size:12px;line-height:1.55;color:#587467}.mft-header>button{align-self:flex-start;border:0;border-radius:6px;background:#dcebe2;color:#395d48;font-size:25px;width:32px;height:32px}.mft-body{display:grid;grid-template-columns:minmax(280px,400px) 1fr;gap:22px;padding:20px 24px}.mft-meter{background:#3e4850;border:7px solid #303b42;border-radius:18px;padding:18px;box-shadow:inset 0 0 0 2px #718189,0 7px 16px #18312b28;color:#fff}.mft-screen{min-height:128px;display:flex;flex-direction:column;gap:6px;padding:15px;border:4px solid #667d76;border-radius:7px;background:#d6eee1;color:#183d37}.mft-screen small{font-size:10px;font-weight:800;letter-spacing:.07em}.mft-screen strong{font:800 28px Manrope,Arial,sans-serif}.mft-screen span{font-size:10px;line-height:1.35}.mft-controls{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-top:15px}.mft-controls label{display:flex;flex:1 1 110px;flex-direction:column;gap:5px;font-size:10px;font-weight:800}.mft-controls select{min-width:0;width:100%;padding:8px;border-radius:6px;border:1px solid #829296;background:#f6faf7;color:#193f35}.mft-test-button{padding:10px 13px;border:2px solid #f7ddae;border-radius:25px;background:#df8744;color:#fff;font-size:11px;font-weight:900;cursor:pointer}.mft-test-button:hover{background:#bf6b31}.mft-probes{display:flex;gap:17px;margin-top:15px;font-size:11px;font-weight:900}.mft-probes span:nth-child(1){color:#d79359}.mft-probes span:nth-child(2){color:#7bc4e4}.mft-probes span:nth-child(3){color:#e9d572}.mft-settings h3,.mft-table-wrap h3,.mft-assessment h3{margin:0 0 14px;font-size:15px}.mft-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mft-fields label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:800}.mft-fields input,.mft-fields select{min-width:0;width:100%;padding:9px;border:1px solid #bbd0c1;border-radius:6px;background:#fff;color:#284739;font:inherit}.mft-settings p{margin:14px 0 0;color:#668073;font-size:11px;line-height:1.5}.mft-fields .mft-prep-check{flex-direction:row;align-items:center;align-self:end;min-height:36px;padding:8px 10px;border:1px solid #bbd0c1;border-radius:6px;background:#fff}.mft-fields .mft-prep-check input{width:auto;margin:0 8px 0 0;accent-color:#27795d}.mft-table-wrap{padding:16px 24px;overflow:auto;border-top:1px solid #dce9df}.mft-table{width:100%;border-collapse:collapse;min-width:1040px;font-size:11px}.mft-table th,.mft-table td{padding:9px 7px;border-bottom:1px solid #dce8df;text-align:left;vertical-align:top}.mft-table thead{background:#e7f2ea;color:#375747}.mft-table tbody th{color:#226a52}.mft-pending{color:#81938a}.mft-stale,.mft-input,.mft-fail{color:#a74e36;font-weight:800}.mft-pass{color:#207657;font-weight:800}.mft-review{color:#966a22;font-weight:800}.mft-assessment{padding:16px 24px 22px;background:#f4f8f4;border-top:1px solid #dce9df}.mft-assessment ul{max-height:220px;overflow:auto;margin:0 0 14px;padding-left:20px;font-size:11px;line-height:1.7}.mft-assessment>p{font-size:11px;line-height:1.55;color:#5b7165}.mft-assessment a{color:#1d7458}@media(max-width:850px){.mft-body{grid-template-columns:1fr}.mft-fields{grid-template-columns:1fr 1fr}}@media(max-width:580px){.mft-body{padding:14px}.mft-fields{grid-template-columns:1fr}.mft-header,.mft-table-wrap,.mft-assessment{padding-left:14px;padding-right:14px}}.probe-workbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;flex-wrap:wrap;gap:7px;padding:10px 13px;background:#eaf1ed;border:1px solid #aec9b8;border-radius:9px;box-shadow:0 4px 14px #263f3524;color:#325446;font-size:11px}.probe-workbar strong{font-size:10px;letter-spacing:.08em}.probe-workbar button{min-height:34px;padding:6px 9px;border:1px solid #b5c8ba;border-radius:7px;background:#fff;color:#31473b;font-size:11px;font-weight:800;cursor:pointer}.probe-workbar button.red{border-left:5px solid #da5b54}.probe-workbar button.green{border-left:5px solid #218f67}.probe-workbar button.blue{border-left:5px solid #347bd7}.probe-workbar button.active{background:#264a40;color:#fff}.probe-workbar span{flex:1 1 180px;line-height:1.35}.probe-cursor{cursor:crosshair}.mft-body{grid-template-columns:minmax(330px,540px) minmax(260px,1fr);align-items:start}.mft-meter{padding:15px;border:7px solid #343d43;border-radius:28px;background:linear-gradient(145deg,#eff0ed,#d7ded9);box-shadow:inset 0 0 0 2px #aab9b4,0 10px 20px #1c302c34;color:#263a38}.mft-brand{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:1px 5px 9px}.mft-brand strong{font-size:17px;color:#303c42}.mft-brand span{font-size:9px;color:#657572;font-weight:800;letter-spacing:.08em}.mft-face{display:grid;grid-template-columns:minmax(160px,1.2fr) minmax(150px,1fr);gap:12px;align-items:stretch}.mft-screen{min-height:170px;border:6px solid #a2b1ac;border-radius:10px;background:linear-gradient(#e6ecca,#cedabc);box-shadow:inset 0 4px 10px #304d3a1e;color:#243a34}.mft-screen strong{font:800 clamp(26px,4vw,42px) "Courier New",monospace;line-height:1.05;letter-spacing:-.07em}.mft-screen span{font-size:10px;line-height:1.45}.mft-dial-wrap{padding:7px 9px;background:#ebf0ec;border:1px solid #aebdb4;border-radius:10px;text-align:center}.mft-dial-wrap>span{display:block;font-size:10px;font-weight:900;letter-spacing:.09em}.mft-dial{position:relative;width:70px;height:70px;margin:8px auto 7px;border:8px solid #313d41;border-radius:50%;background:conic-gradient(#a6cabb 0 72deg,#d7a2a0 72deg 144deg,#e1b483 144deg 216deg,#89afba 216deg 288deg,#d3c877 288deg);box-shadow:0 3px 6px #1a292760}.mft-dial:before{content:"";position:absolute;left:26px;top:-3px;width:4px;height:20px;border-radius:4px;background:#fff;transform-origin:2px 30px;transform:rotate(var(--dial-turn,0deg));box-shadow:0 1px 3px #0009}.mft-dial.dial-polarity{--dial-turn:72deg}.mft-dial.dial-insulation{--dial-turn:144deg}.mft-dial.dial-loop{--dial-turn:216deg}.mft-dial.dial-rcd{--dial-turn:288deg}.mft-dial-center{position:absolute;inset:9px;border:0;border-radius:50%;background:#303b41;color:#fff;font-size:23px;cursor:pointer;box-shadow:0 2px 5px #0008}.mft-dial-modes{display:flex;flex-wrap:wrap;justify-content:center;gap:4px}.mft-dial-modes button{padding:4px 5px;border:1px solid #b4bdb7;border-radius:4px;background:#f8faf7;color:#3a5350;font-size:9px;font-weight:800;cursor:pointer}.mft-dial-modes button.active{background:#315e50;border-color:#315e50;color:#fff}.mft-test-actions{display:flex;gap:10px;margin-top:13px}.mft-test-actions button{flex:1;min-height:40px;font-size:11px;font-weight:900;cursor:pointer}.mft-zero-button{border:2px solid #c9a65e;border-radius:22px;background:#f6e4ae;color:#563f23}.mft-meter-message{min-height:30px;margin:10px 3px 12px;font-size:11px;line-height:1.4;color:#425b53}.mft-backplane,.mft-tip-bay,.mft-jumper{margin-top:12px;padding:12px;border:1px solid #b8c6bd;border-radius:12px;background:#f8faf7}.mft-backplane-title{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:10px}.mft-backplane-title span{font-size:9px;color:#64796e}.mft-sockets{display:flex;justify-content:space-around;gap:9px;margin:12px 0}.mft-socket{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;min-width:68px;min-height:68px;border:2px solid #64716c;border-radius:12px;background:#dce3de;color:#2e4139;font-weight:900;cursor:pointer}.mft-socket i{display:block;width:19px;height:19px;border:5px solid #596b64;border-radius:50%;background:#152b25}.mft-socket.red i{border-color:#d95b56}.mft-socket.green i{border-color:#25966b}.mft-socket.blue i{border-color:#4084d8}.mft-socket small{font-size:9px}.mft-plugs{display:flex;flex-wrap:wrap;gap:6px}.mft-plug-row{display:flex;align-items:center;gap:3px}.mft-plug-row>button:first-child,.mft-tip-row>button:first-child{display:flex;align-items:center;gap:4px;padding:6px 8px;border:1px solid #b6c9be;border-radius:6px;background:#fff;color:#3b5149;font-size:10px;font-weight:800;cursor:pointer}.mft-plug-row button.selected,.mft-tip-row button.selected{outline:3px solid #e3ae48}.mft-plug-row i,.mft-tip-row i{display:inline-block;width:9px;height:17px;border-radius:5px;background:var(--probe-color)}.mft-plug-row.red,.mft-tip-row.red{--probe-color:#d85650}.mft-plug-row.green,.mft-tip-row.green{--probe-color:#23976e}.mft-plug-row.blue,.mft-tip-row.blue{--probe-color:#4385d8}.mft-plug-row small{font-size:9px;color:#71827c}.mft-unplug,.mft-tip-row>button:last-child{border:0;background:transparent;color:#796b63;font-size:10px;cursor:pointer}.mft-tip-bay>strong,.mft-jumper>strong{font-size:10px;letter-spacing:.06em}.mft-tip-bay p,.mft-jumper p{margin:5px 0 9px;font-size:10px;line-height:1.4}.mft-tip-list{display:grid;gap:5px}.mft-tip-row{display:flex;align-items:center;gap:8px}.mft-tip-row span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.mft-null-pad{width:100%;margin-top:9px;padding:10px;border:2px solid #b87b4b;border-radius:8px;background:linear-gradient(120deg,#f0d5ac,#ce9462,#f5ddb8);color:#4e3423;font-size:11px;font-weight:900;cursor:pointer}.mft-jumper button{margin-right:6px;padding:6px 8px;border:1px solid #9e80b2;border-radius:6px;background:#f7f0fa;color:#673f7c;font-size:10px;font-weight:800;cursor:pointer}.mft-ir-progress{align-self:end;padding:9px;border-radius:6px;background:#eef5ee;font-size:10px}.mft-source-control{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:6px;border:1px solid #c7d5c9;border-radius:6px;font-size:10px}.mft-source-control button{padding:7px;border:1px solid #8ba59b;border-radius:5px;background:#dbe5df;color:#274037;font-size:10px;font-weight:800;cursor:pointer}.mft-source-control button.on{background:#bf6049;color:#fff}@media(max-width:900px){.mft-body{grid-template-columns:1fr}.mft-meter{max-width:620px}.mft-face{grid-template-columns:1fr 1fr}}@media(max-width:530px){.mft-face{grid-template-columns:1fr}.mft-dial-wrap{display:flex;align-items:center;gap:8px}.mft-dial{flex:none;margin:4px}.mft-dial-modes{justify-content:flex-start}.mft-brand{flex-direction:column}.probe-workbar{position:relative}}.mft-screen strong>span{font-size:inherit;line-height:inherit}.workbench-stage-stack{position:relative;margin:14px auto 22px;isolation:isolate}.workbench-stage-stack .konvajs-content{margin:0!important}.mft-workbench{position:absolute;inset:0;z-index:20;pointer-events:none}.mft-lead-svg{position:absolute;inset:0;overflow:visible;pointer-events:none}.mft-floating{position:absolute;pointer-events:auto;filter:drop-shadow(0 15px 17px #1f343559);font-family:Arial,sans-serif;color:#263a40;touch-action:none}.mft-grab{height:25px;display:flex;align-items:center;justify-content:space-between;padding:2px 12px 2px 20px;border:1px solid #77888b;border-radius:13px 13px 3px 3px;background:#d5dfdf;font-size:10px;font-weight:800;letter-spacing:.11em;cursor:grab;-webkit-user-select:none;user-select:none}.mft-grab:active{cursor:grabbing}.mft-grab button{border:0;border-radius:50%;width:20px;height:20px;background:#f6f9f8;color:#4d6164;font-size:16px;line-height:15px}.mft-photo{position:relative;width:100%;background:#fff;line-height:0;-webkit-user-select:none;user-select:none}.mft-photo img{display:block;width:100%;height:auto;pointer-events:none}.mft-lcd{position:absolute;left:19.2%;top:27%;width:28.6%;height:47%;padding:5px 8px;background:linear-gradient(135deg,#cdd1be,#afb9a6);box-shadow:inset 0 0 5px #52635b77;border-radius:3px;display:flex;flex-direction:column;justify-content:space-between;line-height:1;color:#252f2b;overflow:hidden}.mft-lcd small{font:700 10px Courier New,monospace}.mft-lcd strong{font:700 30px Courier New,monospace;letter-spacing:-.08em;white-space:nowrap}.mft-photo-hit{position:absolute;top:34%;width:15%;aspect-ratio:1;border:5px solid #283039;border-radius:50%;background:radial-gradient(circle at 40% 35%,#59616a,#172027 68%);box-shadow:inset 2px 2px 4px #aaa7,0 3px 3px #0007;cursor:pointer}.mft-photo-hit.left{left:54.3%}.mft-photo-hit.right{left:73.4%}.mft-photo-pointer{position:absolute;left:calc(50% - 4px);top:5%;width:8px;height:20px;border-radius:4px;background:#c7d1cf;box-shadow:0 1px 3px #000;transform-origin:4px 28px}.mft-photo-pointer.turn-1{transform:rotate(60deg)}.mft-photo-pointer.turn-2{transform:rotate(125deg)}.mft-photo-pointer.turn-3{transform:rotate(205deg)}.mft-photo-pointer.turn-4{transform:rotate(275deg)}.mft-photo-test{position:absolute;background:transparent;border:0;border-radius:30px}.mft-photo-test:hover,.mft-photo-test:focus-visible{outline:2px solid #f2d74d;background:#f5db391f}.mft-photo-test.left-test{left:2.5%;top:27%;width:10%;height:19%}.mft-photo-test.right-test{right:3%;top:27%;width:10%;height:19%}.mft-photo-test.null-key{left:2.3%;top:52%;width:10%;height:22%}.mft-rear{display:flex;align-items:center;gap:8px;padding:3px 10px;background:#e8eeed;border:1px solid #859695;border-radius:3px;font-size:10px}.mft-rear-label{font-size:9px;font-weight:900;white-space:nowrap}.mft-ports,.mft-lead-tray{display:flex;gap:5px;align-items:center}.mft-port{display:flex;gap:3px;align-items:center;padding:3px 5px;border:1px solid #697b78;border-radius:4px;background:#f9fbf9;color:#29433b;font-size:10px;font-weight:900}.mft-port i{width:11px;height:11px;border:3px solid #4b5e5b;border-radius:50%;background:#202929}.mft-port.red i{border-color:#d64b4c}.mft-port.green i{border-color:#218c65}.mft-port.blue i{border-color:#317acd}.mft-lead-handle{display:flex;align-items:center;gap:3px;padding:3px 4px;border:1px solid #9caaa8;border-radius:4px;background:#fff;font-size:9px;font-weight:900;touch-action:none}.mft-lead-handle.active{outline:2px solid #f1b341}.mft-lead-handle i{width:6px;height:18px;border-radius:3px;background:#999}.mft-lead-handle.red i{background:#d64b4c}.mft-lead-handle.green i{background:#218c65}.mft-lead-handle.blue i{background:#317acd}.mft-lead-handle small{font-size:7px;color:#697a74}.mft-quickbar{display:flex;gap:4px;padding:4px 8px;background:#dfe8e5;border:1px solid #829590;border-radius:0 0 7px 7px}.mft-quickbar button{padding:3px 6px;border:1px solid #b4c6bc;border-radius:4px;background:#fff;color:#365448;font-size:9px;font-weight:800}.mft-report{margin-top:3px;border:1px solid #9baea8;border-radius:6px;background:#f6faf7}.mft-report summary{padding:5px 8px;font-size:10px;font-weight:900;cursor:pointer}.mft-report-body{max-height:300px;overflow:auto;padding:9px;font-size:10px}.mft-report-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.mft-report-controls label{display:flex;flex-direction:column;gap:2px;font-size:9px;font-weight:700}.mft-report-controls input,.mft-report-controls select{width:100%;min-width:0;padding:3px;border:1px solid #b6c7bf;border-radius:3px;background:#fff;font-size:9px}.mft-report table{width:100%;margin-top:8px;border-collapse:collapse;font-size:9px}.mft-report th,.mft-report td{padding:3px;border-bottom:1px solid #d3dfd8;text-align:left}.mft-report p{font-size:9px;line-height:1.35;color:#61776c}.view-action-divider{width:1px;height:22px;background:#dce5dd;margin:0 2px}.page-picker-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.page-custom-fields{display:flex;gap:7px;align-items:center}.page-custom-fields label{display:flex;align-items:center;gap:3px;color:#718c7b;font:800 9px Manrope,Arial,sans-serif}.page-custom-fields input{width:65px;padding:4px 5px;border:1px solid #cbdccf;border-radius:5px;background:#fff;color:#285942;font:800 10px Manrope,Arial,sans-serif}.board-topline{height:auto;min-height:55px;gap:9px;flex-wrap:wrap;padding-top:8px;padding-bottom:8px}.board-topline>div{flex-wrap:wrap}.view-action-btn{height:35px;padding:0 9px;border:1px solid #dce5dd;border-radius:6px;background:#fff;color:#587368;font-size:11px;font-weight:800}.view-action-btn:hover,.view-action-btn.active{border-color:#2b8b70;background:#e7f4ed;color:#216b56}.workbench-nav-overlay{position:absolute;inset:0;z-index:12;touch-action:none;-webkit-user-select:none;user-select:none}.workbench-nav-overlay.zoom-mode{cursor:crosshair}.workbench-nav-overlay.pan-mode{cursor:grab}.workbench-nav-overlay.pan-mode:active{cursor:grabbing}.workbench-zoom-selection{position:absolute;border:2px dashed #16765d;background:#2b9b7550;box-shadow:0 0 0 1px #fff inset;pointer-events:none}.mft-grab-actions{display:flex;align-items:center;gap:4px}.mft-grab-actions button:first-child{width:30px;border-radius:6px;font-size:10px;font-weight:900}.mft-scaled-shell{position:relative;overflow:visible}.mft-scaled-content{position:absolute;top:0;left:0;width:500px;transform-origin:top left}.mft-photo-hit{top:32.5%}.mft-photo-hit.left{left:53.9%}.mft-photo-hit.right{left:72.2%}.mft-stop-hit{position:absolute;width:4.8%;aspect-ratio:1;transform:translate(-50%,-50%);padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer}.mft-stop-hit:hover,.mft-stop-hit:focus-visible{outline:2px solid #f4d145;background:#f4d14533}.mft-grab{padding:2px 6px;font-size:9px;letter-spacing:.04em}.mft-grab>span:first-child{white-space:nowrap}.mft-grab-actions{flex:none}.mft-mode-hit{position:absolute;left:9.2%;top:38%;width:5.2%;height:16%;padding:0;border:0;border-radius:45%;background:transparent;cursor:pointer}.mft-mode-hit:hover,.mft-mode-hit:focus-visible{outline:2px solid #f4d145;background:#f4d14533}.cable-radius-control{position:absolute;z-index:8;display:flex;align-items:center;gap:2px;transform:translate(-50%,-50%);padding:3px;border:1.5px solid #b36a2c;border-radius:7px;background:#fffaf0;box-shadow:0 3px 10px #35251945;color:#683c20;font:700 11px Arial,sans-serif;white-space:nowrap}.cable-radius-control input{width:54px;height:25px;padding:2px 3px;border:1px solid #e3c7a9;border-radius:4px;background:#fff;color:#4f321f;text-align:right;font:700 12px Arial,sans-serif}.cable-radius-control button{width:23px;height:25px;padding:0;border:0;border-radius:4px;background:#f4dfc6;color:#62391f;font:800 16px Arial,sans-serif}.cable-radius-control button:hover,.cable-radius-control button:focus-visible{background:#e9bd8a;outline:1px solid #a65623}.cable-radius-control span{padding-right:2px}.mft-lcd-top{display:flex;align-items:center;gap:5px;white-space:nowrap}.mft-null-symbol{flex:none;width:23px;height:18px}.mft-probe-status{height:18px;display:flex;align-items:center;justify-content:space-around;background:#e8eeed;border-inline:1px solid #859695;font:700 9px Arial,sans-serif}.mft-quickbar button:disabled{opacity:.5;cursor:default}.mft-port.active{outline:2px solid #f1b341;outline-offset:1px}.mft-ring-report .mft-report-body{max-height:245px;overscroll-behavior:contain}.mft-ring-report caption{text-align:left;font-weight:700;margin-top:6px}.mft-probe-status,.mft-quickbar{flex-wrap:wrap}.assessment-outlet-probes{display:flex;gap:5px;flex-wrap:wrap;margin:8px 0}.mft-ring-report [role=status]{font-weight:700;color:#284e40}.workbench-app{height:100dvh;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;overflow-anchor:none}.workbench-app .topbar{height:auto;min-height:52px;padding:5px 12px;gap:16px}.workbench-app .topbar>.brand{flex:none}.workbench-app .brand{font-size:16px;gap:8px}.workbench-app .brand-mark{width:30px;height:30px}.workbench-app .brand small{font-size:8px;margin-top:4px}.workbench-app>.page-content{display:grid;grid-template-rows:minmax(0,1fr);gap:8px;min-height:0;margin:0;padding:8px}.workbench-app .project-bar{flex:1;min-width:0;margin:0;padding:0;gap:6px 12px;border:0;border-radius:0;box-shadow:none;background:transparent}.workbench-app .project-identity{flex-wrap:nowrap}.workbench-app .project-identity input{width:210px}.workbench-app .project-identity input{padding:6px 8px}.workbench-app .project-actions button{padding:6px 9px}.workbench-app .workspace-layout{grid-template-columns:228px minmax(0,1fr);gap:8px;min-height:0;align-items:stretch}.workbench-app .library-panel{display:flex;flex-direction:column;min-width:0;min-height:0;padding:12px;overflow:auto;overscroll-behavior:contain;overflow-anchor:none;scrollbar-gutter:stable}.workbench-app .library-panel>*{flex-shrink:0}.workbench-app .status-card{order:-3;width:100%;min-width:0;padding:10px;margin-bottom:12px}.workbench-app .status-top{font-size:9px;letter-spacing:.06em}.workbench-app .status-lamp{padding:10px 0;gap:8px}.workbench-app .status-lamp strong{font-size:14px}.workbench-app .lamp-indicator{width:27px;height:27px;font-size:20px}.workbench-app .status-footer{flex-direction:column;align-items:start;gap:5px;padding-top:8px;font-size:9px}.workbench-app .supply-controls,.workbench-app .supply-explainer{padding-bottom:6px}.workbench-app .wire-inspector{order:1;padding:10px;margin-bottom:12px;border:1px solid #c9dfd2;border-radius:8px}.workbench-app .wire-inspector-heading{flex-direction:column;align-items:start;gap:6px}.workbench-app .wire-inspector-heading span{white-space:normal}.workbench-app .wire-detail-fields{grid-template-columns:1fr;gap:8px}.workbench-app .wire-detail-fields label:last-of-type{grid-column:auto}.workbench-app .check-result{order:-2;padding:10px;margin-bottom:12px;border:1px solid #d5e4d8;border-radius:8px;overflow-wrap:anywhere}.workbench-app .check-result .check-issues{max-height:none;margin:0;padding-left:16px}.workbench-app .trace-legend{order:-1;flex-direction:column;padding:10px;margin-bottom:12px;gap:8px}.workbench-app .workspace-help{order:4;margin-top:16px;font-size:11px}.workspace-help summary,.board-examples summary{cursor:pointer;font-size:11px;font-weight:800;color:#287e67}.workbench-app .intro-row{display:block;margin:12px 0}.workbench-app .intro-row h1{font-size:22px}.workbench-app .intro-row p{font-size:11px}.workbench-app .below-grid{display:flex;flex-direction:column;gap:8px;margin:10px 0}.workbench-app .feedback-panel,.workbench-app .guide-panel{min-height:0;padding:10px}.workbench-app .feedback-panel h2{font-size:15px}.workbench-app .guide-steps{grid-template-columns:1fr;margin-top:12px}.workbench-app .safety-note{text-align:left;line-height:1.5}.workbench-app .design-lab{min-height:0;max-height:none}.workbench-app .design-lab>.workbench-scroll{flex:1 1 0;min-height:0;overflow:auto;overflow-anchor:none;scrollbar-gutter:stable}.workbench-app .workbench-stage-stack{margin:12px auto}.workbench-app .lab-toolbar{flex-wrap:nowrap;gap:12px;padding:5px 10px;min-height:46px;overflow-x:auto}.workbench-app .tool-section{flex:none;gap:8px}.workbench-app .action-section{width:auto}.workbench-app .action-buttons{flex-wrap:nowrap}.workbench-app .toolbar-spacer{display:block}.workbench-app .tool-btn{padding:6px 8px}.workbench-app .board-topline{padding:5px 10px;gap:5px 12px;min-height:44px}.workbench-app .board-topline>div{gap:8px}.workbench-app .mode-tag{font-size:8px;padding:5px 6px;letter-spacing:.05em}.workbench-app .page-picker{font-size:8px;gap:4px}.workbench-app .page-picker select{padding:4px}.workbench-app .board-actions{width:auto;flex-wrap:nowrap!important;max-width:100%;overflow-x:auto}.workbench-app .board-actions>*{flex-shrink:0}.workbench-app .board-actions .action-btn{height:30px;padding:0 8px;font-size:10px}.workbench-app .board-caption{display:none}.workbench-app .board-settings{padding:5px 10px;gap:8px;flex-wrap:nowrap;overflow-x:auto}.workbench-app .board-settings>*{flex-shrink:0}.workbench-app .alignment-ribbon{height:60px;padding:4px 10px;gap:10px;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden}.workbench-app .alignment-ribbon button{padding:3px 6px}.workbench-app .alignment-ribbon button svg{width:18px;height:18px}.workbench-app .alignment-ribbon>*{flex-shrink:0}.workbench-app .alignment-heading{width:116px}.workbench-app .alignment-heading span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workbench-app .alignment-help{width:188px}.workbench-app .board-footer{position:relative;flex-wrap:nowrap;min-height:34px;height:34px;padding:5px 10px}.workbench-app .board-footer>span:nth-child(2){flex:1 1 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workbench-app .board-examples{flex:none}.board-examples>div{position:absolute;z-index:40;right:8px;bottom:calc(100% + 4px);width:min(300px,calc(100% - 16px));max-height:50dvh;overflow:auto;padding:8px;border:1px solid #b9d2c3;border-radius:8px;background:#fff;box-shadow:0 6px 25px #284b3b30}.workbench-app .board-examples button{width:100%;margin:0;padding:10px;color:#356c54;text-align:left}@media(max-width:1100px){.workbench-app .workspace-layout{grid-template-columns:200px minmax(0,1fr)}.workbench-app .toolbar-label{display:none}.workbench-app .tool-btn span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.workbench-app .tool-btn{width:30px;justify-content:center}.workbench-app .board-settings>span{display:none}.workbench-app .alignment-ribbon button{min-width:30px}.workbench-app .alignment-ribbon button span,.workbench-app .alignment-help>span{display:none}.workbench-app .alignment-heading{width:104px}.workbench-app .alignment-help{width:auto}}@media(max-width:1440px){.workbench-app .toolbar-label{display:none}}@media(max-width:650px){.workbench-app .topbar>.brand{display:none}.workbench-app .workspace-layout{grid-template-columns:156px minmax(0,1fr)}.workbench-app .library-panel{padding:8px}.workbench-app .topbar-right>span:not(.lesson-pill){display:none}.workbench-app .project-actions{flex-wrap:nowrap;overflow-x:auto}.workbench-app .project-actions button{flex:none}.workbench-app .library-item{gap:6px}.workbench-app .library-symbol{width:22px}}.app-version{font-size:10px;font-weight:600;letter-spacing:0;margin-left:8px;color:#668079;vertical-align:middle}.voltlab-workspace{--ui-ink: #243e37;--ui-muted: #566f65;--ui-line: #cbd8d1;--ui-green: #236c54;--ui-tint: #e8f2ec;--ui-font: "Segoe UI", Arial, sans-serif;font-family:var(--ui-font);color:var(--ui-ink);background:#edf1ee;grid-template-rows:auto auto minmax(0,1fr)}.voltlab-workspace button,.voltlab-workspace input,.voltlab-workspace select{font-family:var(--ui-font)}.voltlab-workspace button:focus-visible,.voltlab-workspace input:focus-visible,.voltlab-workspace select:focus-visible,.voltlab-workspace summary:focus-visible{outline:3px solid #267bcb;outline-offset:2px}.voltlab-workspace [hidden]{display:none!important}.workspace-titlebar{min-height:62px;padding:8px 20px;display:flex;align-items:center;gap:28px;background:#fff;border-bottom:1px solid #e2e9e4}.workspace-brand{display:flex;align-items:center;gap:9px;flex:none;font-size:20px;font-weight:800;letter-spacing:.02em}.workspace-brand img{width:32px;height:36px}.workspace-brand>span>span{color:var(--ui-green);font-weight:600}.workspace-brand small{display:block;font-size:10px;font-weight:500;letter-spacing:.025em;color:var(--ui-muted);margin-top:2px}.workspace-project{display:flex;align-items:center;gap:12px;min-width:0;flex:1}.workspace-project label{font-size:13px;font-weight:600;color:var(--ui-muted)}.workspace-project input{width:clamp(180px,30vw,420px);min-width:100px;height:40px;padding:8px 12px;font-size:15px;font-weight:600;color:var(--ui-ink);background:#f7faf8;border:1px solid var(--ui-line);border-radius:6px}.save-indicator{display:flex;align-items:center;gap:6px;font-size:12px;white-space:nowrap;color:var(--ui-muted)}.save-indicator i{width:6px;height:6px;border-radius:50%;background:#448869}.save-indicator.dirty{color:#825713}.save-indicator.dirty i{background:#bc812b}.quick-save{display:flex;align-items:center;justify-content:center;gap:8px;min-height:42px;min-width:90px;padding:8px 16px;border:1px solid var(--ui-green);border-radius:6px;color:#fff;background:var(--ui-green);font-size:15px;font-weight:600}.workspace-ribbon{position:relative;z-index:25;min-width:0;box-shadow:0 2px 4px #1a38220a}.ribbon-tabs{display:flex;align-items:stretch;min-height:44px;padding:0 16px;gap:4px;overflow-x:auto;background:#f5f8f6;border-bottom:1px solid var(--ui-line)}.ribbon-tabs>button{position:relative;flex:none;min-width:76px;padding:10px 18px;border:0;border-bottom:3px solid transparent;background:transparent;color:#3f594e;font-size:15px;font-weight:600}.ribbon-tabs>button:hover{background:#e8eeea}.ribbon-tabs>button.active{color:#165c44;background:#fff;border-bottom-color:#267858}.ribbon-preview-label{display:flex;align-items:center;margin-left:auto;padding:0 12px;flex:none;font-size:12px;color:#647a6e}.ribbon-panel{height:118px;display:flex;align-items:stretch;gap:0;padding:8px 12px 6px;background:#fff;border-bottom:1px solid var(--ui-line);overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.ribbon-group{position:relative;flex:none;min-width:0;display:flex;flex-direction:column;justify-content:space-between;gap:5px;padding:0 14px;border-right:1px solid #e0e7e2}.ribbon-group-controls{display:flex;align-items:center;gap:6px;flex:1}.ribbon-group-label{text-align:center;font-size:12px;font-weight:500;color:#617669;line-height:18px}.ribbon-button,.voltlab-workspace .drawing-tools .tool-btn{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-width:62px;height:74px;padding:8px 10px;border:1px solid transparent;border-radius:6px;color:var(--ui-ink);background:transparent;font-size:14px;font-weight:600;white-space:nowrap}.ribbon-button-icon{height:25px;display:grid;place-items:center}.ribbon-button-icon svg,.voltlab-workspace .drawing-tools .tool-btn svg{width:25px;height:25px}.ribbon-button:hover:not(:disabled),.voltlab-workspace .drawing-tools .tool-btn:hover:not(:disabled){background:#eef5f0;border-color:#b7cfbf}.ribbon-button.selected,.voltlab-workspace .drawing-tools .tool-btn.active{color:#17593f;background:var(--ui-tint);border-color:#91b6a0;box-shadow:none}.ribbon-button.primary{background:var(--ui-green);color:#fff;border-color:var(--ui-green);min-width:76px}.ribbon-button.primary:hover:not(:disabled){background:#16583f;border-color:#16583f}.voltlab-workspace .ribbon-button:disabled,.voltlab-workspace .drawing-tools .tool-btn:disabled{opacity:1;color:#8b9690;background:#f7f9f7;border-color:transparent;cursor:default}.voltlab-workspace .drawing-tools{display:flex;gap:4px}.voltlab-workspace .drawing-tools .tool-btn span{position:static;width:auto;height:auto;overflow:visible;clip-path:none}.ribbon-colours{display:flex;gap:4px}.voltlab-workspace .ribbon-colours .color-btn{width:48px;height:72px;padding:7px 2px;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:8px;border:1px solid transparent;border-radius:6px;background:transparent;box-shadow:none;color:var(--ui-ink)}.voltlab-workspace .ribbon-colours .color-btn i{display:block;width:24px;height:24px;border:2px solid #fff;border-radius:50%;background:var(--swatch);box-shadow:0 0 0 1px #9bac9f}.voltlab-workspace .ribbon-colours .color-btn span{font-size:12px;font-weight:600}.voltlab-workspace .ribbon-colours .color-btn.chosen{background:#e9f2ec;border-color:#94b8a1}.voltlab-workspace .ribbon-colours .color-btn:hover{background:#edf3ef}.ribbon-note{align-self:center;margin:0;padding:0 16px;color:var(--ui-muted);font-size:13px;line-height:1.6;white-space:nowrap}.voltlab-workspace .ribbon-panel .page-picker-group{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.voltlab-workspace .ribbon-panel .page-picker{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ui-ink)}.voltlab-workspace .ribbon-panel select,.voltlab-workspace .ribbon-panel input[type=number],.voltlab-workspace .ribbon-panel input[type=text],.voltlab-workspace .ribbon-panel input:not([type]){min-height:38px;padding:7px 8px;border:1px solid #afc3b6;border-radius:5px;font-size:14px;font-weight:500;background:#fff;color:var(--ui-ink)}.voltlab-workspace .ribbon-panel .grid-step-control{display:flex;align-items:center;gap:6px;height:auto;padding:0 5px;border:0;font-size:13px;background:none;color:var(--ui-ink)}.voltlab-workspace .ribbon-panel .grid-step-control input{width:64px}.voltlab-workspace .ribbon-panel .page-custom-fields input{width:70px;min-height:30px;padding:4px}.voltlab-workspace .ribbon-panel .page-custom-fields label{color:var(--ui-muted);font-size:12px}.ribbon-check{display:flex;align-items:center;gap:8px;font-size:14px;white-space:nowrap}.ribbon-check input{width:18px;height:18px;accent-color:var(--ui-green)}.voltlab-workspace .ribbon-panel .alignment-ribbon{height:auto;padding:0 10px;gap:8px;background:none;border:0;overflow:visible}.voltlab-workspace .ribbon-panel .alignment-heading{width:100px}.voltlab-workspace .ribbon-panel .alignment-heading strong{font-size:13px}.voltlab-workspace .ribbon-panel .alignment-heading span{font-size:12px;white-space:normal}.voltlab-workspace .ribbon-panel .alignment-ribbon button{min-width:54px;min-height:65px;font-size:12px;padding:6px}.voltlab-workspace .ribbon-panel .alignment-ribbon button span{display:block}.voltlab-workspace .ribbon-panel .alignment-ribbon button svg{width:24px;height:24px}.voltlab-workspace .ribbon-panel .alignment-distribution label span{font-size:12px}.voltlab-workspace .ribbon-panel .alignment-help{width:auto;font-size:12px}.voltlab-workspace .ribbon-panel .alignment-help>span{display:none}.voltlab-workspace .ribbon-panel .alignment-help button{min-height:28px;padding:4px 8px}.voltlab-workspace .ribbon-panel .scene-switch{height:44px;padding:3px}.voltlab-workspace .ribbon-panel .scene-switch button{min-height:36px;font-size:14px;padding:6px 14px}.ribbon-examples>summary{cursor:pointer;padding:13px 18px;font-size:14px;font-weight:600;border:1px solid #b9cfc0;border-radius:6px;background:#f4f9f5}.ribbon-examples>div{position:fixed;z-index:80;top:192px;left:min(530px,10vw);width:min(340px,90vw);max-height:calc(100dvh - 225px);overflow:auto;padding:8px;border:1px solid #b4cbbd;border-radius:8px;background:#fff;box-shadow:0 12px 35px #203b332b}.ribbon-examples button{display:block;width:100%;min-height:44px;text-align:left;padding:9px 12px;font-size:14px;color:var(--ui-ink);border:0;border-radius:4px;background:#fff}.ribbon-examples button:hover{background:var(--ui-tint)}.voltlab-workspace>.page-content{padding:8px 10px 10px 0}.voltlab-workspace .workspace-layout{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:8px;height:100%}.voltlab-workspace .workspace-layout.panel-docked{grid-template-columns:44px 306px minmax(0,1fr)}.panel-rail{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding-top:4px;background:#e9eee9;border-right:1px solid #d5dfd7}.panel-rail button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:44px;width:44px;padding:12px 7px;background:transparent;color:#476252;border:0;border-left:3px solid transparent;font-size:13px;font-weight:600}.panel-rail button span{writing-mode:vertical-rl}.panel-rail button svg{width:21px;height:21px;flex:none}.panel-rail button.active{border-left-color:var(--ui-green);background:#fff;color:#1b694d}.panel-rail button:hover{background:#fff}.voltlab-workspace .library-panel{display:flex;flex-direction:column;padding:0;overflow:hidden;border:1px solid var(--ui-line);border-radius:8px;background:#fff;box-shadow:none;scrollbar-gutter:auto}.voltlab-workspace .library-panel.floating{position:absolute;z-index:35;top:0;bottom:0;left:52px;width:min(336px,calc(100% - 64px));box-shadow:7px 10px 25px #243f392b}.side-panel-header{min-height:49px;padding:6px 8px 6px 15px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dfe7e1;background:#f9fbf9}.side-panel-header strong{font-size:16px;font-weight:650}.side-panel-header>div{display:flex;gap:2px}.side-panel-header button{display:grid;place-items:center;width:36px;height:36px;font-size:25px;border:0;border-radius:5px;background:transparent;color:#536f5f}.side-panel-header button[aria-pressed=true]{background:#e8f0eb;color:#205c41}.side-panel-header button:hover{background:#e1ede6}.side-panel-tabs{display:flex;padding:7px 10px 0;gap:4px;border-bottom:1px solid #dae5de}.side-panel-tabs button{flex:1;min-height:39px;padding:6px;border:0;border-bottom:3px solid transparent;color:#5a7165;background:#fff;font-size:14px;font-weight:600}.side-panel-tabs button[aria-pressed=true]{color:#1c6246;border-bottom-color:#327b58}.voltlab-workspace .library-panel .side-panel-scroll{flex:1 1 0;min-height:0;overflow:auto;padding:14px;overscroll-behavior:contain;scrollbar-gutter:stable}.voltlab-workspace .library-heading{margin:0 0 12px}.voltlab-workspace .library-heading .panel-eyebrow{display:none}.voltlab-workspace .library-heading p{font-size:13px;line-height:1.5;color:#526d5d;margin:0 0 12px}.voltlab-workspace .library-search{width:100%;min-height:42px;padding:9px 11px;border:1px solid #b8cbbf;border-radius:6px;font-size:14px;background:#fafcfb}.voltlab-workspace .library-item{display:grid;grid-template-columns:30px minmax(0,1fr) 14px;align-items:center;gap:9px;width:100%;min-height:75px;margin:0 0 7px;padding:11px 9px;border:1px solid #dbe5de;border-radius:7px;background:#fff;text-align:left}.voltlab-workspace .library-item:hover:not(:disabled),.voltlab-workspace .library-item.active-cable{background:#edf5ef;border-color:#83b29b}.voltlab-workspace .library-item strong{font-size:14px;line-height:1.4;font-weight:650;color:#263f32}.voltlab-workspace .library-item small{display:block;font-size:12px;line-height:1.45;color:#5c7266;margin-top:3px}.voltlab-workspace .library-item .library-symbol{font-size:22px;width:30px;height:34px}.voltlab-workspace .library-item>b{font-size:18px;color:#4e7b62}.voltlab-workspace .library-cables>strong{display:block;padding:13px 0 10px;font-size:12px;letter-spacing:.07em;color:#536d5a}.voltlab-workspace .part-inspector,.voltlab-workspace .wire-inspector{padding:12px;margin:0 0 12px;border:1px solid #c7d9cd;border-radius:7px;background:#f9fcf9}.voltlab-workspace .part-inspector>strong,.voltlab-workspace .wire-inspector-heading strong{font-size:15px;line-height:1.45;overflow-wrap:anywhere}.voltlab-workspace .part-inspector small,.voltlab-workspace .wire-inspector small,.voltlab-workspace .wire-inspector-heading span{font-size:12px;line-height:1.6;color:#556f5e;overflow-wrap:anywhere}.voltlab-workspace .inspector-grid,.voltlab-workspace .wire-detail-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.voltlab-workspace .inspector-field,.voltlab-workspace .wire-detail-fields label{font-size:13px;color:#385941;line-height:1.5;gap:5px}.voltlab-workspace .inspector-field input:not([type=checkbox]):not([type=range]),.voltlab-workspace .inspector-field select,.voltlab-workspace .wire-detail-fields input,.voltlab-workspace .wire-detail-fields select,.voltlab-workspace .extra-markings input{font-size:14px;min-height:40px;padding:7px 8px;border-radius:5px}.voltlab-workspace .part-inspector button,.voltlab-workspace .wire-inspector button{min-height:38px;padding:7px 9px;font-size:13px;line-height:1.4}.voltlab-workspace .board-settings{display:flex;flex-direction:column;align-items:stretch;gap:12px;margin-top:12px;padding:0;border:0;overflow:visible;background:transparent}.voltlab-workspace .board-settings label{display:flex;flex-direction:column;align-items:stretch;gap:5px;font-size:13px}.voltlab-workspace .board-settings select{min-height:40px;font-size:14px;padding:7px}.voltlab-workspace .board-settings>span{display:block;font-size:12px;line-height:1.6;white-space:normal;color:#5a7062}.panel-empty{padding:25px 7px;display:flex;flex-direction:column;align-items:center;text-align:center;color:#5c7464}.panel-empty svg{width:32px;height:32px;margin-bottom:14px;color:#478365}.panel-empty strong{font-size:16px;color:#345441}.panel-empty p{font-size:14px;line-height:1.6}.voltlab-workspace .check-result{display:flex;flex-direction:column;gap:12px;padding:13px;font-size:14px;line-height:1.55}.voltlab-workspace .check-result strong{font-size:15px}.voltlab-workspace .check-result .check-issues{padding-left:20px}.voltlab-workspace .check-result .check-issues button{font-size:13px;line-height:1.5;padding:8px 5px;min-height:40px}.voltlab-workspace .workspace-help{margin-top:0}.voltlab-workspace .workspace-help summary{display:none}.voltlab-workspace .workspace-help p,.voltlab-workspace .workspace-help small{font-size:13px;line-height:1.6}.voltlab-workspace .workspace-help .guide-steps strong{font-size:14px}.voltlab-workspace .trace-legend{font-size:13px;line-height:1.5}.voltlab-workspace .design-lab{display:flex;flex-direction:column;min-width:0;border-radius:8px;border:1px solid var(--ui-line);box-shadow:none}.workspace-board-status{flex:none;min-height:46px;display:flex;align-items:center;gap:12px;padding:5px 12px;border-bottom:1px solid #d8e1da;background:#fafcfb}.voltlab-workspace .workspace-board-status .mode-tag{font-family:var(--ui-font);font-size:12px;letter-spacing:0;padding:6px 8px;white-space:nowrap}.board-size-label{font-size:12px;color:#576f60;white-space:nowrap}.board-simulation-count{margin-left:auto;font-size:12px;color:#526959;white-space:nowrap}.source-control{display:flex;align-items:center;gap:8px;font-size:12px;min-height:34px;padding:5px 8px;border:1px solid #cfdbd2;border-radius:5px;background:#f3f7f4;color:#45604e;white-space:nowrap}.source-control b{font-size:11px;border-radius:4px;padding:3px 5px;background:#e4ebe5;color:#476150}.source-control.on b{background:#287754;color:#fff}.voltlab-workspace .source-control:disabled{opacity:1}.voltlab-workspace .board-footer{min-height:45px;height:45px;padding:5px 10px;font-size:13px;gap:8px;background:#fff}.voltlab-workspace .board-footer .board-controls{display:flex;align-items:center;gap:3px;flex-shrink:0}.voltlab-workspace .board-footer .board-controls button{display:grid;place-items:center;height:34px;min-width:34px;font-size:20px;margin:0;color:#3b604d;border:1px solid #d9e4dc;border-radius:4px}.voltlab-workspace .board-footer .board-controls .zoom-label{min-width:55px;font-size:13px}.workspace-error{position:fixed;right:20px;bottom:20px;max-width:480px;padding:16px;border:1px solid #c38370;border-radius:8px;background:#fff3ec;color:#793e29;z-index:90;font-size:14px}.voltlab-workspace .app-dialog{font-family:var(--ui-font)}.voltlab-workspace .app-dialog p,.voltlab-workspace .app-dialog button,.voltlab-workspace .app-dialog input,.voltlab-workspace .app-dialog select{font-size:14px}.voltlab-workspace .app-dialog button{min-height:42px}.voltlab-workspace .app-dialog .project-row strong{font-size:15px}.voltlab-workspace .app-dialog .project-row small{font-size:13px}@media(max-width:1100px){.workspace-titlebar{gap:16px;padding-inline:12px}.voltlab-workspace .workspace-layout.panel-docked{grid-template-columns:44px 280px minmax(0,1fr)}.ribbon-group{padding-inline:9px}.ribbon-preview-label,.board-simulation-count{display:none}.source-control{margin-left:auto}}@media(max-width:760px){.workspace-brand{font-size:16px}.workspace-brand small,.workspace-project label,.save-indicator{display:none}.workspace-project input{width:100%;font-size:14px}.workspace-titlebar{gap:12px;min-height:58px}.quick-save{min-width:44px;padding:8px;font-size:14px}.ribbon-tabs{padding-inline:4px;gap:0}.ribbon-tabs>button{min-width:64px;padding-inline:12px;font-size:14px}.voltlab-workspace .workspace-layout.panel-docked{grid-template-columns:44px minmax(0,1fr)}.voltlab-workspace .library-panel.docked{position:absolute;z-index:35;left:52px;top:0;bottom:0;width:min(306px,calc(100% - 64px));box-shadow:7px 10px 25px #243f392b}.board-size-label{display:none}.workspace-board-status{gap:6px;padding-inline:8px}.voltlab-workspace .board-footer{font-size:12px}}.teacher-workspace-host{height:100%}.teacher-workspace-host[hidden]{display:none!important}.access-screen{min-height:100%;height:100dvh;overflow:auto;padding:32px clamp(20px,5vw,80px);color:#233e36;background:radial-gradient(ellipse at 85% 5%,#dcece3 0,transparent 45%),#f2f5f2;font-family:Segoe UI,Arial,sans-serif;display:flex;flex-direction:column;align-items:center}.access-screen *{box-sizing:border-box}.access-screen button,.access-screen input{font:inherit}.access-screen button{cursor:pointer}.access-screen button:disabled{cursor:default}.access-screen button:focus-visible,.access-screen a:focus-visible,.access-screen input:focus-visible,.access-screen summary:focus-visible{outline:3px solid #2874b8;outline-offset:3px}.access-brand{align-self:stretch;display:flex;align-items:center;gap:12px;margin-bottom:32px;font-size:25px;font-weight:800;letter-spacing:.02em}.access-brand img{width:42px;height:46px}.access-brand div>span{color:#32765e;font-weight:600}.access-brand small{display:block;color:#61766a;font-size:11px;font-weight:500;letter-spacing:.025em}.access-brand>.access-preview{margin-left:auto;font-size:11px;font-weight:600;letter-spacing:.09em;color:#557363;border:1px solid #bdcfc1;padding:7px 11px;border-radius:20px}.access-card{width:min(840px,100%);background:#fff;border:1px solid #d6e0d8;border-radius:20px;padding:clamp(24px,4vw,46px);margin:auto 0;box-shadow:0 15px 50px #21482d09}.access-form-card{max-width:490px;padding:26px 36px}.access-eyebrow{margin:0 0 10px;color:#36775d;font-size:11px;font-weight:700;letter-spacing:.13em}.access-screen h1{font-size:clamp(25px,3vw,34px);line-height:1.2;font-weight:700;margin:0 0 12px;letter-spacing:-.025em}.access-intro{font-size:16px;color:#64766b;margin:0 0 27px;line-height:1.5}.access-form-card .access-intro{font-size:14px;margin-bottom:20px}.role-options{display:grid;grid-template-columns:1fr 1fr;gap:20px}.role-option{min-height:234px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:26px;border:1px solid #b9d0c0;border-radius:12px;background:#f3f9f5;color:#245540;transition:background .15s,border-color .15s}.role-option:hover{background:#e9f4ed;border-color:#3c8260}.role-option,a.access-back{text-decoration:none}a.access-back{display:inline-block}.role-option svg{width:55px;height:55px;margin-bottom:4px}.role-option strong{font-size:21px;font-weight:650}.role-option>span{font-size:14px;color:#5e7567;line-height:1.5}.role-option b{margin-top:auto;padding-top:14px;font-size:14px;font-weight:650}.student-option{background:#f8f9f8;border-color:#d9e0db;color:#5a6c61}.student-option b{color:#758479;font-size:12px;font-weight:500}.access-back{border:0;background:transparent;padding:0;margin:0 0 23px;color:#527061;font-size:13px!important}.access-field{display:block;color:#2c4d3c;font-weight:600;font-size:14px;margin:0 0 9px}.access-field input,.access-password input{display:block;width:100%;border:1px solid #bccfc2;background:#fbfcfb;border-radius:7px;height:46px;padding:10px 12px;font-size:17px;color:#233d30}.access-field input{margin:8px 0 19px}.access-password{position:relative;margin-bottom:19px}.access-password input{padding-right:65px}.access-password button{position:absolute;right:6px;top:6px;height:34px;border:0;border-radius:4px;background:transparent;color:#3e6952;font-size:13px;padding:0 10px}.access-password button:hover{background:#e9f1ec}.access-checkbox{display:flex;align-items:center;gap:11px;cursor:pointer;color:#365343;font-size:14px;margin:0 0 18px;line-height:1.4}.access-checkbox input{flex:none;width:22px;height:22px;accent-color:#286c50;margin:0;cursor:pointer}.access-checkbox small{display:block;font-size:11px;color:#6a7c70;margin-top:3px}.access-verification{padding:13px;border:1px solid #ccdacf;border-radius:7px;background:#f7faf7}.verification-mark{margin-left:auto;font-size:22px;color:#488565}.access-submit{width:100%;display:flex;justify-content:space-between;align-items:center;height:49px;padding:0 18px;border:1px solid #256e4e;border-radius:7px;background:#286e50;color:#fff;font-size:16px;font-weight:600!important}.access-submit:hover:not(:disabled){background:#19583e}.access-submit:disabled{background:#dbe7df;border-color:#ccdcd2;color:#647b6b}.access-error,.access-notice{font-size:14px;line-height:1.5;padding:11px 13px;border-radius:6px}.access-error{color:#902f22;background:#fff1ed;border:1px solid #e6c3b9}.access-error button{color:inherit;border:0;background:transparent;text-decoration:underline}.access-notice{color:#355d44;background:#edf5ee;border:1px solid #cadfcf}.access-privacy{font-size:12px;color:#63756a;margin-top:20px;line-height:1.6}.access-privacy summary{cursor:pointer;color:#526e5b}.access-footer{font-size:12px;color:#667c6e;padding-top:26px}.access-loading{text-align:center;padding:50px;font-size:18px}@media(max-height:800px)and (min-width:651px){.access-screen{padding-top:20px;padding-bottom:20px}.access-brand{margin-bottom:20px}.access-form-card{padding-top:22px;padding-bottom:22px}.access-back{margin-bottom:16px}.access-footer{padding-top:16px}}.teacher-account{display:flex;align-items:center;gap:12px;flex:none}.teacher-account span{color:#536f60;font-size:12px;line-height:1.5}.teacher-account strong{display:block;color:#2e5541;font-size:13px}.teacher-account button{background:#fff;color:#3f644f;border:1px solid #bdcfc1;border-radius:6px;min-height:40px;font-size:13px;padding:7px 12px}.student-workspace .workspace-titlebar{gap:18px}.student-workspace .workspace-project input{max-width:100%;flex-shrink:1}@media(max-width:1050px){.student-workspace .workspace-project label,.student-workspace .save-indicator{display:none}.student-workspace .workspace-project input{width:100%}}@media(max-width:650px){.access-screen{padding:20px 16px}.access-brand{margin-bottom:25px}.access-brand>.access-preview{font-size:9px;padding:6px 8px}.role-options{grid-template-columns:1fr;gap:12px}.role-option{min-height:195px;padding:22px}.access-form-card{padding:24px}.teacher-account span{display:none}.student-workspace .workspace-titlebar{gap:10px;padding:8px 12px;flex-wrap:wrap}}.teaching-dialog{width:min(1000px,calc(100vw - 48px));max-height:calc(100dvh - 48px);overflow-y:auto;padding:28px}.teaching-dialog .dialog-header{align-items:flex-start}.teaching-dialog .dialog-header p{margin:8px 0 0;font-size:15px;color:#63746a}.lesson-save-note{padding:13px 16px;margin:20px 0;background:#edf5ef;border:1px solid #cbdfd1;border-radius:7px;color:#42654f;font-size:14px}.lesson-list{display:grid;gap:12px}.lesson-row{display:flex;align-items:center;border:1px solid #d4dfd7;background:#fff;border-radius:9px;padding:8px 16px 8px 6px;gap:15px}.lesson-row.selected{border-color:#398365;box-shadow:inset 3px 0 #398365;background:#f7fbf8}.lesson-select{display:flex;align-items:center;gap:17px;text-align:left;flex:1;min-width:0;padding:12px;border:0;background:transparent;color:#254837}.lesson-number{font-size:21px;font-weight:700;color:#619576;padding:9px}.lesson-select strong{display:block;font-size:17px;line-height:1.5}.lesson-select small{display:block;font-size:13px;color:#63766a;margin:2px 0 6px}.lesson-select em{display:block;font-size:12px;color:#526f5a;font-style:normal}.lesson-actions{display:flex;gap:9px}.lesson-actions button{min-width:85px;min-height:43px;font-size:14px;font-weight:600;padding:8px 12px;border-radius:6px;border:1px solid #39775a;background:#327354;color:#fff}.lesson-actions button:disabled{opacity:1;color:#748378;border-color:#d4ddd6;background:#f1f4f1;cursor:default}.lesson-detail{margin-top:22px;padding-top:8px;border-top:1px solid #d5dfd7;font-size:14px;line-height:1.6;color:#46634f}.lesson-detail h3{font-size:18px;color:#254b35}.lesson-detail details{padding:10px 14px;background:#f6f8f5;border-radius:7px}.lesson-detail summary{cursor:pointer;font-weight:600}.lesson-detail a{color:#246443}.lesson-workspace-label{color:#306b4b;font-size:12px;white-space:nowrap}.forward-back{margin:20px 0 0;padding:8px 0;border:0;background:transparent;color:#32654c;font-size:15px;cursor:pointer}.forward-form{font-size:16px;color:#2c4b3b}.forward-circuit{margin:15px 0 24px;padding:16px 20px;border:1px solid #c8ddce;border-radius:9px;background:#f0f7f2}.forward-circuit small{font-size:12px;color:#526f5a}.forward-circuit h3{margin:6px 0;font-size:20px}.forward-circuit p{font-size:14px;line-height:1.5;margin:6px 0 0}.forward-form fieldset{margin:0 0 24px;border:0;padding:0;min-width:0}.forward-form legend{font-size:18px;font-weight:650;margin-bottom:15px}.forward-select-all,.forward-select-all label,.forward-deadline-options label{display:flex;align-items:center;gap:10px}.forward-select-all{justify-content:space-between;margin-bottom:12px;font-size:14px}.forward-select-all span{color:#687c6e}.forward-form input[type=checkbox],.forward-form input[type=radio]{width:22px;height:22px;flex:none;accent-color:#327354;cursor:pointer;margin:0}.forward-students{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.forward-student{display:flex;align-items:center;gap:12px;border:1px solid #cedbd2;padding:16px 14px;border-radius:8px;cursor:pointer}.forward-student.selected{background:#edf7f0;border-color:#398365}.forward-student strong{display:block;font-size:16px;line-height:1.4}.forward-student small{display:block;margin-top:5px;color:#64786b;font-size:13px}.forward-deadline-options{display:flex;gap:24px;flex-wrap:wrap;margin-bottom:16px}.forward-field{display:grid;gap:9px;font-size:15px}.forward-field input{border:1px solid #b9cfc0;border-radius:7px;height:46px;padding:10px 12px;width:min(300px,100%);font:inherit;font-size:17px;background:#fff;color:#254837}.forward-field input[type=number]{max-width:140px}.forward-field small{font-size:13px;color:#63796b;line-height:1.5}.forward-footer{border-top:1px solid #d5e1d9;padding-top:18px;display:flex;justify-content:space-between;align-items:center;gap:20px}.forward-footer p{font-size:14px;line-height:1.5;margin:0}.forward-send{flex:none;min-height:47px;padding:12px 24px;border-radius:7px;border:1px solid #286645;background:#327354;color:#fff;font-size:16px;font-weight:650}.forward-send:disabled{color:#6b7f70;background:#e7eee8;border-color:#cedacf;cursor:default}.forward-success{background:#edf8f0;border:1px solid #93bf9e;padding:16px 20px;margin-top:20px;border-radius:8px;color:#28523a}.forward-success strong,.forward-success span{display:block;line-height:1.5}.forward-success span{font-size:14px;margin-top:4px}.forward-loading,.forward-error{margin:25px 0;font-size:16px}.forward-error{color:#8b3425}.forward-error button{padding:10px 16px}.forward-form input:focus-visible,.forward-form button:focus-visible,.forward-back:focus-visible{outline:3px solid #2874b8;outline-offset:3px}@media(max-width:750px){.forward-students{grid-template-columns:1fr}.forward-footer{align-items:stretch;flex-direction:column}}@media(max-width:750px){.teaching-dialog{padding:20px;width:calc(100vw - 24px)}.lesson-row{flex-wrap:wrap;gap:0;padding:6px 12px 14px}.lesson-actions{margin-left:68px}.lesson-number{padding:5px}.lesson-select{padding:8px 4px}.lesson-select strong{font-size:15px}}.student-brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none;color:#244d3d;font-size:25px;font-weight:800;letter-spacing:.02em}.student-brand img{width:42px;height:46px}.student-brand b{color:#32765e;font-weight:600}.student-brand small{display:block;font-size:11px;font-weight:500;letter-spacing:.025em;color:#61766a}.student-access .access-back{display:inline-block;text-decoration:none}.student-portal{height:100dvh;overflow:auto;background:#f3f6f3;color:#26473a;font-family:Segoe UI,Arial,sans-serif}.student-portal *{box-sizing:border-box}.student-portal button{font:inherit;cursor:pointer}.student-portal button:disabled{cursor:default;opacity:.65}.student-portal button:focus-visible,.student-portal a:focus-visible,.student-access a:focus-visible{outline:3px solid #2874b8;outline-offset:4px}.student-topbar{min-height:92px;padding:20px clamp(24px,5vw,72px);background:#fff;border-bottom:1px solid #dbe5dd;display:flex;align-items:center;gap:25px}.student-role-tag{border:1px solid #cbdfd3;background:#eff6f0;border-radius:20px;padding:6px 12px;font-size:11px;font-weight:700;letter-spacing:.1em}.student-account{margin-left:auto;display:flex;align-items:center;gap:22px}.student-account strong{display:block;font-size:16px}.student-account small{display:block;font-size:13px;color:#657b6d;margin-top:4px}.student-account button{min-height:43px;padding:8px 16px;border:1px solid #bfcfc4;border-radius:7px;background:#fff;color:#3b614d;font-size:14px}.student-navigation{min-height:58px;padding:0 clamp(24px,5vw,72px);display:flex;align-items:center;gap:20px;background:#fff;border-bottom:1px solid #dbe5dd}.student-navigation span{padding:17px 4px;border-bottom:3px solid #32765e;font-size:16px;font-weight:650}.student-navigation a{margin-left:auto;color:#537561;font-size:13px;text-decoration:none}.student-main{width:min(1140px,100%);margin:0 auto;padding:44px 32px 30px}.student-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:30px}.student-eyebrow{font-size:11px;font-weight:700;letter-spacing:.14em;color:#528569;margin:0 0 10px}.student-heading h1{font-size:clamp(28px,4vw,36px);letter-spacing:-.025em;margin:0 0 12px;font-weight:700}.student-heading div>p:last-child{margin:0;font-size:16px;color:#637a6b;line-height:1.5}.student-load{min-width:124px;height:49px;display:flex;justify-content:center;align-items:center;gap:10px;padding:12px 22px;color:#fff;border:1px solid #2b6c50;border-radius:8px;background:#32765e;font-size:16px!important;font-weight:650!important}.student-load svg{width:22px;height:22px}.student-load:hover:not(:disabled){background:#245c46}.student-assignments{background:#fff;border:1px solid #d4e0d7;border-radius:13px;overflow:hidden;box-shadow:0 8px 30px #21482d05}.student-section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:22px 26px;border-bottom:1px solid #e3eae5}.student-section-heading h2{margin:0;font-size:18px;font-weight:650}.student-section-heading>span{color:#5c7866;font-size:13px}.student-assignments>.access-error{margin:20px 25px 0}.student-empty{text-align:center;padding:35px 24px 40px}.student-empty-icon{margin:0 auto 17px;width:76px;height:76px;border-radius:22px;background:#edf5ef;color:#609174;padding:10px}.student-empty-icon svg{width:100%;height:100%}.student-empty h3{margin:0 0 10px;font-size:22px;font-weight:600}.student-empty p{max-width:440px;margin:0 auto;font-size:15px;line-height:1.65;color:#6b7f72}.student-load-status{border-top:1px solid #e6ece7;margin:0;padding:15px 26px;font-size:13px;color:#637d6c;background:#fafcf9}.student-support{text-align:center;font-size:12px;margin:25px 0 0;color:#76887c}.student-table-scroll{overflow-x:auto}.student-assignments table{border-collapse:collapse;width:100%;text-align:left;font-size:14px}.student-assignments th{background:#f6faf6;font-size:12px;text-transform:uppercase;letter-spacing:.03em}.student-assignments th,.student-assignments td{padding:18px 24px;border-bottom:1px solid #e3ebe5}.role-option.student-option{background:#f3f9f5;border-color:#b9d0c0;color:#245540}.role-option.student-option b{font-size:14px;font-weight:650;color:inherit}.student-entry-link{font-size:14px;font-weight:600;color:#32765e;margin:0 16px}.student-workspace-host{height:100%}.student-workspace-host[hidden]{display:none!important}.student-workspace[data-role=student]{grid-template-rows:auto auto auto minmax(0,1fr)}.student-assignment-title{padding:0;border:0;background:transparent;color:#276346;font-weight:650!important;text-align:left;line-height:1.5;text-decoration:underline;text-underline-offset:3px}.student-received{display:block;font-size:12px;color:#637d6b;margin-top:7px}.student-open-work{min-height:44px;min-width:110px;padding:10px 15px;background:#32765e;color:#fff;border:1px solid #2e694f;border-radius:7px;font-weight:600!important}.student-work-context{display:flex;align-items:center;flex-wrap:wrap;gap:20px;padding:8px 22px;background:#edf6ef;border-bottom:1px solid #c8dccc;font-size:13px;color:#41634f}.student-work-context button{min-height:36px;padding:7px 12px;border:1px solid #b6d2c0;border-radius:6px;background:#fff;color:#28533c;font-size:14px}.student-work-context strong{margin-left:auto;font-weight:600}@media(max-width:680px){.student-topbar{padding:16px 20px;gap:15px;flex-wrap:wrap}.student-role-tag{margin-left:auto}.student-account{margin:0;width:100%;justify-content:space-between}.student-navigation{padding:0 20px}.student-main{padding:28px 20px}.student-heading{flex-wrap:wrap;gap:20px}.student-section-heading{padding:18px;align-items:flex-start}.student-section-heading h2{font-size:16px}.student-empty{padding:30px 20px}.student-empty h3{font-size:20px}}
