@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Noto+Sans+SC:wght@400;500;600;700;800&family=Outfit:wght@500;600;700;800&display=swap');
:root{--ink:#eaf0ff;--muted:#91a0ba;--page:#07111f;--nav:#091729;--surface:#0d1c31;--surface2:#10243e;--line:rgba(169,193,236,.15);--blue:#6ea8fe;--cyan:#5eead4;--green:#56e39f;--amber:#ffca6a;--red:#ff7c8d;--shadow:0 18px 50px rgba(0,0,0,.28)}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 80% -20%,#123861 0,transparent 36%),radial-gradient(circle at -10% 30%,#152f54 0,transparent 30%),var(--page);color:var(--ink);font-family:'Noto Sans SC',system-ui,sans-serif;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}.login{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(960px,100%);display:grid;grid-template-columns:1.2fr .8fr;background:linear-gradient(135deg,rgba(17,41,70,.96),rgba(8,21,39,.98));border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}.login-copy{padding:56px;background:linear-gradient(145deg,rgba(65,120,205,.2),transparent 55%)}.eyebrow{font-family:'DM Mono',monospace;font-size:12px;letter-spacing:1.3px;color:var(--cyan);text-transform:uppercase}.login h1{font-family:Outfit,'Noto Sans SC';font-size:48px;letter-spacing:-1.5px;line-height:1.03;margin:18px 0}.login p{color:var(--muted);line-height:1.8}.feature-list{display:grid;gap:12px;margin-top:34px}.feature-list span{color:#c7d6f2}.login-form{padding:48px;display:grid;align-content:center;gap:14px}.login-form h2{margin:0 0 12px;font-size:24px}.field{display:grid;gap:7px;color:#bac9e4;font-size:13px}.field input,.field select{width:100%;border:1px solid var(--line);border-radius:10px;background:#081527;color:#edf3ff;padding:12px 13px;outline:none}.field input:focus,.field select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(110,168,254,.12)}.btn{border:0;border-radius:10px;padding:11px 15px;font-weight:700;color:#07111f;background:var(--blue);transition:.18s transform,.18s filter}.btn:hover{filter:brightness(1.08);transform:translateY(-1px)}.btn.secondary{background:#183354;color:#cee0ff;border:1px solid var(--line)}.btn.danger{background:rgba(255,124,141,.17);border:1px solid rgba(255,124,141,.35);color:#ffc5cd}.btn.ghost{background:transparent;border:1px solid var(--line);color:#cedbf2}.login-note{font-size:12px;color:var(--muted);margin:8px 0 0}.shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.side{background:rgba(5,16,30,.8);border-right:1px solid var(--line);padding:22px 15px;display:flex;flex-direction:column;gap:26px;position:sticky;top:0;height:100vh}.brand{display:flex;gap:10px;align-items:center;padding:4px 8px}.mark{display:grid;place-items:center;width:31px;height:31px;border-radius:9px;background:linear-gradient(135deg,var(--cyan),var(--blue));color:#06111f;font-weight:900;font-family:Outfit}.brand strong{font-family:Outfit;font-size:16px;letter-spacing:.2px}.brand small{display:block;color:var(--muted);font-family:DM Mono;font-size:9px;margin-top:2px}.nav{display:grid;gap:7px}.nav button{width:100%;border:0;background:transparent;color:#9caecb;padding:11px 12px;text-align:left;border-radius:9px;font-weight:600}.nav button.active,.nav button:hover{background:#10243e;color:#eff6ff}.side-footer{margin-top:auto;padding:12px 8px;border-top:1px solid var(--line);color:var(--muted);font:11px 'DM Mono';line-height:1.8}.main{min-width:0}.top{display:flex;justify-content:space-between;align-items:center;padding:22px 32px;border-bottom:1px solid var(--line);background:rgba(8,20,36,.5);backdrop-filter:blur(16px);position:sticky;top:0;z-index:2}.top-title{font-family:Outfit;font-size:19px;font-weight:700}.top-sub{color:var(--muted);font-size:12px;margin-top:2px}.user{display:flex;align-items:center;gap:12px}.avatar{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#1c3b65;color:#c6dcff;font:12px 'DM Mono'}.content{padding:30px;max-width:1500px;margin:auto}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}.section-head h1{margin:0;font-family:Outfit;font-size:29px;letter-spacing:-.5px}.section-head p{margin:6px 0 0;color:var(--muted);font-size:14px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:20px 0 30px}.stat{padding:17px;border:1px solid var(--line);background:rgba(14,32,55,.73);border-radius:14px}.stat span{display:block;color:var(--muted);font-size:12px}.stat strong{display:block;font-family:Outfit;font-size:29px;margin-top:7px}.stat em{font-style:normal;color:var(--green);font-size:12px}.panel{border:1px solid var(--line);background:rgba(12,29,51,.78);border-radius:15px;box-shadow:0 8px 25px rgba(0,0,0,.12)}.panel-head{padding:17px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.panel-head h3{margin:0;font-size:15px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:13px 17px;border-bottom:1px solid var(--line);white-space:nowrap}th{color:#8fa3c5;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.6px}td{color:#d4e0f5}.tag,.status{font-size:11px;border-radius:99px;padding:4px 8px;display:inline-block;font-weight:700}.tag{background:#173454;color:#aad0ff}.status.started,.status.ready,.status.completed{background:rgba(86,227,159,.12);color:#78f1b0}.status.draft,.status.preparing,.status.available{background:rgba(255,202,106,.12);color:#ffd07b}.status.paused,.status.ended{background:rgba(255,124,141,.13);color:#ffa5b1}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.challenge{padding:18px;position:relative;overflow:hidden;min-height:222px}.challenge:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 100% 0,rgba(94,234,212,.1),transparent 35%);pointer-events:none}.challenge h3{margin:11px 0 8px;font-size:17px;line-height:1.35}.challenge p{color:var(--muted);font-size:13px;line-height:1.65;margin:0}.challenge-meta{display:flex;gap:7px;flex-wrap:wrap}.challenge-foot{display:flex;justify-content:space-between;align-items:center;position:absolute;left:18px;right:18px;bottom:17px;color:#adbed8;font:12px 'DM Mono';gap:8px}.points{color:var(--cyan);font-weight:700}.modal-backdrop{position:fixed;inset:0;background:rgba(1,7,15,.65);backdrop-filter:blur(5px);display:grid;place-items:center;padding:20px;z-index:20}.modal{width:min(780px,100%);max-height:90vh;overflow:auto;background:#0c1d33;border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow)}.modal header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--line)}.modal header h2{margin:0;font-size:20px}.modal .body{padding:20px}.modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.modal .wide{grid-column:1/-1}.checklist{max-height:250px;overflow:auto;border:1px solid var(--line);border-radius:10px;background:#09182b}.check{display:flex;gap:10px;align-items:center;padding:11px 12px;border-bottom:1px solid var(--line);font-size:13px}.check:last-child{border:0}.check input{accent-color:var(--cyan)}.modal footer{display:flex;justify-content:flex-end;gap:10px;padding:18px 20px;border-top:1px solid var(--line)}.credential{font-family:'DM Mono';font-size:12px;background:#071426;border:1px solid #25466d;border-radius:9px;padding:9px;overflow:auto;color:#bde9de}.student-hero{padding:24px;border:1px solid rgba(94,234,212,.2);border-radius:15px;background:linear-gradient(125deg,rgba(25,81,99,.35),rgba(14,29,50,.7));display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:20px}.student-hero h1{font-family:Outfit;font-size:27px;margin:5px 0}.student-hero p{color:#aebed7;margin:0;font-size:13px}.countdown{font:700 24px 'DM Mono';color:var(--cyan);white-space:nowrap}.student-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px}.challenge-list{display:grid;gap:12px}.challenge-row{padding:17px;display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center}.challenge-index{width:39px;height:39px;border-radius:11px;display:grid;place-items:center;background:#153152;color:#a7ccff;font:13px 'DM Mono'}.challenge-row h3{margin:0 0 5px;font-size:16px}.challenge-row p{margin:0;color:var(--muted);font-size:12px}.progressbar{height:5px;background:#10223a;border-radius:99px;overflow:hidden;margin-top:10px}.progressbar i{height:100%;display:block;background:linear-gradient(90deg,var(--cyan),var(--blue));border-radius:99px}.leaderboard{padding:0}.leader-row{display:grid;grid-template-columns:32px 1fr auto;gap:10px;padding:13px 16px;border-bottom:1px solid var(--line);align-items:center}.leader-row:first-of-type{background:rgba(255,202,106,.07)}.leader-row .rank{font:700 14px 'DM Mono';color:#ffcf76}.leader-row small{color:var(--muted);display:block;margin-top:2px}.detail{max-width:980px}.breadcrumbs{font-size:12px;color:#9ab1d3;margin-bottom:17px}.task{margin-top:12px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#0b1a2e;display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center}.task-num{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:#1a385c;color:#b8d6ff;font:12px 'DM Mono'}.task h4{margin:0 0 4px;font-size:14px}.task p{margin:0;color:var(--muted);font-size:12px}.awsbox{margin:18px 0;padding:17px;border:1px dashed #2d6f81;background:rgba(25,89,93,.08);border-radius:12px}.awsbox h3{margin:0 0 6px;font-size:14px}.awsbox p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}.blank{height:100vh;background:var(--page)}#toast{position:fixed;right:20px;bottom:20px;z-index:30;background:#163251;color:#d6ebff;border:1px solid #315a86;padding:12px 15px;border-radius:10px;box-shadow:var(--shadow);opacity:0;transform:translateY(12px);transition:.2s;pointer-events:none}#toast.show{opacity:1;transform:translateY(0)}.error{color:#ffb2bb;font-size:12px;min-height:18px}@media(max-width:900px){.shell{grid-template-columns:1fr}.side{height:auto;position:static;flex-direction:row;align-items:center;padding:12px}.nav{display:flex;overflow:auto}.nav button{white-space:nowrap}.side-footer{display:none}.content{padding:20px}.stats,.grid{grid-template-columns:repeat(2,1fr)}.student-grid{grid-template-columns:1fr}.login-card{grid-template-columns:1fr}.login-copy{padding:34px}.login h1{font-size:38px}.login-form{padding:34px}}@media(max-width:560px){.stats,.grid{grid-template-columns:1fr}.top{padding:14px 18px}.content{padding:16px}.modal-grid{grid-template-columns:1fr}.challenge-row{grid-template-columns:auto 1fr}.challenge-row .btn{grid-column:2}.student-hero{align-items:flex-start;flex-direction:column}.countdown{font-size:19px}}

.status.deleting,.status.role_propagating{background:rgba(255,202,106,.12);color:#ffd07b}.status.delete_complete{background:rgba(86,227,159,.12);color:#78f1b0}.status.error,.status.create_failed,.status.delete_failed,.status.residual_error{background:rgba(255,124,141,.13);color:#ffa5b1}

/* Administrator competition detail: current scores and score event stream. */
.admin-scoreboard{display:grid;grid-template-columns:minmax(310px,.82fr) minmax(480px,1.18fr);gap:14px;margin:18px 0}.admin-scoreboard .panel{min-width:0}.admin-scoreboard .panel-head small{color:var(--muted);font-size:11px}.score-events{max-height:294px;overflow:auto}@media(max-width:900px){.admin-scoreboard{grid-template-columns:1fr}}
.scoreboard-page{min-height:100vh;padding:34px clamp(18px,4vw,60px);max-width:1800px;margin:0 auto}.scoreboard-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px}.scoreboard-header h1{font-family:Outfit;font-size:34px;margin:7px 0}.scoreboard-header p{color:var(--muted);margin:0;font-size:13px}.scoreboard-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.scoreboard-stats{grid-template-columns:repeat(4,1fr);margin-bottom:18px}.scoreboard-layout{grid-template-columns:minmax(360px,.8fr) minmax(600px,1.2fr);margin:0}.scoreboard-table{max-height:calc(100vh - 255px)}.scoreboard-events{max-height:calc(100vh - 255px)}.scoreboard-error{margin-top:14px}@media(max-width:1000px){.scoreboard-layout{grid-template-columns:1fr}.scoreboard-table,.scoreboard-events{max-height:440px}}@media(max-width:700px){.scoreboard-header{flex-direction:column}.scoreboard-actions{justify-content:flex-start}.scoreboard-stats{grid-template-columns:repeat(2,1fr)}}
.usage-filters{margin-bottom:18px}.filter-grid{padding:16px 18px;display:grid;grid-template-columns:repeat(4,minmax(150px,1fr)) auto;gap:12px;align-items:end}.filter-actions{padding-bottom:1px}@media(max-width:1050px){.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-actions{grid-column:1/-1}}@media(max-width:560px){.filter-grid{grid-template-columns:1fr}}
.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 17px;color:var(--muted);font-size:12px;border-top:1px solid var(--line)}.pagination-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pagination label{display:flex;align-items:center;gap:6px}.pagination select{border:1px solid var(--line);border-radius:8px;background:#081527;color:#edf3ff;padding:7px 9px}.pagination .btn{padding:7px 10px;font-size:12px}.pagination .btn:disabled{opacity:.4;cursor:not-allowed;transform:none;filter:none}@media(max-width:560px){.pagination{align-items:flex-start;flex-direction:column}}
.aws-actions{display:flex;gap:10px;flex-wrap:wrap}.waiting{max-width:680px;margin:12vh auto;padding:34px;text-align:center}.waiting h1{font:700 32px Outfit,'Noto Sans SC',sans-serif;margin:12px 0}.waiting p,.waiting small{display:block;color:var(--muted);line-height:1.8}.waiting-status{margin:18px 0}@media(max-width:560px){.aws-actions{display:grid}.aws-actions .btn{width:100%}.waiting{margin:5vh auto;padding:25px}}
.student-doc{padding:21px 22px;margin:18px 0;line-height:1.75;color:#cbd9ef;font-size:14px}.student-doc h3{font:700 17px Outfit,'Noto Sans SC',sans-serif;color:#ecf5ff;margin:20px 0 7px}.student-doc h3:first-child{margin-top:0}.student-doc h4{font-size:14px;color:#dceaff;margin:14px 0 5px}.student-doc code{font:12px 'DM Mono',monospace;color:#bde9de;background:#071426;border:1px solid #25466d;border-radius:5px;padding:2px 5px}.student-doc strong{color:#f2f7ff}.student-doc .doc-bullet,.student-doc .doc-step{padding-left:3px;margin:3px 0;color:#bfcee4}

.admin-task{margin:10px 0;border:1px solid var(--line);border-radius:10px;background:#09182b;overflow:hidden}.admin-task summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;color:#e7f1ff;font-weight:700;cursor:pointer}.admin-task summary::-webkit-details-marker{display:none}.admin-task summary:before{content:'›';font-size:20px;color:var(--cyan);transition:.16s transform}.admin-task[open] summary:before{transform:rotate(90deg)}.admin-task summary span{color:var(--muted);font:11px 'DM Mono';font-weight:400}.admin-task-body{padding:0 14px 14px;border-top:1px solid var(--line);color:#bfcee4}

/* Competition challenge picker: aligned checkbox column + readable descriptions. */
.challenge-picker{min-width:0}.challenge-picker-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}.challenge-picker-title small{color:var(--muted);font-size:12px;font-weight:400}.challenge-checklist{max-height:430px;padding:8px;background:#081629;display:grid;gap:7px}.challenge-choice{position:relative;display:grid;grid-template-columns:20px minmax(0,1fr);gap:11px;align-items:start;padding:13px 14px;border:1px solid var(--line);border-radius:11px;background:rgba(16,36,62,.72);cursor:pointer;transition:border-color .16s,background .16s,transform .16s}.challenge-choice:hover{border-color:rgba(110,168,254,.55);background:#112947;transform:translateY(-1px)}.challenge-choice.selected{border-color:rgba(94,234,212,.7);background:rgba(25,89,93,.2);box-shadow:0 0 0 1px rgba(94,234,212,.12)}.challenge-choice input{position:absolute;opacity:0;pointer-events:none}.challenge-choice-check{width:18px;height:18px;margin-top:2px;border:1px solid #6582a9;border-radius:5px;background:#071426;position:relative}.challenge-choice.selected .challenge-choice-check{border-color:var(--cyan);background:var(--cyan)}.challenge-choice.selected .challenge-choice-check::after{content:'✓';position:absolute;inset:0;display:grid;place-items:center;color:#06202a;font-size:13px;font-weight:900}.challenge-choice-content{display:grid;gap:5px;min-width:0}.challenge-choice-head{display:flex;align-items:center;gap:8px;min-width:0;line-height:1.35}.challenge-choice-head b{font:700 12px 'DM Mono';color:#a9caff;white-space:nowrap}.challenge-choice-head strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.challenge-choice-head em{margin-left:auto;flex:none;color:var(--amber);font-size:11px;font-style:normal;border:1px solid rgba(255,202,106,.25);padding:2px 7px;border-radius:99px}.challenge-choice-description,.challenge-choice-tasks{color:#b3c3dc;font-size:12px;line-height:1.55;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.challenge-choice-tasks{color:#8fa7c8;-webkit-line-clamp:1}.challenge-choice-meta{color:var(--cyan);font-size:11px;line-height:1.4}.checklist .check{align-items:flex-start}.checklist .check input{margin-top:2px}
@media(max-width:560px){.challenge-picker-title{align-items:flex-start;flex-direction:column;gap:3px}.challenge-choice-head{align-items:flex-start;flex-wrap:wrap}.challenge-choice-head strong{white-space:normal}.challenge-choice-head em{margin-left:0}}

/* Unified administrator challenge details for every EKS challenge. */
.admin-task summary>span:first-child{flex:1;color:#e7f1ff;font:600 14px 'Noto Sans SC',sans-serif;text-align:left}
.admin-task summary>span:first-child b{color:var(--cyan);font:700 12px 'DM Mono',monospace;margin-right:5px}
.admin-task summary>span:last-child{flex:none;color:var(--muted);font:11px 'DM Mono',monospace}
.admin-task-body{line-height:1.75}
.admin-task-body .doc-step{margin:5px 0}
.admin-overview{margin-top:18px}
.admin-task-reference{margin:13px 0;padding:12px;border:1px dashed rgba(110,168,254,.35);border-radius:9px;background:rgba(16,36,62,.45);color:#bfcee4}
.admin-task-reference strong{display:block;color:#dceaff;margin-bottom:6px}
.task-verifier-section{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.task-verifier-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.task-verifier-heading h4{margin:0 0 4px;font-size:14px}
.task-verifier-heading p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}
.task-verifier-panel{margin:8px 0}
.task-verifier-code{display:block;width:100%;min-height:180px;resize:vertical;white-space:pre;overflow:auto}
.task.task-locked{opacity:.68;border-style:dashed}
.task.task-locked .task-num{background:#26354b;color:#91a0ba}
.verifier-guide-body{line-height:1.65}
.verifier-guide-summary{margin:0 0 13px;padding:11px 12px;border-left:3px solid var(--cyan);border-radius:7px;background:rgba(94,234,212,.07);color:#d6e8f7;font-size:13px}
.verifier-guide-body h5{margin:15px 0 7px;color:#e7f1ff;font-size:13px}
.verifier-resource-list,.verifier-check-list,.verifier-implementation{display:grid;gap:7px;margin:0;padding-left:20px}
.verifier-resource,.verifier-check{padding:9px 10px;border:1px solid rgba(169,193,236,.12);border-radius:8px;background:rgba(7,20,38,.62);color:#cbd9ef;font-size:12px}
.verifier-resource>div{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.verifier-resource strong{color:#e4efff}
.verifier-operation{color:var(--cyan);font:11px 'DM Mono',monospace}
.verifier-resource code{display:block;margin-top:5px;white-space:pre-wrap;word-break:break-word;color:#bde9de}
.verifier-check{padding:9px 10px 8px}
.verifier-check strong{color:#f1f6ff}
.verifier-check p{margin:5px 0 0;color:#aebed7}
.verifier-flow-list,.verifier-function-list,.verifier-field-list{display:grid;gap:8px;margin:0;padding-left:0;list-style:none}
.verifier-flow,.verifier-function,.verifier-field{padding:10px 11px;border:1px solid rgba(169,193,236,.12);border-radius:8px;background:rgba(7,20,38,.62);color:#cbd9ef;font-size:12px}
.verifier-flow-title,.verifier-function-head{display:flex;align-items:center;gap:8px}
.verifier-flow-title strong,.verifier-function-head strong{color:#f1f6ff}
.verifier-step-number{display:grid;place-items:center;flex:none;width:22px;height:22px;border-radius:50%;background:rgba(94,234,212,.16);color:var(--cyan);font:700 11px 'DM Mono'}
.verifier-flow p,.verifier-function p{margin:6px 0 0;color:#b7c8df}
.verifier-flow p b,.verifier-function p b{color:#e5efff}
.verifier-function-head span{margin-left:auto;color:#8ea6c8;font:10px 'DM Mono';word-break:break-all}
.verifier-function code,.verifier-flow code{color:#bde9de}
.verifier-subdetail{margin-top:7px;border-top:1px solid rgba(169,193,236,.1);padding-top:6px}
.verifier-subdetail summary{cursor:pointer;color:#9fc0ea;font-size:11px}
.verifier-subdetail ul{margin:5px 0 0;padding-left:18px;color:#aebed7}
.verifier-subdetail pre{margin:7px 0 0;padding:9px;overflow:auto;white-space:pre-wrap;word-break:break-word;color:#bde9de;background:#061222;border-radius:6px;font:11px/1.55 'DM Mono',monospace}
.verifier-field{display:flex;align-items:flex-start;gap:10px}
.verifier-field>code{flex:none;min-width:125px;color:#bde9de}
.verifier-field strong{color:#e4efff}
.verifier-field p{margin:3px 0 0;color:#aebed7}
.verifier-logic{margin:14px 0;padding:11px 12px;border:1px solid rgba(110,168,254,.28);border-radius:8px;background:rgba(21,49,84,.35);color:#cbd9ef;font-size:12px}
.verifier-logic strong{color:#e9f3ff}
.verifier-logic p{margin:6px 0 0;line-height:1.7}
.verifier-implementation{font-size:11px}
.verifier-implementation code{color:#a9caff;white-space:pre-wrap;word-break:break-word}
.verifier-guide-warning{padding:10px 12px;border:1px dashed rgba(255,202,106,.4);border-radius:8px;color:#ffd98a;font-size:12px}
.verifier-guide-empty{margin:0;padding:9px 11px;border:1px solid rgba(169,193,236,.12);border-radius:8px;background:rgba(7,20,38,.45);color:#aebed7;font-size:12px}
.verifier-raw{margin-top:15px;border-top:1px solid var(--line);padding-top:10px}
.verifier-raw summary{cursor:pointer;color:#9fb6d8;font-size:12px}
.record-player{margin:10px 0;border:1px solid var(--line);border-radius:10px;background:#09182b;overflow:hidden}.record-player summary{list-style:none;display:flex;justify-content:space-between;gap:12px;padding:13px 15px;cursor:pointer;font-size:13px}.record-player summary::-webkit-details-marker{display:none}.record-player summary:before{content:'›';color:var(--cyan);font-size:19px}.record-player[open] summary:before{transform:rotate(90deg)}.record-player summary span:last-child{color:var(--cyan);font:11px 'DM Mono';white-space:nowrap}.record-player .table-wrap{border-top:1px solid var(--line)}.record-header{margin-bottom:16px}.record-players h3{font-size:15px;margin:20px 0 10px}

/* Deployment timeline: explicit outcome and error visibility. */
.deployment-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}
.deployment-summary>div{padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:rgba(7,20,38,.55)}
.deployment-summary span{display:block;color:var(--muted);font-size:11px}.deployment-summary strong{display:block;margin-top:4px;font:700 20px 'DM Mono'}
.deployment-summary .success strong,.deployment-result.success{color:var(--green)}.deployment-summary .failed strong,.deployment-result.failed{color:#ff9bab}.deployment-summary .pending strong,.deployment-result.pending{color:var(--amber)}.deployment-result.skipped{color:#a8bedf}
.deployment-events{display:grid;gap:10px;margin-top:12px}.deployment-event{padding:14px;border:1px solid var(--line);border-left:3px solid #55708f;border-radius:11px;background:#0b1a2e}.deployment-event.success{border-left-color:var(--green)}.deployment-event.failed{border-left-color:var(--red);background:rgba(93,26,43,.18)}.deployment-event.pending{border-left-color:var(--amber)}
.deployment-event-top{display:flex;align-items:center;gap:8px}.deployment-seq{color:var(--muted);font:11px 'DM Mono'}.deployment-phase{color:#a9caff;font:700 11px 'DM Mono';letter-spacing:.4px}.deployment-result{margin-left:auto;font:700 11px 'DM Mono'}.deployment-event h4{margin:9px 0 3px;font-size:14px}.deployment-event-meta{margin:0;color:var(--muted);font:11px 'DM Mono'}.deployment-error{display:flex;gap:8px;margin-top:10px;padding:9px 10px;border:1px solid rgba(255,124,141,.3);border-radius:8px;background:rgba(255,124,141,.08);color:#ffc5cd;font-size:12px;line-height:1.55}.deployment-error strong{white-space:nowrap;color:#ff9bab}.deployment-error-inline{color:#ffc5cd}.deployment-detail{margin-top:10px;border-top:1px solid var(--line);padding-top:8px}.deployment-detail summary{cursor:pointer;color:#a9caff;font-size:12px}.deployment-detail-row{display:grid;grid-template-columns:145px minmax(0,1fr);gap:8px;padding:5px 0;border-bottom:1px solid rgba(169,193,236,.08);font-size:11px}.deployment-detail-row span{color:var(--muted)}.deployment-detail-row code{white-space:pre-wrap;word-break:break-word;color:#bde9de}
@media(max-width:560px){.deployment-summary{grid-template-columns:repeat(2,1fr)}.deployment-detail-row{grid-template-columns:1fr}.deployment-error{display:block}.deployment-error strong{display:block;margin-bottom:3px}}
.account-selection-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.account-selection-actions .btn:disabled{opacity:.45;cursor:not-allowed;transform:none;filter:none}
