/* Keep the approved five-column roster. Info is a separate button, not a nested button. */
body.choosing .operative-slot662{position:relative;flex:1 1 20%;width:20%;min-width:0}
body.choosing .operative-slot662 .character-card{width:100%;height:100%;border-right:0}
body.choosing .operative-slot662:last-child .character-card{border-right:1px solid #78858070}
.operative-info662{position:absolute;z-index:2;right:2px;top:2px;width:44px;height:44px;min-height:44px;padding:0;background:none;border:0;box-shadow:none;display:grid;place-items:center;font:700 15px system-ui,sans-serif;color:#f2ead6}
.operative-info662 span{display:grid;place-items:center;width:24px;height:24px;border:1px solid #afc1c3;border-radius:50%;background:#0b151ce8}
.operative-info662:hover span,.operative-info662:focus-visible span{border-color:#83e8f0;color:#83e8f0}

#reserve-status662{display:flex;align-items:center;gap:5px;margin-left:2px;padding:0;border:0;background:none;color:#eee9d0;font:700 17px system-ui,sans-serif;min-width:32px;text-shadow:none}
#reserve-status662[hidden]{display:none}
#reserve-status662 svg{width:22px;height:22px;flex:none}
#reserve-status662.empty{color:#849096;opacity:.55}
#operative-panel662{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:#060d1373;backdrop-filter:blur(2px);font-family:system-ui,sans-serif;text-align:left;color:#eee9d6;touch-action:pan-y}
#operative-panel662[hidden]{display:none}
.operative-dossier662{position:relative;width:min(850px,94vw);max-height:90dvh;overflow:auto;display:grid;grid-template-columns:29% 1fr;gap:23px;padding:22px;border:1px solid #83a1a7;border-radius:4px;background:#0b171ef0;box-shadow:0 16px 50px #0008;overscroll-behavior:contain}
#operative-portrait662{width:100%;height:100%;min-height:0;object-fit:cover;object-position:50% 22%;border:1px solid #2f464e}
#operative-portrait662.locked{filter:grayscale(1) brightness(.72)}
.operative-details662{min-width:0;padding-top:1px}
#operative-name662{font:800 clamp(20px,2.5vw,30px)/1.1 system-ui,sans-serif;margin:0 35px 8px 0;letter-spacing:1px}
#operative-name662:after{content:'';display:block;width:45px;height:3px;background:#d04b3e;margin-top:10px}
#operative-status662{font:11px/1.4 system-ui,sans-serif;color:#b6c0bf;margin:0 0 10px;letter-spacing:.6px}
#operative-close662{position:absolute;right:9px;top:8px;z-index:2;width:44px;height:44px;padding:0;min-height:44px;background:#0c171e;border:1px solid #516970;border-radius:3px;box-shadow:none;font:28px/1 system-ui,sans-serif}
#operative-tabs662{display:flex;gap:5px;border-bottom:1px solid #38525c;padding-bottom:12px;margin-bottom:3px}
#operative-tabs662 button{flex:1;min-width:0;padding:7px 3px;background:#0c1921;border:1px solid #2c414c;border-radius:3px;box-shadow:none;font:9px/1.3 system-ui,sans-serif;color:#a4afb0;min-height:32px}
#operative-tabs662 button.active{color:#80eff4;border-color:#49cddd;box-shadow:0 0 8px #45dfee35}
.operative-skill662{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #2e444e}
.operative-glyph662{flex:none;width:52px;height:52px;color:#efe8d0;display:grid;place-items:center}
.operative-glyph662 img{width:100%;height:100%;object-fit:contain}
.operative-glyph662>svg{width:31px;height:31px;padding:3px;box-sizing:content-box;border:1px solid #80e5eb;border-radius:50%;box-shadow:0 0 9px #59dbea66}
.operative-skill662 small{display:block;color:#63dce5;font-size:9px;letter-spacing:1px}
.operative-skill662 h3{font:700 15px/1.3 system-ui,sans-serif;margin:3px 0 4px;letter-spacing:.4px}
.operative-skill662 p{font:12px/1.5 system-ui,sans-serif;margin:0;color:#bdc9c9}
#operative-stats662{display:grid;grid-template-columns:repeat(6,1fr);gap:5px;margin:14px 0 0}
#operative-stats662 div{border-right:1px solid #334a52;padding-right:5px}
#operative-stats662 div:last-child{border:0}
#operative-stats662 dt{font-size:8px;color:#94a6ac;letter-spacing:.5px}
#operative-stats662 dd{font-size:13px;font-weight:700;margin:3px 0 0;color:#f4ecda}
body.operative-info-open #start,body.operative-info-open #mobile-controls{pointer-events:none}
body.touch.playing #mobile-controls[data-operative=medic] .mobile-actions #dash-skill{background-image:url('assets/skills-v6654/medic-smoke.png')!important;background-size:contain;mix-blend-mode:screen}
body.touch.playing #mobile-controls[data-operative=medic] .mobile-actions #ultimate-skill{background-image:url('assets/skills-v6654/medic-trauma.png')!important;background-size:contain;mix-blend-mode:screen}
body.touch.playing #mobile-controls[data-operative=medic] .mobile-actions .skill-dock img{display:none!important}
body.touch.playing #mobile-controls[data-operative=medic] .mobile-fire{background-image:url('assets/medic-test/fire-icon.svg')!important;background-size:65% auto!important;background-repeat:no-repeat!important;background-position:center!important}
@media(max-width:850px){#reserve-status662{font-size:13px;gap:3px;min-width:27px}#reserve-status662 svg{width:18px;height:18px}.operative-dossier662{gap:16px;padding:16px}.operative-skill662{padding:9px 0;gap:9px}.operative-skill662 p{font-size:11px}.operative-skill662 h3{font-size:13px}.operative-glyph662{width:44px;height:44px}}
@media(max-height:560px){body.choosing .operative-slot662{height:clamp(145px,45dvh,235px)}.operative-dossier662{width:min(800px,94vw);max-height:94dvh;padding:14px;gap:14px;grid-template-columns:25% 1fr}#operative-name662{font-size:20px}#operative-status662{font-size:9px;margin-bottom:6px}#operative-tabs662{padding-bottom:6px}.operative-skill662{padding:7px 0}.operative-skill662 p{font-size:10px}.operative-skill662 h3{font-size:12px}.operative-glyph662{width:38px;height:38px}#operative-stats662{margin-top:8px}.operative-info662{top:0;right:0}}
@media(max-width:550px) and (orientation:portrait){.operative-dossier662{grid-template-columns:1fr;padding:17px;gap:14px}#operative-portrait662{height:145px;object-position:50% 25%;width:100%}.operative-details662{padding-top:0}.operative-info662 span{width:21px;height:21px;font-size:13px}#operative-tabs662 button{font-size:8px;min-height:44px}#operative-stats662{grid-template-columns:repeat(3,1fr);gap:10px}.operative-skill662 p{font-size:12px}}

/* Airy Dossier: real portrait, class arrows, separate skill/cooldown columns. */
#operative-panel662,.operative-dossier662{font-family:'Ops Pixel',monospace}
.operative-dossier662{width:min(900px,94vw);grid-template-columns:28% 1fr;gap:28px;padding:28px;background:#101c24f5}
#operative-name662{font:24px/1.4 'Ops Pixel',monospace;letter-spacing:0;margin-bottom:12px}
#operative-status662{font:9px/1.7 'Ops Pixel',monospace;letter-spacing:0;margin-bottom:16px}
#operative-tabs662{align-items:center;justify-content:flex-start;gap:14px;padding-bottom:14px;margin-bottom:8px}
#operative-tabs662 button{flex:none;width:38px;min-height:38px;font:24px/1 'Ops Pixel',monospace;background:none;border-color:#55717c}
#operative-tabs662>span{font:10px/1.6 'Ops Pixel',monospace;color:#8de0e5;min-width:110px;text-align:center}
.operative-skill662{display:grid;grid-template-columns:40px minmax(0,1fr) 44px;gap:14px;align-items:center;padding:20px 0}
.operative-glyph662{width:40px;height:40px}
.operative-glyph662>svg{width:24px;height:24px}
.operative-skill662 small{font:8px/1.7 'Ops Pixel',monospace;letter-spacing:0}
.operative-skill662 h3{font:11px/1.6 'Ops Pixel',monospace;letter-spacing:0;margin:6px 0}
.operative-skill662 p{font:9px/1.9 'Ops Pixel',monospace;color:#b8c8cb}
.operative-cd662{font:9px/1.8 'Ops Pixel',monospace;text-align:center;color:#8bdce4;border:1px solid #3c5662;border-radius:3px;padding:4px 2px}
#operative-stats662{margin-top:20px;gap:10px}
#operative-stats662 dt{font:7px/1.6 'Ops Pixel',monospace;letter-spacing:0}
#operative-stats662 dd{font:11px/1.8 'Ops Pixel',monospace;margin-top:6px}
@media(max-height:560px){.operative-dossier662{padding:16px;gap:20px;grid-template-columns:25% 1fr}#operative-name662{font-size:17px;margin-bottom:6px}#operative-status662{font-size:7px;margin-bottom:8px}#operative-tabs662{padding-bottom:6px;margin-bottom:3px;gap:10px}#operative-tabs662 button{min-height:30px;width:30px}.operative-skill662{padding:9px 0;gap:10px;grid-template-columns:34px minmax(0,1fr) 40px}.operative-glyph662{width:34px;height:34px}.operative-skill662 h3{font-size:9px;margin:3px 0}.operative-skill662 p{font-size:8px;line-height:1.7}#operative-stats662{margin-top:10px}}
@media(max-width:550px) and (orientation:portrait){.operative-dossier662{grid-template-columns:1fr;padding:18px;gap:16px}#operative-portrait662{height:130px}#operative-name662{font-size:18px}.operative-skill662{padding:16px 0;gap:10px;grid-template-columns:34px minmax(0,1fr) 40px}.operative-glyph662{width:34px;height:34px}.operative-skill662 h3{font-size:10px}.operative-skill662 p{font-size:9px}#operative-stats662{grid-template-columns:repeat(3,1fr)}}
/* Original golden skill frames, with enough room for names instead of compression. */
body:not(.touch).playing .skill-dock{left:14px;right:auto;bottom:14px;gap:10px}
body:not(.touch).playing .skill-dock>button{display:flex!important;flex-direction:column;align-items:center;width:92px;height:auto!important;min-height:110px;padding:5px 6px 7px;gap:5px;overflow:visible;border:2px solid #bca777;background:#10181de8}
body:not(.touch).playing[data-operative=medic] .skill-dock>button{width:112px}
body:not(.touch).playing .skill-dock>button>img{position:static;width:64px;height:64px;max-width:64px;max-height:64px;object-fit:contain;display:block;margin:0;padding:3px;transform:none}
body:not(.touch).playing .skill-dock>button>span{position:static;font:9px/1.7 'Ops Pixel',monospace;white-space:normal;text-align:center;max-width:100%;transform:none}
body:not(.touch).playing .skill-dock>button>small{position:static;inset:auto;font:9px/1.5 'Ops Pixel',monospace;margin:0;transform:none}
/* Approved Airy Dossier proportions and graphic language. */
.operative-dossier662{width:min(800px,90vw);grid-template-columns:28% minmax(0,1fr);gap:22px;padding:16px;border:2px solid #19d8eb;border-radius:0;background:#06151bf5;box-shadow:0 0 18px #00d8ef22,0 18px 50px #0009}
#operative-portrait662{border-color:#1bd5e8;border-radius:3px;object-position:50% 22%}
#operative-name662{font:22px/1.4 'Ops Pixel',monospace;margin:0 36px 14px 0}#operative-name662:after{display:none}#operative-status662{display:none}
#operative-close662{border-color:#22c9de;background:#071820;width:34px;height:34px;min-height:34px;font-size:25px}
#operative-tabs662{border:0;gap:10px;margin:0 0 6px;padding:0;justify-content:flex-end}#operative-tabs662 button{width:30px;min-height:30px;border:0;background:none}#operative-tabs662>span{font-size:9px;min-width:95px}
.operative-skill662{grid-template-columns:62px minmax(0,1fr) 68px;gap:14px;padding:17px 0;border-bottom:1px dashed #1b657080}
.operative-glyph662{width:60px;height:60px;border:2px solid #11dbed;border-radius:50%;padding:9px;box-shadow:0 0 12px #05dff84d;box-sizing:border-box}
.operative-glyph662>svg{border:0;padding:0;border-radius:0;box-shadow:none;width:28px;height:28px}
.operative-skill662 h3{font:13px/1.6 'Ops Pixel',monospace;margin:4px 0 6px}.operative-skill662 small{font:8px/1.5 'Ops Pixel',monospace}.operative-skill662 p{font:10px/1.8 'Ops Pixel',monospace;color:#e0e8e5}
.operative-cd662{padding:6px 4px;border-color:#1cd4e7;font-size:9px;color:#f7f9eb}
#operative-stats662{grid-template-columns:repeat(4,1fr);border-top:1px solid #237480;padding-top:12px;margin-top:14px}#operative-stats662 dt{font-size:8px}#operative-stats662 dd{font-size:12px}
@media(max-height:560px){.operative-dossier662{width:min(760px,92vw);padding:12px;gap:16px;max-height:94dvh}#operative-name662{font-size:17px;margin-bottom:5px}#operative-tabs662{margin-bottom:0}.operative-skill662{padding:9px 0;grid-template-columns:46px minmax(0,1fr) 54px;gap:10px}.operative-glyph662{width:44px;height:44px;padding:7px}.operative-skill662 h3{font-size:10px;margin:2px 0 3px}.operative-skill662 p{font-size:8px;line-height:1.65}.operative-skill662 small{font-size:7px}.operative-cd662{font-size:8px}#operative-stats662{padding-top:7px;margin-top:8px}}
@media(max-width:550px) and (orientation:portrait){.operative-dossier662{grid-template-columns:1fr;width:92vw;gap:14px;padding:16px}#operative-portrait662{height:130px}.operative-skill662{grid-template-columns:46px minmax(0,1fr) 54px;gap:9px;padding:13px 0}.operative-glyph662{width:44px;height:44px;padding:7px}.operative-skill662 h3{font-size:10px}.operative-skill662 p{font-size:9px}#operative-name662{font-size:18px}#operative-stats662 dd{font-size:10px}}
@media(min-width:551px){#operative-tabs662{position:absolute;right:56px;top:17px;width:175px}#operative-name662{margin-right:200px;font-size:20px}}
@media(min-width:551px) and (max-height:560px){#operative-name662{font-size:16px}#operative-tabs662{top:12px}}

/* V.66.5.4 — extracted approved artwork; unframed character-card symbols. */
.operative-glyph662{border:0;border-radius:0;background:none;box-shadow:none;padding:0}
.operative-glyph662 img{object-fit:contain;image-rendering:pixelated;border:0;border-radius:0;box-shadow:none}
body:not(.touch).playing .skill-dock>button>img{image-rendering:pixelated}
body.touch.playing #mobile-controls[data-operative=sniper] .mobile-actions #dash-skill{background-image:url('assets/skills-v6654/sniper-roll.png')!important;background-size:82% auto;image-rendering:pixelated}
body.touch.playing #mobile-controls[data-operative=medic] .mobile-actions #dash-skill,
body.touch.playing #mobile-controls[data-operative=medic] .mobile-actions #ultimate-skill{background-size:82% auto;image-rendering:pixelated}

/* V.66.5.6: selection contrast and card height driven by its information. */
body.choosing .character-card:not(.unavailable){filter:none}
body.choosing .character-card:not(.unavailable) img{filter:brightness(.65) saturate(.7);transition:filter .15s ease}
body.choosing .character-card.selected:not(.unavailable) img{filter:none}
.operative-portrait-frame662{position:relative;min-width:0;min-height:0;align-self:stretch;overflow:hidden}
.operative-portrait-frame662 #operative-portrait662{position:absolute;inset:0;width:100%;height:100%;min-height:0;object-fit:cover}
.operative-dossier662{align-items:stretch;grid-auto-rows:auto}
.operative-details662{align-self:start}
@media(max-width:550px) and (orientation:portrait){.operative-portrait-frame662{height:130px}}
