.technical-touch{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:10px 0}.technical-touch>button{min-height:98px;font-size:clamp(22px,3vw,40px);touch-action:manipulation}.technical-touch strong{display:block;font-size:clamp(18px,2.2vw,30px)}.technical-touch .shiro{background:white;color:#142238;border:2px solid #6e7c8e}.technical-touch .red{background:#bc1737;border:2px solid #bc1737}.technical-touch .no-score{grid-column:1/-1;min-height:52px;font-size:20px}.shortcut-settings{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.shortcut-settings input{text-transform:uppercase;max-width:100px;text-align:center;font-size:25px}.production-mats,.scene-buttons{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.production-mats button[aria-pressed=true],.scene-buttons button[aria-pressed=true]{background:#bc1737;border-color:#bc1737;color:white}.scene-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.scene-buttons button{min-height:95px;font-size:21px}.production-mats button{min-height:48px}.production-view{max-width:1400px}.highlight-row{display:flex;gap:12px;align-items:center;justify-content:space-between;border-top:1px solid #ccd3df;padding:14px 0;flex-wrap:wrap}.award-view{max-width:1100px;margin:auto}.award-rows article{background:white;border:2px solid #cdd5e0;border-radius:9px;padding:20px;display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:16px;margin:12px 0}.award-rows article.announcing{border-color:#bc1737;background:#fff5f6}.award-place{font-size:50px;font-weight:800}.award-rows h2{font-size:clamp(25px,4vw,44px);margin:0}.award-rows p{font-size:24px;margin:5px 0}.award-rows small{font-size:16px;line-height:1.5}.award-rows button,.award-actions button{min-height:65px;font-size:20px;touch-action:manipulation}.award-actions{position:sticky;bottom:0;display:flex;gap:10px;padding:12px;background:#eef2f9;z-index:5}.award-actions>button:first-child{flex:1}.social-posts{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.social-post{padding:10px;background:#eef2f8;border:1px solid #cdd5e0}.social-post iframe{width:100%;height:600px;border:0}.social-post p{font-size:13px}.gesture-grid img{max-height:155px;object-fit:contain}.gesture-grid figure{display:flex;flex-direction:column;justify-content:space-between}.gesture-tabs{margin:8px 0}.gesture-help summary{min-height:40px;cursor:pointer}.gesture-grid figcaption{font-size:13px}.gesture-grid a{display:block;background:white;padding:4px}.replay-tools{padding:8px 0;display:flex;gap:8px;flex-wrap:wrap}.replay-tools button{font-size:13px}
@media(min-width:851px){body.desk-focus .technical-quick .technical-touch button{min-height:clamp(62px,10vh,120px);font-size:clamp(23px,3vw,44px)}body.desk-focus .technical-quick .technical-touch .no-score{min-height:38px;font-size:16px}body.desk-focus .technical-touch{gap:7px;margin:5px 0}body.desk-focus .technical-quick>small{display:none}}
@media(max-width:700px){.shortcut-settings{grid-template-columns:1fr 1fr}.award-rows article{grid-template-columns:50px 1fr;padding:14px;gap:10px}.award-rows article>button{grid-column:1/-1;width:100%}.award-place{font-size:40px}.award-actions{flex-wrap:wrap}.award-actions button{width:100%}.scene-buttons{grid-template-columns:1fr 1fr}.scene-buttons button{font-size:18px;min-height:100px}.technical-touch button{min-height:120px}.technical-quick .actions{display:flex;justify-content:space-between}.production-mats{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}.production-mats button{padding:8px 2px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.production-view *,.award-view *{transition:none!important;animation:none!important}}

body.desk-focus .technical-quick .technical-touch>button{min-height:clamp(72px,12vh,140px);font-size:clamp(23px,3vw,42px)}body.desk-focus .technical-quick .technical-touch>.no-score{min-height:52px;font-size:19px}
@media(max-width:850px){body.desk-focus .technical-quick .technical-touch>button{min-height:120px;font-size:27px}body.desk-focus .technical-quick .technical-touch>.no-score{min-height:60px;font-size:19px}body.desk-focus .match,body.desk-focus .match.vertical{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}body.desk-focus .side{min-width:0;overflow-wrap:anywhere}body.desk-focus .quick-penalties .actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px}body.desk-focus .quick-penalties .actions button{padding:4px 1px;font-size:9px;min-width:0}body.desk-focus .quick-penalties>div{display:block}}

body.ceremony-focus>header,body.ceremony-focus>footer,body.ceremony-focus #test-roles{display:none}body.ceremony-focus #app{padding:12px 14px 35px;max-width:1200px}body.ceremony-focus #connection{position:fixed;bottom:0;left:0;right:0;z-index:10;padding:3px 10px;font-size:11px}body.ceremony-focus .production-mats{margin:8px 0}.award-current article{margin-bottom:8px}.award-members{font-size:18px!important}.all-awards{padding:12px 0}.all-awards summary{padding:10px;cursor:pointer;min-height:45px}@media(max-width:700px){body.ceremony-focus .award-view>.row h1{font-size:25px}body.ceremony-focus .award-view>.row .btn{font-size:12px;padding:8px}body.ceremony-focus .award-current article{padding:12px}body.ceremony-focus .award-actions{bottom:22px;padding:8px 0;display:grid;grid-template-columns:1fr 1fr;gap:6px}body.ceremony-focus .award-actions>button:first-child{grid-column:1/-1}body.ceremony-focus .award-actions button{font-size:17px;min-height:52px}}

.keyboard-side button[data-side=shiro][aria-pressed=true]{background:#fff;color:#142238;border:2px solid #142238}.keyboard-side button[data-side=aka][aria-pressed=true]{background:#bc1737;color:#fff;border-color:#bc1737}.award-category{font-size:17px;color:#47566c;margin:0 0 9px}

.network-emergency{margin-bottom:28px}.network-profiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:12px}.network-profiles button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:9px;background:white;color:#172438;border:1px solid #acb5c0;padding:18px}.network-profiles button[aria-pressed=true]{border:2px solid #bc002a;background:#fff2f5}.network-profiles span{font-weight:400;font-size:14px;line-height:1.45}.network-emergency output{display:block;margin:14px 0}.network-emergency p{max-width:85ch}

.coach-login{max-width:540px;margin:22px auto}.coach-login h1{font-size:32px}.coach-login input{font-size:22px;min-height:54px}.coach-message{min-height:25px}.coach-login .actions button{min-height:48px}.coach-login input[name=code]{font-size:34px;letter-spacing:.12em}
.bout-card .side>.name{font-size:clamp(29px,3.5vw,54px);line-height:1.08;overflow-wrap:anywhere}.bout-card .announce .announcement{font-size:clamp(30px,3.7vw,54px);font-weight:800;line-height:1.08}
@media(min-width:851px){body.desk-focus .bout-card .side>.name{font-size:clamp(34px,4vw,68px);line-height:1.04;margin:3px 0}body.desk-focus .mode-points .announcement{font-size:clamp(34px,4.2vw,64px)}body.desk-focus .bout-card .side>.score{min-height:70px}}
@media(min-width:851px) and (max-height:760px){body.desk-focus .bout-card .side>.name{font-size:clamp(31px,3vw,45px)}body.desk-focus .mode-points .announcement{font-size:clamp(30px,3.4vw,44px)}}
@media(max-width:850px){.bout-card .side>.name{font-size:clamp(28px,7vw,43px)}}
@media(min-width:851px){
 body.desk-focus .mode-jiyu .side>.score,body.desk-focus .mode-team .side>.score{font-size:clamp(64px,10vh,180px);min-height:1.4em;line-height:1}
 body.desk-focus :is(.mode-kihon,.mode-jiyuIppon)>.match{overflow:auto}
 body.desk-focus :is(.mode-kihon,.mode-jiyuIppon)>.match>.side{display:grid;min-height:min-content;grid-template-columns:minmax(0,1fr) 100px;grid-template-rows:auto minmax(min-content,1fr) auto auto auto;column-gap:8px;row-gap:2px}
 body.desk-focus :is(.mode-kihon,.mode-jiyuIppon) .side>.belt{grid-column:1;grid-row:1}
 body.desk-focus :is(.mode-kihon,.mode-jiyuIppon) .side>.name{grid-column:1;grid-row:2;align-self:center;font-size:clamp(30px,2.6vw,42px);line-height:1.04;margin:0}
 body.desk-focus :is(.mode-kihon,.mode-jiyuIppon) .side>.muted{grid-column:1;grid-row:3;font-size:12px}
 body.desk-focus :is(.mode-kihon,.mode-jiyuIppon) .side>.score{grid-column:2;grid-row:1/4;min-height:0;font-size:clamp(68px,10vh,96px);line-height:1;margin:0;padding-bottom:18px}
 body.desk-focus :is(.mode-kihon,.mode-jiyuIppon) .side>small{grid-column:2;grid-row:3;align-self:end;text-align:center;font-size:12px}
 body.desk-focus :is(.mode-kihon,.mode-jiyuIppon) .side>button{grid-column:1/-1;grid-row:4;min-height:28px;font-size:12px;padding:4px}
 body.desk-focus :is(.mode-kihon,.mode-jiyuIppon) .side>.quick-penalties{grid-column:1/-1;grid-row:5}
 body.desk-focus :is(.mode-kihon,.mode-jiyuIppon) .technical-quick>.actions{display:none}
}
@media(min-width:851px) and (max-width:1150px){body.desk-focus .desk-grid{grid-template-columns:minmax(0,1fr) 160px}body.desk-focus :is(.mode-kihon,.mode-jiyuIppon)>.match>.side{grid-template-columns:minmax(0,1fr) 80px}body.desk-focus :is(.mode-kihon,.mode-jiyuIppon) .side>.name{font-size:27px}}
.test-link-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.test-link-choices article{border:1px solid #ccd3dc;padding:18px;border-radius:8px}.test-link-choices input{font-size:13px}.test-tour-mats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.test-mat{display:flex;flex-direction:column;gap:9px;text-align:left;white-space:normal;padding:16px}.test-mat b{font-size:21px}.test-mat strong{font-size:17px}.test-mat span{font-size:13px}.connection-start{max-width:780px;margin:30px auto}#connection.reconnecting{background:#fff3d5;color:#55410e}.audience-call{position:fixed;z-index:500;bottom:22px;left:50%;transform:translateX(-50%);width:min(760px,calc(100vw - 24px));background:#fff;color:#142238;border:2px solid #bc1737;border-radius:10px;box-shadow:0 8px 45px #0004;padding:18px;display:flex;justify-content:space-between;gap:12px}.audience-call[hidden]{display:none}.audience-call strong{font-size:23px}.audience-call p{font-size:18px;margin:8px 0}.audience-call a{font-weight:700}.audience-call button{align-self:flex-start;min-width:44px;min-height:44px;background:#edf0f4;color:#142238;font-size:24px}@media(max-width:850px){.test-tour-mats{grid-template-columns:repeat(2,minmax(0,1fr))}.test-link-choices{grid-template-columns:1fr}.audience-call strong{font-size:20px}.audience-call p{font-size:16px}}
