.cb-stage{display:grid;gap:16px;justify-items:center;padding:12px 0 20px;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;direction:ltr}.cb-console{position:relative;width:100%;overflow:hidden;border:1px solid #85703e;border-radius:22px;background:linear-gradient(130deg,#1b2d30,#0c171d 40%,#152528);box-shadow:inset 0 0 0 4px #101a1c,inset 0 0 0 5px #a28c4833,0 14px 30px #0007;padding:0 16px 16px}.cb-vault{position:relative;height:136px;margin:0 -16px 0;overflow:hidden;background:#071015}.cb-vault img{position:absolute;width:100%;height:auto;top:50%;left:0;transform:translateY(-50%);filter:brightness(.88)}.cb-vault::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#101d22,transparent 40%)}.cb-entry{position:relative;display:grid;grid-template-columns:repeat(var(--digits,3),minmax(0,1fr));gap:8px;padding:12px 0 16px;margin-top:-12px}.cb-slot{position:relative;display:grid;place-items:center;min-width:0;min-height:64px;margin:0;padding:8px 2px 12px;border:1px solid #927847;border-radius:10px;background:linear-gradient(145deg,#071316,#172a2e);box-shadow:inset 0 3px 8px #000b,0 1px #e8cf8a55;color:#fff0c4;font:normal clamp(30px,9cqw,48px)/1 Georgia,serif;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.cb-slot:disabled{opacity:1;cursor:default}.cb-slot.is-active{border-color:#ffe6a1;box-shadow:inset 0 3px 8px #000b,0 0 0 1px #ffe6a155}.cb-slot.is-fixed{border-color:#a6d9ac;background:linear-gradient(145deg,#142b25,#234239);color:#c6f5c8}.cb-slot.is-misplaced{border-color:#f0c871;color:#ffe5a0}.cb-slot-mark{position:absolute;bottom:5px;left:0;width:100%;text-align:center;font:700 11px/1 sans-serif}.cb-feedback{display:flex;justify-content:center;gap:14px;margin:0 0 14px}.cb-clue{display:flex;align-items:center;justify-content:center;gap:10px;min-width:100px;min-height:44px;padding:5px 12px;border:1px solid #79633c;border-radius:24px;background:#08141a;color:#f5e5bb;font-size:19px;touch-action:manipulation}.cb-clue:disabled{opacity:1;cursor:default;border-color:#344341}.cb-help-mark{font-size:12px;font-weight:bold;border:1px solid #b19962;width:21px;height:21px;border-radius:50%;display:grid;place-items:center}.cb-clue:disabled .cb-help-mark{visibility:hidden}.cb-clue:has(.cb-help-mark:not(:empty)){position:relative}.cb-exact{color:#b0e6bd}.cb-misplaced{color:#f6cf7e}.cb-keypad{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.cb-key{min-width:0;min-height:52px;border:1px solid #887349;border-radius:11px;margin:0;padding:4px;background:linear-gradient(160deg,#354443,#17272b 55%,#111d24);box-shadow:inset 0 1px #f5e3af33,0 3px 0 #050c11;color:#f9edcf;font:normal 27px/1 Georgia,serif;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.cb-key:active{transform:translateY(2px);box-shadow:inset 0 1px #f5e3af33}.cb-key:disabled{opacity:.35;cursor:default}.cb-actions{display:grid;grid-template-columns:56px 48px minmax(0,1fr);gap:10px;margin-top:14px}.cb-actions>button{min-width:0;min-height:48px;margin:0;font-size:17px;touch-action:manipulation}.cb-actions #erase{font-size:27px}.cb-actions>button:disabled{opacity:.45;cursor:default}.cb-history{width:100%;border:1px solid #6d5936;border-radius:16px;background:#0c151c;overflow:hidden}.cb-history h2{font:normal 16px Georgia,serif;color:#f0dba3;margin:0;padding:12px 14px;border-bottom:1px solid #5b4b31}.cb-history ol{list-style:none;margin:0;padding:0;max-height:164px;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y}.cb-attempt{display:grid;grid-template-columns:36px 1fr auto;gap:9px;align-items:center;min-height:45px;padding:8px 13px;border-bottom:1px solid #31403b}.cb-attempt:last-child{border-bottom:0}.cb-attempt-number{color:#baa982;font-size:12px}.cb-attempt-code{color:#f1e5cb;font:normal 24px/1 Georgia,serif;white-space:nowrap;letter-spacing:.04em}.cb-attempt-clues{display:flex;gap:14px;font-size:17px;font-weight:700}.cb-history-empty{padding:14px;color:#c0b498;font-size:14px}.cb-result-code{font:normal 40px Georgia,serif;text-align:center;letter-spacing:.1em;color:#ffe6a0}#result-dialog>button{width:100%;margin-top:12px}.cb-stage[data-solved=true] .cb-vault img{filter:brightness(1.12)}.cb-stage[data-solved=true] .cb-console{border-color:#b9d6a9}@container gf-page (min-width:600px){.cb-console{width:min(90%,760px)}.cb-console{padding:0 28px 24px}.cb-vault{height:230px;margin:0 -28px}.cb-entry{gap:14px;padding:16px 0 24px}.cb-slot{min-height:104px;font-size:64px}.cb-keypad{gap:14px}.cb-key{min-height:76px;font-size:37px}.cb-actions{grid-template-columns:76px 60px minmax(0,1fr);margin-top:22px}.cb-actions>button{min-height:60px;font-size:22px}.cb-clue{min-width:140px;min-height:52px;font-size:24px}.cb-history h2{font-size:21px}.cb-attempt{min-height:54px}.cb-attempt-code{font-size:30px}.cb-history ol{max-height:200px}.cb-stage{gap:22px}}

.cb-stage{position:relative}.cb-turn-info{position:absolute;z-index:5;bottom:calc(100% - 2px);left:50%;transform:translateX(-50%);width:calc(100% - 16px);max-width:520px;border:1px solid #d9bb76;border-radius:16px;background:linear-gradient(145deg,#243d3a,#101f26);box-shadow:0 8px 24px #0009;color:#f9edcf;text-align:center}.cb-turn-info::after{content:"";position:absolute;left:calc(50% - 8px);bottom:-9px;width:16px;height:16px;transform:rotate(45deg);border-right:1px solid #d9bb76;border-bottom:1px solid #d9bb76;background:#15282b}.cb-turn-info p{margin:0;padding:15px 48px 15px 16px;font-size:16px;line-height:1.4;max-height:var(--turn-info-headroom,180px);overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y}.cb-turn-close{position:absolute;z-index:1;top:2px;right:2px;width:44px;height:44px;min-width:44px;min-height:44px;margin:0;border:0;background:transparent;color:#ffe5a0;box-shadow:none;font-size:26px}.cb-feedback{gap:12px}.cb-clue{display:grid;grid-template-columns:auto auto auto;gap:4px 8px;min-width:0;flex:1;padding:8px 10px;border-radius:14px}.cb-clue-label{grid-column:1/-1;font-size:14px;line-height:1.3;font-weight:normal;color:#e9ddbc;white-space:normal}@container gf-page (min-width:600px){.cb-clue-label{font-size:18px}.cb-turn-info p{font-size:20px}}

.cb-actions #show-attempts{font-size:24px}.cb-history-close{width:100%;margin-top:14px}#attempts-dialog .cb-history ol{max-height:min(55svh,460px)}

#misplaced-help{grid-template-columns:auto auto}
