.start-button, form button[type="submit"], .pause-button, .restart-button { min-height: 52px; border-radius: 8px; background: linear-gradient(180deg, #e56443, #b93c2f); color: #fff7df; font-weight: 900; box-shadow: 0 18px 44px rgb(0 0 0 / 0.36), inset 0 1px 0 rgb(255 255 255 / 0.2); transition: background 180ms ease, transform 180ms ease, box-shadow 180ms ease; } .start-button:hover, form button[type="submit"]:hover, .pause-button:hover, .restart-button:hover { background: linear-gradient(180deg, #f0754f, #c84636); transform: translateY(-1px); box-shadow: 0 22px 52px rgb(0 0 0 / 0.42), inset 0 1px 0 rgb(255 255 255 / 0.24); } .pause-button, .restart-button { display: none; border: 1px solid rgb(238 185 73 / 0.3); background: rgb(255 246 216 / 0.08); color: #ffe8b4; } .pause-button:hover, .restart-button:hover { background: rgb(255 246 216 / 0.14); } #app.match-live .pause-button, #app.match-live .restart-button { display: block; } #app.match-live .match-actions { grid-template-columns: 1fr 1fr; } #app.match-live .match-actions button[type="submit"] { grid-column: 1 / -1; } #app.match-paused .pause-button { background: linear-gradient(180deg, #e3b24f, #9a6c24); color: #120f08; } #app.match-ended .pause-button { display: none; } .drawer-scrim { position: fixed; inset: 0; z-index: 6; background: rgb(4 5 4 / 0.42); opacity: 0; pointer-events: none; transition: opacity 320ms ease; } #app.options-open .drawer-scrim { opacity: 1; pointer-events: auto; } #app.match-live .drawer-scrim { opacity: 0; pointer-events: none; } .drawer-toggle { display: none; min-height: 40px; border: 1px solid rgb(238 185 73 / 0.28); border-radius: 8px; padding: 0 12px; background: rgb(12 15 11 / 0.84); color: #ffe8b4; font-size: 0.82rem; font-weight: 900; box-shadow: 0 16px 38px rgb(0 0 0 / 0.36); transition: background 180ms ease, transform 180ms ease; backdrop-filter: blur(10px); } .drawer-toggle:hover { background: rgb(255 246 216 / 0.14); transform: translateY(-1px); } #app.match-live .drawer-toggle { display: block; } .fighter-entry { position: fixed; top: 0; right: 0; z-index: 7; display: grid; align-content: start; gap: 24px; width: var(--drawer-width); height: 100vh; overflow-y: auto; border-left: 1px solid rgb(239 199 103 / 0.22); padding: clamp(22px, 4vw, 34px); background: linear-gradient(180deg, rgb(29 33 22 / 0.94), rgb(13 16 12 / 0.96)), #11140f; box-shadow: -28px 0 80px rgb(0 0 0 / 0.52); transform: translateX(104%); transition: opacity 260ms ease, transform 520ms cubic-bezier(0.2, 0.8, 0.2, 1); backdrop-filter: blur(16px); } #app.options-open .fighter-entry { transform: translateX(0); } #app.match-live .fighter-entry { top: 24px; right: 24px; height: auto; max-height: calc(100vh - 48px); gap: 16px; border: 1px solid rgb(239 199 103 / 0.22); border-radius: 8px; padding: 20px; transform: translateX(0); } #app.match-live.drawer-collapsed .fighter-entry { width: auto; min-width: 0; overflow: visible; border-color: transparent; padding: 0; background: transparent; box-shadow: none; opacity: 1; pointer-events: auto; transform: translateX(0); } #app.match-live .drawer-close { display: none; } #app.match-live .fighter-entry h2 { font-size: 2rem; } #app.match-live .fighter-entry textarea { min-height: 190px; } #app.match-live .fighter-entry fieldset { padding: 12px; } #app.match-live.drawer-collapsed .entry-copy, #app.match-live.drawer-collapsed .fighter-entry form { display: none; } #app.match-live.drawer-collapsed .drawer-header { justify-content: end; } .drawer-header { display: flex; align-items: start; justify-content: space-between; gap: 16px; } .drawer-header-controls { display: flex; align-items: center; gap: 8px; } .entry-copy { display: grid; gap: 8px; } .eyebrow { margin: 0; color: #e3b24f; font-size: 0.78rem; font-weight: 900; letter-spacing: 0; text-transform: uppercase; } h2 { margin: 0; color: #fff3d2; font-size: clamp(1.7rem, 4vw, 2.5rem); line-height: 1.05; letter-spacing: 0; } .drawer-close { display: grid; place-items: center; width: 40px; height: 40px; flex: 0 0 auto; border: 1px solid rgb(238 185 73 / 0.22); border-radius: 8px; background: rgb(255 246 216 / 0.08); color: #f8deb0; font-weight: 900; } .drawer-close:hover { background: rgb(255 246 216 / 0.14); } .about-backdrop { position: fixed; inset: 0; z-index: 20; display: grid; place-items: center; padding: clamp(16px, 4vw, 34px); background: rgb(3 5 4 / 0.66); backdrop-filter: blur(8px); } .about-backdrop[hidden] { display: none; } .about-dialog { display: grid; grid-template-rows: auto auto minmax(0, 1fr); width: min(560px, calc(100vw - 32px)); max-height: min(760px, calc(100svh - 32px)); overflow: hidden; border: 1px solid rgb(239 199 103 / 0.28); border-radius: 8px; background: linear-gradient(180deg, rgb(29 33 22 / 0.98), rgb(10 13 9 / 0.98)), #11140f; box-shadow: 0 24px 100px rgb(0 0 0 / 0.62), inset 0 1px 0 rgb(255 255 255 / 0.06); outline: none; } .about-header { display: flex; align-items: start; justify-content: space-between; gap: 16px; padding: clamp(20px, 4vw, 28px) clamp(20px, 4vw, 30px) 14px; } .about-close { display: grid; place-items: center; width: 40px; height: 40px; flex: 0 0 auto; border: 1px solid rgb(238 185 73 / 0.22); border-radius: 8px; background: rgb(255 246 216 / 0.08); color: #f8deb0; font-weight: 900; } .about-close:hover { background: rgb(255 246 216 / 0.14); } .about-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; padding: 0 clamp(20px, 4vw, 30px) 14px; border-bottom: 1px solid rgb(238 185 73 / 0.16); } .about-tab { min-width: 0; min-height: 42px; border: 1px solid transparent; border-radius: 6px; padding: 8px 10px; background: rgb(255 246 216 / 0.06); color: #ead8ad; font-size: 0.86rem; font-weight: 900; line-height: 1.2; } .about-tab[aria-selected="true"] { border-color: rgb(238 185 73 / 0.36); background: #323822; color: #fff7df; } .about-panel { min-height: 0; overflow: auto; padding: clamp(18px, 4vw, 26px) clamp(20px, 4vw, 30px) clamp(22px, 5vw, 34px); } .about-fields { display: grid; gap: 0; margin: 0; } .about-field-row { display: grid; grid-template-columns: 96px minmax(0, 1fr); align-items: center; gap: 14px; min-height: 50px; border-bottom: 1px solid rgb(238 185 73 / 0.14); } .about-field-row:first-child { border-top: 1px solid rgb(238 185 73 / 0.14); } .about-field-row dt { color: #e3b24f; font-size: 0.78rem; font-weight: 950; text-transform: uppercase; } .about-field-row dd { min-width: 0; margin: 0; color: #fff7df; font-weight: 800; overflow-wrap: anywhere; } .about-field-row a, .about-markdown a { color: #85dcc7; text-decoration-color: rgb(133 220 199 / 0.42); text-underline-offset: 3px; } .about-markdown { display: grid; gap: 12px; color: #ead8ad; font-size: 0.92rem; font-weight: 600; line-height: 1.56; } .about-markdown :is(h3, h4, h5, h6, p, ul, blockquote) { margin: 0; } .about-markdown h3, .about-markdown h4, .about-markdown h5, .about-markdown h6 { color: #fff3d2; font-size: 1rem; line-height: 1.3; } .about-markdown blockquote { border-left: 3px solid rgb(238 185 73 / 0.36); padding: 4px 0 4px 16px; color: #c4b693; font-style: italic; } .about-markdown hr { margin: 8px 0; border: 0; border-top: 1px solid rgb(238 185 73 / 0.16); } .about-markdown code { border: 1px solid rgb(238 185 73 / 0.14); border-radius: 4px; padding: 2px 5px; background: rgb(255 246 216 / 0.08); color: #f1c761; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: 0.88em; } .about-markdown li { line-height: 1.5; } .about-markdown li strong { color: #fff3d2; } .about-markdown ul { display: grid; gap: 8px; padding-left: 1.2rem; } .about-empty { color: #bfae83; } form { display: grid; gap: 16px; } .match-actions { display: grid; gap: 10px; } fieldset { display: grid; gap: 10px; min-width: 0; margin: 0; border: 1px solid rgb(238 185 73 / 0.22); border-radius: 8px; padding: 14px; background: rgb(5 7 5 / 0.26); } legend { padding: 0 6px; color: #e3b24f; font-size: 0.78rem; font-weight: 900; letter-spacing: 0; text-transform: uppercase; } label { color: #ead8ad; font-size: 0.92rem; } input:not([type="range"]):not([type="radio"]), textarea { min-height: 48px; border: 1px solid rgb(238 185 73 / 0.28); border-radius: 8px; padding: 0 14px; background: #232719; color: #fff7df; outline: none; } textarea { min-height: 258px; resize: vertical; padding-block: 12px; line-height: 1.45; } textarea[aria-invalid="true"] { border-color: #d9a628; box-shadow: 0 0 0 1px rgb(217 166 40 / 0.34); } .player-names-warning { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 4px 9px; margin: 0; border: 1px solid rgb(219 168 45 / 0.72); border-radius: 8px; padding: 10px; background: linear-gradient(135deg, rgb(88 67 17 / 0.7), rgb(43 37 19 / 0.92)); box-shadow: inset 3px 0 0 #dba82d; line-height: 1.35; } .player-names-warning[hidden] { display: none; } .player-names-warning__badge { grid-row: span 2; align-self: start; color: #f4bd37; font-size: 1.2rem; font-weight: 900; line-height: 1; } .player-names-warning__title { color: #ffd565; font-size: 0.92rem; font-weight: 900; } .player-names-warning__detail { grid-column: 2; margin: 0; color: #f1dfaa; font-size: 0.82rem; font-weight: 500; } .player-names-warning__count { color: #ffd04f; font-size: 1rem; font-weight: 900; } .player-names-warning__limit { color: #f7e0a0; font-size: 0.94rem; font-weight: 900; } .player-names-warning__reason { grid-column: 1 / -1; margin: 5px 0 0; border-top: 1px solid rgb(219 168 45 / 0.25); padding-top: 7px; color: #d7c489; font-size: 0.76rem; } input[type="range"] { width: 100%; accent-color: #e3b24f; } .spawn-placement-field { display: grid; gap: 8px; } .spawn-placement-label { color: #ead8ad; font-size: 0.92rem; } .spawn-placement-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; min-width: 0; border: 1px solid rgb(238 185 73 / 0.2); border-radius: 8px; padding: 4px; background: #1d2116; } .spawn-placement-option { position: relative; min-width: 0; } .spawn-placement-option input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; } .spawn-placement-option span { display: grid; min-height: 44px; place-items: center; border: 1px solid transparent; border-radius: 6px; padding: 8px; color: #ead8ad; text-align: center; font-size: 0.86rem; font-weight: 900; line-height: 1.25; cursor: pointer; } .spawn-placement-option input:checked + span { border-color: rgb(238 185 73 / 0.36); background: #323822; color: #fff7df; } .spawn-placement-option input:focus-visible + span { outline: 2px solid #f1c761; outline-offset: -2px; }