.qg-app{--qg-ink:#4a2f2a;--qg-paper:#fff8ee;--qg-berry:#e2525f;--qg-gold:#f2b631;--qg-felt:#2f6f6a;--qg-plum:#8f5bd6;--qg-blue:#3f86d6;--qg-mint:#3fb48a;--play-accent:#c2414e;overflow:hidden;touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;height:100dvh;background:#8a5634;color:#fff}.qg-scene{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:0;touch-action:none}.qg-app:not([data-phase=play]) :is(.qg-head,.qg-goal,.qg-combo,.qg-keys,.qg-quit,.qg-toast,.qg-banner,.qg-pops){display:none}.qg-head{position:absolute;z-index:4;left:0;right:0;top:calc(env(safe-area-inset-top, 0px) + 10px);pointer-events:none;display:flex;gap:8px;padding:0 100px 0 12px}.qg-head,.qg-pill{align-items:center}.qg-pill{display:inline-flex;gap:6px;height:40px;padding:0 12px;border-radius:20px;flex-shrink:0;background:rgba(74,47,42,.82);border:2px solid rgba(255,248,238,.9);box-shadow:0 3px 0 rgba(74,47,42,.3);color:#fff}.qg-pill b{font:800 19px/1 Playful,sans-serif;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.qg-pill small{font:800 10px/1 Playful,sans-serif;letter-spacing:1px;opacity:.75}.qg-scorepill{background:var(--qg-berry);min-width:104px}.qg-clockpill{flex-direction:column;justify-content:center;align-items:stretch;gap:3px;min-width:70px}.qg-clockpill b{font-size:16px;text-align:center}.qg-thread{display:block;height:5px;border-radius:3px;background:rgba(255,255,255,.22);overflow:hidden}.qg-thread i{display:block;height:100%;background:#7fe0b8;transform-origin:left;transition:background .3s}.qg-thread i[data-level=mid]{background:var(--qg-gold)}.qg-thread i[data-level=low]{background:#ff6670}.qg-hurry .qg-clockpill{animation:qg-pulse .5s ease-in-out infinite alternate;border-color:#ff9aa2}@keyframes qg-pulse{to{transform:scale(1.07)}}.qg-goal{position:absolute;z-index:4;left:50%;top:calc(env(safe-area-inset-top, 0px) + 58px);transform:translateX(-50%);width:min(420px,calc(100vw - 20px));padding:7px 12px 8px;border-radius:16px;pointer-events:none;background:var(--qg-paper);color:var(--qg-ink);border:2px solid #fff;box-shadow:0 4px 0 rgba(74,47,42,.28);display:grid;grid-gap:3px;gap:3px}.qg-goal.fresh{animation:qg-slip .5s cubic-bezier(.3,1.5,.5,1)}@keyframes qg-slip{0%{transform:translate(-50%,-26px) scale(.9);opacity:0}}.qg-goal-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.qg-goal-top small{font:800 11px/1 Playful,sans-serif;letter-spacing:1.2px;color:#b0545c}.qg-squares{display:flex;gap:3px}.qg-goal-mid{display:flex;align-items:center;justify-content:space-between;gap:10px}.qg-goal-words{display:flex;flex-direction:column;gap:1px;min-width:0}.qg-goal-words b{font:800 16px/1.05 Playful,sans-serif}.qg-goal-words span{font:700 13px/1.15 Playful,sans-serif;color:#7a5a52}.qg-goal-count{flex-shrink:0;font:800 20px/1 Playful,sans-serif;color:var(--qg-felt);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.qg-goal-track{display:block;height:6px;border-radius:3px;background:#efe1cf;overflow:hidden}.qg-goal-track i{display:block;height:100%;transform-origin:left;transform:scaleX(0);transition:transform .35s cubic-bezier(.3,1.4,.5,1);background:repeating-linear-gradient(90deg,var(--qg-berry) 0 8px,#ff8a92 8px 12px)}.qg-swatch{display:block;width:11px;height:11px;border-radius:3px;background:#e6d7c4;box-shadow:inset 0 0 0 1px rgba(74,47,42,.18)}.qg-swatch.now{background:#fff;box-shadow:inset 0 0 0 2px var(--qg-berry);animation:qg-blink 1s ease-in-out infinite alternate}@keyframes qg-blink{to{box-shadow:inset 0 0 0 2px #ffc2c7}}.qg-swatch[data-m="0"]{background:repeating-conic-gradient(#d84a58 0 25%,#fbe9e4 0 50%) 0 0 /50% 50%}.qg-swatch[data-m="1"]{background:radial-gradient(circle,#f4f8ff 0 22%,transparent 24%) 0 0 /50% 50%,#3f80cf}.qg-swatch[data-m="2"]{background:radial-gradient(circle,#e9862c 0 14%,#fffaf0 15% 34%,transparent 36%) 50% 50% /100% 100%,#f7c548}.qg-swatch[data-m="3"]{background:repeating-linear-gradient(0deg,#2ea076 0 2px,#e8f6ee 2px 4px)}.qg-swatch[data-m="4"]{background:radial-gradient(circle,#ffd75e 0 20%,transparent 22%),linear-gradient(135deg,#9a64e0,#7a45c4)}.qg-combo{position:absolute;z-index:4;left:50%;top:calc(env(safe-area-inset-top, 0px) + 136px);transform:translate(-50%) scale(.6);opacity:0;padding:4px 12px;border-radius:12px;background:var(--qg-plum);border:2px solid #fff;font:800 14px/1 Playful,sans-serif;letter-spacing:1px;transition:transform .25s cubic-bezier(.3,1.6,.5,1),opacity .2s;pointer-events:none;box-shadow:0 3px 0 #5a3290}.qg-combo.show{opacity:1;transform:translate(-50%) scale(1)}.qg-pops{inset:0;z-index:6;pointer-events:none;overflow:hidden}.qg-pop,.qg-pops{position:absolute}.qg-pop{transform:translate(-50%,-50%);white-space:nowrap;opacity:0;font:800 26px/1 Playful,sans-serif;color:#fff;-webkit-text-stroke:1.5px var(--qg-ink);paint-order:stroke fill;text-shadow:0 3px 0 rgba(74,47,42,.5);animation:qg-pop 1.25s cubic-bezier(.2,1.2,.4,1) forwards}.qg-pop.big{font-size:34px;color:#ffe27a}.qg-pop.gold{font-size:20px;color:var(--qg-gold)}.qg-pop.knot{font-size:18px;color:#ffb0b6}.qg-pop.combo{font-size:22px;color:#e9d6ff}@keyframes qg-pop{0%{opacity:0;transform:translate(-50%,-30%) scale(.5)}15%{opacity:1;transform:translate(-50%,-50%) scale(1.12)}25%,70%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-150%) scale(.95)}}.qg-toast{position:absolute;z-index:7;left:50%;top:calc(env(safe-area-inset-top, 0px) + 176px);transform:translate(-50%);opacity:0;pointer-events:none;padding:8px 16px;border-radius:16px;font:800 16px/1.1 Playful,sans-serif;white-space:nowrap;background:rgba(74,47,42,.92);color:#fff;border:2px solid rgba(255,248,238,.9)}.qg-toast[data-kind=good]{background:#2f8f6a}.qg-toast[data-kind=bad]{background:#c8404c}.qg-toast[data-kind=warn]{background:#c27a1c}.qg-toast.show{animation:qg-toast 1.6s ease forwards}@keyframes qg-toast{0%{opacity:0;transform:translate(-50%,12px) scale(.85)}12%,75%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%,-14px)}}.qg-banner{position:absolute;z-index:7;left:50%;top:42%;transform:translate(-50%,-50%) rotate(-4deg) scale(.5);opacity:0;pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 26px 16px;border-radius:22px;background:var(--qg-berry);color:#fff;border:4px dashed #fff3e6;outline:4px solid var(--qg-berry);box-shadow:0 7px 0 #8e2a35,0 16px 40px rgba(0,0,0,.3)}.qg-banner b{font:800 38px/1 Playful,sans-serif;letter-spacing:1px;text-shadow:0 3px 0 #8e2a35;white-space:nowrap}.qg-banner span{font:800 15px/1.2 Playful,sans-serif;text-align:center}.qg-banner.show{animation:qg-banner 2.3s cubic-bezier(.3,1.4,.5,1) forwards}@keyframes qg-banner{0%{opacity:0;transform:translate(-50%,-50%) rotate(-12deg) scale(.4)}14%{opacity:1;transform:translate(-50%,-50%) rotate(-3deg) scale(1.08)}22%,82%{opacity:1;transform:translate(-50%,-50%) rotate(-4deg) scale(1)}to{opacity:0;transform:translate(-50%,-70%) rotate(-4deg) scale(.9)}}.qg-keys{position:absolute;z-index:5;left:0;right:0;bottom:6px;text-align:center;font:600 12px/1 Playful,sans-serif;color:rgba(255,255,255,.85);text-shadow:0 1px 3px rgba(0,0,0,.45);pointer-events:none}@media (max-width:700px),(pointer:coarse){.qg-keys{display:none}}.qg-corner{position:absolute;z-index:8;top:calc(env(safe-area-inset-top, 0px) + 10px);right:12px;display:flex;gap:6px}.qg-app[data-phase=loading] .qg-corner{display:none}.qg-icon-btn{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;cursor:pointer;color:#fff;background:rgba(74,47,42,.82);border:2px solid rgba(255,248,238,.9);box-shadow:0 3px 0 rgba(0,0,0,.25)}.qg-icon-btn .off{display:none}.qg-icon-btn[aria-pressed=true] .off{display:block}.qg-icon-btn[aria-pressed=true] .on{display:none}.qg-app:not([data-phase=play]) .qg-corner{top:calc(env(safe-area-inset-top, 0px) + 14px)}.qg-app .overlay{background:linear-gradient(180deg,rgba(120,60,40,.1),rgba(74,47,42,.5));backdrop-filter:none;-webkit-backdrop-filter:none}.qg-app .qg-loading{background:linear-gradient(#f6d9c0,#e9b892 60%,#c98d56)}.qg-card{position:relative;width:min(400px,100%);margin:auto;padding:22px 22px 20px;border-radius:28px;text-align:center;color:var(--qg-ink);background:var(--qg-paper);border:4px solid #fff;box-shadow:0 8px 0 rgba(74,47,42,.4),0 20px 50px rgba(0,0,0,.3)}.qg-card:before{content:"";position:absolute;inset:7px;border:2px dashed rgba(226,82,95,.45);border-radius:21px;pointer-events:none}.qg-kicker{font:800 12px/1 Playful,sans-serif;letter-spacing:2px;color:#b0545c}.qg-title{margin:8px 0 6px;font:800 58px/.88 Playful,sans-serif;color:var(--qg-gold);letter-spacing:-1px;-webkit-text-stroke:2px var(--qg-ink);paint-order:stroke fill;text-shadow:0 5px 0 var(--qg-berry);transform:rotate(-3deg)}.qg-blurb{margin:10px 0 12px;font:700 15px/1.35 Playful,sans-serif;color:#7a5a52}.qg-rules{list-style:none;margin:0 0 16px;padding:0;display:grid;grid-gap:8px;gap:8px;text-align:left}.qg-rules li{display:grid;grid-template-columns:28px 1fr;grid-column-gap:10px;column-gap:10px;font:600 13px/1.3 Playful,sans-serif;color:#7a5a52}.qg-rules li span{grid-row:span 2;width:28px;height:28px;border-radius:9px;background:var(--qg-felt);color:#fff;display:grid;place-items:center;font:800 16px/1 Playful,sans-serif}.qg-rules li:nth-child(2) span{background:var(--qg-berry)}.qg-rules li:nth-child(3) span{background:var(--qg-blue)}.qg-rules li:nth-child(4) span{background:var(--qg-plum)}.qg-rules li b{font:800 15px/1.1 Playful,sans-serif;color:var(--qg-ink)}.qg-app button.big{position:relative;width:100%;background:linear-gradient(#ff6c78,#d8404d);color:#fff;border-color:#ffd5d9;box-shadow:inset 0 3px 0 rgba(255,255,255,.35),0 5px 0 #8e2a35}.qg-app button.big:active{box-shadow:0 1px 0 #8e2a35}.qg-best{margin:10px 0 0;font:700 13px/1.3 Playful,sans-serif;color:#8a6a62}.qg-link-btn{position:relative;margin-top:10px;background:none;border:0;color:#b0545c;font:800 15px/1 Playful,sans-serif;text-decoration:underline;cursor:pointer;padding:6px 8px}.qg-quilt{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:4px;gap:4px;width:min(250px,80%);margin:12px auto 4px;padding:8px;border-radius:12px;background:#f1e2cd;box-shadow:inset 0 0 0 2px #e6d1b6}.qg-quilt .qg-swatch{width:auto;height:auto;aspect-ratio:1;border-radius:6px;box-shadow:inset 0 0 0 2px rgba(255,255,255,.5),0 2px 0 rgba(74,47,42,.18)}.qg-quilt .qg-swatch:not([data-m]){background:repeating-linear-gradient(45deg,#e7d6c0 0 6px,#ecdcc8 6px 12px);box-shadow:inset 0 0 0 2px rgba(74,47,42,.1)}.qg-quilt .qg-swatch[data-m="0"]{background-size:33.3% 33.3%}.qg-quilt .qg-swatch[data-m="1"]{background-size:33.3% 33.3%,auto}.qg-quilt .qg-swatch[data-m="3"]{background:repeating-linear-gradient(0deg,#2ea076 0 5px,#e8f6ee 5px 10px)}.qg-results .qg-quilt .qg-swatch[data-m]{animation:qg-sew-in .45s cubic-bezier(.3,1.6,.5,1) both}.qg-results .qg-quilt .qg-swatch:nth-child(2){animation-delay:.08s}.qg-results .qg-quilt .qg-swatch:nth-child(3){animation-delay:.16s}.qg-results .qg-quilt .qg-swatch:nth-child(4){animation-delay:.24s}.qg-results .qg-quilt .qg-swatch:nth-child(5){animation-delay:.32s}.qg-results .qg-quilt .qg-swatch:nth-child(6){animation-delay:.4s}.qg-results .qg-quilt .qg-swatch:nth-child(7){animation-delay:.48s}.qg-results .qg-quilt .qg-swatch:nth-child(8){animation-delay:.56s}.qg-results .qg-quilt .qg-swatch:nth-child(9){animation-delay:.64s}.qg-results .qg-quilt .qg-swatch:nth-child(10){animation-delay:.72s}@keyframes qg-sew-in{0%{transform:scale(0) rotate(-20deg)}}.qg-menu-quilt{width:min(170px,60%);gap:3px;padding:6px;margin-top:10px}.qg-menu-quilt[hidden]{display:none}.qg-result-title{position:relative;margin:0;font:800 34px/1 Playful,sans-serif;color:var(--qg-berry)}.qg-results[data-reason=stuck] .qg-result-title{color:var(--qg-plum)}.qg-result-line{margin:6px 0 8px;font:700 14px/1.35 Playful,sans-serif;color:#7a5a52}.qg-result-big{display:flex;align-items:baseline;justify-content:center;gap:8px}.qg-result-big b{font:800 56px/1 Playful,sans-serif;color:var(--qg-ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.qg-result-big span{font:800 18px/1 Playful,sans-serif;color:#b0545c}.qg-result-list{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px 10px;gap:6px 10px;margin:10px 0 14px}.qg-result-list div{display:flex;justify-content:space-between;padding:6px 10px;border-radius:10px;background:#f6e9d8;font:700 14px/1.2 Playful,sans-serif}.qg-result-list dt{color:#8a6a62}.qg-result-list dd{margin:0;color:var(--qg-ink);font-weight:800}.qg-app .share-btn{position:relative;width:100%;color:#b0545c}@media (min-width:900px){.qg-head{padding-left:24px;top:18px}.qg-goal{top:18px}.qg-combo{top:112px}.qg-toast{top:150px}}@media (max-height:700px) and (max-width:700px){.qg-rules li{font-size:12px}.qg-title{font-size:46px}}