.game-shell:has(.suffix-puzzle-game){grid-template-columns:minmax(0,1fr);gap:12px}
.game-shell:has(.suffix-puzzle-game) .game-status{flex-direction:row;align-items:center;justify-content:space-between;gap:18px;padding:10px 14px}
.game-shell:has(.suffix-puzzle-game) .game-status strong{max-width:68%}
.game-shell:has(.suffix-puzzle-game) .game-tools{flex-direction:row;padding:0}
.game-shell:has(.suffix-puzzle-game) .game-tools button{flex:1;padding:12px 8px;text-align:center}
.suffix-puzzle-game{width:min(100%,1060px);display:grid;gap:6px;color:#f4ebd9}
.suffix-puzzle-title{margin:0;color:#f4ebd9;font:900 clamp(2.15rem,5vw,3.9rem)/.88 "Barlow Condensed",sans-serif;letter-spacing:.075em;text-align:center;text-transform:uppercase;text-shadow:2px 2px 0 #244940}
.suffix-puzzle-subtitle{margin:0;color:#91bfa7;font:800 .62rem "Barlow Condensed",sans-serif;letter-spacing:.28em;text-align:center;text-transform:uppercase}
.suffix-puzzle-foundry{--time-ratio:1;position:relative;overflow:hidden;display:grid;grid-template-areas:"summary" "paper" "choices" "label" "progress" "actions" "prompt";gap:10px;padding:15px 18px 13px;border:1px solid #98763f;border-radius:3px;background:#071b2f;background-image:radial-gradient(circle at 8% 16%,#d4a856 0 1px,transparent 1.5px),radial-gradient(circle at 92% 84%,#d4a856 0 1px,transparent 1.5px);background-size:31px 31px,43px 43px;box-shadow:inset 0 0 38px #010b13,0 5px 0 #020a10}
.suffix-puzzle-foundry::before{content:"";position:absolute;inset:10px;border:1px solid #9a783c70;pointer-events:none}
.suffix-puzzle-summary{grid-area:summary;position:relative;z-index:1;display:grid;grid-template-columns:repeat(5,1fr);margin-inline:18px;border-block:1px solid #9b7948;background:#061725}
.suffix-puzzle-summary span{display:grid;gap:2px;padding:8px 6px;text-align:center}
.suffix-puzzle-summary span+span{border-left:1px solid #735d3c}
.suffix-puzzle-summary small{color:#91bfa7;font:800 .48rem "Barlow Condensed",sans-serif;letter-spacing:.15em;text-transform:uppercase}
.suffix-puzzle-summary strong{color:#f4ebd9;font:900 .96rem "Barlow Condensed",sans-serif;letter-spacing:.04em}
.suffix-puzzle-summary span:nth-child(3) strong{color:#ef7555}
.suffix-puzzle-summary span:nth-child(4) strong{color:#ef7555;letter-spacing:.08em}
.suffix-puzzle-summary span:last-child{position:relative}
.suffix-puzzle-summary span:last-child::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:#1f493f}
.suffix-puzzle-summary span:last-child::before{content:"";position:absolute;z-index:1;left:0;bottom:-1px;width:calc(var(--time-ratio)*100%);height:3px;background:#91bfa7;transition:width .2s linear}
.suffix-puzzle-paper{grid-area:paper;position:relative;z-index:1;display:grid;gap:8px;padding:15px 22px 13px;border:2px solid #d1b987;border-radius:2px;background:#f4ebd9;color:#071b2f;box-shadow:4px 5px 0 #8f7446,0 10px 18px #0008}
.suffix-puzzle-paper::before,.suffix-puzzle-paper::after{content:"+";position:absolute;top:10px;color:#a8793d;font:400 1rem/1 monospace}
.suffix-puzzle-paper::before{left:12px}.suffix-puzzle-paper::after{right:12px}
.suffix-puzzle-clue-label{color:#183c34;font:800 .53rem "Barlow Condensed",sans-serif;letter-spacing:.16em;text-align:center;text-transform:uppercase}
.suffix-puzzle-clue{min-height:35px;display:grid;place-items:center;color:#d15b43;font:italic 700 clamp(1.05rem,2.7vw,1.55rem)/1.15 Georgia,serif;text-align:center}
.suffix-puzzle-assembly{width:min(100%,680px);min-height:76px;margin:auto;display:grid;grid-template-columns:minmax(150px,1.2fr) 38px minmax(105px,.72fr);align-items:center}
.suffix-puzzle-assembly span{min-width:0;padding:10px 16px;border:1px solid #123249;color:#071b2f;font:900 clamp(1.9rem,4.2vw,3.35rem)/.9 "Barlow Condensed",sans-serif;letter-spacing:.055em;text-align:center;text-transform:uppercase;overflow-wrap:anywhere}
.suffix-puzzle-base{background:#ede0c5;box-shadow:inset 0 0 0 4px #f7f0e3}
.suffix-puzzle-suffix{background:#a8d0b8;box-shadow:inset 0 0 0 4px #c5e0cf,0 4px 0 #547a68}
.suffix-puzzle-assembly i{color:#ef7555;font:900 1.7rem "Barlow Condensed",sans-serif;text-align:center}
.suffix-puzzle-result{min-height:17px;color:#315c50;font:900 .61rem "Barlow Condensed",sans-serif;letter-spacing:.18em;text-align:center;text-transform:uppercase;opacity:.55}
.suffix-puzzle-result.revealed{color:#d15b43;opacity:1;animation:suffix-print .3s ease-out}
.suffix-puzzle-choices{grid-area:choices;position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.suffix-puzzle-choice{min-height:70px;display:grid;grid-template-columns:31px 1fr 48px;align-items:center;gap:7px;padding:8px 10px;border:2px solid #567d6b;border-radius:2px;background:#a8d0b8;color:#071b2f;box-shadow:inset 0 0 0 3px #c5e0cf,0 5px 0 #345548,0 8px 13px #0006;cursor:pointer;transition:transform .14s,border-color .14s,box-shadow .14s,opacity .14s}
.suffix-puzzle-choice:nth-child(even){background:#9fc8ae}
.suffix-puzzle-choice:hover:not(:disabled),.suffix-puzzle-choice:focus-visible{transform:translateY(-3px);border-color:#ef7555;outline:3px solid #ef7555;outline-offset:2px;box-shadow:inset 0 0 0 3px #cbe4d5,0 5px 0 #345548,0 9px 15px #e2674d40}
.suffix-puzzle-choice>span{width:27px;aspect-ratio:1;display:grid;place-items:center;border:1px solid #173e36;border-radius:50%;font:900 .85rem "Barlow Condensed",sans-serif}
.suffix-puzzle-choice strong{overflow-wrap:anywhere;font:900 clamp(1rem,2.3vw,1.45rem) "Barlow Condensed",sans-serif;letter-spacing:.06em;text-align:center;text-transform:uppercase}
.suffix-puzzle-choice i{font:900 .42rem "Barlow Condensed",sans-serif;letter-spacing:.05em;text-align:right;text-transform:uppercase}
.suffix-puzzle-choice.hinted{border-color:#ef7555;box-shadow:inset 0 0 0 3px #d5eadc,0 0 0 4px #ef7555,0 8px 17px #e2674d55;animation:suffix-pulse .65s ease-in-out infinite alternate}
.suffix-puzzle-choice.correct{border-color:#ce5a41;background:#ef7555;box-shadow:inset 0 0 0 3px #f69378,0 5px 0 #9c3d2a}
.suffix-puzzle-choice.wrong{border-color:#a52222;animation:suffix-shake .24s linear}
.suffix-puzzle-choice.rejected{border-color:#706d64;background:#9a9c8f;box-shadow:none;opacity:.34}
.suffix-puzzle-choice:disabled{cursor:default}
.suffix-puzzle-progress-label{grid-area:label;position:relative;z-index:1;color:#d4a856;font:800 .48rem "Barlow Condensed",sans-serif;letter-spacing:.18em;text-align:center;text-transform:uppercase}
.suffix-puzzle-progress{grid-area:progress;position:relative;z-index:1;display:flex;justify-content:center;gap:52px}
.suffix-puzzle-progress span{position:relative;width:31px;aspect-ratio:1;display:grid;place-items:center;border:2px solid #a48855;border-radius:50%;background:#071b2f;color:#d0bd91;font:900 .72rem "Barlow Condensed",sans-serif}
.suffix-puzzle-progress span+span::before{content:"";position:absolute;right:100%;top:50%;width:56px;height:2px;background:#6c604c;transform:translateY(-50%)}
.suffix-puzzle-progress span.active{border-color:#ef7555;color:#ef7555;box-shadow:0 0 0 4px #ef75552c}
.suffix-puzzle-progress span.done{border-color:#ef7555;background:#ef7555;color:#071b2f}
.suffix-puzzle-progress span.done::after{content:"\2713"}
.suffix-puzzle-progress span.done+span::before{background:#ef7555}
.suffix-puzzle-actions{grid-area:actions;position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,190px));justify-content:center;gap:10px}
.suffix-puzzle-actions button{min-height:46px;border:1px solid #a98d58;border-radius:2px;background:#0b2338;color:#a8d0b8;font:900 .72rem "Barlow Condensed",sans-serif;letter-spacing:.1em;text-transform:uppercase;box-shadow:0 3px 0 #020b12;cursor:pointer}
.suffix-puzzle-actions button:last-child{color:#ef7555}
.suffix-puzzle-actions button:hover:not(:disabled),.suffix-puzzle-actions button:focus-visible{outline:3px solid currentColor;outline-offset:2px;transform:translateY(-1px)}
.suffix-puzzle-actions button:disabled{opacity:.38;cursor:default;transform:none}
.suffix-puzzle-prompt{grid-area:prompt;position:relative;z-index:1;margin:0;padding-top:6px;border-top:1px solid #6b5737;color:#b9aa8c;font-size:.59rem;line-height:1.4;text-align:center}
.suffix-puzzle-game.paused .suffix-puzzle-paper,.suffix-puzzle-game.paused .suffix-puzzle-choices,.suffix-puzzle-game.paused .suffix-puzzle-progress{opacity:.42}
.suffix-puzzle-game.complete .suffix-puzzle-title{color:#a8d0b8;text-shadow:2px 2px 0 #29483f}
@keyframes suffix-shake{25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
@keyframes suffix-pulse{to{box-shadow:inset 0 0 0 3px #d5eadc,0 0 0 5px #ef7555,0 9px 18px #e2674d77}}
@keyframes suffix-print{from{transform:translateY(-4px);letter-spacing:.35em;opacity:0}to{transform:none;letter-spacing:.18em;opacity:1}}
@media(prefers-reduced-motion:reduce){.suffix-puzzle-choice,.suffix-puzzle-summary span:last-child::before{transition:none}.suffix-puzzle-choice.wrong,.suffix-puzzle-choice.hinted,.suffix-puzzle-result.revealed{animation:none}}
@media(max-width:720px){
  .game-shell:has(.suffix-puzzle-game) .game-status{align-items:flex-start;flex-direction:column;gap:7px}.game-shell:has(.suffix-puzzle-game) .game-status strong{max-width:none}
  .suffix-puzzle-title{font-size:2rem}.suffix-puzzle-subtitle{font-size:.49rem}.suffix-puzzle-foundry{gap:8px;padding:11px 8px}.suffix-puzzle-summary{margin-inline:18px}.suffix-puzzle-summary span{padding:7px 2px}.suffix-puzzle-summary small{font-size:.4rem}.suffix-puzzle-summary strong{font-size:.73rem}
  .suffix-puzzle-paper{padding:13px 8px 10px}.suffix-puzzle-clue{min-height:31px;font-size:1.08rem}.suffix-puzzle-assembly{min-height:62px;grid-template-columns:minmax(105px,1.2fr) 27px minmax(78px,.72fr)}.suffix-puzzle-assembly span{padding:8px;font-size:1.8rem}.suffix-puzzle-assembly i{font-size:1.2rem}
  .suffix-puzzle-choices{gap:7px}.suffix-puzzle-choice{min-height:58px;grid-template-columns:27px 1fr;padding:7px}.suffix-puzzle-choice strong{font-size:1rem}.suffix-puzzle-choice i{display:none}.suffix-puzzle-choice>span{width:24px;font-size:.76rem}
  .suffix-puzzle-progress{gap:33px}.suffix-puzzle-progress span{width:27px}.suffix-puzzle-progress span+span::before{width:37px}.suffix-puzzle-actions button{min-height:46px}.suffix-puzzle-prompt{font-size:.52rem}
}
@media(max-width:430px){
  .suffix-puzzle-summary{margin-inline:10px}.suffix-puzzle-summary small{font-size:.35rem}.suffix-puzzle-summary strong{font-size:.64rem}.suffix-puzzle-paper{padding-inline:6px}.suffix-puzzle-clue{font-size:.98rem}.suffix-puzzle-assembly{grid-template-columns:minmax(85px,1.15fr) 21px minmax(69px,.75fr)}.suffix-puzzle-assembly span{font-size:1.45rem}
  .suffix-puzzle-choices{grid-template-columns:1fr 1fr}.suffix-puzzle-choice{min-height:51px}.suffix-puzzle-progress{gap:23px}.suffix-puzzle-progress span{width:25px}.suffix-puzzle-progress span+span::before{width:27px}.suffix-puzzle-prompt{display:none}
}
