:root{color-scheme:dark;--bg:#071016;--surface:#0f1b24;--surface-2:#132632;--border:#244253;--text:#f5fbff;--muted:#9db3c1;--accent:#22d3ee;--accent-2:#34d399;--danger:#fb7185;--warning:#fbbf24;--shadow:#00000057}*{box-sizing:border-box}body{background:radial-gradient(circle at 14% 10%, #22d3ee2e, transparent 32%), radial-gradient(circle at 86% 14%, #34d39929, transparent 30%), var(--bg);min-height:100vh;color:var(--text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled,input:disabled{cursor:not-allowed;opacity:.58}.memory-app{gap:1rem;min-height:100vh;padding:clamp(.8rem,2vw,1.5rem);display:grid}.memory-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.memory-title{margin:0;font-size:clamp(2rem,4.2vw,3.6rem);line-height:1}.memory-subtitle{max-width:60rem;color:var(--muted);margin:.55rem 0 0;line-height:1.5}.memory-actions,.toolbar,.pair-actions,.game-actions{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.memory-actions,.toolbar{justify-content:space-between}.layout{grid-template-columns:minmax(0,1fr);gap:1rem;display:grid}.panel,.game-board-panel,.live-panel{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 92%, transparent);box-shadow:0 20px 44px var(--shadow);border-radius:.85rem}.panel{overflow:hidden}.panel-body,.game-board-panel,.live-panel{gap:.85rem;padding:clamp(.8rem,2vw,1.05rem);display:grid}.game-list{gap:.7rem;display:grid}.game-card,.pair-card{border:1px solid var(--border);background:var(--surface-2);border-radius:.68rem;padding:.65rem}.pair-card.compact{padding-block:.5rem}.game-card.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 38%, transparent)}.game-card h3,.pair-card h3{margin:0}.muted{color:var(--muted)}.button,.mini-button{border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:.68rem;justify-content:center;align-items:center;font-weight:850;text-decoration:none;display:inline-flex}.button{min-height:2.65rem;padding:.62rem .9rem}.mini-button{min-height:2.25rem;padding:.42rem .62rem}.button.primary,.mini-button.primary{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#061117;border-color:#0000}.button.danger,.mini-button.danger{border-color:color-mix(in srgb, var(--danger) 72%, var(--border));color:#fecdd3}.field-grid,.pair-grid{grid-template-columns:1fr;gap:.75rem;display:grid}.field{color:var(--muted);gap:.35rem;font-size:.86rem;font-weight:750;display:grid}.field input,.field select{border:1px solid var(--border);background:var(--surface);width:100%;min-height:2.55rem;color:var(--text);border-radius:.65rem;outline:none;padding:.58rem .7rem}.field input:focus,.button:focus-visible,.mini-button:focus-visible,.icon-button:focus-visible,.pair-summary:focus-visible,.memory-card:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 45%, transparent);outline-offset:2px}.field-error,.status.error{color:var(--danger)}.status.success{color:var(--accent-2)}.status{min-height:1.4rem;color:var(--muted);font-weight:750}.pair-list{gap:.55rem;display:grid}.pair-head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:0;display:flex}.pair-card.expanded .pair-head{margin-bottom:.65rem}.pair-summary{min-width:0;color:var(--text);text-align:left;background:0 0;border:0;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:.55rem;padding:0;display:grid}.pair-index{border:1px solid var(--border);background:var(--surface);width:1.75rem;height:1.75rem;color:var(--accent);border-radius:999px;place-items:center;font-weight:900;display:grid}.pair-preview{gap:.25rem;display:flex}.pair-thumb{border:1px solid var(--border);background:var(--surface);width:2.05rem;height:2.05rem;color:var(--muted);border-radius:.5rem;place-items:center;font-size:.78rem;font-weight:900;display:grid;overflow:hidden}.pair-thumb img{object-fit:cover;width:100%;height:100%}.pair-copy{min-width:0;display:grid}.pair-copy strong,.pair-copy .muted{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.compact-actions{flex:none}.icon-button{border:1px solid var(--border);background:var(--surface);width:2.1rem;height:2.1rem;color:var(--text);border-radius:.55rem;place-items:center;font-weight:900;display:inline-grid}.preview-row{align-items:center;gap:.5rem;display:flex}.preview{border:1px solid var(--border);background:var(--surface);width:4rem;height:4rem;color:var(--muted);text-align:center;border-radius:.65rem;place-items:center;font-size:.78rem;font-weight:800;display:grid;overflow:hidden}.preview img{object-fit:cover;width:100%;height:100%}.live-shell{gap:1rem;min-height:100vh;padding:clamp(.8rem,2vw,1.5rem);display:grid}.live-panel{align-self:start}.memory-grid{grid-template-columns:repeat(var(--columns,4), minmax(0, 1fr));gap:.65rem;display:grid}.memory-card{border:1px solid var(--border);min-height:clamp(5.5rem,16vw,10rem);color:var(--text);text-align:center;transform-style:preserve-3d;background:linear-gradient(145deg,#123246,#0b1721);border-radius:.85rem;place-items:center;font-weight:900;transition:transform .22s,border-color .22s,background .22s;display:grid;position:relative}.memory-card.revealed,.memory-card.matched{background:var(--surface-2);border-color:var(--accent)}.memory-card.matched{opacity:.62}.card-face{place-items:center;width:100%;height:100%;padding:.65rem;display:grid}.card-face img{object-fit:contain;width:100%;height:100%;max-height:8rem}.card-back{font-size:clamp(1.4rem,5vw,3rem)}.winner-banner{border:1px solid color-mix(in srgb, var(--accent-2) 65%, var(--border));background:color-mix(in srgb, var(--accent-2) 16%, var(--surface));border-radius:.8rem;padding:1rem;font-weight:900}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width>=760px){.field-grid,.pair-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1120px){.layout{grid-template-columns:minmax(20rem,.42fr) minmax(0,1fr)}.live-shell{grid-template-columns:minmax(16rem,.28fr) minmax(0,1fr)}}@media (width<=759px){.memory-app,.live-shell{padding:.65rem}.memory-title{font-size:2rem}.memory-subtitle{font-size:.92rem}.panel-body,.game-board-panel,.live-panel{padding:.7rem}.button,.memory-actions,.toolbar{width:100%}.button{min-height:2.45rem}.mini-button{min-height:2.1rem;padding-inline:.52rem;font-size:.9rem}.pair-head{align-items:flex-start}.pair-summary{flex:12rem;grid-template-columns:auto minmax(0,1fr)}.pair-preview{display:none}.pair-actions{flex:100%}.memory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}