.orientation-gate[hidden],.recovered-menu[hidden]{display:none}
.orientation-gate{position:fixed;inset:0;z-index:30;background:#171025 url('assets/recovered/orientation-bg.png') center/cover no-repeat;display:grid;place-items:center}
.orientation-gate:not([open]){display:none}
dialog.orientation-gate{width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;outline:0;color:inherit}
.orientation-gate::before{content:'';position:absolute;inset:0;background:#09051333;pointer-events:none}
.orientation-art{position:relative;width:min(62vw,320px);aspect-ratio:1.15;transform:translate(-7%,0);pointer-events:none}
.orientation-phone{position:absolute;width:35%;height:auto;object-fit:contain;filter:drop-shadow(0 2px 2px #19060066)}
.orientation-phone.horizontal{width:40%;left:52%;top:16%;transform:rotate(-90deg);transform-origin:50% 80%;opacity:.18}
.orientation-phone.vertical{width:40%;left:52%;top:16%;transform:rotate(0);transform-origin:50% 80%;z-index:2}
.orientation-arrow{position:absolute;width:52%;height:auto;left:0;top:0;transform:rotate(-90deg) scaleX(-1);z-index:3}
.orientation-gate[open] .orientation-phone.vertical{animation:orientation-turn-phone 3.2s ease-in-out infinite}
.orientation-gate[open] .orientation-arrow{animation:orientation-turn-arrow 3.2s ease-in-out infinite}
.orientation-back{position:absolute;bottom:max(24px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);border:2px solid #e8b954;border-radius:24px;background:#3a0d08;color:#ffdc82;padding:9px 22px;font-weight:700;white-space:nowrap}
@keyframes orientation-turn-phone{0%{transform:rotate(0);opacity:0}12%,25%{transform:rotate(0);opacity:1}62%,76%{transform:rotate(-90deg);opacity:1}88%{transform:rotate(-90deg);opacity:0}100%{transform:rotate(0);opacity:0}}
@keyframes orientation-turn-arrow{0%,12%,80%,100%{opacity:0}25%,60%{opacity:1}}
.recovered-menu{margin-top:24px;padding-top:15px;border-top:1px solid #bf833d}
.recovered-menu h3{margin:0;color:#f4d568;font-family:Adlinnaka,Arial,sans-serif;font-size:19px}
.recovered-menu p{font-size:12px;line-height:1.45;margin:8px 0 13px}
.recovered-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.recovered-menu-grid button{min-height:44px;padding:7px;border:1px solid #b88540;border-radius:8px;background:#37100c;color:#ffe8b0;font-size:13px}
.recovered-menu-grid button:hover{background:#672218}
.recovered-dialog{width:min(90vw,600px);background:#330801 url('assets/recovered/popup-base.png') center/100% 100% no-repeat}
.recovered-dialog-content{min-height:120px;padding:8px 12px}
.recovered-dialog-content p{font-size:18px;line-height:1.5;color:#fff;text-align:center}
.recovered-dialog-content small{display:block;margin-top:20px;color:#dbc895;font-size:11px;overflow-wrap:anywhere}
.recovered-progress{position:relative;width:min(100%,420px);height:42px;margin:18px auto;background:url('assets/recovered/progress-base.png') center/100% 100% no-repeat}
.recovered-progress::before{content:'';position:absolute;inset:7px 3px;background:url('assets/recovered/progress-fill.png') center/100% 100% no-repeat}
.recovered-progress span{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:15px;font-weight:bold;text-shadow:0 1px 2px #000}
@media(prefers-reduced-motion:reduce){.orientation-gate[open] .orientation-phone.vertical{animation:none;transform:rotate(-45deg);opacity:1}.orientation-gate[open] .orientation-arrow{animation:none;opacity:1}}
@media(max-width:480px){.recovered-menu-grid{grid-template-columns:1fr}}
