:root {
  color-scheme:dark;
  --bg:#0c151c;
  --panel:#12212a;
  --ink:#ecf4ef;
  --muted:#9aadb5;
  --line:#2a4049;
  --mint:#b9e1c7;
  --warm:#d5bb92;
  --danger:#f2b1a4;
  font-family:Segoe UI,system-ui,sans-serif;
  font-size:15px}
* {
  box-sizing:border-box}
body {
  margin:0;
  background:var(--bg);
  color:var(--ink)}
button,input {
  font:inherit}
button,a,input,summary {
  outline-offset:5px}
button {
  cursor:pointer;
  border:1px solid var(--line);
  border-radius:6px;
  padding:12px 16px;
  font-weight:600;
  color:var(--ink);
  background:transparent}
button:disabled {
  opacity:.45;
  cursor:not-allowed}
button:hover:enabled {
  border-color:var(--mint)}
a {
  color:inherit;
  text-decoration:none}
.masthead {
  height:88px;
  border-bottom:1px solid var(--line);
  display:flex;
  align-items:center;
  gap:32px;
  padding:0 5vw}
.brand {
  font-size:13px;
  font-weight:650;
  letter-spacing:2px;
  display:flex;
  align-items:center;
  gap:12px}
.brand-mark {
  font-size:39px;
  color:var(--mint)}
.edition {
  font-size:10px;
  letter-spacing:2px;
  color:var(--muted);
  margin-left:auto}
.dot {
  display:inline-block;
  width:6px;
  height:6px;
  background:var(--mint);
  border-radius:50%;
  margin:0 10px}
main {
  max-width:1360px;
  padding:48px 5vw;
  margin:auto}
.eyebrow {
  font-size:10px;
  font-weight:650;
  letter-spacing:2.3px;
  color:var(--mint);
  margin:0 0 16px}
h1 {
  font-family:Georgia,serif;
  font-weight:400;
  font-size:clamp(36px,4vw,58px);
  line-height:1.12;
  margin:0 0 20px;
  letter-spacing:-1px}
h2 {
  font-family:Georgia,serif;
  font-size:26px;
  font-weight:400;
  margin:0 0 18px}
.lede {
  font-size:16px;
  line-height:1.7;
  color:var(--muted);
  max-width:850px}
.panel {
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--panel)}
.entry {
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:10%;
  align-items:center;
  min-height:70vh}
.entry-crystal {
  font-size:170px;
  color:var(--mint);
  line-height:1.2;
  text-shadow:0 0 90px #7cefc355;
  transform:rotate(-12deg);
  width:180px}
.invitation {
  padding:36px}
.invitation p {
  color:var(--muted);
  line-height:1.65}
label {
  display:block;
  color:var(--muted);
  font-size:12px;
  margin:18px 0 8px}
input {
  width:100%;
  background:var(--bg);
  border:1px solid var(--line);
  border-radius:5px;
  padding:12px;
  color:var(--ink)}
.primary {
  background:var(--mint);
  border-color:var(--mint);
  color:#12281e;
  display:flex;
  justify-content:space-between;
  gap:20px;
  width:100%;
  margin-top:16px}
.secondary {
  background:#1b3039}
.quiet {
  border-color:transparent;
  font-size:12px}
.danger {
  color:var(--danger)}
.fine {
  font-size:12px;
  line-height:1.65;
  color:var(--muted)}
.heading {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:30px;
  margin-bottom:32px}
.heading h1 {
  font-size:clamp(32px,3.6vw,48px)}
.badge {
  border:1px solid #486d5f;
  color:var(--mint);
  padding:8px 13px;
  border-radius:30px;
  font-size:12px;
  white-space:nowrap}
.workspace {
  display:grid;
  grid-template-columns:1fr 340px;
  gap:24px}
.panel-top {
  display:flex;
  justify-content:space-between;
  padding:24px 26px 0}
.panel-top span {
  font-size:9px;
  letter-spacing:1.6px;
  color:var(--muted)}
.field {
  border-top:1px solid var(--line);
  padding:22px 26px}
.field .eyebrow {
  margin-bottom:9px}
.field p:last-child {
  color:var(--muted);
  line-height:1.65;
  font-size:13px;
  margin:0}
.participation {
  align-self:start;
  position:sticky;
  top:24px;
  padding:25px}
.metrics {
  margin:22px 0}
.metrics div {
  display:flex;
  justify-content:space-between;
  gap:20px;
  border-bottom:1px solid var(--line);
  padding:12px 0;
  font-size:12px}
.metrics dt {
  color:var(--muted)}
.metrics dd {
  margin:0;
  text-align:right}
.check {
  display:flex;
  gap:10px;
  line-height:1.6}
.check input {
  width:16px;
  flex-shrink:0;
  align-self:flex-start;
  margin-top:4px;
  accent-color:var(--mint)}
#refresh {
  margin-top:12px;
  width:100%}
