:root{--bg:#03213f;--bg-soft:#03305e;--surface:#0a4d8b;--surface-dark:#07396a;--border:#5c7292;--gold:#f2b84b;--gold-soft:#ffe2a0;--text:#f4f7fb;--text-muted:#b9c8dc;--radius:14px;--topbar-h:64px;--footer-h:36px}*,:before,:after{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--bg);min-height:100dvh;color:var(--text);-webkit-tap-highlight-color:transparent;flex-direction:column;font-family:Roboto,system-ui,sans-serif;display:flex}.backdrop{z-index:0;background:linear-gradient(#03213f33,#03213f1c),url(../Img/memory/background.png) 50%/cover no-repeat;position:fixed;inset:0;transform:scale(1.102)translateY(-3.99%)}.material-symbols-sharp{white-space:nowrap;user-select:none;width:1em;height:1em;font-size:26px;line-height:1;overflow:hidden}.picker{transition:opacity .18s}.picker.is-clicked{opacity:.55}.topbar{z-index:2;height:var(--topbar-h);border-bottom:1px solid var(--border);background:linear-gradient(#03305ef2,#03305ecc);grid-template-columns:1fr auto 1fr;align-items:center;padding:0 16px;display:grid;position:relative;box-shadow:0 6px 20px #00000059}.title{letter-spacing:.04em;color:var(--gold);text-shadow:0 2px #00000073;margin:0;font-family:Pirata One,Roboto,serif;font-size:clamp(1.7rem,4vw,2.3rem);font-weight:400}.home-btn,.btn{color:var(--text);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:6px;font:500 .95rem Roboto,sans-serif;text-decoration:none;transition:background .15s,transform .15s,border-color .15s;display:inline-flex}.home-btn{justify-self:start;width:44px;height:44px}.btn{justify-self:end;height:44px;padding:0 18px 0 12px}.home-btn:hover,.btn:hover{border-color:var(--gold);background:#1262ad;transform:translateY(-1px)}.home-btn:focus-visible,.btn:focus-visible,.cell:focus-visible,.swatch:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.layout{z-index:1;flex:1;grid-template-columns:minmax(0,1fr) 300px;align-items:center;gap:24px;width:min(1280px,100%);margin:0 auto;padding:20px 24px;display:grid;position:relative;translate:12.9%}.board-wrap{flex-direction:column;align-items:center;gap:14px;display:flex}.board{--gap:8px;gap:var(--gap);aspect-ratio:4/3;width:min(100%, calc((100dvh - var(--topbar-h) - var(--footer-h) - 110px) * 4 / 3));min-width:280px;padding:var(--gap);background:#14181d;border:3px solid #2a3139;border-radius:12px;grid-template-columns:repeat(4,1fr);display:grid;box-shadow:0 0 0 2px #000,0 24px 50px #0000008c,inset 0 0 18px #000c}.cell{cursor:pointer;background:#0d0f12 url(../Img/memory/black.png) 50%/cover no-repeat;border-radius:4px;transition:filter .15s;position:relative;overflow:hidden}.cell.c-blue{background-image:url(../Img/memory/blue.png)}.cell.c-purple{background-image:url(../Img/memory/purple.png)}.cell.c-pink{background-image:url(../Img/memory/pink.png)}.cell.c-orange{background-image:url(../Img/memory/orange.png)}.cell.c-green{background-image:url(../Img/memory/green.png)}.cell.c-red{background-image:url(../Img/memory/red.png)}.cell:hover{filter:brightness(1.12)}.picker{backdrop-filter:blur(2px);background:#050a12b8;grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(3,1fr);gap:4%;padding:6%;display:none;position:absolute;inset:0}.cell:hover .picker,.cell:focus-within .picker,.cell.is-open .picker{display:grid}.swatch{cursor:pointer;background:50%/cover no-repeat;border:1px solid #ffffff59;border-radius:4px;padding:0;transition:transform .12s,border-color .12s;position:relative}.swatch.c-blue{background-image:url(../Img/memory/blue.png)}.swatch.c-purple{background-image:url(../Img/memory/purple.png)}.swatch.c-pink{background-image:url(../Img/memory/pink.png)}.swatch.c-orange{background-image:url(../Img/memory/orange.png)}.swatch.c-green{background-image:url(../Img/memory/green.png)}.swatch.c-red{background-image:url(../Img/memory/red.png)}.swatch:hover{border-color:var(--gold);z-index:1;transform:scale(1.1)}.swatch-key{color:#fff;background:#000000bf;border-radius:3px;min-width:1.35em;padding:0 3px;font:700 clamp(9px,1.3vw,13px)/1.4 Roboto,sans-serif;position:absolute;bottom:2px;left:2px}@keyframes blink{0%,to{filter:brightness();box-shadow:inset 0 0 0 3px var(--gold)}50%{filter:brightness(1.6);box-shadow:inset 0 0 0 3px #fff}}.cell.blinking{animation:1s ease-in-out infinite blink}@media (prefers-reduced-motion:reduce){.cell.blinking{box-shadow:inset 0 0 0 4px var(--gold);animation:none}}.status{border:1px solid var(--border);min-height:1.4em;color:var(--text-muted);text-align:center;background:#03305ed9;border-radius:999px;margin:0;padding:8px 18px;font-size:.95rem}.panel{border:1px solid var(--border);border-radius:var(--radius);background:#03305ee0;padding:20px;box-shadow:0 14px 34px #0006}.panel h2{color:var(--gold);letter-spacing:.03em;margin:0 0 6px;font-family:Pirata One,Roboto,serif;font-size:1.5rem;font-weight:400}.panel h2:not(:first-child){margin-top:20px}.panel-hint{color:var(--text-muted);margin:0 0 12px;font-size:.9rem;line-height:1.4}.legend{grid-template-columns:1fr 1fr;gap:8px;margin:0;padding:0;list-style:none;display:grid}.legend li{background:var(--surface-dark);border:1px solid #5c729299;border-radius:8px;align-items:center;gap:8px;padding:6px 8px;font-size:.88rem;display:flex}.legend-name{flex:1;min-width:0}.legend-clear{grid-column:1/-1}.legend-chip{background:#0d0f12 50%/cover no-repeat;border:1px solid #fff6;border-radius:4px;flex:none;width:28px;height:28px}.legend-chip.c-blue{background-image:url(../Img/memory/blue.png)}.legend-chip.c-purple{background-image:url(../Img/memory/purple.png)}.legend-chip.c-pink{background-image:url(../Img/memory/pink.png)}.legend-chip.c-orange{background-image:url(../Img/memory/orange.png)}.legend-chip.c-green{background-image:url(../Img/memory/green.png)}.legend-chip.c-red{background-image:url(../Img/memory/red.png)}.legend-chip.c-empty{background-image:url(../Img/memory/black.png)}kbd{color:#14181d;text-align:center;background:#fff;border-bottom:2px solid #aab6c6;border-radius:5px;min-width:1.6em;padding:2px 6px;font:700 .8rem Roboto,sans-serif;display:inline-block}.steps{color:var(--text-muted);margin:0;padding-left:20px;font-size:.92rem;line-height:1.55}.steps li+li{margin-top:4px}.dock{display:none}@media (width<=640px),(hover:none){.picker,.cell:hover .picker,.cell:focus-within .picker,.cell.is-open .picker{display:none}.backdrop{transform:unset}.layout{translate:unset}.dock.is-visible{z-index:5;padding:12px 14px calc(12px + env(safe-area-inset-bottom));border-top:2px solid var(--gold);background:#03213ff7;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -10px 30px #00000080}body.dock-open{padding-bottom:130px}.dock-title{color:var(--gold-soft);justify-content:space-between;align-items:center;font-weight:500;display:flex}.dock-actions{gap:6px;display:flex}.dock-actions button{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;padding:6px 12px;font:500 .85rem Roboto,sans-serif}.dock-swatches{grid-template-columns:repeat(6,1fr);gap:8px;display:grid}.dock-swatches .swatch{aspect-ratio:1;border-radius:6px}.dock-swatches .swatch-key{font-size:12px}}.credit{z-index:1;height:var(--footer-h);color:var(--text-muted);justify-content:center;align-items:center;font-size:.85rem;display:flex;position:relative}.credit a{color:var(--gold-soft);margin-left:4px;font-weight:700;text-decoration:none}.credit a:hover{text-decoration:underline}@media (width<=960px){.backdrop{transform:unset}.layout{translate:unset;grid-template-columns:1fr;align-items:start;padding:16px}.board{width:min(100%,720px)}.panel{justify-self:center;width:min(100%,720px)}.legend{grid-template-columns:repeat(3,1fr)}}@media (width<=520px){.backdrop{transform:unset}.layout{translate:unset}:root{--topbar-h:56px}.topbar{padding:0 10px}.btn-label{display:none}.btn{width:44px;padding:0}.board{--gap:5px}.legend{grid-template-columns:1fr 1fr}}@media (width<=1400px) and (height<=800px){.backdrop{transform:unset;filter:blur(3px);background:linear-gradient(#03213fd1,#03213ff0),url(../Img/memory/background.png) 50%/cover no-repeat}.layout{translate:unset}}@media (width<=1280px) and (height<=750px){.backdrop{transform:unset;filter:blur(3px);background:linear-gradient(#03213fd1,#03213ff0),url(../Img/memory/background.png) 50%/cover no-repeat}.layout{translate:unset}}@media (width<=1280px) and (height>=900px){.backdrop{transform:unset;filter:blur(3px);background:linear-gradient(#03213fd1,#03213ff0),url(../Img/memory/background.png) 50%/cover no-repeat}.layout{translate:unset}}@media (height<=700px){.backdrop{transform:unset;filter:blur(3px);background:linear-gradient(#03213fd1,#03213ff0),url(../Img/memory/background.png) 50%/cover no-repeat}.layout{translate:unset}}@media (width>=1921px) and (width<=3000px){:root{--topbar-h:110px;--footer-h:54px;--radius:22px}.topbar{padding:0 44px}.title{font-size:clamp(3rem,1.8vw,4.2rem)}.home-btn{width:68px;height:68px}.btn{height:68px;padding:0 32px 0 24px;font-size:1.4rem}.material-symbols-sharp{font-size:42px}.layout{translate:17.3% -1.3%;scale:1.33}.credit{font-size:1.55rem}}@media (width>=3001px){:root{--topbar-h:110px;--footer-h:54px;--radius:22px}.topbar{padding:0 44px}.title{font-size:clamp(3rem,1.8vw,4.2rem)}.home-btn{width:68px;height:68px}.btn{height:68px;padding:0 32px 0 24px;font-size:1.4rem}.material-symbols-sharp{font-size:42px}.layout{translate:25.9%;scale:1.99}.credit{font-size:1.55rem}}