.eg-ov{position:absolute;inset:0;pointer-events:none;font:500 12px/1.3 var(--mono, ui-monospace, monospace);color:var(--ink, #1c1b19)}.eg-ov>*{pointer-events:auto}.eg-top{position:absolute;inset-inline-start:12px;top:12px;display:flex;gap:6px;align-items:center}.eg-win{display:flex;gap:3px;margin:0;padding:4px;background:#f2efe8f0;border:1px solid var(--rule-2, #cfc8b8)}.eg-win b{display:grid;place-items:center;width:26px;height:34px;font:700 17px/1 var(--mono, ui-monospace, monospace);background:#e9e2cf;border:1px solid #b5ac96;transition:background .3s}.eg-win b.g{color:var(--ink-2, #5a564e);border-style:dashed}.eg-win b.is-moved{background:#ffd27a;border-color:#b8350f}.eg-setbtn{min-height:44px;min-width:44px;padding:0 12px;font:600 13px/1 var(--sans);border:1px solid var(--ink, #1c1b19);background:#fbfaf6f5;border-radius:2px;cursor:pointer;color:var(--ink, #1c1b19)}.eg-path{position:absolute;inset-inline:12px;top:64px;display:flex;flex-wrap:wrap;gap:3px;margin:0;padding:0;list-style:none;pointer-events:none!important}.eg-path li{display:grid;justify-items:center;min-width:30px;padding:3px 4px;background:#f2efe8eb;border:1px solid #e0451b;color:#b8350f;font-size:13px;font-weight:600;transition:background .15s,transform .15s}.eg-path li.back{border-color:#2f6fd6;color:#2457a8}.eg-path li.is-now{background:#ffe08a;transform:translateY(-2px)}.eg-path small{font-size:9px;font-weight:500;color:var(--ink-2, #5a564e);font-family:var(--sans)}.eg-bottom{position:absolute;inset-inline:12px;bottom:32px;display:grid;gap:6px;pointer-events:none}.eg-bottom>*{pointer-events:auto}.eg-tape{display:grid;gap:3px;pointer-events:none!important}.eg-tape p{margin:0;display:flex;gap:8px;align-items:baseline;min-width:0;justify-self:start;max-width:100%;padding:2px 4px 2px 6px;background:#f2efe8e0}.eg-tape span{flex:none;width:74px;font:500 11px/1.2 var(--sans);color:var(--ink-2, #5a564e)}.eg-tape code{font:600 14px/1.2 var(--mono, ui-monospace, monospace);letter-spacing:.12em;padding:0 2px;white-space:nowrap;overflow:hidden;min-width:0}.eg-tape p:last-child code{color:#b8350f}.eg-tbtn{display:flex;flex-wrap:wrap;gap:5px;align-items:center;justify-self:start}.eg-tbtn button{min-height:44px;font:500 13px/1 var(--sans);padding:0 12px;border:1px solid var(--rule-2, #cfc8b8);background:#fbfaf6f2;border-radius:2px;cursor:pointer;color:var(--ink, #1c1b19)}.eg-tbtn button:hover{border-color:var(--ink, #1c1b19)}.eg-focus{font:normal 500 11px/1.2 var(--sans);color:var(--ink-2, #5a564e);padding:4px 6px;background:#f2efe8d9;border-inline-start:2px solid var(--rule-2, #cfc8b8)}.eg-ov.is-typing .eg-focus{color:#b8350f;border-inline-start-color:#e0451b}.eg-kb{display:none;gap:4px;justify-self:center;width:100%;max-width:480px}.eg-kb div{display:flex;justify-content:center;gap:4px}.eg-kb button{flex:0 1 46px;min-width:44px;height:44px;padding:0;font:600 15px/1 var(--mono, ui-monospace, monospace);color:#efe9da;background:#1d1d1d;border:1px solid #000;border-radius:50%;box-shadow:inset 0 0 0 2px #6f6c66;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.eg-kb[data-mode=abc] button{border-radius:8px;flex-basis:48px}.eg-kb button:active{transform:translateY(1px);background:#3a3a3a}.stage:focus-visible{outline:2px solid var(--accent, #e0451b);outline-offset:-2px}@media(max-width:760px),(pointer:coarse){.eg-kb{display:grid}.eg-focus{display:none}}.eg-kbbar .eg-kb{display:grid;margin:0 auto}@media(max-width:760px){.exhibit[data-slug=enigma] .stage{height:max(400px,calc(100svh - 290px))}.eg-tape code{font-size:12px;letter-spacing:.06em}.eg-path{top:62px;inset-inline:8px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;max-width:360px}.eg-path li{min-width:0;font-size:15px;padding:2px 2px 3px;line-height:1.1}.eg-path small{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.eg-tape span{width:60px}.eg-bottom{inset-inline:8px;bottom:30px}.eg-top{inset-inline-start:8px;top:8px}}.eg-lab{padding:4px 18px 22px;display:grid;gap:10px;border-top:1px solid var(--rule);font:400 13px/1.5 var(--sans)}.eg-h{margin:16px 0 0;font:600 15px/1.3 var(--sans);color:var(--ink)}.eg-p{margin:0;color:var(--ink-2)}.eg-note{font-size:12px}.eg-form{display:grid;gap:8px}.eg-row{display:grid;gap:4px}.eg-row>span{font-weight:600;color:var(--ink);font-size:13px}.eg-sels{display:flex;flex-wrap:wrap;gap:5px}.eg-m4{display:contents}.eg-m4[hidden]{display:none}.eg-lab select,.eg-lab input[type=search],.eg-lab textarea{min-height:44px;min-width:64px;font:500 14px/1.2 var(--sans);padding:6px 8px;border:1px solid var(--rule-2, #cfc8b8);background:#fbfaf6;border-radius:2px;color:var(--ink)}.eg-lab textarea{width:100%;box-sizing:border-box;font-family:var(--mono, ui-monospace, monospace);text-transform:uppercase;resize:vertical}.eg-lab input[type=range]{width:100%;min-height:44px}.eg-btns{display:flex;flex-wrap:wrap;gap:6px}.eg-lab button{min-height:44px;min-width:44px;padding:0 12px;font:600 13px/1.2 var(--sans);border:1px solid var(--ink, #1c1b19);background:#fbfaf6;color:var(--ink);border-radius:2px;cursor:pointer}.eg-lab button[aria-pressed=true]{background:var(--ink, #1c1b19);color:#f5f2ea}.eg-socks{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:4px;touch-action:none}.eg-socks button{position:relative;height:48px;padding:0;font:700 14px/1 var(--mono, ui-monospace, monospace);background:#f3ead2;border-color:#a58b4c;color:#2a1f10}.eg-socks button i{position:absolute;inset-inline-end:3px;bottom:2px;font:600 10px/1 var(--mono, ui-monospace, monospace);font-style:normal}.eg-socks button.is-on{background:hsl(var(--h) 60% 82%);border-color:hsl(var(--h) 45% 35%);color:#111}.eg-socks button[aria-pressed=true]{color:#111}.eg-socks button.is-pick{outline:3px solid #e0451b;outline-offset:1px}.eg-pairs{font:600 13px/1.4 var(--mono, ui-monospace, monospace);color:var(--ink);letter-spacing:.06em}.eg-log{margin:0;padding-inline-start:20px;font:600 13px/1.6 var(--mono, ui-monospace, monospace)}.eg-bars{display:block;width:100%;height:auto;border:1px solid var(--rule)}.eg-mono span{font-weight:600;color:var(--ink)}.eg-mono code{font:600 14px/1.4 var(--mono, ui-monospace, monospace);letter-spacing:.08em;word-break:break-all}.eg-mono .is-ok{color:#1f7a3a}.eg-mono .is-bad{color:#b3361a}.eg-table-wrap{overflow-x:auto}.eg-table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}.eg-table th,.eg-table td{padding:6px 4px;border-bottom:1px solid var(--rule);text-align:start;vertical-align:top}.eg-table td{text-align:end;font-family:var(--mono, ui-monospace, monospace)}.eg-table .eg-tot th,.eg-table .eg-tot td{font-weight:700;color:var(--ink);border-bottom:0}.eg-cases{margin:0;padding:0;list-style:none;display:grid;gap:10px;max-height:640px;overflow-y:auto}.eg-cases li{display:grid;gap:4px;padding:10px 0;border-top:1px solid var(--rule)}.eg-ch{margin:0;font-weight:600;color:var(--ink)}.eg-ch b{font-variant-numeric:tabular-nums;margin-inline-end:6px}.eg-ch small{font-weight:400;color:var(--ink-2);margin-inline-start:6px}.eg-cases a{color:inherit}.eg-go{justify-self:start}.exhibit[data-slug=enigma] .panel .btn,.exhibit[data-slug=enigma] .panel button,.exhibit[data-slug=enigma] .stage-hud button{min-height:44px;min-width:44px}.exhibit[data-slug=enigma] .panel input[type=range]{min-height:44px}.eg-kbbar{position:fixed;inset-inline:0;bottom:0;z-index:40;padding:6px 6px calc(6px + env(safe-area-inset-bottom));background:#f2efe8f7;border-top:1px solid var(--rule-2, #cfc8b8);transform:translateY(110%);transition:transform .25s ease;pointer-events:none}.eg-kbbar.is-on{transform:none;pointer-events:auto}.eg-kbbar .eg-kb button{height:44px}body.eg-kb-pad{padding-bottom:214px}@media(prefers-reduced-motion:reduce){.eg-kbbar{transition:none}}.eg-ov[data-scene=bombe] .eg-top,.eg-ov[data-scene=bombe] .eg-path,.eg-ov[data-scene=bombe] .eg-bottom,.eg-ov[data-scene=lorenz] .eg-top,.eg-ov[data-scene=lorenz] .eg-path,.eg-ov[data-scene=lorenz] .eg-bottom{display:none}.eg-dock{display:grid;gap:10px;align-content:start;padding:10px 14px 14px;background:#fbfaf6;border:1px solid var(--rule-2, #cfc8b8);font:400 13px/1.5 var(--sans);color:var(--ink)}.eg-dock[hidden]{display:none}.eg-dock.is-inside{position:absolute;top:64px;inset-inline-end:12px;width:340px;max-height:calc(100% - 100px);overflow-y:auto;overscroll-behavior:contain;z-index:6;background:#fbfaf6f7;box-shadow:0 6px 24px #1c1b191f}.eg-dock-h{display:flex;align-items:center;justify-content:space-between;gap:8px;position:sticky;top:-10px;background:inherit;padding-top:2px}.eg-dock-h b{font:600 15px/1.3 var(--sans)}.eg-dock button,.eg-dock select{min-height:44px;min-width:44px;padding:0 12px;font:600 13px/1.2 var(--sans);border:1px solid var(--ink, #1c1b19);background:#fbfaf6;color:var(--ink);border-radius:2px;cursor:pointer}.eg-dock select{font-weight:500;border-color:var(--rule-2, #cfc8b8)}.eg-dock button[aria-pressed=true]{background:var(--ink, #1c1b19);color:#f5f2ea}.eg-dock .eg-form{gap:8px}.eg-bc,.eg-lc{display:grid;gap:10px}.eg-bc[hidden],.eg-lc[hidden]{display:none}.eg-bc>div[hidden]{display:none}.eg-bc-h{margin:6px 0 0;font:600 14px/1.3 var(--sans)}.eg-strip{display:grid;gap:2px;overflow-x:auto;padding-bottom:2px}.eg-strip>div{display:grid;grid-template-columns:repeat(24,minmax(12px,1fr));gap:1px;font:700 13px/1 var(--mono, ui-monospace, monospace)}.eg-strip i{display:grid;place-items:center;height:22px;font-style:normal;background:#ece6d6}.eg-strip-cr i.c{background:#fff1c2;color:#5a3d00}.eg-strip-cr i.e{background:transparent}.eg-strip i.x{background:#e0451b;color:#fff}.eg-bc-cs.is-ok{color:#1f7a3a}.eg-bc-cs.is-bad{color:#b3361a}.eg-bc-sels label{display:grid;gap:4px;font-weight:600}.eg-bc-read{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.eg-bc-read span{display:grid;gap:2px;padding:6px 8px;background:#f2efe8;border:1px solid var(--rule, #e2dccf)}.eg-bc-read small{font-size:11px;color:var(--ink-2)}.eg-bc-read b{font:700 15px/1.2 var(--mono, ui-monospace, monospace);font-variant-numeric:tabular-nums}.eg-bc-stops{margin:0;padding-inline-start:18px;font:500 12px/1.6 var(--mono, ui-monospace, monospace)}.eg-bc-stops li.ok{color:#1f7a3a;font-weight:700}.eg-bc-stops small{display:block;font-weight:500;color:var(--ink-2)}.eg-menu{display:block;width:100%;height:auto;background:#f7f4ec;border:1px solid var(--rule, #e2dccf)}.eg-menu .ed line{stroke:#8f8676;stroke-width:1.4}.eg-menu text{font:700 12px var(--mono, ui-monospace, monospace);text-anchor:middle;dominant-baseline:middle;fill:#1c1b19}.eg-menu text.k{font-size:9px;font-weight:600;fill:#6d6556;paint-order:stroke;stroke:#f7f4ec;stroke-width:3px}.eg-menu circle{fill:#fbfaf6;stroke:#1c1b19;stroke-width:1.4}.eg-menu .in circle{fill:#ffe08a;stroke:#b8350f;stroke-width:2.4}.eg-menu text.pl{font-size:10px;fill:#1f7a3a}.eg-cmp{border-collapse:collapse;width:100%;font-size:12px}.eg-cmp th,.eg-cmp td{padding:5px 4px;border-bottom:1px solid var(--rule, #e2dccf);text-align:start;vertical-align:top}.eg-cmp thead th{font-weight:700}.eg-cmp tbody th{font-weight:600;color:var(--ink-2);width:28%}.eg-dock-card{padding-bottom:4px;border-bottom:2px solid var(--ink, #1c1b19)}.eg-dock-card[hidden]{display:none}.eg-lz{border-collapse:collapse;width:100%;font:600 14px/1.2 var(--mono, ui-monospace, monospace);text-align:center}.eg-lz th,.eg-lz td{padding:6px 2px;border:1px solid var(--rule, #e2dccf)}.eg-lz tbody th{font-family:var(--sans);font-size:12px}.eg-lz tr.k td{background:#fff1c2}.eg-tasks{display:grid;gap:10px}.eg-tlist{margin:0;padding:0;list-style:none;display:grid;gap:10px}.eg-tlist li{display:grid;gap:6px;padding:10px 12px;border:1px solid var(--rule, #e2dccf);background:#fbfaf6}.eg-tlist li.is-solved{border-color:#1f7a3a;box-shadow:inset 3px 0 #1f7a3a}.eg-trow{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.eg-trow input{min-height:44px;width:9em;max-width:100%;font:600 14px/1.2 var(--mono, ui-monospace, monospace);padding:6px 8px;border:1px solid var(--rule-2, #cfc8b8);background:#fff;border-radius:2px;text-transform:uppercase}.eg-tres.is-ok{color:#1f7a3a}.eg-tres.is-bad{color:#b3361a}.eg-tcount{font-weight:600;color:var(--ink)}.eg-bchip{position:absolute;inset-inline-start:12px;top:12px;z-index:4;margin:0;padding:8px 10px;font:700 13px/1.2 var(--mono, ui-monospace, monospace);font-variant-numeric:tabular-nums;background:#f2efe8f0;border:1px solid var(--rule-2, #cfc8b8);color:var(--ink);pointer-events:none}.eg-bchip[hidden]{display:none}.eg-bchip.is-stop{background:#ffe08a;border-color:#b8350f}.eg-tlist .eg-mono code{word-break:normal;overflow-wrap:anywhere}
