/*! modern-normalize v3.0.1 | MIT License | https://github.com/sindresorhus/modern-normalize */*,:before,:after{box-sizing:border-box}html{font-family:system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";line-height:1.15;-webkit-text-size-adjust:100%;tab-size:4}body{margin:0}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-color:currentcolor}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}@font-face{font-family:Libre Franklin;src:url(/fonts/LibreFranklin-Light.woff2) format("woff2"),url(/fonts/LibreFranklin-Light.woff) format("woff");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Libre Franklin;src:url(/fonts/LibreFranklin-Regular.woff2) format("woff2"),url(/fonts/LibreFranklin-Regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Libre Franklin;src:url(/fonts/LibreFranklin-SemiBold.woff2) format("woff2"),url(/fonts/LibreFranklin-SemiBold.woff) format("woff");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Libre Franklin;src:url(/fonts/LibreFranklin-Black.woff2) format("woff2"),url(/fonts/LibreFranklin-Black.woff) format("woff");font-weight:900;font-style:normal;font-display:swap}:root{--bg: #f2f2f8;--sec-bg: #ffffff;--outline: #e2e2ee;--card-outline: rgba(255, 255, 255, .18);--text: #8e8ea0;--text-body: #3d3d52;--link-hover: #1a1a3e;--shadow: 0 2px 6px rgba(20, 20, 60, .06), 0 1px 2px rgba(20, 20, 60, .04);--shadow-lg: 0 8px 24px rgba(20, 20, 60, .12), 0 3px 8px rgba(20, 20, 60, .06);--overlay-bg: rgba(8, 8, 24, .65);--radius: 12px;--rainbow: linear-gradient( 90deg, #e22116, #ff8b00, #ffed04, #008128, #004dff, #760689 )}[data-theme=dark]{--bg: #0f0f1a;--sec-bg: #1a1a2e;--outline: #2a2a40;--card-outline: rgba(255, 255, 255, .08);--text: #9090b0;--text-body: #e0e0f0;--link-hover: #c0c0e8;--shadow: 0 2px 6px rgba(0, 0, 0, .35), 0 1px 2px rgba(0, 0, 0, .25);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5), 0 3px 8px rgba(0, 0, 0, .3);--overlay-bg: rgba(0, 0, 20, .82)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #0f0f1a;--sec-bg: #1a1a2e;--outline: #2a2a40;--card-outline: rgba(255, 255, 255, .08);--text: #9090b0;--text-body: #e0e0f0;--link-hover: #c0c0e8;--shadow: 0 2px 6px rgba(0, 0, 0, .35), 0 1px 2px rgba(0, 0, 0, .25);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5), 0 3px 8px rgba(0, 0, 0, .3);--overlay-bg: rgba(0, 0, 20, .82)}}body,#root{position:relative}body{min-height:100svh;background-color:var(--bg);color:var(--text);font-family:Libre Franklin,sans-serif;font-weight:300;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;transition:color .2s ease}a:hover{color:var(--link-hover)}.app{display:grid;grid-template-rows:min-content min-content 1fr;height:100svh;padding:1rem 1rem 0;gap:1rem;max-width:600px;margin:0 auto}header{position:relative;padding:.75rem 1rem;border-radius:var(--radius);background:linear-gradient(var(--sec-bg),var(--sec-bg)) padding-box,var(--rainbow) border-box;border:1.5px solid transparent;box-shadow:var(--shadow)}h1{margin:0;text-align:center;font-weight:600;font-size:1.75rem;line-height:1.2}.pride-title{letter-spacing:.3rem;font-size:2.5rem;font-weight:900;text-shadow:0 2px 8px rgba(0,0,0,.12)}.pride-title .p{color:#e22116}.pride-title .r{color:#ff8b00}.pride-title .i{color:#79b82a}.pride-title .d{color:#2d58a5}.pride-title .e{color:#6e2380}.memory-game-subtitle{display:block;font-size:1rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--text);margin-top:.15rem}.settings-cog{position:absolute;bottom:.65rem;right:.75rem;background:none;border:none;color:var(--text);cursor:pointer;padding:.1rem;display:flex;align-items:center;justify-content:center;transition:color .15s ease}.settings-cog:hover{color:var(--text-body)}.settings-cog svg{width:1.5rem;height:1.5rem;fill:currentColor}@media only screen and (orientation: landscape){.app{grid-template-columns:3fr 2fr;grid-template-rows:min-content 1fr;height:100vh;max-width:1440px}header{grid-column:span 2}}.game{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(5,1fr);gap:.5rem;align-content:center;justify-content:center;-webkit-user-select:none;-ms-user-select:none;user-select:none}@media only screen and (orientation: landscape){.game{display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(4,min-content);gap:.65rem}}.card-container{perspective:1000px;transition:transform .2s ease,filter .2s ease}.card-container:has(.card:not(.is-flipped)){cursor:pointer}@media (hover: hover) and (pointer: fine){.card-container:has(.card:not(.is-flipped)):hover{transform:translateY(-4px);filter:drop-shadow(0 8px 16px rgba(20,20,60,.09))}}.card{width:100%;aspect-ratio:3 / 2;position:relative;transform-style:preserve-3d;transition:transform .7s cubic-bezier(.4,0,.2,1)}.card.is-flipped{transform:rotateY(180deg)}.card-face{position:absolute;width:100%;height:100%;backface-visibility:hidden;box-shadow:var(--shadow);border-radius:var(--radius);overflow:hidden}.card-front{background-color:var(--sec-bg);border:2px solid rgba(110,35,128,.22);display:flex;align-items:center;justify-content:center}.card-front svg{fill:var(--outline);width:90%;height:90%}.card-back{transform:rotateY(180deg);border:2px solid rgba(255,255,255,.4)}.card-back img{width:100%;height:100%;object-fit:cover;object-position:left}.legend{flex:1;display:flex;flex-direction:column;border-radius:var(--radius) var(--radius) 0 0;border:1px solid var(--outline);border-bottom:none;background-color:var(--sec-bg);box-shadow:var(--shadow)}.legend::-webkit-scrollbar{width:8px}.legend::-webkit-scrollbar-track{background:transparent;border-radius:8px}.legend::-webkit-scrollbar-thumb{background-color:var(--outline);border-radius:8px;border:2px solid transparent;background-clip:padding-box}.legend .count{padding:.5rem;text-align:center;font-size:.75rem;color:var(--text);border-bottom:1px solid var(--outline)}.legend .content{flex:1;display:flex;flex-direction:column}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:1.5rem 1rem;color:var(--text)}.empty-state p{margin:0;font-size:.85rem}.empty-state svg{width:22%;fill:var(--outline);opacity:.7}.notes-on-use{padding:.75rem 1rem;flex:1;display:flex;flex-direction:column;gap:.5rem;justify-content:flex-end;font-size:.72rem;line-height:1.6;color:var(--text)}.notes-on-use p{margin:0}.legend .signature{font-size:.7rem;text-align:center;padding:.6rem;color:var(--text);border-top:1px solid var(--outline)}@media only screen and (orientation: landscape){.legend{overflow-y:auto}}.single-legend{display:flex;flex-direction:column;gap:.875rem;padding:.875rem 1rem;border-top:1px solid var(--outline);color:var(--text-body)}.single-legend:nth-last-child(2){border-bottom:1px solid var(--outline)}.single-legend .heading{display:flex;align-items:center;gap:.875rem;cursor:pointer;border-radius:8px;padding:.25rem;margin:-.25rem;transition:background .15s ease}@media (hover: hover) and (pointer: fine){.single-legend .heading:hover{background:#14143c0a}}.single-legend .heading h2{flex:1;font-size:.95rem;font-weight:400;color:var(--text-body)}.single-legend .heading img{aspect-ratio:3 / 2;width:28%;object-fit:cover;object-position:left;border-radius:6px;box-shadow:0 2px 8px #0000001f}.single-legend .heading .arrow{width:32px;line-height:0;color:var(--text);transition:transform .35s cubic-bezier(.4,0,.2,1);flex-shrink:0}.single-legend svg{fill:var(--text)}.single-legend .heading .arrow.open{transform:rotate(-180deg)}.single-legend .description{font-size:.78rem;line-height:1.65;color:var(--text-body);display:flex;flex-direction:column;gap:.5rem}.single-legend .description p{margin:0}.single-legend .link{display:flex;flex-direction:column;gap:.35rem;font-size:.75rem}.single-legend .link a{display:inline-block;max-width:max-content;padding:.3rem .8rem;border-radius:100px;background:#14143c0d;color:var(--text-body);font-weight:600;font-size:.72rem;text-decoration:none;transition:background .15s ease,color .15s ease}.single-legend .link a:hover{background:#14143c1a;color:var(--link-hover)}.single-legend .link p{margin:0;padding:0;font-style:italic;color:var(--text)}.overlay{position:absolute;z-index:1;width:100vw;height:100vh;left:0;top:0;background:var(--overlay-bg);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.modal{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:480px;max-width:84vw;background:linear-gradient(#fffffff5,#fffffff5) padding-box,var(--rainbow) border-box;border:1.5px solid transparent;border-radius:20px;padding:2rem 2.25rem 1.75rem;box-shadow:0 24px 60px #08081840,0 8px 20px #0808181f;display:flex;flex-direction:column;gap:1rem;align-items:center}.modal>*{margin:0}.modal p{line-height:1.65;font-size:.95rem;color:var(--text-body);text-align:center}.modal h2{font-size:1.35rem;font-weight:600;text-align:center;color:var(--text-body);line-height:1.3}.modal button{appearance:none;background:linear-gradient(var(--sec-bg),var(--sec-bg)) padding-box,var(--rainbow) border-box;border:1.5px solid transparent;color:var(--text-body);padding:.7rem 2rem;border-radius:100px;font-family:inherit;font-weight:600;font-size:.9rem;letter-spacing:.04em;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;margin-top:.25rem}.modal button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #14143c1a}.modal button:active{transform:translateY(0)}.settings-overlay{position:absolute;z-index:10;inset:0;background:var(--overlay-bg);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.settings-panel{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--sec-bg);border:1.5px solid var(--outline);border-radius:20px;box-shadow:0 24px 60px #08081840,0 8px 20px #0808181f;padding:1.75rem 2rem;display:flex;flex-direction:column;gap:1.25rem;min-width:240px}.settings-panel section{display:flex;flex-direction:column;gap:.5rem}.settings-panel h3{font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text);margin:0}.settings-options{display:flex;gap:.4rem}.settings-options button{background:var(--sec-bg);border:1.5px solid var(--outline);border-radius:var(--radius);box-shadow:var(--shadow);color:var(--text);font-family:inherit;font-size:.82rem;font-weight:600;letter-spacing:.04em;padding:.35rem .8rem;cursor:pointer;transition:box-shadow .15s ease,border-color .15s ease,color .15s ease}.settings-options button:hover{border-color:#6e238059;color:var(--text-body)}.settings-options button.active{border-color:#6e23808c;box-shadow:var(--shadow-lg);color:var(--text-body)}
