:root{--ink: #2a1f2d;--paper: #fff8f0;--cardboard: #c9a86c;--cardboard-dark: #8b6b3e;--accent: #ff6b9d;--accent-dim: #e84d82;--sky: #87ceeb;--shadow: rgba(42, 31, 45, .18);--ring: rgba(255, 255, 255, .85);--gem-drop: drop-shadow(1px 0 0 rgba(42, 31, 45, .42)) drop-shadow(-1px 0 0 rgba(42, 31, 45, .42)) drop-shadow(0 1px 0 rgba(42, 31, 45, .42)) drop-shadow(0 -1px 0 rgba(42, 31, 45, .42)) drop-shadow(0 1px 0 rgba(255, 255, 255, .98)) drop-shadow(0 4px 10px rgba(42, 31, 45, .48)) drop-shadow(0 14px 22px rgba(42, 31, 45, .22));--gem-paint: contrast(1.16) saturate(1.14) brightness(1.06)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Nunito,system-ui,sans-serif;background:radial-gradient(ellipse 120% 80% at 50% 0%,#f0e6ff,#b8e0ff 45%,#7ec8e3) fixed;color:var(--ink)}#app{min-height:100vh;display:flex;align-items:stretch;justify-content:center;padding:clamp(12px,3vw,28px)}.shell{display:flex;flex-direction:row;align-items:stretch;gap:clamp(16px,3vw,32px);width:min(1320px,100%);min-height:min(720px,100vh - 24px)}.hud{flex:0 0 clamp(160px,22vw,200px);display:flex;flex-direction:column;gap:16px;padding:20px 18px;background:var(--paper);border-radius:20px;box-shadow:0 12px 40px var(--shadow);border:3px solid #fff}.brand{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:4px}.brand__logo{display:block;width:100%;max-width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 2px 2px var(--shadow))}.brand__sub{margin:0;font-size:.82rem;opacity:.75;font-weight:600}.level-pill{margin:4px 0 0;align-self:flex-start;font:inherit;font-size:.88rem;font-weight:800;color:var(--accent);letter-spacing:.02em;padding:6px 12px 7px;border-radius:999px;border:2px solid rgba(255,107,157,.45);background:linear-gradient(180deg,#fff,#fff5f9);box-shadow:0 4px #c73d6d33;cursor:pointer;transition:transform .08s ease,box-shadow .08s ease,border-color .12s ease}.level-pill--prestige{font-size:.75rem;padding:5px 10px 6px}.level-pill:hover{border-color:var(--accent);transform:translateY(-1px)}.level-pill:active{transform:translateY(2px);box-shadow:0 1px #c73d6d33}.level-pill:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.route-map-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:110;display:grid;place-items:center;padding:min(20px,4vw);opacity:1;visibility:visible;pointer-events:auto;transition:opacity .32s ease,visibility .32s ease}.route-map-overlay--hidden{opacity:0;visibility:hidden;pointer-events:none}.route-map-overlay__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;padding:0;border:none;background:#1e16286b;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer}.route-map-overlay__panel{position:relative;z-index:1;width:min(1400px,calc(100vw - 24px));height:min(98vh,calc(100vh - 16px));max-height:none;overflow:auto;padding:22px;border-radius:22px;background:var(--paper);border:4px solid #fff;box-shadow:0 28px 60px #0000003d;text-align:left}.route-map-overlay__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.route-map-overlay__title{margin:0;font-size:1.45rem;font-weight:800;line-height:1.2}.route-map-overlay__x{flex:0 0 auto;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;cursor:pointer;width:40px;height:40px;border-radius:12px;font-size:1.4rem;line-height:1;background:#2a1f2d14;color:var(--ink);transition:background .12s ease}.route-map-overlay__x:hover{background:#2a1f2d1f}.route-map-overlay__lede{margin:0 0 14px;font-size:.98rem;line-height:1.45;font-weight:600;opacity:.8}.route-map-svg-wrap{border-radius:16px;overflow:hidden;border:3px solid rgba(80,50,20,.12);background:#fff;box-shadow:inset 0 0 0 1px #fffc;max-height:none}.route-map__svg{display:block;width:100%;height:max(520px,calc(100vh - 330px));vertical-align:top}.route-map__decor{fill:#3c7d4038;stroke:#2a1f2d14;stroke-width:2;animation:route-decor-sway 4.5s ease-in-out infinite}.route-map__road{transition:stroke .25s ease}@keyframes route-decor-sway{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.route-map__stop-ring{animation:route-stop-pulse 1.9s ease-in-out infinite}@keyframes route-stop-pulse{0%,to{opacity:1;stroke-opacity:.85}50%{opacity:.55;stroke-opacity:.35}}.route-map-overlay__legend{margin:12px 0 0;padding:0 0 0 1.1em;font-size:.86rem;font-weight:600;line-height:1.5;opacity:.78}.route-map-overlay__details{margin-top:12px;border-radius:14px;padding:12px;background:#7c3aed14;border:1px solid rgba(124,58,237,.2);display:grid;gap:6px}.route-map-overlay__details-title{margin:0;font-size:1.16rem;font-weight:800}.route-map-overlay__details-meta{margin:0;font-size:.95rem;font-weight:700;opacity:.82}.route-map-overlay__details-body{margin:0;font-size:1rem;line-height:1.35}.route-map-overlay__legend li{margin:3px 0}.route-leg{display:inline-block;width:1em;text-align:center;margin-right:2px}.route-leg--here{width:.55rem;height:.55rem;border-radius:50%;background:#ffb703;vertical-align:.1em}.route-leg--next{width:.45rem;height:.45rem;border-radius:50%;background:#b0bec5;vertical-align:.1em}.hud__block{display:flex;flex-direction:column;gap:6px}.hud__label{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;opacity:.55}.hud__block--prestige{margin-top:2px}.hud__prestige-rank{margin:0;font-size:.9rem;font-weight:800;color:#5a3d8a;line-height:1.3}.hud__prestige-perks{margin:6px 0 0;padding:0 0 0 1.1em;font-size:.68rem;font-weight:600;line-height:1.4;opacity:.82;text-align:left}.hud__prestige-perks li{margin:2px 0}.hud__block--power-ups{margin-top:4px}.power-ups{display:flex;flex-direction:column;gap:8px}.power-up-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;font:inherit;font-weight:800;font-size:.75rem;text-align:left;padding:10px 12px;border-radius:12px;border:2px solid rgba(90,61,138,.28);background:linear-gradient(165deg,#fff,#f4f0ff);color:var(--ink);box-shadow:0 3px #5a3d8a33;transition:transform .08s ease,box-shadow .08s ease,border-color .12s ease}.power-up-btn:hover:not(:disabled){transform:translateY(-1px);border-color:#ff6b9d73}.power-up-btn:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #5a3d8a33}.power-up-btn:disabled{opacity:.5;cursor:not-allowed}.power-up-btn[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 2px #ff6b9d59,0 4px #c73d6d47}.power-ups__hint{margin:4px 0 0;font-size:.66rem;line-height:1.35;font-weight:600;opacity:.7}.progress{width:100%;height:180px;border-radius:14px;background:linear-gradient(180deg,#e8e0d5,#f5f0e8);border:3px solid #dcd3c8;position:relative;overflow:hidden}.progress__fill{position:absolute;left:0;right:0;bottom:0;height:0%;background:linear-gradient(180deg,#7dd3a0,#3ecf8e);border-radius:10px 10px 4px 4px;transition:height .35s cubic-bezier(.34,1.56,.64,1)}.hud__score{font-weight:800;font-size:.95rem;text-align:center}.timer{font-variant-numeric:tabular-nums;font-size:2rem;font-weight:800;color:var(--accent-dim);text-align:center;text-shadow:0 2px 0 #fff}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;cursor:pointer;font:inherit;font-weight:800;padding:12px 14px;border-radius:14px;background:linear-gradient(180deg,#ffd8e8,var(--accent));color:#fff;box-shadow:0 6px #c73d6d,0 10px 18px var(--shadow);transition:transform .08s ease,box-shadow .08s ease}.btn:active{transform:translateY(4px);box-shadow:0 2px #c73d6d,0 4px 10px var(--shadow)}.btn--primary{width:100%}.btn--secondary{background:linear-gradient(180deg,#faf6ff,#ebe4f5);color:var(--ink);box-shadow:0 5px #b9afc9,0 8px 14px var(--shadow)}.btn--secondary:active{box-shadow:0 2px #b9afc9,0 4px 10px var(--shadow)}.overlay__actions{display:flex;flex-direction:column;gap:10px}.overlay__actions .btn{width:100%}.motivation-loop{margin:auto 0 0;padding-left:1.1em;margin-block:auto 0;font-size:.68rem;line-height:1.4;font-weight:600;letter-spacing:.01em;opacity:.6;list-style-type:disc}.motivation-loop li{margin:3px 0;padding-left:.1em}.motivation-loop__aside{font-weight:600;opacity:.7;font-size:.95em}.hint{margin:auto 0 0;font-size:.72rem;line-height:1.35;opacity:.55;font-weight:600}.hint--controls{margin-top:8px;margin-bottom:0;font-size:.64rem;line-height:1.3;opacity:.45}.hint strong{font-weight:800;opacity:.75}.stage{flex:1;display:flex;align-items:center;justify-content:center;min-width:0}.parcel-scene{display:flex;justify-content:center;align-items:flex-start;width:100%}.parcel-stack{position:relative;display:inline-block;max-width:100%}.box{position:relative;padding:0;overflow:visible;background:linear-gradient(145deg,#efe4cf,#dcc59a 55%,#c9a86c);border-radius:18px;border:5px solid var(--cardboard-dark);box-shadow:0 24px 48px var(--shadow),inset 0 2px #ffffff59,inset 0 -18px 36px #5032141f;z-index:2}.box__rim{position:absolute;top:12px;right:12px;bottom:12px;left:12px;border-radius:12px;border:2px dashed rgba(80,50,20,.25);pointer-events:none;z-index:0}.box__cavity{position:relative;padding:14px 14px 26px;background:radial-gradient(ellipse 130% 85% at 50% 110%,rgba(55,35,18,.18),transparent 52%),linear-gradient(180deg,rgba(255,255,255,.14),transparent 38%);border-radius:14px}.box__opening-edge{height:8px;margin:2px 10px 12px;border-radius:10px 10px 4px 4px;background:linear-gradient(180deg,rgba(95,72,48,.38) 0%,rgba(212,184,138,.65) 55%,transparent 100%);box-shadow:inset 0 2px 3px #ffffff59,0 3px 6px #37261626}.box__playfield{position:relative;width:fit-content;max-width:100%;margin-inline:auto;z-index:1}.box__lids{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;overflow:hidden;pointer-events:none;border-radius:14px}.box-lid{position:absolute;top:0;width:50%;height:100%;transition:transform .8s cubic-bezier(.33,.86,.24,1);will-change:transform}.box-lid--left{left:0;transform:translate(-101%);background:linear-gradient(105deg,#eddab8,#dcc59a 55%,#cfa972);border:3px solid var(--cardboard-dark);border-right-width:2px;border-radius:12px 0 0 12px;box-shadow:inset 6px 4px 14px #ffffff59,inset -6px -10px 18px #3c280f26}.box-lid--right{right:0;transform:translate(101%);background:linear-gradient(255deg,#eddab8,#dcc59a 55%,#cfa972);border:3px solid var(--cardboard-dark);border-left-width:2px;border-radius:0 12px 12px 0;box-shadow:inset -6px 4px 14px #ffffff59,inset 6px -10px 18px #3c280f26}.parcel-packed .box-lid--left,.parcel-packed .box-lid--right{transform:translate(0)}@keyframes parcel-bow-wrap{0%{opacity:0;transform:scale(.35) translateY(-38px)}58%{opacity:1;transform:scale(1.05) translateY(5px)}to{opacity:1;transform:scale(1) translateY(0)}}.parcel-bow{position:absolute;left:50%;bottom:calc(100% - 18px);width:118px;height:76px;margin-left:-59px;z-index:25;opacity:0;transform:scale(.45) translateY(-12px);pointer-events:none}.parcel-packed--bow .parcel-bow{animation:parcel-bow-wrap .62s cubic-bezier(.36,.82,.22,1) forwards}.parcel-bow__ring{position:absolute;top:22px;width:52px;height:44px;border-radius:60% 55% 52% 58%;background:radial-gradient(ellipse at 35% 35%,rgba(255,255,255,.55),transparent 55%),linear-gradient(165deg,#ff9ec9,#ff6b9d 55%,#e84d82);border:3px solid #c73d6d;box-shadow:0 8px 14px #781e3c47}.parcel-bow__ring--l{left:4px;transform:rotate(-18deg)}.parcel-bow__ring--r{right:4px;transform:rotate(18deg)}.parcel-bow__knot{position:absolute;left:50%;top:28px;width:44px;height:34px;margin-left:-22px;border-radius:45%;background:linear-gradient(185deg,#ffb8da,#ff6b9d 70%);border:3px solid #c73d6d;box-shadow:inset 0 4px 10px #ffffff8c,0 6px 12px #b4285a59}.shipping-tag{position:absolute;right:10px;bottom:6px;width:min(208px,52vw);padding:10px 12px 12px;background:linear-gradient(178deg,#fffefb,#f3ebe3);border:2px dashed #5c4a42;border-radius:8px;font-size:.74rem;line-height:1.35;box-shadow:4px 8px 18px #28190f38;transform:rotate(-7deg) translate(12px,18px);opacity:0;transition:opacity .5s ease,transform .58s cubic-bezier(.32,1.32,.36,1);z-index:18}.parcel-packed--tag .shipping-tag{opacity:1;transform:rotate(-7deg) translate(0)}.shipping-tag__stamp{font-size:.62rem;font-weight:800;letter-spacing:.14em;color:#7a655a;margin:0 0 6px}.shipping-tag__heading{margin:0 0 4px;font-size:.62rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#9a8477}.shipping-tag__name{margin:0 0 4px;font-weight:800;font-size:.95rem;color:var(--ink)}.shipping-tag__addr{margin:0;font-weight:600;color:#4a3d38}.shipping-tag__addr--muted{font-size:.68rem;opacity:.82}.box__floor-shadow{position:absolute;left:12%;right:12%;bottom:14px;height:14px;background:radial-gradient(ellipse 80% 100% at 50% 50%,rgba(0,0,0,.14),transparent 70%);pointer-events:none}@media(prefers-reduced-motion:reduce){.box-lid{transition-duration:.14s}.parcel-packed--bow .parcel-bow{animation:none;opacity:1;transform:scale(1) translateY(0)}.shipping-tag{transition-duration:.15s}.overlay,.overlay__card{transition-duration:.12s}}.grid{position:relative;display:grid;gap:6px;padding:10px;width:min(580px,calc(100vw - 280px));max-width:100%;margin-inline:auto;box-sizing:border-box;background:radial-gradient(ellipse 120% 85% at 50% 35%,rgba(255,252,246,.35),transparent 52%),linear-gradient(185deg,#cfc4b4,#b9aa96 48%,#a89882);border-radius:14px;border:3px solid rgba(55,38,28,.42)}.cell{aspect-ratio:1;border-radius:11px;border:none;cursor:pointer;display:grid;place-items:center;padding:6px;background:radial-gradient(circle at 38% 28%,rgba(255,255,255,.72) 0%,transparent 62%),linear-gradient(165deg,var(--tile-from, hsl(255 14% 95%)),var(--tile-to, hsl(255 12% 84%)));box-shadow:inset 0 0 0 2px #fffffffa,inset 0 0 0 3px #2a1f2d1a,inset 0 -5px 14px #2a1f2d17,0 6px #5f69826b,0 12px 18px #2a1f2d38,inset 0 3px 12px #ffffffeb;transition:transform .12s ease,box-shadow .12s ease}.cell:hover{transform:translateY(-2px)}.cell:active{transform:translateY(3px)}.cell:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.cell__face{width:100%;height:100%;display:grid;place-items:center;pointer-events:none}.cell__img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;filter:var(--gem-drop) var(--gem-paint)}.cell__emoji{font-size:clamp(1.35rem,4.6vw,2.05rem);line-height:1;filter:var(--gem-drop) var(--gem-paint)}.cell--glow{background:radial-gradient(circle at 35% 25%,#ffffffe6,#fff0 60%),linear-gradient(165deg,#fff3a8,#ff9fdb);box-shadow:0 0 0 2px #ffffffe6,0 0 20px #ffc536cc,0 0 28px #ff6b9d6b}.cell__glow{font-size:clamp(1.35rem,4.2vw,2rem);font-weight:800;filter:drop-shadow(0 0 6px rgba(255,232,124,.95));animation:glow-sticker-pulse 1s ease-in-out infinite}@keyframes glow-sticker-pulse{0%,to{transform:scale(1);opacity:.9}50%{transform:scale(1.15);opacity:1}}.cell--selected{box-shadow:0 0 0 4px var(--ring),0 6px #ff6b9d8c,0 14px 22px #2a1f2d42,inset 0 0 0 2px #fffffffa,inset 0 0 0 3px #2a1f2d1f,inset 0 -5px 14px #2a1f2d17,inset 0 3px 12px #fffffff0;transform:translateY(-3px) scale(1.03)}@keyframes sticker-explode{0%{transform:scale(1) rotate(0);filter:brightness(1) saturate(1);opacity:1}30%{transform:scale(1.28) rotate(6deg);filter:brightness(1.45) saturate(1.25)}to{transform:scale(0) rotate(-10deg);filter:brightness(2) saturate(1.5) blur(2px);opacity:0}}@keyframes burst-flash{0%{transform:scale(.35);opacity:.95}to{transform:scale(2.1);opacity:0}}.cell--exploding{z-index:20;position:relative;pointer-events:none;animation:sticker-explode .42s cubic-bezier(.34,1.4,.64,1) forwards}.cell--exploding:after{content:"";position:absolute;top:-30%;right:-30%;bottom:-30%;left:-30%;border-radius:50%;pointer-events:none;background:radial-gradient(circle at 40% 40%,rgba(255,248,200,.95) 0%,rgba(255,150,100,.6) 30%,rgba(255,80,140,.2) 55%,transparent 70%);animation:burst-flash .42s ease-out forwards}@media(prefers-reduced-motion:reduce){.cell--exploding{animation:sticker-explode .12s ease-out forwards}.cell--exploding:after{animation:burst-flash .12s ease-out forwards}}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1e162873;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;place-items:center;padding:24px;z-index:100;opacity:1;visibility:visible;pointer-events:auto;transition:opacity .48s cubic-bezier(.4,0,.2,1),visibility .48s}.overlay.overlay--hidden{opacity:0;visibility:hidden;pointer-events:none}.overlay__card{max-width:420px;width:100%;padding:26px 24px;border-radius:22px;background:var(--paper);border:4px solid #fff;box-shadow:0 28px 60px #00000038;text-align:center;transform:translateY(0) scale(1);opacity:1;transition:transform .5s cubic-bezier(.34,1.32,.32,1),opacity .42s ease}.overlay.overlay--hidden .overlay__card{transform:translateY(18px) scale(.94);opacity:0}.overlay__title{margin:0 0 10px;font-size:1.45rem}.overlay__kicker{margin:0 0 6px;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);opacity:.9}.overlay__review{margin:0 0 14px;padding:14px 16px;font-size:1.05rem;font-style:italic;font-weight:700;line-height:1.45;color:var(--ink);text-align:center;background:linear-gradient(180deg,#ff6b9d1a,#fff8f099);border-radius:14px;border-left:4px solid var(--accent)}.overlay__review[data-review-tier=fast]{border-left-color:#2d9d6a;color:#1a5c3d}.overlay__review[data-review-tier=medium]{border-left-color:#c9a86c;color:var(--ink)}.overlay__review[data-review-tier=slow]{border-left-color:#b07070;color:#5c3a3a}.overlay__body{margin:0 0 18px;font-size:.98rem;line-height:1.45;opacity:.85}.tutorial-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:130;display:grid;place-items:center;padding:16px;opacity:1;visibility:visible;pointer-events:auto;transition:opacity .25s ease,visibility .25s ease}.tutorial-overlay--hidden{opacity:0;visibility:hidden;pointer-events:none}.tutorial-overlay__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:none;background:#1912238c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.tutorial-overlay__panel{position:relative;z-index:1;width:min(920px,100%);max-height:92vh;overflow:auto;border-radius:18px;border:4px solid #fff;background:#fffaf5;box-shadow:0 22px 54px #00000047;padding:18px}.tutorial-overlay__head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}.tutorial-overlay__title{margin:0;font-size:1.5rem;font-weight:800;color:#7b2ed8}.tutorial-overlay__subtitle{margin:0 0 10px;font-size:.92rem;font-weight:700;color:#6d5a82}.tutorial-overlay__x{width:40px;height:40px;border:none;border-radius:10px;font-size:1.4rem;background:#2a1f2d14;cursor:pointer}.tutorial-overlay__body{display:grid;gap:12px}.tutorial-overlay__body h3,.tutorial-overlay__body h4,.tutorial-overlay__body p{margin:0}.tutorial-overlay__body h3{font-size:1.08rem;color:#5e299f}.tutorial-overlay__body h4{font-size:.92rem}.tutorial-overlay__body p,.tutorial-overlay__body li{font-size:.9rem;line-height:1.45}.tutorial-overlay__intro{padding:10px 12px;border-radius:12px;background:linear-gradient(180deg,#9757ff24,#ffb9df29);border:1px solid rgba(151,87,255,.25)}.tutorial-card{padding:10px 12px;border-radius:12px;background:#fff;border:1px solid rgba(117,55,187,.18);box-shadow:0 4px 10px #2c184014}.tutorial-card--goal{background:linear-gradient(180deg,#ffdd9147,#ffc2e742);border-color:#ffb74673}.tutorial-stars li{font-weight:700}.tutorial-overlay__actions{margin-top:12px}@media(max-width:840px){.shell{flex-direction:column}.hud{flex-direction:row;flex-wrap:wrap;align-items:flex-start;flex:none}.brand{flex:1 1 100%}.progress{height:120px;width:52px}.hud__block{flex:1;min-width:120px}.motivation-loop,.hint.hint--controls{flex:1 1 100%;margin:8px 0 0}.grid{width:min(560px,92vw);gap:6px;padding:10px}}
