/* Metin2-inspired controls with transparent, tightly cropped shop windows. */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
model-viewer{touch-action:pan-y}
#item-popover{width:330px;padding:16px;background:linear-gradient(135deg,#171515f5,#0c0909f8);border:1px solid #944148;border-radius:3px;box-shadow:0 0 0 3px #171112,0 0 0 4px #552f32,0 20px 60px #000c}
.item-header{border-color:#a84e565c}.item-header h3{font-size:15px;color:#bea5a7;text-shadow:0 1px 2px #000}.item-header .micro-label{color:#9b7175;letter-spacing:2px}
#item-stats{margin:12px 0 4px}#item-stats>div{font-size:11px;padding:5px 0;gap:10px;line-height:1.45}#item-stats dd{white-space:normal;flex-shrink:0;max-width:155px}#item-stats .bonus-row dt,#item-stats .bonus-row dd{color:#bd797f}.item-hint{border-top:1px solid #6e3c414a;padding-top:10px;margin-top:10px;line-height:1.6}
#item-visual model-viewer{height:170px;background:radial-gradient(ellipse,#804c511c,transparent 70%)}
.item-sprite{position:relative;display:block;overflow:hidden;width:55px;flex-shrink:0}.item-sprite img{position:absolute;height:auto;display:block;pointer-events:none}.equipment>.item-sprite{width:26px;max-height:45px}.equipment .clean-item-icon{height:36px;width:27px;object-fit:contain}
.flat-item-preview{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%;min-height:95px;background:radial-gradient(ellipse,#bb4c5619,transparent 70%);padding:10px;color:#ae8f92}.flat-item-preview .item-sprite{width:auto;height:65px;max-width:100px;transition:height .2s}.flat-item-preview .clean-item-icon{height:65px;max-width:100px;object-fit:contain}.flat-item-preview.enlarged .item-sprite,.flat-item-preview.enlarged .clean-item-icon{height:125px;max-width:180px}.flat-item-preview small{font-size:9px}
#shop-window{position:fixed;inset:100px 4vw auto auto;margin:0;padding:0;width:310px;max-width:80vw;max-height:calc(100dvh - 112px);overflow:auto;border:0;background:transparent;color:#cdbbbc;filter:drop-shadow(0 18px 30px #000b);z-index:50}
.shop-cut{position:relative;width:100%;overflow:hidden;border-radius:10px;background:transparent}.shop-original{position:absolute;display:block;height:auto;max-width:none;pointer-events:none}.shop-close{position:absolute;right:1.5%;top:1.3%;width:10%;height:5.8%;padding:0;border:1px solid #7e7475;border-radius:3px;background:linear-gradient(#473f40,#201c1c);color:#e4dadb;z-index:3;font-size:22px;line-height:1}.shop-close:hover{color:#fff;background:#694246}.shop-items{position:absolute;inset:0}.shop-items button{position:absolute;background:transparent;border:1px solid transparent;min-width:0;min-height:0;padding:0}.shop-items button:hover,.shop-items button:focus-visible{background:#af919422;border-color:#c86e76;box-shadow:inset 0 0 12px #be545d40;outline:none}.shop-foot{position:absolute;bottom:2%;left:5%;width:90%;height:9%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(#201b1b,#130f0f);border:1px solid #73464a;font-size:12px;color:#bba2a4;pointer-events:none}.shop-foot span{font-size:9px;color:#9d888a}
.voice-section{border-top:1px solid #a84d5530;background:radial-gradient(ellipse at 20% 50%,#32222366,transparent 60%)}.voice-layout{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;gap:40px}.voice-character{position:relative;min-height:650px;background:radial-gradient(ellipse at 50% 40%,#533c3e4a,#170e0f00 68%);overflow:hidden}.voice-character model-viewer{position:absolute;inset:30px 0 80px;width:100%;height:calc(100% - 110px);--progress-bar-color:#ba5c64}.voice-badge{position:absolute;top:28px;left:25px;z-index:2;letter-spacing:3px;font-size:9px;color:#bf7178}.voice-character-caption{position:absolute;bottom:30px;left:25px;right:25px;text-align:center}.voice-character-caption b{font-family:Georgia,serif;font-weight:400;font-size:22px;color:#c4aeb0}.voice-character-caption small{display:block;font-size:10px;margin-top:9px;color:#907c7e}.voice-light,.record-light{display:inline-block;border-radius:50%;width:7px;height:7px;background:#675153;margin-right:10px}.mic-active .voice-light{background:#b99fa1;box-shadow:0 0 15px #bda3a6}.is-recording .record-light{background:#e37366;box-shadow:0 0 12px #e37366}
.voice-console{padding:0 27px 24px;border:1px solid #8e444b;background:linear-gradient(130deg,#221c1d,#150f10);box-shadow:inset 0 0 0 3px #0f0b0b,inset 0 0 0 4px #573235,0 20px 40px #0003;border-radius:6px}.game-title{margin:5px -22px 20px;padding:9px 12px;display:flex;justify-content:center;align-items:center;gap:16px;border:1px solid #70393e;background:linear-gradient(#502327,#201516);border-radius:4px;color:#b89ea0}.game-title h3{font-family:Georgia,serif;font-size:19px}.game-title>span{font-size:9px;color:#b86169}.voice-intro{font-size:11px;line-height:1.6;margin-bottom:22px!important}.voice-console select{display:block;max-width:100%;width:100%;padding:10px 9px;background:#130d0e;color:#c5afb1;border:1px solid #663b3f;font-size:11px}.voice-device-label{display:block;color:#bba2a4;font-size:11px;margin:15px 0 6px}.audio-range-label{display:flex;justify-content:space-between;align-items:center;font-size:10px;margin:15px 0 5px;color:#a89193}.audio-range-label output{color:#b4979a}.voice-console input[type=range]{width:100%;height:20px;accent-color:#bc626a;cursor:pointer}.voice-console input[type=checkbox]{accent-color:#ba5e66;width:15px;height:15px;margin:0}.signal-row{display:flex;justify-content:space-between;font-size:9px;color:#997f81;margin-top:5px}.signal-bar{height:7px;margin-top:7px;background:#0d0909;overflow:hidden;border-radius:2px;border:1px solid #402e30}.signal-bar span{display:block;width:0%;height:100%;background:linear-gradient(90deg,#9c6267,#b39699,#c66770);transition:width .06s}.voice-console>small{font-size:9px;color:#897476;display:block;margin-top:4px}.voice-checks{display:flex;flex-wrap:wrap;gap:15px;margin:18px 0;color:#bba3a5;font-size:10px}.voice-checks label{display:flex;align-items:center;gap:8px}.voice-mode-row{display:grid;grid-template-columns:1fr 1fr;gap:7px 12px}.voice-mode-row>label{grid-column:1/-1;font-size:10px;color:#ad9597}.game-button{border:1px solid #784d51;border-radius:3px;color:#ccb9bb;background:linear-gradient(#403031,#271c1d);padding:9px 12px;font-size:11px;min-height:38px;box-shadow:inset 0 0 0 1px #120c0c}.game-button:hover:not(:disabled){background:linear-gradient(#5b4042,#3b2527);color:#d3c3c4}.game-button.pressed{background:#a34c54;color:#180f10}.voice-actions{display:flex;gap:10px;margin:20px 0 15px}.voice-actions .button{font-size:10px;padding:10px 17px;gap:0;flex:1}.monitor-switch{font-size:11px;color:#bda5a7;display:grid;grid-template-columns:15px 1fr;gap:3px 8px;align-items:center}.monitor-switch small{grid-column:2;font-size:9px;color:#8f7678}.voice-recording{display:flex;gap:9px;align-items:center;border-top:1px solid #753c4166;margin-top:20px;padding-top:18px}.voice-recording>div{flex:1}.voice-recording b{font-size:11px;font-weight:500}.voice-recording small{display:block;margin-left:18px;font-size:9px;color:#917678}.voice-recording .game-button{padding:8px 11px}.voice-console audio[controls]{display:block;width:100%;height:36px;margin-top:8px;filter:sepia(.35)}#voice-result{margin-top:16px;font-size:11px;color:#b69b9d}#voice-result[hidden]{display:none}#voice-status{font-size:11px;line-height:1.6;color:#c1a9ab;border-top:1px solid #613b3e5e;padding-top:12px;margin-top:4px}.voice-footer{text-align:center;font-size:10px;margin-top:20px;color:#846b6d}
@media(max-width:850px){.voice-layout{grid-template-columns:1fr;gap:18px}.voice-character{min-height:480px}.voice-character model-viewer{height:390px;inset:15px 0 auto}.voice-badge{top:15px}.voice-character-caption{bottom:20px}.voice-console{max-width:600px;width:100%;margin:auto}#shop-window{right:18px;top:88px;width:275px;max-height:calc(100dvh - 100px)}}
@media(max-width:480px){.voice-console{padding:0 18px 20px}.game-title{margin:5px -13px 17px}.game-title h3{font-size:17px}.voice-character{min-height:390px}.voice-character model-viewer{height:330px}.voice-badge{font-size:8px;letter-spacing:2px}.voice-character-caption b{font-size:18px}.voice-actions .button{padding:10px}.voice-recording{gap:5px}.voice-recording .game-button{padding:8px}#item-popover{width:300px;max-height:80dvh;padding:12px}#item-visual model-viewer{height:140px}#item-stats>div{font-size:10px}.shop-foot{font-size:11px}}
@media(prefers-reduced-motion:reduce){.flat-item-preview .item-sprite,.signal-bar span{transition:none}}
