:root{color-scheme:light;--navy:#103955;--gold:#f1c76a;--blue:#e9f3fc;--ink:#183348}*{box-sizing:border-box}body{margin:0;background:var(--blue);color:var(--ink);font-family:system-ui,sans-serif;line-height:1.6}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;border-radius:10px;background:var(--gold);color:#102f47;font-weight:700;padding:11px 18px}button:disabled{opacity:.55;cursor:default}.secondary{background:#e2edf5;color:#103955;border:1px solid #b5cbdc}button:focus-visible,a:focus-visible{outline:3px solid #2179b5;outline-offset:3px}input,select,textarea{width:100%;padding:10px;border:1px solid #a6bfd0;border-radius:8px;background:white;color:var(--ink)}label{display:block;font-weight:600;margin:10px 0}label input,label select{display:block;margin-top:5px}a{color:#155987}.gate{min-height:100vh;display:grid;place-items:center;padding:24px}.login{display:grid;grid-template-columns:1fr 1.1fr;width:min(900px,100%);background:white;border-radius:22px;overflow:hidden;box-shadow:0 18px 60px #10395524}.login img{width:100%;height:100%;object-fit:contain;background:#103955}.login>div{padding:35px}.eyebrow{letter-spacing:.12em;font-size:.8rem;font-weight:800}h1{font-size:clamp(1.9rem,4vw,3rem);line-height:1.12}h2{line-height:1.25}header{background:var(--navy);color:white;display:flex;gap:20px;align-items:center;flex-wrap:wrap;padding:16px 5%}.brand{font-size:1.65rem;font-weight:850;color:var(--gold);text-decoration:none}main{max-width:1140px;margin:auto;padding:22px 18px 90px}.hero{display:grid;grid-template-columns:1.4fr 1fr;gap:24px}.highlight{align-self:center;background:#cce4f9;color:#13344b;border:1px solid #8cb6d6;border-radius:16px;padding:22px}.card{background:white;padding:24px;border-radius:18px;margin:18px 0;box-shadow:0 4px 16px #1039550b}.row,.actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.row>*{flex:1}nav{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}nav button{background:white}nav .selected{background:var(--navy);color:white}.tab{display:none}.tab.active{display:block}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.metric{background:var(--navy);color:white;padding:20px;border-radius:15px}.metric strong{display:block;font-size:1.4rem;color:var(--gold)}.list-item{border-bottom:1px solid #d6e2ed;padding:16px 0}.negative{color:#a52d21!important;font-weight:750}.metric.negative{background:#692d27;color:white!important}.bar{height:12px;background:#e5edf5;border-radius:8px;margin:5px 0;overflow:hidden}.bar span{display:block;height:100%;background:#2c7ba8}.bar span.over{background:#b84435}.chart-row{margin:15px 0}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:10px;text-align:left;border-bottom:1px solid #d5e0e8;white-space:nowrap}th{background:#eaf3fa}textarea{min-height:100px}details{margin:12px 0;padding:12px;background:#eef5fb;border-radius:9px}summary{cursor:pointer;font-weight:650}#globalStatus{min-height:24px;font-weight:650}footer{padding:25px 0;font-size:.85rem}.install-bar{position:fixed;bottom:12px;right:15px;max-width:calc(100% - 30px);background:white;padding:10px;border-radius:12px;box-shadow:0 5px 30px #10395525;z-index:10}.install-bar span{font-size:.8rem;margin-left:8px}dialog{max-width:550px;width:calc(100% - 30px);border:0;border-radius:20px;padding:25px;color:var(--ink)}[hidden]{display:none!important}@media(max-width:640px){.login,.hero{grid-template-columns:1fr}.login img{max-height:380px}.login>div{padding:24px}.card{padding:18px}.row>*{flex-basis:100%}header{gap:10px}.install-bar span{display:block}h1{font-size:2rem}}
.lab-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:18px}.lab-grid .card{margin-top:0}#board{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;background:#bfd7eb;padding:8px;border-radius:14px;max-width:480px;margin:18px auto}.cell{padding:0;aspect-ratio:1;border-radius:8px;background:#fff;color:#103955;font-size:clamp(1rem,3vw,1.8rem);border:2px solid transparent;position:relative;min-width:0}.cell .coord{font-size:.55rem;position:absolute;top:1px;left:3px;color:#36536a}.cell.wall{background:#244158;color:white}.cell.goal{background:#ccebdc;border-color:#25845e}.cell.start{border-color:#bd8b24}.cell.visited{box-shadow:inset 0 0 0 4px #9cd2f8}.cell.robot{background:#f2c767;color:#123754}.legend{display:flex;gap:15px;flex-wrap:wrap;font-size:.9rem}#program{font-family:ui-monospace,Consolas,monospace;min-height:280px;line-height:1.6;tab-size:2;background:#0d2b43;color:#edf6ff;border:2px solid #759ab8;white-space:pre-wrap}#program:focus{outline:3px solid #f1c76a}.command-buttons{gap:6px}.command-buttons button{padding:7px 10px;font-size:.82rem}#runStatus{background:#d8eafa;color:#103955;padding:12px;border-radius:10px;min-height:52px}#trace{max-height:420px;overflow:auto}#decisions{max-height:250px;overflow:auto;font-size:.9rem}#decisions p{margin:4px 0}.run-good{font-weight:750}.project-code{white-space:pre-wrap;font-family:monospace;background:#edf5fb;padding:10px;overflow-wrap:anywhere}.maphint{font-size:.8rem}@media(max-width:760px){.lab-grid{grid-template-columns:1fr}.cell{font-size:1.65rem}.cell .coord{font-size:.6rem}#board{max-width:430px}.command-buttons button{font-size:.85rem}}
