/* Number Pyramids — print-friendly, no dark filled blocks */
.py-catalog-art{background:linear-gradient(135deg,#e9f1fb,#e1f8ed);display:flex;align-items:center;justify-content:center}
.py-catalog-demo{display:grid;gap:4px;justify-items:center;color:#234b68;font-weight:900}
.py-catalog-demo .py-mini-row{display:flex;justify-content:center;gap:5px}
.py-catalog-demo .py-mini-row i{font-style:normal;display:grid;place-items:center;width:34px;height:30px;border:2px solid #759bb3;border-radius:7px;background:#fff;font-size:15px}
.py-catalog-demo .py-mini-row i.blank{background:#edf7fa;color:#829eb2}
.py-playground{flex:1;min-height:0;display:flex;justify-content:center;align-items:center}
.py-play-area{width:100%;height:100%;min-height:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;padding:5px}
.py-board{--py-n:4;--py-n2:8;--py-size:480px;display:grid;grid-template-columns:repeat(var(--py-n2),minmax(0,1fr));grid-template-rows:repeat(var(--py-n),minmax(0,1fr));width:var(--py-size);height:var(--py-size);flex:0 0 auto;gap:0;filter:drop-shadow(0 5px 8px #36586d20)}
.py-cell{min-width:0;min-height:0;border:2px solid #7d9eb6;border-radius:9px;background:#f7fafc;color:#244864;padding:0;display:grid;place-items:center;font:900 clamp(1rem,3.0vmin,2.1rem)/1 Nunito,Arial,sans-serif;touch-action:manipulation;cursor:pointer;transition:background .1s,box-shadow .1s}
.py-cell.given{background:#e3f3ed;border-color:#549b8b;color:#17635e}.py-cell.selected{background:#ffe9c3;outline:3px solid #e59b4d;outline-offset:-4px}.py-cell:hover{background:#e0effa}.py-cell:focus-visible{outline:3px solid #e49232;outline-offset:-3px}
.py-pad{max-width:670px;display:flex;justify-content:center;flex-wrap:wrap;align-items:center;gap:4px}
.py-pad button{min-width:34px;height:34px;border:1px solid #bbcedd;background:white;color:#23425b;border-radius:8px;box-shadow:0 2px 0 #bdcbd8;font:800 15px/1 Nunito,Arial,sans-serif;cursor:pointer}.py-pad button[data-py-key="OK"]{min-width:62px;background:#078f86;color:#fff;border-color:#076a62}.py-pad button[data-py-key="DEL"]{min-width:45px}.py-pad button:disabled{opacity:.48;cursor:not-allowed}.py-pad button:not(:disabled):hover{background:#d9f0f1;color:#204a60}
.py-controls{display:flex;justify-content:center;gap:8px}.py-controls .btn{min-height:36px}.py-play-area .feedback:empty,.py-race-area .feedback:empty{display:none}
.py-race-area{min-height:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px}.py-race-stage .race-panels{position:relative}.py-race-stage .race-center-new{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:5;background:#098f80!important;color:#fff!important;box-shadow:0 3px 0 #0b675c,0 5px 15px #15685b33}.py-race-area .py-pad{max-width:360px;gap:3px}.py-race-area .py-pad button{height:29px;min-width:26px;font-size:13px}.py-race-area .py-pad button[data-py-key="OK"]{min-width:50px}
.py-print-body{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);height:252mm;gap:3mm}.py-print-card{border:.28mm solid #999;border-radius:1.5mm;display:grid;place-items:center;min-width:0;min-height:0}
.py-print-grid{--py-n:4;--py-n2:8;width:61mm;height:61mm;display:grid;grid-template-columns:repeat(var(--py-n2),minmax(0,1fr));grid-template-rows:repeat(var(--py-n),minmax(0,1fr))}
.py-print-cell{border:.24mm solid #606e76;border-radius:.6mm;display:grid;place-items:center;background:#fff;min-width:0;min-height:0;color:#20252b;font:700 10pt/1 Arial,sans-serif}.py-print-cell.given{font-weight:800}
html[data-theme="dark"] .py-cell{background:#263c4e;color:#eef6fc;border-color:#819bb2}html[data-theme="dark"] .py-cell.given{background:#215c52;color:#f1fff9;border-color:#5db5a0}html[data-theme="dark"] .py-cell.selected{background:#78532d;border-color:#e7ad66;color:#fff}html[data-theme="dark"] .py-pad button{background:#2a4256;color:#efffff;border-color:#688498}html[data-theme="dark"] .py-pad button[data-py-key="OK"]{background:#087c71;color:#fff}
@media(max-width:600px){.py-cell{font-size:clamp(14px,5vw,25px);border-width:1.5px;border-radius:6px}.py-pad button{min-width:28px;height:32px;font-size:14px}.py-pad{max-width:350px}.py-play-area{gap:4px}}
@media print{.py-print-cell{color:#151515!important;background:white!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}}
