:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#1f1f1f;--bar:#181818;--raised:#252526;--input:#313131;--hover:#3c3c3c;--border:#2b2b2b;--border-strong:#3c3c3c;--fg:#ccc;--fg-strong:#e7e7e7;--muted:#9d9d9d;--accent:#0078d4;--accent-hover:#026ec1;--link:#4daafc;--ok:#3fb950;--err:#f85149;--warn:#cca700;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace}*,:before,:after{box-sizing:border-box}body{background:var(--bg);color:var(--fg);margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;line-height:1.4}h1,h2,h3{color:var(--fg-strong)}a{color:var(--link)}button,.button,input,select{font:inherit;color:var(--fg);background:var(--input);border:1px solid var(--border-strong);border-radius:4px;padding:.25rem .6rem}button,.button{cursor:pointer;white-space:nowrap;align-items:center;gap:.35em;text-decoration:none;display:inline-flex}button:hover:not(:disabled),.button:hover,button[aria-expanded=true]{background:var(--hover)}button:disabled,input:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.primary:hover:not(:disabled){background:var(--accent-hover)}input:focus,select:focus,:focus-visible{outline:1px solid var(--accent);outline-offset:-1px}input[type=checkbox]{accent-color:var(--accent)}.mono,code,pre{font-family:var(--mono)}code{background:var(--input);border-radius:3px;padding:.1em .35em}.page{max-width:1600px;margin:0 auto;padding:1rem}.landing{max-width:720px}.columns{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:1.5rem;display:grid}@media (width<=900px){.columns{grid-template-columns:1fr}}.side-col{flex-direction:column;gap:1rem;display:flex}.app{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.topbar{z-index:10;background:var(--bar);border-bottom:1px solid var(--border);flex-wrap:wrap;flex:none;align-items:center;gap:.4rem 1.25rem;min-height:2.75rem;padding:.4rem .75rem;display:flex;position:relative}.topbar-group{align-items:center;gap:.6rem;min-width:0;display:flex}.topbar-brand{flex:1 1 0;min-width:auto;max-width:max-content}.topbar-brand .role,.topbar-main{flex:none}.topbar-wrapped .topbar-main{flex-wrap:wrap;flex-basis:100%;order:3}.topbar-status{flex:none;margin-left:auto}.brand{color:var(--fg-strong);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.challenge-title{color:var(--fg-strong);white-space:nowrap;align-items:center;gap:.4rem;display:inline-flex}.topbar .icon{text-align:center;width:1.5rem;height:1.5rem;font-size:1.25rem;line-height:1.5rem}.topbar .input-form{flex-wrap:nowrap;min-width:0;margin:0}.topbar .input-form input{flex-shrink:1;width:13rem;min-width:6rem}.topbar .input-form .msg-ok,.topbar .input-form .msg-err{white-space:nowrap}@media (width<=1700px){.topbar-main>.meta{display:none}}.target{align-items:center;gap:.4rem;min-width:0;display:inline-flex}.target a,.target code{text-overflow:ellipsis;white-space:nowrap;max-width:22rem;display:inline-block;overflow:hidden}.strikes{white-space:nowrap;align-items:center;gap:.15rem;display:inline-flex}.strike{color:var(--border-strong);font-weight:700}.strike-on{color:var(--err)}.stats{gap:.6rem;display:flex}.notice{z-index:30;background:var(--raised);border:1px solid var(--border-strong);border-radius:6px;max-width:calc(100vw - 2rem);padding:.6rem 1rem;position:fixed;top:3.5rem;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000080}.notice .ev-solve{color:var(--ok)}.notice .ev-fail{color:var(--err)}.partner{white-space:nowrap;align-items:center;gap:.35rem;display:inline-flex}.app>.banner{border-width:0 0 1px;flex:none;margin:0}.stage{flex:1;min-height:0;display:flex;position:relative}.stage-body{flex-direction:column;flex:1;min-width:0;display:flex;overflow:auto}.content{padding:1rem 1.25rem}.center{flex:1;justify-content:center;align-items:center;padding:1rem;display:flex}.viewer{background:var(--bg);border:0;flex:1;width:100%;display:block}.viewer[hidden]{display:none}.overlay{z-index:5;background:#0009;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.overlay-card{background:var(--raised);border:1px solid var(--warn);border-radius:6px;padding:1rem 1.5rem;font-size:1.2em}.dropdown{position:relative}.caret{color:var(--muted);font-size:.75em}.dropdown-panel{z-index:20;background:var(--raised);border:1px solid var(--border-strong);border-radius:6px;width:max-content;min-width:16rem;max-width:min(32rem,100vw - 1.5rem);max-height:70vh;padding:.75rem 1rem;position:absolute;top:calc(100% + 6px);left:0;overflow:auto;box-shadow:0 8px 24px #00000080}.dropdown-panel.align-right{left:auto;right:0}.dropdown-panel>:first-child,.dropdown-panel>:first-child>h3:first-child{margin-top:0}.dropdown-panel>:last-child{margin-bottom:0}.description{white-space:pre-wrap}.banner{border:1px solid var(--border-strong);background:var(--raised);margin-bottom:1rem;padding:.5rem 1rem}.banner-warn,.banner-aborted{border-color:var(--warn);color:var(--warn)}.banner-completed{border-color:var(--ok);color:var(--ok)}.banner-timeout{border-color:var(--err);color:var(--err)}.cards{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem;display:grid}.card{background:var(--raised);border:1px solid var(--border-strong);border-radius:6px;gap:.75rem;padding:.75rem;display:flex}.card.status-active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.card.status-solved,.card.status-failed{opacity:.5}.card.status-failed{border-color:var(--err)}.card-body{flex-direction:column;gap:.25rem;display:flex}.icon{object-fit:contain;flex:none;width:2.5rem;height:2.5rem;font-size:2rem}.meta{color:var(--muted);font-size:.85em}.tag{margin-left:.4em}.hint-list{margin:0 0 .5rem;padding-left:1.4rem}.hint-list li{white-space:pre-wrap;margin:.25rem 0}.board{background:radial-gradient(ellipse at 50% 42%, #30353c 0%, var(--bg) 68%);flex:1;min-height:0;position:relative;overflow:hidden}.board-canvas{position:absolute;inset:0}.board-canvas canvas{display:block}.hud{z-index:2;border:1px solid var(--border-strong);background:#252526f0;border-radius:8px;width:23rem;max-height:calc(100% - 2rem);padding:1rem 1.25rem;position:absolute;top:1rem;right:1rem;overflow:auto;box-shadow:0 8px 32px #00000080}.hud-head{align-items:center;gap:.75rem;display:flex}.hud-head h2{margin:0;font-size:1.3em}.hud-close{align-self:flex-start;margin-left:auto}.hud-status{margin:.75rem 0 .25rem;font-weight:600}.hud-active{color:var(--link)}.hud-solved{color:var(--ok)}.hud-failed{color:var(--err)}.board-bar{z-index:1;pointer-events:none;flex-wrap:wrap;align-items:center;gap:.75rem;font-size:.9em;display:flex;position:absolute;bottom:1rem;left:1rem;right:1rem}.board-bar>*{pointer-events:auto}.board-side{z-index:1;border:1px solid var(--border-strong);background:#1f1f1fd9;border-radius:8px;width:17rem;max-height:calc(100% - 5rem);padding:.75rem 1rem;font-size:.85em;position:absolute;top:1rem;left:1rem;overflow:auto}.board-side h3:first-child{margin-top:0}.board-side .events ol{max-height:none}@media (width<=719px){.hud{width:auto;max-height:55%;inset:auto .75rem 3.5rem}.board-side{display:none}}.view-switch{display:inline-flex}.view-switch button{border-radius:0}.view-switch button:first-child{border-radius:4px 0 0 4px}.view-switch button:last-child{border-radius:0 4px 4px 0;margin-left:-1px}.view-switch button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.view-row{justify-content:flex-end;margin-bottom:.5rem;display:flex}.selected{background:var(--raised);border:1px solid var(--accent);border-radius:6px;max-width:52rem;margin-bottom:1.5rem;padding:1rem 1.25rem}.selected-head{align-items:center;gap:.75rem;display:flex}.selected-head h2{margin:0}.selected h3,.hud h3{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:1rem 0 .4rem;font-size:.85em}.target-panel{flex-wrap:wrap;align-items:center;gap:.6rem;font-size:1.2em;display:flex}.target-panel a,.target-panel code{word-break:break-all}.target-panel .instance-text{flex:100%;margin:0}.target-panel button{font-size:.85rem}.instance-text{white-space:pre-wrap;background:var(--input);border-radius:4px;padding:.5rem .75rem}.input-form{flex-wrap:wrap;align-items:center;gap:.5rem;margin:.5rem 0;display:flex}.input-form label{white-space:nowrap;align-items:center;gap:.5rem;display:inline-flex}.timer{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--fg-strong);white-space:nowrap;font-size:1.1em}.timer-low{color:var(--err)}.phase{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:.8em}.phase-paused{color:var(--warn)}.events ol{max-height:60vh;margin:0;padding:0;font-size:.9em;list-style:none;overflow:auto}.events li{padding:.1rem 0}.events time{font-family:var(--mono);color:var(--muted);font-size:.85em}.players,.rules{padding-left:0;list-style:none}.players li,.rules li{padding:.1rem 0}.row{flex-wrap:wrap;align-items:center;gap:.5rem;margin:.5rem 0;display:flex}.inline{align-items:center;gap:.4rem;display:inline-flex}.inline input{width:10rem}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border-strong);vertical-align:top;padding:.3rem .5rem}th{color:var(--muted);font-weight:600}.role{text-transform:uppercase;letter-spacing:.05em;border:1px solid;border-radius:3px;padding:.05em .45em;font-size:.75em;font-weight:700}.role-expert{color:#c586c0}.role-operator{color:#4fc1ff}.role-live{color:var(--err)}.role-admin{color:var(--warn)}.online{color:var(--ok)}.offline,.muted,.hint{color:var(--muted)}.msg-err{color:var(--err)}.msg-ok{color:var(--ok)}
