@font-face{font-family:Barlow Semi Condensed;src:url(./barlow-sc-600.D36brihh.woff2)format("woff2");font-display:swap;font-weight:600}@font-face{font-family:Barlow Semi Condensed;src:url(./barlow-sc-700.BSuPlIsc.woff2)format("woff2");font-display:swap;font-weight:700}:root{font-synthesis:none;color:#3f2d39;background:var(--paper-base);--font:ui-rounded, -apple-system, BlinkMacSystemFont, "SF Pro Rounded", system-ui, sans-serif;--font-condensed:"Barlow Semi Condensed", "Avenir Next Condensed", "Roboto Condensed", "Arial Narrow", var(--font);--paper-base:#fbf1dc;--ink:#493542;--muted:#9b807f;--muted-warm:#a58b8a;--paper:#fffaf0;--tile:#fffaf1;--tile-edge:#e8d9c5;--accent:#836be8;--accent-deep:#6551c9;--accent-soft:#e7e0ff;--friend:#f06b82;--focus:#2e82e6;--page-pad:clamp(.8rem, 3.5vw, 1.25rem);--gutter-tile:clamp(.24rem, 1vw, .36rem);--tile-w:calc((min(100vw, 36rem) - 2 * var(--page-pad) - 4 * var(--gutter-tile)) / 5);--board-inset:calc(var(--gutter-tile) * 2);--radius-tile:1rem;--radius-tile-done:.55rem;--radius-row:calc(var(--radius-tile-done) + var(--gutter-tile));--radius-shell:calc(var(--radius-tile) + var(--board-inset));--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);font-family:ui-rounded,-apple-system,BlinkMacSystemFont,SF Pro Rounded,system-ui,sans-serif}*{box-sizing:border-box}html{background:var(--paper-base);-webkit-text-size-adjust:100%;min-width:320px;min-height:100%}body{background:var(--paper-base);min-width:320px;min-height:100dvh;margin:0;overflow-x:hidden}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}main{width:min(100%,36rem);min-height:100dvh;padding:max(.9rem, env(safe-area-inset-top)) var(--page-pad) max(.9rem, env(safe-area-inset-bottom));isolation:isolate;flex-direction:column;margin:0 auto;display:flex;position:relative}main:before{z-index:-1;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23g)' opacity='0.08'/%3E%3C/svg%3E"), radial-gradient(circle at 50% 50%, #ffffff6b 0 1px, transparent 1.5px), radial-gradient(125% 62% at 50% -12%, #ffffff9e, transparent 62%), radial-gradient(92% 58% at 10% 88%, #e2ac7029, transparent 72%), radial-gradient(78% 52% at 94% 18%, #988ed01c, transparent 70%), radial-gradient(132% 96% at 50% 42%, transparent 48%, #96673e2b 100%), var(--paper-base);content:"";pointer-events:none;background-size:300px 300px,18px 18px,auto,auto,auto,auto,auto;position:fixed;inset:0}header{justify-content:space-between;align-items:center;gap:1rem;min-height:2.75rem;display:flex}.brand-side{align-items:center;gap:.45rem;display:flex}.brand{gap:.18rem;display:flex}.back-button{width:2.55rem;height:2.55rem;color:var(--ink);transition:transform .14s var(--ease-out);background:#fffaf0c7;border:1px solid #543a481a;border-radius:50%;place-items:center;display:grid;box-shadow:0 2px 8px #55344514}.back-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:1.2rem}.back-button:active{transform:scale(.94)}.brand span{color:#fff;border:1px solid #4d35421a;border-radius:.5rem;place-items:center;width:1.55rem;height:1.55rem;font-size:.72rem;font-weight:800;display:grid;box-shadow:0 2px #52354521}.brand span:first-child{background:#846fe4}.brand span:nth-child(2){background:#1eb8b3}.brand span:nth-child(3){background:#eb6f79}.brand span:nth-child(4){background:#9bc932}.brand span:nth-child(5){background:#f4a548}.header-actions{align-items:center;gap:.4rem;display:flex}.language-button{width:2.55rem;height:2.55rem;color:var(--ink);letter-spacing:.04em;transition:transform .14s var(--ease-out);background:#fffaf0c7;border:1px solid #543a481a;border-radius:50%;place-items:center;font-size:.68rem;font-weight:800;display:grid;box-shadow:0 2px 8px #55344514}.language-button:active{transform:scale(.94)}.race-button{width:2.55rem;height:2.55rem;color:var(--ink);transition:transform .14s var(--ease-out);background:#fffaf0c7;border:1px solid #543a481a;border-radius:50%;place-items:center;display:grid;box-shadow:0 2px 8px #55344514}.race-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9px;width:1.15rem}.race-button:active{transform:scale(.94)}.share{min-height:2.55rem;color:var(--ink);font-family:var(--font-condensed);letter-spacing:.01em;transition:transform .14s var(--ease-out), background-color .14s ease;background:#fffaf0c7;border:1px solid #543a481a;border-radius:99rem;align-items:center;gap:.4rem;padding:0 .85rem;font-size:.88rem;font-weight:700;display:flex;box-shadow:0 2px 8px #55344514}.share svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:1.05rem}.share:active{transform:scale(.96)}@media (width<=360px){.share{justify-content:center;width:2.55rem;padding:0}.share span{display:none}}.share:focus-visible,.language-button:focus-visible,.race-button:focus-visible,.back-button:focus-visible,.picker-button:focus-visible,.selector-popover button:focus-visible,.selector-popover input:focus-visible,.primary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.intro{justify-content:space-between;align-items:flex-end;gap:.75rem;padding:clamp(1.1rem,4vh,2rem) 0 .9rem;display:flex}.eyebrow{color:var(--muted-warm);font-family:var(--font-condensed);letter-spacing:.1em;text-transform:uppercase;margin:0 0 .32rem;font-size:.78rem;font-weight:700}.generator-controls{gap:.4rem;margin:0 0 .42rem;display:flex}.picker-button{min-height:2rem;color:var(--muted-warm);font-family:var(--font-condensed);letter-spacing:.07em;text-transform:uppercase;transition:transform .14s var(--ease-out), background-color .14s ease;background:#ffffff8c;border:1px solid #6d4d4729;border-radius:999px;align-items:center;gap:.35rem;padding:.35rem .58rem;font-size:.75rem;font-weight:750;display:inline-flex;box-shadow:0 1px 2px #53342c12}.picker-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:.55rem}.picker-button:active,.selector-popover button:active{transform:scale(.97)}.selector-popover{background:var(--paper-base);width:min(100% - 2rem,21rem);color:var(--ink);border:1px solid #6d4d4729;border-radius:1.25rem;padding:1rem;box-shadow:0 1.2rem 3rem #3e26223d}.selector-popover::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#39262338}.selector-popover p{margin:0 0 .8rem;font-size:.95rem;font-weight:800}.level-stepper{grid-template-columns:2.75rem 1fr 2.75rem;gap:.5rem;display:grid}.level-stepper button,.level-stepper input,.apply-selector,.difficulty-options button{min-height:2.75rem;color:var(--ink);font:inherit;background:#ffffffa3;border:1px solid #6d4d4729;border-radius:.85rem}.level-stepper button{font-size:1.35rem;font-weight:700}.level-stepper input{text-align:center;min-width:0;padding:0 .5rem;font-size:1.05rem;font-weight:800}.apply-selector{width:100%;margin-top:.65rem;background:var(--ink)!important;color:#fff!important;font-weight:750!important}.difficulty-options{gap:.5rem;display:grid}.difficulty-options button{text-align:left;justify-content:space-between;align-items:center;padding:.6rem .75rem;display:flex}.difficulty-options button.active{border-color:var(--teal);box-shadow:inset 0 0 0 1px var(--teal);background:#29a4a61f}.difficulty-options strong{font-size:.9rem}.difficulty-options span{color:var(--muted-warm);font-size:.76rem;font-weight:650}h1{max-width:18rem;color:var(--ink);letter-spacing:-.055em;text-wrap:balance;margin:0;font-size:clamp(1.3rem,5.6vw,1.8rem);font-weight:800;line-height:1.03}.progress{justify-content:flex-end;align-items:center;gap:.45rem;min-width:5.4rem;padding-bottom:.08rem;display:flex}.progress strong{font-family:var(--font-condensed);font-variant-numeric:tabular-nums;letter-spacing:0;font-size:1.5rem;font-weight:700}.progress strong span{color:var(--muted-warm)}.stack{width:1.9rem;height:1.8rem;position:relative}.stack i{border:1px solid #3e2b361f;border-radius:.35rem;width:1.75rem;height:.82rem;position:absolute;left:0;transform:rotate(-2deg)skew(-9deg);box-shadow:0 2px 2px #4d32401f}.stack i:first-child{background:#add343;bottom:0}.stack i:nth-child(2){background:#9b80ef;bottom:.38rem;left:.05rem}.stack i:nth-child(3){background:#f39469;bottom:.76rem;left:.1rem}.presence{border:1px solid color-mix(in srgb, var(--friend) 20%, transparent);background:color-mix(in srgb, var(--friend) 8%, white);color:#85535d;width:max-content;max-width:100%;min-height:1.8rem;font-family:var(--font-condensed);border-radius:99rem;align-items:center;gap:.42rem;margin:-.2rem 0 .65rem;padding:.3rem .62rem;font-size:.8rem;font-weight:700;display:flex}.presence i{background:#4abd70;border-radius:50%;width:.46rem;height:.46rem;box-shadow:0 0 0 3px #4abd7024}.presence.offline i{background:#e59b49}.board{margin-inline:calc((var(--board-inset) + 2px) * -1);padding:var(--board-inset);border-radius:var(--radius-shell);background:#fffaf094;border:1px solid #5b3e4b1a;box-shadow:inset 0 1px #fffc,0 18px 50px #75494a1a}.rows{gap:var(--gutter-tile);display:grid}.game-row{border-radius:var(--radius-row);min-width:0;transition:background-image .3s var(--ease-out), border-color .3s var(--ease-out), box-shadow .3s var(--ease-out), margin .26s var(--ease-out), padding .26s var(--ease-out);background-image:linear-gradient(145deg,#0000,#0000);border:1px solid #0000}.game-row.locked{--label-scale:.85;margin-inline:calc(var(--gutter-tile) * -1);padding:var(--gutter-tile);color:#241a20;border-color:#2e253d1c;box-shadow:inset 0 1px #ffffff40,0 3px #3d2a3921}.game-row.violet{--row-ink:#42365b;background:linear-gradient(145deg,#8876e6,#9b80ef)}.game-row.teal{--row-ink:#1f4548;background:linear-gradient(145deg,#12aaa7,#38c3b7)}.game-row.lime{--row-ink:#434b22;background:linear-gradient(145deg,#8bbd28,#add343)}.game-row.coral{--row-ink:#603438;background:linear-gradient(145deg,#ed6f70,#f39469)}.game-row.mauve{--row-ink:#4c3a46;background:linear-gradient(145deg,#a9849e,#c19caf)}.game-row.gold{--row-ink:#59481c;background:linear-gradient(145deg,#d4b411,#e2c936)}.game-row.blue{--row-ink:#2d3c5c;background:linear-gradient(145deg,#438de8,#68a5ef)}.game-row.green{--row-ink:#28422b;background:linear-gradient(145deg,#33a143,#44bd57)}.game-row.plum{--row-ink:#54305b;background:linear-gradient(145deg,#c363e6,#d08fe8)}.game-row.orange{--row-ink:#5a3421;background:linear-gradient(145deg,#d96f23,#db894f)}.game-row.pink{--row-ink:#5e2e40;background:linear-gradient(145deg,#e55d8c,#e788a9)}.game-row.sky{--row-ink:#234051;background:linear-gradient(145deg,#2098c3,#3aadd7)}.group-title{font-family:var(--font-condensed);letter-spacing:.09em;text-transform:uppercase;justify-content:center;align-items:center;gap:.36rem;padding:0 .15rem .24rem;font-size:.75rem;font-weight:700;line-height:1;display:flex}.group-title b{background:#ffffff3d;border-radius:50%;place-items:center;width:.82rem;height:.82rem;font-size:.58rem;display:grid}.grid{gap:var(--gutter-tile);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.grid>div{min-width:0}.game-row.locked .grid>div>button{border-radius:var(--radius-tile-done);min-height:2rem;color:var(--row-ink);background:#fff6;border-color:#2e222c1f;padding-block:.26rem;box-shadow:inset 0 1px #ffffff75}.game-row.locked .group-title b{background:#ffffff75}.spawned-reveal{animation:.42s linear both drop-in}.spawned-concept{animation:concept-pop .24s var(--ease-out) both}.live{color:#9b5360;min-height:1.55rem;font-family:var(--font-condensed);text-align:center;padding:.38rem .5rem 0;font-size:.84rem;font-weight:700}.definition-dialog{width:min(22rem,100% - 2rem);height:max-content;color:var(--ink);background:#fffaf0;border:1px solid #452d3924;border-radius:1.6rem;margin:auto;padding:1.1rem;position:fixed;inset:0;box-shadow:0 24px 70px #3a242f3d}.definition-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#3a242f52}.definition-dialog h2{letter-spacing:-.035em;max-width:calc(100% - 2.5rem);margin:.12rem 0 .65rem;font-size:1.25rem}.definition-kicker,.definition-part{color:#9270c9;font-family:var(--font-condensed);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:.8rem;font-weight:700}.definition-part{color:#28817d;margin-bottom:.25rem}.definition-text,.definition-status{margin:0 0 .85rem;font-size:.86rem;font-weight:600;line-height:1.4}.definition-status{color:var(--muted)}.definition-dialog a{color:#6750bc;font-size:.76rem;font-weight:800}.definition-attribution{color:var(--muted);margin:.8rem 0 0;font-size:.58rem;line-height:1.35}.definition-attribution a{font-size:inherit;font-weight:700}.definition-close{width:2.4rem;height:2.4rem;color:var(--muted);transition:transform .14s var(--ease-out);background:#faf3e8e6;border:1px solid #543a481a;border-radius:50%;place-items:center;display:grid;position:absolute;top:.7rem;right:.7rem;box-shadow:0 2px 8px #55344514}.definition-close svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:2px;width:1.05rem}.definition-close:active{transform:scale(.94)}.definition-close:focus-visible{outline:3px solid var(--focus);outline-offset:3px}footer{align-items:center;min-height:3.2rem;margin-top:auto;padding:.4rem 0 0;display:grid}.swap-hint{color:var(--muted);font-family:var(--font-condensed);justify-content:center;align-items:center;gap:.55rem;font-size:.82rem;font-weight:700;display:flex}.swap-hint b{color:#705d65;background:#fffaf0c7;border-radius:.62rem;place-items:center;width:1.75rem;height:1.75rem;display:grid;box-shadow:0 1px 4px #55344514}.swap-hint b svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9px;width:1.05rem}.primary{border-radius:var(--radius-tile);color:#fff;min-width:8.3rem;min-height:3.15rem;font-family:var(--font-condensed);letter-spacing:.015em;transition:transform .14s var(--ease-out), box-shadow .14s var(--ease-out), opacity .14s ease;background:linear-gradient(#927bed,#7962dd);border:1px solid #5b46bd;padding:.7rem 1.2rem;font-size:1.02rem;font-weight:700;box-shadow:inset 0 1px #ffffff4f,0 3px #5c49be,0 8px 18px #5f45c038}.primary:active:not(:disabled){transform:translateY(2px)scale(.98);box-shadow:inset 0 1px #ffffff3d,0 1px #5c49be,0 4px 10px #5f45c02e}.primary:disabled{color:#ad9b8e;cursor:default;background:#e1d5c7;border-color:#d3c4b4;box-shadow:0 2px #c8b9a9}.complete footer{grid-template-columns:1fr;position:relative}.complete .primary{width:100%}.celebration{color:#f3a648;pointer-events:none;justify-content:space-around;font-size:1.25rem;display:flex;position:absolute;inset:-3.5rem 0 auto}.celebration i{animation:twinkle .65s var(--ease-out) both;font-style:normal}.celebration i:nth-child(2){color:#8e74e5;animation-delay:80ms}.celebration i:nth-child(3){color:#29aaa6;animation-delay:.14s}@keyframes drop-in{0%{opacity:0;animation-timing-function:cubic-bezier(.55,0,.85,.35);transform:translateY(-170%)}62%{opacity:1;animation-timing-function:cubic-bezier(.2,0,.3,1);transform:translate(0,0)}79%{animation-timing-function:cubic-bezier(.4,0,.6,1);transform:translateY(-13%)}to{opacity:1;transform:translate(0,0)}}@keyframes concept-pop{0%{opacity:0;filter:blur(2px);transform:scale(.78)}70%{opacity:1;filter:blur();transform:scale(1.045)}to{opacity:1;filter:blur();transform:scale(1)}}@keyframes twinkle{0%{opacity:0;transform:translateY(8px)scale(.9)rotate(-10deg)}to{opacity:1;transform:translateY(0)scale(1)rotate(0)}}@media (width>=600px){main{padding-top:1.3rem;padding-bottom:1.3rem}}@media (height<=700px){main{padding-top:max(.5rem, env(safe-area-inset-top))}.intro{padding-top:.7rem}.live{min-height:1.4rem;padding-top:.3rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important}.game-row{transition:none}.spawned-reveal,.spawned-concept,.celebration i{animation:none}}
