/* Deliberately quiet finishing layer: structure first, decoration second. */
:root{--surface-1:color-mix(in srgb,var(--panel) 96%,transparent);--surface-2:color-mix(in srgb,var(--panel-raised) 88%,transparent);--focus:color-mix(in srgb,var(--accent) 62%,transparent)}
body{font-size:14px;line-height:1.5}.top{border-bottom-color:color-mix(in srgb,var(--line) 72%,transparent);box-shadow:0 1px 0 #ffffff08}.top .muted{font-size:12px}.layout{min-height:calc(100vh - 70px)}aside{border-right-color:color-mix(in srgb,var(--line) 72%,transparent)}main{padding-top:18px}.layout main>button.ghost:first-child{margin-bottom:10px}.layout main>button.ghost:first-child+.row,.layout main>.row:first-child{margin:0 0 16px}.card{background:var(--surface-1);box-shadow:0 1px 2px #00000012;border-radius:12px}.card:hover{border-color:color-mix(in srgb,var(--line) 55%,var(--accent))}
.provider-connect-button{display:flex;align-items:center;gap:10px;line-height:1}.provider-connect-button>span{line-height:1.25}.provider-logo{display:block;flex:0 0 18px;width:18px;height:18px;fill:currentColor}.provider-logo-openai{width:18px;height:18px}.provider-logo-claude{width:18px;height:18px;color:#d97757}.provider-connect-button .provider-logo{opacity:.95}
.provider-logo-zen{display:grid;place-items:center;border:1px solid currentColor;border-radius:5px;font:800 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:#aeb9ff}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.modal{z-index:100}.modal-dialog{position:fixed;z-index:101;left:50%;top:50%;width:min(540px,calc(100vw - 40px));max-height:calc(100vh - 40px);overflow:auto;transform:translate(-50%,-50%);border-radius:16px;box-shadow:0 28px 80px #000000b0}.modal-dialog:focus{outline:none}.modal-dialog:has(.activity-modal){width:min(1400px,96vw);max-height:92vh;overflow:hidden}.modal-dialog:has(.terminal-modal){width:min(1200px,96vw);max-height:92vh;overflow:hidden}.modal-dialog .activity-modal{width:100%;max-width:100%;min-width:0;max-height:calc(92vh - 36px);display:flex;flex-direction:column}.modal-dialog .terminal-modal{width:100%;max-width:100%;min-width:0;overflow:hidden}.modal-dialog:has(.note-modal){width:min(1500px,calc(100vw - 32px));max-width:none;overflow:hidden}@media(max-width:850px){.modal-dialog{width:calc(100vw - 20px);max-height:calc(100vh - 20px);top:10px;transform:translateX(-50%);margin:0}.modal-dialog:has(.activity-modal),.modal-dialog:has(.terminal-modal){max-height:calc(100vh - 20px)}}
.mass-spawn-add{display:flex;flex-wrap:wrap;gap:8px}.mass-spawn-agent-list{display:grid;gap:10px}.mass-spawn-agent{display:grid;grid-template-columns:minmax(120px,1fr) minmax(190px,2fr) auto;align-items:end;gap:12px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--panel-raised)}.mass-spawn-agent>div{display:grid;gap:2px;align-self:center}.mass-spawn-agent label{display:grid;gap:5px;font-size:12px;font-weight:650}.mass-spawn-agent input,.mass-spawn-agent select{width:100%}.mass-spawn-agent .danger{align-self:end}@media(max-width:620px){.mass-spawn-agent{grid-template-columns:1fr}.mass-spawn-agent .danger{width:100%}}
.provider-usage{display:block;margin-top:5px;font-size:12px;line-height:1.35;max-width:620px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
h1{font-size:clamp(25px,3vw,34px);line-height:1.15}h2{letter-spacing:-.025em}h3{font-size:14px;letter-spacing:.01em}.row>h1,.row>div>h1{margin:0}.muted{font-size:13px}.grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.ctf{min-height:150px;padding:20px}.ctf:hover{box-shadow:0 10px 28px #00000018}
button{font-size:13px;line-height:1.2;min-height:36px}button.ghost{background:transparent}.top button.ghost,.theme-toggle{background:var(--surface-2)}.nav-item{font-weight:600;padding:10px 11px}.event-nav.active{border-radius:9px}.event-nav.active .nav-item{color:var(--accent)}.label{font-size:10px;letter-spacing:.12em}.status{font-size:10px;line-height:1.2}.task-status{box-shadow:none;border-color:color-mix(in srgb,var(--accent) 22%,var(--line))}
/* Links should read as links without browser visited-state colour or underlines. */
a,a:link,a:visited,a:hover,a:active{color:var(--accent);text-decoration:none}
.challenge-category{padding:2px 0}.challenge-category summary{font-size:13px;padding:11px 12px}.category-challenge{padding:11px 14px 11px 34px}.category-challenge b{font-size:13px}.category-challenge small{font-size:11px}.category-challenge .status{margin-left:12px}.agent-run-list{gap:10px}.agent-run-tile{border-color:color-mix(in srgb,var(--line) 72%,transparent)}.agent-run{min-height:42px}.agent-run-controls{padding-top:4px;border-top:0}.agent-run-controls button{min-height:30px}.flag-list{gap:0}.flag-row{gap:8px}.flag-row+ .flag-row{border-top:1px solid color-mix(in srgb,var(--line) 62%,transparent)}
.challenge-state{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex:0 0 auto}.category-challenge .challenge-state .status{margin-left:0}.category-challenge small.agent-running-count{display:inline-block;margin-top:0;white-space:nowrap}
.split{gap:16px}.split>div{min-width:0}.split .card+ .card{margin-top:16px!important}.terminal{font-size:12px;line-height:1.55}.activity-item{box-shadow:none}.activity-title{font-size:13px}.modal{padding:24px}.modal>.card{border-radius:16px}.form{gap:12px}.form input,.form textarea{font-size:14px;box-shadow:none}.form input::placeholder,.form textarea::placeholder{color:color-mix(in srgb,var(--muted) 78%,transparent)}.form input:focus,.form textarea:focus{box-shadow:0 0 0 3px var(--focus)}
.theme-toggle,.collapse-toggle{border:1px solid var(--line);font-weight:650}.theme-toggle:hover,.collapse-toggle:hover{background:var(--surface-2)}.collapse-toggle{position:fixed;right:18px;bottom:68px;z-index:10;border-radius:999px;padding:9px 13px;box-shadow:var(--shadow)}aside>.label:last-of-type,aside>p.muted{display:none}@media(max-width:850px){main{padding:18px 14px}.grid{grid-template-columns:1fr}.top .muted{display:none}.card{padding:16px}.modal{padding:12px}.collapse-toggle{right:12px;bottom:64px}}@media(max-width:520px){.row>div{min-width:0}.row h1{overflow-wrap:anywhere}.category-challenge{padding-left:14px}.agent-run-tile{align-items:stretch;flex-direction:column}.agent-run-controls{justify-content:stretch}.agent-run-controls button{flex:1}.theme-toggle{bottom:10px;right:10px}.collapse-toggle{bottom:58px;right:10px}}
.top .theme-toggle{position:static;box-shadow:none}.collapse-toggle{position:static!important;right:auto!important;bottom:auto!important;z-index:auto!important;box-shadow:none!important}
.account-menu{position:relative;z-index:8}.account-menu summary{display:flex;align-items:center;gap:8px;max-width:min(340px,62vw);padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);cursor:pointer;list-style:none;font-weight:650}.account-menu summary::-webkit-details-marker{display:none}.account-menu summary>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-menu[open] summary{border-bottom-left-radius:0;border-bottom-right-radius:0}.account-menu-panel{position:absolute;left:0;top:100%;display:grid;gap:6px;min-width:100%;width:max-content;padding:8px;border:1px solid var(--line);border-top:0;border-radius:0 0 9px 9px;background:var(--panel);box-shadow:var(--shadow)}.account-menu-panel button{width:100%;text-align:left}.account-menu-panel .theme-toggle{position:static!important;right:auto!important;top:auto!important}.admin-settings-page{max-width:920px;margin:0 auto}.admin-settings-heading{margin:0 0 56px}.admin-settings-heading h1{margin:0}.admin-settings-heading p{margin:5px 0 0}.admin-settings{position:relative;overflow:visible;max-height:none}.admin-provider-actions{margin:16px 0}.admin-tabs{position:absolute;left:-1px;top:-45px;display:flex;gap:4px;margin:0;padding:0;border:0}.admin-tabs button,.admin-tabs button.ghost{min-height:45px;border:1px solid transparent;border-bottom:0;border-radius:11px 11px 0 0;background:transparent;padding:11px 15px;color:var(--muted);box-shadow:none}.admin-tabs button:hover,.admin-tabs button.ghost:hover{background:transparent;color:var(--text);box-shadow:none}.admin-tabs button.active{position:relative;z-index:1;background:var(--surface-1);color:var(--text);border-color:var(--line);margin-bottom:-1px}.admin-create-account{margin:0 0 18px;padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--panel-raised)}.provider-account-email{display:flex;gap:6px;align-items:center;margin-top:8px}.provider-account-email input{min-width:250px;max-width:100%;padding:6px 8px;background:var(--panel-raised);color:var(--text);border:1px solid var(--line);border-radius:7px}.provider-account-email button{padding:6px 8px;min-height:0;white-space:nowrap}@media(max-width:520px){.account-menu summary{max-width:calc(100vw - 135px)}.account-menu-panel{min-width:175px}.admin-settings-heading{margin-bottom:54px}.admin-tabs{left:-1px;top:-43px}.admin-tabs button{padding:10px 11px}.provider-account-email{align-items:stretch;flex-direction:column}.provider-account-email input{min-width:0}}

/* Dark mode uses neutral charcoal surfaces; semantic states retain their meaning. */
:root{
  --bg:#121212;
  --panel:#1b1b1b;
  --panel-raised:#272727;
  --line:#454545;
  --text:#f2f2f2;
  --muted:#a8a8a8;
  --accent:#d2d2d2;
  --accent-ink:#1b1b1b;
  --danger:#ff7885;
  --shadow:0 14px 36px #00000042;
  --surface-1:#1b1b1bf5;
  --surface-2:#272727e8;
  --focus:#d2d2d28f;
}
body{background:radial-gradient(900px 540px at 92% -8%,#ffffff08,transparent 65%),radial-gradient(700px 500px at -12% 52%,#ffffff05,transparent 70%),var(--bg);color:var(--text)}
.shell{background:linear-gradient(180deg,#ffffff05,transparent 280px)}
.top{background:#121212d9;border-bottom-color:#454545;box-shadow:0 1px 0 #ffffff0b}
aside{background:#181818e8;border-right-color:#454545}
.brand span,.agent-run-provider,.home-button:hover{color:#e0e0e0}
.card{background:var(--surface-1);border-color:#454545;box-shadow:0 10px 28px #00000029}
.card:hover{border-color:#707070}
button{background:linear-gradient(135deg,#e0e0e0,#bdbdbd);color:#171717;box-shadow:0 5px 15px #00000038}
button.ghost{background:#272727b8;color:var(--text);border-color:#575757;box-shadow:none}
button.ghost:hover{background:#333;border-color:#777}
button.danger{background:#4a2030;color:#ffdce1;border-color:#a34861}
.start-agents-button{background:#fff;color:#132238;border:1px solid #fff;box-shadow:0 6px 18px #02061735}
.start-agents-button:hover{background:#edf3fb;border-color:#fff;color:#0b1b31}
.start-agents-button:disabled{background:#d8e0ec;color:#62738a;border-color:#d8e0ec}
.nav-item:hover,.event-nav.active,.event-nav.active .nav-item{background:#303030;color:#f0f0f0}
.event-nav.active .nav-item{color:#f0f0f0}
.challenge:hover,.category-challenge:hover,.agent-run:hover{background:#333}
.category-challenge summary{background:#252525}
.category-challenge.solved{background:color-mix(in srgb,#42c66d 23%,var(--panel));color:#f1fff5}.category-challenge.solved:hover{background:color-mix(in srgb,#42c66d 31%,var(--panel))}.category-challenge.solved b{color:#f1fff5}.category-challenge.solved small{color:#d0f7dc}.category-challenge.solved .status{color:#e4ffec;border-color:#66cc89;background:#1c5e39}
.task-status{background:linear-gradient(135deg,#292929,#202020);border-color:#555}
.status{background:#292929;color:#d5d5d5;border-color:#5a5a5a}
.status.running{color:#93f1cc;border-color:#2a8b6a;background:#123d35}
.status.completed,.status.accepted{color:#a6f5d3;border-color:#2d956d;background:#123d35}
.status.flagged{color:#e5c8ff;border-color:#8754b4;background:#302044}
.status.refused{color:#ffd6a1;border-color:#9d6934;background:#3a2919}
.status.stalled{color:#ffd184;border-color:#a66f28;background:#4a3416}
.form input,.form textarea,.form select{background:#202020;color:#f2f2f2;border-color:#5a5a5a}
.form input::placeholder,.form textarea::placeholder{color:#999}
.start-agents-button{background:#1e6b42!important;color:#dcffeb!important;box-shadow:0 4px 13px #0a28184a!important}
.start-agents-button:hover{background:#278052!important;color:#ecfff4!important;box-shadow:0 5px 16px #0a28185c!important}
.form input:focus,.form textarea:focus,.form select:focus{outline:3px solid #d2d2d266;border-color:#aaa}
.challenge-resource,.connection-command{background:#292929;color:#ddd;border-color:#626262}.challenge-resource:hover{background:#393939;color:#fff}
.flag-row code{background:#303030;color:#e0e0e0}.flag-count{color:#d0d0d0!important}
.notice{background:#123d35;color:#c6f8e2;border:1px solid #318666}.error{color:#ffb6c0}.device-code,.login-details{background:#202020;color:#e0e0e0}.copy-code{background:#303030;color:#e8e8e8}
.terminal,.tty-output{background:#101010;border-color:#4f4f4f;color:#e5e5e5}.activity-item{background:#292929;border-color:#505050}.activity-item.message{border-left-color:#aaa}.activity-item.command{border-left-color:#b7b7b7}.activity-item.flag{border-left-color:#c5c5c5}
.modal{background:#000000a8}.modal>.card{box-shadow:0 28px 80px #000000b0}

:root[data-theme="light"]{
  --bg:#f5f7fc;
  --panel:#ffffff;
  --panel-raised:#edf2fa;
  --line:#c6d1e0;
  --text:#14233a;
  --muted:#51637c;
  --accent:#0768d7;
  --accent-ink:#ffffff;
  --danger:#c82d45;
  --shadow:0 12px 30px #203a5a1c;
  --surface-1:#fffffff7;
  --surface-2:#edf2faf2;
  --focus:#0768d766;
}
:root[data-theme="light"] body{background:radial-gradient(900px 500px at 95% -10%,#bfdbfe9c,transparent 62%),radial-gradient(680px 430px at -10% 56%,#c7d2fe80,transparent 70%),var(--bg);color:#14233a}
:root[data-theme="light"] .shell{background:linear-gradient(180deg,#ffffffa6,transparent 280px)}
:root[data-theme="light"] .top{background:#f5f7fce8;border-bottom-color:#c4cfdd;box-shadow:0 1px 0 #ffffff}
:root[data-theme="light"] aside{background:#f9fbffe8;border-right-color:#cbd5e1}
:root[data-theme="light"] .card{background:#fffffff5;border-color:#cbd5e1;box-shadow:0 8px 24px #29466a12}
:root[data-theme="light"] .card:hover{border-color:#91b5e5}
:root[data-theme="light"] button.ghost{background:#edf2fa;color:#172a46;border-color:#bdcadb}
:root[data-theme="light"] button.ghost:hover{background:#dfe9f7;border-color:#819cbd}
:root[data-theme="light"] button.danger{background:#fff0f2;color:#ac1d37;border-color:#e19aa8}
:root[data-theme="light"] .start-agents-button{background:#fff;color:#132238;border-color:#b9c8da;box-shadow:0 5px 14px #29466a20}
:root[data-theme="light"] .start-agents-button:hover{background:#f6f9fd;border-color:#8fa6c2}
:root[data-theme="light"] .add-ctf-button{background:#0768d7;color:#fff;box-shadow:0 4px 12px #0768d724}
:root[data-theme="light"] .add-ctf-button:hover{background:#075cbf;color:#fff;box-shadow:0 5px 14px #0768d733}
:root[data-theme="light"] .nav-item:hover,:root[data-theme="light"] .event-nav.active,:root[data-theme="light"] .event-nav.active .nav-item{background:#e1efff;color:#064f9e}
:root[data-theme="light"] .event-nav.active .nav-item{color:#064f9e}
:root[data-theme="light"] .challenge:hover,:root[data-theme="light"] .category-challenge:hover,:root[data-theme="light"] .agent-run:hover{background:#e9f2ff}
:root[data-theme="light"] .category-challenge summary{background:#edf3fb}
:root[data-theme="light"] .category-challenge.solved{background:#dcf5e5;color:#123d27}
:root[data-theme="light"] .category-challenge.solved:hover{background:#cbedda}
:root[data-theme="light"] .category-challenge.solved b{color:#123d27}
:root[data-theme="light"] .category-challenge.solved small{color:#286344}
:root[data-theme="light"] .category-challenge.solved .status{background:#e9faef;color:#145a38;border-color:#72be91}

/* Phone interaction mode: navigation and secondary controls become focused,
   touch-sized sheets rather than a compressed desktop sidebar. */
.mobile-nav-toggle,.mobile-nav-scrim,.mobile-event-actions{display:none}
@media(max-width:850px){
  body{padding-bottom:env(safe-area-inset-bottom)}
  .top{position:sticky;top:0;z-index:30;min-height:60px;flex-wrap:nowrap;padding:9px max(12px,env(safe-area-inset-right)) 9px max(12px,env(safe-area-inset-left))}
  .mobile-nav-toggle{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;min-height:42px;padding:0;font-size:20px}
  .top .brand{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .top .theme-toggle{min-width:42px;width:42px;height:42px;min-height:42px;padding:0;font-size:0}
  .top .theme-toggle::first-letter{font-size:18px}
  .account-menu summary{min-height:42px;max-width:38vw}
  .mobile-nav-scrim{display:block;position:fixed;inset:0;z-index:39;width:100%;height:100%;border:0;border-radius:0;background:#0009;padding:0}
  .layout aside{display:block;position:fixed;z-index:40;inset:0 auto 0 0;width:min(330px,88vw);height:100dvh;overflow-y:auto;overflow-x:hidden;transform:translateX(-105%);transition:transform .18s ease;padding:max(18px,env(safe-area-inset-top)) 14px max(18px,env(safe-area-inset-bottom));white-space:normal;box-shadow:18px 0 48px #0008;border-right:1px solid var(--line);border-bottom:0}
  .layout aside.mobile-nav-open{transform:translateX(0)}
  .layout aside .label,.layout aside>p{display:block}
  .layout aside .label{margin-top:22px}
  .layout aside .nav-item{display:flex;width:100%;min-height:44px;white-space:normal}
  .layout aside #nav{display:block;margin:0}
  .event-nav{width:100%}
  .event-settings{flex:0 0 42px;width:42px;height:42px;min-height:42px;margin-right:0}
  .provider-connect-button{margin-top:3px}
  .layout main{padding:16px max(14px,env(safe-area-inset-right)) 24px max(14px,env(safe-area-inset-left))}

  .event-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start}
  .event-header>div:first-child{grid-column:1/-1}
  .event-header>.spacer{display:none}
  .event-header .start-agents-button{grid-column:1/-1;width:100%;min-height:46px;font-size:14px}
  .mobile-event-actions{display:block;grid-column:1/-1;width:100%;margin-top:2px}
  .event-secondary-actions{display:none;grid-column:1/-1;grid-template-columns:1fr;gap:8px;width:100%}
  .event-secondary-actions.open{display:grid}
  .event-secondary-actions button{width:100%;min-height:44px}
  .event-action-result{grid-column:1/-1;overflow-wrap:anywhere}
  .task-numbers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 12px}
  .task-numbers span{min-width:0}
  .challenge-category summary{min-height:48px;padding:12px}
  .category-challenge{min-height:58px;padding:12px 10px 12px 28px}
  .category-challenge .status{flex:0 0 auto}

  .split>div:nth-child(2){display:flex;flex-direction:column}
  .split>div:nth-child(2)>.flag-candidates-card{order:-1}
  .agent-run-tile{align-items:stretch;padding:8px}
  .agent-run-tile .agent-run{grid-template-columns:auto minmax(0,1fr) auto;min-height:44px}
  .agent-run-model,.agent-run-meta{display:none}
  .agent-run-tile .agent-run .status{width:82px}
  .agent-run-controls{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:7px!important;margin-top:6px!important}
  .agent-run-controls button{min-height:40px!important;padding:7px!important}
  .flag-row{padding:12px 0;gap:8px}
  .flag-row button{min-height:40px;padding:8px 11px}
  .flag-row .muted{white-space:normal}
  .challenge-resource{min-height:42px;display:flex;align-items:center}

  .modal{padding:0;align-items:stretch}
  .modal-dialog,.modal-dialog:has(.activity-modal),.modal-dialog:has(.terminal-modal){width:100vw!important;max-width:none!important;height:100dvh;max-height:none!important;top:0;left:0;transform:none;margin:0;border:0;border-radius:0;box-shadow:none}
  .modal-dialog .activity-modal,.modal-dialog .terminal-modal{max-height:none;height:100%;padding:14px max(14px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}
  .activity-modal>.row:first-child{position:sticky;top:0;z-index:2;padding-bottom:10px;background:var(--panel)}
  .activity-modal>.row:first-child .spacer{display:none}
  .activity-modal>.row:first-child button{min-height:40px}
  .activity-list{padding-right:0;overscroll-behavior:contain}
  .activity-item pre{max-height:150px}
  .terminal-modal .tty-output{min-height:0;height:calc(100dvh - 92px);border-radius:8px}
  .admin-settings-heading{margin-bottom:18px}
  .admin-tabs{position:static;overflow-x:auto;margin:0 -16px 14px;padding:0 16px;border-bottom:1px solid var(--line);white-space:nowrap}
  .admin-tabs button,.admin-tabs button.ghost{flex:0 0 auto;border-radius:8px 8px 0 0}
  .admin-tabs button.active{margin-bottom:0}
}
@media(max-width:390px){
  .top .brand{font-size:14px}
  .top .theme-toggle{display:none}
  .account-menu summary{max-width:43vw}
  .activity-modal>.row:first-child{display:grid;grid-template-columns:1fr auto auto;align-items:start}
  .activity-modal>.row:first-child>div:first-child{grid-column:1/-1}
}

.mass-spawn-agent label input[type="number"]{width:84px;margin-top:4px}
.mass-spawn-agent .delay-control>span{display:flex;align-items:center;gap:6px}.mass-spawn-agent .agent-remove{display:grid;place-items:center;width:30px;height:30px;min-width:30px;padding:0;border:1px solid var(--line);border-radius:7px;background:transparent;color:var(--muted);font-size:20px;line-height:1}.mass-spawn-agent .agent-remove:hover:not(:disabled){color:#fff;border-color:#d65d67;background:#6d2c34}.mass-spawn-agent .agent-remove:disabled{opacity:.4;cursor:not-allowed}
.go-usage{display:grid;gap:7px;margin-top:9px;max-width:330px}.go-usage-window{display:grid;gap:4px}.go-usage-window>span{display:flex;justify-content:space-between;gap:12px;font-size:12px}.go-usage-window small{color:var(--muted);white-space:nowrap}.go-usage-track{height:7px;overflow:hidden;border-radius:999px;background:#353c4a}.go-usage-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#668cff,#a779ff)}
.provider-login-row{align-items:flex-start}.provider-login-details{min-width:220px;flex:1}.provider-login-usage{flex:1 1 280px;min-width:220px;align-self:center}.provider-login-usage .go-usage{max-width:none;margin:0}.provider-login-row>.danger{align-self:center;flex:0 0 auto;white-space:nowrap}@media(max-width:760px){.provider-login-row{flex-wrap:wrap}.provider-login-usage{order:3;flex-basis:100%;min-width:0}.provider-login-row>.danger{margin-left:auto}}
.provider-login-heading{display:flex;align-items:center;gap:8px;min-height:20px}.provider-login-heading .provider-logo{flex:0 0 18px}
.runner-host{align-items:center;flex-wrap:wrap;overflow:hidden}.runner-label{flex:1 1 240px;min-width:0;overflow-wrap:anywhere}.runner-usage{display:grid;gap:7px;flex:1 1 280px;min-width:0;max-width:390px;margin:0 18px}.runner-usage>div{display:grid;grid-template-columns:54px minmax(60px,1fr) minmax(120px,auto);align-items:center;gap:7px;font-size:12px;color:var(--muted)}.runner-usage-track{height:7px;overflow:hidden;border-radius:999px;background:#353c4a}.runner-usage-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#668cff,#a779ff)}.runner-usage small{white-space:normal;font-size:11px}.runner-host>.row{flex:1 1 100%;width:100%;min-width:0;flex-wrap:wrap;justify-content:flex-end}.runner-host>.row button{max-width:100%;white-space:normal}@media(max-width:760px){.runner-host{align-items:stretch;flex-direction:column}.runner-label,.runner-usage,.runner-host>.row{width:100%;max-width:none;margin:0}.runner-usage{margin:10px 0}.runner-host>.row{justify-content:flex-end}}

/* Accessible, compact switches replace raw configuration checkboxes. */
.switch-control{display:inline-flex;align-items:center;gap:9px;min-height:30px;color:var(--text);font-size:13px;font-weight:600;cursor:pointer;user-select:none}
.switch-control input{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}
.switch-track{position:relative;display:inline-flex;align-items:center;flex:0 0 38px;width:38px;height:22px;padding:2px;border:1px solid #696969;border-radius:999px;background:#343434;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease}
.switch-thumb{display:block;width:16px;height:16px;border-radius:50%;background:#c5c5c5;box-shadow:0 1px 3px #0008;transform:translateX(0);transition:transform .16s ease,background .16s ease}
.switch-control input:checked+.switch-track{background:#2f7c64;border-color:#5bc49d}
.switch-control input:checked+.switch-track .switch-thumb{background:#f5fffb;transform:translateX(16px)}
.switch-control input:focus-visible+.switch-track{outline:3px solid var(--focus);outline-offset:2px}
.switch-control input:disabled+.switch-track{opacity:.48}.switch-label{line-height:1.25}
.selector-account-controls{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:10px}
.runner-actions{display:flex;flex:1 1 auto;min-width:0;flex-wrap:wrap;gap:7px;align-items:center}.runner-host>.row{justify-content:flex-start}.runner-host>.row button{max-width:100%;white-space:normal}@media(max-width:760px){.runner-actions{width:100%}}
:root[data-theme="light"] .switch-track{background:#d7e0ed;border-color:#a8b8cd}
:root[data-theme="light"] .switch-thumb{background:#fff}
:root[data-theme="light"] .switch-control input:checked+.switch-track{background:#167957;border-color:#167957}
:root[data-theme="light"] .status{background:#edf2fa;color:#344862;border-color:#b8c6d8}
:root[data-theme="light"] .status.running,:root[data-theme="light"] .status.completed,:root[data-theme="light"] .status.accepted{background:#e3f7ed;color:#126c4a;border-color:#76c7a4}
:root[data-theme="light"] .status.stalled{background:#fff4db;color:#855500;border-color:#dfb963}
:root[data-theme="light"] .form input,:root[data-theme="light"] .form textarea,:root[data-theme="light"] .form select{background:#fff;color:#14233a;border-color:#aebfd4}
:root[data-theme="light"] .form input::placeholder,:root[data-theme="light"] .form textarea::placeholder{color:#637792}
:root[data-theme="light"] .challenge-resource,:root[data-theme="light"] .connection-command{background:#edf5ff;color:#075ba9;border-color:#aac9e9}
:root[data-theme="light"] .flag-row code{background:#e7f1ff;color:#075ba9}
:root[data-theme="light"] .notice{background:#e5f8ed;color:#145b42;border-color:#85cbaa}
:root[data-theme="light"] .error{color:#ad2139}
:root[data-theme="light"] .task-status{background:linear-gradient(135deg,#e8f2ff,#f7faff);border-color:#afcbed}
:root[data-theme="light"] .activity-item{background:#f2f6fc;border-color:#c6d3e3}
:root[data-theme="light"] .modal{background:#17243b66}
:root[data-theme="light"] .muted{color:#51637c}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* Keep the bulk-launch control neutral rather than using the success color. */
.start-agents-button{background:#fff!important;color:#172033!important;border:1px solid #fff!important;box-shadow:0 6px 18px #02061735!important}
.start-agents-button:hover{background:#f1f4f8!important;color:#0d1728!important;border-color:#fff!important}
.start-agents-button:disabled{background:#d9dee7!important;color:#64748b!important;border-color:#d9dee7!important}
:root[data-theme="light"] .start-agents-button{background:#fff!important;color:#172033!important;border-color:#b9c8da!important;box-shadow:0 5px 14px #29466a20!important}
.add-ctf-button{background:#fff!important;color:#172033!important;border:1px solid #fff!important;box-shadow:0 6px 18px #02061735!important}
.add-ctf-button:hover{background:#f1f4f8!important;color:#0d1728!important;border-color:#fff!important}
:root[data-theme="light"] .add-ctf-button{background:#fff!important;color:#172033!important;border-color:#b9c8da!important;box-shadow:0 5px 14px #29466a20!important}

/* Flag-candidate indicators retain their distinct purple semantic color. */
.flag-count,.flag-found-legend{color:#d9b7ff!important}
.flag-found-progress{background:linear-gradient(90deg,#8056c7,#c78cff)!important}
:root[data-theme="light"] .flag-count,:root[data-theme="light"] .flag-found-legend{color:#7040ad!important}
:root[data-theme="light"] .flag-found-progress{background:linear-gradient(90deg,#7040ad,#a76ce0)!important}

/* Keep candidate states compact and long flag values inside their card. */
.flag-row{min-width:0}
.flag-row>.status{justify-self:start;align-self:start;width:auto;min-height:0;padding:2px 6px;font-size:9px;line-height:1.2;white-space:nowrap}
.flag-row .flag-activity{grid-column:1/-1;width:100%;min-width:0;max-width:100%}
.flag-row code,.flag-row .flag-activity code{display:block;min-width:0;max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;overflow:hidden;text-overflow:clip}

/* Restore semantic color cues in agent activity. */
.activity-item{border-left:4px solid #61708b!important}
.activity-item.message{border-left-color:#68a9ff!important;background:#1b2c49!important}
.activity-item.command{border-left-color:#e7ae52!important;background:#34291b!important}
.activity-item.finding,.activity-item.progress{border-left-color:#67c7ad!important;background:#193832!important}
.activity-item.flag{border-left-color:#bf8cff!important;background:#302247!important}
.activity-item.guidance{border-left-color:#72b7e8!important;background:#1d2e43!important}
.activity-item.error{border-left-color:#ed7180!important;background:#3a2028!important}
:root[data-theme="light"] .activity-item{border-left-color:#7c8ba1!important;background:#f2f6fc!important}
:root[data-theme="light"] .activity-item.message{border-left-color:#287be0!important;background:#edf5ff!important}
:root[data-theme="light"] .activity-item.command{border-left-color:#b87512!important;background:#fff7e8!important}
:root[data-theme="light"] .activity-item.finding,:root[data-theme="light"] .activity-item.progress{border-left-color:#27876d!important;background:#edfaf5!important}
:root[data-theme="light"] .activity-item.flag{border-left-color:#8450be!important;background:#f7efff!important}
:root[data-theme="light"] .activity-item.guidance{border-left-color:#357bad!important;background:#edf6fb!important}
:root[data-theme="light"] .activity-item.error{border-left-color:#c83a4c!important;background:#fff0f2!important}

/* Keep the first settings tab clear of the card's rounded corner. */
.admin-tabs{left:12px}
@media(max-width:520px){.admin-tabs{left:10px}}

/* Shared solved-state color across themes. */
.category-challenge.solved,:root[data-theme="light"] .category-challenge.solved{background:rgb(18,62,56);color:#dcfff1}
.category-challenge.solved:hover,:root[data-theme="light"] .category-challenge.solved:hover{background:rgb(24,78,70)}
.category-challenge.solved b,:root[data-theme="light"] .category-challenge.solved b{color:#dcfff1}
.category-challenge.solved small,:root[data-theme="light"] .category-challenge.solved small{color:#b9ead5}
.category-challenge.solved .status{background:rgb(12,45,40);border-color:rgb(40,104,91);color:#d9ffef}

/* In light mode, solved rows should sit naturally with the surrounding surface. */
:root[data-theme="light"] .category-challenge.solved{background:#dcf5e5;color:#123d27}
:root[data-theme="light"] .category-challenge.solved:hover{background:#cbedda}
:root[data-theme="light"] .category-challenge.solved b{color:#123d27}
:root[data-theme="light"] .category-challenge.solved small{color:#286344}
:root[data-theme="light"] .category-challenge.solved .status{background:#e9faef;color:#145a38;border-color:#72be91}
