
/* MABNI Coding Studio 1.2.5 - restore the good visual feel, fix login modal and level strip. */
:root{--mabni-blue:#004E92;--mabni-ink:#0b2b47;--mabni-soft:#eaf7ff;--mabni-line:#b9dcf5;--mabni-gold:#f6bd2f}

/* Do not let old topbar CSS clip the level numbers. */
.topbar,.lesson-level-cluster,.level-row,.level-strip{overflow:visible!important;}
.topbar{min-height:92px!important;max-height:none!important;align-items:stretch!important;padding:6px 10px!important;}
.lesson-level-cluster{display:grid!important;grid-template-rows:38px 50px!important;gap:5px!important;min-width:0!important;}
.lesson-chooser{height:38px!important;min-height:38px!important;border-radius:20px!important;padding:0 18px!important;}
.level-row{height:50px!important;min-height:50px!important;display:grid!important;grid-template-columns:42px minmax(0,1fr) 42px!important;gap:8px!important;align-items:center!important;}
.level-row>.secondary.small{width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;border-radius:50%!important;padding:0!important;font-size:22px!important;line-height:1!important;}
.level-strip{height:50px!important;min-height:50px!important;display:flex!important;align-items:center!important;gap:9px!important;padding:2px 6px!important;scrollbar-width:thin!important;overflow-x:auto!important;overflow-y:visible!important;}
.level-chip,.level-strip button{position:relative!important;box-sizing:border-box!important;min-width:62px!important;width:auto!important;height:44px!important;min-height:44px!important;border-radius:18px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:0 16px!important;background:linear-gradient(180deg,#f8fcff,#eaf6ff)!important;border:1.5px solid #b6d8ef!important;color:#123a55!important;box-shadow:0 4px 10px rgba(14,78,146,.08)!important;overflow:visible!important;}
.level-chip .level-chip-num,.level-strip button .level-chip-num{display:block!important;position:static!important;font-size:25px!important;font-weight:1000!important;line-height:1!important;color:#123a55!important;text-shadow:none!important;}
.level-chip.active,.level-strip button.active,[aria-current="true"]{background:linear-gradient(180deg,#ffe07a,#f7be2e)!important;border-color:#f59e0b!important;color:#102a43!important;box-shadow:0 0 0 4px rgba(20,184,166,.25),0 8px 18px rgba(245,158,11,.18)!important;}
.level-chip.active .level-chip-num,.level-strip button.active .level-chip-num{color:#102a43!important;}
.level-chip .chip-stars{position:absolute!important;left:50%!important;bottom:-11px!important;transform:translateX(-50%)!important;display:flex!important;gap:1px!important;height:12px!important;line-height:1!important;pointer-events:none!important;}
.level-chip .chip-stars.empty{display:none!important;}
.level-chip .chip-stars img,.level-chip .chip-stars svg{width:11px!important;height:11px!important;}

/* Login: no inner scroll just to type a name. Keep it compact and classroom friendly. */
#signinDialog{padding:0!important;max-width:min(880px,96vw)!important;}
#signinDialog .dialog-card.class-login-card{width:min(880px,96vw)!important;max-height:none!important;overflow:visible!important;border-radius:26px!important;padding:18px!important;}
#signinDialog .class-login-head{margin-bottom:10px!important;}
#signinDialog .class-login-head h2{font-size:28px!important;margin:0!important;}
#signinDialog .class-login-head p{font-size:14px!important;line-height:1.35!important;margin:4px 0 0!important;}
#signinDialog .student-login-grid{grid-template-columns:1fr 1fr!important;gap:12px!important;margin:10px 0!important;}
#signinDialog .student-login-panel{border-radius:18px!important;padding:14px!important;}
#signinDialog .muted-text{font-size:13px!important;line-height:1.35!important;margin:.35rem 0 .6rem!important;}
#signinDialog input{min-height:46px!important;font-size:17px!important;}
#signinDialog .local-name-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;align-items:center!important;}
#signinDialog .local-name-row .primary{height:46px!important;min-height:46px!important;padding:0 18px!important;}
#signinDialog .saved-users-wrap{max-height:120px!important;overflow:auto!important;}
#signinDialog .movement-choice,#signinDialog > form > label:not([for]){display:none!important;}
#signinDialog .dialog-actions{display:flex!important;justify-content:flex-end!important;margin-top:8px!important;}
#signinDialog #signinSave{display:none!important;}
@media(max-width:820px){#signinDialog .student-login-grid{grid-template-columns:1fr!important;}#signinDialog .dialog-card.class-login-card{max-height:94vh!important;overflow:auto!important;}.topbar{min-height:112px!important;}}

/* Restore stronger, less fuzzy maze/block feel from the previous good version. */
.visualization{min-height:0!important;}
#svgMaze{display:block!important;max-width:100%!important;max-height:100%!important;}
.player-token{transition:transform .24s cubic-bezier(.2,.8,.2,1)!important;transform-box:view-box!important;}
.player-robot-sprite{filter:drop-shadow(0 6px 12px rgba(15,23,42,.22))!important;image-rendering:auto!important;}
.kenney-maze-tile-img{image-rendering:auto!important;}
.blocklySvg,.blocklyMainBackground{filter:none!important;}
.blocklyBlockCanvas .blocklyPath{filter:none!important;}
.blocklyText{font-weight:800!important;text-rendering:geometricPrecision!important;}

/* Keep run dock visible without crushing the lesson area. */
.run-dock{height:64px!important;min-height:64px!important;display:grid!important;grid-template-columns:1.45fr .8fr .8fr 1fr .8fr!important;gap:10px!important;padding:8px!important;align-items:center!important;overflow:visible!important;}
.run-dock button{height:48px!important;min-height:48px!important;border-radius:18px!important;}
#runBtn{background:linear-gradient(180deg,#0f76bc,#004E92)!important;color:#fff!important;box-shadow:0 10px 22px rgba(0,78,146,.22)!important;border:1px solid rgba(255,255,255,.5)!important;}
#runBtn span,#runBtn strong{color:#fff!important;}

/* If older CSS tries to hide/flatten labels, this wins. */
#mazeLegend,.maze-legend{display:none!important;}