#stop {
  display:block;
  margin:10px auto}
.assignment {
  margin-top:24px;
  padding:24px;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:15px}
.assignment-actions {
  margin-left:auto;
  display:flex;
  gap:10px}
.assignment>.fine {
  width:100%;
  margin:0}
.assignment h2 {
  font-size:23px;
  margin-bottom:8px}
.assignment p {
  margin:7px 0}
.task-section {
  margin-top:40px}
.section-heading {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:30px}
.section-heading>p {
  color:var(--muted);
  font-size:12px}
.task-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));
  gap:18px;
  margin:18px 0 28px}
.task {
  padding:24px}
.task h3 {
  font-weight:500;
  font-size:17px;
  margin:10px 0}
.task p {
  color:var(--muted);
  font-size:13px;
  line-height:1.7;
  white-space:pre-wrap}
.task .task-label {
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:1.5px;
  color:var(--warm)}
.task summary {
  font-size:12px;
  color:var(--mint);
  cursor:pointer}
.task button {
  margin-top:20px;
  width:100%}
.provenance {
  padding:22px 26px;
  font-size:13px}
.provenance summary {
  cursor:pointer}
.provenance dl {
  display:grid;
  grid-template-columns:130px 1fr;
  gap:12px}
.provenance dt {
  color:var(--muted)}
.provenance dd {
  margin:0;
  overflow-wrap:anywhere}
footer {
  color:var(--mint);
  font-family:Georgia,serif;
  font-size:17px;
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:35px 0 10px}
footer span {
  font:11px Segoe UI,system-ui,sans-serif;
  color:var(--muted)}
#notice {
  position:sticky;
  bottom:20px;
  border:1px solid var(--warm);
  border-radius:8px;
  background:#233038;
  padding:16px 20px;
  box-shadow:0 8px 40px #0006;
  line-height:1.6;
  margin-top:20px;
  font-size:13px}
#retry {
  margin-left:20px}
[hidden] {
  display:none!important}
@media(max-width:900px) {
  .participation { position:static; }
  .workspace {
  grid-template-columns:1fr}
.entry {
  gap:5%}
.participation .metrics {
  display:flex;
  gap:20px}
.metrics div {
  flex:1;
  display:block}
.metrics dd {
  text-align:left;
  margin-top:6px}
}
@media(max-width:620px) {
  .masthead {
  height:70px;
  padding:0 20px}
.edition {
  display:none}
main {
  padding:30px 20px}
.entry {
  grid-template-columns:1fr}
.entry-crystal {
  display:none}
.invitation {
  margin-top:24px;
  padding:24px}
.heading,.section-heading {
  display:block}
.heading .badge {
  display:inline-block;
  margin-top:8px}
.panel-top span {
  display:none}
.assignment-actions {
  margin-left:0}
.participation .metrics {
  display:block}
.metrics div {
  display:flex}
.metrics dd {
  margin-top:0}
footer {
  display:block}
footer span {
  display:block;
  margin-top:10px}
.provenance dl {
  grid-template-columns:1fr}
.provenance dt {
  margin-top:10px}
}


.task pre {
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  font-size:11px;
  line-height:1.6;
  padding:12px;
  background:rgba(0,0,0,.2);
  border-radius:8px;
  user-select:all}
.task .fine {
  overflow-wrap:anywhere}
