:root{color-scheme:dark;--bg:#101512;--panel:#19221d;--line:#3d4c40;--muted:#b0bdad;--ink:#e8efe2;--green:#cbf58a;--amber:#efba70;--paper:#ded6b9;--mono:'Courier New',monospace;font-family:Arial,Helvetica,sans-serif;font-size:16px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);line-height:1.5}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit;background:#26312a;border:1px solid #5b695b;padding:.65rem 1rem;border-radius:3px;min-height:44px;font-weight:600}button:hover{background:#354331;border-color:var(--green)}button:disabled{cursor:default;opacity:.48}button.primary{background:var(--green);color:#142012;border-color:var(--green);box-shadow:0 3px 0 #71884c}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--amber);outline-offset:4px}input,select,textarea{background:#0e1811;border:1px solid #687c66;color:var(--ink);padding:.65rem;border-radius:3px}input[type=checkbox]{width:20px;height:20px;accent-color:var(--green)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2rem,3.2vw,3.6rem);line-height:1.08;letter-spacing:-.04em;margin-bottom:1rem}h2{font-size:1.6rem;line-height:1.2}h3{font-size:1.1rem}.mono,.eyebrow{font-family:var(--mono)}.eyebrow{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 2rem;border-bottom:1px solid var(--line);background:#1d251f}.brand{font-family:var(--mono);font-size:1.2rem;letter-spacing:.08em;font-weight:bold}.brand b{display:inline-block;background:var(--green);color:#111a10;padding:.1rem .4rem;margin-right:.7rem}.top-actions{display:flex;gap:.5rem}.statusbar{padding:.6rem 2rem;display:flex;justify-content:space-between;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:.8rem;color:var(--muted)}.layout{display:grid;grid-template-columns:240px minmax(0,1fr) 260px;max-width:1600px;margin:auto;min-height:calc(100vh - 140px)}.rail{padding:1.8rem 1.1rem;border-right:1px solid var(--line)}.rail h2{font-size:.85rem;letter-spacing:.12em;color:var(--muted);font-family:var(--mono)}.route{display:block;text-align:left;width:100%;padding:.9rem .7rem;border:0;background:transparent;margin-bottom:.4rem;font-size:.9rem}.route .num{font-family:var(--mono);margin-right:.5rem;color:var(--muted)}.route.active{background:#2b3828;color:var(--green);box-shadow:inset 3px 0 var(--green)}.route small{display:block;padding-left:2rem;color:var(--muted);font-size:.75rem;font-weight:normal}.rail-note{margin-top:2rem;padding:1rem;border:1px solid var(--line);font-size:.85rem;color:var(--muted)}main{padding:2rem clamp(1.2rem,3vw,3rem);min-width:0}.missionline{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.4rem}.tag{font-family:var(--mono);font-size:.75rem;border:1px solid var(--line);padding:.25rem .55rem;color:var(--amber)}.screen{background:#121e17;border:1px solid #50604d;border-radius:10px;box-shadow:0 0 0 7px #222c24,0 0 0 8px #394239;padding:clamp(1rem,2.5vw,2rem);min-height:480px;position:relative}.screen:before{content:'';position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:repeating-linear-gradient(transparent 0px,transparent 3px,#00000008 4px);z-index:0}.screen>*{position:relative}.screen .eyebrow{color:var(--green)}.intro-message{font-family:var(--mono);border-left:2px solid var(--green);padding:.1rem 0 .1rem 1.2rem;margin:2rem 0;color:var(--green)}.intro-message p{margin:.4rem 0}.intro-meta{display:flex;gap:1.7rem;flex-wrap:wrap;color:var(--muted);font-size:.9rem;margin:1.5rem 0}.setup{display:flex;gap:1rem;align-items:end;flex-wrap:wrap;margin:1.5rem 0}.setup label{display:flex;flex-direction:column;gap:.4rem;font-size:.85rem}.setup input{max-width:210px}.aside{border-left:1px solid var(--line);padding:1.8rem 1.2rem}.aside h2{font-size:.85rem;letter-spacing:.08em;font-family:var(--mono)}.timer{font-family:var(--mono);font-size:2.5rem;color:var(--amber);letter-spacing:.06em}.timer-label{font-size:.8rem;color:var(--muted)}progress{width:100%;height:8px;accent-color:var(--green)}.fragment{border:1px dashed #66735b;min-height:43px;margin:.6rem 0;padding:.6rem .7rem;display:flex;justify-content:space-between;font-family:var(--mono);font-size:.85rem}.fragment.recovered{background:var(--paper);color:#283022;border:1px solid #f0e8cb;transform:rotate(-1deg);box-shadow:2px 3px 0 #0005}.aside section{margin-bottom:1.8rem}.muted{color:var(--muted)}.small{font-size:.85rem}.footer{display:flex;justify-content:space-between;gap:1rem;padding:1rem 2rem;border-top:1px solid var(--line);font-size:.75rem;color:var(--muted);font-family:var(--mono)}.toolbar{display:flex;gap:.5rem;flex-wrap:wrap;margin:1.5rem 0 0}.toolbar button{font-size:.85rem}.instructions{color:#c4d0c0;max-width:65ch}.feedback{margin-top:1.2rem;padding:.9rem 1rem;border-left:3px solid var(--amber);background:#273023;min-height:52px}.feedback:empty{display:none}.feedback.success{border-color:var(--green)}.success-banner{padding:1.5rem;border:1px solid var(--green);background:#23331d;margin-top:1.5rem}.success-banner h3{color:var(--green);font-family:var(--mono)}.choices{display:grid;gap:.6rem;margin:1rem 0}.choice{display:flex;align-items:start;gap:.7rem;text-align:left;padding:1rem;background:#1d2b21;border:1px solid #50614e;border-radius:3px;cursor:pointer}.choice:hover{border-color:var(--green)}.choice input{margin-top:.25rem;accent-color:var(--green);flex:none}.choice:has(input:checked){border-color:var(--green);background:#31432b}.choice:has(input:disabled){opacity:.55}.source-card{background:var(--paper);color:#253025;padding:1.4rem;border-radius:2px;margin:1rem 0;border-top:6px solid #a59c7c}.source-card .muted{color:#475044}.source-card mark{background:#fff1a3;color:#253025}.scaffold{border:1px dashed #9cb783;padding:1rem;margin:1rem 0;background:#263321;color:#e0edcf}.hint{padding:1rem;background:#302c1e;border-left:3px solid var(--amber);margin-top:1rem}.checkrow{display:flex;align-items:center;gap:.75rem;margin:1rem 0}dialog{background:#1d2920;color:var(--ink);border:1px solid #687a5c;max-width:760px;width:calc(100% - 2rem);max-height:90vh;padding:2rem;border-radius:7px}dialog::backdrop{background:#050b08c9}.close{float:right;font-size:1.3rem;margin:-1rem -1rem .5rem .5rem}.skip{position:absolute;top:-80px;left:10px;background:var(--green);color:#111;padding:1rem;z-index:20}.skip:focus{top:10px}.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}.cross-layout{display:grid;grid-template-columns:minmax(210px,1fr) minmax(200px,1fr);gap:1.5rem}.cross-grid{display:grid;grid-template-columns:repeat(10,1fr);align-self:start;gap:3px}.cell{aspect-ratio:1;position:relative;background:#25362b;border:1px solid #4d604a;min-width:0}.cell.blank{background:transparent;border:0}.cell input{width:100%;height:100%;padding:3px;text-align:center;border:0;border-radius:0;font:bold clamp(.9rem,1.5vw,1.25rem) var(--mono);background:transparent;text-transform:uppercase}.cell small{position:absolute;left:2px;top:0;font-size:9px;pointer-events:none}.cell.extract{background:#5b5334;border-color:var(--amber)}.clue{margin-bottom:1rem;font-size:.9rem}.clue button{display:block;width:100%;text-align:left;font-size:.85rem;margin-top:.35rem;padding:.4rem .7rem}.code-strip{padding:1rem;background:#08130c;border:1px solid #6d7959;font-family:var(--mono);font-size:1.35rem;letter-spacing:.12em;color:var(--green);overflow-wrap:anywhere;margin:1.2rem 0}.wheel{border:8px double #8a9776;border-radius:50%;width:170px;height:170px;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:none;background:#283326;font-family:var(--mono);margin:auto}.wheel strong{font-size:2rem;color:var(--amber)}.decoder{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap}.decoder-controls{flex:1;min-width:190px}.decoder-controls input{width:100%;margin:.5rem 0 1rem}.keyline{font-family:var(--mono);font-size:.85rem;word-break:break-all;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.card{border:1px solid var(--line);padding:1rem;background:#243026;min-width:0}.card[draggable=true]{cursor:grab}.card.selected{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}.card p{margin:0 0 .7rem}.card select{width:100%;font-size:.85rem}.dropzones{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:1rem}.dropzone{border:1px dashed #7c8c6c;padding:1rem .5rem;text-align:center;min-height:65px;font-family:var(--mono);font-size:.85rem}.vault-slot{border:2px dashed var(--amber);padding:1rem;margin:1rem 0;text-align:center;color:var(--amber)}.arcade{background:#080f0b;padding:1rem;border:1px solid #5b7054;margin:1rem 0}.cross-lane{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;padding:1rem .5rem;border-top:1px dashed #637350}.platform{font-size:.85rem;min-height:90px;background:#2a3c28;animation:drift 3s ease-in-out infinite alternate}.cross-lane:nth-child(even) .platform{animation-direction:alternate-reverse}.platform.correct{background:#405631;border:2px solid var(--green)}.cross-lane.inactive{opacity:.55}.cross-lane.inactive .platform{animation-play-state:paused}.runner{font-family:var(--mono);color:var(--amber);letter-spacing:.2em;padding:.5rem;text-align:center}.maze{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;max-width:460px;margin:1rem auto}.tile{aspect-ratio:1;border:1px solid #3f5439;display:flex;justify-content:center;align-items:center;font-family:var(--mono);font-weight:bold;min-width:0;padding:0;border-radius:0;background:#16261a;font-size:1rem}.tile.wall{background:#41503e;border-color:#607453}.tile.player{background:var(--green);color:#152013}.tile.ghost{color:var(--amber)}.maze-controls{display:flex;gap:.4rem;justify-content:center;flex-wrap:wrap}.maze-controls button{padding:.5rem .8rem}.packet-list{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;margin-top:1rem}.packet-list div{border-left:2px solid var(--line);padding:.5rem;font-size:.85rem}.final-fragments{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0}.final-fragments span{background:var(--paper);color:#23301f;font:bold .9rem var(--mono);padding:.5rem .7rem}.final-columns{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.certificate{border:1px solid var(--green);padding:2rem;text-align:center;background:#20301d}.certificate h2{font-family:var(--mono);font-size:clamp(1.5rem,3vw,2.8rem);color:var(--green)}pre{white-space:pre-wrap;word-break:break-word;max-height:350px;overflow:auto;background:#0f1812;padding:1rem;font-size:.8rem}.reduced *{animation:none!important;scroll-behavior:auto!important}@keyframes drift{from{transform:translateX(-3px)}to{transform:translateX(3px)}}@media(prefers-reduced-motion:reduce){*{animation:none!important}}@media(max-width:1150px){.layout{grid-template-columns:190px minmax(0,1fr)}.aside{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 2fr;gap:2rem}.fragments{display:flex;flex-wrap:wrap;gap:.5rem}.fragment{flex:1;min-width:120px}.aside section{margin-bottom:0}.cross-layout{grid-template-columns:1fr}.cross-grid{max-width:400px}}@media(max-width:700px){.topbar{padding:1rem;align-items:start}.top-actions button{font-size:.75rem;padding:.5rem}.brand{font-size:.9rem}.brand b{margin-right:.3rem}.statusbar{padding:.5rem 1rem;font-size:.7rem}.statusbar span:last-child{display:none}.layout{display:block}.rail{padding:.75rem;border-right:0;border-bottom:1px solid var(--line)}.rail h2,.rail-note{display:none}.routes{display:flex;overflow-x:auto;gap:.2rem}.route{min-width:120px;margin:0;font-size:.75rem;padding:.5rem}.route small{display:none}main{padding:1.3rem 1rem 2rem}.screen{padding:1rem}.aside{display:block;padding:1rem}.aside section{margin-bottom:1.3rem}.cross-lane{grid-template-columns:1fr;gap:.5rem;padding:.6rem 0}.platform{min-height:55px}.cards,.final-columns,.packet-list{grid-template-columns:1fr}.footer{padding:1rem;flex-wrap:wrap}.missionline{gap:.5rem}.tag{font-size:.65rem}.dropzone{font-size:.7rem}.timer{font-size:2rem}}

/* Keep small working labels legible and the terminal steady during review. */
.identity-field{padding:1rem 0;border:0;border-top:1px solid var(--line);margin:1.2rem 0}.identity-field legend{padding-right:.75rem;font-weight:bold}.avatar-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}.avatar-choice{display:flex;flex-direction:column;align-items:center;position:relative;border:2px solid var(--line);padding:.5rem;background:#152019;border-radius:4px;cursor:pointer;gap:.3rem;font-size:.875rem}.avatar-choice:has(input:checked){border-color:var(--green);background:#33442b}.avatar-choice:has(input:checked)::after{content:'✓';position:absolute;right:5px;top:1px;color:var(--green);font-weight:bold}.avatar-choice:has(input:focus-visible){outline:3px solid var(--amber);outline-offset:3px}.avatar-choice input{position:absolute;opacity:0;width:100%;height:100%;inset:0;margin:0;cursor:pointer}.avatar-art{display:inline-block;width:100%;max-width:110px;aspect-ratio:1;background-image:url('assets/agent-avatars.png');background-size:400% 200%;background-position:var(--avatar-x) var(--avatar-y);image-rendering:pixelated;flex:none;border-radius:3px}.avatar-small{width:58px;height:58px}.identity-selects{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.identity-selects label{font-size:.875rem;display:flex;flex-direction:column;gap:.4rem}.identity-selects select{min-width:0;width:100%}.identity-preview,.agent-badge{display:flex;align-items:center;gap:1rem;background:#263321;border:1px solid #596b4c;padding:.8rem;margin:1rem 0}.identity-preview{min-height:76px;color:var(--green);font-weight:bold}.agent-badge{font-size:.9rem;overflow-wrap:anywhere}.agent-badge .eyebrow{font-size:.7rem}.certificate-agent .agent-badge{justify-content:center;text-align:left}details{margin-top:1rem}summary{cursor:pointer;padding:.7rem;border:1px solid var(--line)}@media(max-width:450px){.avatar-grid{gap:.4rem}.avatar-choice{padding:.25rem;font-size:.75rem}.identity-selects{grid-template-columns:1fr}.identity-preview{gap:.6rem}.identity-preview .mono{font-size:.9rem}}
.small,.clue button,.platform,.toolbar button,.card select{font-size:.875rem}.screen button:disabled{opacity:.68}.screen mark{background:#f4da8c;color:#253025}.maze:focus-visible{outline:3px solid var(--amber);outline-offset:4px}.source-card button{background:#26312a;color:var(--ink)}

.team-member,.agent-reflection{border:1px solid var(--line,#586c56);padding:1rem;margin:1rem 0;border-radius:8px}.agent-reflection label{display:block;margin:1rem 0 .5rem}.agent-reflection textarea{display:block;width:100%;margin-bottom:1rem}.team-member .agent-badge{margin-top:0}
