.logo{--logo-size:5rem;object-fit:contain;inline-size:var(--logo-size)}.logo.is-large{--logo-size:12rem}@media (width<=35rem){.logo{--logo-size:4rem}.logo.is-large{--logo-size:8rem}}.top{border-radius:var(--radius-lg);border:1px solid var(--surface-strong);background:var(--surface-soft);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);justify-content:space-between;align-items:center;gap:.75rem;padding:.625rem .875rem;display:flex}@media (width<=35rem){.top{padding:.5rem .625rem}}@media (orientation:landscape) and (height<=35rem) and (width<=64rem){.top{--landscape-control-size:clamp(2.4rem, 11dvh, 2.65rem);block-size:100%;min-inline-size:0;padding:var(--game-rail-padding);border-radius:var(--radius-md);flex-direction:column;justify-content:space-between;align-items:center;gap:clamp(.35rem,1.5dvh,.6rem)}}.top .logo-badge{block-size:5.25rem;inline-size:5.25rem}@media (width<=35rem){.top .logo-badge{block-size:4rem;inline-size:4rem}}.top .logo-badge .logo-image{block-size:5rem;inline-size:5rem}@media (width<=35rem){.top .logo-badge .logo-image{block-size:3.75rem;inline-size:3.75rem}}@media (orientation:landscape) and (height<=35rem) and (width<=64rem){.top .logo{--logo-size:var(--landscape-control-size)}}.top .brand{align-items:center;gap:.625rem;display:flex}@media (orientation:landscape) and (height<=35rem) and (width<=64rem){.top .brand{text-align:center;flex-direction:column;gap:.15rem;min-inline-size:0}}@media (orientation:landscape) and (height<=35rem) and (width<=64rem){.top .title{min-inline-size:0;max-inline-size:100%}}.top h1{letter-spacing:0;color:var(--ink);background:var(--logo-text-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:clamp(1.08rem,2.2vw,1.65rem)}@media (forced-colors:active){.top h1{color:canvastext;-webkit-text-fill-color:currentColor;background:0 0}}@media (orientation:landscape) and (height<=35rem) and (width<=64rem){.top h1{clip:rect(0 0 0 0);white-space:nowrap;border:0;block-size:1px;inline-size:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}.top .subtitle{color:var(--soft-ink);white-space:normal;text-overflow:ellipsis;font-size:clamp(1.02rem,1.5vw,1.12rem);overflow:hidden}@media (orientation:landscape) and (height<=35rem) and (width<=64rem){.top .subtitle{white-space:normal;max-inline-size:100%;font-size:clamp(.62rem,2.7dvh,.74rem);line-height:1.1}}.top .controls{flex-shrink:0;align-items:center;gap:.5rem;display:flex}@media (orientation:landscape) and (height<=35rem) and (width<=64rem){.top .controls{flex-direction:column;gap:clamp(.3rem,1.5dvh,.5rem)}}.top .sound-toggle{border-radius:var(--radius-sm);cursor:pointer;background:var(--surface-strong);block-size:2.625rem;inline-size:2.625rem;box-shadow:var(--shadow-control);color:var(--soft-ink);border:2px solid #0000;place-items:center;transition:background .2s,box-shadow .2s,border-color .2s,color .2s;display:grid}@media (width<=35rem){.top .sound-toggle{block-size:2.375rem;inline-size:2.375rem}}@media (orientation:landscape) and (height<=35rem) and (width<=64rem){.top .sound-toggle{inline-size:var(--landscape-control-size);block-size:var(--landscape-control-size)}}.top .sound-toggle .control-icon{object-fit:contain;block-size:2rem;inline-size:2rem}@media (width<=35rem){.top .sound-toggle .control-icon{block-size:1.8rem;inline-size:1.8rem}}@media (orientation:landscape) and (height<=35rem) and (width<=64rem){.top .sound-toggle .control-icon{block-size:clamp(1.7rem,8dvh,1.9rem);inline-size:clamp(1.7rem,8dvh,1.9rem)}}.top .sound-toggle.is-reset{color:#b74352;border-color:#ee636685}.top .sound-toggle.is-on{color:#2f7a57;border-color:#42a87873}.top .sound-toggle.is-off{color:#c44650;border-color:#dc545e73}.top .sound-toggle:hover{color:#2176a5;box-shadow:var(--shadow-lift);background:#e3f4ff;border-color:#279ee8a6}.top .sound-toggle.is-reset:hover{color:#a93640;background:#ffeaec;border-color:#e24c53b8}.top .sound-toggle.is-on:hover{color:#246b4b;background:#e2f6eb;border-color:#309665b8}.top .sound-toggle.is-off:hover{color:#a93640;background:#ffeaec;border-color:#cc404cad}dialog[open]{border-radius:var(--radius-lg);background:var(--surface-strong);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-align:center;block-size:fit-content;max-block-size:none;inline-size:min(100% - 1rem,28rem);box-shadow:var(--shadow-lift);border:none;grid-auto-rows:min-content;align-content:start;gap:1rem;margin:auto;padding:1rem;transition:opacity .2s,transform .2s;display:grid;overflow:visible}@starting-style{dialog[open]{opacity:0;transform:scale(.95)}}@media (width<=35rem){dialog[open]{gap:.5rem;width:min(100% - .75rem,26rem);padding:.85rem}}dialog[open]>*{margin:0}dialog[open]::backdrop{background:var(--backdrop-scrim);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:.85;transition:opacity .2s,-webkit-backdrop-filter .2s,backdrop-filter .2s}@starting-style{dialog[open]::backdrop{opacity:0;-webkit-backdrop-filter:blur();backdrop-filter:blur()}}dialog[open] .header{gap:.45rem;display:grid}dialog[open] .header h2{margin:0;font-size:clamp(1.4rem,4.2vw,1.95rem)}dialog[open] .header p{color:var(--soft-ink);margin:0;font-size:1.06rem}dialog[open] .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:.35rem 0;display:grid}dialog[open] .stats .stat{border-radius:var(--border-radius);color:var(--soft-ink);border:1px solid var(--border-soft);gap:.2rem;padding:.55rem .45rem;display:grid}dialog[open] .stats .level{background:var(--gradient-level)}dialog[open] .stats .pairs{background:var(--gradient-pairs)}dialog[open] .stats .time{background:var(--gradient-time)}dialog[open] .stats .moves{background:var(--gradient-moves)}dialog[open] .stats span{font-size:1.05rem}dialog[open] .stats strong{color:var(--ink);font-size:1.1rem}dialog[open] .actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;display:flex}@media (width<=35rem){dialog[open] .actions{gap:.45rem}}dialog[open] :is(.primary,.secondary){flex:none;width:auto;min-height:0;padding:.625rem 1rem}@media (width<=35rem){dialog[open] :is(.primary,.secondary){width:auto;padding:.5625rem .875rem}}.card{border-radius:var(--border-radius);cursor:pointer;perspective:56.25rem;width:var(--card-size);height:calc(var(--card-size) * 1.25);background:0 0;border:none;padding:0;transition:transform .15s}.card:disabled{cursor:default}.card:not(:disabled):hover .card-front{background:var(--gradient-card-front-hover);border-color:var(--border-play)}:is(.card.is-flipped,.card.is-matched) .card-inner{transform:rotateY(180deg)}.card.is-selected{transform:translateY(-1px)scale(1.02)}.card.is-selected .card-back{box-shadow:var(--selected-ring), var(--shadow-selected)}.card.is-shaking{animation:.34s ease-in-out wrong-pair-shake}@media (prefers-reduced-motion:reduce){.card.is-shaking{animation:none}}.card.is-matched{transform:scale(.98)}.card.is-matched .card-back{box-shadow:0 0 0 3px var(--border-on-light) inset, var(--shadow-match)}.card .card-inner{block-size:100%;inline-size:100%;transform-style:preserve-3d;transition:transform .5s;display:block;position:relative}.card .card-face{border-radius:var(--border-radius);backface-visibility:hidden;box-shadow:var(--shadow);place-items:center;display:grid;position:absolute;inset:0}@media (width<=35rem){.card .card-face{box-shadow:none}}.card .card-front{background:var(--gradient-card-front);border:2px dashed var(--border-medium)}.card .card-mark{color:var(--mark-muted);text-shadow:0 2px #ffffffdb;font-size:clamp(1.4rem,2.5vw,2.2rem);font-weight:700}.card .card-back{border:2px solid var(--border-on-light);text-align:center;box-shadow:var(--shadow-soft);flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:.5rem;display:flex;transform:rotateY(180deg)}.card .character-image{object-fit:contain;filter:drop-shadow(0 5px 8px #2f2b3a29);max-block-size:calc(100% - 1.875rem);inline-size:100%}.card[data-character-id^=minions-] .character-image,.card[data-character-id^=toy-story-] .character-image{aspect-ratio:1;border-radius:calc(var(--border-radius) * .55);mix-blend-mode:multiply}.card[data-character-id^=minions-] .character-image{object-fit:contain}.card[data-character-id^=toy-story-] .character-image{object-fit:cover}.card .name{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;max-inline-size:100%;font-size:1rem;font-weight:700;line-height:1.1;overflow:hidden}@keyframes wrong-pair-shake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}.board{--columns:4;--card-size:6.25rem;--board-gap:.625rem;grid-template-columns:repeat(var(--columns), var(--card-size));gap:var(--board-gap);background:0 0;place-content:center;max-block-size:100%;inline-size:max-content;max-inline-size:100%;display:grid}@media (width<=35rem){.board{background:0 0}}.board-wrap{background:0 0;justify-content:center;align-items:center;block-size:100%;min-block-size:0;inline-size:100%;display:flex;overflow:hidden}@media (width<=35rem){.board-wrap{background:0 0}}.status-dock{background:var(--surface-soft);border:1px solid var(--surface-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);grid-template-columns:.92fr 1.12fr .98fr .98fr;gap:.5rem;padding:.5rem;display:grid}@media (width<=53.75rem){.status-dock{gap:.25rem;padding:.25rem}}@media (width<=35rem){.status-dock{grid-template-columns:repeat(4,minmax(0,1fr));gap:.375rem}.status-dock .status-label{display:none}}@media (orientation:landscape) and (height<=35rem) and (width<=64rem){.status-dock{block-size:100%;padding:var(--game-rail-padding);border-radius:var(--radius-md);grid-template-rows:repeat(4,minmax(0,1fr));grid-template-columns:minmax(0,1fr);gap:clamp(.2rem,1dvh,.3rem)}}.status-dock .status-item{text-align:center;border-radius:var(--radius-md);background:var(--surface-strong);border:1px solid var(--border-soft);min-width:0;color:var(--soft-ink);flex-direction:column;gap:.125rem;padding:.5rem .375rem;display:flex}@media (width<=53.75rem){.status-dock .status-item{padding:.4375rem .25rem}}@media (width<=35rem){.status-dock .status-item{flex-direction:row;justify-content:center;align-items:center;gap:.375rem;padding:.5rem .25rem}}@media (orientation:landscape) and (height<=35rem) and (width<=64rem){.status-dock .status-item{border-radius:var(--radius-sm);flex-direction:column;justify-content:center;align-items:center;gap:.05rem;padding:clamp(.2rem,1dvh,.35rem) .15rem}.status-dock .status-item .status-label{clip:rect(0 0 0 0);white-space:nowrap;border:0;block-size:1px;inline-size:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.status-dock .status-item strong,.status-dock .status-item.pairs strong,.status-dock .status-item:is(.time,.moves) strong{font-size:clamp(.78rem,3.4dvh,.96rem);line-height:1}}.status-dock .status-item.level{background:var(--gradient-level)}.status-dock .status-item.pairs{background:var(--gradient-pairs);border-color:#529b5b47}.status-dock .status-item.pairs .status-label{color:#435d48;font-weight:600}.status-dock .status-item.pairs strong{font-size:1.2rem}.status-dock .status-item.time{background:linear-gradient(145deg,#fffdf8f0,#ffeed5cc)}.status-dock .status-item.moves{background:linear-gradient(145deg,#fdfbfff0,#e9e0fbc7)}.status-dock .status-item:is(.time,.moves){color:#687080}.status-dock .status-item:is(.time,.moves) span{font-size:.98rem}.status-dock .status-item:is(.time,.moves) strong{font-size:1.02rem;font-weight:600}.status-dock .status-item span{white-space:normal;font-size:1.05rem}.status-dock .status-item strong{color:var(--ink);white-space:normal;font-size:1.08rem}.status-dock .status-icon{color:var(--ink);flex:none;width:1.25rem;height:1.25rem;display:none}@media (width<=35rem){.status-dock .status-icon{justify-content:center;align-items:center;font-size:1.25rem;display:inline-flex}}@media (orientation:landscape) and (height<=35rem) and (width<=64rem){.status-dock .status-icon{justify-content:center;align-items:center;block-size:clamp(1.05rem,4.8dvh,1.25rem);inline-size:clamp(1.05rem,4.8dvh,1.25rem);display:inline-flex}}.status-dock .status-announcement{clip:rect(0 0 0 0);white-space:nowrap;border:0;block-size:1px;inline-size:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.character-item{--group-accent:#5db9e8;--group-accent-dark:#247daf;--group-hero-bg:#dff5ff;--group-chip-bg:#eaf8ff;flex:0 0 calc(( 100% - var(--carousel-gap) - var(--carousel-gap) - var(--carousel-gap) - var(--carousel-gap) ) / 5);scroll-snap-align:start;scroll-snap-stop:always;align-items:center;block-size:clamp(17.9rem,31.5vh,20.15rem);display:flex}@media (width<=82rem){.character-item{flex-basis:calc(( 100% - var(--carousel-gap) - var(--carousel-gap) - var(--carousel-gap) ) / 4)}}@media (width<=64rem){.character-item{flex-basis:calc((100% - var(--carousel-gap) - var(--carousel-gap)) / 3)}}@media (height<=48rem) and (width>43rem){.character-item{block-size:16.1rem}}@media (width<=43rem){.character-item{flex-basis:var(--mobile-card-width);scroll-snap-align:center;block-size:clamp(18.4rem,38vh,19.5rem)}}@media (orientation:landscape) and (height<=35rem) and (width<=64rem){.character-item{flex-basis:calc((100% - var(--carousel-gap) - var(--carousel-gap)) / 3);scroll-snap-align:start;block-size:clamp(12.5rem,64dvh,15.25rem)}}.character-item[data-group-id=bluey]{--group-accent:#4db6ea;--group-accent-dark:#277caf;--group-hero-bg:#d9f3ff;--group-chip-bg:#e4f7ff}.character-item[data-group-id=bob-esponja]{--group-accent:#efc232;--group-accent-dark:#a66b16;--group-hero-bg:#bcecf1;--group-chip-bg:#fff0a8}.character-item[data-group-id=cars]{--group-accent:#e85b4f;--group-accent-dark:#a52f2a;--group-hero-bg:#fff0c7;--group-chip-bg:#ffe1d7}.character-item[data-group-id=del-reves]{--group-accent:#8468d8;--group-accent-dark:#5841a0;--group-hero-bg:#eee8ff;--group-chip-bg:#e2efff}.character-item[data-group-id=doraemon]{--group-accent:#49afe5;--group-accent-dark:#1b76ae;--group-hero-bg:#d8f2ff;--group-chip-bg:#fff0a9}.character-item[data-group-id=gabby-dollhouse]{--group-accent:#e879ba;--group-accent-dark:#ac4783;--group-hero-bg:#ffe0f2;--group-chip-bg:#fbe5ff}.character-item[data-group-id=kpop-warriors]{--group-accent:#8773df;--group-accent-dark:#5644a7;--group-hero-bg:#dcd8ff;--group-chip-bg:#e7e0ff}.character-item[data-group-id=mixed]{--group-accent:#f0a02c;--group-accent-dark:#b96b17;--group-hero-bg:#e2f4ff;--group-chip-bg:#fff0bb}.character-item[data-group-id=paw-patrol]{--group-accent:#ed6d68;--group-accent-dark:#ae3d43;--group-hero-bg:#d9eeff;--group-chip-bg:#ffe1d6}.character-item[data-group-id=pocoyo]{--group-accent:#39a9e8;--group-accent-dark:#1373ad;--group-hero-bg:#e8f8ff;--group-chip-bg:#fff2b8}.character-item[data-group-id=pokemon]{--group-accent:#e8b52e;--group-accent-dark:#9d6b0f;--group-hero-bg:#fff0a8;--group-chip-bg:#e7f3c7}.character-item[data-group-id=zootropolis]{--group-accent:#e78a4d;--group-accent-dark:#a6522b;--group-hero-bg:#e3f0ff;--group-chip-bg:#ffe2c2}.character-item[data-group-id=toy-story]{--group-accent:#55a8dd;--group-accent-dark:#246d9f;--group-hero-bg:#dceeff;--group-chip-bg:#fff0bd}.character-item[data-group-id=minions]{--group-accent:#f0bd32;--group-accent-dark:#9b6f09;--group-hero-bg:#fff3b9;--group-chip-bg:#dceaff}.character-item[data-group-id=sonic]{--group-accent:#3f91e8;--group-accent-dark:#1c5ca8;--group-hero-bg:#dcecff;--group-chip-bg:#e2efff}.character-item[data-group-id=super-mario-bros]{--group-accent:#e6574f;--group-accent-dark:#9f2e2a;--group-hero-bg:#dceaff;--group-chip-bg:#ffe0dc}.character-option{--outline-width:4px;outline:var(--outline-width) solid #fffffff5;gap:var(--card-content-gap);color:#28304c;cursor:pointer;transform-origin:50%;background:linear-gradient(160deg,#fffffffa,#fafafff0);border:2px solid #ddddddf5;border-radius:clamp(1.15rem,1.7vw,1.55rem);grid-template-rows:auto minmax(0,1fr) auto;block-size:calc(100% - 1rem);inline-size:100%;padding:clamp(.55rem,.8vw,.72rem);transition:block-size .22s,border-color .22s,outline-color .22s,outline-width .22s,box-shadow .22s,transform .22s;display:grid;position:relative;overflow:visible;box-shadow:inset 0 0 3px #ddddddf5}@media (height<=48rem) and (width>43rem){.character-option{grid-template-rows:auto minmax(0,1fr) auto}}@media (width<=43rem){.character-option{border-radius:1.45rem;grid-template-rows:auto minmax(0,1fr) auto;max-inline-size:28rem;margin-inline:auto;padding:.68rem}}@media (orientation:landscape) and (height<=35rem) and (width<=64rem){.character-option{border-radius:clamp(.9rem,2.5dvh,1.2rem);max-inline-size:none;margin-inline:0;padding:clamp(.4rem,1.5dvh,.55rem)}}@media (prefers-reduced-motion:reduce){.character-option{transition:none}}.character-option:hover{border-color:color-mix(in srgb, var(--group-accent) 52%, white)}.character-option.is-selected{z-index:1;border-color:var(--selected-purple-dark);outline:var(--outline-width) solid var(--selected-purple);block-size:100%;box-shadow:0 0 5px color-mix(in srgb, var(--selected-purple-dark) 58%, transparent) inset;padding-block-start:calc(1.575rem + var(--card-content-gap));transform:scale(1.018)}@media (orientation:landscape) and (height<=35rem) and (width<=64rem){.character-option.is-selected{padding-block-start:calc(1.2rem + var(--card-content-gap))}}.character-option.is-selected .selection-star{opacity:1;transform:translate(-50%, calc(-50% - (var(--outline-width) / 2))) scale(1)}.character-option.is-selected:hover{transform:scale(1.018)}.character-option:has(.character-option-input:focus-visible){outline:3px solid var(--focus-outline);outline-offset:3px}.character-option-input{z-index:2;opacity:0;cursor:pointer;border:0;block-size:100%;inline-size:100%;position:absolute;inset:0}.selection-star{z-index:3;opacity:0;place-items:center;block-size:3.15rem;inline-size:3.15rem;transition:opacity .2s,transform .2s;display:grid;position:absolute;inset-block-start:0;inset-inline-start:50%;transform:translate(-50%,-50%)scale(.72)}@media (orientation:landscape) and (height<=35rem) and (width<=64rem){.selection-star{block-size:clamp(2.35rem,10dvh,2.9rem);inline-size:clamp(2.35rem,10dvh,2.9rem)}}@media (prefers-reduced-motion:reduce){.selection-star{transition:none}}.selection-star img{object-fit:contain;block-size:100%;inline-size:100%}.group-name{color:#242b48;text-align:center;text-wrap:balance;place-items:center;font-size:clamp(.93rem,1.2vw,1.12rem);font-weight:700;line-height:1;display:grid;overflow:hidden}@media (width<=43rem){.group-name{min-block-size:2.25rem;font-size:clamp(1.05rem,4.5vw,1.28rem)}}@media (orientation:landscape) and (height<=35rem) and (width<=64rem){.group-name{min-block-size:0;font-size:clamp(.75rem,2.9dvh,.94rem)}}.group-hero{background:var(--group-hero-bg);border:2px solid #fffffff0;border-radius:clamp(.82rem,1vw,1rem);min-block-size:0;position:relative;overflow:hidden}@media (orientation:landscape) and (height<=35rem) and (width<=64rem){.group-hero{border-radius:clamp(.65rem,2dvh,.85rem)}}.group-main-image{object-fit:cover;object-position:center;block-size:100%;inline-size:100%}.character-item[data-group-id=gabby-dollhouse] .group-main-image,.character-item[data-group-id=del-reves] .group-main-image{object-position:center 45%}.character-item:is([data-group-id=bob-esponja],[data-group-id=cars],[data-group-id=paw-patrol],[data-group-id=pocoyo],[data-group-id=pokemon]) .group-main-image{object-fit:contain;padding:.3rem}.character-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.28rem,.5vw,.42rem);inline-size:100%;min-inline-size:0;display:grid}@media (orientation:landscape) and (height<=35rem) and (width<=64rem){.character-strip{gap:clamp(.18rem,.7dvh,.3rem)}}.preview-avatar{aspect-ratio:1.05;background:radial-gradient(circle at 50% 22%, #fff 0 7%, transparent 8%), var(--group-chip-bg);border:2px solid #fffffff5;border-radius:clamp(.65rem,.85vw,.82rem);place-items:center;block-size:auto;inline-size:100%;min-inline-size:0;display:grid;overflow:hidden}@media (width<=64rem){.preview-avatar{aspect-ratio:1.35}}@media (width<=43rem){.preview-avatar{aspect-ratio:1.25}}@media (orientation:landscape) and (height<=35rem) and (width<=64rem){.preview-avatar{aspect-ratio:1.25;border-radius:clamp(.5rem,1.7dvh,.68rem)}}.preview-avatar-image{object-fit:contain;block-size:100%;inline-size:100%;padding:.12rem}.character-item:is([data-group-id=minions],[data-group-id=toy-story]) .preview-avatar-image{mix-blend-mode:multiply;padding:0}.character-item[data-group-id=minions] .preview-avatar-image{object-fit:contain}.character-item[data-group-id=toy-story] .preview-avatar-image{object-fit:cover}.character-item[data-group-id=kpop-warriors] .preview-avatar-image{object-fit:cover;padding:0}.character-item[data-group-id=bluey] .preview-avatar-image{object-fit:cover;object-position:center bottom;padding:0}.character-item[data-group-id=bluey] .preview-avatar:nth-child(3) .preview-avatar-image{object-position:center 34%}.character-item .visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;block-size:1px;inline-size:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.character-selector{gap:clamp(.25rem,.65vh,.5rem);inline-size:100%;min-inline-size:0;display:grid}@media (orientation:landscape) and (height<=35rem) and (width<=64rem){.character-selector{grid-area:1/2;align-self:center}}.carousel-stage{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(.4rem,.8vw,.75rem);min-inline-size:0;display:grid}@media (width<=43rem){.carousel-stage{display:block}}@media (orientation:landscape) and (height<=35rem) and (width<=64rem){.carousel-stage{grid-template-columns:auto minmax(0,1fr) auto;gap:clamp(.25rem,.8vw,.5rem);display:grid}}.carousel-control{z-index:2;border-radius:var(--radius-pill);color:#245b8c;cursor:pointer;background:#fffffff0;border:3px solid #fffffff0;place-items:center;block-size:clamp(2.9rem,4vw,3.55rem);inline-size:clamp(2.9rem,4vw,3.55rem);transition:background .2s,border-color .2s,color .2s;display:grid;position:relative}@media (width<=43rem){.carousel-control{display:none}}@media (orientation:landscape) and (height<=35rem) and (width<=64rem){.carousel-control{block-size:clamp(2.35rem,10dvh,2.75rem);inline-size:clamp(2.35rem,10dvh,2.75rem);display:grid}}@media (prefers-reduced-motion:reduce){.carousel-control{transition:none}}.carousel-control .carousel-icon{object-fit:contain;block-size:2.35rem;inline-size:2.35rem}@media (orientation:landscape) and (height<=35rem) and (width<=64rem){.carousel-control .carousel-icon{block-size:clamp(1.9rem,8dvh,2.25rem);inline-size:clamp(1.9rem,8dvh,2.25rem)}}.carousel-control .carousel-icon.is-left{transform:rotate(180deg)}.carousel-control:hover:not(:disabled){color:#124f80;background:#dff4ff;border-color:#fff}.carousel-control:disabled{opacity:.28;cursor:default}.character-list{inline-size:100%;min-inline-size:0;padding-block:2.05rem 1.2rem;padding-inline:var(--carousel-peek);gap:var(--carousel-gap);overscroll-behavior-inline:contain;scroll-behavior:smooth;scroll-padding-inline:var(--carousel-peek);scroll-snap-type:inline mandatory;scrollbar-width:none;-webkit-mask-image:linear-gradient(to right, #0000001f, #00000094 var(--carousel-fade-soft), #000 var(--carousel-fade), #000 calc(100% - var(--carousel-fade)), #00000094 calc(100% - var(--carousel-fade-soft)), #0000001f);-webkit-mask-image:linear-gradient(to right, #0000001f, #00000094 var(--carousel-fade-soft), #000 var(--carousel-fade), #000 calc(100% - var(--carousel-fade)), #00000094 calc(100% - var(--carousel-fade-soft)), #0000001f);mask-image:linear-gradient(to right, #0000001f, #00000094 var(--carousel-fade-soft), #000 var(--carousel-fade), #000 calc(100% - var(--carousel-fade)), #00000094 calc(100% - var(--carousel-fade-soft)), #0000001f);list-style:none;display:flex;overflow-x:auto}@media (width<=43rem){.character-list{padding-block:2.05rem 1.1rem;padding-inline:calc((100% - var(--mobile-card-width)) / 2);scroll-padding-inline:calc((100% - var(--mobile-card-width)) / 2)}}@media (orientation:landscape) and (height<=35rem) and (width<=64rem){.character-list{padding-block:clamp(1.35rem,5dvh,1.75rem) clamp(.45rem,1.8dvh,.7rem);padding-inline:var(--carousel-peek);scroll-padding-inline:var(--carousel-peek)}}@media (prefers-reduced-motion:reduce){.character-list{scroll-behavior:auto}}.character-list::-webkit-scrollbar{display:none}.start-button{color:#fff;text-shadow:0 2px #5c2d6d4d;background:linear-gradient(135deg,#ff6866,#ed5eba 54%,#8b66eb);border:4px solid #fffffff5;justify-content:center;align-items:center;gap:.6rem;min-block-size:clamp(3.55rem,6.5vh,4.25rem);min-inline-size:min(22rem,90vw);margin-block-start:.1rem;padding-inline:2rem;font-size:clamp(1.08rem,1.45vw,1.3rem);display:inline-flex}@media (height<=48rem) and (width>43rem){.start-button{min-block-size:3.25rem}}@media (width<=43rem){.start-button{z-index:2;min-block-size:3.65rem;inline-size:min(24rem,100% - .5rem);min-inline-size:0;margin-block-start:-.1rem;font-size:1.08rem;position:relative}}@media (orientation:landscape) and (height<=35rem) and (width<=64rem){.start-button{z-index:2;border-width:3px;grid-area:2/2;min-block-size:clamp(2.85rem,11dvh,3.35rem);inline-size:min(22rem,92%);min-inline-size:0;margin:0 auto;padding-inline:1.25rem;font-size:clamp(.9rem,3.6dvh,1.08rem);position:relative}}.start-button:hover{background:linear-gradient(135deg,#ff7a76,#f16bc2 54%,#9b77f0)}.start-button .button-icon{object-fit:contain;block-size:2.2rem;inline-size:2.2rem;margin-inline-start:-.25rem}@media (orientation:landscape) and (height<=35rem) and (width<=64rem){.start-button .button-icon{block-size:clamp(1.7rem,7dvh,2rem);inline-size:clamp(1.7rem,7dvh,2rem)}}.welcome-footer{inline-size:min(100% - 1rem,58rem);margin:0 auto max(.45rem, env(safe-area-inset-bottom));border-radius:var(--radius-lg);color:#44546a;text-align:center;-webkit-backdrop-filter:blur(.5rem);backdrop-filter:blur(.5rem);background:#ffffffb3;border:1px solid #ffffffc2;flex:none;grid-template-columns:auto auto;justify-content:center;align-items:center;gap:.2rem .85rem;padding:.45rem .8rem;display:grid}@media (width<=43rem){.welcome-footer{inline-size:calc(100% - .8rem);margin:clamp(1.15rem, 4dvh, 2rem) auto max(1rem, calc(env(safe-area-inset-bottom) + .5rem));border-radius:1.2rem;grid-template-columns:1fr;gap:.22rem;padding:.5rem .625rem}}@media (orientation:landscape) and (height<=35rem) and (width<=64rem){.welcome-footer{inline-size:min(100% - 1.5rem,58rem);margin:clamp(1rem, 4dvh, 1.5rem) auto max(.85rem, calc(env(safe-area-inset-bottom) + .35rem))}}.welcome-footer .footer-message{justify-content:center;align-items:center;gap:.18rem;font-size:.82rem;font-weight:700;display:inline-flex}@media (width<=43rem){.welcome-footer .footer-message{font-size:.76rem}}.welcome-footer .footer-heart{object-fit:contain;flex:none;block-size:1.45rem;inline-size:1.45rem}.welcome-footer .creator{justify-content:center;align-items:center;gap:.4rem;font-size:.82rem;font-weight:600;display:flex}@media (width<=43rem){.welcome-footer .creator{font-size:.76rem}}.welcome-footer .social-links{align-items:center;gap:.2rem;list-style:none;display:flex}.welcome-footer a{border-radius:var(--radius-pill);color:#4d6175;place-items:center;block-size:1.75rem;inline-size:1.75rem;transition:color .2s,background .2s;display:grid}.welcome-footer a svg{block-size:1.05rem;inline-size:1.05rem}.welcome-footer a:hover{color:#174f7c;background:#d8f1ff}.welcome-footer small{color:#5c6678;grid-column:1/-1;font-size:.72rem;line-height:1.25}@media (width<=43rem){.welcome-footer small{grid-column:auto;max-inline-size:31rem;font-size:.66rem}}.welcome-hero{z-index:1;text-align:center;flex-direction:column;align-items:center;display:flex;position:relative}@media (width<=43rem){.welcome-hero{inline-size:100%}}@media (orientation:landscape) and (height<=35rem) and (width<=64rem){.welcome-hero{-webkit-backdrop-filter:blur(.85rem)saturate(1.12);background:linear-gradient(145deg,#ffffffb8,#edf9ff8f);border:1px solid #ffffffc7;border-radius:clamp(1rem,3dvh,1.3rem);grid-area:1/1/-1;align-self:center;inline-size:100%;min-inline-size:0;padding:clamp(.4rem,1.6dvh,.55rem)}}.welcome-hero .logo.is-large{--logo-size:clamp(9rem, 20vh, 12.5rem);filter:drop-shadow(0 .65rem .75rem #355f8b33)drop-shadow(0 0 .5rem #ffffffad);margin-block-end:clamp(-.1rem,-.2vh,-.25rem)}@media (width<=64rem){.welcome-hero .logo.is-large{--logo-size:clamp(8rem, 17vh, 10.5rem)}}@media (height<=48rem) and (width>43rem){.welcome-hero .logo.is-large{--logo-size:6.4rem}}@media (width<=43rem){.welcome-hero .logo.is-large{--logo-size:clamp(9rem, 38vw, 10.5rem);margin-block-end:-.1rem}}@media (orientation:landscape) and (height<=35rem) and (width<=64rem){.welcome-hero .logo.is-large{--logo-size:clamp(4.5rem, 23dvh, 6rem);margin-block-end:0}}.welcome-hero h1{-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px #ffffffb8);background:linear-gradient(90deg,#005582 0%,#005b54 19%,#6f4b00 48%,#8f3700 66%,#96204b 100%);-webkit-background-clip:text;background-clip:text;font-size:clamp(2.15rem,3.8vw,3.8rem);font-weight:700}@media (forced-colors:active){.welcome-hero h1{color:canvastext;-webkit-text-fill-color:currentColor;filter:none;background:0 0}}@media (height<=48rem) and (width>43rem){.welcome-hero h1{font-size:2.25rem}}@media (width<=43rem){.welcome-hero h1{font-size:clamp(1.75rem,8.2vw,2.45rem)}}@media (orientation:landscape) and (height<=35rem) and (width<=64rem){.welcome-hero h1{max-inline-size:12rem;font-size:clamp(1.35rem,5dvh,1.85rem);line-height:1.02}}.welcome-hero>p{color:#3f485f;text-shadow:0 2px #ffffffc7;margin-block-start:.15rem;font-size:clamp(.88rem,1.25vw,1.08rem);font-weight:600}@media (width<=43rem){.welcome-hero>p{max-inline-size:27rem;padding-inline:.45rem;font-size:clamp(.78rem,3.4vw,.9rem)}}@media (orientation:landscape) and (height<=35rem) and (width<=64rem){.welcome-hero>p{max-inline-size:12rem;margin-block-start:.18rem;padding-inline:.25rem;font-size:clamp(.68rem,2.5dvh,.82rem);line-height:1.15}}.selector-prompt{justify-content:center;align-items:center;gap:clamp(.45rem,.8vw,.7rem);margin-block-start:clamp(.45rem,1vh,.8rem);display:flex}@media (height<=48rem) and (width>43rem){.selector-prompt{margin-block-start:.28rem}}@media (width<=43rem){.selector-prompt{gap:.34rem;margin-block-start:.5rem}}@media (orientation:landscape) and (height<=35rem) and (width<=64rem){.selector-prompt{gap:.2rem;margin-block-start:clamp(.35rem,1.6dvh,.55rem)}}.selector-prompt h2{color:#2b314d;letter-spacing:-.02em;text-shadow:0 2px #ffffffd1;font-size:clamp(1.35rem,2.1vw,2rem);font-weight:700}@media (width<=43rem){.selector-prompt h2{font-size:clamp(1.3rem,6.2vw,1.65rem)}}@media (orientation:landscape) and (height<=35rem) and (width<=64rem){.selector-prompt h2{font-size:clamp(1rem,3.8dvh,1.3rem);line-height:1.05}}.prompt-rays{flex:none;block-size:1.65rem;inline-size:1.7rem;position:relative}@media (width<=43rem){.prompt-rays{block-size:1.35rem;inline-size:1.35rem;scale:.82}}@media (orientation:landscape) and (height<=35rem) and (width<=64rem){.prompt-rays{block-size:1.1rem;inline-size:1.1rem;scale:.66}}.prompt-rays i{border-radius:var(--radius-pill);transform-origin:50% 100%;background:#f3b821;block-size:.82rem;inline-size:.28rem;display:block;position:absolute}.prompt-rays i:first-child{inset-block-start:0;inset-inline-start:.78rem}.prompt-rays i:nth-child(2){inset-block-start:.46rem;inset-inline-start:.08rem;transform:rotate(-58deg)}.prompt-rays i:nth-child(3){inset-block-start:.5rem;inset-inline-end:.06rem;transform:rotate(58deg)}.prompt-rays.is-left{transform:rotate(-90deg)}.prompt-rays.is-right{transform:rotate(90deg)}.welcome{--carousel-gap:clamp(1rem, 1.3vw, 1.3rem);--carousel-peek:clamp(2.4rem, 3.5vw, 3.4rem);--carousel-fade-soft:clamp(.22rem, .4vw, .32rem);--carousel-fade:clamp(.58rem, .9vw, .78rem);--card-content-gap:clamp(.38rem, .65vw, .55rem);--selected-purple:#9f78ed;--selected-purple-dark:#7553c8;color:#26314f;isolation:isolate;flex-direction:column;min-block-size:100%;inline-size:100%;display:flex}@media (width<=43rem){.welcome{--carousel-gap:.85rem;--mobile-card-width:min(28rem, 76vw);min-block-size:auto}.welcome:after{content:"";flex:0 0 max(1rem, calc(env(safe-area-inset-bottom) + .5rem))}}@media (orientation:landscape) and (height<=35rem) and (width<=64rem){.welcome{--carousel-gap:clamp(.5rem, 1.3vw, .75rem);--carousel-peek:clamp(1.25rem, 2.5vw, 2rem)}.welcome:after{content:"";flex:0 0 max(.85rem, calc(env(safe-area-inset-bottom) + .35rem))}}.welcome>*{min-inline-size:0}.welcome-content{flex-direction:column;flex:1 0 auto;justify-content:center;align-items:center;gap:clamp(.45rem,1vh,.75rem);inline-size:min(100%,92rem);margin-inline:auto;padding:clamp(.55rem,1.2vh,.9rem) clamp(.7rem,1.8vw,1.65rem);display:flex}@media (height<=48rem) and (width>43rem){.welcome-content{gap:.35rem;padding-block:.35rem}}@media (width<=43rem){.welcome-content{min-block-size:100dvh;inline-size:100%;padding:calc(.65rem + env(safe-area-inset-top)) calc(.65rem + env(safe-area-inset-right)) calc(.85rem + env(safe-area-inset-bottom)) calc(.65rem + env(safe-area-inset-left));flex:none;justify-content:space-between;gap:.42rem}}@media (orientation:landscape) and (height<=35rem) and (width<=64rem){.welcome-content{min-block-size:100dvh;inline-size:100%;padding:calc(.45rem + env(safe-area-inset-top)) calc(.65rem + env(safe-area-inset-right)) calc(.45rem + env(safe-area-inset-bottom)) calc(.65rem + env(safe-area-inset-left));flex:none;grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(10rem,.55fr) minmax(0,1.45fr);align-items:center;gap:.25rem clamp(.6rem,1.8vw,1.1rem);display:grid}}.app{max-width:73.75rem;height:100dvh;padding:calc(.75rem + env(safe-area-inset-top)) calc(1rem + env(safe-area-inset-right)) calc(1rem + env(safe-area-inset-bottom)) calc(1rem + env(safe-area-inset-left));flex-direction:column;gap:.625rem;margin-inline:auto;display:flex;overflow:hidden}.app.is-welcome-open{background:linear-gradient(#e2f7ff08,#fffce10a),url(/backgrounds/welcome-playground.webp) bottom/cover no-repeat;gap:0;max-width:none;padding:0}.app .main-content{flex:1;min-height:0;display:flex;overflow:hidden}.app .main-content.is-welcome{scrollbar-width:none;justify-content:stretch;align-items:stretch;overflow-y:auto}.app .main-content.is-welcome::-webkit-scrollbar{display:none}.app .main-content.is-game{background:0 0}@media (width<=53.75rem){.app{padding:calc(.625rem + env(safe-area-inset-top)) calc(.625rem + env(safe-area-inset-right)) calc(.75rem + env(safe-area-inset-bottom)) calc(.625rem + env(safe-area-inset-left));gap:.5rem}}@media (width<=35rem){.app.is-welcome-open{background-position:45% bottom;background-size:auto 100%;padding:0}.app .main-content.is-game{background:0 0}}@media (orientation:landscape) and (height<=35rem) and (width<=64rem){.app:not(.is-welcome-open){--game-rail-padding:clamp(.2rem, 1dvh, .3rem);inline-size:100%;max-inline-size:none;padding:max(.4rem, env(safe-area-inset-top)) max(.5rem, env(safe-area-inset-right)) max(.4rem, env(safe-area-inset-bottom)) max(.5rem, env(safe-area-inset-left));grid-template-rows:minmax(0,1fr);grid-template-columns:clamp(3.4rem,6.8vw,3.8rem) minmax(0,1fr) clamp(3.75rem,8vw,4.5rem);gap:clamp(.3rem,.8vw,.5rem);display:grid}.app:not(.is-welcome-open)>.top{grid-area:1/1}.app:not(.is-welcome-open)>.main-content.is-game{grid-area:1/2;min-inline-size:0}.app:not(.is-welcome-open)>.status-dock{grid-area:1/3;min-inline-size:0}}:root{color:#2f2b3a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--ink:#2f2b3a;--soft-ink:#5b5566;--status-bar-color:#5f7ef5;--surface:#ffffffc7;--surface-strong:#ffffffed;--surface-soft:#ffffffa8;--surface-tint:#f7f3ffdb;--border-soft:#2f2b3a1a;--border-medium:#2f2b3a29;--border-play:#7171e775;--border-on-light:#ffffffb8;--mark-muted:#2f2b3a80;--backdrop-scrim:#2f2b3a2e;--bg-gradient:linear-gradient(135deg, #dff4ff 0%, #fff8df 34%, #f4edff 68%, #e2f8ec 100%);--shadow:0 12px 30px #402c6e1f;--shadow-soft:0 10px 24px #402c6e1a;--shadow-lift:0 16px 26px #402c6e29;--shadow-control:0 8px 14px #402c6e1f;--shadow-primary:0 10px 18px #5a66cf33;--shadow-primary-hover:0 14px 20px #5a66cf3d;--shadow-avatar:0 5px 10px #402c6e14;--shadow-selected:0 0 18px #7c7cef38;--shadow-match:0 10px 18px #42a87829;--focus-outline:#174ea6;--selected-ring:0 0 0 3px #ffeaa7b3;--radius-sm:12px;--radius-md:16px;--radius-lg:24px;--radius-pill:999rem;--border-radius:var(--radius-md);--gradient-primary:linear-gradient(135deg, #77d8ff, #bda5ff 52%, #ffcae0);--gradient-primary-hover:linear-gradient(135deg, #8fe0ff, #c8b5ff 52%, #ffd4e8);--logo-text-gradient:linear-gradient(90deg, #005582 0%, #6f4b00 48%, #96204b 100%);--gradient-card-front:radial-gradient(circle at 28% 24%, #5dc4edc7 0 13%, transparent 14%), radial-gradient(circle at 72% 72%, #f7bb3fd1 0 13%, transparent 14%), linear-gradient(145deg, #fff, #e9f7ff);--gradient-card-front-hover:radial-gradient(circle at 28% 24%, #33ade0e6 0 13%, transparent 14%), radial-gradient(circle at 72% 72%, #f1a120eb 0 13%, transparent 14%), linear-gradient(145deg, #fff, #e3f4ff);--gradient-level:linear-gradient(145deg, #e5f2ff, #cfe7ff);--gradient-pairs:linear-gradient(145deg, #e9f8e7, #d9f2d2);--gradient-time:linear-gradient(145deg, #fff0d9, #ffe4bf);--gradient-moves:linear-gradient(145deg, #f0e8ff, #e5d9ff);font-family:Fredoka,Trebuchet MS,Arial,sans-serif;line-height:1.35}*{box-sizing:border-box}body{background:var(--bg-gradient);min-block-size:100dvh}body:before{content:"";z-index:1000;block-size:env(safe-area-inset-top);background:var(--status-bar-color);pointer-events:none;position:fixed;inset:0 0 auto}:where(body,h1,h2,h3,h4,h5,h6,p,ul){margin:0}:where(ul){padding:0}:where(h1,h2,h3,h4,h5,h6){text-wrap:balance;line-height:1.2}:where(p){text-wrap:pretty}:where(button,input,select,textarea){font:inherit}:where(img){max-inline-size:100%;display:block}:where(a,button,input,select,textarea,[tabindex="-1"]):focus-visible{outline:3px solid var(--focus-outline);outline-offset:3px}[tabindex="-1"]:focus-visible{outline-offset:0}.primary{border-radius:var(--radius-pill);background:var(--gradient-primary);color:#1f1c2b;box-shadow:var(--shadow-primary);cursor:pointer;border:none;padding:.75rem 1.25rem;font-size:1.05rem;font-weight:700;transition:background .2s,box-shadow .2s}.primary:hover{background:var(--gradient-primary-hover);box-shadow:var(--shadow-primary-hover)}.secondary{border:2px solid var(--border-medium);border-radius:var(--radius-pill);background:var(--surface-strong);color:var(--ink);cursor:pointer;box-shadow:var(--shadow-control);padding:.625rem 1.125rem;font-size:1.05rem;font-weight:700;transition:background .2s,border-color .2s,box-shadow .2s}.secondary:hover{border-color:var(--border-play);background:var(--surface-tint);box-shadow:var(--shadow-lift)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}
