:root{--bg: #0d0f12;--panel: #14181d;--panel-2: #1a1f26;--line: #262d36;--text: #e6e9ee;--muted: #8b95a3;--accent: #7dd3a0;--accent-dim: #2f4f3f;--warn: #e0b355;--err: #e4736b;--radius: 10px;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.55 ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}h1,h2,h3,h4{margin:0;line-height:1.25}p{margin:.25rem 0 0}.muted{color:var(--muted)}.small{font-size:.86rem}.topbar{position:sticky;top:0;z-index:10;display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;padding:.85rem 1.25rem;background:#0d0f12eb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:.7rem}.brand h1{font-size:1.05rem;letter-spacing:.02em}.brand p{margin:0;font-size:.78rem;color:var(--muted)}.logo{font-size:1.5rem;color:var(--accent);line-height:1}.packs{display:flex;flex-wrap:wrap;gap:.5rem}.packBtn{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;padding:.45rem .8rem;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);color:var(--text);font:inherit;cursor:pointer;transition:border-color .15s,background .15s}.packBtn:hover{border-color:var(--accent-dim)}.packBtn.on{border-color:var(--accent);background:var(--panel-2)}.packBtn strong{font-size:.9rem}.packBtn span{font-size:.72rem;color:var(--muted)}.packBtn.upload{border-style:dashed}.packBtn.upload input{display:none}.main{max-width:1500px;margin:0 auto;padding:1.25rem}.hero{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:space-between;align-items:flex-start;padding:1.1rem 1.25rem;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}.hero h2{font-size:1.35rem}.vocab{display:flex;gap:1.5rem;margin:0}.vocab dt{font-size:.7rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}.vocab dd{margin:.15rem 0 0;font-size:1.05rem;color:var(--accent)}.chips{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.7rem}.chip{padding:.12rem .5rem;border-radius:999px;font-size:.72rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--panel-2);border:1px solid var(--line);color:var(--muted);white-space:nowrap}.chip.v{color:var(--text)}.chip.ok{border-color:var(--accent-dim);color:var(--accent)}.chip.warn{border-color:#5a4a24;color:var(--warn)}.chip.cap{color:#9fb3c8}.chip.kind{border-color:var(--accent-dim);color:var(--accent)}.chip.state{color:var(--warn);border-color:#4a3f22}.chip.trig,.chip.req,.chip.skip,.chip.kindSm{font-size:.68rem}.notice{margin-top:.65rem;padding:.5rem .7rem;border-left:2px solid var(--warn);background:#1d1a13;color:#d9c79c;font-size:.85rem}.columns{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);gap:1rem;margin-top:1rem}@media(max-width:1000px){.columns{grid-template-columns:1fr}}.col{min-width:0;display:flex;flex-direction:column;gap:.75rem}.sectionTitle{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:.5rem}.sectionTitle .muted{text-transform:none;letter-spacing:0;font-weight:400}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:.9rem 1rem}.table{padding:0;overflow:hidden}.table>header{display:flex;gap:1rem;align-items:flex-start;justify-content:space-between;padding:.85rem 1rem;cursor:pointer}.table>header:hover{background:var(--panel-2)}.table h4{font-size:1rem}.table .id{font-family:ui-monospace,monospace;font-size:.72rem;color:var(--muted);margin-left:.4rem}.tableMeta{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.dice{font-family:ui-monospace,monospace;font-size:.78rem;color:var(--muted)}.roll{padding:.3rem .85rem;border-radius:6px;border:1px solid var(--accent-dim);background:transparent;color:var(--accent);font:inherit;font-size:.85rem;cursor:pointer}.roll:hover{background:var(--accent-dim);color:#eafff2}.rollResult{display:flex;align-items:baseline;gap:.75rem;padding:.6rem 1rem;background:#101a15;border-top:1px solid var(--accent-dim);border-bottom:1px solid var(--accent-dim)}.rollResult .headline{font-family:ui-monospace,monospace;font-size:1.15rem;color:var(--accent)}.rollResult .working{font-size:.82rem;color:var(--muted)}.entries{list-style:none;margin:0;padding:0}.entries li{display:flex;gap:.9rem;padding:.55rem 1rem;border-top:1px solid var(--line)}.entries li.hit{background:#14211a;box-shadow:inset 2px 0 0 var(--accent)}.entries .key{flex:0 0 5.5rem;font-family:ui-monospace,monospace;font-size:.8rem;color:var(--muted);padding-top:.1rem}.entries li.hit .key{color:var(--accent)}.entries p{margin:0;font-size:.9rem}.entryTags{display:flex;gap:.3rem;flex-wrap:wrap;margin-top:.3rem}.flow{margin:0;padding-left:1.1rem}.flow>li{margin-bottom:.5rem}.flow ul{list-style:none;margin:.25rem 0 0;padding:0}.step{font-size:.85rem;color:var(--muted);display:flex;gap:.4rem;align-items:baseline;flex-wrap:wrap}.row{display:flex;gap:.6rem;align-items:baseline;flex-wrap:wrap;padding:.3rem 0;border-top:1px solid var(--line);font-size:.88rem}.row.spread{justify-content:space-between}.row .num{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums}.row.stack{flex-direction:column;align-items:stretch;gap:.1rem}.row:first-of-type{border-top:none}.warnings{margin-top:1rem;border-color:#5a4a24}.warnings ul{margin:.4rem 0 0;padding-left:1.1rem;font-size:.86rem;color:#d9c79c}.diagnostics{max-width:850px;margin:2.5rem auto;padding:1.5rem;background:var(--panel);border:1px solid #4a2b28;border-radius:var(--radius)}.diagnostics ul{list-style:none;margin:1rem 0 0;padding:0}.diagnostics li{padding:.6rem 0;border-top:1px solid var(--line)}.diagnostics li.error .code{color:var(--err)}.diagnostics li.warning .code{color:var(--warn)}.code,.path{font-family:ui-monospace,monospace;font-size:.78rem;margin-right:.6rem}.path{color:var(--muted)}.seedbar{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;max-width:1500px;margin:0 auto;padding:.6rem 1.25rem 0}.seedbar label{display:flex;align-items:center;gap:.5rem}.seedbar label span{font-size:.7rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}.seedbar input{min-width:18rem;padding:.35rem .6rem;background:var(--panel);border:1px solid var(--line);border-radius:6px;color:var(--text);font:inherit;font-size:.85rem;font-family:ui-monospace,monospace}.seedbar input:focus{outline:none;border-color:var(--accent)}.ghost{padding:.25rem .7rem;border-radius:6px;border:1px solid var(--line);background:transparent;color:var(--muted);font:inherit;font-size:.8rem;cursor:pointer}.ghost:hover{border-color:var(--accent-dim);color:var(--accent)}.tray{display:flex;align-items:flex-end;gap:.75rem;flex-wrap:wrap;padding:.9rem 1rem .7rem;background:#0b0e11;border-top:1px solid var(--line)}.die{margin:0;width:58px;text-align:center;transform-origin:50% 55%}.die svg{display:block;width:58px;height:58px;overflow:visible}.die figcaption{margin-top:.2rem;font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.die .body{fill:#1c232b;stroke:#3b4855;stroke-width:3;stroke-linejoin:round}.die .facet{fill:none;stroke:#2b3540;stroke-width:2;stroke-linejoin:round}.die .value{fill:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:600}.die .pip{fill:var(--text)}.die.challenge .body{fill:#2a1a1c;stroke:#6b3a3c}.die.challenge .value{fill:#f0b0aa}.die.settled .body{stroke:var(--accent-dim)}.die.settled.challenge .body{stroke:#7d4446}.die.tumbling{animation:tumble .42s linear infinite}.die.settled{animation:land .34s cubic-bezier(.18,1.5,.4,1) both}@keyframes tumble{0%{transform:rotate(0) translateY(0) scale(1)}25%{transform:rotate(90deg) translateY(-7px) scale(1.05)}50%{transform:rotate(180deg) translateY(0) scale(.97)}75%{transform:rotate(270deg) translateY(-4px) scale(1.03)}to{transform:rotate(360deg) translateY(0) scale(1)}}@keyframes land{0%{transform:scale(1.22) rotate(-9deg)}to{transform:scale(1) rotate(0)}}@media(prefers-reduced-motion:reduce){.die.tumbling,.die.settled{animation:none}}.viewSwitch{display:flex;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.viewSwitch button{padding:.45rem 1rem;background:var(--panel);border:none;color:var(--muted);font:inherit;font-size:.85rem;cursor:pointer}.viewSwitch button.on{background:var(--accent-dim);color:#eafff2}.runHero h2{font-size:1.5rem}.headerActions{display:flex;align-items:center;gap:.6rem}.toggle{display:flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--muted);cursor:pointer}.setup{max-width:720px;margin:1rem auto}.setup h2{font-size:1.6rem}.panel .stepLabel{font-size:1.25rem;margin:.15rem 0 .5rem}.runStep.finalize{border-color:var(--accent-dim)}.primary{padding:.45rem 1.1rem;border-radius:7px;border:1px solid var(--accent);background:var(--accent-dim);color:#eafff2;font:inherit;cursor:pointer}.primary:hover:not(:disabled){background:#3d6a53}.primary:disabled{opacity:.4;cursor:not-allowed}.primary.big{padding:.6rem 1.5rem;font-size:1.02rem;margin-top:.7rem}.ghost.small,.ghost.tiny{font-size:.75rem}.ghost.tiny{padding:.12rem .45rem}.choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:.6rem;margin:.5rem 0 .9rem;align-items:stretch}.choice{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;height:100%;padding:.6rem .85rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-2);color:var(--text);font:inherit;text-align:left;cursor:pointer}.choice span{line-height:1.4}.options{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0 .8rem}.options .choice{height:auto;flex-direction:row;align-items:baseline;gap:.4rem}.choice:hover{border-color:var(--accent-dim)}.choice.on{border-color:var(--accent)}.padRow{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-top:.6rem}.padRow.spread{justify-content:space-between}.textInput,.rollInput{padding:.45rem .7rem;background:var(--panel-2);border:1px solid var(--line);border-radius:7px;color:var(--text);font:inherit}.textInput{flex:1 1 16rem}.rollInput{width:7rem;font-family:ui-monospace,monospace;font-size:1.5rem;text-align:center}.rollInput:focus,.textInput:focus{outline:none;border-color:var(--accent)}.askLabel{font-size:1.05rem;margin:.3rem 0}.warnText{color:var(--warn);font-size:.85rem}.pad{display:grid;grid-template-columns:repeat(5,3rem);gap:.4rem;margin-top:.8rem}.key{height:2.6rem;border:1px solid var(--line);border-radius:7px;background:var(--panel-2);color:var(--text);font:inherit;font-family:ui-monospace,monospace;font-size:1.05rem;cursor:pointer}.key:hover{border-color:var(--accent)}.key.wide{grid-column:span 2}.request{border-color:var(--accent)}.checklist{list-style:none;margin:.5rem 0 0;padding:0}.checklist li{padding:.2rem 0}.checklist label{display:flex;gap:.5rem;align-items:baseline;cursor:pointer}.owed{border-color:var(--warn)}.owedRow{justify-content:space-between;align-items:center;gap:1rem}.subjectRow{align-items:flex-start;gap:.5rem;justify-content:space-between}.subjectRow.gone{opacity:.45;text-decoration:line-through}.subjectMain{flex:1;min-width:0}.idx{font-family:ui-monospace,monospace;font-size:.75rem;color:var(--muted);flex:0 0 2rem}.tracker{padding:.35rem 0;border-top:1px solid var(--line)}.tracker:first-of-type{border-top:none}.trackerHead{display:flex;justify-content:space-between;font-size:.88rem}.boxes{display:flex;gap:3px;margin-top:.3rem;flex-wrap:wrap}.box{width:13px;height:13px;border:1px solid var(--line);border-radius:3px}.box.on{background:var(--accent);border-color:var(--accent)}.bar{height:7px;margin-top:.35rem;background:var(--panel-2);border-radius:4px;overflow:hidden}.bar span{display:block;height:100%;background:var(--accent)}.flow li.done strong{color:var(--muted)}.flow li.current strong{color:var(--accent)}.timeline{list-style:none;margin:0;padding:0}.timeline li{display:flex;gap:.7rem;padding:.5rem 0;border-top:1px solid var(--line)}.timeline li:first-child{border-top:none}.timeline p{margin:.1rem 0 .2rem;font-size:.9rem}.seedbar[hidden]{display:none}.runStep>*{display:block}.runStep .checklist{margin:.6rem 0}.runStep .primary.big{display:inline-block}.timeline li{padding:.35rem 0;gap:.6rem}.timeline .idx{flex:0 0 1.6rem;text-align:right;opacity:.7}.timeline p{margin:0}.tracker{padding:.4rem 0}.trackerHead{align-items:baseline}.main{max-width:1280px}.noteList{margin:0;padding-left:1.1rem}.noteList li+li{margin-top:.25rem}.setup{max-width:860px}.packBtn.imported{display:flex;flex-direction:row;align-items:stretch;padding:0;overflow:hidden}.packBtnMain{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;padding:.45rem .6rem .45rem .8rem;background:transparent;border:none;color:var(--text);font:inherit;cursor:pointer;text-align:left}.packBtnMain strong{font-size:.9rem}.packBtnMain span{font-size:.72rem;color:var(--muted)}.forget{padding:0 .55rem;background:transparent;border:none;border-left:1px solid var(--line);color:var(--muted);font-size:1rem;line-height:1;cursor:pointer}.forget:hover{color:var(--err);background:#241a1a}.threshold{border-color:var(--err);background:#17100f}.threshold .sectionTitle{color:var(--err)}.primaryAction{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;margin:1rem 0 .2rem}.primaryAction .primary.big{margin-top:0}.orEnd{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--line)}.orEnd .sectionTitle{margin-top:0}.panel>.sectionTitle:not(:first-child){margin-top:1.2rem}.seedRow{gap:.5rem;align-items:stretch;margin-top:.5rem}.seedRow .textInput{flex:1;min-width:0}.chip.pick{cursor:pointer;padding:.35rem .85rem;font-size:.85rem;color:var(--text)}.chip.pick:hover{border-color:var(--accent-dim)}.chip.pick.on{border-color:var(--accent);color:var(--accent)}.roleList{display:flex;flex-direction:column;gap:.4rem;margin-top:.6rem}.roleRow{padding:.45rem .6rem;border:1px solid var(--line);border-radius:8px;background:var(--panel-2);gap:.6rem;flex-wrap:nowrap;align-items:start}.roleRow>div{flex:1;min-width:0}.roleRow .chip{flex:none}.exportRow{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;margin-top:.6rem}.exportRow .ghost{flex:none}.exportToggle{margin-top:.9rem}.hiddenInput{display:none}.logPreview{margin-top:.8rem;padding:.8rem;max-height:22rem;overflow:auto;background:var(--panel-2);border:1px solid var(--line);border-radius:8px;font-size:.78rem;line-height:1.5;white-space:pre-wrap;word-break:break-word;color:var(--muted)}.disclose{background:none;border:none;padding:0;margin:0;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer}.disclose:hover{color:var(--accent)}.agreeing{margin-top:.7rem;color:var(--accent);font-size:.85rem}.panel h4.stepLabel{margin-top:1.1rem}.renameTrigger{background:none;border:none;padding:0;margin:0;font:inherit;font-weight:700;color:var(--text);text-align:left;cursor:text;border-bottom:1px dashed transparent}.renameTrigger:hover{border-bottom-color:var(--accent-dim)}.renameInput{width:100%;padding:.15rem .35rem;font:inherit;font-weight:700;color:var(--text);background:var(--bg);border:1px solid var(--accent-dim);border-radius:5px}.renameInput:focus{outline:none;border-color:var(--accent)}.fieldGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.7rem .9rem;margin-top:.7rem}.fieldGrid.tight{grid-template-columns:repeat(auto-fit,minmax(7rem,1fr));gap:.4rem .6rem}.field{display:flex;flex-direction:column;gap:.25rem;min-width:0}.field .textInput{flex:none;width:100%}.fieldLabel{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.fieldHelp{font-size:.74rem;line-height:1.4;color:var(--muted)}.fieldHelp.inline{display:block}.fieldNote{font-size:.74rem;line-height:1.4}.fieldNote.error{color:var(--err)}.fieldNote.warning{color:var(--warn)}.field.error .textInput{border-color:var(--err)}.field.warn .textInput{border-color:var(--warn)}.textInput.area{resize:vertical;font-family:inherit;line-height:1.5}.textInput.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem}.textInput.short{max-width:7rem}select.textInput{appearance:none;cursor:pointer}.subEditor{margin-top:.9rem;padding:.7rem .8rem;border:1px solid var(--line);border-radius:8px;background:var(--panel-2)}.subEditor.error{border-color:#5a2f2c}.subEditorHead{gap:.6rem}.entryEditor{margin-top:.6rem;padding-top:.6rem;border-top:1px dashed var(--line)}.rowActions{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.7rem;align-items:center}.designToggle{margin-top:.8rem;align-items:start}.coverage{display:flex;height:.7rem;margin:.8rem 0 .2rem;border-radius:4px;overflow:hidden;border:1px solid var(--line)}.coverageSeg.ok{background:var(--accent-dim)}.coverageSeg.gap{background:repeating-linear-gradient(45deg,#3a2422,#3a2422 3px,#14181d 3px 6px)}.coverageSeg.over{background:var(--warn)}.problemList{list-style:none;margin:.6rem 0 0;padding:0;display:flex;flex-direction:column;gap:.55rem}.problemList li{display:flex;flex-direction:column;gap:.15rem;padding-left:.55rem;border-left:2px solid var(--line);font-size:.82rem}.problemList li.error{border-left-color:var(--err)}.problemList li.warning{border-left-color:var(--warn)}.problemList code{font-size:.74rem;color:var(--muted)}.signature{margin:0 auto;padding:.55rem 1.1rem;max-width:1100px;border-bottom:1px solid var(--line);font-size:.82rem}.signature.bad{display:flex;flex-direction:column;gap:.2rem;background:#1d1413;border-bottom-color:#5a2f2c;color:var(--err)}.signatureDetail{margin-top:.5rem;display:flex;flex-direction:column;gap:.4rem;max-width:46rem}.signatureDetail p{margin:0}.fingerprint{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.95rem;letter-spacing:.04em;color:var(--accent)}.incoming{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.8rem;margin:0 auto;padding:.7rem 1.1rem;max-width:1100px;border-bottom:1px solid var(--accent-dim);background:#121915}.incoming.bad{border-bottom-color:#5a2f2c;background:#1d1413}.incomingWhat{min-width:0}.incomingActions{display:flex;gap:.5rem;flex:none}.shareNotice{display:flex;flex-direction:column;gap:.5rem}.shareNotice .textInput{font-size:.72rem}.shareNotice .textInput{flex:none;width:100%}.door{min-height:100%;display:grid;place-items:center;padding:2rem 1.25rem}.doorPanel{width:min(28rem,100%);display:flex;flex-direction:column;gap:1rem;padding:1.5rem;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}.doorPanel p{margin:0;line-height:1.5}.doorProblem{color:var(--err);font-size:.85rem}.doorEnter{align-self:flex-start;padding:.55rem 1.2rem;border-radius:6px;border:1px solid var(--accent-dim);background:var(--accent-dim);color:var(--text);font:inherit;cursor:pointer}.doorEnter:hover{border-color:var(--accent)}.account{display:flex;align-items:center;gap:.6rem;font-size:.85rem;color:var(--muted)}
