:root{font-family:Trebuchet MS,Avenir Next,Segoe UI,sans-serif;color:#fff7ee;background:radial-gradient(circle at 44% -8%,rgba(255,181,108,.24),transparent 32%),repeating-linear-gradient(96deg,rgba(255,255,255,.035) 0 3px,rgba(80,31,9,.035) 3px 9px,transparent 9px 19px),linear-gradient(180deg,#bd6130,#ad5328 34%,#93411f 72%,#793117);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{width:100%;height:100%}html{overflow-x:hidden}body{margin:0;width:100%;height:100vh;height:100dvh;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:auto;background:radial-gradient(circle at 18% 8%,rgba(255,205,143,.16),transparent 26%),repeating-linear-gradient(102deg,rgba(255,255,255,.035) 0 2px,transparent 2px 13px,rgba(62,22,8,.045) 13px 18px),repeating-linear-gradient(8deg,rgba(255,169,88,.035) 0 1px,transparent 1px 7px),linear-gradient(180deg,#c86934,#ae5529 38%,#8e3e1e)}button{font:inherit}#root{position:fixed;inset:0;overflow:hidden}.app-shell{height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;overflow:hidden;padding:max(6px,env(safe-area-inset-top)) 10px max(8px,env(safe-area-inset-bottom));display:flex;align-items:stretch;justify-content:center}.app-card{--app-v-gap: clamp(6px, 1.5vh, 10px);--tray-gap: clamp(6px, 2vw, 10px);--tray-cell-size: clamp(16px, 5.1vw, 21px);--tray-cell-gap: 1px;width:min(100%,480px);height:100%;min-height:0;overflow:visible;padding:6px 8px 8px;border-radius:32px;position:relative;display:flex;flex-direction:column;gap:var(--app-v-gap)}.topbar{display:flex;flex-direction:column;align-items:center;gap:clamp(4px,1vh,8px)}.score-marquee{width:100%;text-align:center}.eyebrow{margin:0 0 2px;text-transform:uppercase;letter-spacing:.2em;font-size:.62rem;color:#ffecd0c7}.score-hero{display:flex;flex-direction:column;align-items:center;gap:2px;text-shadow:0 2px 0 rgba(98,53,14,.3),0 8px 16px rgba(42,19,4,.32)}.score-label{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:#fff0dcdb}.score-hero strong{font-size:clamp(2rem,9.4vw,4rem);line-height:.9;font-weight:800;color:#fffdf7}.subcopy,.footer-copy{color:#ffecd6c7}.subcopy{margin:0 auto;line-height:1.22;max-width:32ch;text-align:center;font-size:clamp(.74rem,2.35vw,.9rem)}.footer-copy{margin-top:0;display:flex;flex-direction:column;gap:4px;font-size:.82rem;text-align:center}.hud{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.stat,.restart{border:0;border-radius:16px;padding:10px 12px;background:linear-gradient(180deg,#8f5625f0,#673a18f5),linear-gradient(90deg,#ffffff0a,#00000014);box-shadow:inset 0 1px #ffffff38,inset 0 -2px 4px #2c15062e,0 8px 16px #351a082e}.stat span{display:block;font-size:.66rem;text-transform:uppercase;letter-spacing:.14em;color:#ffe7c6cc;margin-bottom:2px}.stat strong{font-size:1.15rem;color:#fff8ef}.score-hero.pulse,.stat.pulse{animation:pulse .22s ease}.restart{color:#fff8f0;font-weight:700;cursor:pointer;min-width:104px}.board-shell{position:relative;width:min(100%,440px);max-width:100%;margin:0 auto;padding:clamp(4px,1.25vw,8px);border-radius:8px;flex:0 0 auto;background:linear-gradient(145deg,#c06b35,#9d4522 48%,#6d2411),repeating-linear-gradient(95deg,rgba(255,215,151,.18) 0 2px,transparent 2px 11px,rgba(70,24,7,.12) 11px 15px);box-shadow:inset 0 3px 2px #ffc27338,inset 0 -5px 7px #300c0461,inset 3px 0 4px #ffdc9a1a,0 16px 24px #3f180847}.board-shell:before{content:"";position:absolute;inset:3px;border-radius:4px;background:linear-gradient(135deg,rgba(255,255,255,.05),transparent 28%),linear-gradient(180deg,rgba(56,27,10,.18),transparent 24%);pointer-events:none;opacity:.55}.board{--board-gap: clamp(3px, 1vw, 5px);position:relative;display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:var(--board-gap);aspect-ratio:1;padding:var(--board-gap);border-radius:3px;background:linear-gradient(180deg,#b85e30,#9a3f1f 58%,#752712),repeating-linear-gradient(92deg,rgba(255,214,144,.16) 0 2px,transparent 2px 12px,rgba(62,18,6,.12) 12px 18px);box-shadow:inset 0 3px 4px #ffd5952b,inset 0 -5px 8px #250a0461;touch-action:none}.board:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(to right,transparent calc(33.333% - 2px),rgba(87,23,9,.42) calc(33.333% - 2px),rgba(87,23,9,.42) calc(33.333% + 2px),transparent calc(33.333% + 2px),transparent calc(66.666% - 2px),rgba(87,23,9,.42) calc(66.666% - 2px),rgba(87,23,9,.42) calc(66.666% + 2px),transparent calc(66.666% + 2px)),linear-gradient(to bottom,transparent calc(33.333% - 2px),rgba(87,23,9,.42) calc(33.333% - 2px),rgba(87,23,9,.42) calc(33.333% + 2px),transparent calc(33.333% + 2px),transparent calc(66.666% - 2px),rgba(87,23,9,.42) calc(66.666% - 2px),rgba(87,23,9,.42) calc(66.666% + 2px),transparent calc(66.666% + 2px));pointer-events:none}.cell{position:relative;aspect-ratio:1 / 1;border-radius:1px;background:linear-gradient(180deg,#ffb2670f,#2a08032e),linear-gradient(90deg,#ff8f4812,#19050221),#5b190c;box-shadow:inset 0 5px 9px #16050270,inset 3px 0 5px #ff80401a,inset 0 -1px 2px #ff8b4114}.cell.light-region{background:linear-gradient(180deg,#ffb76f14,#370a0426),linear-gradient(90deg,#ff974e14,#1f06021a),#8f301b}.cell.dark-region{background:linear-gradient(180deg,#ff8e4a0d,#23060233),linear-gradient(90deg,#ff7a390d,#14040226),#59170c}.cell:before{content:"";position:absolute;inset:6%;border-radius:1px;background:linear-gradient(180deg,rgba(255,255,255,.03),transparent 40%,rgba(0,0,0,.14));opacity:.9}.cell.occupied,.mini-cell.filled{background:linear-gradient(135deg,rgba(255,245,196,.42),transparent 34%),repeating-linear-gradient(11deg,rgba(112,61,14,.18) 0 1px,transparent 1px 7px,rgba(255,238,170,.16) 7px 8px,transparent 8px 15px),linear-gradient(180deg,#f0bd6b,#d8903f 42%,#b86a29);box-shadow:inset 3px 3px 3px #ffefae8f,inset -4px -5px 4px #6f310a75,4px 5px 6px #1f080252}.cell.occupied:before,.mini-cell.filled:before{content:"";position:absolute;inset:8%;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.16),transparent 42%,rgba(107,50,9,.16)),repeating-linear-gradient(96deg,rgba(87,45,9,.12) 0 1px,transparent 1px 9px)}.cell.valid{outline:2px solid rgba(157,233,173,.9);background:linear-gradient(180deg,#618a53eb,#3e5f39f0)}.cell.valid:after,.cell.clear-preview:after,.cell.clear-preview-piece:after{content:"";position:absolute;inset:10%;border-radius:inherit;pointer-events:none}.cell.clear-preview{outline:2px solid rgba(255,227,150,.95);background:linear-gradient(180deg,#f3d389f5,#d4a14df5),linear-gradient(90deg,#ffffff14,#00000014);box-shadow:inset 0 1px #ffffff57,inset 0 -2px 4px #7d4c133d,0 0 0 1px #fff4d02e,0 4px 10px #522a0a2e}.cell.clear-preview:after{inset:16%;border:1.5px solid rgba(255,247,219,.82);opacity:.9}.cell.clear-preview-piece{outline:2px solid rgba(255,244,196,.98);background:linear-gradient(180deg,#9ac67dfa,#709b50fa),linear-gradient(90deg,#ffffff14,#0000000f);box-shadow:inset 0 1px #ffffff47,inset 0 -2px 4px #45602d3d,0 0 0 1px #fff1c638,0 4px 12px #3a54223d}.cell.clear-preview-piece:after{inset:18%;background:radial-gradient(circle at 50% 50%,#fff9e3e0,#fff9e300 68%);opacity:.95}.cell.invalid{outline:2px solid rgba(255,159,145,.88);background:linear-gradient(180deg,#984637e6,#702a22f0)}@media(max-width:520px){.cell.valid,.cell.clear-preview,.cell.clear-preview-piece,.cell.invalid{outline-width:1.5px}.cell.clear-preview:after{inset:18%;border-width:1px}.cell.clear-preview-piece:after{inset:20%}}@media(prefers-reduced-motion:no-preference){.cell.clear-preview,.cell.clear-preview-piece{animation:previewGlow 1.4s ease-in-out infinite}}@keyframes previewGlow{0%,to{filter:saturate(1) brightness(1)}50%{filter:saturate(1.08) brightness(1.05)}}@media(prefers-reduced-motion:reduce){.cell.clear-preview,.cell.clear-preview-piece{animation:none}}.cell.clearing{animation:clearFlash .26s ease}.tray{margin-top:0;padding:2px 2px 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--tray-gap);align-items:end;overflow:visible}.tray-piece{min-height:clamp(64px,19vw,102px);min-width:max-content;border:0;border-radius:18px;padding:6px 4px 8px;display:flex;align-items:center;justify-content:center;background:transparent;box-shadow:none;transition:transform .16s ease,opacity .16s ease;cursor:grab;touch-action:none}.tray-piece.active{opacity:.12;transform:scale(.96)}.mini-grid{display:grid;gap:var(--tray-cell-gap);filter:drop-shadow(5px 7px 6px rgba(42,12,3,.3))}.mini-cell{position:relative;width:var(--tray-cell-size);height:var(--tray-cell-size);border-radius:2px;opacity:0}.mini-cell.filled{opacity:1}.drag-ghost{position:fixed;z-index:30;pointer-events:none}.piece-amber .mini-cell.filled,.piece-oak .mini-cell.filled,.piece-sand .mini-cell.filled,.piece-walnut .mini-cell.filled,.piece-pine .mini-cell.filled,.piece-clay .mini-cell.filled{background:linear-gradient(180deg,#fdf3d5,#efdcb4 34%,#d5b17f 74%,#c89157)}.modal-backdrop{position:fixed;inset:0;background:#1f0e0380;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:grid;place-items:center;padding:24px}.modal{width:min(100%,360px);padding:28px;border-radius:28px;background:linear-gradient(180deg,#8c5224fa,#5c3215);box-shadow:0 26px 80px #00000047;text-align:center}.modal-copy{color:#ffecd0d6;margin:12px 0 22px}.play-again{width:100%;border:0;border-radius:18px;padding:15px;background:linear-gradient(180deg,#fde4b5,#d89d56);color:#5a2d0f;font-weight:800;cursor:pointer}@keyframes clearFlash{0%{transform:scale(1);filter:brightness(1)}50%{transform:scale(.88);filter:brightness(1.25)}to{transform:scale(1);filter:brightness(1)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.04)}to{transform:scale(1)}}@media(max-width:520px){.app-shell{padding-left:0;padding-right:0}.app-card{padding-left:1px;padding-right:1px}.board-shell{padding:1px;border-radius:14px}.board-shell:before{inset:1px;border-radius:10px}.topbar{flex-direction:row;align-items:flex-end;justify-content:space-between}.score-marquee{width:auto;text-align:left;flex:1 1 auto}.eyebrow{display:none}.hud{width:auto;flex:0 0 auto;grid-template-columns:repeat(2,auto);gap:6px;align-items:stretch}.stat,.restart{padding:8px 10px;min-width:0}.subcopy{max-width:28ch;font-size:.72rem}.tray-piece{min-height:clamp(58px,17vw,92px);align-items:flex-start}.footer-copy{display:none}}@media(max-height:820px){.footer-copy{display:none}}@media(max-height:720px){.subcopy{display:none}.app-card{--tray-cell-size: clamp(14px, 4.6vw, 18px);--tray-gap: clamp(4px, 1.6vw, 8px);--app-v-gap: clamp(4px, 1vh, 8px)}.score-hero strong{font-size:clamp(1.8rem,8.5vw,2.8rem)}.stat,.restart{padding:8px 10px;border-radius:14px}.board-shell{padding:1px}.tray-piece{min-height:clamp(58px,17vw,88px);padding:4px 2px 6px}}@media(min-width:720px){.app-shell{padding:20px 18px 24px}.app-card{padding:16px 18px 22px}.subcopy,.footer-copy{max-width:38ch;margin-left:auto;margin-right:auto}}