.return-next {
  padding:12px 16px;
  border-left:2px solid var(--warm);
  background:rgba(0,0,0,.12)}
.task[data-phase="accepted"] {
  border-color:#486d5f}
.task[data-phase="disputed"],.task[data-phase="reassessment_required"] {
  border-color:#836852}
.review-trail {
  padding-left:24px;
  border-left:1px solid var(--line)}
.review-trail li {
  padding:4px 0 12px 8px;
  overflow-wrap:anywhere}
.review-trail li p:first-child {
  color:var(--mint);
  font-size:12px}

@media(max-width:360px) {
  .masthead {
  gap:10px;
  flex-wrap:wrap;
  height:auto;
  min-height:70px;
  padding:12px 20px}
.brand {
  font-size:10px;
  letter-spacing:1px}
.brand-mark {
  font-size:30px}
.metrics dd {
  overflow-wrap:anywhere}
.assignment-actions {
  flex-wrap:wrap}
}

.contribution-badge { margin:20px 0; padding:18px; border:1px solid var(--line); border-radius:10px; overflow-wrap:anywhere; }
.contribution-badge strong { color:var(--mint); }
.contribution-badge[data-standing="awarded"] { border-color:#486d5f; background:rgba(102,210,165,.06); }
.contribution-badge[data-standing="test_only"] { border-style:dashed; }
.contribution-badge[data-standing="withdrawn"],.contribution-badge[data-standing="reassessment_required"] { border-color:#836852; }

/* The atlas is a small semantic graph. Shape, labels and the inspector carry
   the same state; decorative contours never encode undisclosed activity. */
.atlas { overflow:hidden; }
.atlas-note { margin:0; padding:0 26px 16px; color:var(--muted); font-size:12px; line-height:1.65; }
.atlas-map { position:relative; isolation:isolate; display:grid; grid-template-columns:1fr 1fr; grid-template-areas:"known open" "raid open"; gap:30px 24px; padding:28px; min-height:390px; background:radial-gradient(ellipse at 25% 30%,#32604b45,transparent 65%), repeating-linear-gradient(155deg,transparent 0 43px,#749b8a13 44px,transparent 45px 88px),#101e26; }
.atlas-map::before { content:""; position:absolute; z-index:-1; top:25%; bottom:22%; left:26%; border-left:2px dashed #9abfad66; }
.atlas-map:has(.atlas-location:only-child) { grid-template-areas:"raid raid"; min-height:230px; }
.atlas-map:has(.atlas-location:only-child)::before { display:none; }
.atlas-location { display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:10px; padding:18px; background:#172e30; border:1px solid #426358; box-shadow:0 12px 0 -5px #0b171e,0 13px 0 -4px #304951; min-width:0; border-radius:14px; }
.atlas-location[data-kind="known_result"] { grid-area:known; }
.atlas-location[data-kind="raid"] { grid-area:raid; background:#253031; border-color:#78694f; }
.atlas-location[data-kind="open_target"] { grid-area:open; align-self:center; min-height:290px; background:radial-gradient(ellipse at 50% 10%,#5c69833a,transparent 75%),#1a2530; border:1px dashed #6b7c92; }
.atlas-location[aria-pressed="true"] { outline:2px solid var(--ink); outline-offset:4px; }
.atlas-location:focus-visible { outline:3px solid var(--warm); outline-offset:6px; }
.atlas-glyph { font-size:44px; line-height:1; color:var(--mint); text-shadow:0 0 28px #a7f5be44; }
.atlas-location[data-kind="open_target"] .atlas-glyph { font-size:84px; color:#c3cde7; text-shadow:0 0 48px #9fb6da66; }
.atlas-location[data-kind="raid"] .atlas-glyph { color:var(--warm); }
.atlas-type { font-size:10px; text-transform:uppercase; letter-spacing:1.4px; color:var(--muted); }
.atlas-location strong { font-family:Georgia,serif; font-size:19px; line-height:1.3; font-weight:400; }
.atlas-visited { font-size:10px; color:var(--muted); font-weight:400; }
.atlas-legend { display:flex; flex-wrap:wrap; gap:12px 20px; padding:12px 26px 20px; font-size:11px; color:var(--muted); }
.atlas-inspector,.atlas-activity,.atlas-visibility { border-top:1px solid var(--line); padding:24px 26px; }
.atlas-inspector h2 { font-size:25px; }
.atlas-inspector p,.atlas-visibility p { font-size:13px; line-height:1.75; }
.atlas-inspector .eyebrow { font-size:10px; }
.atlas-inspector summary,.atlas-visibility summary { cursor:pointer; color:var(--mint); font-size:12px; line-height:1.7; }
.atlas-activity .check { margin:0; color:var(--ink); font-size:13px; }
#atlas-activity-items { display:grid; gap:12px; max-height:360px; overflow:auto; padding:6px; margin:0 -6px; }
.atlas-return { display:flex; flex-direction:column; gap:10px; text-align:left; padding:16px; line-height:1.65; font-weight:400; }
.atlas-return strong { font-size:13px; color:var(--mint); }
.atlas-return>span { font-size:12px; color:var(--muted); }
.atlas-return[data-phase="test_only"],.atlas-return[data-standing="test_only"] { border-style:dashed; }
.atlas-return[data-phase="reassessment_required"],.atlas-return[data-standing="reassessment_required"],.atlas-return[data-standing="withdrawn"] { border-color:#836852; }
#atlas-field-example { margin-top:14px; }
.field a { color:var(--mint); text-decoration:underline; text-underline-offset:3px; }
@media(max-width:620px) {
  .atlas-map { grid-template-columns:1fr; grid-template-areas:"known" "raid" "open"; gap:22px; padding:24px; }
  .atlas-map::before { left:50%; top:18%; bottom:48%; }
  .atlas-location { min-height:170px; }
  .atlas-location[data-kind="open_target"] { min-height:220px; }
  .atlas-map:has(.atlas-location:only-child) { grid-template-areas:"raid"; }
  .atlas-note,.atlas-inspector,.atlas-activity,.atlas-visibility { padding-left:20px; padding-right:20px; }
}


/* A short purpose and next action come before evidence and operator metadata. */
.section-help { color:var(--muted); font-size:14px; line-height:1.7; }
.question-detail { color:var(--muted); font-size:13px; line-height:1.7; }
.question-detail summary,.participation-details summary,.publication-details summary { cursor:pointer; color:var(--mint); }
.panel-top { align-items:baseline; gap:16px; }
.panel-top h2 { font-size:25px; margin-bottom:14px; }
#atlas-publication { color:var(--warm); font-size:11px; }
.participation-details { border-top:1px solid var(--line); margin-top:24px; padding-top:18px; font-size:12px; line-height:1.7; }
.participation h2 { font-size:28px; }
#renewal-limits { line-height:1.7; font-size:14px; }
.task-link { display:block; padding:12px; border:1px solid var(--line); border-radius:6px; text-align:center; margin-top:12px; font-size:13px; }
.publication-details { padding:22px 26px; margin-top:24px; font-size:13px; line-height:1.7; }
.publication-details>summary { font-size:15px; }
.task>details { border-top:1px solid var(--line); padding-top:14px; margin-top:16px; }
@media(max-width:620px) { .panel-top { padding:20px 20px 0; } .participation { padding:22px; } }

.next-jump { display:none; }
@media(max-width:900px) { .next-jump { display:inline-block; margin-top:18px; color:var(--mint); text-decoration:underline; text-underline-offset:4px; } }

.cloud-handoff {margin:1.4rem 0;padding:28px;font-family:Segoe UI,system-ui,sans-serif;}
.cloud-handoff p {max-width:85ch;line-height:1.55;}
.cloud-handoff h2 {margin-top:8px;}
@media(max-width:620px) { .cloud-handoff {padding:20px;} }
.cloud-handoff textarea {width:100%;box-sizing:border-box;background:#101421;color:#e5e5f0;border:1px solid #44405a;padding:1rem;resize:vertical;}
.cloud-handoff input[type=file] {max-width:100%;box-sizing:border-box;margin-bottom:1rem;}
