/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-bg:#140818;--color-surface:#2c1234;--color-fg:#fff6ea;--color-muted:#e7c4d2;--color-accent:#ffc42e;--color-hot:#ff3b8d;--color-ice:#3ee0ff;--color-ink:#1a0810;--color-line:#7a3a68;--font-display:"Iowan Old Style", Palatino, "Palatino Linotype", Georgia, serif;--font-body:"Avenir Next", "Segoe UI", system-ui, sans-serif;--radius-card:.85rem}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}button:not(:disabled),[role=button]:not(:disabled){cursor:pointer}html,body{background:var(--color-bg);height:100%;color:var(--color-fg);font-family:var(--font-body);scrollbar-width:none;margin:0;line-height:1.45;overflow:hidden}html::-webkit-scrollbar{display:none}body::-webkit-scrollbar{display:none}h1,h2,.display{font-family:var(--font-display);letter-spacing:-.02em;font-weight:600;line-height:1.05}button{font:inherit;color:inherit;touch-action:manipulation;background:0 0;border:0}img{max-width:100%}}@layer components,utilities;.boot,.shell{background:var(--color-bg);flex-direction:column;min-height:100dvh;display:flex}.boot{justify-content:center;align-items:center;gap:.4rem}.shell{box-sizing:border-box;background:radial-gradient(720px 320px at 8% -8%, #ff3b8d61, transparent 62%), radial-gradient(640px 300px at 100% 0%, #3ee0ff42, transparent 58%), radial-gradient(520px 280px at 50% 115%, #ffc42e33, transparent 60%), var(--color-bg);gap:.45rem;width:100%;height:100dvh;margin:0 auto;padding:.45rem .55rem .5rem;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.shell{background:radial-gradient(720px 320px at 8% -8%, color-mix(in srgb, var(--color-hot) 38%, transparent), transparent 62%), radial-gradient(640px 300px at 100% 0%, color-mix(in srgb, var(--color-ice) 26%, transparent), transparent 58%), radial-gradient(520px 280px at 50% 115%, color-mix(in srgb, var(--color-accent) 20%, transparent), transparent 60%), var(--color-bg)}}.topbar{grid-template-columns:2.75rem 1fr 2.75rem;align-items:center;min-height:2.75rem;display:grid}.brand{text-align:center;pointer-events:none;flex-direction:column;grid-area:1/1/auto/-1;align-items:center;gap:0;display:flex}.brand:after{content:"";background:linear-gradient(90deg, var(--color-hot), var(--color-accent), var(--color-ice));border-radius:999px;width:7.5rem;height:3px;margin-top:.4rem}.brand-spacer:after{display:none}.splash-screen{cursor:pointer;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.8rem;min-height:0;display:flex;position:relative}.splash-screen img{object-fit:contain;width:min(92vw,64rem);height:min(72dvh,36rem)}.splash-mute{position:absolute;top:0;right:0}.eyebrow{color:var(--color-accent);letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:.75rem}.brand h1,.screen-title{margin:0;font-size:1.65rem}.icon-btn,.choice,.menu-btn,.tile,.cell{border-radius:var(--radius-card)}.icon-btn{z-index:1;background:var(--color-surface);border:1px solid var(--color-hot);width:2.75rem;height:2.75rem;color:var(--color-ice);grid-area:1/3;justify-self:end;place-items:center;display:grid;position:relative}.icon-btn svg,.stars svg{width:1.15rem;height:1.15rem}.screen{flex-direction:column;flex:1;gap:.75rem;min-height:0;display:flex}.lede,.hint,.credit,.formula{color:var(--color-muted);margin:0}.lede{max-width:38rem}.screen.center{text-align:center;justify-content:center;align-items:center}.stack{flex-direction:column;align-self:center;gap:.65rem;width:min(100%,22rem);display:flex}.screen.center .lede,.screen.center .credit{text-align:center}.menu-btn,.choice{text-align:center;background:#27102e}@supports (color:color-mix(in lab, red, red)){.menu-btn,.choice{background:color-mix(in srgb, var(--color-surface) 88%, black)}}.menu-btn,.choice{border:1px solid var(--color-line);border-radius:var(--radius-card);min-height:3.25rem;padding:.85rem 1rem;transition:background-color .16s,border-color .16s,color .16s}.menu-btn{text-align:center}a.menu-btn{box-sizing:border-box;width:100%;color:inherit;cursor:pointer;text-decoration:none;display:block}.menu-btn:hover{background:var(--color-hot);color:var(--color-ink);border-color:var(--color-hot)}.menu-btn:hover span{color:#1a0810b8}@supports (color:color-mix(in lab, red, red)){.menu-btn:hover span{color:color-mix(in srgb, var(--color-ink) 72%, transparent)}}.tone-match{border-top:3px solid var(--color-hot)}.tone-slide,.tone-same{border-top:3px solid var(--color-accent)}.tone-zoom,.tone-flash{border-top:3px solid var(--color-ice)}.menu-btn strong{font-size:1.05rem}.choice{font-size:1.15rem;line-height:1.25}.menu-btn span,.choice small{color:var(--color-muted);margin-top:.15rem;font-size:.92rem;display:block}.menu-btn.primary,.choice.right{background:var(--color-accent);color:var(--color-ink);border-color:var(--color-accent)}.menu-btn.primary span,.choice.right small{color:#1a0810c7}@supports (color:color-mix(in lab, red, red)){.menu-btn.primary span,.choice.right small{color:color-mix(in srgb, var(--color-ink) 78%, transparent)}}.menu-btn[aria-pressed=true]{border-color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent)}.menu-btn.primary:hover{background:var(--color-hot);color:var(--color-ink);border-color:var(--color-hot)}.menu-btn.primary:hover span{color:#1a0810b8}@supports (color:color-mix(in lab, red, red)){.menu-btn.primary:hover span{color:color-mix(in srgb, var(--color-ink) 72%, transparent)}}.choice.wrong{border-color:var(--color-hot);color:var(--color-hot)}.is-focus{outline:3px solid var(--color-ice);outline-offset:3px}.menu-btn.primary.is-focus,.choice.right.is-focus{outline-color:var(--color-hot)}.turn{background:var(--color-hot);border:2px solid var(--color-accent);color:var(--color-ink);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;margin:0 auto;padding:.28rem .9rem;font-size:.92rem;font-weight:700}.hud{text-align:center;width:100%;color:var(--color-muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:center;gap:.5rem 1.25rem;display:flex}.hud b{color:var(--color-ice);font-weight:700}.play-row{flex-wrap:wrap;gap:.5rem;display:flex}.play-row .menu-btn{min-height:2.75rem;padding:.45rem .8rem}.board-wrap{flex:1;justify-content:center;align-items:center;width:100%;min-height:0;display:flex;container-type:size}.match-board{width:min(100cqw, calc(100cqh * var(--cols) / var(--rows)));height:min(100cqh, calc(100cqw * var(--rows) / var(--cols)));grid-template-rows:repeat(var(--rows), minmax(0, 1fr));gap:.28rem;display:grid}.tile.mark{pointer-events:none;background:0 0;border-color:#0000}.tile{background:var(--color-surface);border:1px solid var(--color-line);border-radius:0;min-width:0;height:auto;min-height:0;padding:0;position:relative;overflow:hidden}.tile img{object-fit:contain;object-position:center;background:0 0;width:100%;max-width:none;height:100%;display:block}.tile.down img{background:#07030d}.tile.down{background:var(--color-bg);border-color:var(--color-line)}.tile.matched{border-color:var(--color-accent)}.slide-frame{width:min(100cqw, calc(100cqh * var(--aw) / var(--ah)));height:min(100cqh, calc(100cqw * var(--ah) / var(--aw)))}.slide-board{background:var(--color-line);border-radius:.4rem;width:100%;height:100%;position:relative;overflow:hidden}.cell{box-sizing:border-box;width:calc(100% / var(--n) - 4px);height:calc(100% / var(--n) - 4px);left:calc(var(--c) * 100% / var(--n) + 2px);top:calc(var(--r) * 100% / var(--n) + 2px);background-color:var(--color-bg);background-repeat:no-repeat;border-radius:0;min-width:0;min-height:0;padding:0;transition:left .18s,top .18s;position:absolute}.cell.gap{background:var(--color-bg);box-shadow:inset 0 0 0 1px var(--color-line)}.cell.hinted{box-shadow:inset 0 0 0 3px var(--color-accent)}.peek{object-fit:contain;background:var(--color-bg);pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.zoom-layout{flex-direction:column;flex:1;gap:.7rem;min-height:0;display:flex}.zoom-stage,.flash-stage{flex:1;justify-content:center;align-items:center;width:100%;min-height:0;display:flex;container-type:size}.flash-frame{width:min(100cqw, calc(100cqh * var(--aw) / var(--ah)));height:min(100cqh, calc(100cqw * var(--ah) / var(--aw)));background:var(--color-bg);border:1px solid var(--color-line);border-radius:var(--radius-card);overflow:hidden}.pair-stage{flex:1;grid-template-rows:minmax(0,1fr);grid-template-columns:1fr 1fr;gap:.75rem;width:100%;min-height:0;display:grid;overflow:hidden}.pair-frame{background:0 0;border:0;min-width:0;height:100%;min-height:0;position:relative;overflow:hidden}.pair-frame .leaf{transform-origin:50% 100%;pointer-events:none;background-color:#140816;background-position:50%;background-repeat:no-repeat;background-size:contain;border-radius:.35rem;position:absolute;inset:8% 14%;box-shadow:0 18px 34px #00000080}.pair-frame .leaf.a{animation:.82s cubic-bezier(.16,.8,.24,1) both leaf-a}.pair-frame .leaf.b{animation:.82s cubic-bezier(.16,.8,.24,1) both leaf-b}.pair-frame .leaf.c{animation:.82s cubic-bezier(.16,.8,.24,1) both leaf-c}.pair-frame.out .leaf.a{animation-name:leaf-a-out}.pair-frame.out .leaf.b{animation-name:leaf-b-out}.pair-frame.out .leaf.c{animation-name:leaf-c-out}.pair-frame img.cover{object-fit:contain;object-position:center;transform-origin:50% 100%;border-radius:.35rem;width:76%;max-width:76%;height:88%;max-height:88%;animation:.82s cubic-bezier(.16,.8,.24,1) both cover-land;position:absolute;top:6%;left:12%;box-shadow:0 16px 36px #00000073}@keyframes cover-land{0%{opacity:.55;transform:translateY(10%)rotate(-18deg)scale(.86)}40%{opacity:1}to{opacity:1;transform:none}}@keyframes leaf-a{0%{opacity:1;transform:translate(-22%,8%)rotate(-34deg)scale(.92)}to{opacity:0;transform:rotate(-3deg)scale(.98)}}@keyframes leaf-b{0%{opacity:1;transform:translate(-10%,4%)rotate(-20deg)scale(.94)}to{opacity:0;transform:rotate(-1deg)}}@keyframes leaf-c{0%{opacity:1;transform:translate(4%,2%)rotate(-8deg)}to{opacity:0;transform:none}}@keyframes leaf-a-out{0%{opacity:1;transform:translate(22%,8%)rotate(34deg)scale(.92)}to{opacity:0;transform:rotate(3deg)scale(.98)}}@keyframes leaf-b-out{0%{opacity:1;transform:translate(10%,4%)rotate(20deg)scale(.94)}to{opacity:0;transform:rotate(1deg)}}@keyframes leaf-c-out{0%{opacity:1;transform:translate(-4%,2%)rotate(8deg)}to{opacity:0;transform:none}}.flash-frame img{object-fit:contain;width:100%;height:100%;display:block}.zoom-frame{width:min(100cqw, calc(100cqh * var(--aw) / var(--ah)));height:min(100cqh, calc(100cqw * var(--ah) / var(--aw)));background:var(--color-bg);border:1px solid var(--color-line);border-radius:var(--radius-card);place-items:center;display:grid;overflow:hidden}.zoom-frame img{object-fit:cover;transform-origin:50%;width:100%;height:100%;transition:filter .14s linear,transform .14s linear}.choices{grid-template-columns:1fr 1fr;gap:.45rem;width:min(100%,56rem);margin-inline:auto;display:grid}.reveal-title{text-align:center;font-family:var(--font-display);margin:0;font-size:1.25rem}.gallery{scrollbar-width:none;flex-direction:column;flex:1;gap:1rem;min-height:0;padding-bottom:.5rem;display:flex;overflow:auto}.gallery h2{margin:0 0 .5rem;font-size:1.05rem}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;display:grid}.g-card{text-align:left;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-card);flex-direction:column;gap:.35rem;min-height:4.5rem;padding:.4rem;display:flex}.g-card img,.g-lock{aspect-ratio:3/4;object-fit:contain;background:var(--color-bg);border-radius:.4rem;width:100%}.g-lock{color:var(--color-ice);background:repeating-linear-gradient(135deg, var(--color-surface) 0 8px, #a62861 8px 16px);place-items:center;display:grid}@supports (color:color-mix(in lab, red, red)){.g-lock{background:repeating-linear-gradient(135deg, var(--color-surface) 0 8px, color-mix(in srgb, var(--color-hot) 62%, var(--color-bg)) 8px 16px)}}.g-card p{margin:0;font-size:.82rem}.star-row{color:var(--color-muted);flex-wrap:wrap;gap:.35rem .55rem;font-size:.72rem;display:flex}.star-row .stars svg{width:.72rem;height:.72rem}.stars{color:var(--color-line);gap:.05rem;display:inline-flex}.stars .on{color:var(--color-accent);fill:var(--color-accent)}.detail{background:#140818e0;position:fixed;inset:0}@supports (color:color-mix(in lab, red, red)){.detail{background:color-mix(in srgb, var(--color-bg) 88%, transparent)}}.detail{z-index:5;place-items:center;padding:1rem;display:grid}.detail figure{flex-direction:column;align-items:center;gap:.6rem;width:min(100%,28rem);max-width:28rem;margin:0;display:flex}.detail img{object-fit:contain;border-radius:.4rem;width:auto;max-height:70dvh}.detail figcaption{text-align:center;font-family:var(--font-display);font-size:1.3rem}.result-art{scrollbar-width:none;grid-template-columns:repeat(auto-fill,minmax(4.2rem,1fr));gap:.4rem;max-height:28dvh;display:grid;overflow:auto}.gallery::-webkit-scrollbar{display:none}.result-art::-webkit-scrollbar{display:none}.result-art img,.hero-cover{object-fit:contain;background:var(--color-bg);border-radius:.35rem;width:100%}.hero-cover{width:min(100%,16rem);max-height:32dvh;margin-inline:auto;display:block}.score-grid{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.score-card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-card);text-align:center;padding:.7rem .8rem}.score-card b{font-family:var(--font-display);font-size:1.6rem;font-weight:600;display:block}.screen-title,.winner,.gallery h2{text-align:center}.winner{font-family:var(--font-display);margin:0;font-size:1.8rem}.keys{color:var(--color-muted);text-align:center;margin:0;font-size:.8rem}@media (width>=800px){.shell{padding:1.25rem 1.5rem 1.4rem}.brand h1,.screen-title{font-size:2.15rem}.gallery-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.tile,.menu-btn,.choice,.cell,.zoom-frame img{transition:none}.pair-frame .leaf{display:none}.pair-frame img.cover{animation:none}}
