.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}}.bs-wrap{--bs-c: #1c7ed6;--bs-c-line: #0b3d6e;--bs-t: #fcc419;--bs-t-line: #7a4f00;--bs-s: #40c057;--bs-s-line: #1b5e20;--bs-r: #862e9c;--bs-r-line: #3a0d47;--bs-weight: #868e96;--bs-weight-line: #495057;--bs-wood: #8d6e4f;--bs-metal: #5c6b78;--bs-bad: #e03131;--bs-ok: #2b8a3e;--bs-hint: #e8590c;--bs-coin: #f6c445;--bs-coin-line: #9a6b00;padding: 4px 0 6px}.bs-scales{display: flex;flex-wrap: wrap;gap: 10px;justify-content: center}.bs-card{margin: 0;flex: 1 1 240px;max-width: 300px;border: 2px solid var(--pz-line);border-radius: 12px;background: var(--pz-panel);padding: 6px 6px 4px;position: relative;transition: border-color .2s,box-shadow .2s}.bs-card-q{border-style: dashed}.bs-card-head{display: flex;justify-content: space-between;align-items: center;font-size: 13px;color: var(--pz-muted);min-height: 20px;padding: 0 4px}.bs-card-title{font-weight: 600}.bs-status{font-size: 20px;font-weight: 700;color: var(--bs-bad);line-height: 1}.bs-card.bs-bad{border-color: var(--bs-bad);box-shadow: 0 0 0 2px rgba(224,49,49,.2)}.bs-card.bs-good{border-color: var(--bs-ok)}.bs-card.bs-hinted{border-color: var(--bs-hint);box-shadow: 0 0 0 4px rgba(232,89,12,.25)}.bs-caption{margin: 0 0 2px;text-align: center;font-size: 14px;font-weight: 600}.bs-svg{display: block;width: 100%;height: auto;overflow: visible}.bs-base{fill: var(--bs-wood)}.bs-post{fill: var(--bs-wood)}.bs-pivot{fill: var(--bs-metal);stroke: #fff;stroke-width: 2}.bs-beam-bar{fill: var(--bs-metal)}.bs-pointer{fill: var(--bs-metal)}.bs-beam,.bs-pan{transition: transform .6s cubic-bezier(.34,1.4,.64,1)}.bs-string{stroke: #9aa5b1;stroke-width: 1.5;fill: none}.bs-hook{fill: var(--bs-metal)}.bs-plate{fill: #cfd6dd;stroke: #7b8794;stroke-width: 1.5}.bs-pan-hit{fill: transparent}.bs-total{font-size: 17px;font-weight: 700;text-anchor: middle;fill: var(--pz-ink);font-variant-numeric: tabular-nums}.bs-bad .bs-total{fill: var(--bs-bad)}.bs-mid{font-size: 30px;font-weight: 700;text-anchor: middle;fill: var(--pz-accent)}.bs-shape{stroke-width: 2}.bs-c{fill: var(--bs-c);stroke: var(--bs-c-line)}.bs-t{fill: var(--bs-t);stroke: var(--bs-t-line);stroke-dasharray: 4 2.5;stroke-linejoin: round}.bs-s{fill: var(--bs-s);stroke: var(--bs-s-line);stroke-width: 2.5}.bs-s-inner{fill: none;stroke: var(--bs-s-line);stroke-width: 1.2}.bs-r{fill: var(--bs-r);stroke: var(--bs-r-line);stroke-dasharray: 1 2.2;stroke-linecap: round;stroke-linejoin: round}.bs-weight{fill: var(--bs-weight);stroke: var(--bs-weight-line);stroke-width: 1.5;stroke-linejoin: round}.bs-weight-num{fill: #fff;font-size: 14px;font-weight: 700;text-anchor: middle}.bs-shape-val{font-size: 12px;font-weight: 800;text-anchor: middle;fill: #fff;pointer-events: none}.bs-val-t{fill: #3d2a00;font-size: 11px}.bs-val-s{fill: #0c3b12}.bs-won .bs-shape-val{animation: bs-pop .5s ease backwards}.bs-g{font-style: normal;font-size: 1.25em;line-height: 1}.bs-g-c{color: var(--bs-c)}.bs-g-t{color: #e8a200}.bs-g-s{color: #2f9e44}.bs-g-r{color: var(--bs-r)}.bs-answer{margin: 12px 0 0;text-align: center}.bs-question{font-weight: 600;margin: 4px 0 8px;font-size: 16px}.bs-boxes{display: flex;flex-wrap: wrap;gap: 8px 14px;justify-content: center;align-items: center}.bs-box{display: inline-flex;align-items: center;gap: 6px;position: relative;padding: 4px 8px;border-radius: 10px;border: 2px solid transparent}.bs-box-hinted{border-color: var(--bs-hint)}.bs-box-given .bs-input{background: #fff4e6;border-color: var(--bs-hint)}.bs-box-icon{width: 30px;height: 30px}.bs-eq,.bs-times{font-size: 20px;font-weight: 700;color: var(--pz-muted)}.bs-input{width: 3.2em;height: 44px;font: inherit;font-size: 22px;font-weight: 700;text-align: center;border: 2px solid var(--pz-line);border-radius: 8px;color: var(--pz-ink);background: var(--pz-panel);font-variant-numeric: tabular-nums}.bs-input:focus{outline: 3px solid var(--pz-accent);outline-offset: 1px;border-color: var(--pz-accent)}.bs-input[readonly]{background: var(--pz-soft)}.bs-won .bs-input{border-color: var(--bs-ok);color: var(--bs-ok)}.bs-check{min-width: 96px}.bs-choice{min-width: 120px}.bs-chosen{border-color: var(--bs-bad)}.bs-chosen-right,.bs-chosen-right:disabled{opacity: 1;border-color: var(--bs-ok);background: #ebfbee;color: var(--bs-ok);font-weight: 700}.bs-hand{position: absolute;right: -24px;top: 16px;width: 34px;height: 34px;pointer-events: none;animation: bs-point 1.1s ease-in-out infinite}.bs-hand svg{width: 100%;height: 100%;fill: #fff;stroke: var(--pz-ink);stroke-width: 1.3;transform: rotate(-30deg)}@keyframes bs-point{50%{transform: translate(-6px,-4px)}}.bs-shake{animation: bs-shake .45s ease}@keyframes bs-shake{20%,60%{transform: translateX(-5px)}40%,80%{transform: translateX(5px)}}@keyframes bs-pop{0%{opacity: 0}60%{opacity: 1}}.bs-type-d .bs-question{text-align: center}.bs-card-coins{max-width: 520px;margin: 0 auto}.bs-card-coins.bs-uneven .bs-card-head{color: var(--bs-bad)}.bs-card-coins .bs-card-head{justify-content: center}.bs-coin{cursor: pointer;outline: none}.bs-coin-face{fill: var(--bs-coin);stroke: var(--bs-coin-line);stroke-width: 1.5}.bs-coin-good .bs-coin-face{fill: #d3f9d8;stroke: var(--bs-ok);stroke-width: 2}.bs-coin-num{font-size: 12px;font-weight: 800;text-anchor: middle;fill: #4a3300;pointer-events: none}.bs-coin-good .bs-coin-num{fill: var(--bs-ok);font-size: 12px}.bs-coin-note{font-size: 10px;font-weight: 900;text-anchor: middle;pointer-events: none}.bs-note-h .bs-coin-note{fill: var(--bs-bad)}.bs-note-l .bs-coin-note{fill: var(--pz-accent)}.bs-note-g .bs-coin-note{fill: var(--bs-ok)}.bs-note-g .bs-coin-face{fill: #ebfbee;stroke: var(--bs-ok);stroke-dasharray: 2 2}.bs-note-h .bs-coin-face{stroke: var(--bs-bad);stroke-width: 2.2}.bs-note-l .bs-coin-face{stroke: var(--pz-accent);stroke-width: 2.2}.bs-coin:focus-visible .bs-coin-face,.bs-selected .bs-coin-face{stroke: var(--pz-accent);stroke-width: 3}.bs-selected .bs-coin-face{fill: #ffe066}.bs-coin-hint .bs-coin-face{stroke: var(--bs-hint);stroke-width: 3}.bs-fake .bs-coin-face{fill: #ffd43b;stroke: var(--bs-hint);stroke-width: 3;filter: drop-shadow(0 0 5px #ffa94d);animation: bs-glow 1s ease-in-out infinite alternate}@keyframes bs-glow{to{filter: drop-shadow(0 0 10px #ff922b)}}.bs-dragging{opacity: .35}.bs-drop-over .bs-plate{fill: #d0ebff;stroke: var(--pz-accent)}.bs-drop-over.bs-tray{border-color: var(--pz-accent);background: #e7f5ff}.bs-drag-on .bs-plate{stroke-dasharray: 4 3}.bs-coin-bar{display: flex;flex-wrap: wrap;gap: 8px;justify-content: center;align-items: center;margin: 10px 0 4px}.bs-weigh{min-width: 110px;font-weight: 600}.bs-modes{display: inline-flex;gap: 0}.bs-mode{border-radius: 0;margin-left: -1px}.bs-mode:first-child{border-radius: 8px 0 0 8px;margin-left: 0}.bs-mode:last-child{border-radius: 0 8px 8px 0}.bs-mode-on,.bs-mode-on:hover:not(:disabled){background: var(--pz-ink);color: #fff;border-color: var(--pz-ink);position: relative}.bs-legend{text-align: center;font-size: 13px;color: var(--pz-muted);margin: 4px 0}.bs-dir{display: flex;flex-wrap: wrap;gap: 8px;justify-content: center;align-items: center;min-height: 8px;margin: 4px 0}.bs-dir-q{font-weight: 600}.bs-tray{display: flex;flex-wrap: wrap;gap: 4px;justify-content: center;min-height: 58px;margin: 6px auto 0;max-width: 560px;padding: 8px;border: 2px dashed var(--pz-line);border-radius: 12px;background: var(--pz-soft);touch-action: none}.bs-tray-coin{width: 44px;height: 44px;padding: 0;border: 0;background: none;cursor: pointer;border-radius: 50%;touch-action: none;-webkit-tap-highlight-color: transparent}.bs-tray-coin svg{width: 100%;height: 100%;display: block}.bs-tray-coin:focus{outline: none}.bs-tray-coin:focus-visible{outline: 3px solid var(--pz-accent);outline-offset: 1px}.bs-tray-coin .bs-coin-num{font-size: 12px}.bs-tray-coin.bs-selected .bs-coin-face,.bs-tray-coin:focus-visible .bs-coin-face{stroke: var(--pz-accent);stroke-width: 3}.bs-tray-coin.bs-selected .bs-coin-face{fill: #ffe066}.bs-mode-notes .bs-tray-coin,.bs-mode-pick .bs-tray-coin{touch-action: auto}.bs-svg-coins{touch-action: none}.bs-svg-coins .bs-coin{touch-action: none}.bs-ghost{position: fixed;z-index: 60;width: 40px;height: 40px;margin: -20px 0 0 -20px;border-radius: 50%;pointer-events: none;background: var(--bs-coin);border: 2px solid var(--bs-coin-line);color: #4a3300;font: 800 14px system-ui,sans-serif;display: flex;align-items: center;justify-content: center;box-shadow: 0 6px 16px rgba(0,0,0,.25)}.bs-ghost-good{background: #d3f9d8;border-color: #2b8a3e;color: #2b8a3e}.bs-log{max-width: 460px;margin: 10px auto 0}.bs-log-title{font-size: 14px;margin: 0 0 2px;color: var(--pz-muted)}.bs-log-list{margin: 0;padding-left: 26px;font-variant-numeric: tabular-nums}.bs-log-list li{margin: 2px 0;white-space: pre-wrap}.bs-log-empty{list-style: none;margin-left: -26px !important;color: var(--pz-muted)}.pz-hc .bs-wrap{--bs-weight: #495057}.pz-hc .bs-card{border-color: #555}@media (max-width: 520px){.bs-card{flex-basis: 100%;max-width: 300px}.bs-tray-coin{width: 40px;height: 40px}}@media (prefers-reduced-motion: reduce){.bs-beam,.bs-pan{transition: none}}