/* FPS view of the operator raising a wrist-mounted field terminal. */
.sh-modal-wrap.wrist-open,.raid-terminal-overlay.wrist-open{background:radial-gradient(ellipse at 50% 70%,#13202dbb,#02070aee 75%);isolation:isolate;perspective:1200px}
.sh-modal-wrap.wrist-open::before,.raid-terminal-overlay.wrist-open::before{content:"";position:absolute;inset:auto 50% -14vh auto;width:min(1280px,135vw);height:min(820px,110vh);transform:translateX(50%);background:url("../assets/ui/wrist-arms.svg") center bottom/contain no-repeat;pointer-events:none;z-index:0;animation:wristArmsRaise .58s cubic-bezier(.15,.85,.2,1.02) both}
.sh-modal-wrap.wrist-open .sh-modal,.raid-terminal-overlay.wrist-open .raid-terminal{position:relative;z-index:1;width:min(900px,76vw);height:min(620px,72vh);max-height:none;flex:0 0 auto;overflow:hidden;border:17px solid #493b31;border-radius:26px;background:#08121b;color:#d6e5e7;box-shadow:0 0 0 3px #131a20,0 0 0 8px #776a59,0 10px 0 11px #221e1b,0 35px 80px #000d,inset 0 0 0 3px #0b1b27,inset 0 0 28px #000;animation:wristRaise .56s cubic-bezier(.15,.85,.2,1.02) both}
.sh-modal-wrap.wrist-open .sh-modal,.raid-terminal-overlay.wrist-open .raid-terminal{transform-origin:50% 100%}
.sh-modal-wrap.wrist-open .sh-modal::before,.raid-terminal-overlay.wrist-open .raid-terminal::before{content:"";position:absolute;top:-13px;left:7%;right:7%;height:7px;border-radius:3px;background:repeating-linear-gradient(90deg,#9c5b39 0 7%,#342e2b 7% 8%,#6d665a 8% 17%);opacity:.8;pointer-events:none}
.sh-modal-wrap.wrist-open .sh-modal::after,.raid-terminal-overlay.wrist-open .raid-terminal::after{content:"";position:absolute;inset:0;border:2px solid #8a8374;border-radius:7px;box-shadow:inset 0 0 0 3px #0008,inset 0 0 26px #5c9bb122;pointer-events:none;z-index:3}
.sh-modal-wrap.wrist-open .sh-modal-head,.raid-terminal-overlay.wrist-open .terminal-head{min-height:51px;padding:8px 16px;background:linear-gradient(90deg,#10283a,#06111e 65%,#142b39);border-bottom:1px solid #7396a0;color:#d8e6e7}
.sh-modal-wrap.wrist-open .sh-modal-title,.raid-terminal-overlay.wrist-open .terminal-head h2{font:700 clamp(12px,1.4vw,19px) Consolas,"Courier New",monospace;letter-spacing:.08em;color:#d8eff4;text-shadow:0 0 10px #5cadc077}
.sh-modal-wrap.wrist-open .sh-x,.raid-terminal-overlay.wrist-open #raidTerminalClose{border:1px solid #7196a5;background:#12293a;color:#d8eff4;border-radius:2px;min-width:34px;min-height:34px}
.sh-modal-wrap.wrist-open .sh-modal-body{flex:1;min-height:0;overflow:auto;padding:10px;background:repeating-linear-gradient(0deg,#06101b 0 3px,#0a1927 3px 4px)}
.sh-modal-wrap.wrist-open .sh-modal-body,.raid-terminal-overlay.wrist-open .terminal-pane{animation:wristScreenBoot .3s .25s both}
.sh-modal-wrap.wrist-open .tm{height:100%;box-sizing:border-box;border:1px solid #6d99a6;background:linear-gradient(#061322,#0b1c2c);display:flex;flex-direction:column;padding:8px}
.tm-statusline{display:flex;justify-content:space-between;gap:8px;padding:2px 4px 7px;color:#a0c3cf;font:10px Consolas,"Courier New",monospace;letter-spacing:.06em;white-space:nowrap}
.sh-modal-wrap.wrist-open .tm-tabs{flex:0 0 auto;display:flex;flex-wrap:nowrap;overflow-x:auto;margin:0 0 8px;padding:2px 1px 8px;border-bottom:1px solid #5c8290;scrollbar-width:thin}
.sh-modal-wrap.wrist-open .tm-tabs button,.raid-terminal-overlay.wrist-open .terminal-tabs button{flex:0 0 auto;white-space:nowrap;background:#102334;border:1px solid #385e70;color:#9ec4d1;font:700 11px Consolas,"Courier New",monospace;letter-spacing:.04em;padding:8px 11px;cursor:pointer}
.sh-modal-wrap.wrist-open .tm-tabs button.on,.raid-terminal-overlay.wrist-open .terminal-tabs button.active{color:#f1dda7;border-color:#d3b66d;background:#263340;box-shadow:inset 0 -2px #d3b66d}
.sh-modal-wrap.wrist-open .tm-screen{min-height:0;flex:1;overflow:auto;color:#cfe1e5}
.sh-modal-wrap.wrist-open .tm-screen pre{min-height:0;padding:10px;color:#b7dce0;background:#071826;white-space:pre-wrap;font:12px/1.55 Consolas,"Courier New",monospace}
.tm-map-view{height:100%;display:flex;flex-direction:column;gap:5px;color:#a8cbd6;font:11px Consolas,"Courier New",monospace}
.tm-map{display:block;width:100%;height:calc(100% - 22px);min-height:190px;object-fit:contain;border:1px solid #7098a4;background:#071322;image-rendering:pixelated}
.tm-health{max-width:720px;margin:0 auto;padding:8px 10px;font:13px Consolas,"Courier New",monospace}
.tm-health h3{margin:5px 0 12px;color:#f3d997;font-size:14px;letter-spacing:.08em}
.tm-health p{color:#b8cbd2}
.tm-health .tm-vitals{padding:10px 12px;border:1px solid #5e8190;background:#0a2332}.tm-health .tm-vitals b{color:#f2d998}
.tm-meter{display:grid;grid-template-columns:minmax(110px,1fr) minmax(100px,2fr) 45px;gap:12px;align-items:center;margin:9px 0}
.tm-meter>div{height:15px;border:1px solid #63818e;background:#020a10}.tm-meter i{display:block;height:100%;background:linear-gradient(90deg,#356f7d,#7dd1bc)}
.tm-meter b{text-align:right;color:#dcdfbb}
.tm-messages{display:grid;grid-template-columns:minmax(130px,30%) 1fr;gap:10px;height:100%;min-height:190px;font:12px/1.5 Consolas,"Courier New",monospace}
.tm-message-list{display:flex;flex-direction:column;gap:5px;overflow:auto}.tm-message-list button{padding:8px;text-align:left;color:#9ac3d2;background:#10253a;border:1px solid #385e70;cursor:pointer}.tm-message-list button.on{color:#f4dc9c;border-color:#d6b66f}
.tm-messages article{padding:12px;border:1px solid #5f8290;background:#071523;overflow:auto}.tm-messages article small{color:#85aabc}.tm-messages article p{font-size:14px;color:#e4edf1;white-space:pre-wrap}
.tm-empty{padding:28px;text-align:center;color:#96b5bf}
.pepo-codec{height:100%;display:flex;flex-direction:column;gap:7px;padding:5px 7px;color:#d6e7ef;background:#071321;font:13px/1.45 Consolas,"Courier New",monospace;box-sizing:border-box}
.pepo-codec header,.pepo-codec footer{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid #547c91;padding:5px 8px;flex:0 0 auto}
.pepo-codec header strong{color:#e2ebf1;letter-spacing:.08em;text-align:center}.pepo-codec header span,.pepo-codec footer span{color:#9ab3c3;white-space:nowrap}
.pepo-codec-feeds{display:grid;grid-template-columns:2fr minmax(130px,1fr);gap:8px;min-height:0;flex:1}
.pepo-codec-feed,.pepo-codec-operator{position:relative;overflow:hidden;border:2px solid #6c92a4;background:#081c2d}
.pepo-codec-feed svg,.pepo-codec-operator svg{display:block;width:100%;height:100%;filter:contrast(1.12) saturate(.7)}
.pepo-codec-feed::after,.pepo-codec-operator::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 3px,#0007 3px 4px);pointer-events:none}
.pepo-codec-feed>span,.pepo-codec-operator>span{position:absolute;bottom:0;left:0;right:0;padding:4px 6px;background:#03101cd9;border-top:1px solid #6c92a4;font-weight:700;z-index:1}
.pepo-codec-transcript{flex:0 1 auto;min-height:74px;max-height:36%;overflow:auto;padding:8px 10px;border:1px solid #5b8190;background:#06111f}
.pepo-codec-transcript small{color:#7dc7d5}.pepo-codec-transcript p{margin:4px 0 0;color:#e2edf0;font-size:clamp(12px,1.3vw,15px)}
.pepo-codec footer{justify-content:flex-end}.pepo-codec footer span{margin-right:auto}.pepo-codec footer button{margin:0}
.raid-terminal-overlay.wrist-open{padding:10px}
.raid-terminal-overlay.wrist-open .raid-terminal{background:#071521}
.raid-terminal-overlay.wrist-open .terminal-head small{color:#91b8c4}.raid-terminal-overlay.wrist-open .terminal-tabs{background:#091a2a;border-bottom:1px solid #5f8492;overflow-x:auto;flex:0 0 auto;scrollbar-width:thin}
.raid-terminal-overlay.wrist-open .terminal-pane{background:repeating-linear-gradient(0deg,#061321 0 3px,#0b1c2b 3px 4px);color:#d4e3e5;overflow:auto}
.raid-terminal-overlay.wrist-open .terminal-map-wrap,.raid-terminal-overlay.wrist-open .body-outline{background:#071523;border-color:#587e8d}
.raid-terminal-overlay.wrist-open .terminal-foot{background:#091a29;border-top:1px solid #5f8492}
.raid-terminal-overlay.wrist-open #terminalMessagesPane{display:block;overflow:auto}
.raid-terminal-overlay.wrist-open #terminalMessagesPane[hidden]{display:none}
.wrist-raid-messages{display:grid;grid-template-columns:minmax(130px,30%) 1fr;gap:12px;height:100%;min-height:200px}
.wrist-raid-messages button{display:block;width:100%;margin:0 0 5px;padding:8px;text-align:left;color:#a9c8d2;background:#0d2638;border:1px solid #527687}
.wrist-raid-messages button.active{color:#f3d48d;border-color:#d1ae69}
.wrist-raid-messages article{padding:12px;border:1px solid #527687;background:#071522;overflow:auto;white-space:pre-wrap}
.wrist-raid-messages article small{color:#88b3c5}.wrist-raid-messages article p{color:#e4edf0;line-height:1.6}
.wrist-open.closing::before{animation:wristArmsLower .33s ease-in both}
.wrist-open.closing .sh-modal,.wrist-open.closing .raid-terminal{animation:wristLower .33s ease-in both}
@keyframes wristRaise{from{opacity:.2;transform:translateY(90vh) rotateX(38deg) rotateZ(14deg) scale(.68)}60%{opacity:1}to{opacity:1;transform:translateY(0) rotateX(0) rotateZ(0) scale(1)}}
@keyframes wristArmsRaise{from{opacity:0;transform:translate(50%,70vh) rotate(10deg)}to{opacity:1;transform:translate(50%,0) rotate(0)}}
@keyframes wristScreenBoot{0%{opacity:0;filter:brightness(4)}30%{opacity:.25;filter:brightness(1.8)}58%{opacity:.85;filter:brightness(1.3)}100%{opacity:1;filter:none}}
@keyframes wristLower{to{opacity:0;transform:translateY(85vh) rotate(12deg) scale(.7)}}
@keyframes wristArmsLower{to{opacity:0;transform:translate(50%,65vh) rotate(10deg)}}
@media(max-width:800px){.sh-modal-wrap.wrist-open .sh-modal,.raid-terminal-overlay.wrist-open .raid-terminal{width:94vw;height:80vh;border-width:10px;border-radius:16px}.sh-modal-wrap.wrist-open::before,.raid-terminal-overlay.wrist-open::before{width:145vw;bottom:-18vh}.pepo-codec-feeds{grid-template-columns:1.5fr 1fr}.pepo-codec header{font-size:10px}}
@media(max-width:520px){.sh-modal-wrap.wrist-open .sh-modal,.raid-terminal-overlay.wrist-open .raid-terminal{width:98vw;height:92vh;border-width:6px;border-radius:8px}.sh-modal-wrap.wrist-open .sh-modal-body{padding:4px}.sh-modal-wrap.wrist-open .tm-tabs button,.raid-terminal-overlay.wrist-open .terminal-tabs button{font-size:10px;padding:7px}.tm-messages{grid-template-columns:1fr;grid-template-rows:auto 1fr}.tm-message-list{flex-direction:row;min-height:42px}.tm-message-list button{white-space:nowrap}.pepo-codec-feeds{grid-template-columns:1fr 95px}.pepo-codec header span:last-child{display:none}.pepo-codec-feed>span,.pepo-codec-operator>span{font-size:9px}.pepo-codec footer span{display:none}.pepo-codec footer button{font-size:10px;padding:6px}.wrist-raid-messages{grid-template-columns:1fr;grid-template-rows:auto 1fr}}
@media(prefers-reduced-motion:reduce){.sh-modal-wrap.wrist-open::before,.raid-terminal-overlay.wrist-open::before,.sh-modal-wrap.wrist-open .sh-modal,.raid-terminal-overlay.wrist-open .raid-terminal{animation-duration:.01ms!important}}
