.letris-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000a6;justify-content:center;align-items:center;padding:10px;display:flex;position:fixed;inset:0}.letris-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:18px;flex-direction:column;gap:10px;max-width:96vw;max-height:96vh;padding:12px 14px 14px;display:flex;overflow:auto;box-shadow:0 18px 50px #00000073}.letris-modal--setup{gap:16px;width:100%;max-width:440px;padding:16px 18px 18px}.letris-top{align-items:center;gap:14px;display:flex}.letris-title{color:var(--text-bright);font-size:.95rem;font-weight:700}.letris-stat{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.82rem;font-weight:600}.letris-hint-btn{border:1px solid var(--border,#ffffff1f);height:24px;color:var(--text);font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:3px;padding:0 9px;font-size:.78rem;font-weight:700;transition:background .15s,border-color .15s,opacity .15s;display:inline-flex}.letris-hint-btn:hover:not(:disabled){background:var(--ink-08,#ffffff14);border-color:#f5b900}.letris-hint-btn:disabled{opacity:.4;cursor:default}.letris-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:0 4px;font-size:1.6rem;line-height:1;transition:color .15s}.letris-close:hover{color:var(--text-bright)}.letris-setup-desc{color:var(--text);margin:0;font-size:.9rem;line-height:1.5}.letris-setup-count{flex-direction:column;gap:8px;display:flex}.letris-setup-label{color:var(--text-muted);font-size:.82rem;font-weight:600}.letris-count-chips{flex-wrap:wrap;gap:8px;display:flex}.letris-count-chip{border:1px solid var(--border);background:var(--bg-surface);min-width:46px;color:var(--text);cursor:pointer;border-radius:10px;padding:7px 12px;font-size:.92rem;font-weight:700;transition:border-color .15s,background .15s}.letris-count-chip:hover{border-color:var(--accent)}.letris-count-chip--active{border-color:var(--accent);background:var(--accent);color:#fff}.letris-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:11px;display:flex}.letris-toggle input{opacity:0;width:0;height:0;position:absolute}.letris-switch{background:var(--bg-surface);border:1px solid var(--border);border-radius:999px;flex:none;width:42px;height:24px;transition:background .18s,border-color .18s;position:relative}.letris-switch-thumb{background:var(--text-muted);border-radius:50%;width:18px;height:18px;transition:transform .18s,background .18s;position:absolute;top:2px;left:2px}.letris-toggle input:checked+.letris-switch{background:#2f8fd6;border-color:#2f8fd6}.letris-toggle input:checked+.letris-switch .letris-switch-thumb{background:#fff;transform:translate(18px)}.letris-toggle input:focus-visible+.letris-switch{box-shadow:0 0 0 3px #38aaff59}.letris-toggle-text{color:var(--text);flex-direction:column;gap:1px;font-size:.9rem;font-weight:600;line-height:1.25;display:flex}.letris-toggle-sub{color:var(--text-muted);font-size:.76rem;font-weight:400}.letris-legend{color:var(--text-muted);flex-wrap:wrap;gap:6px 14px;font-size:.78rem;display:flex}.letris-legend-item{align-items:center;gap:6px;display:inline-flex}.letris-dot{border-radius:4px;width:12px;height:12px;display:inline-block}.letris-dot--h{background:#3b82f6}.letris-dot--v{background:#10b981}.letris-dot--sq{background:#f59e0b}.letris-btn{border:1px solid var(--border);background:var(--bg-surface);color:var(--text);cursor:pointer;border-radius:12px;padding:10px 18px;font-size:.95rem;font-weight:700;transition:filter .15s,transform .1s}.letris-btn:hover{filter:brightness(1.08)}.letris-btn:active{transform:translateY(1px)}.letris-btn--primary{border-color:var(--accent);background:var(--accent);color:#fff}.letris-result{flex-direction:column;align-items:center;gap:8px;padding:6px 0;display:flex}.letris-result-emoji{font-size:2.4rem}.letris-result-praise{color:var(--text-bright);text-align:center;margin:0;font-size:1.05rem;font-weight:700}.letris-result-stats{color:var(--text-muted);flex-wrap:wrap;justify-content:center;gap:6px 16px;font-size:.88rem;display:flex}.letris-result-stats b{color:var(--text-bright)}.letris-result-btns{justify-content:center;gap:10px;display:flex}.letris-board-wrap{justify-content:center;display:flex}.letris-board{background:repeating-linear-gradient(to right, transparent 0, transparent calc(100% - 1px), var(--ink-08,#8080a014) calc(100% - 1px)), var(--bg-surface);border-left:3px solid var(--border);border-right:3px solid var(--border);border-bottom:3px solid var(--border);touch-action:none;border-radius:0 0 14px 14px;position:relative;overflow:hidden}.letris-piece-inner{touch-action:none}.letris-water-svg{z-index:7;pointer-events:none;position:absolute;inset:0;overflow:visible}.letris-water-line{fill:none;stroke:#cdf0ffd9;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(0 0 6px #78c8ffb3)}.letris-droplet{z-index:9;width:var(--sz);height:var(--sz);pointer-events:none;background:radial-gradient(circle at 35% 30%,#e1f8fff7,#60b8ffe6 55%,#2680e8bf);border-radius:50%;animation:.85s cubic-bezier(.3,.5,.5,1) forwards letris-droplet;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 5px #78c8ffbf}@keyframes letris-droplet{0%{opacity:.95;transform:translate(-50%,-50%)scale(.7)}30%{opacity:1;transform:translate(calc(-50% + var(--dx) * .55), calc(-50% + var(--peak))) scale(1)}to{opacity:0;transform:translate(calc(-50% + var(--dx)), calc(-50% + var(--fall))) scale(.4)}}.letris-ripple{z-index:8;pointer-events:none;border:2px solid #cdf0ffd9;border-bottom-color:#0000;border-radius:50%;width:8px;height:5px;animation:.65s ease-out forwards letris-ripple;position:absolute;transform:translate(-50%,-50%)}@keyframes letris-ripple{0%{opacity:.9;width:8px;height:5px}to{opacity:0;width:var(--rw);height:calc(var(--rw) * .28)}}.letris-clock{color:#5cc8ff;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.84rem;font-weight:700}.letris-clock--low{color:#ef4444;animation:1s ease-in-out infinite letris-clock-pulse}@keyframes letris-clock-pulse{0%,to{opacity:1}50%{opacity:.45}}.letris-board--shake-soft{animation:.34s ease-in-out letris-shake-soft}.letris-board--shake-boom{animation:.6s cubic-bezier(.36,.07,.19,.97) letris-shake-boom}@keyframes letris-shake-soft{0%,to{transform:translate(0)}20%{transform:translate(-5px,2px)}45%{transform:translate(5px,-3px)}70%{transform:translate(-3px,2px)}}@keyframes letris-shake-boom{0%,to{transform:translate(0)}8%{transform:translate(-13px,7px)}20%{transform:translate(15px,-8px)}33%{transform:translate(-12px,-7px)}46%{transform:translate(12px,8px)}60%{transform:translate(-8px,4px)}75%{transform:translate(7px,-3px)}88%{transform:translate(-3px,2px)}}.letris-piece{pointer-events:none;will-change:transform, opacity;position:absolute;top:0;left:0}.letris-piece-inner{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;pointer-events:none;filter:drop-shadow(0 2px 3px #00000059);position:absolute;inset:0}.letris-piece--h{--lp:#3b82f6;--lp-d:#1d4ed8}.letris-piece--v{--lp:#10b981;--lp-d:#047857}.letris-piece--sq{--lp:#f59e0b;--lp-d:#b45309}.letris-svg{display:block;overflow:visible}.letris-shape{pointer-events:auto;stroke:#ffffff4d;stroke-width:1.5px}.letris-grad-a{stop-color:color-mix(in srgb, var(--lp) 80%, #fff)}.letris-grad-b{stop-color:var(--lp)}.letris-grad-c{stop-color:var(--lp-d)}.letris-piece-inner:hover .letris-shape{filter:brightness(1.08)}.letris-piece--sel .letris-piece-inner{filter:drop-shadow(0 2px 3px #00000059) drop-shadow(0 0 10px var(--lp));z-index:6}.letris-piece--sel .letris-shape{filter:brightness(1.18);stroke:#fff;stroke-width:3px;animation:.7s ease-in-out infinite alternate letris-sel-pulse}@keyframes letris-sel-pulse{0%{stroke-opacity:.65}to{stroke-opacity:1}}.letris-piece-inner--hint{z-index:7;animation:.5s ease-in-out infinite alternate letris-hint-pulse}.letris-piece-inner--hint .letris-shape{stroke:#ffd23f;stroke-width:3px}@keyframes letris-hint-pulse{0%{filter:drop-shadow(0 2px 3px #00000059)drop-shadow(0 0 6px #ffd23f)}to{filter:drop-shadow(0 2px 3px #00000059)drop-shadow(0 0 16px #ffd23f)}}.letris-text{text-align:center;color:#fff;text-shadow:0 1px 2px #0000008c;pointer-events:none;word-break:normal;overflow-wrap:normal;justify-content:center;align-items:center;font-weight:700;line-height:1.05;display:flex;position:absolute;overflow:hidden}.letris-text--jp{word-break:keep-all;font-family:Noto Serif JP,Hiragino Mincho ProN,serif}.letris-text--vert{writing-mode:vertical-rl}.letris-piece--sel,.letris-piece--sel .letris-piece-inner{z-index:6}.letris-piece-inner--pop{animation:.44s cubic-bezier(.3,0,.2,1) forwards letris-pop}.letris-piece-inner--pop .letris-shape,.letris-piece-inner--boom .letris-shape{pointer-events:none}@keyframes letris-pop{0%{opacity:1;transform:scale(1)rotate(0)}30%{opacity:1;filter:brightness(1.5);transform:scale(1.22)rotate(-3deg)}to{opacity:0;transform:scale(.05)rotate(8deg)}}.letris-piece-inner--boom{animation:.44s cubic-bezier(.3,0,.2,1) forwards letris-boom}@keyframes letris-boom{0%{opacity:1;filter:brightness();transform:scale(1)rotate(0)}25%{opacity:1;filter:brightness(2.6)saturate(1.4);transform:scale(1.7)rotate(6deg)}to{opacity:0;filter:brightness(3);transform:scale(.05)rotate(28deg)}}.letris-piece-inner--wrong{animation:.46s ease-in-out letris-wrong}.letris-piece-inner--wrong .letris-shape{fill:#ef4444;stroke:#fff}@keyframes letris-wrong{0%,to{transform:translate(0)}15%{transform:translate(-6px)rotate(-2deg)}30%{transform:translate(6px)rotate(2deg)}45%{transform:translate(-5px)rotate(-1.5deg)}60%{transform:translate(5px)rotate(1.5deg)}75%{transform:translate(-3px)}}.letris-particle{z-index:12;width:var(--sz);height:var(--sz);background:var(--c);box-shadow:0 0 6px var(--c);pointer-events:none;border-radius:2px;animation:.9s cubic-bezier(.2,.6,.3,1) forwards letris-particle;position:absolute;transform:translate(-50%,-50%)}@keyframes letris-particle{0%{opacity:1;transform:translate(-50%,-50%)rotate(0)scale(1)}70%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--dx)), calc(-50% + var(--dy) + 26px)) rotate(var(--rot)) scale(.3)}}.letris-flash{z-index:11;pointer-events:none;background:radial-gradient(circle, #fffffff2 0%, var(--fc) 35%, transparent 70%);border-radius:50%;width:4px;height:4px;animation:.5s ease-out forwards letris-flash;position:absolute;transform:translate(-50%,-50%)}.letris-flash--boom{animation:.6s ease-out forwards letris-flash-boom}@keyframes letris-flash{0%{opacity:.9;width:4px;height:4px}to{opacity:0;width:80px;height:80px}}@keyframes letris-flash-boom{0%{opacity:1;width:8px;height:8px}to{opacity:0;width:190px;height:190px}}.letris-ring{border:3px solid var(--fc);border-radius:50%;width:6px;height:6px;animation:.58s ease-out forwards letris-ring;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes letris-ring{0%{opacity:.85;border-width:4px;width:6px;height:6px}to{opacity:0;border-width:1px;width:230px;height:230px}}.letris-hint{text-align:center;color:var(--text-muted);margin:0;font-size:.78rem}@media (width<=520px){.letris-overlay{padding:4px}.letris-modal{border-radius:14px;gap:8px;max-width:100vw;padding:8px 8px 10px}.letris-modal--setup{gap:13px;padding:14px 15px 16px}.letris-top{gap:8px}.letris-title{font-size:.85rem}.letris-stat{font-size:.72rem}.letris-clock{font-size:.76rem}.letris-hint-btn{height:21px;padding:0 7px;font-size:.72rem}.letris-close{font-size:1.5rem}.letris-hint{font-size:.72rem}.letris-setup-desc{font-size:.85rem}.letris-count-chip{min-width:42px;padding:8px 12px;font-size:1rem}.letris-legend{gap:5px 12px;font-size:.74rem}}
