#window-chipcrush .window-body{display:flex;flex-direction:column;gap:12px}
#window-chipcrush .chipcrush-board{position:relative;display:grid;grid-template-columns:repeat(8,1fr);gap:6px;width:min(100%,456px);margin:0 auto;padding:10px;border-radius:18px;background:linear-gradient(180deg,#16111f,#0d0a14);border:1px solid rgba(255,255,255,.06);user-select:none;-webkit-user-select:none;touch-action:none;overflow:hidden}
#window-chipcrush .chipcrush-cell{position:relative;aspect-ratio:1/1;border-radius:14px;border:0;font-size:1.32rem;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);transition:transform .12s ease,box-shadow .12s ease,filter .14s ease;will-change:transform;color:#fff}
#window-chipcrush .chipcrush-cell.drag-origin{opacity:.34;transform:scale(.96)}
#window-chipcrush .chipcrush-cell.hover-target{box-shadow:0 0 0 2px rgba(255,255,255,.56),0 0 18px rgba(255,255,255,.18);transform:scale(1.03)}
#window-chipcrush .chipcrush-cell.invalid{animation:chipcrush-shake .28s ease}
#window-chipcrush .chipcrush-cell.match{animation:chipcrush-match .18s ease forwards}
#window-chipcrush .chipcrush-cell.burst{animation:chipcrush-burst .24s ease forwards}
#window-chipcrush .chipcrush-main{pointer-events:none;filter:drop-shadow(0 2px 4px rgba(0,0,0,.35))}
#window-chipcrush .chipcrush-badge{position:absolute;right:6px;bottom:4px;font-size:.72rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.45))}
#window-chipcrush .chipcrush-ghost{position:absolute;top:0;left:0;width:56px;height:56px;display:none;align-items:center;justify-content:center;border-radius:16px;z-index:25;pointer-events:none;background:rgba(255,255,255,.1);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.24);box-shadow:0 10px 24px rgba(0,0,0,.28);font-size:1.36rem}
#window-chipcrush .chipcrush-overlay{position:absolute;inset:10px;border-radius:16px;display:none;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(180deg,rgba(7,8,15,.76),rgba(7,8,15,.92));border:1px solid rgba(255,255,255,.08);z-index:30;padding:18px}
#window-chipcrush .chipcrush-board.overlay-on .chipcrush-overlay{display:flex}
#window-chipcrush .chipcrush-overlay-title{font-size:1.15rem;letter-spacing:.16em;color:#f8fbff}
#window-chipcrush .chipcrush-overlay-sub{margin-top:10px;color:#cad7eb;font-size:.9rem;max-width:240px}
#window-chipcrush .chipcrush-fx{position:absolute;transform:translate(-50%,-50%);z-index:26;pointer-events:none;font-weight:800;letter-spacing:.04em;text-shadow:0 2px 10px rgba(0,0,0,.45)}
#window-chipcrush .chipcrush-fx.bomb{color:#ffbf6f;animation:chipcrush-fx-bomb .7s ease forwards}
#window-chipcrush .chipcrush-fx.time{color:#8ff4ff;animation:chipcrush-fx-time .7s ease forwards}
#window-chipcrush .t-monitor{background:linear-gradient(180deg,#2c4968,#1a2e43)}
#window-chipcrush .t-ram{background:linear-gradient(180deg,#266f5b,#174136)}
#window-chipcrush .t-mouse{background:linear-gradient(180deg,#7b5b1f,#4b3712)}
#window-chipcrush .t-disc{background:linear-gradient(180deg,#6c2d47,#451b2f)}
#window-chipcrush .t-printer{background:linear-gradient(180deg,#4e3f88,#2f2552)}
#window-chipcrush .t-keyboard{background:linear-gradient(180deg,#86473c,#532b24)}
#window-chipcrush .t-phone{background:linear-gradient(180deg,#295774,#173549)}
#window-chipcrush .t-router{background:linear-gradient(180deg,#79542a,#4b3217)}
#window-chipcrush .special-bomb{box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 0 0 2px rgba(255,119,119,.36),0 0 24px rgba(255,119,119,.18)}
#window-chipcrush .special-time{box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 0 0 2px rgba(110,227,255,.34),0 0 24px rgba(110,227,255,.18)}
#window-chipcrush .game-note{padding:10px 12px;border-radius:14px;background:rgba(17,12,25,.86);border:1px solid rgba(255,255,255,.08)}
#window-chipcrush #chipcrushStatus[data-mode="bad"]{color:#ffb6bc}
#window-chipcrush #chipcrushStatus[data-mode="good"]{color:#b8ffd0}
@keyframes chipcrush-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}50%{transform:translateX(4px)}75%{transform:translateX(-3px)}}
@keyframes chipcrush-match{0%{transform:scale(1)}100%{transform:scale(1.08);filter:brightness(1.22)}}
@keyframes chipcrush-burst{0%{transform:scale(1);opacity:1}100%{transform:scale(.2);opacity:0;filter:brightness(1.6)}}
@keyframes chipcrush-fx-bomb{0%{opacity:0;transform:translate(-50%,-50%) scale(.35)}25%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) scale(1.9)}}
@keyframes chipcrush-fx-time{0%{opacity:0;transform:translate(-50%,-50%) translateY(8px) scale(.8)}20%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) translateY(-34px) scale(1.1)}}
