@font-face{font-family:Colony;src:url('./assets/Lato-Semibold.ttf') format('truetype');font-display:swap}
:root{--ink:#694622;--cream:#fff5df;--body:Colony,'Trebuchet MS',sans-serif;--purple:#a74de2}
*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:var(--body);background:#352a24;display:grid;place-items:center;min-height:100svh}button,input,select{font:inherit}button{cursor:pointer;color:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:filter .15s,transform .15s}button:disabled{cursor:default}button:focus-visible,input:focus-visible{outline:3px solid #255fa8;outline-offset:3px}button:hover:not(:disabled){filter:brightness(1.06)}button:active:not(:disabled){transform:translateY(2px)}[hidden]{display:none!important}
.game{width:min(100vw,calc(100svh * .462));height:100svh;min-height:0;position:relative;isolation:isolate;display:flex;flex-direction:column;background:#e7bd92 url('./assets/wood.png') center/100% 100% no-repeat;overflow:hidden;padding:0 clamp(12px,2.8svh,28px);box-shadow:0 0 70px #0004}
.topbar{height:5.8%;min-height:37px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;padding:3px 0;z-index:3}.icon-button{background:url('./assets/control.png') center/contain no-repeat;border:0;width:31px;height:33px;display:grid;place-items:center}.icon-button img{width:21px;height:23px;object-fit:contain}.level-label{border:0;background:transparent;font-size:17px;font-weight:bold;color:#754e31;text-shadow:0 1px #f9e3c0}.level-label:after{content:'\2304';font-size:12px;margin-left:5px}.speed-button{font-size:12px;border:0;background:url('./assets/control.png') center/100% 100% no-repeat;color:#fff9e6;padding:9px 7px;text-shadow:0 1px #29457c}.speed-button[aria-pressed=true]{filter:hue-rotate(170deg)}
.progress-row,.progress-track,.status-line{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.board-shell{position:relative;width:100%;height:35.4%;flex-shrink:0;background:url('./assets/board.png') center/100% 100% no-repeat;overflow:visible}#board{display:block;position:absolute;inset:1.5%;width:97%;height:97%}.board-empty{position:absolute;inset:0;display:grid;place-items:center;font-size:18px;pointer-events:none}.blocker-labels{position:absolute;inset:0;pointer-events:none}.obstacle-number{position:absolute;background:#fff2d6;border:2px solid #8a5c3d;box-shadow:0 2px 3px #0003;border-radius:7px;padding:1px 4px;font-size:12px;transform:translate(-50%,-50%)}
.colony-lane{height:10%;flex-shrink:0;position:relative;display:grid;place-items:center}.home{width:22%;height:68%;object-fit:contain}.colony-lane #lane-ants{position:absolute;inset:0;pointer-events:none}#lane-ants img{position:absolute;width:26px;height:28px;object-fit:contain;left:var(--start);top:0;offset-path:path('M 0 0 Q 60 40 0 80');animation:ant-route 2.8s var(--delay) linear infinite}
.slots-section{height:9%;min-height:58px;flex-shrink:0;position:relative;z-index:2}.slots{display:flex;position:relative;justify-content:center;gap:2px;align-items:center;height:100%;isolation:isolate}.slot{position:relative;flex:0 1 65px;width:0;aspect-ratio:.94;border:0;background:url('./assets/tray.png') center/100% 92% no-repeat;display:grid;place-items:center;min-width:0}.slot.empty{background-image:url('./assets/stand.png');opacity:.72}.extra-slot{background-image:url('./assets/tray.png');opacity:1}.extra-slot>img{width:35%;object-fit:contain;filter:drop-shadow(0 1px 1px #59463766)}.box{position:relative;width:100%;aspect-ratio:1/1;display:block;border:0;background:none;padding:0;z-index:1;filter:drop-shadow(0 2px 1px #683b2826);flex-shrink:0}.box>img:not(.box-ant){width:120%;height:120%;object-fit:contain;position:absolute;top:-14%;left:-10%;pointer-events:none}.box .number{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;padding-bottom:7%;pointer-events:none;gap:0}.number img{height:56%;max-width:40%;object-fit:contain;margin:0 -3.2%}.box .box-ant{position:absolute;width:60%;height:65%;object-fit:contain;left:20%;top:-47%;pointer-events:none}.box.rear .number{opacity:.4}.box.rear{filter:brightness(.92) saturate(.9)}.box.is-hidden .number{display:none}.box.locked:after{content:'';position:absolute;bottom:4%;right:0;width:25%;height:33%;background:url('./assets/lock.png') center/contain no-repeat;z-index:3}.box-link{position:absolute;display:block;height:9px;border-radius:3px;transform-origin:0 50%;z-index:0;box-shadow:inset 0 2px #ffffff55,0 2px 1px #64492c33;pointer-events:none}
.queue-section{flex:1 1 auto;min-height:80px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#bc8f64 transparent;padding:12px 1px 12px;mask-image:linear-gradient(#000 96%,transparent)}.queues{display:grid;position:relative;isolation:isolate;grid-template-columns:repeat(var(--columns,3),minmax(0,1fr));gap:clamp(4px,1.1svh,11px)}.queue-column{display:flex;flex-direction:column;gap:0;align-items:center}.queue-column>.box{max-width:67px;margin:0}.queue-column>.box.rear{transform:scale(.94);margin-top:-1px}.box.hinted{animation:hintpulse .65s ease-in-out 3!important}
.tools{height:9.3%;min-height:75px;position:relative;display:flex;justify-content:space-evenly;align-items:flex-start;margin:0 calc(-1 * clamp(12px,2.8svh,28px));padding:0 6% max(0px,env(safe-area-inset-bottom));flex-shrink:0;isolation:isolate}.tools:before{content:'';position:absolute;inset:32% 0 0;background:#ac47de url('./assets/toolbar.png') center/100% 190% no-repeat;z-index:-1;border-top:3px solid #e9b0ff;box-shadow:0 -2px 3px #9755b688}.tool{position:relative;width:min(25%,9.1svh);max-width:90px;border:0;background:transparent;display:flex;flex-direction:column;align-items:center;padding:0;color:#fff6ed}.tool-art{width:100%;aspect-ratio:1;background:url('./assets/tool-purple.png') center/100% 100% no-repeat;display:grid;place-items:center;filter:drop-shadow(0 2px 1px #6e249e88)}.tool-art img{width:76%;height:76%;object-fit:contain;filter:drop-shadow(0 2px 1px #48331f35)}.tool-name{font-size:9px;position:absolute;bottom:8%;text-shadow:0 1px #442d6d}.tool-count{position:absolute;right:-3%;bottom:0;min-width:30px;height:30px;display:grid;place-items:center;background:url('./assets/badge.png') center/100% 100%;font-size:10px;color:white;text-shadow:0 1px #b46c13}.tool:disabled{opacity:.55}.text-button{border:0;padding:0;background:transparent;text-decoration:underline;text-underline-offset:3px;color:inherit;font-size:inherit}.loading{position:absolute;inset:0;z-index:10;background:#ffdfab;display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center}.loading img{height:220px;width:190px;object-fit:contain;margin-bottom:10px}.loading strong{font-size:23px}.loading span{font-size:13px}
dialog{padding:0;border:3px solid #ffe9bf;border-radius:24px;width:min(380px,calc(100vw - 32px));color:var(--ink);background:#fff1d6;box-shadow:0 12px 70px #51321c66;max-height:calc(100svh - 40px);overflow:auto}dialog::backdrop{background:#36291c88;backdrop-filter:blur(4px)}.modal-body{padding:27px;text-align:center}.modal-body h2{font-size:30px;letter-spacing:-.7px;margin:8px 0 13px}.modal-body p{font-size:13px;line-height:1.7;color:#94704d}.feedback{position:absolute;z-index:7;left:6%;right:6%;bottom:12%;background:#fff4d9f5;border:2px solid #c99b67;border-radius:12px;padding:12px;text-align:center;font-size:12px;box-shadow:0 4px 15px #59301f33;pointer-events:none}.modal-body .modal-mascot{height:150px;max-width:100%;object-fit:contain}.modal-eyebrow{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:#a87d48}.primary,.secondary{border:2px solid #fff5d8;border-radius:13px;box-shadow:0 3px 0 #be955e,0 0 0 1px #c7a270;padding:12px 20px;font-size:17px;display:block;width:100%;margin-top:13px}.primary{background:linear-gradient(#99df41,#65bc16);color:#fff9e3;text-shadow:0 2px #438c13}.secondary{background:linear-gradient(#ffdf9e,#f4c17a);color:#84592e;font-size:14px}.modal-row{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e6cda7;padding:15px 0;font-size:14px}.toggle{border:2px solid #c7a270;background:#e4c8a3;border-radius:18px;min-width:70px;padding:5px;color:#76542e}.toggle.on{background:#90cb48;color:#fff}.close-modal{background:none;border:0;font-size:13px;margin-top:22px;text-decoration:underline;color:#9d784e}.stats{display:flex;justify-content:center;gap:30px;margin:22px 0}.stats strong{display:block;font-size:25px}.stats span{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#b08a5e}.level-controls{display:flex;gap:8px;margin:17px 0}.level-controls input{width:100%;padding:10px;border:1px solid #cfab7e;border-radius:8px;background:#fffaf0;color:var(--ink)}.level-controls button{padding:8px 14px;background:#93cc48;border:1px solid #70a333;border-radius:8px;color:#fff}.level-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}.level-cell{height:42px;border:1px solid #d1ac7d;border-radius:9px;background:#ffdfa4;font-size:14px;position:relative}.level-cell.current{box-shadow:0 0 0 2px #be7f26}.level-cell.complete{background:#a1d35e;border-color:#7eb243;color:#fff}.level-cell:disabled{background:#e9dcc8;color:#aa967d;opacity:.65}.pager{display:flex;justify-content:space-between;align-items:center;margin:18px 0 0;font-size:12px}.pager button{border:1px solid #c6a57c;border-radius:8px;background:#fff6e4;padding:7px 12px}.evidence-list{text-align:left;line-height:1.8;font-size:12px;padding-left:18px;color:#94704d}.confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:6}.confetti i{position:absolute;top:-20px;width:9px;height:15px;background:var(--c);left:var(--x);animation:confetti 3s var(--d) linear both}

.feedback{position:absolute;z-index:7;left:6%;right:6%;bottom:12%;background:#fff4d9f5;border:2px solid #c99b67;border-radius:12px;padding:12px;text-align:center;font-size:12px;box-shadow:0 4px 15px #59301f33;pointer-events:none}.modal-body .modal-mascot{display:block;margin:0 auto 15px}.modal-eyebrow{display:block}
@keyframes confetti{to{transform:translateY(1000px) rotate(700deg)}}@keyframes ant-route{0%{offset-distance:0;transform:rotate(-20deg)}49%{transform:rotate(-20deg)}50%{transform:rotate(160deg)}100%{offset-distance:100%;transform:rotate(160deg)}}@keyframes hintpulse{50%{filter:drop-shadow(0 0 7px #fff) brightness(1.3);transform:translateY(-5px)}}
@media(max-aspect-ratio:462/1000){.game{width:100vw}}@media(max-width:600px){.game{width:100vw}}@media(min-aspect-ratio:4/5){.game{max-height:1000px}.topbar{padding-top:4px}}@media(max-height:700px){.queue-section{padding-top:8px}.tools{min-height:63px}.tool-count{height:24px;min-width:24px;font-size:9px}.tool-name{font-size:8px}.icon-button{width:27px;height:28px}.level-label{font-size:14px}.box-link{height:7px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
