.cell.in-path:after{content:"";right:22px;top:28px;width:11px;height:11px;border:3px solid var(--orange);border-radius:50%;background:#fff7da;color:transparent}
.nurse-loop{fill:none;stroke:#d89114;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:7 7}
.nurse-marker{font-size:24px;filter:drop-shadow(0 2px 2px #0004)}
.active-route{fill:none;stroke:var(--orange);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;animation:none}
.route-label{font:800 9px Inter,sans-serif;letter-spacing:.12em;fill:#7b4b18;paint-order:stroke;stroke:#fff9e6;stroke-width:4px}
.draft-route{fill:none;stroke:#27251f;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:7 6}
.world.drawing{cursor:crosshair}.world.drawing .flower{outline:3px solid #efb82988}
.entrance.route-ready>span{animation:pulse 1s infinite;box-shadow:0 0 0 6px #efb82955}
@keyframes pulse{50%{transform:scale(1.08)}}
#routeLayer{z-index:8;pointer-events:none}#spiderLayer{position:absolute;inset:0;width:100%;height:100%;z-index:6;pointer-events:none}.flower,.entrance{z-index:7}.nurse-loop,.nurse-start,.nurse-stop,.active-route{pointer-events:all}
.flower{width:11%;min-width:82px;padding:5px}.flower span{font-size:25px}.flower b{font-size:11px}.flower small{font-size:8px}
.cell{clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
#entrance{display:none}.cell.entrance-cell:before{background:#e2f0df}.cell.entrance-cell{filter:drop-shadow(0 0 5px #4f9b57)}
.route-handle{position:absolute;z-index:9;display:grid;place-items:center;width:36px;height:36px;border:3px solid #fff;border-radius:50%;background:#27251f;color:#fff;font-size:20px;box-shadow:0 3px 12px #0006;transform:translate(-50%,-50%);cursor:grab}.route-handle[hidden]{display:none}
.tutorial-route-list{margin-top:20px;padding-top:15px;border-top:1px solid var(--line)}.tutorial-route-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.tutorial-route-head small{font-size:9px;font-weight:800;letter-spacing:.12em;color:var(--muted)}.tutorial-route-head span{font-size:9px;color:var(--muted)}.route-list-empty{padding:14px 4px;font:italic 12px Georgia,serif;color:var(--muted)}.tutorial-route-row{display:grid;grid-template-columns:1fr 28px;gap:5px;margin:6px 0}.tutorial-route-select,.tutorial-route-delete{border:1px solid var(--line);border-radius:6px;background:#fff;cursor:pointer}.tutorial-route-select{padding:8px;text-align:left}.tutorial-route-select b,.tutorial-route-select small{display:block}.tutorial-route-select b{font:700 12px Georgia,serif}.tutorial-route-select small{margin-top:2px;font-size:8px;color:var(--muted)}.tutorial-route-row.selected .tutorial-route-select{border-color:#245f89;background:#eaf3f8}.tutorial-route-delete{color:#a54632;font-weight:900}.tutorial-route-delete:hover{background:#ffe8df;border-color:#b85c43}
.world{background:#edf1dd}.meadow-title,.hive-label{display:none}.hive{inset:0}.hive-wrap{top:5%}
.play-area{grid-template-columns:minmax(700px,1fr) 275px}.lesson-modal{position:fixed;z-index:45;inset:0;display:grid;place-items:center;background:#27251f99;backdrop-filter:blur(2px)}.lesson-modal[hidden]{display:none}.lesson-card{width:min(590px,80vw);padding:34px 38px;border:3px solid var(--gold);border-radius:15px;background:var(--paper);box-shadow:0 25px 70px #0007}.lesson-card h1{margin:8px 0 12px;font:700 30px Georgia,serif}.lesson-card p{margin:0 0 24px;font:17px/1.65 Georgia,serif;color:#4d493f}.lesson-card .step-row{margin:18px 0}.lesson-card .primary{margin-top:4px}
#spawnButton,#overflowHoney,#overflowPollen{display:none}.cell-action-menu{position:absolute;z-index:20;width:174px;padding:9px;border:2px solid #b89b4e;border-radius:10px;background:#fffdf7;box-shadow:0 10px 28px #29221355}.cell-action-menu[hidden]{display:none}.cell-action-menu>small{display:block;padding:2px 5px 7px;font-size:8px;font-weight:900;letter-spacing:.14em;color:var(--muted)}.cell-action-menu button{display:flex;align-items:center;gap:8px;width:100%;padding:8px 7px;border:0;border-top:1px solid var(--line);background:transparent;text-align:left;cursor:pointer}.cell-action-menu button:hover:not(:disabled){background:#fff3cd}.cell-action-menu button:disabled{opacity:.35;cursor:not-allowed}.cell-action-menu button>span{width:22px;text-align:center;color:var(--orange);font-size:17px}.cell-action-menu b,.cell-action-menu em{display:block}.cell-action-menu b{font-size:11px}.cell-action-menu em{font-size:8px;font-style:normal;color:var(--muted)}
.route-inspector{display:none!important}.colony-primary{margin-top:14px}.colony-route-list{margin-top:16px}.tutorial .tutorial-route-list{display:none}

.nurse-loop{pointer-events:stroke;cursor:pointer}.nurse-loop.selected{stroke-width:8;stroke:#c47c0d}.nurse-marker{font-size:31px;paint-order:stroke;stroke:#fff;stroke-width:5px;pointer-events:none}.nurse-start{fill:#4f9b57;stroke:#fff;stroke-width:3}.nurse-stop{fill:#3782c4;stroke:#fff;stroke-width:3}.nurse-start,.nurse-stop{pointer-events:all;cursor:pointer}.active-route{pointer-events:stroke;cursor:pointer}.active-route.selected{stroke:#245f89;stroke-width:8}.route-inspector{margin:12px 0;padding:11px;border:1px solid #b7a77c;border-radius:8px;background:#fff8df}.route-inspector small,.route-inspector b{display:block}.route-inspector small{font-size:9px;letter-spacing:.12em;color:var(--muted)}.route-inspector b{font:700 14px Georgia,serif;margin-top:3px}.route-inspector p{font-size:10px;line-height:1.4;color:var(--muted);margin:8px 0}.delete-route{width:100%;padding:7px;border:1px solid #b85c43;border-radius:5px;background:#fff;color:#94412d;font-weight:700;cursor:pointer}.delete-route:hover{background:#ffe8df}
.nurse-start{pointer-events:none}
.nurse-marker{pointer-events:all;cursor:pointer;transition:filter .12s}
.nurse-marker:hover{filter:drop-shadow(0 2px 2px #0004) drop-shadow(0 0 5px #efb829)}
.nurse-loop,.nurse-start,.nurse-stop{display:none!important;pointer-events:none!important}
.world.level-2 .hive-wrap{top:36%}.enemy-route{fill:none;stroke:#9d3f2d;stroke-width:3;stroke-dasharray:5 7;opacity:.45}.enemy-token{font-size:22px;filter:drop-shadow(0 2px 2px #0005)}.cargo-drop{font-size:16px;filter:drop-shadow(0 1px 2px #0005)}

#meadowResources{position:absolute;inset:0;z-index:7;pointer-events:none}#meadowResources .flower{pointer-events:auto}.flower[hidden]{display:none}

/* TESTING LEVEL SWITCHER — remove this section with #levelSwitcher for the final game. */
.level-switcher{display:flex;align-items:center;justify-content:center;gap:7px;margin:0 14px}
.level-switcher button{width:34px;height:34px;padding:0;border:2px solid #b9aa84;border-radius:50%;background:#fffdf7;color:#746f61;font:800 13px Inter,sans-serif;cursor:pointer;box-shadow:0 2px 6px #3e361b18;transition:.15s}
.level-switcher button:hover{border-color:#d89114;background:#fff5ce;transform:translateY(-1px)}
.level-switcher button.active{border-color:#27251f;background:#efb829;color:#27251f;box-shadow:0 0 0 3px #efb82935}
/* END TESTING LEVEL SWITCHER */
.bee-cargo{font-size:14px;font-weight:800;pointer-events:none;paint-order:stroke;stroke:#fffdf7;stroke-width:3px;filter:drop-shadow(0 1px 1px #0004)}.honey-cargo{fill:#d99a08}.pollen-cargo{fill:#e87828}

/* Bee-category colors: add future categories here (for example, --defender-red). */
:root{--worker-blue:#2f7fc1;--worker-blue-light:#dceffc;--worker-blue-edge:#1f5f96}
.route-handle{background:var(--worker-blue);box-shadow:0 3px 12px #174f7d80}
.route-handle:hover{background:var(--worker-blue-edge)}
.cell.worker-brood{background:var(--worker-blue-edge);filter:drop-shadow(0 0 7px #2f7fc180)}
.cell.worker-brood:before,.cell.worker-brood.in-path:before{background:var(--worker-blue-light)}
.cell.worker-brood .pass-pips i{border-color:var(--worker-blue)}
.cell.worker-brood .pass-pips i.done{background:var(--worker-blue)}
/* Worker-route category colors. Future bee types should receive parallel route classes. */
.active-route.worker-route{stroke:var(--worker-blue)}
.active-route.worker-route.selected{stroke:var(--worker-blue-edge)}
.draft-route.worker-route-draft{stroke:var(--worker-blue)}
.route-label.worker-route-label{fill:var(--worker-blue-edge)}
.worker-memorial{pointer-events:none}.memorial-heart{font-size:25px;fill:#c94f67;stroke:#fff7f7;stroke-width:2px;paint-order:stroke;filter:drop-shadow(0 2px 2px #0004)}.memorial-number{font:800 8px Inter,sans-serif;fill:#fff;stroke:none;pointer-events:none}
/* Guard-category colors and controls. */
:root{--guard-red:#c44848;--guard-red-light:#f8dddd;--guard-red-edge:#8f2e35}
.route-handle.guard-route-handle{background:var(--guard-red);box-shadow:0 3px 12px #7a202080}
.route-handle.guard-route-handle:hover{background:var(--guard-red-edge)}
.cell.guard-brood{background:var(--guard-red-edge);filter:drop-shadow(0 0 7px #c4484880)}
.cell.guard-brood:before,.cell.guard-brood.in-path:before{background:var(--guard-red-light)}
.cell.guard-brood .pass-pips i{border-color:var(--guard-red)}
.cell.guard-brood .pass-pips i.done{background:var(--guard-red)}
.active-route.guard-route{stroke:var(--guard-red)}
.active-route.guard-route.selected{stroke:var(--guard-red-edge)}
.draft-route.guard-route-draft{stroke:var(--guard-red)}
.route-label.guard-route-label{fill:var(--guard-red-edge)}
.guard-flying{filter:drop-shadow(0 0 3px var(--guard-red));paint-order:stroke;stroke:var(--guard-red);stroke-width:2px}
.guard-route-row.selected .tutorial-route-select{border-color:var(--guard-red);background:#fdeaea}
.guard-action[hidden]{display:none!important}
