:root{--event-ink:#15283c;--event-accent:#ffe86e;--event-outline:#cbd7e4}body{background:#f4f6f8;color:var(--event-ink)}.event-skip{position:absolute;left:-9999px}.event-skip:focus{left:12px;top:12px;background:#fff;padding:12px;z-index:100}.event-header{background:#102a40;color:#fff}.event-header-inner{max-width:1320px;margin:auto;padding:0 36px;min-height:73px;display:flex;align-items:center;gap:28px}.event-brand{font-size:23px;font-weight:850;color:#fff;letter-spacing:-1px}.event-brand span{margin-left:6px}.event-label{font-size:13px;color:#bbd1df;border-left:1px solid #526b7c;padding-left:23px}.event-back{margin-left:auto;color:#e4f1fb;font-weight:700;font-size:13px;border:1px solid #6e899c;border-radius:9px;padding:11px 16px}.event-back:hover{background:#28485e}.event-main{max-width:1320px;margin:auto;padding:36px}.event-intro{border-radius:23px;background:#102a40;color:#fff;padding:36px 46px 32px;display:flex;align-items:center;justify-content:space-between;overflow:hidden;gap:20px}.event-overline{color:#ffe86e;font-weight:850;font-size:11px;letter-spacing:2px}.event-intro h1{font-size:clamp(28px,3.8vw,46px);line-height:1.25;letter-spacing:-1.4px;margin:12px 0 15px;font-weight:850}.event-intro h1 em{font-style:normal;color:#ffe86e}.event-intro p:not(.event-overline){color:#c8d7e2;font-size:14px;max-width:640px;margin:0;line-height:1.75}.event-intro-graphic{position:relative;flex:none;width:150px;height:142px;border:2px solid #5d7688;border-radius:26px;transform:rotate(8deg);display:flex;flex-direction:column;align-items:center;justify-content:center}.event-intro-graphic>span:first-child{font-size:84px;font-weight:900;line-height:1;color:#ffe86e}.event-intro-graphic small{letter-spacing:6px;font-weight:800}.graphic-dot{position:absolute;width:16px;height:16px;border-radius:50%;background:#a9bdfc}.graphic-dot.dot-a{top:-14px;left:-24px}.graphic-dot.dot-b{bottom:-18px;right:-16px;background:#fc9b81}.event-tabs{display:flex;flex-wrap:wrap;gap:9px;margin:24px 0}.event-tabs button{border:1px solid #d5dfeb;color:#23364b;background:#fff;border-radius:12px;min-height:48px;padding:10px 17px;font-size:14px;font-weight:730;transition:background .15s}.event-tabs button[aria-selected="true"]{background:#142e43;color:#fff;border-color:#142e43;box-shadow:inset 0 -3px #ffe86e}.event-tabs button:hover{border-color:#6e91a7}.event-workspace{display:grid;grid-template-columns:minmax(320px,430px) minmax(0,1fr);gap:22px;align-items:start}.event-forms,.event-results{background:#fff;border:1px solid #dce4ec;box-shadow:0 7px 30px #132b3b08;border-radius:19px;padding:27px;min-width:0}.event-tool h2{font-size:23px;margin:0 0 5px;letter-spacing:-.6px}.event-tool>p{font-size:13px;color:#536b7b;line-height:1.75;margin:4px 0 24px}.event-field{display:flex;flex-direction:column;font-size:13px;font-weight:780;gap:8px;margin:0 0 19px}.event-field small{color:#708196;font-size:11px;font-weight:500}.event-field textarea,.event-field input,.event-field select,.tier-row input{width:100%;border:1px solid #cbd7e4;border-radius:10px;background:#fafcfe;color:#142b40;font-size:14px;padding:12px 13px;font-family:inherit}.event-field textarea{min-height:154px;line-height:1.7;resize:vertical}.event-field input,.event-field select{min-height:45px}.tier-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0 9px;font-size:14px}.tier-row{display:grid;grid-template-columns:minmax(90px,1fr) 95px 62px;gap:8px;align-items:end;margin-bottom:8px}.tier-row label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:700;color:#526778}.tier-row input{height:41px;padding:6px 9px}.event-primary{background:#142f44;color:#fff;border:1px solid #142f44;border-radius:10px;min-height:46px;padding:11px 18px;font-weight:800;box-shadow:inset 0 -3px #b5a434}.event-primary:hover{background:#284e68}.secondary{background:#f7fafc;color:#1b374b;border:1px solid #cbd7e4;border-radius:10px;min-height:40px;padding:9px 13px;font-size:13px;font-weight:700}.secondary:hover{background:#eaf2f7}.event-inline,.result-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.result-heading{display:flex;justify-content:space-between;align-items:start;gap:10px;border-bottom:1px solid #e1e8ef;padding-bottom:18px}.eyebrow{font-size:11px;letter-spacing:1.5px;font-weight:850;color:#557487}.result-heading h2{margin:5px 0 0;font-size:24px}.privacy-chip{border-radius:30px;background:#eaf8f2;color:#217554;font-size:11px;padding:8px 11px;font-weight:700;white-space:nowrap}.event-output{min-height:260px;padding:22px 0 12px}.empty-state{color:#718294;text-align:center;padding:45px 12px;line-height:1.7;font-size:13px}.outcome-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:11px}.outcome-card{background:#f5f8fb;border:1px solid #dbe4ec;border-radius:13px;padding:20px 16px;min-width:0;display:flex;flex-direction:column;gap:8px}.outcome-card small{font-size:12px;font-weight:800;color:#5a7386}.outcome-card strong{font-size:18px;overflow-wrap:anywhere;line-height:1.4}.outcome-card.is-secret{background:#f0f0f3;color:#98a5ad}.bingo-spotlight{background:#142f44;color:#fff;border-radius:18px;padding:22px 18px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:3px}.bingo-spotlight span{font-size:12px;color:#c8deed}.bingo-spotlight strong{font-weight:900;color:#ffe86e;font-size:65px;line-height:1.2}.bingo-spotlight small{color:#d8e7f1}.bingo-board{display:grid;grid-template-columns:repeat(var(--columns,10),minmax(0,1fr));gap:5px;margin-top:18px}.bingo-cell{display:grid;place-items:center;aspect-ratio:1;background:#f0f5f9;border:1px solid #dae3eb;border-radius:6px;font-weight:750;font-size:clamp(10px,1.5vw,14px)}.bingo-cell.is-hit{color:#142b3e;background:#ffe86e;border-color:#cfb94d}.bingo-history{font-size:13px;color:#557183;overflow-wrap:anywhere;line-height:2}.event-output h3{font-size:14px;margin:22px 0 4px}.prompt-spotlight{font-size:clamp(24px,3.5vw,37px);font-weight:850;line-height:1.5;letter-spacing:-1px;border-radius:16px;padding:42px 24px;background:#fff7d6;min-height:190px;display:grid;place-items:center;text-align:center;overflow-wrap:anywhere}.mini-caption{font-size:12px;color:#6c7e91}.bracket-match{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid #e5edf2}.match-num{width:62px;flex:none;font-size:12px;color:#637b8b}.bracket-match button{min-width:0;flex:1;text-align:left;border:1px solid #d5e1eb;background:#f8fafc;border-radius:8px;padding:9px;font-weight:730;overflow-wrap:anywhere}.bracket-match button[aria-pressed="true"]{background:#fff3a8;border-color:#d8bd53}.bye{flex:1;color:#899bad;font-size:12px}.winner{background:#fef5c4;border:1px solid #e2c763;border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:8px;overflow-wrap:anywhere}.winner span{font-size:13px;color:#6a5b19;font-weight:750}.winner strong{font-size:30px;color:#253b48}.probability-list{display:flex;flex-direction:column;gap:7px}.probability-list>div{display:flex;justify-content:space-between;gap:12px;background:#f6f9fb;padding:9px 12px;border-radius:8px;overflow-wrap:anywhere;font-size:13px}.event-message{font-size:12px;line-height:1.6;color:#416574;min-height:24px;margin-top:16px}.event-message[data-kind="error"]{color:#ae323c;font-weight:750}.event-footer-note{background:#eaf0f5;border-radius:14px;padding:24px 29px;margin:23px 0;line-height:1.8;font-size:13px;color:#3f6276}.event-footer-note strong{color:#193a51}.event-footer-note p{margin:7px 0 0}.event-footer{padding:20px 36px;text-align:center;color:#587384;font-size:12px}.event-footer a{text-decoration:underline}.event-tool[hidden],[data-tool-panel][hidden],[hidden]{display:none!important}
@media(max-width:800px){.event-main{padding:18px}.event-header-inner{padding:0 18px;gap:12px}.event-label{display:none}.event-back{font-size:11px;padding:8px}.event-intro{padding:26px}.event-intro-graphic{width:84px;height:85px;border-radius:12px}.event-intro-graphic>span:first-child{font-size:46px}.event-intro-graphic small{letter-spacing:2px}.event-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.event-tabs button{text-align:left;font-size:12px;padding:9px 10px}.event-workspace{grid-template-columns:minmax(0,1fr)}.event-forms,.event-results{padding:20px}.bingo-cell{font-size:11px}.event-intro h1{font-size:29px}}
@media(max-width:440px){.event-intro-graphic{display:none}.tier-row{grid-template-columns:minmax(0,1fr) 80px 51px}.tier-row input{padding:6px}.secondary{padding:8px 10px;font-size:12px}.bingo-board{gap:3px}.bingo-cell{border-radius:3px;font-size:10px}.outcome-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.outcome-card{padding:13px 10px}.outcome-card strong{font-size:15px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms!important;transition-duration:0.01ms!important}}

/* Local result presentation: no remote screen or socket. */
.event-board-dialog{background:#102a40;color:white;border:0;max-width:min(96vw,1280px);width:96vw;height:90vh;max-height:90vh;padding:0;border-radius:18px;box-shadow:0 30px 80px #0007;overflow:auto}.event-board-dialog::backdrop{background:rgba(7,18,30,.83)}.event-board-top{padding:22px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #496072;font-size:12px;font-weight:830;letter-spacing:1px}.event-board-close{border:1px solid #a3b5c0;border-radius:10px;background:transparent;color:white;padding:9px 16px}.event-board-body{padding:clamp(22px,4vw,55px);text-align:center}.event-board-body h2{font-size:clamp(24px,4vw,45px);color:#ffe86e}.event-board-body pre{font-size:clamp(18px,2.6vw,33px);font-weight:750;line-height:1.8;font-family:inherit;white-space:pre-wrap;overflow-wrap:anywhere;max-width:900px;margin:36px auto;color:#fff}@media(max-width:600px){.event-board-top{padding:14px}.event-board-dialog{width:100vw;max-width:100vw;max-height:100vh;height:100vh;border-radius:0}}

.event-option{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:700;margin:12px 0}.event-option input{width:18px;height:18px;accent-color:#142f44}.event-option+.event-primary{margin-top:18px}

.event-template{background:#f2f6f9;border:1px solid #dfe8ee;padding:13px;border-radius:12px;margin-bottom:22px;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.event-template label{grid-column:1/-1;font-size:12px;font-weight:780}.event-template select{border:1px solid #cbd7e4;border-radius:8px;background:white;padding:9px;font-size:13px;min-width:0}.event-checklist{padding:25px 27px;border:1px solid #d7e3eb;border-radius:16px;background:white;margin-top:20px}.event-checklist>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px}.event-checklist h2{font-size:17px;margin:0}.event-checklist>div:first-child>span{color:#557183;font-size:13px;font-weight:800}.event-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:17px}.event-check-grid label{display:flex;align-items:center;gap:10px;border:1px solid #e1e9ef;border-radius:9px;padding:11px;font-size:12px;font-weight:700}.event-check-grid input{accent-color:#142f44;width:17px;height:17px;flex:none}.event-checklist>p{font-size:12px;color:#6b8493}@media(max-width:680px){.event-check-grid{grid-template-columns:1fr}}

/* v0.4.13: wheel presentation and match input */
.wheel-stage{margin:14px auto;max-width:250px;display:grid;justify-items:center;overflow:hidden}.multi-wheel-pointer{z-index:1;color:#cb6237;font-size:24px;line-height:1}.multi-wheel{width:200px;height:200px;border:6px solid #243e54;border-radius:50%;background:conic-gradient(#f6d775 0 90deg,#b3e1e0 90deg 180deg,#e6bed9 180deg 270deg,#b4bdf5 270deg 360deg);transform:rotate(0deg);will-change:transform}.rps-controls{display:flex;align-items:end;gap:8px;flex-wrap:wrap;padding:10px;background:#f5f8fc;border-radius:8px}.bracket-match{flex-wrap:wrap}.rps-controls label{font-size:11px;display:grid;gap:4px}.rps-controls select{min-height:36px;border-radius:6px}.rps-controls button{min-height:36px}@media(prefers-reduced-motion:reduce){.multi-wheel{will-change:auto}}

/* v0.4.17 bingo control */
.bingo-pace{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#485f71}.bingo-pace select{border:1px solid #cbd7e4;border-radius:9px;padding:10px;background:white;color:#142b40}.event-inline button[aria-pressed="true"]{background:#142f44;color:white}

.event-field [aria-invalid="true"],.tier-row [aria-invalid="true"]{outline:2px solid #b02b39;outline-offset:2px}.event-workspace.event-focus{grid-template-columns:minmax(0,1fr)}.event-workspace.event-focus .event-forms{display:none}.event-focus-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;margin:0 0 12px}.event-focus-actions button[aria-pressed="true"]{background:#142f44;color:#fff}

.unified-finder{padding:16px 18px;margin:16px 0 22px;border:1px solid #d6e2ed;border-radius:15px;background:#fff}.unified-finder label{display:block;font-size:13px;font-weight:800;margin-bottom:8px}.unified-finder input{width:100%;min-height:44px;border:1px solid #c7d6e4;border-radius:9px;padding:10px 13px;font:inherit}.unified-results{display:flex;flex-wrap:wrap;gap:7px;max-height:116px;overflow-y:auto;margin-top:12px}.unified-results a,.unified-results button{border:1px solid #d8e3ec;background:#f4f8fb;border-radius:9px;color:#16354a;font-size:12px;text-decoration:none;padding:8px 10px;cursor:pointer}.unified-results :is(a,button):focus-visible{outline:3px solid #277ab5}.unified-results [hidden]{display:none!important}#unified-empty{font-size:12px;color:#6c8190}

.pair-rules{border:1px solid #d7e3eb;border-radius:11px;margin:16px 0;padding:11px 13px}.pair-rules summary{cursor:pointer;font-size:13px;font-weight:800}.pair-rules[open] summary{margin-bottom:14px}@media print{.event-header,.event-intro,.event-tabs,.event-forms,.unified-finder,.event-focus-actions,.event-footer,.event-footer-note,.event-checklist,.result-actions,.event-message,.event-skip{display:none!important}.event-main{padding:0!important}.event-workspace{display:block!important}.event-results{box-shadow:none!important;border:0!important;padding:0!important}.event-output [hidden]{display:none!important}}
/* v0.4.17 mobile input density: preserve text, labels, hit targets and form focus. */
@media(max-width:600px){
  .event-forms,.event-results{padding:15px}
  .event-tool>p{margin:4px 0 14px}
  .event-field{margin-bottom:12px;gap:6px}
  .event-field textarea{min-height:104px}
  .event-template{padding:11px;margin-bottom:14px}
  .event-tool h2{font-size:20px}
  .event-primary,.secondary{min-height:44px}
  .unified-results{max-height:92px}
  .event-intro{padding:20px}
}

/* v0.4.20: non-announcing, local-only event progress status */
.event-phase{display:inline-flex;align-items:center;width:max-content;padding:.2rem .6rem;border-radius:100px;border:1px solid var(--border,#cbd5e1);font-size:.75rem;font-weight:650;margin-top:.3rem}.event-workspace[data-phase="error"] .event-phase{border-style:dashed}.event-workspace[data-phase="running"] .event-phase{font-variant-numeric:tabular-nums}
