.lab-page{--ink:#23384c;--accent:#176e87;--soft:#d9f6f6;--pop:#ffac52;color:var(--ink)}.lab-main{padding:32px 0}.lab-hero{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.35fr);gap:42px;align-items:center;margin-bottom:40px}.lab-intro{position:relative}.lab-kicker{font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:800;color:var(--accent)}.lab-intro h1{font-size:clamp(42px,5vw,70px);line-height:.98;letter-spacing:-3px;margin:18px 0 22px}.lab-intro h1 span{color:var(--accent);display:block}.lab-rule{font-size:20px;line-height:1.5;max-width:370px}.lab-note{font-size:13px;line-height:1.7;color:#53616b}.lab-sticker{display:inline-flex;align-items:center;gap:10px;background:var(--soft);border:1px solid var(--accent);padding:9px 14px;border-radius:40px;font-size:12px;font-weight:700;transform:rotate(-3deg);margin-top:14px;color:var(--ink)}.lab-console{background:#fffdf8;border:2px solid var(--accent);border-radius:26px;box-shadow:0 9px 0 var(--soft);padding:22px;min-width:0}.lab-top{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:14px}.lab-tag{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:var(--accent)}.lab-levels{display:flex;gap:5px}.lab-levels i{display:block;width:10px;height:10px;border-radius:50%;border:1px solid var(--accent);background:#fff}.lab-levels i.done{background:var(--accent)}.lab-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:14px}.lab-stats p{margin:0;background:var(--soft);border-radius:12px;padding:10px 6px;text-align:center;font-size:10px;text-transform:uppercase;letter-spacing:.5px;line-height:1.5}.lab-stats strong{display:block;font-size:21px;letter-spacing:-.5px;color:var(--ink);font-variant-numeric:tabular-nums}.lab-art{background:radial-gradient(ellipse at 10% 10%,#fff9 0 20%,transparent 21%),radial-gradient(ellipse at 95% 90%,#fff8 0 22%,transparent 23%),var(--soft);border:1px solid #ffffff;border-radius:19px;padding:18px;position:relative;overflow:hidden}.lab-board{display:grid;gap:8px;position:relative;min-width:0;isolation:isolate;touch-action:manipulation}.lab-board button{font:inherit;touch-action:manipulation;min-width:0;cursor:pointer;-webkit-tap-highlight-color:transparent}.lab-cell{padding:0;border:2px solid #fff;border-radius:14px;aspect-ratio:1;background:#fffaf2;color:var(--ink);font-size:26px!important;font-weight:800!important;box-shadow:0 4px 0 #2433461b;display:grid;place-items:center;position:relative}.lab-cell:not(:disabled):active{transform:translateY(3px);box-shadow:none}.lab-cell:disabled{cursor:default;opacity:1}.lab-cell.selected{outline:3px solid var(--ink);outline-offset:2px}.lab-cell.gone{visibility:hidden}.lab-cell .symbol{position:relative;z-index:1}.lab-cell small{font-size:11px;position:absolute;bottom:3px;right:5px}.lab-controls,.lab-options{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.lab-controls button,.lab-options button{font-family:inherit;border:1px solid var(--accent);border-radius:10px;min-height:44px;padding:10px 13px;background:#fffdf8;color:var(--ink);font-weight:800;font-size:12px;touch-action:manipulation;cursor:pointer}.lab-controls button:disabled,.lab-options button:disabled{opacity:.5;cursor:default}.lab-controls .lab-primary{background:var(--soft);border:2px solid var(--accent);flex:1}.lab-controls button:hover:not(:disabled),.lab-options button:hover:not(:disabled){box-shadow:0 2px 0 var(--accent)}.lab-options button[aria-pressed=true]{background:var(--soft);outline:2px solid var(--accent);outline-offset:-3px}.lab-status{font-size:13px;line-height:1.55;min-height:42px;margin:16px 0 0;color:var(--ink)}.lab-status.flash{animation:lab-bob .24s ease-out}.lab-result{padding:14px;background:#e6f7dc;color:#244b26;border:1px solid #679a48;border-radius:12px;margin-top:12px;line-height:1.5;font-size:14px}.lab-result[hidden]{display:none}.lab-console button:focus-visible{outline:3px solid #512d84;outline-offset:3px}.lab-page .ad-slot{margin:36px auto;max-width:100%;overflow-wrap:anywhere}.lab-page .mini-instructions{margin-top:38px}.lab-page .mini-instructions p{color:#425560}.lab-legend{font-size:12px;line-height:1.55;margin:10px 0 0;color:var(--ink)}.lab-colors{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.lab-colors button{border:2px solid #fff;border-radius:15px;padding:8px 4px;min-height:66px;font-size:12px;font-weight:800;box-shadow:0 3px 0 #23384c22;touch-action:manipulation;color:var(--ink)}.lab-colors b{display:block;font-size:25px}.tone-0{background:#ffbaaa!important}.tone-1{background:#a6e7da!important}.tone-2{background:#d1c0ff!important}.tone-3{background:#ffe288!important}.lab-coral .lab-cell{border-radius:48% 48% 38% 38%;border-bottom-width:5px}.lab-coral .lab-cell.connected:after{content:'';position:absolute;inset:4px;border:1px solid #23384c66;border-radius:inherit}.lab-orchard .lab-cell{background:#e4f6ba;border-radius:14px 14px 22px 22px;border-color:#fff}.lab-orchard .lab-cell:before{content:'';width:22px;height:13px;border-radius:100% 0 100% 0;background:#3e9566;position:absolute;top:2px;right:3px;transform:rotate(-15deg)}.lab-orchard .lab-cell .symbol{background:#fff1b7;border-radius:50%;width:80%;height:80%;display:grid;place-items:center;margin-top:6px}.lab-parcels{grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(5,1fr);aspect-ratio:1;background:repeating-linear-gradient(90deg,transparent 0 calc(20% - 1px),#c2d5ed calc(20% - 1px) 20%),repeating-linear-gradient(0deg,#edf5ff 0 calc(20% - 1px),#c2d5ed calc(20% - 1px) 20%);padding:4px;border:2px dashed #849ebd;border-right:4px solid var(--accent);gap:5px}.lab-parcels .parcel{border:2px solid #fff;border-radius:9px;color:var(--ink);font-weight:800;font-size:15px;background:repeating-linear-gradient(45deg,#ffffff22 0 9px,transparent 9px 18px),#ffd3a5;box-shadow:0 3px 0 #23384c22}.lab-parcels .parcel.van{background:#ffaeb7}.lab-parcels .parcel.selected{outline:3px solid #33436b;outline-offset:1px}.lab-parcels .exit{position:absolute;right:0;top:42%;height:17%;border-right:5px solid #e93d61;pointer-events:none}.lab-crystals .lab-cell{background:#f1eaff;border-radius:14px}.lab-crystals .crystal{height:66%;width:66%;clip-path:polygon(50% 0,100% 35%,80% 100%,20% 100%,0 35%);display:grid;place-items:center;border-radius:0;background:linear-gradient(125deg,#fff9,transparent 55%),var(--gem);font-size:23px;color:#23384c}.lab-clues{display:grid;grid-template-columns:42px repeat(5,minmax(0,1fr));gap:4px}.lab-clues .clue{font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;min-height:40px;white-space:pre-line;text-align:center;line-height:1.1;color:#204d6f}.lab-clues .top-clue{min-height:48px}.lab-clues .lab-cell{border-radius:7px;font-size:21px!important;border:1px solid #89b8d3;box-shadow:none;background:#fff;min-height:0}.lab-clues .filled{background:#b9e4ff;color:#235f8b}.lab-clues .crossed{background:#eff7fb;color:#4c6e80}.lab-meadow .lab-cell{background:#d9edb0;border-bottom:4px solid #a1bc77;border-radius:11px;font-size:22px!important}.lab-meadow .lab-cell.open{background:#fff7dc;border-color:#d5dbb2}.lab-meadow .lab-cell.thorn{background:#ffc6cd}.lab-ribbon{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.lab-ribbon .lab-cell{border-radius:28px;font-size:clamp(35px,6vw,65px)!important;border-width:4px;box-shadow:0 7px 0 #24334624}.lab-ribbon .lab-cell b{display:block}.lab-ribbon .lit{outline:6px solid #fff;outline-offset:-12px;filter:brightness(1.12);transform:scale(.94);box-shadow:0 0 0 4px var(--accent)}.lab-ribbon .lab-cell small{font-size:11px;position:static}.lab-tray{display:flex;gap:5px;padding:10px;background:#fff4de;border:2px dashed #c89853;border-radius:12px;min-height:48px;align-items:center;margin-bottom:15px}.lab-tray>span{display:grid;place-items:center;flex:1;border-radius:50%;aspect-ratio:1;background:#fff;max-width:42px;font-size:22px}.lab-berries{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.lab-berries .lab-cell{border-radius:11px;border-width:1px;font-size:22px!important}.lab-berries .locked{opacity:.55;box-shadow:none;background:#e3e6dc!important}.lab-berries .locked:after{content:'•';position:absolute;bottom:-4px;font-size:14px}.lab-berries .berry{height:70%;width:70%;border-radius:50% 45% 48% 48%;display:grid;place-items:center;background:var(--berry);font-size:17px;position:relative;color:#23384c}.lab-berries .berry:before{content:'';position:absolute;width:12px;height:8px;background:#3b8b53;top:-4px;border-radius:90% 0 90% 0}.lab-fruit{font-size:70px;text-align:center;line-height:1.2;padding:8px;background:#fff5df;border-radius:20px;margin-bottom:12px}.lab-answer{display:flex;gap:5px;justify-content:center;min-height:50px;margin-bottom:14px}.lab-answer span{display:grid;place-items:center;background:#fff;min-width:0;flex:1;max-width:52px;border-radius:8px;border-bottom:3px solid var(--accent);font-size:25px;font-weight:800}.lab-letters{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.lab-letters .lab-cell{font-size:22px!important;border-radius:12px 12px 18px 18px;background:linear-gradient(0deg,#fff3,transparent),#ffdf9c;box-shadow:0 4px 0 #dcb068}.lab-letters .chosen{opacity:.25}.lab-bank{display:flex;align-items:center;justify-content:center;gap:15px;padding:12px;background:#e2f5f1;border-radius:40px;margin-bottom:14px;font-size:13px}.lab-bank strong{font-size:27px;color:#234f53}.lab-dominoes{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.lab-domino{display:flex;justify-content:center;border:2px solid #82bfb3;border-radius:14px;background:#fffdf3;color:#23474a;padding:8px;box-shadow:0 4px 0 #4c978d33;min-height:60px}.lab-domino span{flex:1;display:flex;gap:4px;align-items:center;justify-content:center;font-size:23px;font-weight:800}.lab-domino span+span{border-left:2px dotted #a2c5bc}.lab-domino small{font-size:10px;max-width:35px;line-height:1.2}.lab-chain{display:flex;flex-wrap:wrap;gap:4px;min-height:25px;margin:10px 0;color:#23474a}.lab-chain span{background:#fff;padding:3px 6px;border-radius:5px;font-size:11px}.lab-progress{background:#fff5df;padding:9px;border-radius:9px;font-size:12px;text-align:center;margin-bottom:12px}.lab-side-controls{display:flex;gap:8px;margin-top:12px}.lab-side-controls button{flex:1;min-height:46px;border:1px solid var(--accent);background:#fff;color:var(--ink);border-radius:10px;font-size:16px;font-weight:800}.lab-side-controls button:disabled{opacity:.4}@keyframes lab-bob{50%{transform:translateY(-3px)}}@media(max-width:800px){.lab-hero{grid-template-columns:1fr;gap:24px;max-width:640px;margin:0 auto 32px}.lab-intro h1 span{display:inline}.lab-intro h1 span:before{content:' '}.lab-intro h1{font-size:43px;letter-spacing:-2px;margin:10px 0}.lab-rule{font-size:17px;max-width:none;margin:12px 0}.lab-note{margin:9px 0}.lab-sticker{display:none}.lab-main{padding-top:18px}}@media(max-width:480px){.lab-console{padding:13px;border-radius:20px}.lab-art{padding:11px;border-radius:14px}.lab-board{gap:6px}.lab-cell{border-radius:10px;font-size:23px!important}.lab-hero{gap:15px}.lab-intro h1{font-size:36px}.lab-rule{font-size:15px;line-height:1.45}.lab-note{font-size:12px}.lab-stats p{font-size:9px;padding:7px 4px}.lab-stats strong{font-size:18px}.lab-colors{gap:6px}.lab-colors button{min-height:60px;font-size:10px}.lab-clues{gap:3px;grid-template-columns:29px repeat(5,minmax(0,1fr))}.lab-clues .clue{font-size:10px;min-height:30px}.lab-clues .top-clue{min-height:38px}.lab-ribbon{gap:12px}.lab-ribbon .lab-cell{border-radius:20px}.lab-berries{gap:5px}.lab-berries .berry{font-size:13px}.lab-berries .lab-cell{border-radius:8px}.lab-fruit{font-size:56px}.lab-answer span{font-size:22px}.lab-letters{gap:5px}.lab-letters .lab-cell{font-size:18px!important}.lab-parcels{gap:3px}.lab-parcels .parcel{font-size:12px;border-radius:6px}.lab-dominoes{gap:9px}.lab-domino{padding:6px;min-height:53px}.lab-domino span{font-size:21px}.lab-domino small{font-size:9px}.lab-status{font-size:12px;min-height:38px}.lab-controls button,.lab-options button{padding:8px 10px}.lab-legend{font-size:11px}}
@media(prefers-reduced-motion:reduce){.lab-status.flash{animation:none}.lab-cell:not(:disabled):active,.lab-ribbon .lit{transform:none}}

.lab-colors{width:100%}.lab-side-controls{width:100%}.lab-domino.gone{visibility:hidden}

.lab-console{max-width:620px;justify-self:end;width:100%;box-sizing:border-box}.lab-controls{margin-top:0;margin-bottom:14px}@media(max-width:800px){.lab-console{max-width:none}}
