Implement NetWorker network puzzle game
mindflux-ci / build (push) Successful in 23s

This commit is contained in:
AliceDarkest
2026-07-13 22:09:31 +02:00
parent 3eef7cdb40
commit 73e74a2859
25 changed files with 292 additions and 5 deletions
@@ -6,6 +6,7 @@ body{padding-left:0!important;padding-bottom:0!important}
.mf-theme-float{display:flex;align-items:center;gap:.55rem}
body.mf-a11y-skin-codeescape{--mf-a11y-accent:var(--esc-accent);--mf-a11y-glow:var(--esc-glow);--mf-a11y-ink:#1c1100}
body.mf-a11y-skin-bughunter{--mf-a11y-accent:var(--bh-accent);--mf-a11y-glow:var(--bh-glow);--mf-a11y-ink:#210c12}
body.mf-a11y-skin-networker{--mf-a11y-accent:var(--nw-accent);--mf-a11y-glow:var(--nw-glow);--mf-a11y-ink:#061321}
body[class*="mf-a11y-skin-"] .mf-a11y-trigger{border-color:color-mix(in srgb,var(--mf-a11y-accent) 65%,var(--border));background:linear-gradient(135deg,var(--mf-a11y-accent),color-mix(in srgb,var(--mf-a11y-accent) 72%,#fff));color:var(--mf-a11y-ink);box-shadow:0 0 16px var(--mf-a11y-glow)}
body[class*="mf-a11y-skin-"] .mf-a11y-panel{border-color:color-mix(in srgb,var(--mf-a11y-accent) 56%,var(--border));box-shadow:0 12px 45px rgba(0,0,0,.55),0 0 22px var(--mf-a11y-glow)}
body[class*="mf-a11y-skin-"] .mf-a11y-head{background:color-mix(in srgb,var(--mf-a11y-accent) 28%,#07121f)}
@@ -0,0 +1 @@
.nw-app{--accent:var(--nw-accent);min-height:100vh;background:linear-gradient(rgba(12,30,55,.92),rgba(8,18,34,.96)),repeating-linear-gradient(0deg,transparent 0 29px,rgba(103,187,255,.08) 30px),repeating-linear-gradient(90deg,transparent 0 29px,rgba(103,187,255,.08) 30px);color:var(--text);font-family:"Courier New",monospace}.nw-top{min-height:72px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:12px 24px;border-bottom:1px solid color-mix(in srgb,var(--nw-accent) 52%,var(--border));background:color-mix(in srgb,var(--panel) 94%,transparent)}.nw-back{color:var(--muted);text-decoration:none}.nw-brand{text-align:center}.nw-brand b{display:block;color:var(--nw-accent);font-size:1.25rem;letter-spacing:.2em;text-shadow:0 0 14px var(--nw-glow)}.nw-brand span,.nw-kicker{color:var(--muted);font-size:.65rem;letter-spacing:.15em}.nw-top .mf-a11y-host{justify-self:end}.nw-view{max-width:1240px;margin:auto;padding:2rem 1.2rem}.nw-loading{text-align:center;padding:20vh 0;color:var(--muted)}.nw-hero,.nw-brief,.nw-result,.nw-world,.nw-panel,.nw-board{border:1px solid color-mix(in srgb,var(--nw-accent) 48%,var(--border));background:color-mix(in srgb,var(--surface) 91%,transparent);border-radius:12px;padding:1.4rem;box-shadow:0 0 24px color-mix(in srgb,var(--nw-accent) 10%,transparent)}.nw-hero h1,.nw-brief h1,.nw-level-head h1,.nw-result h1{margin:.45rem 0;color:var(--heading)}.nw-hero p,.nw-brief p,.nw-world p{color:var(--muted);line-height:1.55}.nw-worlds{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1rem}.nw-world{display:flex;flex-direction:column;align-items:flex-start}.nw-world span{color:var(--nw-accent);font-size:.7rem}.nw-world h2{color:var(--heading)}.nw-world small{margin-bottom:1rem;color:var(--muted)}.nw-btn{border:1px solid var(--nw-accent);border-radius:6px;background:transparent;color:var(--nw-accent);padding:.65rem .85rem;font:700 .72rem "Courier New",monospace;letter-spacing:.07em;cursor:pointer}.nw-btn.primary,.nw-btn:hover{background:var(--nw-accent);color:#061321;box-shadow:0 0 16px var(--nw-glow)}.nw-rules,.nw-actions{display:flex;gap:.65rem;flex-wrap:wrap;margin-top:1rem}.nw-rules div{padding:.6rem;background:var(--surface-2);border-radius:6px;color:var(--muted)}.nw-rules b{display:inline-grid;place-items:center;width:1.2rem;height:1.2rem;border-radius:50%;background:var(--nw-accent);color:#061321}.nw-level-head{display:flex;justify-content:space-between;align-items:center}.nw-score{display:grid;place-items:center;width:66px;height:66px;border:1px solid var(--nw-accent);border-radius:50%;color:var(--nw-accent);font-size:1.1rem}.nw-score small{font-size:.5rem}.nw-progress{display:flex;gap:.5rem;margin:1rem 0}.nw-progress i{display:grid;place-items:center;width:26px;height:26px;border:1px solid var(--border);border-radius:50%;font-style:normal;color:var(--muted)}.nw-progress i.active{border-color:var(--nw-accent);color:var(--nw-accent)}.nw-progress i.done{background:var(--success);color:#061321}.nw-layout{display:grid;grid-template-columns:3fr 2fr;gap:1rem}.nw-board{min-height:520px;padding:.5rem;overflow:auto}.nw-board svg{min-width:700px;width:100%;height:100%}.nw-link{stroke:var(--nw-accent);stroke-width:4;stroke-dasharray:8 6;fill:none}.nw-node rect{fill:color-mix(in srgb,var(--surface) 88%,#071827);stroke:var(--nw-accent);stroke-width:2}.nw-node text{fill:var(--text);font:700 13px "Courier New",monospace}.nw-router rect{stroke:#b18cff}.nw-panel{display:grid;align-content:start;gap:.8rem}.nw-panel h2{margin:.1rem 0;color:var(--heading);font-size:1rem}.nw-panel fieldset{border:1px solid var(--border);border-radius:7px;display:grid;gap:.5rem}.nw-panel legend{color:var(--nw-accent);font-size:.72rem}.nw-panel label{display:grid;gap:.2rem;color:var(--muted);font-size:.7rem}.nw-panel input,.nw-panel textarea{width:100%;box-sizing:border-box;background:#06111f;color:var(--text);border:1px solid var(--border);border-radius:4px;padding:.45rem;font:inherit}.nw-goals div{display:flex;justify-content:space-between;gap:.5rem;padding:.5rem;border-bottom:1px solid var(--border);font-size:.72rem}.nw-goals span{color:var(--muted)}.nw-goals span.ok,.nw-feedback.ok{color:var(--success)}.nw-goals span.bad,.nw-feedback.bad{color:var(--danger)}.nw-feedback{min-height:1.3rem;font-size:.78rem;line-height:1.4}.nw-result{text-align:center;max-width:720px;margin:7vh auto}.nw-final-score{font-size:3.5rem;color:var(--nw-accent);text-shadow:0 0 20px var(--nw-glow)}.nw-result>p{color:var(--nw-accent);font-size:1.4rem}.nw-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin:1rem 0}.nw-stats div{background:var(--surface-2);border-radius:6px;padding:.7rem;color:var(--muted);font-size:.75rem}.nw-stats b{display:block;color:var(--heading);font-size:1.1rem}@media(max-width:850px){.nw-layout,.nw-worlds{grid-template-columns:1fr}.nw-board{min-height:380px}.nw-top{grid-template-columns:1fr auto}.nw-brand{display:none}}