.portal-main{max-width:1080px;margin:72px auto;padding:0 32px}.portal-eyebrow{font-family:Montserrat,sans-serif;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.portal-main h1{font-size:clamp(32px,4vw,52px);line-height:1.12;letter-spacing:-.04em;margin:24px 0}.portal-main h1 em{color:var(--blue)}.portal-main section{margin-top:64px}.portal-main h2{font-size:20px}.lab-entry{display:flex;justify-content:space-between;align-items:center;gap:32px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px 0}.lab-entry h3{font-size:24px;margin:12px 0}.lab-entry p{margin:8px 0}@media(max-width:600px){.portal-main{margin:40px auto;padding:0 24px}.lab-entry{align-items:flex-start;flex-direction:column;gap:16px}}
[data-progress-bar]{display:block;width:min(100%,360px);height:8px;accent-color:var(--blue)}[data-progress-bar][hidden]{display:none}[data-progress-updated]{color:var(--muted);font-size:14px}

@property --hackathon-button-angle {
  syntax: '<angle>';
  initial-value: 0deg;
  inherits: false;
}
.lab-entry > a.btn[href='/dia-05/'] {
  --hackathon-button-orange: var(--orange);
  border: 2px solid transparent;
  border-radius: 8px;
  padding: 14px 24px;
  min-height: 54px;
  font-size: 14px;
  color: var(--white);
  background:
    linear-gradient(120deg, #10254c, var(--navy)) padding-box,
    conic-gradient(from var(--hackathon-button-angle), var(--brand), var(--bright) 22%, var(--hackathon-button-orange) 48%, #ffb45c 56%, var(--brand) 78%, var(--bright)) border-box;
  box-shadow: 0 0 18px rgb(24 162 251 / 14%), 0 0 28px rgb(255 120 0 / 8%);
  animation: hackathon-button-orbit 5s linear infinite;
  transition: box-shadow 220ms ease, transform 220ms ease;
}
.lab-entry > a.btn[href='/dia-05/']:hover {
  color: var(--white);
  border-color: transparent;
  box-shadow: 0 0 24px rgb(24 162 251 / 28%), 0 0 36px rgb(255 120 0 / 18%);
  transform: translateY(-2px);
}
.lab-entry > a.btn[href='/dia-05/']:focus-visible {
  outline: 3px solid var(--blue);
  outline-offset: 5px;
}
.lab-entry > a.btn[href='/dia-05/']:active { transform: translateY(0); }
@keyframes hackathon-button-orbit { to { --hackathon-button-angle: 360deg; } }
@media (prefers-reduced-motion: reduce) {
  .lab-entry > a.btn[href='/dia-05/'] { animation: none; transition: none; }
  .lab-entry > a.btn[href='/dia-05/']:hover { transform: none; }
}
@media print {
  .lab-entry > a.btn[href='/dia-05/'] { animation: none; background: var(--white); color: var(--navy); border-color: currentColor; box-shadow: none; }
}

.admin-tools{display:flex;align-items:end;gap:24px;flex-wrap:wrap}.admin-tools label{display:flex;flex-direction:column;gap:8px}.admin-tools input,.admin-tools select{font:inherit;padding:10px 12px;min-height:44px;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:4px;max-width:100%}.admin-table-scroll{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;text-align:left;font-size:14px}.admin-table caption{text-align:left;color:var(--muted);padding:12px 0}.admin-table th,.admin-table td{padding:16px 12px;border-bottom:1px solid var(--line);white-space:nowrap}.admin-table th:first-child,.admin-table td:first-child{padding-left:0}.admin-pagination{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin-top:24px}.admin-table-scroll[aria-busy="true"]{opacity:.6}

.link-copy{margin:4px 8px;font-size:12px}#activity-timeline li{padding:12px 0;overflow-wrap:anywhere}#activity-detail h3{margin-top:32px}.tracking-note{color:var(--muted);font-size:13px}

.journey-heading{display:flex;justify-content:space-between;gap:24px;align-items:center;flex-wrap:wrap}.journey-heading h2{margin:8px 0}.journey-controls{display:flex;align-items:center;justify-content:flex-start;gap:16px;flex-wrap:wrap;margin:0;padding:0;border:0}.journey-controls label{font-size:14px;display:flex;gap:8px;align-items:center;min-height:44px}.journey-summary{margin:8px 0 0;font-weight:600;color:var(--ink)}.journey-selection{border-top:1px solid var(--line);margin-top:20px;padding-top:8px}.activity-log{margin-top:32px;border-top:1px solid var(--line);padding-top:16px}.activity-log>summary{cursor:pointer;min-height:44px;font-weight:600}@media(max-width:600px){.journey-controls{gap:8px}}

.tracking-main{max-width:1440px;margin-top:40px}.tracking-main h1{font-size:clamp(26px,3vw,38px)}.tracking-main #admin-progress{margin-top:40px}.tracking-main #activity-detail{padding-top:32px;border-top:1px solid var(--line)}
.journey-tabs{display:flex;gap:4px;margin:24px 0 0;border-bottom:1px solid var(--line)}
.journey-tab{font:inherit;font-weight:600;min-height:44px;padding:0 20px;margin-bottom:-1px;background:transparent;color:var(--muted);border:0;border-bottom:3px solid transparent;cursor:pointer}
.journey-tab:hover{color:var(--ink)}
.journey-tab[aria-selected='true']{color:var(--ink);border-bottom-color:var(--blue)}
.journey-panel{padding-top:24px}
.journey-steps{list-style:none;margin:16px 0 0;padding:0;border-top:1px solid var(--line)}
.journey-step{display:flex;flex-direction:column;gap:4px;width:100%;min-height:44px;padding:12px;text-align:left;font:inherit;color:var(--text);background:transparent;border:0;border-bottom:1px solid var(--line);cursor:pointer}
.journey-step:hover{background:var(--soft)}
.journey-step[aria-pressed='true']{background:var(--soft);box-shadow:inset 3px 0 0 var(--blue)}
.journey-step-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.journey-step-id{font:600 13px Montserrat,sans-serif;color:var(--muted)}
.journey-step-state{font-size:13px;color:var(--muted)}
.journey-step[data-state='completed'] .journey-step-state{color:var(--success-text);font-weight:600}
.journey-step-title{color:var(--ink);overflow-wrap:anywhere}
.journey-step-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:13px;color:var(--muted)}
.journey-step-last{color:var(--ink);border:1px dashed var(--blue);border-radius:4px;padding:0 6px}
#activity-status:empty{display:none}
.journey-stage-position{margin:4px 0 0;font-size:14px;color:var(--muted)}
.journey-steps-toggle{margin-top:16px}
.journey-steps-toggle>summary{cursor:pointer;min-height:44px;padding-top:10px;box-sizing:border-box;font-weight:600}
.stage-rings{--dial:40px;--ring-w:84px;display:inline-flex;gap:4px;background:linear-gradient(var(--line),var(--line)) no-repeat 50% calc(var(--dial) / 2 + 4px) / calc(100% - var(--ring-w)) 2px}
.stage-rings-large{--dial:64px;--ring-w:120px;display:flex;justify-content:space-between;max-width:480px}
.stage-ring{display:flex;flex-direction:column;align-items:center;gap:4px;width:var(--ring-w);min-height:44px;padding:4px 2px;font:inherit;color:var(--text);background:transparent;border:0;border-radius:6px;cursor:pointer}
.stage-ring-dial{display:grid;place-items:center;width:var(--dial);height:var(--dial);border-radius:50%;background:conic-gradient(var(--blue) calc(var(--p) * 1%),var(--line) 0)}
.stage-ring-dial>span{display:grid;place-items:center;width:calc(100% - 8px);height:calc(100% - 8px);border-radius:50%;background:var(--bg);font:600 12px Montserrat,sans-serif;color:var(--ink)}
.stage-rings-large .stage-ring-dial>span{width:calc(100% - 12px);height:calc(100% - 12px);font-size:15px}
.stage-ring[data-complete='true'] .stage-ring-dial{background:var(--success)}
.stage-ring[data-complete='true'] .stage-ring-dial>span{color:var(--success-text);font-size:18px}
.stage-ring-name{font-size:12px;white-space:nowrap}.stage-ring-name b{font-family:Montserrat,sans-serif;color:var(--muted)}
.stage-ring-percent{font-size:12px;color:var(--muted)}
.stage-rings:not(.stage-rings-large) .stage-ring-percent{display:none}
.stage-ring:hover .stage-ring-dial{box-shadow:0 0 0 2px var(--line-strong)}
.stage-ring[aria-pressed='true'] .stage-ring-dial{box-shadow:0 0 0 3px var(--bg),0 0 0 5px var(--ink)}
.stage-ring[aria-pressed='true'] .stage-ring-name{font-weight:700;color:var(--ink)}
.stage-where{margin:4px 0 0;font-size:13px;color:var(--muted)}
#journey-archify{display:block;width:100%;height:720px;border:1px solid var(--line);border-radius:6px;background:var(--bg)}
@media(max-width:600px){.stage-rings-large{--dial:56px;--ring-w:96px}
.journey-tab{flex:1;padding:0 12px}
#journey-archify{height:620px}
}

.workspace-start h1{font-size:clamp(30px,4vw,48px)}
.workspace-start section{margin:32px 0}
.workspace-start h2{font-size:20px;margin-bottom:14px}
.workspace-start .workspace-tree{padding:18px;border:1px solid var(--line);border-radius:6px;background:var(--soft);color:var(--text);font:12px/1.9 'IBM Plex Mono',monospace;overflow:auto}
.workspace-check{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 16px;background:var(--soft);border:1px solid var(--line);border-radius:6px}
.workspace-check code{flex:1;overflow-wrap:anywhere;font-size:13px}
.workspace-start details{padding:12px 0;border-bottom:1px solid var(--line)}
.workspace-start summary{cursor:pointer;font-weight:600}
.workspace-start details pre{overflow:auto;font-size:12px;padding:12px;background:var(--soft)}
.workspace-start #workspace-copy-status:empty{display:none}
