:root{font-family:'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,system-ui,sans-serif;color:#352c24;background:#ba9870;font-synthesis:none;--red:#b73830;--cream:#fffaf0}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:focus-visible{outline:3px solid #087ea5;outline-offset:2px}[hidden]{display:none!important}
#stage{position:fixed;inset:0;width:100%;height:100vh;height:100dvh;overflow:hidden;background:#ba9870}#arena{display:block;width:100%;height:100%;touch-action:none}.clock{position:absolute;top:calc(env(safe-area-inset-top) + 12px);left:50%;transform:translateX(-50%);display:flex;align-items:baseline;gap:3px;color:#493a2b;background:#fff9e6dd;border:1px solid #fff6dfb0;border-radius:99px;padding:5px 12px;pointer-events:none;box-shadow:0 2px 8px #4f351421}.clock>span:first-child{font:800 22px Arial,sans-serif;font-variant-numeric:tabular-nums}.clock small{font-size:10px}.clock #hold{font-size:10px;color:var(--red);margin-left:3px}.clock.urgent{color:var(--red)}.round{width:44px;height:44px;border:1px solid #fff7e6c0;border-radius:50%;background:#fffaf0e6;color:#59432d;font-size:21px;box-shadow:0 2px 8px #4f351426}#menu-toggle{position:absolute;right:calc(env(safe-area-inset-right) + 12px);top:calc(env(safe-area-inset-top) + 10px);z-index:6}#menu{position:absolute;right:calc(env(safe-area-inset-right) + 12px);top:calc(env(safe-area-inset-top) + 64px);z-index:6;width:220px;border:1px solid #fff2d2;border-radius:15px;background:#fffaf0f5;box-shadow:0 6px 30px #4b311648;padding:8px;display:grid;gap:4px}#menu button{border:0;border-radius:9px;min-height:44px;background:#efe6d7;color:#4c3826;font-size:13px;font-weight:700}#menu .sports{display:flex;gap:4px}#menu .sports button{flex:1}#menu .sports button[aria-pressed=true]{color:white;background:var(--red)}#unfocus{position:absolute;left:calc(env(safe-area-inset-left) + 12px);top:calc(env(safe-area-inset-top) + 10px)}#feedback{position:absolute;z-index:4;left:50%;bottom:calc(env(safe-area-inset-bottom) + 80px);transform:translateX(-50%);max-width:85%;padding:7px 12px;border-radius:99px;background:#fffaf0e8;color:#4c3826;font-size:12px;text-align:center;opacity:0;pointer-events:none;transition:opacity .16s;white-space:nowrap}#feedback.show{opacity:1}#match-action{position:absolute;left:50%;bottom:calc(env(safe-area-inset-bottom) + 25px);transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:9px;white-space:nowrap;pointer-events:none}#match-status{font-size:12px;font-weight:700;color:#fff9e8;text-shadow:0 1px 5px #3c251b}#board-action{pointer-events:auto;border:1px solid #fff2d2;border-radius:99px;min-height:46px;padding:10px 25px;background:var(--red);color:white;font-weight:800;font-size:14px;box-shadow:0 2px 10px #4f28153a}#cancel-selection{position:absolute;left:calc(env(safe-area-inset-left) + 12px);bottom:calc(env(safe-area-inset-bottom) + 15px);border:1px solid #fff2d2;border-radius:99px;min-height:44px;padding:8px 14px;background:#fffaf0ee;color:var(--red);font-weight:700;font-size:12px}#render-fallback{position:absolute;inset:20%;background:#fffaf0;padding:20px;text-align:center}#drag-preview{position:fixed;transform:translate(-50%,-115%);z-index:8;border-radius:99px;background:#fff9e6ee;color:#593f20;padding:8px 12px;font-size:12px;font-weight:700;pointer-events:none;box-shadow:0 2px 8px #65452240;white-space:nowrap}#drag-line{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:3}#drag-line path{fill:none;stroke:#fff2b9;stroke-width:3;stroke-dasharray:6 5;filter:drop-shadow(0 1px 2px #76532c)}dialog{width:min(92vw,500px);max-height:82dvh;overflow:auto;border:1px solid #d1bd99;border-radius:20px;padding:28px;background:var(--cream);color:#443322;box-shadow:0 16px 70px #33201066}dialog::backdrop{background:#2c231c55}dialog h2{font-size:20px;margin:16px 36px 18px 0}dialog p{font-size:13px;line-height:1.8}#close-help{position:absolute;right:10px;top:10px}@media(max-height:500px){#match-action{bottom:calc(env(safe-area-inset-bottom) + 12px);gap:5px}.clock{top:calc(env(safe-area-inset-top) + 8px)}#feedback{bottom:65px}}
/* Keep field actions clear of children; a cramped view uses the same action in the menu. */
#hud-safe-area{position:absolute;inset:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);visibility:hidden;pointer-events:none}
#match-action{width:max-content;max-width:calc(100% - 24px);text-align:center}
#match-status{max-width:260px;white-space:normal}
#menu{max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 76px);overflow-y:auto}
#menu-board-action{background:var(--red)!important;color:white!important}
#menu-feedback{margin:4px;padding:6px;font-size:12px;line-height:1.5;color:#4c3826}
#feedback{width:max-content;white-space:normal}
#menu .sports{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
#menu .sports button{min-width:0;font-size:12px;padding:4px}
#tutorial{max-height:85dvh;overflow-y:auto}
#menu button,#menu .sports button{font-size:14px}

/* Context controls appear only for a selection or a chosen basket. */
#help{position:absolute;left:calc(env(safe-area-inset-left) + 12px);top:calc(env(safe-area-inset-top) + 10px);z-index:6;font-weight:800}
#unfocus{left:calc(env(safe-area-inset-left) + 64px);z-index:5}
#selection-tools,#target-tools{position:absolute;z-index:5;right:calc(env(safe-area-inset-right) + 12px);bottom:calc(env(safe-area-inset-bottom) + 12px);width:min(300px,calc(100% - 24px));padding:10px;border:1px solid #fff2d2;border-radius:14px;background:#fffaf0f2;color:#493423;box-shadow:0 4px 20px #4b311630;max-height:40dvh;overflow:auto}
.selection-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}#selection-tools button,#target-tools button{min-height:44px;padding:6px 9px;border:0;border-radius:8px;color:#553c24;background:#eee2cc;font-size:13px;font-weight:700}#selection-tools strong,#target-tools strong{font-size:14px}#selection-instruction{margin:3px 0 6px;font-size:12px;line-height:1.5}.selection-actions{display:flex;flex-wrap:wrap;gap:5px}#selection-tools label{display:inline-flex;align-items:center;gap:5px;font-size:12px;margin:5px 5px 0 0}#selection-tools select{min-height:44px;max-width:160px;font:inherit;font-size:14px;border:1px solid #cfb992;border-radius:7px;background:#fffaf0;color:#493423}#selected-roster{display:flex;flex-wrap:wrap;gap:4px;margin:6px 0}#selected-roster button{min-width:44px}#target-tools{display:flex;flex-wrap:wrap;gap:5px;align-items:center}#target-title{width:100%}#close-target{position:absolute;right:6px;top:3px}#withdraw-basket{background:#b73830!important;color:white!important}#board-guide{position:absolute;left:50%;bottom:calc(env(safe-area-inset-bottom) + 70px);transform:translateX(-50%);pointer-events:none;max-width:calc(100% - 24px);padding:5px 9px;border-radius:12px;background:#fffaf0d9;color:#59422b;font-size:12px;text-align:center;white-space:normal}#cancel-selection{z-index:5}#swap-mode[aria-pressed=true]{background:#b73830;color:white}
@media(max-height:500px){#selection-tools,#target-tools{max-height:60dvh;width:270px}#board-guide{bottom:12px;left:12px;transform:none;max-width:45%}}

#selection-ability{margin:4px 0 7px;font-size:11px;color:#7a5735;line-height:1.6}

#selection-tools #cancel-selection{position:static;margin:0;min-height:44px;padding:6px 9px;border:0;border-radius:8px;flex-shrink:0;color:#b73830}.selection-heading strong{min-width:0;flex:1}.selection-heading #roster-toggle{flex-shrink:0}

#sound-settings{border-top:1px solid #dccbb0;padding-top:4px;color:#4c3826;font-size:14px}#sound-settings summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:700}#sound-settings label{display:flex;align-items:center;justify-content:space-between;gap:8px}#sound-settings input[type=range]{width:100%;height:44px;accent-color:var(--red)}#sound-settings .mute-row{justify-content:flex-start;min-height:44px}#audio-mute{width:22px;height:22px;accent-color:var(--red)}#audio-status{font-size:12px;line-height:1.5;margin:8px 0}#sound-settings button{width:100%;margin:2px 0}

#menu .menu-link{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px;border-radius:9px;background:#efe6d7;color:#4c3826;font-size:14px;font-weight:700;text-decoration:none;touch-action:manipulation}#menu .menu-link:focus-visible{outline:3px solid #087ea5;outline-offset:2px}

#activity-viewer{box-sizing:border-box;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#f4f1e9;color:#332e29;overflow:hidden}
#activity-viewer[open]{display:flex;flex-direction:column}
#activity-viewer::backdrop{background:#f4f1e9}
.activity-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left));border-bottom:1px solid #d8d0c4;flex-shrink:0}
.activity-toolbar button{min-height:44px;white-space:nowrap}
.activity-toolbar p{font-size:13px;flex:1;min-width:140px;margin:0}
.activity-host{flex:1;min-height:0;display:flex}
.activity-host iframe{border:0;display:block;width:100%;height:100%;min-height:0}

/* Relay results stay separate from the clock and use normal UI pointer arbitration. */
#relay-scoreboard{position:absolute;left:calc(env(safe-area-inset-left) + 12px);top:calc(env(safe-area-inset-top) + 64px);z-index:4;max-width:min(230px,calc(100vw - 24px));padding:7px 10px;border-radius:12px;background:#fffaf0e8;color:#493423;font-size:11px}
#relay-scoreboard summary{min-height:28px;display:list-item;cursor:pointer;touch-action:manipulation;font-weight:700}
#relay-team-results{max-height:32dvh;overflow:auto;overscroll-behavior:contain;touch-action:pan-y;margin:6px 0 0;padding:0;list-style:none;line-height:1.8}
