.desktop-shortcuts>[data-open-window="crypt"]{grid-area:crypt}
.desktop-enabled.free-desktop .desktop-shortcuts{grid-template-areas:"lab mines3 printing" "mail trading escape" "game wiki asteroids" "mines media crypt"}
.compact-desktop .desktop-shortcuts{grid-template-areas:"lab game wiki mines3" "mail mines media trading" "asteroids escape printing crypt"}
@media(min-width:600px){.compact-desktop .desktop-shortcuts{grid-template-areas:"lab game wiki mines3 asteroids printing" "mail mines media trading escape crypt"}}
.desktop-enabled .crypt-window .window-body{display:flex;overflow:hidden;padding:0;min-height:0}
[data-crypt-mount]{display:flex;flex:1;min-width:0;min-height:0}
.crypt-app{display:flex;flex:1;flex-direction:column;min-width:0;min-height:0;background:#151411;color:#c6bba0;font:12px Georgia,serif}
.crypt-toolbar{display:flex;align-items:center;gap:6px;flex-shrink:0;padding:7px 9px;background:linear-gradient(#35312a,#211e19);border-bottom:1px solid #66543b}
.crypt-toolbar strong{margin-right:auto;letter-spacing:2px;font-size:13px;color:#d6bd87}
.crypt-app button{border:1px solid #796448;border-radius:0;background:linear-gradient(#443b2e,#28231c);color:#e0d2b2;padding:6px 10px;min-height:32px;font:12px Georgia,serif;cursor:pointer}
.crypt-app button:hover{background:#55462e}.crypt-app button:focus-visible{outline:2px solid #edc57c;outline-offset:2px}
.crypt-screen{position:relative;flex:1;min-height:160px;background:#080909;overflow:hidden}
.crypt-screen canvas{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;touch-action:none;cursor:crosshair}
.crypt-screen canvas:focus-visible{outline:1px solid #bda66f;outline-offset:-2px}
.crypt-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:20px;text-align:center;background:#080909b8}
.crypt-overlay[hidden]{display:none}.crypt-overlay strong{font-size:clamp(24px,4vw,38px);font-weight:normal;letter-spacing:5px;color:#dec38a;text-shadow:0 3px 8px #000}
.crypt-overlay p{margin:0;max-width:340px;line-height:1.6;color:#c2b8a1}.crypt-overlay button{padding:10px 28px;color:#f5dfb4;border-color:#b08a51}
.crypt-hud{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:9px 14px;border-top:2px solid #68563a;background:linear-gradient(#302b22,#191713);flex-shrink:0}
.crypt-vital label{display:flex;justify-content:space-between;font-size:11px;letter-spacing:1px;margin-bottom:5px}.crypt-vital progress{display:block;width:100%;height:12px;accent-color:#9c3030}.crypt-vital:last-child progress{accent-color:#a47c45}.crypt-seal{color:#a88b58;font-size:24px}
.crypt-help{padding:7px 10px;font:11px/1.5 Tahoma,sans-serif;color:#b2aa98;border-top:1px solid #3c3529;flex-shrink:0}.crypt-message{padding:5px 10px;color:#dbbd7c;font:11px/1.4 Tahoma,sans-serif;min-height:25px;flex-shrink:0}
.crypt-mobile-attack{display:none}
.crypt-depth{font:11px Tahoma,sans-serif;white-space:nowrap;color:#c6bba0}
.crypt-app button:disabled{opacity:.45;cursor:default}
.crypt-classes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:min(560px,100%);border:0;padding:0;margin:2px 0}
.crypt-classes[hidden]{display:none}.crypt-classes legend{font:12px Georgia,serif;color:#c6bba0;margin-bottom:8px}
.crypt-classes label{position:relative;display:flex;flex-direction:column;gap:7px;border:1px solid #67583e;background:#1e1c17;padding:12px 9px;cursor:pointer;text-align:left}
.crypt-classes label:has(input:checked){border-color:#e0bc76;background:#3a3021;box-shadow:inset 0 0 18px #bc8a2c18}
.crypt-classes label:focus-within{outline:2px solid #edc57c;outline-offset:2px}
.crypt-classes input{accent-color:#caab73;margin:0;width:14px;height:14px}.crypt-classes label strong{font-size:17px;letter-spacing:0;text-shadow:none}.crypt-classes label span{font:11px/1.4 Tahoma,sans-serif;color:#dbc69f}.crypt-classes small{font:11px/1.4 Tahoma,sans-serif;color:#b8b09f}
@media(max-width:650px){.crypt-toolbar{flex-wrap:wrap}.crypt-toolbar strong{flex:1;font-size:12px;letter-spacing:1px}.crypt-depth{font-size:10px}.crypt-overlay{gap:8px;padding:12px}.crypt-classes{gap:5px}.crypt-classes label{padding:8px 6px}.crypt-classes label strong{font-size:14px}.crypt-classes small{font-size:10px}}
@media(max-height:500px){.crypt-classes label{padding:5px;gap:3px}.crypt-classes small{display:none}.crypt-classes legend{display:none}.crypt-overlay>strong{font-size:22px}.crypt-overlay>p{font-size:11px}.crypt-overlay>button{padding:5px 20px}}
.compact-desktop .desktop-enabled .crypt-window{position:fixed!important;inset:4px 4px 54px!important;width:auto!important;height:calc(100dvh - 58px)!important;max-height:none!important}
@media(pointer:coarse){.crypt-mobile-attack{display:block}.crypt-help{font-size:10px}}
@media(max-width:500px){.crypt-toolbar strong{font-size:11px;letter-spacing:1px}.crypt-toolbar{gap:4px;padding:5px}.crypt-app button{padding:5px 7px}.crypt-hud{padding:8px;gap:8px}.crypt-overlay strong{font-size:24px}.crypt-help{font-size:10px}}
@media(max-height:500px){.crypt-help{display:none}.crypt-toolbar{padding:3px 6px}.crypt-hud{padding:4px 9px}.crypt-message{padding:3px 8px;min-height:20px}.crypt-overlay{gap:6px}.crypt-overlay p{font-size:11px}}
