:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg-main:#faf6ee;--text-main:#4a3f3a;--bg-card:#ffffffd9;--border-card:#d3c7be;--bg-board:#fff9;--border-board:#b3a396;--board-border-w:2px;--board-shadow:0 12px 24px -12px #0000001f;--title-gradient:linear-gradient(135deg, #b45309, #c2410c, #be123c);--title-glow:drop-shadow(0 0 10px #b4530933);--badge-bg:#c2410c;--badge-text:#fff7ed;--cell-empty:#ede5dc;--cell-preview-invalid:#ef444440;--text-score-label:#4a3f3ab3;--text-score-val:#d97706;--text-best-val:#e11d48;--bg-overlay:#f5efe6e6;--bg-modal:#fff;--border-modal:#d3c7be;font-family:ui-rounded,Nunito,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg-main:#2a2422;--text-main:#fde0d3;--bg-card:#4a3f3a66;--border-card:#5d4f49;--bg-board:#1c1816cc;--border-board:#382b26;--board-border-w:3px;--board-shadow:0 25px 50px -12px #00000040;--title-gradient:linear-gradient(135deg, #fbbf24, #f97316, #f43f5e);--title-glow:drop-shadow(0 0 14px #fb923c66);--badge-bg:#fbbf24;--badge-text:#1c1816;--cell-empty:#2a2422;--cell-preview-invalid:#ef44444d;--text-score-label:#fed7aacc;--text-score-val:#fcd34d;--text-best-val:#fda4af;--bg-overlay:#1c1816d9;--bg-modal:#2a2422;--border-modal:#4a3f3a}}body{background-color:var(--bg-main);color:var(--text-main);margin:0;transition:background-color .3s,color .3s;overflow-x:hidden}.touch-none{touch-action:none}.overflow-hidden{overflow:hidden}.game-root{justify-content:center;align-items:center;min-height:85vh;display:flex;position:relative;overflow:hidden}.game-container{z-index:10;box-sizing:border-box;flex-direction:column;align-items:center;gap:16px;width:100%;max-width:420px;padding:16px;display:flex;position:relative}.game-header{justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.game-title{letter-spacing:1px;background:var(--title-gradient);color:#0000;filter:var(--title-glow);-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(24px,7vw,32px);font-weight:900;line-height:1.05}.score-container{gap:12px;display:flex}.score-box{background-color:var(--bg-card);border:1px solid var(--border-card);border-radius:20px;flex-direction:column;align-items:center;min-width:76px;padding:8px 16px;display:flex;box-shadow:inset 0 2px 4px #0000000f}.score-label{letter-spacing:1.5px;color:var(--text-score-label);margin-bottom:2px;font-size:13px;font-weight:700}.score-value{color:var(--text-score-val);font-size:1.5rem;font-weight:900}.score-value.best{color:var(--text-best-val)}.new-version{box-sizing:border-box;background-color:var(--bg-card);border:1px solid var(--border-card);width:100%;color:var(--text-main);letter-spacing:.5px;border-radius:999px;align-items:center;gap:10px;padding:9px 14px;font-size:.8rem;font-weight:700;text-decoration:none;transition:transform .2s,border-color .2s;display:flex;box-shadow:inset 0 2px 4px #0000000a}.new-version:hover,.new-version:focus-visible{border-color:var(--badge-bg);transform:translateY(-2px)}.nv-badge{background-color:var(--badge-bg);color:var(--badge-text);letter-spacing:1.5px;border-radius:999px;flex:none;padding:3px 9px;font-size:.65rem}.nv-arrow{color:var(--badge-bg);flex:none;margin-left:auto;transition:transform .2s}.new-version:hover .nv-arrow{transform:translate(3px)}.board-wrapper{width:100%;position:relative}.combo-notice{z-index:20;pointer-events:none;white-space:nowrap;letter-spacing:.1em;color:#fbbf24;text-shadow:0 0 18px #fbbf24,0 0 36px #f97316;font-size:clamp(18px,5vw,24px);font-weight:900;animation:1.8s ease-out forwards comboPop;position:absolute;top:-40px;left:50%;transform:translate(-50%)}.score-popup{z-index:20;pointer-events:none;white-space:nowrap;color:#06d6a0;text-shadow:0 0 14px #06d6a080;font-size:clamp(22px,6vw,30px);font-weight:900;animation:.9s ease-out forwards scoreFloat;position:absolute;top:40%;left:50%}.game-board{background-color:var(--bg-board);border:var(--board-border-w) solid var(--border-board);width:100%;box-shadow:var(--board-shadow);box-sizing:border-box;border-radius:28px;grid-template-columns:repeat(8,1fr);gap:2px;padding:6px;display:grid}.board-cell{aspect-ratio:1;-webkit-user-select:none;user-select:none;background-color:var(--cell-empty);border-radius:12px;transition:filter 75ms}.board-cell.preview-valid{box-shadow:inset 0 0 0 2px #fde0d380}.board-cell.preview-invalid{background-color:var(--cell-preview-invalid)}.piece-tray{justify-content:center;align-items:stretch;gap:12px;width:100%;margin-top:8px;display:flex}.tray-button{background-color:var(--bg-card);border:2px solid var(--border-board);cursor:grab;touch-action:none;border-radius:24px;flex:1;justify-content:center;align-items:center;max-width:112px;min-height:96px;padding:12px;transition:transform .2s,background-color .2s,border-color .2s;display:flex;box-shadow:0 10px 15px -3px #0000001a}.tray-button:hover:not(:disabled){background-color:var(--cell-empty);border-color:var(--border-card);transform:translateY(-6px)}.tray-button:disabled{opacity:.3;cursor:default}.tray-button.dragging{opacity:0}.piece-grid{gap:2px;width:fit-content;display:grid}.piece-cell{border-radius:6px;width:100%;height:100%;display:block}.empty-tray-slot{background-color:var(--cell-empty);border:2px dashed var(--border-card);border-radius:50%;width:32px;height:32px}.drag-preview-container{z-index:50;pointer-events:none;will-change:transform;filter:drop-shadow(0 15px 25px #00000059);position:fixed;top:0;left:0}.drag-preview-grid{gap:2px;display:grid}.drag-preview-cell{border-radius:12px;transform:scale(1.05)}.hint-row{justify-content:center;align-items:center;gap:16px;width:100%;display:flex}.reset-btn{letter-spacing:1.5px;border:1px solid var(--border-card);background-color:var(--bg-card);color:var(--text-score-label);cursor:pointer;border-radius:999px;padding:8px 16px;font-size:.75rem;font-weight:700;transition:transform .2s,color .2s,border-color .2s}.reset-btn:hover:not(:disabled){color:#f97316;border-color:#f97316;transform:translateY(-2px)}.reset-btn:active:not(:disabled){transform:scale(.95)}.reset-btn:disabled{opacity:.3;cursor:default}.mute-btn{padding:8px 12px;font-size:.9rem;line-height:1}.footer-link{color:inherit;text-decoration:underline;transition:color .2s}.footer-link:hover{color:#f97316}.game-footer{text-align:center;color:var(--text-score-label);padding-top:32px;padding-bottom:16px;font-size:.875rem}.overlay-blur{z-index:50;background-color:var(--bg-overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);justify-content:center;align-items:center;animation:.4s forwards fadeIn;display:flex;position:fixed;inset:0}.modal-card{text-align:center;background-color:var(--bg-modal);border:2px solid var(--border-modal);box-sizing:border-box;border-radius:3rem;flex-direction:column;align-items:center;gap:20px;max-width:90vw;padding:48px 56px;animation:.4s cubic-bezier(.175,.885,.32,1.275) forwards panelUp;display:flex;position:relative;box-shadow:0 25px 50px -12px #0006}.modal-border-gradient{pointer-events:none;-webkit-mask-composite:xor;background:linear-gradient(135deg,#fbbf2466,#f9731640,#f43f5e40);border-radius:3rem;padding:2px;position:absolute;inset:-2px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.modal-title{letter-spacing:3px;background:linear-gradient(135deg,#fbbf24,#f97316,#f43f5e);color:#0000;filter:drop-shadow(0 0 22px #fb923c59);-webkit-background-clip:text;background-clip:text;font-size:clamp(44px,13vw,64px);font-weight:900;line-height:.95}.modal-score{color:var(--text-score-val);text-shadow:0 0 20px #fb923c4d;margin-top:8px;font-size:clamp(48px,15vw,72px);font-weight:900;line-height:1}.modal-best{letter-spacing:2px;color:var(--text-score-label);text-transform:uppercase;font-size:1.125rem;font-weight:700}.action-btn{letter-spacing:2px;cursor:pointer;color:#1c1816;background:linear-gradient(90deg,#fbbf24,#f97316);border:none;border-radius:1.5rem;margin-top:16px;padding:16px 40px;font-size:18px;font-weight:700;transition:transform .2s,box-shadow .2s;box-shadow:0 10px 20px #f9731633}.action-btn:hover{transform:scale(1.05);box-shadow:0 14px 28px #f9731659}.action-btn:active{transform:scale(.95)}.animate-score-pop{animation:.4s ease-out scorePop}.animate-clear{animation:.45s ease-out forwards cellClear}.animate-place{animation:.25s ease-out cellPlace}@keyframes scorePop{0%{transform:scale(1)}50%{color:#fb923c;transform:scale(1.2)}to{transform:scale(1)}}@keyframes cellClear{0%{opacity:1;filter:brightness(1.8);transform:scale(1)}to{opacity:0;transform:scale(0)}}@keyframes cellPlace{0%{transform:scale(.8)}to{transform:scale(1)}}@keyframes comboPop{0%{opacity:0;transform:translate(-50%,10px)scale(.6)}20%{opacity:1;transform:translate(-50%,-5px)scale(1.1)}35%{opacity:1;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%,-30px)scale(.8)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes panelUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes scoreFloat{0%{opacity:0;transform:translate(-50%,10px)scale(.7)}25%{opacity:1;transform:translate(-50%,-6px)scale(1.1)}to{opacity:0;transform:translate(-50%,-48px)scale(1)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}}
