/* Preview-only 32-bit offseason formation board: readable cards, no borrowed source branding. */
.off-ledger{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.off-ledger>strong{border:2px solid #b9c5da;background:#15223d;padding:10px 14px;min-width:100px;font-size:1.2rem;color:#fff}.off-ledger small{display:block;font-size:.66rem;color:#c3cedf;margin-bottom:6px}.off-panes{display:grid;grid-template-columns:minmax(250px,.65fr) minmax(0,1.55fr);gap:18px;align-items:start}.off-panes section{min-width:0}.off-filter{display:flex;gap:10px;align-items:center;margin:10px 0}.off-filter select{max-width:180px;min-height:38px;background:#17223a;color:white;border:2px solid #b0bdd2;padding:6px}.off-fa-list{max-height:600px;overflow:auto;border:2px solid #596184;padding:6px}.off-fa-list .rrow{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.off-field-scroll{overflow-x:auto;border:3px solid var(--off-team-accent,#b7c6cb);max-width:100%;background:var(--off-team-base,#142037);scrollbar-color:var(--off-team-accent,#c4d0d7) var(--off-team-base,#142037)}.off-field{min-width:810px;padding:14px;background:repeating-linear-gradient(0deg,transparent,transparent 68px,#ffffff14 69px,#ffffff14 71px),linear-gradient(135deg,var(--off-team-base,#142037),var(--off-team-end,#202a3d));box-sizing:border-box}.off-field-label{font:700 .8rem monospace;letter-spacing:.18em;color:#e4f3e8;text-align:center;margin:2px 0 18px}.off-formation-row{display:grid;grid-template-columns:repeat(var(--cards),minmax(0,1fr));gap:10px;margin:22px auto;max-width:100%}.off-formation-row.row-1{width:88%}.off-formation[data-side=DEF] .row-0{width:82%}.off-formation[data-side=DEF] .row-1{width:64%}.off-formation[data-side=DEF] .row-2{width:94%}.off-formation-card{min-width:0}.off-player{width:100%;padding:0;background:#17213a;color:#f1f5fc;border:2px solid #9aabc0;box-shadow:3px 3px 0 #081723;cursor:pointer;font:inherit;text-align:left}.off-card-top{display:flex;justify-content:space-between;align-items:center;padding:5px;gap:5px;font-size:.7rem}.off-grade{display:inline-block;border:2px solid #9facc0;background:#29344b;color:#fff;padding:3px;min-width:23px;text-align:center;box-sizing:border-box;font:700 .8rem monospace;flex-shrink:0}.off-portrait{height:86px;display:flex;align-items:end;justify-content:center;background:linear-gradient(#31425d,#1c2c47);overflow:hidden}.off-portrait img{width:82px;height:82px;image-rendering:pixelated;object-fit:contain}.off-jersey{font-size:64px;color:#a8b5c8}.off-player-name{display:block;padding:8px 5px;min-height:42px;overflow-wrap:anywhere;font-size:.8rem;line-height:1.35}.off-backup{width:100%;display:flex;align-items:center;justify-content:space-between;gap:5px;text-align:left;margin-top:8px;padding:6px;background:#122d24;color:#f1f6f1;border:1px solid #a5bdab;cursor:pointer;font:inherit;font-size:.72rem;line-height:1.4}.off-backup span{min-width:0;overflow-wrap:anywhere}.off-backup b{font-size:.76rem}.off-unassessed{margin-top:14px;padding:8px;border:2px dashed #acb7c9}.off-unknown{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px;margin:6px 0}.off-unknown small{display:block}.off-player:focus-visible,.off-backup:focus-visible{outline:3px solid #ffdf79;outline-offset:3px}.off-post{border:2px solid #596184;padding:10px;margin:8px 0;background:#171e30}.off-post p{font-size:.85rem;margin:8px 0}.off-post small{color:#b5bbcb}#off-sign-notice{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:1200;width:max-content;max-width:90vw;background:#1e2940;color:white;border:3px solid #d1d6e0;box-shadow:4px 4px 0 #080c17;padding:12px;font:600 .9rem monospace;pointer-events:none}#off-sign-notice[hidden]{display:none}@media(max-width:1050px){.off-panes{grid-template-columns:1fr}.off-fa-list{max-height:350px}}@media(max-width:700px){.off-ledger{gap:6px}.off-ledger>strong{min-width:0;flex:1;padding:8px;font-size:1rem}.off-ledger small{font-size:.57rem}.off-fa-list{max-height:300px}.off-field{min-width:810px}.off-panes .btn{min-height:40px}}
/* Shared operational controls are secondary to the field, not a replacement for it. */
.off-depth-moves{display:flex;justify-content:center;gap:8px;margin:5px 0}.off-depth-moves .btn{min-width:38px;min-height:32px}.off-reserve-controls,.off-lineup-context{margin-top:16px;border:1px solid #64738c;padding:10px}.off-reserve-controls summary,.off-lineup-context summary{cursor:pointer;padding:8px}.off-lineup-context .off-field-scroll{max-width:100%}

/* Team palette is scoped to the shared chart, never the main-menu decorative field. */
.off-formation .off-backup{background:var(--off-team-backup,#17213a);border-color:var(--off-team-accent,#9facc0)}.off-formation .off-player{border-color:var(--off-team-accent,#9facc0)}
/* Phones show the WHOLE formation; compact logical rows replace the desktop's wide field. */
.off-short-name{display:none}.off-backup small{display:block;font:inherit}
@media(max-width:700px){
 .off-field-scroll{overflow-x:visible;container-type:inline-size;box-sizing:border-box;width:100%;max-width:100%}
 .off-field{min-width:0;width:100%;padding:6px}
 .off-field-label{font-size:.65rem;letter-spacing:.06em;line-height:1.5;margin:2px 0 8px;overflow-wrap:anywhere}
 .off-formation-row,.off-formation-row.row-1,.off-formation[data-side=DEF] .off-formation-row{width:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:8px 0}
 .off-formation[data-side=DEF] .row-0{grid-template-columns:repeat(4,minmax(0,1fr))}
 .off-formation[data-side=DEF] .row-1{grid-template-columns:repeat(2,minmax(0,1fr));width:72%;margin-left:auto;margin-right:auto}
 .off-formation-card{min-width:0;max-width:100%}
 .off-card-top{padding:3px;font:700 10px/1.2 monospace;gap:2px;min-height:22px;box-sizing:border-box}
 .off-formation .off-grade{font:700 11px/1 monospace;min-width:18px;padding:2px;border-width:1px}
 .off-portrait{height:28px}.off-portrait img{width:30px;height:30px}.off-jersey{font-size:28px}
 .off-player-name{padding:4px 2px;min-height:30px;box-sizing:border-box;font:700 12px/1.2 Arial,sans-serif;overflow-wrap:anywhere}
 .off-formation .off-full-name{display:none}.off-formation .off-short-name{display:inline}
 .off-formation .off-player{box-sizing:border-box;min-height:78px;box-shadow:1px 1px 0 #081723}
 .off-formation .off-backup{box-sizing:border-box;min-height:44px;margin-top:4px;padding:3px;gap:2px;line-height:1.2}
 .off-backup small{font:10px/1.2 Arial,sans-serif}.off-backup b{font:700 11px/1.2 Arial,sans-serif}
 .off-depth-moves{gap:2px;margin:3px 0}.off-depth-moves .btn{min-width:0;flex:1;min-height:34px;padding:3px;font-size:12px;box-sizing:border-box}
}
@media(max-width:360px){.off-formation[data-side=DEF] .row-0{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}}
@container(max-width:260px){
 .off-formation .off-formation-row,.off-formation[data-side=DEF] .off-formation-row{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
}

/* Approved joint-camp phone choice and departure scene; scoped to story content. */
.off-joint-story{max-width:100%;overflow-wrap:anywhere;line-height:1.5}
.off-joint-story label{display:flex;flex-direction:column;gap:8px}
.off-joint-story select{width:100%;min-width:0;max-width:100%;min-height:44px;font-size:1rem}
.off-joint-story .adv{display:flex;flex-wrap:wrap;gap:12px}
.off-joint-story .btn{white-space:normal;max-width:100%;min-height:44px}
.off-joint-story small{color:var(--lav)}

/* Free-agent rows must never flex-shrink inside the bounded scrolling board. */
.off-fa-list .rrow{display:grid;grid-template-columns:minmax(0,1fr);flex:0 0 auto;min-height:0;height:auto;gap:8px;box-sizing:border-box;cursor:default}
.off-fa-person{min-width:0;overflow-wrap:anywhere;line-height:1.4}
.off-fa-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0;width:100%}
.off-fa-actions .btn{width:100%;min-width:0;min-height:44px;margin:0;padding:8px 4px;white-space:normal;overflow-wrap:anywhere;box-sizing:border-box}

.off-camp-filters{margin:16px 0;display:grid;gap:12px}.off-camp-sides{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.off-camp-sides .btn{min-width:0;min-height:44px;padding:8px 4px;white-space:normal}.off-camp-sides [aria-pressed=true]{outline:3px solid #fff;outline-offset:1px}.off-camp-filters label{display:grid;gap:6px}.off-camp-filters select{width:100%;min-width:0;min-height:44px;padding:8px;background:#17223a;color:white;border:2px solid #b0bdd2}
.off-camp-list .rrow{display:grid;grid-template-columns:minmax(0,1fr);flex:0 0 auto;min-height:0;height:auto;gap:8px;box-sizing:border-box;cursor:default}.off-drill-person{min-width:0;overflow-wrap:anywhere;line-height:1.4}.off-drill-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0}.off-drill-actions .btn{width:100%;min-width:0;min-height:44px;margin:0;padding:8px 4px;white-space:normal;box-sizing:border-box}
@media(max-width:600px){.off-camp-sides{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Preserve the original office/field art in Simple as well as Detailed; no menu-field changes. */
#v-hub.hsimple .hub>.scene{display:block!important}
.scene.office-current .tog{left:4px;right:auto;top:4px}.scene.office-current .tog button{min-width:44px;min-height:44px;padding:4px;font:700 12px monospace}
.scene.office-current .wlogo{left:78.9%;top:7.03cqw;width:13.5%;height:15.6cqw}
.office-wall-chart{position:absolute;left:33.98%;top:13.89%;width:18.2%;height:23.33%;overflow:hidden;background:transparent;border:0;box-sizing:border-box;z-index:2}
.office-chart-preview{position:absolute;top:0;left:50%;width:840px;transform-origin:top center;pointer-events:none}.office-chart-preview .off-field-scroll{overflow:hidden}.office-chart-preview .off-field{min-width:0}.office-chart-open{position:absolute;inset:0;width:100%;height:100%;min-height:44px;display:flex;align-items:end;justify-content:center;border:0;padding:0;background:transparent;cursor:pointer}.office-chart-open span{display:none}.office-chart-open:focus-visible{outline:3px solid #ffc83c;outline-offset:-3px}
.scene .deskphone.cellphone{left:50%;top:63%;width:7%;height:14%;min-width:48px;min-height:48px;z-index:6;align-items:center;justify-content:center}.scene .deskphone.cellphone .dph{position:relative;width:27px;height:37px;background:linear-gradient(135deg,#25416e,#0a1b34);border:3px solid #080e1c;border-radius:3px;box-shadow:3px 3px 0 #0008}.scene .deskphone.cellphone .dph:before{content:"";position:absolute;top:2px;left:8px;width:10px;height:2px;background:#9caec6}.scene .deskphone.cellphone .dph:after{content:"";position:absolute;bottom:2px;left:11px;width:4px;height:4px;background:#c8d9e8}.scene .deskphone.cellphone.ring .dph{background:linear-gradient(#5fe1ab,#1a7556)}.office-phone-menu{display:grid;gap:14px}.office-phone-menu .btn{min-height:44px;white-space:normal;min-width:0}.office-phone-menu label{display:grid;gap:8px}.office-phone-menu select{width:100%;min-width:0;min-height:44px;background:#17223a;color:#fff;padding:8px;border:2px solid #b0bdd2}

.scene.office-current .kick{left:2%;top:45.8cqw;max-width:54%;font:700 clamp(9px,1.6cqw,14px)/1.2 monospace;padding:3px 4px;overflow-wrap:anywhere}
.scene .deskphone.cellphone{height:12cqw}.scene .deskphone.cellphone .dph{width:5.5cqw;height:8cqw;min-width:27px;min-height:37px;max-width:64px;max-height:90px}
.office-phone-shell{max-width:430px;margin:auto;padding:14px;border:6px solid #080f22;border-radius:18px;background:linear-gradient(#203d62,#14233e);box-sizing:border-box;animation:officePhoneZoom .18s ease-out}.office-phone-shell .mh h2{overflow-wrap:anywhere}.office-phone-shell small{display:block;line-height:1.4}.office-phone-shell>.office-phone-menu{margin-top:16px}.office-phone-menu .btn small{font:400 12px/1.4 monospace;margin-top:6px}.office-message{padding:12px;border:2px solid #8195b2;background:#14233c;overflow-wrap:anywhere}.office-message small{margin-top:6px}.office-message-link{display:grid;gap:6px;text-align:left}.office-message-link span{font:400 14px/1.4 sans-serif}.office-phone-shell.phone-no-motion{animation:none}@keyframes officePhoneZoom{from{transform:translateY(18px) scale(.94);opacity:.65}to{transform:none;opacity:1}}@media(prefers-reduced-motion:reduce){.office-phone-shell{animation:none}} .rm .office-phone-shell{animation:none}

/* Phone text stays comfortably readable independently of the pixel-art scene scale. */
.office-phone-shell{font:400 14px/1.5 system-ui,sans-serif}.office-phone-shell .mh h2{font-size:18px;line-height:1.35}.office-phone-shell small{font-size:12px}.office-phone-shell .btn,.office-phone-shell select{font:600 14px/1.4 system-ui,sans-serif}.office-phone-shell .office-message p{line-height:1.55}

.off-post,#off-sign-notice{overflow-wrap:anywhere}#off-sign-notice{box-sizing:border-box}@media(max-width:700px){.off-ledger>strong{flex:1 1 calc(50% - 6px);box-sizing:border-box;overflow-wrap:anywhere}}
/* Five main destinations stay in one phone-width row; only the current group gets a section chooser. */
#nav.nav-five{display:block;overflow:visible;padding:8px 8px 0;min-width:0}#nav .main-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;width:100%}#nav .main-tabs button{min-width:0;min-height:44px;padding:8px 2px;font:700 13px/1.25 system-ui,sans-serif;white-space:normal;box-sizing:border-box;margin:0}#nav .group-subnav{display:flex;align-items:center;gap:10px;margin:8px 0 0;font:600 13px/1.3 system-ui,sans-serif}#nav .group-subnav>span{min-width:46px}#nav .group-subnav select{flex:1;min-width:0;max-width:100%;min-height:44px;background:#17223a;color:#fff;border:2px solid #8b9abb;padding:8px;font:400 14px/1.3 system-ui,sans-serif;box-sizing:border-box}.nav-schedule{display:grid;gap:12px}.nav-schedule article{display:grid;gap:7px;border:1px solid #8395b1;padding:12px;overflow-wrap:anywhere}.nav-schedule span,.nav-schedule small{font:400 14px/1.45 system-ui,sans-serif}#nav .main-tabs button:focus-visible,#nav select:focus-visible{outline:3px solid #ffdc72;outline-offset:1px}@media(min-width:900px){#nav .main-tabs{max-width:800px}#nav .group-subnav{max-width:800px}}
.off-ready{font:400 14px/1.45 system-ui,sans-serif;min-width:0}.off-ready h2{font-size:18px;line-height:1.5;overflow-wrap:anywhere}.off-ready-body{max-height:50dvh;overflow:auto;overscroll-behavior:contain;padding-right:6px}.off-ready-body ul{padding-left:20px}.off-ready-body li{margin:10px 0}.off-ready-actions{position:sticky;bottom:0;background:#141c46;padding:12px 0 0}.off-ready-actions .btn{width:100%;min-height:48px;white-space:normal;box-sizing:border-box;font:700 14px/1.4 system-ui,sans-serif}
/* Compact position rooms: complete positional roster, independent contained scrolling; field remains intact. */
.depth-surface{min-width:0}.depth-position-tools{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin:6px 0 12px;min-width:0}.depth-position-tools label{display:flex;align-items:center;gap:8px;font:600 14px/1.3 system-ui,sans-serif;min-width:0}.depth-position-tools select{min-width:0;max-width:160px;min-height:44px;padding:6px;background:#17223a;color:#fff;border:2px solid #91a3c2;font:400 14px/1.3 system-ui,sans-serif}.depth-position-tools .btn,.depth-room-head .btn,.depth-room-actions .btn{min-height:44px;white-space:normal;font:600 14px/1.3 system-ui,sans-serif}.depth-position-panel{border:2px solid #91a3c2;background:#14203a;margin:0 0 12px;padding:10px;min-width:0}.depth-position-panel[hidden]{display:none}.depth-room-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font:700 15px/1.4 system-ui,sans-serif}.depth-position-list{max-height:300px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;margin-top:10px;min-width:0}.depth-room-player{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 2px;border-top:1px solid #647997;min-width:0}.depth-room-player>div{min-width:0;overflow-wrap:anywhere}.depth-room-player b{display:block;font:700 15px/1.4 system-ui,sans-serif}.depth-room-player small,.depth-room-grade{display:block;font:400 14px/1.5 system-ui,sans-serif;color:#dbe3ee}.depth-room-actions{display:grid;gap:8px;max-width:132px}.depth-position-panel .note{font:400 13px/1.4 system-ui,sans-serif}.depth-position-list:focus-visible{outline:3px solid #ffdc72;outline-offset:-3px}@media(max-width:700px){.depth-position-tools{gap:6px}.depth-position-tools label{gap:5px;font-size:13px}.depth-position-tools select{max-width:120px}.depth-position-list{max-height:min(32dvh,260px)}.depth-room-player{grid-template-columns:minmax(0,1fr);gap:8px}.depth-room-actions{display:flex;max-width:none;gap:8px}.depth-room-actions .btn{flex:1;min-width:0}.depth-room-head{font-size:14px}.depth-position-panel{padding:8px}}
/* Desk workstation: same retro canvas, bounded accessible hotspot and in-game-only browser. */
.scene .office-computer{position:absolute;left:9.38%;top:42.36%;width:21.48%;height:34.72%;min-height:48px;min-width:48px;z-index:3;background:transparent;border:0;box-shadow:none;padding:0;cursor:pointer}.office-computer .office-computer-label,.office-computer span{display:none!important}.office-computer:focus-visible{outline:3px solid #ffdc72;outline-offset:1px}
#mbox:has(.computer-shell){padding:0;width:min(980px,98vw);height:min(900px,94dvh);max-height:94dvh;overflow:hidden;border:4px solid #7e8793}.computer-shell{display:flex;flex-direction:column;height:100%;min-width:0;color:#e9f0df;background:#10241e;font:15px/1.5 system-ui,sans-serif}.computer-chrome{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px;background:#354445;flex-shrink:0}.computer-chrome>b{font:700 clamp(12px,2.5vw,18px)/1.4 monospace}.computer-shell .btn{min-height:48px;min-width:0;white-space:normal;font:700 14px/1.3 system-ui,sans-serif;overflow-wrap:anywhere}.computer-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:6px;background:#273a32;flex-shrink:0}.computer-tabs .on{outline:2px solid #b9e5b1;outline-offset:-3px}.computer-address{padding:3px 8px;font:11px/1.4 monospace;color:#d1ddca;flex-shrink:0}.computer-back{margin:3px 8px;flex-shrink:0}.computer-back[hidden]{display:none}.computer-body{overflow:auto;overscroll-behavior:contain;flex:1;min-height:0;min-width:0;padding:10px;overflow-wrap:anywhere}.computer-body h2{font:700 19px/1.5 system-ui,sans-serif;margin:4px 0 10px}.computer-list{display:grid;gap:12px}.computer-story,.computer-post{display:block;width:100%;min-width:0;min-height:48px;border:2px solid #728d83;padding:10px;background:#152f28;color:#eff4eb;text-align:left;cursor:pointer;white-space:normal;overflow-wrap:anywhere;font:15px/1.5 system-ui,sans-serif}.computer-story small{display:block;color:#d2dfcc}.computer-post{padding:0}.computer-post .fp{margin:0;border:0;min-width:0}.computer-post .fh{flex-wrap:wrap}.computer-post .fh span{overflow-wrap:anywhere}.computer-article{white-space:pre-wrap}.computer-league-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px}.computer-table-scroll{max-width:100%;overflow:auto;overscroll-behavior:contain}.computer-body .panel,.computer-body .two,.computer-body .sgrid{min-width:0;max-width:100%}.computer-body .two{grid-template-columns:1fr}.computer-body .sgrid{grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr))}.computer-body table{white-space:normal}.computer-body .mh{flex-wrap:wrap}.computer-body .note{font:14px/1.5 system-ui,sans-serif}.computer-body .panel{padding:10px}.computer-body .dtabs:empty{display:none}@media(max-width:700px){.modal:has(.computer-shell){padding:4px}#mbox:has(.computer-shell){width:100%;height:96dvh;max-height:96dvh;border-width:2px}.computer-chrome{padding:6px}.computer-league-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.computer-body{padding:8px}.computer-body .fp{gap:8px}.computer-body .fb{min-width:0}.computer-body .fx{flex-wrap:wrap}}
@media(prefers-reduced-motion:no-preference){.computer-shell{animation:computer-in .15s ease-out}@keyframes computer-in{from{opacity:.2;transform:scale(.97)}to{opacity:1;transform:scale(1)}}}
/* Same incoming/outgoing bubble language as the owner meeting; owner intro itself is unchanged. */
#mbox:has(.office-phone-shell){width:min(1100px,98vw);height:94dvh;max-height:94dvh;padding:10px;overflow:hidden;display:block}.office-phone-shell{display:flex;flex-direction:column;min-height:0;height:100%;min-width:0}.office-phone-shell>.mh{flex:none}.office-phone-shell>.mh h2{font:700 clamp(16px,3vw,24px)/1.4 system-ui,sans-serif;overflow-wrap:anywhere;margin:0}.office-phone-top{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;flex:none;padding:8px 0}.office-phone-top .btn{min-height:48px;min-width:0;font:700 14px/1.3 system-ui,sans-serif;white-space:normal}.office-phone-top [hidden]{display:none}.office-phone-menu,.phone-portal-body{overflow:auto;min-height:0;min-width:0;flex:1;overscroll-behavior:contain}.phone-portal-body.phone-trade{display:flex;overflow:hidden}.phone-portal-body .tcx{min-width:0;height:100%}.phone-portal-body .tcx .mh{display:flex;gap:6px;align-items:center;flex-wrap:nowrap}.phone-portal-body .tcx .mh h2{flex:1;min-width:0;font:700 clamp(14px,2vw,22px)/1.4 system-ui,sans-serif;overflow-wrap:anywhere}.phone-portal-body .tcx .mh .x{flex:none;min-width:48px;min-height:48px}.coach-text-logo{width:64px;height:64px;object-fit:contain;flex:none}.coach-text-chat{height:100%;min-height:0;box-sizing:border-box}.coach-text-chat .oscene{flex:none}.coach-text-chat .oscene>div{min-width:0}.coach-text-chat .oscene b,.coach-text-chat .oscene small{font:700 15px/1.5 system-ui,sans-serif;overflow-wrap:anywhere}.coach-text-chat .olog{flex:1;min-height:90px;max-height:none;cursor:default;padding:5px 0}.coach-text-chat .ob{font:15px/1.5 system-ui,sans-serif;overflow-wrap:anywhere;flex:none}.coach-text-replies{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));flex:none}.coach-text-replies .btn{min-height:48px;min-width:0;white-space:normal;overflow-wrap:anywhere;font:700 14px/1.4 system-ui,sans-serif}.coach-text-chat>.note{font:13px/1.4 system-ui,sans-serif;flex:none}@media(max-width:700px){#mbox:has(.office-phone-shell){width:100%;height:96dvh;max-height:96dvh;padding:8px}.modal:has(.office-phone-shell){padding:3px}.coach-text-chat{padding:0;gap:8px}.coach-text-logo{width:44px;height:44px}.coach-text-chat .oscene{padding:8px}.coach-text-chat .ob{max-width:88%;padding:8px}.coach-text-replies{gap:8px}.phone-portal-body .tsum{max-height:29dvh}}
#mbox:has(.office-phone-shell):not(:has(.tcx)){width:min(620px,98vw)}.coach-text-chat .coach-text-replies{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.coach-text-chat .coach-text-replies>.btn{width:100%;padding:8px;min-height:48px}

/* Gameplay-only ordinary photo and earned-only shelf. Never the title logo Easter egg. */
.scene .office-team-photo{position:absolute;left:57.97%;top:15.56%;width:14.53%;height:26.11%;border:0;background:transparent;box-shadow:none;box-sizing:border-box;z-index:1;pointer-events:none;overflow:hidden}
.office-team-photo img{display:block;width:100%;height:100%;object-fit:contain;image-rendering:auto}
.office-photo-missing{display:flex;height:100%;align-items:center;justify-content:center;text-align:center;font:clamp(7px,1.8cqw,12px)/1.2 system-ui;color:#bac4d4}
.scene .office-earned-trophies{position:absolute;left:57.81%;top:44.17%;width:15.62%;height:5.83%;margin:0;padding:0;list-style:none;display:flex;gap:2px;align-items:flex-end;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;box-sizing:border-box;z-index:2}
.office-earned-trophies li{flex:0 0 auto;width:4cqw;height:6cqw;min-width:12px;max-width:30px;max-height:40px}.office-earned-trophies svg{display:block;width:100%;height:100%}.office-earned-trophies:focus-visible{outline:2px solid #ffdc72;outline-offset:2px}

.scene .office-earned-trophies{/* executive-b shelf */}
.office-earned-trophies .united-bowl-trophy{width:6.2cqw;height:auto;aspect-ratio:40/120;max-width:40px;max-height:64px}.united-bowl-trophy img{image-rendering:pixelated;image-rendering:crisp-edges;display:block;width:100%;height:auto;object-fit:contain}
/* Nov 8 playtest fix: office object labels stay readable (>=11px) on phones. */
.office-chart-open span{font-size:11px;line-height:1.3}
.office-computer span{display:none}

/* Nov 8 rec 4: broader phone shell readability — larger type, less crowding, clear primary buttons */
@media(max-width:700px){
 .office-phone-shell{padding:12px;font:400 15px/1.55 system-ui,sans-serif}
 .office-phone-shell .mh h2{font:700 clamp(17px,4.5vw,22px)/1.35 system-ui,sans-serif}
 .office-phone-shell small{font-size:13px;line-height:1.45}
 .office-phone-menu{gap:12px}
 .office-phone-menu .btn,.office-phone-top .btn{min-height:52px;padding:12px 14px;font:700 15px/1.35 system-ui,sans-serif}
 .office-phone-menu .btn.blue,.office-phone-top .btn.blue{box-shadow:0 0 0 2px #ffc83c inset}
 .office-message{padding:14px;font-size:15px;line-height:1.55}
 .office-message p{font:400 15px/1.55 system-ui,sans-serif}
 .office-message-link span{font:600 15px/1.4 system-ui,sans-serif}
 .coach-text-chat .ob{font:400 15px/1.55 system-ui,sans-serif;padding:10px 12px}
 .coach-text-replies .btn{min-height:52px;font:700 15px/1.4 system-ui,sans-serif;padding:10px}
 .phone-portal-body .tcx .mh h2{font-size:clamp(15px,4vw,20px)}
}


/* Executive B desk hotspots (approved 32-bit look) */
.scene img[data-office],.scene canvas[data-office]{position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated;object-fit:fill;pointer-events:none;z-index:0}
.scene.office-current{background:#0a0c14}
.scene .deskphone{left:52%;top:64%;width:6.5%;height:13%;min-width:48px;min-height:48px;z-index:6}
.scene .desk-notepad{position:absolute;left:72%;top:66%;width:9%;height:13%;min-width:48px;min-height:48px;z-index:5;padding:0;border:0;background:transparent;cursor:pointer;display:flex;align-items:flex-end;justify-content:center}
.scene .desk-notepad .desk-notepad-label{font:700 0.625rem/1 var(--fh);color:#1a1208;background:#f4ecda;border:2px solid #000;padding:2px 4px;box-shadow:2px 2px #000;pointer-events:none}
.scene .desk-notepad:focus-visible{outline:3px solid #ffc83c;outline-offset:2px}
.scout-notes .scout-list{margin:.6rem 0;padding-left:1.1rem;line-height:1.45}
.scout-notes .scout-list li{margin:.35rem 0}
@media (max-width:700px){
 .scene:not(.office-current) .deskphone{left:52%;top:calc(56.25cqw * .64);height:calc(56.25cqw * .13)}
 .scene:not(.office-current) .desk-notepad{left:72%;top:calc(56.25cqw * .66);height:calc(56.25cqw * .13)}
 .scene:not(.office-current) .office-wall-chart{top:calc(56.25cqw * .13);height:calc(56.25cqw * .30)}
 .scene:not(.office-current) .office-computer{top:calc(56.25cqw * .42);height:calc(56.25cqw * .36)}
 .scene:not(.office-current) .office-team-photo{top:calc(56.25cqw * .145);height:calc(56.25cqw * .29)}
 .scene:not(.office-current) .office-earned-trophies{top:calc(56.25cqw * .46);height:calc(56.25cqw * .1)}
}



/* Executive B: 384x216 art, panel clipped to the desk front edge (384/204). Hotspots are % of the clipped stage. Lanes are siblings — never shift %. */
.scene.office-current{display:flex;flex-direction:column;background:#0a0c14;overflow:hidden;aspect-ratio:auto;min-height:0}
.scene.office-current .office-stage{position:relative;width:100%;aspect-ratio:384/204;flex:0 0 auto;overflow:visible;margin-bottom:0;background:#000}
.scene.office-current .office-stage img[data-office],
.scene.office-current .office-stage canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center;image-rendering:pixelated;pointer-events:none;z-index:0}
.scene.office-current .lanes{position:static;margin-top:8px}
@media(min-width:701px){
 .scene.office-current .lanes{position:absolute;left:10px;right:10px;bottom:10px;margin:0;z-index:2}
}
/* Transparent hit targets — aligned to approved Executive B art objects */
.scene.office-current .office-computer{position:absolute;left:12.89%;top:41.91%;width:18.75%;height:35.29%;min-width:44px;min-height:44px;z-index:4;background:transparent!important;border:0;box-shadow:none;padding:0;cursor:pointer}
.scene.office-current .office-computer span,.scene.office-current .office-computer-label{display:none!important}
.scene.office-current .office-wall-chart{position:absolute;left:39.0%;top:12.71%;width:25.5%;height:37.06%;z-index:3;background:transparent!important;border:0;padding:0;cursor:pointer;min-width:44px;min-height:44px}
.scene.office-current .office-team-photo{position:absolute;left:73.52%;top:13.38%;width:18.91%;height:22.94%;border:0;background:#0a0c14;overflow:hidden;z-index:1;pointer-events:none;box-sizing:border-box}
.scene.office-current .office-team-photo img{width:100%;height:100%;object-fit:contain;object-position:center;display:block;background:#0a0c14}
.scene.office-current .office-photo-missing{display:flex;width:100%;height:100%;align-items:center;justify-content:center;text-align:center;font:clamp(7px,1.6cqw,11px)/1.2 system-ui;color:#8b93a3;background:#0a0c14;box-sizing:border-box;padding:4px}
.scene.office-current .office-earned-trophies{position:absolute;left:72.66%;top:39.71%;width:14.84%;height:8.47%;z-index:2;margin:0;padding:0;list-style:none;display:flex;gap:2px;align-items:flex-end;overflow:hidden;box-sizing:border-box}
.scene.office-current .deskphone.cellphone{position:absolute;left:64.45%;top:79.41%;width:10.16%;height:11.76%;min-width:0;min-height:0;z-index:5;background:transparent!important;border:0;box-shadow:none;padding:0;display:block;box-sizing:border-box}
/* Hide CSS-drawn phone glyph — art already has the handset */
.scene.office-current .deskphone .dph{display:none!important}
.scene.office-current .deskphone .dpring{top:0;left:50%;transform:translateX(-50%)}
.scene.office-current .desk-notepad{position:absolute;left:85.47%;top:82.21%;width:13.91%;height:11.61%;min-width:0;min-height:0;z-index:5;background:transparent;border:0;padding:0;cursor:pointer;box-sizing:border-box}
.scene.office-current .desk-notepad-label{display:none!important}
/* Kill legacy mobile cqw overrides that fought the stage */
@media(max-width:700px){
 .scene.office-current{aspect-ratio:auto;padding-top:0;min-height:0;max-height:none}
 .scene.office-current .office-stage{width:100%;aspect-ratio:384/204}
}

/* 12px floor (office/computer leftovers) */
.computer-address,.office-chart-open span{font-size:12px!important;line-height:1.3}
.office-photo-missing{font-size:max(12px,1.8cqw)!important}
.scene.office-current .kick{font-size:max(12px,1.6cqw)}

@media(min-width:701px){
  body:has(.scene.office-current) .app{height:100dvh;max-height:100dvh;overflow:hidden;grid-template-rows:auto auto auto minmax(0,1fr) auto}
  body:has(.scene.office-current) #views{min-height:0;overflow:auto}
  body:has(.scene.office-current) #v-hub.view.on{max-height:100%;height:100%;min-height:0;overflow:auto;display:flex;flex-direction:column}
  body:has(.scene.office-current) #v-hub .hub{flex:0 0 auto;min-height:auto;min-width:0;height:auto;overflow:visible}
  /* Wide screens: keep the 384/204 desk-edge crop, centered, not a full-bleed 220px strip.
     width:auto + max-height:220 used to pick up the art's intrinsic width (1280), then squash.
     Scene is display:block on desktop, so center the panel with auto margins (not fit-content + 100%, which collapses). */
  #v-hub .scene.office-current{
    overflow:visible!important;flex:0 0 auto;min-height:0;max-height:none;height:auto!important;
    padding-bottom:0;box-sizing:content-box;
    width:min(720px,100%);max-width:100%;margin-left:auto;margin-right:auto;
  }
  #v-hub .scene.office-current .office-stage{
    flex:0 0 auto!important;width:100%!important;max-width:100%!important;
    height:auto!important;max-height:none!important;
    aspect-ratio:384/204;align-self:center;
    overflow:visible;margin:0 auto;
  }
  .nav-five,.nav-five .main-tabs{flex-wrap:nowrap;overflow-x:auto}
}

/* Coach's in-world Fantasy reminder, stuck to the front edge of the desk. */
.scene.office-current .office-stage{container-type:inline-size}
}


/* Tight, object-shaped office hit areas (monitor+stand, depth board, phone, notepad).
   Hover/focus glow is an SVG stroke on the object edge (see .office-hotspot-hl), not a fill.
   Phone/notepad stay at least 44px and centered on the object for usable taps. */
.scene.office-current .office-computer,
.scene.office-current .office-wall-chart,
.scene.office-current .deskphone.cellphone,
.scene.office-current .desk-notepad{
  display:block!important;padding:0!important;border:0!important;
  outline:none!important;box-shadow:none!important;
  -webkit-tap-highlight-color:transparent;
  transform:none;
}
/* Monitor + stand: box hugs the computer; clip follows bezel then pedestal */
.scene.office-current .office-computer{
  left:8.33%;top:26.96%;width:34.38%;height:51.47%;
  min-width:44px!important;min-height:44px!important;z-index:4;
  clip-path:polygon(0% 0%,100% 0%,100% 77.5%,62% 77.5%,62% 100%,40% 100%,40% 77.5%,0% 77.5%);
}
/* Depth chart frame — almost rectangular, tight to the art */
.scene.office-current .office-wall-chart{
  left:38.80%;top:7.35%;width:32.55%;height:49.02%;
  min-width:44px!important;min-height:44px!important;z-index:3;
  clip-path:inset(0.5% 0.6% 0.5% 0.6%);
}
/* Phone / notepad: fixed % of the stage (44px at 390-wide) so clip-path stays locked to the art.
   Polygon is a slightly padded object shape — hugs the prop, still a usable tap on phone. */
.scene.office-current .deskphone.cellphone{
  left:64.04%;top:75.45%;width:12.02%;height:22.62%;
  min-width:44px!important;min-height:44px!important;z-index:5;
  clip-path:polygon(16% 25%, 64% 33%, 86% 76%, 22% 72%);
}
.scene.office-current .desk-notepad{
  left:83.86%;top:73.25%;width:15.63%;height:22.62%;
  min-width:44px!important;min-height:44px!important;z-index:5;
  clip-path:polygon(4% 20%, 88% 28%, 99% 72%, 10% 64%);
}
/* Outline-only yellow glow (no fill). Paths live in stage art space so 390 and 1280 line up. */
.scene.office-current .office-hotspot-hl{
  position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:7;
  overflow:visible;
}
.scene.office-current .office-hotspot-hl :is(rect,path){
  fill:none;stroke:#ffc83c;stroke-width:2.25px;vector-effect:non-scaling-stroke;
  stroke-linejoin:round;stroke-linecap:round;opacity:0;
}
.scene.office-current .office-hotspot-hl .hl-notepad{stroke-linejoin:miter;stroke-miterlimit:2.5}
.scene.office-current .office-computer:is(:hover,:focus,:focus-visible) ~ .office-hotspot-hl .hl-computer,
.scene.office-current .office-wall-chart:is(:hover,:focus,:focus-visible) ~ .office-hotspot-hl .hl-depth,
.scene.office-current .deskphone.cellphone:is(:hover,:focus,:focus-visible) ~ .office-hotspot-hl .hl-phone,
.scene.office-current .desk-notepad:is(:hover,:focus,:focus-visible) ~ .office-hotspot-hl .hl-notepad{
  opacity:1;
  animation:officeHlPulse 1.4s ease-in-out infinite;
}
@keyframes officeHlPulse{
  0%,100%{
    stroke:#ffc83c;stroke-width:2px;
    filter:drop-shadow(0 0 2px #ffc83c) drop-shadow(0 0 6px rgba(255,200,60,.9));
  }
  50%{
    stroke:#ffe9a0;stroke-width:2.75px;
    filter:drop-shadow(0 0 3px #ffe9a0) drop-shadow(0 0 10px rgba(255,200,60,1));
  }
}
@media (prefers-reduced-motion:reduce){
  .scene.office-current .office-computer:is(:hover,:focus,:focus-visible) ~ .office-hotspot-hl .hl-computer,
  .scene.office-current .office-wall-chart:is(:hover,:focus,:focus-visible) ~ .office-hotspot-hl .hl-depth,
  .scene.office-current .deskphone.cellphone:is(:hover,:focus,:focus-visible) ~ .office-hotspot-hl .hl-phone,
  .scene.office-current .desk-notepad:is(:hover,:focus,:focus-visible) ~ .office-hotspot-hl .hl-notepad{
    animation:none;
    stroke:#ffc83c;stroke-width:2.25px;
    filter:drop-shadow(0 0 2px #ffc83c) drop-shadow(0 0 6px rgba(255,200,60,.9));
  }
}
.scene.office-current .office-computer:is(:hover,:focus,:focus-visible),
.scene.office-current .office-wall-chart:is(:hover,:focus,:focus-visible),
.scene.office-current .deskphone.cellphone:is(:hover,:focus,:focus-visible),
.scene.office-current .desk-notepad:is(:hover,:focus,:focus-visible){
  outline:none!important;box-shadow:none!important;background:transparent!important;filter:none;
}

@media (pointer:coarse){
  .scene.office-current .office-computer,
  .scene.office-current .office-wall-chart,
  .scene.office-current .deskphone.cellphone,
  .scene.office-current .desk-notepad,
  .scene.office-current #deskPhone,
  .scene.office-current #officeDepth,
  .scene.office-current #officeComputer,
  .scene.office-current #deskNotepad{
    min-width:44px!important;min-height:44px!important;
    display:block!important;
  }
}
