/* MABNI Coding Studio 1.2 - focused mission visual cleanup
   Final override layer: clean classroom UI, visible mission assets, no chrome/metal clutter. */
:root{
  --mabni-blue:#004e92;
  --mabni-blue-2:#0b73bd;
  --mabni-ink:#10243b;
  --mabni-soft:#eef8ff;
  --mabni-line:#bad9f3;
  --mabni-gold:#f5b82e;
  --maze-path:#fffdf5;
  --maze-wall:#dbe8f0;
  --maze-wall-stroke:#6ea4c4;
  --maze-trace:#d8f7df;
  --maze-start:#dff6ff;
  --maze-goal:#fff0b8;
}
body.app-body{background:#f4fbff;color:var(--mabni-ink)}
/* Hide old stacked helpers and broken renderer bits */
#phaserMaze,.phaser-ready #svgMaze{display:none!important}
#svgMaze{display:block!important;width:100%;height:100%;overflow:visible;background:transparent!important}
#mazeLegend,.maze-legend,.v47-trace-panel,#v47TracePanel,.v47-trace-copy,.v47-trace-icon,.v47-trace-count{display:none!important}
/* Keep the board compact and readable */
.visualization,.maze-panel,#mazeWrap,#visualization{
  min-height:clamp(300px,42vh,520px)!important;
  max-height:58vh!important;
  overflow:hidden!important;
}
#svgMaze .kenney-maze-tile-img{display:none!important}
#svgMaze .tile-base{filter:none!important;opacity:1!important;shape-rendering:geometricPrecision!important}
#svgMaze .tile-base.path{fill:var(--maze-path)!important;stroke:none!important}
#svgMaze .tile-base.start{fill:var(--maze-start)!important;stroke:none!important}
#svgMaze .tile-base.goal{fill:var(--maze-goal)!important;stroke:none!important}
#svgMaze .tile-base.wall{fill:var(--maze-wall)!important;stroke:none!important}
#svgMaze .tile-base.trail{fill:var(--maze-trace)!important;stroke:none!important}
#svgMaze .tile-frame{fill:transparent!important;stroke-width:1.5!important;stroke:#c7dff1!important;opacity:.9!important;filter:none!important}
#svgMaze .tile-frame.wall{stroke:var(--maze-wall-stroke)!important;stroke-width:2!important;opacity:1!important}
#svgMaze .tile-frame.goal{stroke:#e0a600!important;stroke-width:2.2!important}
#svgMaze .tile-frame.start{stroke:#37a7d6!important;stroke-width:2!important}
#svgMaze .tile-frame.trail,.tile.trail{stroke:#38b36f!important;stroke-width:2!important}
#svgMaze .tile.current-step{stroke:#2a74df!important;stroke-width:4!important;filter:drop-shadow(0 0 6px rgba(42,116,223,.35))!important}
#svgMaze .tile.step-error{stroke:#e11d48!important;stroke-width:4!important;filter:drop-shadow(0 0 8px rgba(225,29,72,.38))!important}
/* Mission assets */
.mission-asset-group{pointer-events:none;filter:drop-shadow(0 7px 8px rgba(15,35,55,.18))}
.mission-item-pad{stroke:#d6e8f7;stroke-width:2;filter:none}
.mission-item-img,.pixel-item{image-rendering:pixelated;image-rendering:crisp-edges}
.seed-item .mission-item-pad{fill:#fff7ed!important;stroke:#e2b37a!important}
.planting-spot .mission-soil{fill:#9a6238;stroke:#65351a;stroke-width:2;opacity:.95}
.planting-spot .mission-plant-img,.planted-cedar-img{image-rendering:auto;filter:drop-shadow(0 5px 6px rgba(19,92,51,.25))}
.recycle-item .mission-item-pad{fill:#e8fff6!important;stroke:#4cc28d!important}
.trash-item .mission-item-pad{fill:#fffaf0!important;stroke:#f4b860!important}
.mission-badge{font-size:14px;fill:#047857;font-weight:900;paint-order:stroke;stroke:#fff;stroke-width:3px}
.mission-goal-ring{fill:#fff7ce;stroke:#e1a400;stroke-width:4;filter:drop-shadow(0 5px 8px rgba(224,164,0,.25))}
.mission-goal-img{image-rendering:auto;filter:drop-shadow(0 3px 4px rgba(140,93,0,.25))}
.goal-label{font-size:10px;font-weight:900;letter-spacing:.08em;fill:#5f4100;paint-order:stroke;stroke:#fff7ce;stroke-width:4px}
.planted-tree-final{filter:drop-shadow(0 8px 10px rgba(16,90,50,.25))}
.task-fade-out{opacity:0!important;transform-box:fill-box;transform-origin:center;transition:opacity .2s ease, transform .2s ease;transform:scale(.75)}
/* Player token: keep robot/card locked inside one cell */
#playerToken,.player-token{transition:transform .22s ease-out!important;will-change:transform;filter:drop-shadow(0 7px 8px rgba(20,50,80,.28))}
#playerToken .player-robot-sprite{width:auto!important;height:auto!important;max-width:none!important;max-height:none!important;transform-box:fill-box;transform-origin:center;image-rendering:auto!important}
#playerToken circle{filter:none!important}
/* Top strip and lesson numbers */
.level-strip,.top-level-strip{min-height:58px!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:thin!important;align-items:center!important;padding:6px 12px!important}
.level-strip button,.level-chip,.level-node,.level-pill{min-width:58px!important;height:42px!important;border-radius:20px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-size:22px!important;font-weight:900!important;line-height:1!important;padding:0 16px!important;background:#eff8ff!important;border:1.5px solid #b9d9f0!important;color:#143b55!important;box-shadow:none!important;overflow:visible!important}
.level-strip button.active,.level-chip.active,.level-node.active,.level-pill.active,[aria-current="true"]{background:#ffe9a3!important;border-color:#f2ae20!important;color:#193348!important;box-shadow:0 0 0 4px rgba(245,184,46,.18)!important}
/* Run dock */
.run-dock{position:relative!important;display:grid!important;grid-template-columns:1.5fr repeat(4,1fr)!important;gap:10px!important;align-items:center!important;padding:10px!important;margin-top:8px!important;background:rgba(255,255,255,.72)!important;border:1px solid #cbe5f6!important;border-radius:20px!important;box-shadow:0 10px 24px rgba(14,73,115,.08)!important}
.run-dock button{min-height:54px!important;border-radius:16px!important;font-size:18px!important;font-weight:900!important;box-shadow:none!important;border:1px solid #bdddf3!important;background:#eff8ff!important;color:#163a56!important}
#runBtn{background:linear-gradient(135deg,var(--mabni-blue),var(--mabni-blue-2))!important;color:white!important;border-color:#0068ad!important;box-shadow:0 9px 20px rgba(0,78,146,.24)!important}
#runBtn svg,#runBtn i{color:white!important;stroke:white!important}
#runBtn.is-running{background:linear-gradient(135deg,#b45309,#f59e0b)!important;border-color:#d97706!important}
/* Blockly readability */
.blocklySvg{background:#ffffff!important;filter:none!important}
.blocklyWorkspace,.blocklyBlockCanvas,.blocklyBubbleCanvas{filter:none!important}
.blocklyText{font-family:Inter,Arial,sans-serif!important;font-weight:800!important;text-rendering:geometricPrecision!important;paint-order:stroke;stroke-width:0!important}
.blocklyPath,.blocklyDraggable,.blocklyEditableText{filter:none!important}
.blocklyFlyoutBackground{fill:#f3faff!important;fill-opacity:1!important}
.blocklyToolboxDiv{background:#f5fbff!important;border-right:1px solid #d7e8f6!important}
.blocklyMainBackground{stroke:#d7e8f6!important;stroke-width:1!important}
/* Dialog/login stability */
#signinDialog{max-width:min(760px,94vw)!important}
#signinDialog input{font-size:18px!important;min-height:48px!important}
@media (max-width:900px){
  .run-dock{grid-template-columns:1fr 1fr!important}
  #runBtn{grid-column:1 / -1!important}
  .visualization,#visualization{min-height:300px!important}
}
