*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--red:#f40c3f;--dark:#0a0005;--dark2:#180010;--light:#fff0eb;--mono:"Space Mono", monospace;--sans:"Space Grotesk", sans-serif}body{background:var(--dark);color:var(--light);font-family:var(--sans);touch-action:manipulation;flex-direction:column;align-items:center;min-height:100vh;display:flex;overflow-x:hidden}.hdr{z-index:50;backdrop-filter:blur(10px);background:#0a0005e6;border-bottom:1px solid #f40c3f33;justify-content:space-between;align-items:center;width:100%;padding:.85rem 1.5rem;display:flex;position:sticky;top:0}.hdr-back{color:var(--light);font:700 10px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;opacity:.6;align-items:center;gap:.4rem;text-decoration:none;transition:opacity .2s;display:flex}.hdr-back:hover{opacity:1}.hdr-title{font:700 13px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--red)}.hdr-stats{align-items:center;gap:1.5rem;display:flex}.hdr-stat{font:700 11px/1 var(--mono);letter-spacing:.05em}.stat-l{opacity:.4;letter-spacing:.15em;margin-right:.35rem;font-size:9px}.game-area{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1.5rem;width:100%;max-width:700px;padding:1.5rem 1rem;display:flex}.diff-bar{align-items:center;gap:.5rem;display:flex}.diff-btn{color:var(--light);font:700 9px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;opacity:.5;background:0 0;border:1px solid #f40c3f4d;padding:.4rem .9rem;transition:all .2s}.diff-btn:hover{opacity:.8;border-color:var(--red)}.diff-btn.active{background:var(--red);color:var(--light);border-color:var(--red);opacity:1}.timer-bar-wrap{background:#f40c3f1a;border-radius:2px;width:100%;height:3px;overflow:hidden}.timer-bar{background:var(--red);width:100%;height:100%;transition:width 1s linear,background .5s}.card-grid{gap:.6rem;width:100%;display:grid}.card-grid.g4{grid-template-columns:repeat(4,1fr)}.card-grid.g6{grid-template-columns:repeat(6,1fr)}.card{aspect-ratio:1;cursor:pointer;perspective:600px;-webkit-tap-highlight-color:transparent;user-select:none;position:relative}.card-inner{transform-style:preserve-3d;border-radius:6px;transition:transform .45s cubic-bezier(.4,0,.2,1);position:absolute;inset:0}.card.flipped .card-inner,.card.matched .card-inner{transform:rotateY(180deg)}.card-face{backface-visibility:hidden;border-radius:6px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.card-back{background:var(--red);border:1px solid #ffffff1a}.card-back:before{content:"?";font:700 1.5rem/1 var(--mono);color:#0a000566}@media (width<=400px){.card-back:before{font-size:1.1rem}}.card-front{background:var(--dark2);border:1px solid #f40c3f40;font-size:clamp(1.4rem,5vw,2.2rem);transition:border-color .3s;transform:rotateY(180deg)}.card.matched .card-front{border-color:var(--red);background:#f40c3f14;box-shadow:0 0 16px #f40c3f40}.card:not(.flipped):not(.matched):hover .card-inner{transform:rotateY(12deg)}.screen-overlay{z-index:100;backdrop-filter:blur(8px);background:#0a0005f0;flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex;position:fixed;inset:0}.screen-overlay.hidden{display:none}.sc-label{font:700 10px/1 var(--mono);letter-spacing:.3em;color:var(--red);text-transform:uppercase}.sc-title{font:700 clamp(2.5rem,8vw,5rem)/1 var(--mono);text-transform:uppercase;color:var(--light);letter-spacing:-.02em;text-align:center}.sc-sub{font:300 .85rem/1.6 var(--sans);color:var(--light);opacity:.45;text-align:center;max-width:300px}.sc-stats{gap:2.5rem;margin:.5rem 0;display:flex}.sc-stat{flex-direction:column;align-items:center;gap:.3rem;display:flex}.sc-stat-label{font:400 9px/1 var(--mono);letter-spacing:.15em;color:var(--light);opacity:.4;text-transform:uppercase}.sc-stat-val{font:700 2rem/1 var(--mono);color:var(--light)}.sc-stat-val.accent{color:var(--red)}.btn{border:1px solid var(--red);color:var(--red);font:700 11px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;cursor:pointer;background:0 0;align-items:center;padding:.85rem 2rem;transition:background .2s,color .2s;display:inline-flex}.btn:hover{background:var(--red);color:var(--light)}.confetti{pointer-events:none;z-index:95;position:fixed;inset:0;overflow:hidden}.confetti-bit{opacity:0;width:8px;height:8px;animation:1.5s forwards confetti-fall;position:absolute}@keyframes confetti-fall{0%{opacity:1;transform:translateY(-20px)rotate(0)}to{opacity:0;transform:translateY(100vh)rotate(720deg)}}.scanlines{pointer-events:none;z-index:1000;background:repeating-linear-gradient(0deg,#0000,#0000 2px,#00000008 2px 4px);position:fixed;inset:0}
