.pv-root{font-size:1rem;line-height:1.6;color:#2c2945}.pv-root *{box-sizing:border-box}.pv-root p{color:#625b73}.pv-choice-group{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:9px}.pv-choice-group legend{font-weight:700;font-size:1rem;margin-bottom:10px}.pv-btn{font:inherit;line-height:1.35;min-height:46px;min-width:46px;padding:11px 16px;border:1.5px solid #cfc7dd;border-radius:13px;background:white;color:#332c4d;font-weight:700;cursor:pointer}.pv-btn:hover{background:#eee8f8;border-color:#80629f}.pv-btn[aria-pressed=true]{background:#e4d9f3;border-color:#725492;box-shadow:inset 0 0 0 1px #725492}.pv-btn:disabled{opacity:.45;cursor:default}.pv-primary{background:#332c4d;color:white}.pv-root :focus-visible,.pv-instruction:focus,.pv-feedback:focus{outline:3px solid #6543b2;outline-offset:4px}.pv-instruction{font-size:1.6rem;line-height:1.35;margin:25px 0 18px;border-radius:5px}.pv-note{font-size:.95rem;margin:12px 0 18px}.pv-mode-choice{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid #e4deec;padding-bottom:20px}.pv-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:18px}.pv-discovery,.pv-build{background:#f7f5fb;border:1px solid #e1dbea;border-radius:21px;padding:22px}.pv-mini-instruction{font-weight:700;margin:0 0 17px}.pv-group-tray{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.pv-group-slot{border:1.5px dashed #c0b6d0;min-height:85px;border-radius:12px;padding:9px 5px 23px;display:flex;align-items:center;justify-content:center;position:relative;background:#fff}.pv-group-slot.pv-filled{border-style:solid;border-color:#a0bbaa;background:#edf6ef}.pv-group-slot>span{font-size:1.7rem;color:#c8bfd4}.pv-group-slot>small{position:absolute;bottom:2px;left:0;right:0;text-align:center;font-size:.8rem;font-weight:700;color:#70647e}.pv-live-count{margin:18px 0 0;text-align:center;font-size:1.12rem}.pv-block{display:inline-block;vertical-align:middle;flex-shrink:0}.pv-block rect,.pv-block path{fill:#b7d7bd;stroke:#426b4e;stroke-width:1.4;stroke-linejoin:round}.pv-block path{fill:none}.pv-block-1{width:27px;height:27px}.pv-block-10{width:112px;height:20px}.pv-block-10 path{stroke-width:1}.pv-block-100{width:100px;height:100px}.pv-block-100 path{stroke-width:.8}.pv-block-1000{width:124px;height:126px}.pv-block-1000>path:first-of-type{fill:#d3c4e5}.pv-block-1000>path.pv-cube-side{fill:#a08ab9}.pv-block-1000>path:not(.pv-cube-grid):not(.pv-cube-top):not(.pv-cube-side){fill:#bba5d2}.pv-block-1000 path{stroke:#664b83}.pv-block-1000 path.pv-cube-grid{stroke-width:.8}.pv-group-slot .pv-block-10{width:95%;height:auto}.pv-group-slot .pv-block-100{width:min(70px,100%);height:auto}.pv-result-block{display:flex;flex-direction:column;align-items:center;gap:9px;padding:8px}.pv-result-block .pv-block-10{width:220px;height:auto}.pv-result-block .pv-block-100{width:155px;height:155px}.pv-result-block .pv-block-1000{width:175px;height:auto}.pv-result-block strong{font-size:1.35rem}.pv-grouped{text-align:center}.pv-grouped .pv-actions{justify-content:center}.pv-equivalence{font-size:1.15rem;font-weight:700;color:#3f3556!important;margin:12px 0}.pv-target{display:flex;flex-direction:column;text-align:center;margin-bottom:20px}.pv-target>span{font-size:1rem;color:#70647e}.pv-target>strong{font-size:2.3rem;letter-spacing:.09em;color:#46335f}.pv-columns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.pv-column{padding:13px 9px 10px;background:white;border:1.5px solid #ddd4e9;border-radius:15px;min-width:0;display:flex;flex-direction:column;align-items:center;text-align:center}.pv-column h4{font-size:1rem;margin:0 0 6px;line-height:1.4;letter-spacing:0}.pv-column h4>span{display:block;width:33px;height:33px;line-height:33px;background:#e6dff0;border-radius:50%;margin:0 auto 7px}.pv-column>p{font-size:.88rem;margin:2px 0 8px}.pv-blocks{display:flex;flex-wrap:wrap;align-content:center;align-items:center;justify-content:center;gap:4px;min-height:100px;width:100%;flex:1}.pv-blocks .pv-block-1{width:16px;height:16px}.pv-blocks .pv-block-10{width:64px;height:13px}.pv-blocks .pv-block-100{width:34px;height:34px}.pv-blocks .pv-block-1000{width:38px;height:39px}.pv-empty{font-size:.9rem;color:#7d7289;padding:10px 4px}.pv-digit-controls{display:flex;align-items:center;gap:5px;margin:10px 0}.pv-digit-controls .pv-btn{width:44px;min-width:44px;min-height:44px;padding:6px;font-size:1.3rem}.pv-digit-controls output{font-size:1.5rem;font-weight:800;min-width:22px}.pv-column>p.pv-column-value{font-size:.9rem;margin:7px 0 0}.pv-column-current{border:2.5px solid #725492;background:#f0eaf9}.pv-column-current h4>span{background:#644780;color:white}.pv-lock-note{font-size:.8rem;color:#756c81;margin-top:8px}.pv-step-message{padding:13px 16px;background:#e8dff3;border-radius:13px;color:#3c2f53!important}.pv-total{padding:17px 12px;background:#e4f0e7;border:1px solid #c6ddcb;border-radius:14px;text-align:center;margin-top:20px}.pv-total>span{font-size:1rem}.pv-total>strong{display:block;font-size:2rem;line-height:1.4}.pv-total p{font-size:1rem;margin:5px 0 0;color:#405c49}.pv-help{padding:17px 19px;border-radius:15px;background:#eee7f8;margin:19px 0}.pv-help strong{font-size:1rem}.pv-help p{margin:7px 0 0;font-size:1rem}.pv-feedback{border-radius:14px;margin-top:17px;font-size:1rem}.pv-feedback:not(:empty){padding:18px;background:#fff0d7;border:1px solid #e3d2ae}.pv-feedback.pv-positive:not(:empty){background:#e0f0e6;border-color:#b3d1bd}.pv-skill{font-size:1rem;margin-top:22px;border-top:1px solid #e4deec;padding-top:15px}.pv-skill summary{min-height:44px;cursor:pointer;font-weight:700}.pv-skill p{margin:12px 0}.pv-bottom-actions .pv-btn{font-weight:500}.pv-columns:has(>.pv-column:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr));max-width:430px;margin:auto}.pv-columns:has(>.pv-column:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:680px){.pv-columns,.pv-columns:has(>.pv-column:nth-child(3):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}.pv-discovery,.pv-build{padding:16px 12px}.pv-instruction{font-size:1.4rem}.pv-group-tray{gap:6px}.pv-group-slot{min-height:73px;padding:7px 3px 21px}.pv-group-slot .pv-block-100{max-width:48px}.pv-group-slot>small{font-size:.8rem}.pv-column{padding:12px 7px}.pv-digit-controls{gap:4px}.pv-column h4{font-size:1rem}.pv-choice-group{gap:6px}.pv-choice-group .pv-btn{flex:1 1 90px;padding:10px}.pv-mode-choice .pv-btn{flex:1 1 130px}.pv-actions .pv-btn{font-size:1rem}.pv-group-slot .pv-block-1{width:22px;height:22px}.pv-blocks{min-height:90px}}
@media(prefers-reduced-motion:reduce){.pv-root *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:380px){.pv-columns,.pv-columns:has(>.pv-column:nth-child(2):last-child),.pv-columns:has(>.pv-column:nth-child(3):last-child){grid-template-columns:minmax(0,1fr)}.pv-blocks{min-height:65px}.pv-column{padding:12px}.pv-group-tray{grid-template-columns:repeat(5,minmax(0,1fr))}.pv-group-slot .pv-block-100{width:100%;height:auto}}
.pv-announcement{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.pv-place-strip{display:flex;gap:7px;list-style:none;padding:0;margin:14px auto 18px;max-width:360px}.pv-place-strip li{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;border:1px solid #d7cde3;border-radius:12px;background:#fff;padding:8px 4px 5px;line-height:1.3}.pv-place-strip li>span{font-size:1rem;font-weight:700}.pv-place-strip li>strong{font-size:1.5rem;margin-top:3px}.pv-place-strip li>small{font-size:.85rem;min-height:1.3em;margin-top:3px}.pv-place-strip li[aria-current=step]{border:2px solid #725492;background:#e9dff5}.pv-place-strip li[aria-current=step]>small{font-weight:700;color:#4d326c}.pv-columns.pv-one-column,.pv-columns.pv-one-column:has(>.pv-column:nth-child(2):last-child),.pv-columns.pv-one-column:has(>.pv-column:nth-child(3):last-child){grid-template-columns:minmax(0,1fr);max-width:360px;margin-left:auto;margin-right:auto}.pv-columns.pv-one-column .pv-column:not(.pv-column-current){display:none}.pv-columns.pv-one-column .pv-blocks{min-height:70px;max-width:240px}

/* Let the available width and the chosen text size decide how many columns fit. */
.pv-root,.pv-root fieldset,.pv-mode-choice,.pv-actions,.pv-help,.pv-feedback{min-width:0;max-width:100%}
.pv-root{overflow-wrap:break-word}
.pv-btn{max-width:100%;white-space:normal}
.pv-result-block .pv-block{max-width:100%;height:auto}
.pv-column>*,.pv-blocks .pv-block{max-width:100%}
@media(max-width:680px){
  .pv-columns:not(.pv-one-column),
  .pv-columns:not(.pv-one-column):has(>.pv-column:nth-child(2):last-child),
  .pv-columns:not(.pv-one-column):has(>.pv-column:nth-child(3):last-child){
    grid-template-columns:repeat(auto-fit,minmax(min(100%,8.5rem),1fr));
  }
}
