@font-face{font-family:AlibabaPuHuiTi;src:url(/iqpuzzlerpro/assets/AlibabaPuHuiTi-3-65-Medium-DQU-DIIV.woff2) format("woff2");font-weight:500;font-display:swap}@font-face{font-family:AlibabaPuHuiTi;src:url(/iqpuzzlerpro/assets/AlibabaPuHuiTi-3-85-Bold-BDmIoIwI.woff2) format("woff2");font-weight:700;font-display:swap}@font-face{font-family:AlibabaPuHuiTi;src:url(/iqpuzzlerpro/assets/AlibabaPuHuiTi-3-105-Heavy-DRkpxYIH.woff2) format("woff2");font-weight:800;font-display:swap}@font-face{font-family:AlibabaPuHuiTi;src:url(/iqpuzzlerpro/assets/AlibabaPuHuiTi-3-115-Black-AVUgawr2.woff2) format("woff2");font-weight:900;font-display:swap}:root{color-scheme:light;font-family:AlibabaPuHuiTi,HarmonyOS Sans SC,MiSans,PingFang SC,Microsoft YaHei UI,Microsoft YaHei,system-ui,sans-serif;--bg-a: #f5f7fb;--bg-b: #edf2ff;--panel: rgba(255, 255, 255, .96);--ink: #243047;--muted: #66718a;--line: rgba(255, 255, 255, .45);--orange: #ff7d18;--orange-dark: #ed6400;--blue: #2e8cff;--case: #101820;--hole: #303944;--blocked: #0b1118;--gap: .18rem;--cell: clamp(1.42rem, 5.15vw, 2.72rem);--piece-cell: 1.62rem}*{box-sizing:border-box}body{min-height:100vh;margin:0;background:linear-gradient(180deg,var(--bg-a),var(--bg-b));color:var(--ink);overflow-x:hidden;overscroll-behavior-x:none}body.piece-dragging{overflow:hidden;overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none}button,select{font:inherit;-webkit-tap-highlight-color:transparent}.demo-shell{display:grid;align-content:start;gap:.9rem;width:min(1120px,calc(100vw - 2rem));min-height:100vh;margin:0 auto;padding:1.25rem 0 2rem}.app-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.4rem 1rem;align-items:end}.app-header h1{margin:0;font-size:clamp(2rem,5vw,3rem);font-weight:900;line-height:1;letter-spacing:0}.app-header p,.app-header strong{margin:0;font-size:1rem;line-height:1.45}.app-header p{color:var(--muted)}.app-header strong{display:inline-grid;min-height:2.35rem;padding:.42rem .8rem;place-items:center;border-radius:999px;background:#fff;color:var(--orange-dark);font-weight:900;box-shadow:0 .55rem 1.2rem #20174a1a;grid-row:1 / span 2;grid-column:2}.top-controls,.attack-tip,.puzzle-stage,.level-editor,.status-bar{width:min(1040px,100%);margin:0 auto}.top-controls{display:grid;grid-template-columns:minmax(18rem,.9fr) minmax(0,1.4fr);gap:.65rem;align-items:center;padding:.65rem;border-radius:.75rem;background:var(--panel);box-shadow:0 .75rem 1.7rem #20174a1f}.setup-controls{display:grid;grid-template-columns:minmax(10rem,auto) minmax(10rem,1fr);gap:.45rem;min-width:0}.level-picker{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.5rem;align-items:center;min-width:0;min-height:3.05rem;padding:.28rem .35rem .28rem .7rem;border-radius:.55rem;background:#eef3fb}.level-picker span{color:var(--orange-dark);font-size:.9rem;font-weight:900;white-space:nowrap}.action-controls{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.45rem;min-width:0}.level-select,.mode-button,.control-button{min-height:3.05rem;border:0;border-radius:.5rem;font-size:1.04rem;font-weight:800;box-shadow:0 .45rem .9rem #20174a1a}.mode-switch{display:grid;grid-template-columns:repeat(2,minmax(4.9rem,1fr));gap:.22rem;padding:.22rem;border-radius:.55rem;background:#eef3fb}.mode-button{padding:0 .65rem;background:#ffffffdb;color:var(--ink);cursor:pointer;box-shadow:none}.mode-button.active{background:linear-gradient(180deg,var(--orange),var(--orange-dark));color:#fff}.level-select{width:100%;padding:0 1rem;background:#fff;color:var(--ink)}.control-button{flex:0 1 auto;padding:0 .85rem;background:var(--blue);color:#fff;cursor:pointer}.control-button.accent,.control-button.danger{background:linear-gradient(180deg,var(--orange),var(--orange-dark))}.control-button:active{transform:translateY(1px)}.control-button:disabled{cursor:not-allowed;opacity:.48;transform:none}.attack-tip,.status-bar,.level-editor{border-radius:.65rem;background:var(--panel);color:var(--ink);box-shadow:0 .75rem 1.7rem #20174a1f}.attack-tip{min-height:3rem;padding:.75rem 1.05rem;font-size:1rem;font-weight:500;line-height:1.55;text-align:left}.attack-tip strong{font-weight:700}.puzzle-stage{display:grid;grid-template-columns:minmax(0,1fr);gap:.95rem;align-items:start}.puzzle-stage.pyramid-layout{grid-template-areas:"board panel" "tray tray";grid-template-columns:minmax(0,1fr) clamp(17rem,24vw,21rem);grid-template-rows:auto auto;align-items:start}.pyramid-layout .pyramid-board-column{grid-area:board;min-height:0}.pyramid-layout .pyramid-side-panel{grid-area:panel;min-width:0;max-height:clamp(28rem,58vh,42rem);overflow:auto}.pyramid-layout .tray-3d-bottom{grid-area:tray}.board-column{display:grid;gap:.65rem;min-width:0}.mobile-piece-actions{display:none}.board-wrap{display:grid;justify-content:center;align-items:center;padding:clamp(.5rem,2vw,1rem);border-radius:.8rem;background:var(--case);box-shadow:inset 0 0 0 .35rem #ffffff14,0 1rem 2rem #20174a3d;overflow:auto}.pyramid-board-wrap{justify-content:stretch;height:clamp(28rem,58vh,42rem);min-height:0;overflow:hidden}.board{position:relative;display:grid;margin:0 auto;grid-template-columns:repeat(var(--board-cols),var(--cell));grid-template-rows:repeat(var(--board-rows),var(--cell));gap:var(--gap);touch-action:none}.board-diagonal{display:block;width:calc(var(--board-visual-w) * (var(--cell) + var(--gap)) - var(--gap));height:calc(var(--board-visual-h) * (var(--cell) + var(--gap)) - var(--gap))}.board-diagonal .cell{position:absolute;left:calc(var(--visual-x) * (var(--cell) + var(--gap)));top:calc(var(--visual-y) * (var(--cell) + var(--gap)));width:var(--cell);height:var(--cell)}.pyramid-3d-board{display:block;width:100%;min-width:0;height:100%;min-height:0;touch-action:none}.pyramid-3d-viewport{width:100%;height:100%;min-height:inherit;overflow:hidden;border-radius:.55rem;background:radial-gradient(circle at 28% 22%,rgba(255,255,255,.12),transparent 16rem),linear-gradient(145deg,#101820,#172432 58%,#101820);box-shadow:inset 0 0 0 1px #ffffff1a,inset 0 -4rem 8rem #00000038}.pyramid-3d-viewport canvas{display:block;width:100%;height:100%;cursor:grab}.pyramid-3d-viewport canvas:active{cursor:grabbing}.cell{border-radius:999px;background:radial-gradient(circle at 36% 30%,rgba(255,255,255,.17),transparent 30%),var(--hole);box-shadow:inset 0 .15rem .35rem #0000008c}.cell.blocked{background:var(--blocked);box-shadow:none;opacity:.34}.piece{position:relative;display:grid;width:calc(var(--piece-w) * var(--piece-cell));height:calc(var(--piece-h) * var(--piece-cell));padding:0;border:0;background:transparent;cursor:grab;touch-action:none;pointer-events:auto;transform-origin:center;transition:opacity .12s ease,filter .12s ease;will-change:transform}.piece-hit-area,.piece-hit-area *{touch-action:none}.piece.on-board{position:absolute;z-index:5;width:calc(var(--piece-w) * var(--cell) + (var(--piece-w) - 1) * var(--gap));height:calc(var(--piece-h) * var(--cell) + (var(--piece-h) - 1) * var(--gap))}.piece.dragging{z-index:30;cursor:grabbing;opacity:.96;filter:drop-shadow(0 .55rem .8rem rgba(0,0,0,.22));transition:none}.piece.drag-source-active{filter:brightness(1.03)}.piece.drag-source-hidden{opacity:.28;filter:grayscale(.15)}.piece.selected{outline:none}.piece.fixed{cursor:default}.piece.fixed.selected{outline:none}.piece.feedback-rotate{animation:piece-rotate-feedback .24s ease-out}.piece.feedback-flip{animation:piece-flip-feedback .26s ease-out}.piece.feedback-place{animation:piece-place-feedback .22s ease-out}@keyframes piece-rotate-feedback{0%{transform:scale(.96) rotate(-5deg)}70%{transform:scale(1.04) rotate(2deg)}to{transform:scale(1) rotate(0)}}@keyframes piece-flip-feedback{0%{transform:scaleX(.72) scaleY(1.04)}72%{transform:scaleX(1.05) scaleY(.98)}to{transform:scaleX(1) scaleY(1)}}@keyframes piece-place-feedback{0%{transform:scale(.92);filter:drop-shadow(0 .25rem .35rem rgba(0,0,0,.08))}75%{transform:scale(1.035)}to{transform:scale(1)}}.connector{position:absolute;z-index:1;left:calc(var(--cx) * 100% / var(--piece-w));top:calc(var(--cy) * 100% / var(--piece-h));width:calc(var(--cw) * 100% / var(--piece-w));height:calc(var(--ch) * 100% / var(--piece-h));border-radius:999px;background:var(--piece-color);box-shadow:inset 0 -.08rem .12rem #00000021,inset 0 .06rem .09rem #ffffff1f;pointer-events:none}.connector.rotated-connector{left:calc(var(--center-x) * 100% / var(--piece-w));top:calc(var(--center-y) * 100% / var(--piece-h));width:calc(var(--length) * 100% / var(--piece-w));height:calc(var(--thickness) * 100% / var(--piece-h));transform:translate(-50%,-50%) rotate(var(--angle));transform-origin:center}.piece-hit-area{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;display:block;width:100%;height:100%;overflow:visible;pointer-events:none}.piece-hit-area .hit-ball,.piece-hit-area .hit-connector{fill:#0000;stroke:none;pointer-events:none}.block{position:absolute;z-index:2;left:calc(var(--x) * 100% / var(--piece-w));top:calc(var(--y) * 100% / var(--piece-h));width:calc(100% / var(--piece-w));height:calc(100% / var(--piece-h));padding:.04rem;pointer-events:none}.block:before{content:"";display:block;width:100%;height:100%;border-radius:999px;background:radial-gradient(circle at 35% 28%,rgba(255,255,255,.28),transparent 30%),var(--piece-color);box-shadow:inset 0 -.1rem .16rem #0000001f,inset 0 .08rem .1rem #ffffff24}.piece-art{display:none}.side-panel{display:grid;gap:.5rem;align-self:stretch;align-content:start;padding:.65rem;border-radius:.75rem;background:var(--panel);box-shadow:0 .75rem 1.7rem #20174a1f}.tray-panel-header{display:flex;gap:.45rem;align-items:baseline;justify-content:space-between;min-width:0;color:var(--ink)}.tray-panel-header span{font-weight:900}.tray-panel-header small{color:var(--muted);font-weight:800}.tray{display:grid;grid-template-columns:repeat(auto-fit,minmax(5.6rem,6.8rem));align-content:start;justify-content:start;gap:.5rem;min-height:0;padding:0;border-radius:0;background:transparent;box-shadow:none;touch-action:none}.tray-3d{grid-template-columns:1fr;gap:.65rem}.tray-3d-bottom{display:block;min-height:0;max-width:100%;overflow-x:auto;overflow-y:hidden;padding:.55rem;scrollbar-width:thin}.tray-slot{display:grid;place-items:center;min-width:0;min-height:6.2rem;border-radius:.45rem;background:#f2f5fa;color:#8b95a6;font-weight:900;touch-action:none;overflow:hidden}.tray-slot .piece.in-tray{--piece-cell: clamp(1.05rem, 5vw, 1.42rem);max-width:calc(100% - .35rem);max-height:calc(100% - .35rem)}.tray-slot.empty{opacity:.42}.tray-empty{display:grid;min-height:4rem;place-items:center;border-radius:.45rem;background:#f2f5fa;color:var(--muted);font-weight:900}.tray-3d-warning,.piece-3d-info{padding:.72rem;border-radius:.55rem;background:#fff6e8;color:#8b4c00;font-size:.86rem;font-weight:800;line-height:1.45}.piece-3d-list{display:grid;grid-template-columns:1fr;gap:.5rem}.tray-3d-bottom .piece-3d-list{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(8.6rem,10rem);grid-template-columns:none;align-items:stretch;width:max-content;min-width:100%}.piece-3d-card{display:grid;grid-template-columns:minmax(3rem,.68fr) minmax(4.8rem,1fr);align-items:center;gap:.5rem;width:100%;min-height:5.4rem;padding:.55rem;border:2px solid transparent;border-radius:.55rem;background:#f7f9fd;color:var(--ink);cursor:pointer;box-shadow:inset 0 0 0 1px #2430470d}.tray-3d-bottom .piece-3d-card{grid-template-columns:1fr;align-content:start;min-height:6.4rem;max-height:8rem;padding:.45rem}.piece-3d-card.selected{border-color:var(--orange);background:#fffaf4;box-shadow:0 .45rem 1rem #ed640029,inset 0 0 0 1px #ff7d182e}.piece-3d-card.placed{background:#eef8e8}.piece-3d-card.placed:not(.selected){border-color:#3564002e}.piece-3d-card-header{display:grid;gap:.18rem;justify-items:start;min-width:0}.piece-3d-card-header strong{font-size:1.28rem;line-height:1}.piece-3d-card-header span{color:var(--muted);font-size:.78rem;font-weight:800;white-space:nowrap}.tray-3d-bottom .piece-3d-card-header{grid-template-columns:auto 1fr;align-items:baseline}.tray-3d-bottom .piece-3d-card-header span{justify-self:end;font-size:.7rem}.piece-3d-model{--voxel-size: .72rem;position:relative;width:calc(var(--model-w) * var(--voxel-size) + .9rem);height:calc((var(--model-h) + (var(--model-d) - 1) * .32) * var(--voxel-size) + .9rem);min-height:3.6rem;margin:0 auto;transform-style:preserve-3d}.voxel-3d{position:absolute;left:calc(var(--vx) * var(--voxel-size) + .45rem);top:calc((var(--vy) + (var(--model-d) - var(--vz) - 1) * .32) * var(--voxel-size) + .45rem);width:var(--voxel-size);height:var(--voxel-size);transform-style:preserve-3d;filter:drop-shadow(.08rem .1rem 0 rgba(0,0,0,.18))}.bead-preview{--bead-size: calc(var(--voxel-size) * .82);transform:rotate(var(--preview-yaw, 0deg));transform-origin:center}.bead-3d{width:var(--bead-size);height:var(--bead-size);border-radius:999px;background:radial-gradient(circle at 32% 26%,rgba(255,255,255,.92) 0 12%,rgba(255,255,255,.35) 13% 24%,transparent 25%),radial-gradient(circle at 62% 68%,rgba(0,0,0,.24),transparent 48%),var(--piece-color);box-shadow:inset -.08rem -.09rem .14rem #00000038,inset .06rem .06rem .12rem #ffffff73;z-index:2}.bead-preview-connector{position:absolute;left:calc(var(--cx) * var(--voxel-size) + .45rem + var(--bead-size) / 2);top:calc((var(--cy) + (var(--model-d) - var(--cz) - 1) * .32) * var(--voxel-size) + .45rem + var(--bead-size) / 2);width:calc(var(--voxel-size) * .72);height:calc(var(--voxel-size) * .18);border-radius:999px;background:color-mix(in srgb,var(--piece-color) 78%,#111 22%);opacity:.82;transform:translate(-50%,-50%);transform-origin:center;z-index:1}.bead-preview-connector[data-axis=y]{transform:translate(-50%,-50%) rotate(90deg)}.bead-preview-connector[data-axis=z]{width:calc(var(--voxel-size) * .5);transform:translate(-50%,-50%) rotate(-24deg)}.voxel-face{position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid rgba(255,255,255,.34);background:var(--piece-color);box-shadow:inset 0 -.08rem .14rem #00000024;opacity:.94}.voxel-face.back,.voxel-face.right,.voxel-face.left,.voxel-face.front,.voxel-face.bottom{display:none}.voxel-face.front{transform:translateZ(calc(var(--voxel-size) / 2));filter:brightness(1.06)}.voxel-face.back{transform:rotateY(180deg) translateZ(calc(var(--voxel-size) / 2));filter:brightness(.74)}.voxel-face.right{transform:rotateY(90deg) translateZ(calc(var(--voxel-size) / 2));filter:brightness(.9)}.voxel-face.left{transform:rotateY(-90deg) translateZ(calc(var(--voxel-size) / 2));filter:brightness(.78)}.voxel-face.top{transform:none;filter:brightness(1.18)}.voxel-face.bottom{transform:rotateX(-90deg) translateZ(calc(var(--voxel-size) / 2));filter:brightness(.68)}.piece-3d-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.42rem}.pyramid-layer-controls{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.35rem}.piece-3d-controls button{min-height:2.45rem;padding:0 .45rem;border:0;border-radius:.48rem;background:var(--blue);color:#fff;cursor:pointer;font-size:.86rem;font-weight:900}.pyramid-layer-controls button{min-height:2.35rem;padding:0 .25rem;border:0;border-radius:.44rem;background:#e8eef7;color:var(--ink);cursor:pointer;font-size:.78rem;font-weight:900}.pyramid-layer-controls button.active{background:linear-gradient(180deg,var(--orange),var(--orange-dark));color:#fff}.pyramid-panel{display:grid;align-content:start;gap:.65rem;min-height:100%;padding:.65rem;border-radius:.65rem;background:var(--panel);color:var(--ink);box-shadow:0 .75rem 1.7rem #20174a29}.pyramid-status-grid{display:grid;grid-template-columns:1fr 1fr;gap:.42rem}.pyramid-status-item{display:grid;gap:.1rem;min-width:0;padding:.45rem;border-radius:.42rem;background:#f7f9fd}.pyramid-status-item span{color:var(--muted);font-size:.68rem;font-weight:800}.pyramid-status-item strong{min-width:0;overflow:hidden;color:var(--ink);font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.pyramid-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}.pyramid-actions button{min-height:2.55rem;border:0;border-radius:.46rem;background:var(--blue);color:#fff;cursor:pointer;font-size:.82rem;font-weight:900}.pyramid-actions button.danger{background:linear-gradient(180deg,var(--orange),var(--orange-dark))}.pyramid-actions button:disabled{cursor:not-allowed;opacity:.45}.piece-3d-info{display:grid;gap:.45rem;background:#f7f9fd;color:var(--ink);font-weight:800}.piece-3d-invalid{padding:.42rem .55rem;border-radius:.42rem;background:#fff1e8;color:#9a3f00;font-size:.82rem}.piece-3d-warning{padding:.42rem .55rem;border-radius:.42rem;background:#fff7df;color:#8a4b00;font-size:.82rem}.pyramid-calibrator{display:grid;gap:.55rem;padding:.55rem;border-radius:.5rem;background:#f7f9fd}.pyramid-calibrator summary{cursor:pointer;font-size:.84rem;font-weight:900}.calibrator-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;margin-top:.5rem}.calibrator-slots strong{grid-column:1 / -1;color:var(--muted);font-size:.72rem}.calibrator-slots button{min-height:2.15rem;border:0;border-radius:.38rem;background:#e8eef7;color:var(--ink);cursor:pointer;font-size:.72rem;font-weight:900}.calibrator-slots button.active{background:var(--blue);color:#fff}.calibrator-slots button.saved:not(.active){background:#eef8e8;color:#315f09}.calibrator-controls{display:grid;gap:.45rem;margin-top:.5rem}.calibrator-field{display:grid;gap:.25rem;color:var(--muted);font-size:.72rem;font-weight:900}.calibrator-field input,.calibrator-field select,.calibrator-field textarea{width:100%;min-width:0;border:1px solid #d9e1ee;border-radius:.38rem;background:#fff;color:var(--ink);font:inherit;font-size:.78rem}.calibrator-field input,.calibrator-field select{min-height:2.25rem;padding:0 .45rem}.calibrator-field textarea{min-height:8rem;padding:.45rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;resize:vertical}.calibrator-actions{display:grid;grid-template-columns:1fr;gap:.4rem;margin-top:.5rem}.calibrator-actions button{min-height:2.45rem;border:0;border-radius:.46rem;background:var(--blue);color:#fff;cursor:pointer;font-size:.8rem;font-weight:900}.calibrator-preview{display:grid;gap:.45rem;margin-top:.5rem}.calibrator-preview-viewport{display:grid;place-items:center;min-height:13rem;overflow:hidden;border-radius:.42rem;background:#eef3fa;color:var(--muted);font-size:.78rem;font-weight:900}.calibrator-preview-viewport canvas{display:block;width:100%;height:13rem;cursor:grab}.calibrator-preview pre{max-height:14rem;margin:0;overflow:auto;padding:.55rem;border-radius:.42rem;background:#fff;font-size:.72rem}.placed-3d-list{display:grid;gap:.35rem;padding:.55rem;border-radius:.48rem;background:#fff;box-shadow:inset 0 0 0 1px #24304714}.placed-3d-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.35rem}.placed-3d-row button{min-height:2.1rem;border:0;border-radius:.38rem;background:#edf3fb;color:var(--ink);cursor:pointer;font-size:.72rem;font-weight:800;text-align:left}.placed-3d-row button:last-child{background:#fff1e8;color:#9a3f00;text-align:center}.placed-3d-empty{color:var(--muted);font-size:.82rem}.piece-3d-info pre{max-height:16rem;margin:0;overflow:auto;color:#354057;font-size:.76rem;font-family:Cascadia Mono,Consolas,monospace;font-weight:600;white-space:pre-wrap}.piece-3d-compare{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.piece-3d-compare-panel,.piece-3d-current{display:grid;gap:.35rem;place-items:center;min-width:0;padding:.55rem;border-radius:.48rem;background:#fff;box-shadow:inset 0 0 0 1px #24304714}.piece-3d-current,.piece-3d-match{grid-column:1 / -1}.piece-3d-compare-panel strong,.piece-3d-current strong{font-size:.78rem;color:var(--muted)}.shape-2d-preview{display:grid;grid-template-columns:repeat(var(--shape-cols),.72rem);grid-template-rows:repeat(var(--shape-rows),.72rem);gap:0;padding:.45rem;border-radius:.42rem;background:#eef3f8}.shape-2d-cell{width:.72rem;height:.72rem;background:#24304714}.shape-2d-cell.filled{border:1px solid rgba(255,255,255,.34);background:var(--piece-color);box-shadow:inset 0 -.08rem .14rem #00000024;filter:brightness(1.18)}.piece-3d-match{padding:.4rem .55rem;border-radius:.42rem;font-size:.78rem;text-align:center}.piece-3d-match.ok{background:#eef8e8;color:#356400}.piece-3d-match.warning{background:#fff1e8;color:#9a3f00}.completion-banner{padding:.78rem 1rem;border-radius:.65rem;background:#fffffff0;color:#486a00;font-weight:900;text-align:center;box-shadow:0 .65rem 1.4rem #20174a29}.mini-grid{display:grid;grid-template-columns:repeat(var(--mini-cols),1rem);grid-template-rows:repeat(var(--mini-rows),1rem);gap:.14rem;place-content:center;min-height:4.2rem}.mini-cell{width:1rem;height:1rem;border-radius:999px;background:#dfe5ef}.mini-cell.filled{background:var(--piece-color);box-shadow:inset 0 -.12rem .18rem #0000002e}.level-editor{display:grid;gap:.75rem;padding:.85rem}.level-editor[hidden]{display:none}.level-editor-header{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between}.level-editor h2,.level-editor h3,.level-editor p{margin:0}.level-editor h2{font-size:1.1rem;font-weight:900}.level-editor h3{margin-bottom:.4rem;font-size:.92rem;font-weight:900;color:var(--muted)}.level-editor p{margin-top:.25rem;color:var(--muted);font-size:.88rem;font-weight:700}.editor-actions{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.editor-actions button,.editor-actions select{min-height:2.35rem;border:1px solid #d6dce8;border-radius:.45rem;background:#fff;color:var(--ink);font-weight:800}.editor-actions button{padding:0 .7rem;background:var(--blue);color:#fff;cursor:pointer}.editor-actions select{padding:0 .55rem}.editor-validation{padding:.62rem .72rem;border-radius:.45rem;background:#eef7ff;color:#24517a;font-size:.86rem;font-weight:800;line-height:1.45}.editor-validation.has-errors{background:#fff1e8;color:#a94800}.editor-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.7rem}.editor-output{min-height:12rem;max-height:22rem;margin:0;padding:.65rem;overflow:auto;border-radius:.45rem;background:#101820;color:#ecf4ff;font-size:.76rem;line-height:1.45;white-space:pre}.status-bar{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.8rem;align-items:center;min-height:3.4rem;padding:.75rem 1rem;font-weight:700}.status-bar span:first-child{color:var(--orange-dark);font-weight:900}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:1rem;background:#141e2885}.overlay[hidden]{display:none}.dialog{display:grid;gap:.8rem;width:min(28rem,100%);padding:1.2rem;border-radius:.65rem;background:#fff;color:var(--ink);box-shadow:0 1rem 2.2rem #141e283d}.dialog h2,.dialog p{margin:0}.dialog p{line-height:1.6;color:var(--muted)}.dialog button{min-height:2.9rem;border:0;border-radius:.5rem;background:linear-gradient(180deg,var(--orange),var(--orange-dark));color:#fff;font-weight:900;cursor:pointer}@media (max-width: 980px){.top-controls{grid-template-columns:1fr}.action-controls{justify-content:flex-start}.puzzle-stage{grid-template-columns:1fr}.side-panel{min-height:0}.tray{grid-template-columns:repeat(auto-fit,minmax(5.4rem,6.8rem))}.editor-grid{grid-template-columns:1fr}}@media (max-width: 560px){.demo-shell{width:min(100vw - .7rem,34rem);padding-top:.8rem}.app-header{grid-template-columns:1fr;justify-items:center;text-align:center}.app-header h1{font-size:2.15rem}.app-header p,.app-header strong{font-size:1rem}.app-header strong{grid-row:auto;grid-column:auto}.top-controls{gap:.45rem;padding:.5rem}.setup-controls{grid-template-columns:1fr}.level-picker{min-height:3.15rem;padding:.35rem;background:#fff7ed;box-shadow:inset 0 0 0 2px #ff7d182e}.level-picker span{min-width:3.2rem;text-align:center}.action-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.action-controls #rotateButton,.action-controls #flipButton{display:none}.mobile-piece-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;width:min(22rem,100%);margin:0 auto}.mobile-piece-actions .control-button{min-height:3rem;font-size:1rem}.control-button,.level-select{min-height:2.75rem;font-size:.94rem;padding:0 .45rem}.board-wrap{justify-content:center}.attack-tip{font-size:.95rem;text-align:center}.status-bar{grid-template-columns:1fr;gap:.3rem}}@media (max-width: 768px){body.pyramid-3d-active{overflow-x:hidden}body.pyramid-3d-active .demo-shell{width:min(100vw - .7rem,46rem);padding-bottom:5.4rem}.puzzle-stage.pyramid-layout{grid-template-areas:"board" "panel" "tray";grid-template-columns:1fr;gap:.65rem}.pyramid-board-wrap{min-height:45vh;padding:.45rem}.pyramid-3d-board{min-height:45vh}.pyramid-panel{padding:.55rem}.pyramid-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pyramid-layer-controls button,.pyramid-actions button{min-height:44px}.pyramid-actions{position:fixed;right:.35rem;bottom:.35rem;left:.35rem;z-index:35;grid-template-columns:repeat(4,minmax(0,1fr));padding:.35rem;border-radius:.55rem;background:#fffffff5;box-shadow:0 .65rem 1.7rem #20174a38}.pyramid-actions button{font-size:.74rem}.tray-3d-bottom{max-width:calc(100vw - .7rem)}.tray-3d-bottom .piece-3d-list{grid-auto-columns:minmax(7.4rem,8.6rem)}.tray-3d-bottom .piece-3d-card{min-height:6rem}.piece-3d-info pre,.piece-3d-compare{display:none}}
