:root{--blue:#2458D8;--red:#C8436B;--ink:#223344;--muted:#627184;--line:#d5dfea;--teal:#188A88;--paper:#fff;--soft:#f3f6fa;font-family:Arial,sans-serif;color:var(--ink);background:#edf2f7;font-size:16px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,select,input[type=number],input[type=text]{min-height:40px}button{border:1px solid var(--line);border-radius:6px;padding:8px 12px;background:white;color:var(--ink);cursor:pointer}button:hover{border-color:var(--blue);background:#f0f5ff}button:disabled{opacity:.45;cursor:default}.primary{background:var(--blue);color:#fff;border-color:var(--blue)}.primary:hover{background:#194ac0;color:white}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,canvas:focus-visible{outline:3px solid #e0a934;outline-offset:2px}input,select,textarea{border:1px solid #bccada;border-radius:5px;background:white;color:var(--ink);padding:7px;max-width:100%}label{display:flex;flex-direction:column;gap:5px;font-size:.86rem;color:var(--muted)}input[type=checkbox]{accent-color:var(--blue);width:18px;height:18px}textarea{width:100%;resize:vertical;line-height:1.5}a{color:var(--blue)}.top{display:flex;align-items:center;justify-content:space-between;padding:14px 3%;background:white;border-top:5px solid var(--blue);border-bottom:1px solid var(--line);gap:15px}.brand{font-family:'DIN Condensed','Arial Narrow',Arial,sans-serif;font-weight:bold;letter-spacing:.04em;font-size:21px;text-decoration:none;color:var(--ink)}.brand span{display:block;color:var(--red);font:11px Arial,sans-serif;letter-spacing:.16em;margin-top:5px}.top-actions{display:flex;gap:8px;flex-wrap:wrap}main{max-width:1600px;margin:auto;padding:22px 3%}.intro{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:20px}.eyebrow{font-size:11px;font-weight:bold;letter-spacing:.15em;color:var(--teal);margin:0 0 7px}h1{font:30px Georgia,serif;margin:0 0 7px}h2{font:23px Georgia,serif;margin:8px 0 14px}h3{font-size:17px;margin:16px 0 10px}p{line-height:1.5}.intro p:not(.eyebrow){margin:0;color:var(--muted);font-size:14px}.example-picker{display:grid;grid-template-columns:minmax(160px,1fr) auto;gap:6px;min-width:320px;max-width:420px}.example-picker label{grid-column:1/-1}#notice:empty{display:none}#notice{border-left:4px solid var(--teal);padding:12px 16px;background:white;margin-bottom:16px;line-height:1.45}#notice.error{border-color:var(--red);background:#fff5f7}.workspace{display:grid;grid-template-columns:minmax(440px,1.1fr) minmax(400px,1fr);gap:20px;align-items:start}.stage,.editor{background:white;border:1px solid var(--line);border-radius:9px;overflow:hidden}.stage{padding:13px}.transport{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.transport label{margin-left:auto;flex-direction:row;align-items:center}.transport button{font-size:14px}.transport select{font-size:13px;max-width:106px}.stage-meta{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:14px 4px 8px;font-size:13px}.stage-meta strong{color:var(--blue);font-size:17px}.stage-meta label{margin-left:auto;flex-direction:row;align-items:center;font-size:12px}#field{display:block;width:100%;height:auto;aspect-ratio:1;touch-action:none;border-radius:4px}.field-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:13px;font-size:12px;color:var(--muted);padding:10px 0}.field-legend span{display:flex;align-items:center;gap:5px}.field-legend i{width:12px;height:12px;display:inline-block}.zero{background:var(--blue)}.one{background:white;border:1px solid #bac7d6}.agent{border:2px solid var(--red)}.readout{display:grid;grid-template-columns:1fr 1fr;gap:12px;border-top:1px solid var(--line);padding-top:12px}.readout span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.readout pre{margin:7px 0;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.45}.caption{font-size:14px;color:var(--muted);margin:13px 0 2px}.tabs{display:flex;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:8px;gap:4px;background:var(--soft)}.tabs button{font-size:13px;border-color:transparent;min-height:38px;padding:7px 10px;background:transparent}.tabs .active{background:white;color:var(--blue);border-color:var(--line);font-weight:bold}.edit-bar{display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--line);padding:8px 14px;font-size:12px;color:var(--muted)}.edit-bar span{margin-right:auto}.edit-bar button{font-size:12px;min-height:32px;padding:5px 7px}#panel{padding:18px;max-height:calc(100vh - 215px);min-height:540px;overflow:auto;scrollbar-gutter:stable}.row{display:flex;gap:8px;flex-wrap:wrap;align-items:end;margin:10px 0}.row>*{flex:1;min-width:75px}.row .tiny{flex:0 0 auto}.row input[type=number]{width:85px}.help{font-size:13px;color:var(--muted);line-height:1.55;margin:8px 0 15px}.note{border-left:3px solid var(--teal);background:var(--soft);padding:10px 12px;font-size:13px;line-height:1.5;margin:12px 0}.danger{color:var(--red)}.tools{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin:12px 0}.tools button{text-align:left;font-size:13px}.tools button.active{border-color:var(--blue);background:#eaf0ff;color:var(--blue)}.palette{display:grid;grid-template-columns:repeat(8,1fr);gap:6px}.palette button{padding:3px;font-size:12px;border-radius:4px}.palette button.active{outline:2px solid #bf851b}.cube-mini{width:26px;height:26px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#b8c9df;padding:1px}.cube-mini i{display:block;background:var(--blue)}.cube-mini i.on{background:white}.card{border:1px solid var(--line);border-left:3px solid var(--blue);border-radius:5px;margin:10px 0;padding:10px;background:white}.card.active-node{border-color:var(--red);box-shadow:0 0 0 1px var(--red)}.card.invalid{border-color:var(--red);background:#fff7f8}.card-head{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:bold}.card-head code{font-size:10px;color:var(--muted);font-weight:normal}.card-head .card-buttons{margin-left:auto;display:flex;gap:3px}.card-head button{min-height:28px;padding:2px 6px;font-size:13px}.block{padding-left:12px;border-left:2px solid var(--line);margin:8px 0}.expr{margin:7px 0;padding:8px;border:1px solid #dce4ee;border-radius:5px;background:#f7f9fc;min-width:0}.expr-head{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.expr-head select{font-size:12px;min-height:34px;max-width:150px}.expr input{font-size:13px;min-height:34px;max-width:160px}.expr-args{display:grid;grid-template-columns:1fr;gap:2px;margin-left:10px}.expr summary{font:12px ui-monospace,monospace;cursor:pointer;line-height:1.5;overflow-wrap:anywhere}.expr .expr{background:white}.add-block{display:flex;gap:5px;margin:10px 0}.add-block select{flex:1;min-width:0;font-size:13px}.add-block button{font-size:13px}.cap{display:flex;align-items:start;gap:10px;padding:10px;border:1px solid var(--line);border-radius:6px;margin-bottom:7px}.cap input{flex:none}.cap b{font-size:13px}.cap span{display:block;font-size:12px;line-height:1.4;color:var(--muted);margin-top:3px}.cap button{margin-left:auto;min-height:28px;padding:3px 7px;font-size:12px}.code{font:13px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;min-height:400px;tab-size:2}.code-status{font-size:13px;line-height:1.5;padding:8px 0}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px;line-height:1.5}th,td{padding:7px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{background:var(--soft)}.trace-step{padding:9px;border:1px solid var(--line);margin:6px 0;font-size:13px;border-radius:5px}.trace-step.current{border-color:var(--red)}pre.data{font:12px/1.5 ui-monospace,monospace;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--soft);padding:12px;border-radius:5px;max-height:300px;overflow:auto}.map-svg{width:100%;background:#f8fafc;border:1px solid var(--line)}.map-svg [data-cap]{cursor:pointer}details{margin:10px 0}summary{cursor:pointer;color:var(--blue);font-size:14px;line-height:1.5}#confirmation{background:#fff4e5;border:1px solid #e8c787;padding:12px;margin:9px 0;line-height:1.5}#confirmation strong{display:block;font-size:14px}#confirmation span{display:block;font-size:13px;margin:7px 0}#guide{max-width:850px;background:white;border:1px solid var(--line);border-top:4px solid var(--teal);border-radius:8px;margin:25px auto;padding:25px}#guide li{line-height:1.6;margin:10px 0}footer{font-size:12px;color:var(--muted);text-align:center;padding:20px}body.installation .intro,body.installation .editor,body.installation .caption,body.installation #comparison-controls,body.installation .readout,body.installation footer,body.installation .field-legend{display:none}body.installation main{padding:10px;max-width:1100px}body.installation .workspace{display:block}body.installation .stage{max-width:850px;margin:auto}body.installation #field{max-height:calc(100vh - 190px);width:auto;max-width:100%;margin:auto}body.installation .top{padding:8px 3%}body.installation .stage-meta label{display:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:1050px){.workspace{grid-template-columns:1fr}.stage{max-width:760px;width:100%;margin:auto}.editor{max-width:900px;width:100%;margin:auto}#panel{max-height:none;min-height:300px}.intro{align-items:start}.intro h1{font-size:25px}.example-picker{min-width:260px}.tabs button{flex:1;min-height:44px}.expr-args{margin-left:6px}}@media(max-width:600px){main{padding:14px 10px}.top{padding:10px;align-items:start}.brand{font-size:17px}.top-actions{justify-content:end;gap:4px}.top-actions button{font-size:11px;min-height:32px;padding:5px 7px}.intro{display:block}.example-picker{max-width:none;margin-top:15px}.workspace{gap:12px}.stage{padding:7px}.transport{gap:4px}.transport button{font-size:12px;padding:7px}.transport label{font-size:11px}.stage-meta{font-size:11px;gap:6px}.stage-meta label{font-size:10px}.readout{gap:7px}.readout pre{font-size:11px}#panel{padding:12px}.card{padding:7px}.block{padding-left:6px}.palette{gap:4px}.tabs{gap:1px;padding:5px}.tabs button{font-size:12px;padding:6px;flex-basis:22%}.row{gap:6px}.card-head{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Site navigation; included in self-contained installation exports. */
/* Small navigation layer; original simulator design and algorithms stay intact. */
.study-return{box-sizing:border-box;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px;width:100%;padding:12px max(22px,calc((100vw - 1360px)/2));background:#fff;color:#59676e;border-bottom:1px solid #e7eaeb;font:12px/1.5 Arial,sans-serif;position:relative;z-index:1}
.study-return a{color:#59676e;text-decoration:none;display:inline-flex;align-items:center;min-height:30px;text-underline-offset:4px}.study-return a:hover{color:#2458d8;text-decoration:underline}.study-return a:focus-visible{outline:2px solid #2458d8;outline-offset:4px}.study-return .study-project-label{margin-left:auto}
@media(max-width:600px){.study-return{padding:9px 14px;gap:4px 14px;font-size:11px}.study-return .study-project-label{display:none}}
@media print{.study-return{display:none}}

body.installation>.study-return{display:none}
