.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-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]{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-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}}.pz-app{min-height: 780px}.pz-app{--nf-ink: #1d3557;--nf-paper: #fff;--nf-bad: #e03131;--nf-mark: #f08c00;--nf-sel: #1769aa;--nf-ok: #2f9e44;--nf-back: #cfd8e3}.nf-wrap{position: relative;padding: 4px 0}.nf-question{margin: 4px 0 10px;text-align: center;font-size: 17px;font-weight: 600}.nf-sq-plain{fill: #d0ebff;stroke: var(--nf-ink);stroke-width: 3}.nf-sq-letter{fill: #fffaf0;stroke: var(--nf-ink);stroke-width: 3}.nf-sq-missing{fill: #f1f3f5;stroke: #868e96;stroke-width: 3;stroke-dasharray: 10 7}.nf-edge{fill: none;stroke: var(--nf-ink);stroke-width: 3}.nf-pat path{fill: rgba(0,0,0,.32)}.nf-pat .nf-pat-line{fill: none;stroke: rgba(0,0,0,.32);stroke-linecap: round;stroke-linejoin: round}.nf-letter{font: 700 74px/1 Arial,Helvetica,sans-serif;text-anchor: middle;fill: var(--nf-ink)}.nf-qmark{font: 700 64px/1 Arial,Helvetica,sans-serif;text-anchor: middle;fill: #868e96}.nf-mark-ring{fill: none;stroke: var(--nf-mark);stroke-width: 9;opacity: 0}.nf-marked .nf-mark-ring{opacity: 1;animation: nf-mark 1.2s ease-in-out infinite}@keyframes nf-mark{50%{opacity: .35}}.nf-stage{display: flex;flex-wrap: wrap;justify-content: center;align-items: center;gap: 12px 24px}.nf-figure{display: flex;flex-wrap: wrap;justify-content: center;align-items: center;gap: 10px 22px}.nf-figure[hidden]{display: none}.nf-fig-item{display: flex;flex-direction: column;align-items: center}.nf-net{display: block;overflow: visible}.nf-cube{display: block;overflow: visible}.nf-face-back{fill: var(--nf-back);stroke: #8a99a8;stroke-width: 3}.nf-pic-cap{font-size: 13px;color: var(--pz-muted);margin-top: 4px}.nf-draggable{cursor: grab}.nf-draggable:active{cursor: grabbing}.nf-drag-note{flex-basis: 100%;margin: 0;text-align: center;font-size: 12px;color: var(--pz-muted)}.nf-fold{display: none;flex-direction: column;align-items: center;padding: 4px 8px 2px;border-radius: 12px;background: var(--pz-soft)}.nf-fold.nf-fold-on{display: flex}.nf-fold-svg{display: block;overflow: visible}.nf-fold-cap{min-height: 1.4em;margin: 0 0 4px;font-size: 13px;color: var(--pz-muted);text-align: center;max-width: 240px}.nf-fold-right{box-shadow: 0 0 0 3px var(--nf-ok) inset}.nf-fold-right .nf-fold-cap{color: var(--nf-ok);font-weight: 600}.nf-fold-wrong .nf-fold-cap{color: #c92a2a}.nf-bad .nf-face-front,.nf-bad .nf-face-back{animation: nf-bad .5s ease-in-out 4}.nf-bad .nf-mark-ring{opacity: 1;stroke: var(--nf-bad)}@keyframes nf-bad{50%{opacity: .25}}.nf-options{position: relative;display: flex;flex-wrap: wrap;justify-content: center;gap: 8px;width: fit-content;max-width: 100%;margin: 14px auto 0}.nf-opt{position: relative;display: flex;align-items: center;justify-content: center;min-width: 76px;min-height: 76px;padding: 14px 10px 8px;margin: 0;border: 2px solid #c9d3dc;border-radius: 10px;background: var(--nf-paper);cursor: pointer;font: inherit;color: var(--nf-ink);-webkit-tap-highlight-color: transparent;transition: border-color .15s,opacity .3s}.nf-opt-whichValid,.nf-opt-whichInvalid,.nf-opt-cubeToNet{min-width: 140px;min-height: 150px}.nf-opt-netToCube{min-width: 140px;min-height: 136px}.nf-opt:hover:not(:disabled){border-color: var(--nf-sel)}.nf-opt:focus{outline: none}.nf-opt:focus-visible{outline: 3px solid var(--pz-accent);outline-offset: 2px}.nf-letter-tag{position: absolute;left: 6px;top: 4px;font-size: 13px;font-weight: 700;line-height: 1;color: var(--pz-muted)}.nf-opt-sel{border-color: var(--nf-sel);box-shadow: 0 0 0 3px var(--nf-sel);background: #eef5fc}.nf-opt-sel .nf-letter-tag{color: var(--nf-sel)}.nf-opt:disabled{cursor: default}.nf-opt-grey{opacity: .3;filter: grayscale(1)}.nf-opt-right{border-color: var(--nf-ok);box-shadow: 0 0 0 3px var(--nf-ok);opacity: 1}.nf-chip{display: block;overflow: visible}.nf-actions{display: flex;justify-content: center;margin-top: 12px}.nf-check{min-width: 140px;font-weight: 600}.nf-hand{position: absolute;right: -46px;top: 50%;width: 40px;height: 40px;margin-top: -20px;pointer-events: none;transform: rotate(-90deg);animation: nf-hand 1s ease-in-out infinite}.nf-hand svg{width: 100%;height: 100%;fill: #f7c59f;stroke: #7a4a2a;stroke-width: 1.2}@keyframes nf-hand{50%{transform: rotate(-90deg) translateY(-8px) scale(.94)}}@media (max-width: 520px){.nf-hand{right: 50%;top: auto;bottom: -34px;margin: 0 -20px 0 0;transform: none;animation-name: nf-hand-up}}@keyframes nf-hand-up{50%{transform: translateY(-8px) scale(.94)}}.nf-card-fig{display: flex;justify-content: center;gap: 12px;margin: 6px 0 10px}.nf-card-cell{display: flex;flex-direction: column;align-items: center;font-weight: 700}.nf-won .nf-fold{animation: nf-won 1s ease}@keyframes nf-won{30%{transform: scale(1.04)}}.pz-app.pz-hc{--nf-ink: #000;--nf-back: #adb5bd}.pz-hc .nf-pat path{fill: rgba(0,0,0,.55)}.pz-hc .nf-pat .nf-pat-line{stroke: rgba(0,0,0,.55)}.pz-hc .nf-opt{border-color: #555}@media (max-width: 420px){.pz-app{min-height: 1000px}.nf-opt-whichValid,.nf-opt-whichInvalid,.nf-opt-cubeToNet{min-width: 128px}.nf-opt-netToCube{min-width: 128px}}@media (prefers-reduced-motion: reduce){.nf-marked .nf-mark-ring,.nf-hand,.nf-bad .nf-face-front,.nf-bad .nf-face-back{animation: none}}