:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--surface-0:#0d1726;--surface-1:#142238;--surface-2:#1d3049;--surface-3:#27415e;--ink-on-dark:#f2f0e8;--ink-on-dark-muted:#c4cfda;--paper:#f0ecdf;--paper-deep:#ded8c8;--ink-on-paper:#172536;--hairline:#496782;--amber:#f2c85b;--amber-deep:#a56710;--danger:#f28b7e;--success:#79d49b;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--radius-sm:4px;--radius-md:6px;--motion-fast:.16s ease-out;--panel-shell:#34465c;--panel-face:#40536a;--panel-edge:#172331;--panel-print:#ede8d7;--panel-muted-print:#c9c5b7;--panel-plate:#e3dfd0;--lcd-surface:#94bf62;--lcd-ink:#162116}*{box-sizing:border-box}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.simulator-shell{width:100%;min-height:100dvh;padding:var(--space-4) max(var(--space-4),env(safe-area-inset-left)) var(--space-5);align-items:center;gap:var(--space-3);background:var(--surface-0);color:var(--ink-on-dark);flex-direction:column;font-family:Segoe UI,Arial,sans-serif;display:flex;overflow-x:hidden}.simulation-chrome{justify-content:flex-start;gap:var(--space-2);flex-wrap:wrap;width:min(96vw,1380px);display:flex}.mode-switch{min-width:44px;min-height:44px;padding:var(--space-2) var(--space-3);border:1px solid var(--hairline);border-radius:var(--radius-sm);color:var(--ink-on-dark);background:var(--surface-2);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;touch-action:manipulation;transition:background-color var(--motion-fast),border-color var(--motion-fast),transform var(--motion-fast);font:700 .75rem/1.1 Arial Narrow,Segoe UI,sans-serif}.mode-switch:hover:not(:disabled),.curriculum-item:hover:not(:disabled),.education-panel button:hover:not(:disabled),.evidence-board button:hover:not(:disabled){background:var(--surface-3);border-color:var(--amber)}.mode-switch:active:not(:disabled),.curriculum-item:active:not(:disabled),.education-panel button:active:not(:disabled),.evidence-board button:active:not(:disabled){transform:translateY(1px)}.mode-switch[aria-pressed=true]{background:var(--surface-1);border-color:var(--amber);box-shadow:inset 3px 0 var(--amber)}.mode-switch:focus-visible,.key-hit:focus-visible,.reference-drawer button:focus-visible,.curriculum-item:focus-visible,.education-panel button:focus-visible,.education-panel select:focus-visible,.education-panel textarea:focus-visible,.evidence-board button:focus-visible{outline:3px solid var(--amber);outline-offset:2px}.sim-mode{align-items:center;gap:var(--space-3);flex-direction:column;width:min(96vw,620px);min-width:0;display:flex}.training-mode,.exercise-mode{align-items:stretch;width:min(96vw,1380px)}.training-workspace{justify-content:center;align-items:start;gap:var(--space-4);grid-template-columns:minmax(190px,240px) minmax(420px,720px) minmax(280px,360px);width:100%;min-width:0;display:grid}.workspace-relay{justify-self:center;width:min(100%,720px);min-width:0}.curriculum-rail,.evidence-column{min-width:0;padding:var(--space-3);border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface-1);color:var(--ink-on-dark);font:400 .875rem/1.5 Segoe UI,Arial,sans-serif}.curriculum-rail h2,.evidence-board h2,.evidence-board h3{margin:0 0 var(--space-2);color:var(--ink-on-dark);letter-spacing:.03em;text-wrap:balance;font:700 1rem/1.2 Arial Narrow,Segoe UI,sans-serif}.curriculum-rail ol,.evidence-board ul{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.curriculum-item{width:100%;min-height:44px;padding:var(--space-2);border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--ink-on-dark);text-align:left;cursor:pointer;touch-action:manipulation;transition:background-color var(--motion-fast),border-color var(--motion-fast),transform var(--motion-fast)}.curriculum-item span{margin-top:var(--space-1);color:var(--ink-on-dark-muted);overflow-wrap:anywhere;font-size:.78rem;display:block}.curriculum-item strong{overflow-wrap:anywhere;display:block}.curriculum-item.active{border-color:var(--amber);box-shadow:inset 3px 0 var(--amber)}.curriculum-item.planned{color:var(--ink-on-dark-muted);cursor:not-allowed;border-style:dashed}.evidence-board{min-width:0;color:var(--ink-on-dark);font:400 .875rem/1.5 Segoe UI,Arial,sans-serif}.evidence-board p{margin:var(--space-2) 0;color:var(--ink-on-dark-muted)}.evidence-board li{gap:var(--space-1);min-width:0;padding:var(--space-2) 0;border-bottom:1px solid #4967828c;display:grid}.evidence-board code,.evidence-board strong,.evidence-board small{overflow-wrap:anywhere;word-break:break-word}.evidence-board code{color:var(--amber);font:600 .78rem/1.35 ui-monospace,SFMono-Regular,Consolas,monospace}.evidence-board small{color:var(--ink-on-dark-muted)}.evidence-board button{width:fit-content;max-width:100%;min-height:44px;padding:var(--space-2) var(--space-3);border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--ink-on-dark);cursor:pointer;touch-action:manipulation;transition:background-color var(--motion-fast),border-color var(--motion-fast),transform var(--motion-fast)}.evidence-board button:disabled,.education-panel button:disabled{opacity:.55;cursor:not-allowed}.relay-device{aspect-ratio:.8;border:clamp(3px, .7vw, 7px) solid var(--panel-edge);background:linear-gradient(135deg, #516278 0%, var(--panel-face) 42%, #374a60 100%);border-radius:clamp(18px,3vw,28px);grid-template-rows:minmax(0,10.5%) minmax(0,18%) minmax(0,22.5%) minmax(0,39%) minmax(0,10%);width:100%;padding:2.2% 4.4% 2.5%;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff3d,inset 0 0 0 2px #0a141e40,0 8px 18px #1e232747}.relay-device:after{content:"";pointer-events:none;opacity:.22;mix-blend-mode:soft-light;background:radial-gradient(at 20% 8%,#ffffff29,#0000 30%),linear-gradient(115deg,#0e1b282e,#0000 42%,#ffffff0d 78%,#07111c1f);position:absolute;inset:0}.relay-header{z-index:1;color:var(--panel-print);grid-template-columns:38% 62%;align-items:start;font-family:Arial,sans-serif;display:grid}.sel-brand{align-items:center;gap:5%;font-weight:700;display:flex}.sel-box{border:2px solid var(--panel-print);letter-spacing:.02em;border-radius:5px;padding:2% 6%;font-size:clamp(.8rem,3.9vw,2rem);line-height:1}.sel-stack{letter-spacing:.08em;font-size:clamp(.3rem,1.25vw,.68rem);line-height:1.35}.relay-title{text-align:right;color:var(--panel-print);letter-spacing:.11em;flex-direction:column;align-items:stretch;font-size:clamp(.3rem,1.45vw,.75rem);display:flex}.relay-title strong{letter-spacing:.06em;font-size:clamp(1.1rem,5vw,2.7rem);line-height:.95;display:block}.relay-title-divider{background:var(--panel-print);opacity:.8;align-self:end;width:90%;height:1px;margin:0 0 1%;display:block}.relay-subtitle{white-space:nowrap;line-height:1;display:block}.relay-lcd-bezel{z-index:1;background:#172219;border-radius:5px;place-self:start center;width:69%;height:72%;margin-top:1%;padding:1.2%;overflow:hidden;box-shadow:inset 0 2px 5px #000,0 1px 1px #ffffff2e}.relay-lcd-viewport{background:linear-gradient(110deg,#638b3b 0%,#759f48 17%,var(--lcd-surface) 32%,#a8cc73 100%);width:100%;height:100%;color:var(--lcd-ink);letter-spacing:.07em;border-radius:2px;grid-template-rows:1fr 1fr;gap:0;padding:3% 4%;font-family:Courier New,monospace;font-size:clamp(.7rem,4vw,2rem);font-weight:700;display:grid;overflow:hidden;box-shadow:inset 0 0 8px #00000038}.relay-lcd-row{white-space:nowrap;align-self:start;width:100%;min-width:0;max-width:100%;padding-bottom:.12em;line-height:1.2;display:block;overflow:hidden}.relay-lcd-content{width:max-content;min-width:0;line-height:inherit;vertical-align:top;display:inline-block}.relay-lcd-segments{width:100%;min-width:0;line-height:inherit;text-align:left;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:.3em;padding:0 .12em;display:grid!important}.relay-lcd-segments-two{grid-template-columns:max-content minmax(0,1fr) max-content;width:100%;min-width:0;display:grid}.relay-lcd-segments:not(.relay-lcd-segments-two){column-gap:.25em;font-size:.92em}.relay-lcd-segment{white-space:nowrap;text-overflow:clip;min-width:0;overflow:hidden}.relay-lcd-segment-content{white-space:nowrap;width:max-content;line-height:inherit;display:inline-block}.relay-lcd-segment-left{grid-column:1;justify-self:start;width:max-content}.relay-lcd-segment-middle{text-align:left;grid-column:2;width:190%}.relay-lcd-segment-right{text-align:right;grid-column:3;justify-self:end;width:max-content;min-width:max-content;overflow:visible}.relay-lcd-segments-two .relay-lcd-segment-right{grid-column:2}.relay-keypad{z-index:1;grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr;place-self:center;gap:6% 4%;width:72%;height:78%;display:grid;position:relative}.key-hit{cursor:pointer;min-width:44px;min-height:44px;color:var(--panel-print);background:0 0;border:0;place-items:center;padding:0;display:grid}.relay-key{border:2px solid var(--panel-print);background:linear-gradient(145deg,#2b415a,#172d45);border-radius:10px;place-items:center;width:clamp(30px,7vw,52px);height:clamp(30px,7vw,52px);font:700 clamp(.5rem,1.8vw,.85rem) Arial,sans-serif;display:grid;box-shadow:inset 0 1px 1px #718197,0 1px 2px #17202c}.key-reset .relay-key{text-align:center;letter-spacing:-.02em;padding:2px;font-size:clamp(.42rem,1.45vw,.7rem);line-height:1.05}.key-hit[data-key=up] .relay-key,.key-hit[data-key=down] .relay-key,.key-hit[data-key=left] .relay-key,.key-hit[data-key=right] .relay-key{border-radius:12px;transform:rotate(45deg)}.key-hit[data-key=up] .relay-key span,.key-hit[data-key=down] .relay-key span,.key-hit[data-key=left] .relay-key span,.key-hit[data-key=right] .relay-key span{transform:rotate(-45deg)}.key-reset{grid-area:1/1/3}.key-escape{grid-area:1/2/3}.key-left{grid-area:1/3/3}.key-up{grid-area:1/4}.key-down{grid-area:2/4}.key-right{grid-area:1/5/3}.key-enter{grid-area:1/6/3}.relay-controls{z-index:1;grid-template-columns:31% 1fr;align-items:center;column-gap:8%;min-height:0;padding:2% 6% 0;display:grid;overflow:visible}.indicator-plate{background:#151f2b70;border-radius:4px;flex-direction:column;justify-content:space-between;height:88%;padding:8%;display:flex;box-shadow:inset 0 1px 2px #00000073}.indicator-line{color:var(--panel-muted-print);letter-spacing:.05em;white-space:nowrap;align-items:center;gap:8%;font:500 clamp(.35rem,1.25vw,.63rem) Arial,sans-serif;display:flex}.led-dot{background:#7e8379;border-radius:50%;flex:none;width:clamp(6px,1.6vw,10px);height:clamp(6px,1.6vw,10px);box-shadow:inset 0 1px 2px #273038}.led-dot.active{box-shadow:0 0 8px,0 0 3px}.led-green{color:#65ec74;background:#5ce570}.led-red{color:#ef4c43;background:#e54136}.pushbutton-list{grid-template-rows:repeat(4,minmax(0,1fr));justify-self:end;gap:4%;width:55%;height:88%;min-height:0;padding-left:0%;display:grid}.pushbutton-row{width:100%;min-width:0;height:100%;display:block;position:relative}.control-plate{color:#66706e;background:linear-gradient(#efecdf 0%,#e4e0d1 48%,#d8d3c2 100%);border-radius:clamp(4px,.8vw,7px);flex-direction:column;justify-content:center;padding:4% 5% 4% 20%;font-family:Arial,Helvetica,sans-serif;line-height:1;display:flex;position:absolute;inset:0 0 0 16%;overflow:hidden;box-shadow:inset 0 1px #ffffffbf,inset 0 -1px #6e6e642e,0 1px 2px #0f192359}.round-button{z-index:2;aspect-ratio:1;background:radial-gradient(circle at 38% 32%,#3b576c 0%,#243c50 36%,#15293a 68%,#10202e 100%);border:clamp(2px,.35vw,3px) solid #ede8d7;border-radius:50%;width:33%;position:absolute;top:50%;left:0%;transform:translateY(-50%);box-shadow:inset 3px 4px 7px #698c9b4d,inset -4px -5px 8px #00000080,0 1px 2px #00000073}.control-plate .plate-line{white-space:nowrap;align-items:center;gap:5%;min-width:0;display:flex}.control-plate small{font-size:clamp(.28rem,1vw,.52rem);font-weight:500;line-height:1.05;display:block}.control-plate .control-main{letter-spacing:.035em;white-space:nowrap;margin:0;font-size:clamp(.65rem,2.6vw,1.4rem);font-weight:600;line-height:.9;display:block}.control-plate .led-dot{background:#79817c;border:1px solid #414b4873;flex:none;width:clamp(5px,1.2vw,8px);height:clamp(5px,1.2vw,8px);box-shadow:inset 0 1px 2px #141e1e8c}.control-plate .led-dot.led-green.active{color:#65ef76;background:#62eb72;border-color:#64dd70;box-shadow:0 0 4px #66ef78,0 0 8px #57ef6ccc,inset 0 1px 1px #fff9}.pushbutton-row.no-main .control-plate{justify-content:space-between;gap:0;padding-top:5%;padding-bottom:5%}.pushbutton-row.has-main .control-plate{justify-content:center;gap:1%}.indicator-plate,.pushbutton-list{position:relative}.indicator-plate:after,.pushbutton-list:after{content:"";background:#1b2a38;border-radius:999px;height:clamp(4px,1.2vw,7px);position:absolute;bottom:-8%;left:50%;transform:translate(-50%);box-shadow:inset 0 2px 3px #071019,0 1px #ffffff1f}.indicator-plate:after{width:58%}.pushbutton-list:after{width:55%}.relay-hardware{z-index:1;position:relative}.connector-cap{background:linear-gradient(#506b8b,#31465f);border:3px solid #263849;border-radius:24% 24% 8% 8%;width:23%;height:72%;position:absolute;bottom:2%;left:5%;box-shadow:inset 0 4px 4px #ffffff26,0 3px 4px #00000073}.connector-cap:before,.connector-cap:after{content:"";aspect-ratio:1;background:radial-gradient(circle,#e8dfbd 0 25%,#766d57 27% 52%,#ece4c5 54%);border-radius:50%;width:12%;position:absolute;bottom:18%}.connector-cap:before{left:14%}.connector-cap:after{right:14%}.chrome-below-device{gap:var(--space-2);width:100%;display:grid}.capture-evidence-button{width:100%;min-height:44px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:var(--amber);color:var(--ink-on-paper);letter-spacing:.02em;cursor:pointer;touch-action:manipulation;transition:background-color var(--motion-fast),border-color var(--motion-fast),transform var(--motion-fast),box-shadow var(--motion-fast);border:1px solid #6d4a0e;margin:0;font:700 .9rem/1.2 Segoe UI,Arial,sans-serif}.capture-evidence-button:hover:not(:disabled){background:#ffdf83;border-color:#f7d98a}.capture-evidence-button:active:not(:disabled){background:#d9a83e;transform:translateY(1px)}.capture-evidence-button:focus-visible{outline:3px solid var(--amber);outline-offset:3px;box-shadow:0 0 0 5px var(--surface-0)}.capture-evidence-button:disabled{opacity:.55;cursor:not-allowed}.feedback-panel,.reference-drawer,.education-panel{width:100%}.education-panel{padding:var(--space-4);border-radius:var(--radius-md);background:var(--paper);color:var(--ink-on-paper);border:1px solid #b8b09d;font:400 .95rem/1.55 Segoe UI,Arial,sans-serif;box-shadow:0 2px #00000029}.education-panel h2,.education-panel h3{margin:0 0 var(--space-2);color:var(--ink-on-paper);text-wrap:balance;font:700 1.1rem/1.2 Arial Narrow,Segoe UI,sans-serif}.education-panel p{margin:var(--space-2) 0}.education-panel label{margin:var(--space-3) 0 var(--space-1)}.education-panel select,.education-panel button{border:1px solid var(--hairline);border-radius:var(--radius-sm);min-height:44px;padding:var(--space-2) var(--space-3);color:var(--ink-on-dark);background:var(--surface-3);cursor:pointer;touch-action:manipulation;transition:background-color var(--motion-fast),border-color var(--motion-fast),transform var(--motion-fast);font:700 .875rem/1.2 Segoe UI,Arial,sans-serif}.education-panel select{width:100%;color:var(--ink-on-paper);background:#fffdf5}.education-panel button{margin:var(--space-2) var(--space-2) 0 0}.education-panel .secondary-button{background:#45576a}.education-disclaimer{color:#7b4d08}.activity-list{gap:var(--space-2)}.assessment-panel{gap:var(--space-3);display:grid}.assessment-panel fieldset{min-width:0;padding:var(--space-3);border-color:#a69d8b;margin:0}.assessment-panel fieldset:focus-visible{outline:3px solid var(--amber-deep);outline-offset:2px}.assessment-option{align-items:flex-start;gap:var(--space-2);min-height:44px;padding:var(--space-2) 0;cursor:pointer;line-height:1.45;margin:0!important;display:flex!important}.assessment-option input{width:20px;height:20px;margin:var(--space-1) 0;accent-color:var(--amber-deep);flex:none}.assessment-panel textarea{resize:vertical;border-radius:var(--radius-sm);width:100%;min-height:88px;padding:var(--space-2);color:var(--ink-on-paper);background:#fffdf5;border-color:#8f8778}.assessment-panel textarea:focus-visible{outline:3px solid var(--amber-deep);outline-offset:2px}.assessment-summary{gap:var(--space-2) var(--space-4)}.assessment-feedback{min-height:2.75rem;padding:var(--space-2) var(--space-3);border-left-color:var(--amber-deep);background:#e3dbc8}.assessment-primary-action{background:var(--amber)!important;color:#182536!important;border-color:#6d4a0e!important}.assessment-rubric strong{color:#23623b}.assessment-panel .evidence-board,.assessment-panel .evidence-board h2,.assessment-panel .evidence-board h3{color:var(--ink-on-paper)}.assessment-panel .evidence-board p,.assessment-panel .evidence-board small{color:#465260}.assessment-panel .evidence-board code{color:#704b08}.evidence-status{font-weight:700}.evidence-status.is-captured:before{content:"✓ ";color:var(--success)}.evidence-status.is-pending:before{content:"! ";color:var(--amber)}.exercise-context{gap:var(--space-2);display:grid}.exercise-context p{color:var(--ink-on-dark-muted);margin:0}.exercise-actions{width:100%}@media (width<=1100px){.training-workspace{grid-template-columns:1fr}.curriculum-rail{grid-column:1}.curriculum-rail ol{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-relay,.evidence-column{grid-column:1}.sim-mode.training-mode,.sim-mode.exercise-mode{width:min(96vw,920px)}}@media (width<=700px){.simulator-shell{padding:var(--space-3) max(var(--space-3),env(safe-area-inset-left)) var(--space-4)}.training-workspace{gap:var(--space-3);flex-direction:column;display:flex}.curriculum-rail,.evidence-column,.workspace-relay{width:100%}.curriculum-rail{order:1}.workspace-relay{order:2}.evidence-column{order:3}.curriculum-rail ol{grid-template-columns:1fr}.education-panel{padding:var(--space-3)}.relay-device{width:min(100%,400px)}.relay-controls{column-gap:8%;padding-left:4%;padding-right:4%}.relay-keypad{width:82%}.relay-title,.sel-stack{font-size:.32rem}}@media (width<=700px) and (orientation:landscape){.workspace-relay .relay-device{width:min(78vw,560px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:0s!important;animation-duration:0s!important}}
