#puzzleHeader,#puzzlePanel,#puzzleBoardActions,#puzzleMarks{display:none}
.miniDialog{position:fixed;border:2px solid var(--brass);border-radius:14px;background:#2c2013;color:var(--paper);padding:32px 24px 24px;width:min(480px,calc(100% - 24px));max-height:calc(100dvh - 32px);overflow:auto}
.miniDialog[open]{display:flex;flex-direction:column;gap:16px}
.miniDialog::backdrop{background:#090603bb}
.miniDialog h2{margin:0 24px 8px;text-align:center;color:var(--brass-hi);font-size:26px}
.miniDialog .btn{min-height:52px;white-space:normal;line-height:1.4}
#preventRuleText{white-space:pre-line;line-height:1.7;margin:0;text-align:left;font-size:16px}
#preventRuleDemo{width:100%;aspect-ratio:1.5;overflow:hidden;border:1px solid #8b6d37;border-radius:8px;background:#120c07}
#preventRuleDemo iframe{border:0;width:100%;height:100%;pointer-events:none}
body.preventDemo #boardWrap{display:block!important}
body.preventDemo #boardWrap > :not(#board){display:none!important}
#preventRuleDemo[hidden],#preventRuleText[hidden],#puzzleStartModal .puzzleDifficulty[hidden],#puzzleStartModal .puzzleChoiceLabel[hidden],#puzzlePanel .puzzleDifficulty[hidden]{display:none}
#puzzleRetry.retryAppeal{animation:retryAppeal 2.4s ease-in-out infinite;background:#f4d478;color:#35210a;border-color:#fff0ac}
@keyframes retryAppeal{0%,100%{box-shadow:0 0 0 2px #f7dc8c44;filter:brightness(1)}50%{box-shadow:0 0 18px 4px #f7dc8c77;filter:brightness(1.14)}}
@media(prefers-reduced-motion:reduce){#puzzleRetry.retryAppeal{animation:none;box-shadow:0 0 0 3px #f7dc8c88}}
body[data-mode="puzzle"] #app{display:grid;grid-template-columns:auto 340px;gap:18px 24px;align-content:start;align-items:start;max-width:1200px;margin:auto;padding:16px}
body[data-mode="puzzle"] #puzzleHeader{display:flex;grid-column:1/-1;width:100%;margin:0}
body[data-mode="puzzle"] #topbar,body[data-mode="puzzle"] #sideL,body[data-mode="puzzle"] #panel,body[data-mode="puzzle"] #phoneCards,body[data-mode="puzzle"] .fuse,body[data-mode="puzzle"] #btnPass,body[data-mode="puzzle"] #start,body[data-mode="puzzle"] #banner{display:none!important}
body[data-mode="puzzle"] #boardWrap{position:relative;top:auto;align-self:start}
body[data-mode="puzzle"] #puzzlePanel{display:block;min-width:0;max-width:100%}
body[data-mode="puzzle"] #puzzleBoardActions{display:block;grid-column:1;grid-row:3;width:100%;max-width:600px;justify-self:center}
body[data-mode="puzzle"] #puzzlePanel{grid-column:2;grid-row:2 / 4}
.puzzleControls{padding:20px;display:flex;flex-direction:column;gap:20px}
.puzzleMeta{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px;color:var(--brass-hi)}
#puzzleColor{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--paper)}
#puzzleColor:before{content:'';width:15px;height:15px;border:2px solid #c4733a;border-radius:50%;background:#30343b}
#puzzleColor[data-color="2"]:before{border-color:#2a9d97;background:#ecd07c}
#puzzleColor[hidden]{display:none}
#puzzleStartModal .rm-card{gap:20px;padding:30px 24px 24px;width:min(100%,520px)}
#puzzleStartTitle{font-size:24px;line-height:1.5;padding:0 24px;overflow-wrap:anywhere}
#puzzleStartClose{width:44px;height:44px;top:4px;right:4px}
.puzzleChoiceLabel{margin:0;font-size:16px;color:#cdb98a}
#puzzleStartModal .dlgRow{margin-top:6px}
#puzzleTitle:focus{outline:none}
.puzzleDifficulty{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.puzzleDifficulty .chip{height:auto;min-height:44px;padding:7px 5px;font-size:14px;white-space:normal;line-height:1.4}
.puzzleFeedback{min-height:104px;display:flex;flex-direction:column;justify-content:center;gap:8px;line-height:1.7;border-top:1px solid #7b5a1c66;border-bottom:1px solid #7b5a1c66;padding:14px 0}
#puzzleStatus{font-size:18px;color:var(--brass-hi)}
#puzzleStatus[data-state="correct"]{color:var(--teal)}
#puzzleStatus[data-state="wrong"]{color:#ff9d7a}
#puzzlePoint{font-size:14px;color:#cdb98a;min-height:1.4em}
.puzzleActions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
#puzzlePanelActions:empty{display:none}
.puzzleActions .btn{min-height:46px;min-width:0;padding:9px;font-size:16px;white-space:normal}
.puzzleFooter{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#cdb98a;font-size:14px}
.puzzleSound{display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer}
.puzzleSound input{width:18px;height:18px;accent-color:var(--brass)}
body[data-mode="puzzle"] #puzzleMarks{display:block;position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
#puzzleMarks circle{fill:#f6dc8a22;stroke:var(--brass-hi);stroke-width:2.5}
@media(max-width:920px){
  body[data-mode="puzzle"] #app{display:flex;flex-direction:column;gap:12px;padding:10px 10px 24px}
  body[data-mode="puzzle"] #puzzleHeader{align-self:center;max-width:560px;min-height:54px;gap:8px}
  body[data-mode="puzzle"] #puzzleHeader h2{font-size:clamp(15px,4.5vw,20px);padding:0;text-align:right;line-height:1.4}
  body[data-mode="puzzle"] #boardWrap{align-self:center}
  body[data-mode="puzzle"] #puzzlePanel{align-self:center;width:100%;max-width:560px}
  body[data-mode="puzzle"] #puzzleBoardActions{display:none}
  .puzzleControls{padding:14px;gap:12px}
  .puzzleActions .btn{font-size:14px;padding:9px 5px}
  .puzzleFeedback{min-height:75px;padding:8px 0;gap:2px}
  #puzzleStatus{font-size:16px}
  #puzzlePoint{font-size:12px;min-height:1.2em}
}
