:root{color-scheme:dark;font:15px system-ui;background:#091522;color:#e6eef5}*{box-sizing:border-box}body{margin:0}main{max-width:1300px;margin:auto;padding:32px 20px}header{border-top:4px solid #e3bb67;padding:24px;background:linear-gradient(120deg,#24475d,#111f31)}h1{font-size:clamp(30px,5vw,55px);margin:10px 0}h2{font-size:21px}small{letter-spacing:2px;color:#edcc88}p{line-height:1.55;color:#bfd0dd}section#entry,.columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:16px}article{background:#15293b;border:1px solid #36516a;border-radius:10px;padding:22px;margin:16px 0}label{display:block;color:#bdcbd6;margin:15px 0 8px}input,select{display:block;width:100%;margin-top:7px;padding:11px;border:1px solid #4e697b;border-radius:4px;background:#0c1c2c;color:#fff}button{padding:12px 15px;border:1px solid #917641;border-radius:5px;background:#e2bc6c;color:#112333;font-weight:800;cursor:pointer;margin:5px 5px 5px 0}button:disabled{opacity:.4;cursor:default}.toolbar{display:flex;flex-wrap:wrap}.row{padding:10px 0;border-bottom:1px solid #355066}#summary{background:#254860;padding:18px;border-left:4px solid #e4bd69}#status{padding:12px;background:#112536;overflow-wrap:anywhere}#invite-result{overflow-wrap:anywhere}footer{padding:24px 0;color:#9cb0bf}[hidden]{display:none!important}:focus-visible{outline:3px solid #80e8ec;outline-offset:3px}

.room-tabs{display:flex;gap:8px;flex-wrap:wrap;padding:18px 0}.room-tabs button.active{background:#79dedc;border-color:#79dedc}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px}.inline{display:flex;align-items:center;gap:12px}.inline input{width:auto;margin:0}.scorebug{background:#080f19;border-bottom:4px solid #e2bc6c;padding:20px;font-size:clamp(18px,3vw,30px);font-weight:900}#live-canvas{width:100%;aspect-ratio:1100/480;display:block;background:#091522;margin:16px 0}.play-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:20px 0}.play-card{margin:0;min-height:150px;text-align:left;background:#0d2031;color:#dcebf6;border:2px solid #37566e;padding:15px}.play-card b,.play-card small{display:block;letter-spacing:0}.play-card small{margin-top:10px;color:#b8d2e5;font-weight:400}.play-card.selected{border-color:#73e2df;background:#16434c}.play-card svg{width:100%;height:65px;margin-top:8px}.room-tabs button{flex:1}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:10px;border-bottom:1px solid #36516a}#draft-queue .row{display:flex;gap:10px;align-items:center;justify-content:space-between}#waiver-order{line-height:2;color:#bfd0dd}#live-status{color:#85e2d5}button.danger{background:#edb28c}details summary{cursor:pointer;padding:15px 0;font-weight:700}

.in-match header{padding:12px 20px}.in-match header h1{font-size:26px;margin:4px 0}.in-match header p{display:none}.in-match main{padding-top:14px}.in-match .room-tabs{padding:8px 0}.in-match #live-room{margin-top:8px}.in-match #live-room canvas{margin:10px 0}

body.in-match #account-panel{display:none}.account-signed-in #account-panel article{padding:14px}.account-signed-in #account-panel h2{font-size:18px;margin:0 0 8px}.account-signed-in #account-home{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.account-signed-in #account-home[hidden]{display:none}.account-signed-in #account-home label{flex:1;min-width:220px}
/* Build 017: the game owns the viewport; the playbook belongs on the field. */
body.in-match{overflow:hidden;background:#07131c}body.in-match main{max-width:none;padding:0}body.in-match main>header,body.in-match #status,body.in-match #account-panel,body.in-match footer,body.in-match #room>.toolbar,body.in-match #summary,body.in-match .room-tabs,body.in-match #back-lobby{display:none!important}body.in-match #live-room{position:fixed;inset:0;margin:0;padding:0;border:0;border-radius:0;overflow:hidden;background:#081925}body.in-match #live-canvas{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;margin:0}body.in-match #live-score{position:absolute;z-index:2;top:10px;left:16px;right:16px;min-height:47px;padding:11px 16px;background:#071623f0;border:1px solid #577186;border-bottom:3px solid #edc779;border-radius:5px;font-size:clamp(14px,1.75vw,23px);box-shadow:0 8px 24px #0006}#game-toolbar{display:flex;gap:5px;align-items:center;flex-wrap:wrap}body.in-match #game-toolbar{position:absolute;top:68px;left:16px;right:16px;z-index:4;padding:5px 8px;background:#0b2130ed;border:1px solid #3d596a;border-radius:5px}#game-toolbar button,#game-phase-actions button{font-size:10px;letter-spacing:.3px;padding:7px 8px;margin:0;background:#193d4e;border-color:#456a7b;color:#e4f3f5}#game-toolbar button.enabled{background:#d7bc77;color:#071b25}#game-toolbar label{display:flex;align-items:center;gap:5px;margin:0 4px;color:#bad1dc;font-size:9px;font-weight:800}#game-toolbar select{width:57px;margin:0;padding:5px;font-size:11px}#game-toolbar input{width:78px;padding:0;margin:0;accent-color:#efc777}#game-toolbar output{width:32px}body.in-match #live-status{position:absolute;top:116px;left:20px;z-index:2;margin:0;padding:5px 9px;background:#0a1e2add;border-radius:4px;font-size:11px;max-width:65%;color:#b9f1e5}body.in-match #game-phase-actions{position:absolute;top:155px;left:20px;z-index:4;max-width:70%;display:flex;gap:6px}body.in-match #game-phase-actions button:disabled{display:none}body.in-match #live-decision{position:absolute;top:195px;left:20px;z-index:6;max-width:400px;background:#0c2131f5;border-radius:5px}#live-decision:empty{display:none}#live-decision p{padding:8px 12px;margin:0}#live-decision button{font-size:12px;padding:9px}body.in-match #game-message{position:absolute;bottom:8px;left:20px;width:35%;z-index:3;font-size:11px;color:#e8f4f7;text-shadow:0 1px 3px #000}body.in-match #game-message:empty{display:none}body.in-match #call-controls{position:absolute;right:16px;bottom:16px;z-index:5;width:min(650px,58vw);padding:12px;background:linear-gradient(145deg,#153447f7,#081c2cf7);border:1px solid #577789;border-top:3px solid #e8c47b;border-radius:9px;box-shadow:0 14px 40px #0009;backdrop-filter:blur(7px)}.book-heading{display:flex;align-items:center;gap:8px;margin-bottom:10px;min-height:27px}.book-heading strong{flex:1;font-size:12px;letter-spacing:1.2px;color:#e9ce95}.book-heading button{font-size:10px;padding:7px;margin:0;background:#21495a;color:#def0f6;border-color:#527183}.book-heading #book-close{border:0;background:transparent;font-size:17px}#formation-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.formation-card{margin:0;padding:8px 7px;background:#0c2332;color:#f2ead8;border:1px solid #416273;min-height:96px;text-align:left;transition:border-color .12s,background .12s}.formation-card:hover,.formation-card:focus-visible{background:#214859;border-color:#f2cb7e}.formation-card b{font-size:11px}.formation-card svg{display:block;width:100%;height:48px}.formation-card small{color:#8cb7c4;font-size:8px;letter-spacing:.8px}.book-filters{display:flex;gap:8px;margin-bottom:9px}.book-filters label{flex:1;font-size:8px;letter-spacing:.8px;margin:0;min-width:0}.book-filters select{margin-top:3px;font-size:10px;padding:5px;width:100%;border-color:#34576c}body.in-match .play-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}body.in-match .play-card{min-height:112px;max-height:136px;padding:8px;border-width:1px;overflow:hidden}body.in-match .play-card b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body.in-match .play-card svg{height:64px;margin:0}body.in-match .play-card small{font-size:9px;line-height:1.3;margin-top:1px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}body.in-match .play-card.selected{border:2px solid #f0ca7e;background:#214858;padding:7px}.book-footer{display:flex;align-items:center;gap:8px;margin-top:10px}.book-footer button{padding:7px 10px;font-size:10px;margin:0}.book-footer span{font-size:10px;color:#a5bfce}.book-footer strong{flex:1;font-size:10px;text-align:center;color:#e9cf97}#game-drawer{position:absolute;top:151px;right:16px;bottom:16px;z-index:8;width:min(500px,92vw);padding:15px 18px;background:#0d2434fa;border:1px solid #5c7c8f;border-top:3px solid #eac67b;border-radius:7px;overflow:auto;box-shadow:0 15px 45px #000a}#drawer-close{float:right;margin:0;padding:6px 9px;font-size:10px}#game-drawer details summary{clear:both}#game-drawer th,#game-drawer td{font-size:11px;padding:7px}#game-drawer .row{font-size:12px}#game-drawer label{font-size:12px}#game-drawer input,#game-drawer select{font-size:12px;padding:8px}
@media(max-width:850px){body.in-match #game-toolbar{top:66px}body.in-match #live-status{top:142px}body.in-match #game-phase-actions{top:174px}body.in-match #call-controls{width:min(650px,calc(100vw - 24px));right:12px;bottom:12px}#formation-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.formation-card{min-height:76px}.formation-card svg{height:35px}body.in-match #live-decision{top:212px}body.in-match #game-message{bottom:auto;top:195px;width:80%}}
@media(max-height:650px) and (min-width:851px){body.in-match #call-controls{width:580px;padding:9px;bottom:9px}#formation-grid{gap:5px}.formation-card{min-height:70px;padding:5px}.formation-card svg{height:34px}.book-heading{margin-bottom:6px}body.in-match .play-card{min-height:83px;max-height:100px}body.in-match .play-card svg{height:44px}.book-filters{margin-bottom:5px}.book-footer{margin-top:6px}}
/* Broadcast HUD: compact scorebug, quiet corners, shallow on-field playbook. */
body.in-match{font-family:Consolas,'Courier New',monospace}body.in-match #live-score{display:flex;align-items:stretch;gap:0;left:50%;right:auto;transform:translateX(-50%);top:12px;width:max-content;max-width:calc(100vw - 320px);min-height:54px;padding:0;border:1px solid #526071;border-bottom:3px solid #e6bf6b;border-radius:2px;background:#101b2df5;box-shadow:0 3px 0 #07111c,0 8px 24px #0006;font-size:17px;overflow:hidden}.score-team{display:grid;position:relative;grid-template-columns:auto 42px;align-items:stretch}.team-identity{display:flex;gap:6px;align-items:center;padding:4px 10px;min-width:92px;background:#28566a}.team-identity img{width:30px;height:30px;object-fit:contain}.team-identity b{font-size:19px;letter-spacing:.5px}.score-team>strong{display:grid;place-items:center;background:#07111f;min-width:42px;font-size:26px}.timeout-pips{position:absolute;bottom:2px;left:12px;display:flex;gap:3px}.timeout-pips i{height:2px;width:11px;background:#ffffff28}.timeout-pips i.available{background:#f2cf82}.possession-dot{height:5px;width:5px;background:#f3ce7d;border-radius:50%}.score-time{display:flex;flex-direction:column;justify-content:center;padding:3px 12px;text-align:center;min-width:77px}.score-time small{font-size:9px;letter-spacing:1px}.score-time b{font-size:20px}.score-down{display:grid;place-items:center;padding:5px 12px;background:#e8c675;color:#101c29;font-size:17px;min-width:90px;font-weight:900}.score-play-clock{display:grid;place-items:center;min-width:49px;padding:6px;color:#99e4b0;font-size:21px;background:#091625}.score-play-clock.urgent{color:#ff9d8e;background:#41252a}body.in-match #game-toolbar{top:12px;left:auto;right:14px;border:0;background:transparent;padding:0;gap:6px;flex-wrap:nowrap}#game-toolbar button{height:37px;padding:7px 9px;background:#101b2de8;border:1px solid #53657c;border-radius:2px;font-family:inherit;font-size:10px;box-shadow:0 3px 0 #06111c}body.in-match #live-status{top:13px;left:14px;max-width:160px;padding:8px 9px;border:1px solid #41576a;background:#101b2de8;color:#c7dddf;font-size:9px;line-height:1.6;letter-spacing:.5px}#game-dock{position:absolute;bottom:14px;left:16px;z-index:4;display:flex;align-items:center;gap:7px;padding:6px 9px;background:#0b1729e8;border:1px solid #455c70;box-shadow:0 3px 0 #07111c}#game-dock button{margin:0;padding:6px 8px;background:#192d43;border:1px solid #4b647b;border-radius:2px;color:#dce9ef;font:700 10px Consolas,monospace}#game-dock button.enabled{color:#101a27;background:#e5bf73;border-color:#e5bf73}#game-dock label{margin:0;display:flex;gap:5px;align-items:center;font-size:9px}#game-dock select{margin:0;width:47px;padding:4px;font:11px Consolas,monospace}body.in-match #game-phase-actions{top:50%;left:50%;transform:translate(-50%,-50%);padding:14px;background:#0c192def;border:1px solid #d0ad67;border-radius:2px}#game-phase-actions:has(>button:not([hidden]):not(:disabled)){display:flex}#game-phase-actions:not(:has(>button:not([hidden]):not(:disabled))){display:none!important}body.in-match #game-message{bottom:65px;left:16px;width:auto;max-width:480px;font-size:10px;color:#d1e1e7}body.in-match #live-decision{top:40%;left:50%;transform:translate(-50%,-50%);border:1px solid #e3bf73;max-width:550px;text-align:center;padding:14px}body.in-match #call-controls{right:0;left:0;bottom:0;width:100%;padding:11px 22px 15px;background:#101b2bf5;border:0;border-top:3px solid #e4bf74;border-radius:0;box-shadow:0 -8px 30px #0005;backdrop-filter:blur(6px)}body.in-match:has(#call-controls:not([hidden])) #game-dock{bottom:auto;top:83px;left:auto;right:14px;background:#0a182bdc;padding:4px 6px;border-color:#46596c}body.in-match:has(#call-controls:not([hidden])) #game-message{display:none}.book-heading{max-width:1200px;margin:0 auto 8px;gap:10px}.book-heading strong{font-size:13px;letter-spacing:1px;color:#f3d692}.book-heading button{background:#172d43;border-radius:1px;border-color:#40576e;font-family:inherit;font-size:10px}#formation-grid{grid-template-columns:repeat(6,minmax(0,1fr));max-width:1200px;margin:auto;gap:8px}.formation-card{min-height:79px;max-height:94px;padding:7px 9px;background:#14273b;border-radius:1px;border-color:#40576e}.formation-card b{font-size:11px;letter-spacing:.6px}.formation-card svg{height:43px;margin:4px 0}.formation-card small{font-size:8px;color:#b1c9d1}.book-filters{max-width:1200px;margin:0 auto 8px;gap:14px}.book-filters label{display:flex;align-items:center;gap:6px;font-size:8px;letter-spacing:.8px}.book-filters select{margin:0;padding:5px 6px;background:#0b182a;border-radius:1px;font-family:inherit;font-size:10px}.book-filters label:first-child{max-width:170px}body.in-match .play-cards{grid-template-columns:repeat(6,minmax(0,1fr));max-width:1200px;margin:0 auto;gap:8px}body.in-match .play-card{position:relative;min-height:144px;max-height:160px;padding:5px 7px 7px;background:#14263d;border-radius:1px;border-color:#40576e;display:flex;flex-direction:column}body.in-match .play-card b{order:2;padding:5px 0 1px;text-align:center;font-size:11px;text-transform:uppercase}body.in-match .play-card svg{order:1;display:block;height:95px;margin:0;background:#124738;border-bottom:2px solid #476c69}body.in-match .play-card small{order:3;font-size:8px;text-align:center;line-height:1.3;color:#aec7ce}body.in-match .play-card.selected{background:#252b33;border-color:#edc677}.book-footer{max-width:1200px;margin:8px auto 0}.book-footer button{font-family:inherit;border-radius:1px}.book-footer strong{color:#edcb82;letter-spacing:.5px}.book-footer #lock-call{background:#e7c578;color:#101b2c;border-color:#f2d58f;font-size:11px}body.in-match #call-controls.previewing{left:50%;right:auto;transform:translateX(-50%);width:min(600px,calc(100vw - 32px));bottom:16px;border:1px solid #d3b775;border-top:3px solid #e6bf74;box-shadow:0 8px 30px #0006;padding:9px 13px}.previewing .book-heading{margin-bottom:2px}.previewing .book-heading strong{font-size:10px;color:#a6becb}body.game-paused #live-room::after{content:'';position:absolute;inset:0;background:#030b17aa;backdrop-filter:blur(3px);z-index:7}body.in-match #game-drawer{top:50%;bottom:auto;left:50%;right:auto;transform:translate(-50%,-50%);width:min(920px,calc(100vw - 40px));max-height:85vh;padding:22px 26px;background:#101b2bfa;border:1px solid #68798a;border-top:3px solid #e5c47a;border-radius:2px;box-shadow:0 12px 55px #000a;overflow:auto}.pause-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.pause-heading h2{font-size:24px;letter-spacing:2px;margin:5px 0 12px}.pause-heading small{font-size:9px;color:#e3c682;letter-spacing:2px}#drawer-close{float:none;background:#e6c77d;border-radius:1px;font:700 11px Consolas,monospace;padding:10px 17px}#pause-tabs{display:flex;gap:5px;border-bottom:1px solid #4e6073;padding-bottom:12px;margin-bottom:10px}#pause-tabs button{flex:1;margin:0;padding:9px 6px;font:700 10px Consolas,monospace;background:#1a3047;color:#c8dce5;border:1px solid #405a72;border-radius:1px}#pause-tabs button.active{color:#101b2b;background:#e3c37b;border-color:#e3c37b}.strategy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.strategy-grid label{margin:4px 0!important}#settings-details input[type=range]{max-width:360px;accent-color:#e5c37a}#settings-details output{display:block;margin:8px 0}.game-paused #game-dock{z-index:6}#play-stat-strip{position:absolute;top:73px;left:50%;transform:translateX(-50%);z-index:3;display:flex;align-items:center;gap:12px;width:max-content;max-width:calc(100vw - 420px);padding:8px 14px;border-left:3px solid #ebc57b;background:#0b192cf2;box-shadow:0 3px 8px #0005;color:#d6e6ec;font-size:11px;line-height:1.4;animation:stat-arrive .25s ease-out}#play-stat-strip b{color:#f2cf84;font-size:12px}#play-stat-strip small{font-size:8px;letter-spacing:.8px;color:#91b9c7}#play-stat-strip .stat-numbers{font-size:12px;color:#f0f5f7;white-space:nowrap}@keyframes stat-arrive{from{opacity:0;translate:0 -5px}to{opacity:1;translate:0 0}}
@media(max-width:1000px){body.in-match #live-score{max-width:calc(100vw - 210px);left:12px;transform:none}.team-identity{min-width:62px;padding:3px 6px;gap:3px}.team-identity img{width:23px}.team-identity b{font-size:15px}.score-team>strong{font-size:22px;min-width:30px}.score-team{grid-template-columns:auto 30px}.score-time{padding:3px 7px;min-width:62px}.score-time b{font-size:17px}.score-down{padding:4px 8px;min-width:70px;font-size:13px}.score-play-clock{min-width:39px;font-size:17px}body.in-match #live-status{top:76px;left:12px;max-width:170px}body.in-match #game-toolbar{top:12px}#play-stat-strip{top:116px;left:12px;transform:none;max-width:calc(100vw - 24px);font-size:10px}#formation-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.formation-card{padding:6px;min-height:74px}.formation-card b{font-size:9px}.formation-card svg{height:38px}body.in-match .play-cards{grid-template-columns:repeat(3,minmax(0,1fr))}body.in-match .play-card{min-height:94px;max-height:108px}body.in-match .play-card svg{height:58px}body.in-match .play-card small{display:none}.strategy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){body.in-match #live-score{top:7px;left:7px;max-width:calc(100vw - 80px);min-height:42px}.team-identity{min-width:43px;padding:3px}.team-identity img{display:none}.team-identity b{font-size:12px}.score-team>strong{font-size:19px}.score-time{min-width:47px;padding:3px 5px}.score-time b{font-size:14px}.score-down{min-width:52px;font-size:11px;padding:3px 5px}.score-play-clock{font-size:14px;min-width:33px}body.in-match #game-toolbar{top:7px;right:6px;flex-direction:column;gap:3px}#game-toolbar button{height:27px;padding:5px;font-size:8px;max-width:70px}.timeout-pips{left:4px}.timeout-pips i{width:8px}body.in-match #live-status{top:58px;max-width:160px;font-size:8px;padding:4px 7px}#formation-grid{grid-template-columns:repeat(4,minmax(0,1fr))}body.in-match #call-controls{padding:8px 10px}.formation-card{min-height:60px;max-height:70px}.formation-card svg{height:28px}.formation-card b{font-size:8px}.formation-card small{font-size:7px}.book-heading strong{font-size:10px}.book-filters{flex-wrap:wrap;gap:5px}.book-filters label{flex:1 1 40%}.book-footer strong{font-size:9px}.book-footer button{padding:6px;font-size:9px}body.in-match #game-dock{gap:4px;padding:4px;left:8px;bottom:8px}#game-dock button{font-size:8px;padding:5px}body.in-match:has(#call-controls:not([hidden])) #game-dock{top:68px;right:7px;max-width:60%;flex-wrap:wrap}body.in-match #game-drawer{padding:15px;width:calc(100vw - 20px)}#pause-tabs{flex-wrap:wrap}#pause-tabs button{flex:1 1 30%;font-size:8px}.pause-heading h2{font-size:20px}#play-stat-strip{top:103px;font-size:9px;padding:5px 9px}#play-stat-strip .stat-numbers{font-size:10px}.strategy-grid{grid-template-columns:1fr 1fr}}
body.in-match:has(#call-controls:not([hidden])) #game-dock{top:124px}body.in-match .play-card .call-key{position:absolute;top:5px;left:5px;z-index:1;background:#ebc77c;color:#0d1b2b;padding:1px 4px;font-size:10px;border:1px solid #132537}#play-stat-strip{flex-wrap:wrap;column-gap:12px;row-gap:2px}#play-stat-strip small:first-child{flex:0 0 100%;font-size:8px}#play-stat-strip small:last-child{font-size:8px}body.in-match #game-drawer p{font:12px/1.6 Consolas,monospace}#live-injuries .medical-row{padding:10px;border-bottom:1px solid #3b5368;font-size:12px}#live-injuries .medical-row b{color:#f1cb83}#live-injuries .medical-row small{display:block;color:#abc7d2;font-size:10px;letter-spacing:0}
@media(max-width:600px){body.in-match:has(#call-controls:not([hidden])) #game-dock{top:76px;max-width:55%}#play-stat-strip{max-width:calc(100vw - 24px);top:123px}.book-filters label{font-size:7px}}

#legacy-hub nav{display:flex;flex-wrap:wrap;gap:6px}#legacy-hub button[aria-pressed="true"]{background:#76d6ce}#legacy-hub .legacy-filters{display:flex;flex-wrap:wrap;gap:16px}#legacy-hub label{min-width:150px;flex:1}#legacy-hub .legacy-table{overflow-x:auto}#legacy-hub th{white-space:nowrap}#legacy-hub td{font-size:13px}#legacy-hub h3{color:#e3bc70}
