.logic-dialog{width:min(780px,96vw);max-height:94dvh;box-sizing:border-box;overflow:auto;border:0;border-radius:24px;padding:clamp(14px,3vw,28px);background:linear-gradient(145deg,#f6f7fc,#e7e3ff);color:#24265d;font:16px system-ui;box-shadow:0 24px 80px #24265d55}.logic-dialog::backdrop{background:#151638aa}.logic-dialog header{display:flex;align-items:center;justify-content:space-between;gap:12px}.logic-dialog h2{font-size:clamp(20px,4vw,28px)}.logic-dialog button,.logic-dialog select,.logic-dialog input{font:inherit;min-height:44px;border:1px solid #c9c5e9;border-radius:12px;padding:9px 12px;background:white;color:#24265d;margin:4px;max-width:100%;box-sizing:border-box}.logic-dialog button{cursor:pointer;box-shadow:0 3px 0 #c4bce9}.logic-dialog button:disabled{cursor:default;box-shadow:none}.logic-dialog button:focus-visible{outline:3px solid #32b9c5;outline-offset:2px}.logic-board{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));max-width:560px;margin:20px auto;gap:4px;align-items:center}.logic-board button{margin:0;padding:2px;aspect-ratio:1;min-width:0;min-height:36px;font-size:clamp(16px,4vw,27px);font-weight:750;background:linear-gradient(#fff,#eee9ff)}.logic-board button[aria-pressed=true]{outline:3px solid #7659de}.logic-board button.given{background:#d8e9ed;color:#24434c}.logic-board button.filled{background:linear-gradient(#32b9c5,#258491);color:white}.logic-clue,.logic-relation{text-align:center;font-weight:750;font-size:clamp(12px,3vw,20px);overflow-wrap:anywhere}.logic-board.inequality{gap:1px}.logic-board.inequality button{min-height:38px}.logic-board.pyramid{display:block}.pyramid-row{display:flex;justify-content:center;gap:5px;margin-bottom:6px}.pyramid-row button{width:16%;background:linear-gradient(#ffe49b,#ffc64b);color:#45320c}.logic-pad{display:flex;justify-content:center;flex-wrap:wrap}.logic-primary{background:#7659de!important;color:white!important}.logic-correct{color:#176a3e;font-weight:700}.logic-wrong{color:#a13e27;font-weight:700}@media(max-width:420px){.logic-dialog{padding:12px}.logic-board{gap:2px}.logic-board button{min-height:32px}.logic-board.inequality button{min-height:34px}.logic-dialog section>button{margin:4px 2px;padding:9px}}
.logic-board.sky button{background:linear-gradient(to top,#83d6db var(--building-height,0%),#ffffff var(--building-height,0%));border-bottom:4px solid #61a7b5;text-shadow:0 1px white}.logic-board.sky button.given{background:linear-gradient(to top,#b2a4ee var(--building-height,0%),#f1edff var(--building-height,0%));border-bottom-color:#8d7bd2}

/* Consistent accessible navigation and feedback transitions. */
.logic-dialog{overscroll-behavior:contain;overflow-anchor:none}.logic-dialog>header{position:sticky;top:-1px;z-index:5;background:#f6f7fc;padding:8px 0;border-bottom:1px solid #dcd5ef}.logic-dialog button{touch-action:manipulation;transition:background-color .15s,box-shadow .15s}.logic-dialog button:not(:disabled):active{box-shadow:none}.logic-dialog button:disabled{opacity:.65}.logic-dialog [role=status]{min-height:2.6em}@media(prefers-reduced-motion:reduce){.logic-dialog *{transition:none!important;animation:none!important}}

/* Clear action hierarchy shared by the nineteen logic games. */
.logic-dialog .logic-board{width:100%;max-width:420px;margin:14px auto}.logic-dialog>section>h3{margin:10px 0}.logic-dialog>section>p:not(.logic-next-action){font-size:14px;margin:8px 0}.logic-dialog>section>[role=status]:empty{display:none}
.logic-next-action{padding:12px 16px;border-radius:14px;background:#fff3cb;border-left:5px solid #e4aa25;font-weight:700;line-height:1.5;color:#41341b;min-height:0!important}
.logic-actions{display:flex;justify-content:center;margin:14px 0 6px}.logic-actions>.logic-primary{width:min(100%,340px);min-height:50px;font-weight:800;font-size:18px;background:linear-gradient(110deg,#6246c6,#7659de)!important}
.logic-tools{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;padding:12px 0;margin-top:14px;border-top:1px solid #dcd5ef}.logic-tools>button{flex:1 1 120px;max-width:230px;min-height:44px;font-size:14px!important;box-shadow:none;background:#fff}
.logic-pad,.sudoku-pad{padding:10px;border:1px solid #ded8ee;border-radius:16px;background:#fff;box-sizing:border-box;gap:4px;margin:12px auto}.logic-pad:empty{display:none}.logic-pad>button:not(.mosaic-piece){min-width:44px;font-weight:750}.logic-dialog .logic-correct{background:#e0f6e9;border-radius:12px;padding:12px}.logic-dialog .logic-wrong{background:#fff0df;border-radius:12px;padding:12px}
@media(max-width:450px){.logic-tools{gap:4px}.logic-tools>button{margin:2px;flex-basis:120px}.logic-next-action{padding:10px;font-size:14px}.logic-pad{padding:7px}}
