.pz-app{--pz-ink: #1f2933;--pz-muted: #5b6770;--pz-line: #d5dbe0;--pz-accent: #1769aa;--pz-accent-ink: #fff;--pz-panel: #fff;--pz-soft: #f3f6f8;--pz-gold: #f2a900;--pz-fill: #2f9e44;max-width: 820px;margin: 0 auto;padding: 12px 16px 24px;color: var(--pz-ink);font: 15px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;box-sizing: border-box}.pz-app *,.pz-app *::before,.pz-app *::after{box-sizing: border-box}.pz-series{margin-bottom: 14px}.pz-series-label{font-size: 13px;color: var(--pz-muted);margin-bottom: 4px}.pz-series-bar{display: flex;gap: 3px}.pz-seg{flex: 1;height: 10px;border-radius: 3px;background: var(--pz-line);overflow: hidden;position: relative}.pz-seg i{display: block;height: 100%;width: 0;background: var(--pz-fill);transition: width .8s ease}.pz-seg-current{outline: 2px solid var(--pz-accent);outline-offset: 1px}.pz-bump .pz-seg-current{animation: pz-bump .8s ease}@keyframes pz-bump{40%{transform: scaleY(1.8)}}.pz-title{font-size: 26px;margin: 0 0 2px}.pz-goal{margin: 0 0 8px;color: var(--pz-muted)}.pz-search{margin: 0 0 4px;color: var(--pz-muted);font-size: 13px}.pz-stats{display: flex;flex-wrap: wrap;gap: 6px 18px;font-variant-numeric: tabular-nums;margin-bottom: 8px}.pz-stat-level{font-weight: 600}.pz-tools{display: flex;flex-wrap: wrap;gap: 6px;margin-bottom: 8px}.pz-btn{min-height: 40px;padding: 6px 14px;border: 1px solid var(--pz-line);border-radius: 8px;background: var(--pz-panel);color: var(--pz-ink);font: inherit;cursor: pointer;text-decoration: none;display: inline-flex;align-items: center;justify-content: center}.pz-btn:hover:not(:disabled){border-color: var(--pz-accent)}.pz-btn:disabled{opacity: .45;cursor: default}.pz-btn:focus-visible,.pz-level-btn:focus-visible{outline: 3px solid var(--pz-accent);outline-offset: 2px}.pz-btn-primary{background: var(--pz-accent);border-color: var(--pz-accent);color: var(--pz-accent-ink)}.pz-btn-contrast{margin-left: auto;min-width: 40px;padding: 6px 10px;font-size: 18px}.pz-btn-contrast[aria-pressed="true"]{background: var(--pz-ink);color: #fff}.pz-tut{min-height: 1.45em;margin: 4px 0 8px;color: var(--pz-muted)}.pz-tut:empty{display: none}.pz-tut-lesson{background: #fff7d6;border: 1px solid #f0d77a;border-radius: 8px;padding: 8px 12px;color: var(--pz-ink);font-weight: 500}.pz-msg{min-height: 1.45em;margin: 10px 0 4px}.pz-keys{font-size: 12px;color: var(--pz-muted);margin: 6px 0 0}@media (hover: none){.pz-keys{display: none}}.pz-dialog{position: fixed;inset: 0;background: rgba(15,25,35,.45);display: flex;align-items: center;justify-content: center;padding: 16px;z-index: 50}.pz-dialog[hidden],.pz-btn[hidden],.pz-stat[hidden]{display: none}.pz-dialog-box{background: var(--pz-panel);border-radius: 14px;padding: 20px 22px;max-width: 420px;width: 100%;box-shadow: 0 12px 40px rgba(0,0,0,.25);text-align: center}.pz-card-text{text-align: left;margin: 0 0 10px}.pz-dialog-box h2{margin: 0 0 10px;font-size: 22px}.pz-dialog-buttons{display: flex;flex-wrap: wrap;gap: 8px;justify-content: center;margin-top: 14px}.pz-stars{font-size: 40px;letter-spacing: 6px;line-height: 1}.pz-star{color: var(--pz-line);display: inline-block}.pz-star-on{color: var(--pz-gold);animation: pz-star-pop .5s ease backwards}.pz-star-on:nth-child(2){animation-delay: .15s}.pz-star-on:nth-child(3){animation-delay: .3s}@keyframes pz-star-pop{0%{transform: scale(0)}70%{transform: scale(1.3)}}.pz-criteria{list-style: none;padding: 0;margin: 12px 0 6px}.pz-criteria li{margin: 2px 0}.pz-ok{color: #2b7a3a}.pz-miss{color: var(--pz-muted)}.pz-result{color: var(--pz-muted);margin: 6px 0 0;font-variant-numeric: tabular-nums}.pz-level-grid{display: grid;grid-template-columns: repeat(4,1fr);gap: 8px}.pz-level-btn{min-height: 58px;border: 1px solid var(--pz-line);border-radius: 10px;background: var(--pz-soft);font: inherit;color: var(--pz-ink);cursor: pointer;display: flex;flex-direction: column;align-items: center;justify-content: center}.pz-level-btn:disabled{opacity: .4;cursor: default}.pz-level-num{font-size: 18px;font-weight: 600}.pz-level-stars{color: var(--pz-gold);font-size: 13px;letter-spacing: 1px}.pz-level-current{border: 2px solid var(--pz-accent)}.pz-level-solved{background: #eaf6ec}.pz-menu{list-style: none;padding: 0;margin: 12px 0;display: grid;grid-template-columns: repeat(auto-fill,minmax(170px,1fr));gap: 10px}.pz-menu li{border: 1px solid var(--pz-line);border-radius: 10px;padding: 10px 12px;background: var(--pz-panel)}.pz-menu a{font-weight: 600;color: var(--pz-accent);text-decoration: none}.pz-menu .pz-num{color: var(--pz-muted);font-size: 12px;display: block}.pz-menu .pz-status{font-size: 13px;color: var(--pz-muted);display: block}.pz-menu .pz-soon{opacity: .55}.pz-gallery h2{font-size: 18px;margin: 18px 0 8px}.pz-gallery-grid{display: grid;grid-template-columns: repeat(auto-fill,minmax(100px,1fr));gap: 10px}.pz-gallery-grid a{display: flex;flex-direction: column;align-items: center;gap: 6px;padding: 10px 6px 8px;border: 1px solid var(--pz-line);border-radius: 10px;background: var(--pz-panel);color: var(--pz-ink);text-decoration: none;font-size: 13px;text-align: center}.pz-gallery-grid a:hover{border-color: var(--pz-accent)}.pz-gallery-grid img{width: 72px;height: 72px;object-fit: contain;image-rendering: pixelated}.pz-hero{display: flex;align-items: center;gap: 14px;margin: 4px 0 6px}.pz-cat{width: 132px;height: 132px;flex: none}.pz-cat-eyes{transform-origin: 100px 74px;animation: pz-blink 5s infinite}@keyframes pz-blink{0%,94%,100%{transform: scaleY(1)}97%{transform: scaleY(.1)}}.pz-hero-words{min-width: 0}.pz-bubble{position: relative;margin: 8px 0 0;padding: 10px 14px;border: 2px solid #f4a340;border-radius: 14px;background: #fff7ec;font-size: 17px}.pz-bubble::before{content: "";position: absolute;left: -11px;top: 16px;border: 10px solid transparent;border-left: 0;border-right-color: #f4a340}.pz-back{display: inline-block;margin-bottom: 8px;color: var(--pz-accent);font-weight: 600;text-decoration: none}.pz-back:hover{text-decoration: underline}@media (max-width: 420px){.pz-cat{width: 96px;height: 96px}.pz-bubble{font-size: 15px}}@media (prefers-reduced-motion: reduce){.pz-cat-eyes{animation: none}}.pz-app.pz-hc{--pz-ink: #000;--pz-muted: #222;--pz-line: #555;--pz-accent: #0033aa}@media (prefers-contrast: more){.pz-app{--pz-ink: #000;--pz-muted: #222;--pz-line: #555;--pz-accent: #0033aa}}@media (prefers-reduced-motion: reduce){.pz-app *,.pz-app *::before{animation-duration: .01ms !important;transition-duration: .01ms !important}}.tj-wrap{--tj-wall: 8px;--tj-wall-color: #495057;--tj-asphalt: #9aa3ab;--tj-line: rgba(255,255,255,.42);--tj-road: rgba(178,242,187,.85);--tj-focus: #f08c00;--tj-gold: #f2a900}.tj-stage{display: flex;justify-content: center;padding: 4px 0 6px;overflow-x: clip}.tj-lot{position: relative;padding: var(--tj-wall);margin-right: calc(var(--tj-cell) * .72);background: var(--tj-wall-color);border-radius: 12px;box-shadow: 0 3px 10px rgba(0,0,0,.18)}.tj-floor{position: relative;width: calc(var(--tj-cell) * 6);height: calc(var(--tj-cell) * 6);border-radius: 4px;background-color: var(--tj-asphalt);background-image: linear-gradient(var(--tj-line) 1px,transparent 1px),linear-gradient(90deg,var(--tj-line) 1px,transparent 1px);background-size: var(--tj-cell) var(--tj-cell);background-position: -1px -1px;touch-action: manipulation;user-select: none;-webkit-user-select: none;-webkit-tap-highlight-color: transparent}.tj-gap{position: absolute;right: 0;top: calc(var(--tj-wall) + var(--tj-cell) * 2);width: var(--tj-wall);height: var(--tj-cell);background: var(--tj-asphalt);transition: background .3s}.tj-exit{position: absolute;left: calc(100% + 2px);top: calc(var(--tj-wall) + var(--tj-cell) * 2);width: calc(var(--tj-cell) * .66);height: var(--tj-cell);display: flex;align-items: center;justify-content: center;pointer-events: none}.tj-exit svg{width: 100%;height: auto;fill: var(--tj-gold);stroke: #7a5b00;stroke-width: .8}.tj-clear .tj-exit svg{fill: #2f9e44;stroke: #1b5e20;animation: tj-go .9s ease-in-out infinite alternate}@keyframes tj-go{to{transform: translateX(18%)}}.tj-road{position: absolute;pointer-events: none;background: transparent;transition: background .3s,box-shadow .3s}.tj-clear .tj-road,.tj-clear .tj-gap{background: var(--tj-road)}.tj-clear .tj-road{box-shadow: 0 0 12px 2px rgba(64,192,87,.55)}.tj-track{position: absolute;pointer-events: none;border-radius: calc(var(--tj-cell) * .22);background: rgba(255,255,255,.38);box-shadow: inset 0 0 0 2px rgba(255,255,255,.6);opacity: 0;transition: opacity .12s}.tj-track.tj-on{opacity: 1}.tj-ghost{position: absolute;display: none;pointer-events: none;z-index: 1;border-radius: calc(var(--tj-cell) * .22);border: 3px dashed var(--tj-color);background: rgba(255,255,255,.45);box-shadow: 0 0 0 2px rgba(0,0,0,.35);animation: tj-pulse 1s ease-in-out infinite alternate}.tj-ghost.tj-on{display: block}@keyframes tj-pulse{to{background: rgba(255,255,255,.15)}}.tj-veh{position: absolute;left: 0;top: 0;padding: 3px;margin: 0;border: 0;background: transparent;cursor: grab;z-index: 2;touch-action: none;-webkit-tap-highlight-color: transparent;outline: none;font: inherit}.tj-veh:active{cursor: grabbing}.tj-body{position: relative;display: block;width: 100%;height: 100%;border-radius: calc(var(--tj-cell) * .22);background: var(--tj-color);border: 2px solid rgba(0,0,0,.38);box-shadow: inset 0 -3px 0 rgba(0,0,0,.22),0 2px 3px rgba(0,0,0,.3)}.tj-truck .tj-body{border-color: rgba(0,0,0,.6);box-shadow: inset 0 -4px 0 rgba(0,0,0,.3),0 2px 4px rgba(0,0,0,.35)}.tj-glass{position: absolute;background: rgba(25,35,55,.45);border-radius: 3px}.tj-h .tj-glass{right: 9%;top: 16%;bottom: 16%;width: 9%}.tj-v .tj-glass{bottom: 9%;left: 16%;right: 16%;height: 9%}.tj-truck.tj-h .tj-glass{right: 6%;width: 6%}.tj-truck.tj-v .tj-glass{bottom: 6%;height: 6%}.tj-roof{position: absolute;display: flex;align-items: center;justify-content: center;border-radius: calc(var(--tj-cell) * .14);background: rgba(255,255,255,.3)}.tj-h .tj-roof{left: 12%;top: 18%;bottom: 18%;right: 26%}.tj-v .tj-roof{top: 12%;left: 18%;right: 18%;bottom: 26%}.tj-truck .tj-roof{background: rgba(255,255,255,.18)}.tj-letter{font: 800 calc(var(--tj-cell) * .42) / 1 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color: #1f2933}.tj-truck .tj-letter,.tj-red .tj-letter{color: #fff;text-shadow: 0 1px 2px rgba(0,0,0,.5)}.tj-red .tj-roof{right: 52%}.tj-red .tj-glass{right: 5%;width: 6%}.tj-cali{position: absolute;right: 12%;top: 50%;width: calc(var(--tj-cell) * .62);height: calc(var(--tj-cell) * .62);transform: translateY(-50%);pointer-events: none;overflow: visible}.tj-paw{transform-box: fill-box;transform-origin: 50% 100%;transform: rotate(-20deg);opacity: 0}.tj-wave .tj-paw{opacity: 1;animation: tj-wave .3s ease-in-out infinite alternate}@keyframes tj-wave{from{transform: rotate(-30deg)}to{transform: rotate(25deg)}}.tj-out{opacity: 0}.tj-veh:focus-visible .tj-body{outline: 3px solid var(--tj-focus);outline-offset: 2px}.tj-sel .tj-body{box-shadow: 0 0 0 3px var(--tj-focus),0 2px 6px rgba(0,0,0,.35)}.tj-hinted .tj-body{box-shadow: 0 0 0 4px var(--tj-gold),0 0 14px 4px rgba(242,169,0,.7);animation: tj-glow 1s ease-in-out 3}@keyframes tj-glow{50%{box-shadow: 0 0 0 4px var(--tj-gold),0 0 4px 1px rgba(242,169,0,.3)}}.tj-bump-x{animation: tj-bump-x .22s ease-out}.tj-bump-y{animation: tj-bump-y .22s ease-out}@keyframes tj-bump-x{40%{transform: translateX(var(--tj-bump))}}@keyframes tj-bump-y{40%{transform: translateY(var(--tj-bump))}}.tj-hand{position: absolute;display: none;z-index: 5;width: calc(var(--tj-cell) * .62);height: calc(var(--tj-cell) * .62);pointer-events: none;fill: #f7c59f;stroke: #7a4a2a;stroke-width: 1.2;animation: tj-hand 2s ease-in-out infinite}.tj-hand svg{width: 100%;height: 100%;display: block}@keyframes tj-hand{0%,12%{transform: translate(0,0);opacity: 0}22%{opacity: 1}72%{transform: translate(var(--tj-dx),var(--tj-dy));opacity: 1}90%,100%{transform: translate(var(--tj-dx),var(--tj-dy));opacity: 0}}@media (max-width: 420px){.tj-stage{margin: 0 -12px}.tj-wrap{--tj-wall: 6px}}.pz-hc .tj-wrap{--tj-wall-color: #000;--tj-asphalt: #fff;--tj-line: rgba(0,0,0,.45);--tj-road: #b2f2bb}.pz-hc .tj-body{border: 3px solid #000}.pz-hc .tj-letter{color: #000;text-shadow: 0 0 3px #fff,0 0 3px #fff}.pz-hc .tj-truck .tj-letter,.pz-hc .tj-red .tj-letter{color: #fff;text-shadow: 0 0 3px #000,0 0 3px #000}@media (prefers-contrast: more){.tj-wrap{--tj-wall-color: #000;--tj-asphalt: #fff;--tj-line: rgba(0,0,0,.45);--tj-road: #b2f2bb}.tj-body{border: 3px solid #000}}