html,body{margin:0;height:100%;background:var(--bg);color:var(--ink);font-family:var(--sans)}body{display:flex;flex-direction:column}header{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:10px 20px;border-bottom:1px solid var(--line);background:var(--panel)}.brand{flex:1 1 300px;min-width:0;display:flex;flex-direction:column;gap:2px;color:var(--ink);text-decoration:none}.brand .eyebrow{color:var(--gilt-soft);font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:600}.brand h1{font-family:var(--serif);font-size:20px;font-weight:600;margin:0;line-height:1.2;display:flex;flex-wrap:wrap;align-items:baseline;gap:0 9px}.brand .slash{color:var(--txtmuted);font-weight:400}.brand .here{color:var(--gilt)}.brand .beta{margin-left:-4px}.pages{display:flex;gap:3px;padding:3px;border:1px solid var(--line);border-radius:8px;background:var(--card-inset)}.pages a{display:flex;align-items:center;gap:6px;padding:6px 13px;border-radius:6px;font-size:14px;color:var(--txtmuted);text-decoration:none}.pages a:hover{color:var(--ink)}.pages a[aria-current]{background:var(--gilt);color:var(--primary-foreground);font-weight:600}.ic{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}.iconbtn{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid var(--line);background:transparent;color:var(--gilt-soft);cursor:pointer;padding:0}.iconbtn:hover{border-color:var(--border-gilt);color:var(--gilt)}.iconbtn .ic{width:19px;height:19px;stroke-width:1.7}main{flex:1;display:flex;min-height:0}#side{width:320px;flex:0 0 auto;border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0}#filters{padding:10px;display:flex;flex-direction:column;gap:8px;border-bottom:1px solid var(--line)}.qsearch{width:100%;box-sizing:border-box;display:flex;align-items:center;gap:8px;padding:7px 10px 7px 32px;border-radius:6px;border:1px solid var(--line);background:var(--card-inset) no-repeat 10px center;color:var(--txtmuted);font:inherit;font-size:13.5px;cursor:pointer;text-align:left;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='%23b39a5e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E")}.qsearch span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qsearch kbd{font:inherit;font-size:11px;border:1px solid var(--line);border-radius:4px;padding:0 5px}.qsearch:hover{border-color:var(--active-bd);color:var(--ink)}#kinds{display:flex;flex-wrap:wrap;gap:6px}#list:empty{display:none}html.i18n-wait header,html.i18n-wait #side{visibility:hidden}.chip{font-size:12px;padding:2px 9px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--txtmuted);cursor:pointer}.chip.on{background:var(--active-bg);border-color:var(--active-bd);color:var(--ink)}#cov{font-size:12px;color:var(--txtmuted)}#cov summary{cursor:pointer}#cov table{border-collapse:collapse;width:100%;margin-top:6px;font-variant-numeric:tabular-nums}#cov td{padding:2px 4px;border-bottom:1px solid var(--line)}#cov td.n{text-align:right;white-space:nowrap}#cov .bar{display:inline-block;width:48px;height:6px;border-radius:3px;background:var(--line);vertical-align:middle;margin-left:6px;overflow:hidden}#cov .bar i{display:block;height:100%;background:var(--gilt)}#cov p{margin:6px 0 0;line-height:1.4}#list{overflow:auto;flex:1}.qrow{padding:8px 12px;border-bottom:1px solid var(--line);cursor:pointer}.qrow:hover{background:var(--card-inset)}.qrow.on{background:var(--active-bg)}.qrow b{display:block;font-weight:600}.qrow span{font-size:12px;color:var(--txtmuted)}#detail{flex:1;overflow:auto;padding:0 28px 32px}.qempty{padding:48px 8px;font-size:15px}.qempty p{margin:0 0 6px}.qhead{position:sticky;top:0;z-index:3;background:var(--bg);margin:0 -28px 16px;padding:18px 28px 12px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:8px;max-width:none}.qbar{display:none}.eyebrow{color:var(--gilt-soft);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:600}.qmeta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12.5px}.qtitle{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px 16px}.qtitle h2{font-family:var(--serif);font-size:28px;font-weight:600;line-height:1.2;margin:0}.qacts{display:flex;flex-wrap:wrap;gap:8px}.btn{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 14px;border-radius:8px;border:1px solid var(--line);background:transparent;color:var(--ink);font:inherit;font-size:14px;text-decoration:none;cursor:pointer}.btn:hover{border-color:var(--border-gilt)}.btn.primary{background:var(--gilt);border-color:var(--gilt);color:var(--primary-foreground);font-weight:600}.btn.done{border-color:var(--ok-bd);color:var(--ok-fg)}.qhead .tabs{margin:2px 0 0}.linkbtn{background:none;border:0;padding:0;font:inherit;font-size:13px;color:var(--steel);cursor:pointer;display:inline-flex;align-items:center;gap:4px}.linkbtn:hover{text-decoration:underline}.qgrid{display:flex;flex-wrap:wrap;align-items:flex-start;gap:0 16px}.qcol{flex:3 1 420px;min-width:0}.qcol.side{flex:2 1 280px}.quote{background:var(--panel)}.quote figcaption{font-size:12px;font-weight:600;letter-spacing:.08em;color:var(--gilt-soft);margin-bottom:6px}.quote blockquote{margin:0;font-family:var(--serif);font-size:16px;line-height:1.7;white-space:pre-line}.orows{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0 0 10px;font-size:14px;line-height:1.5}.orows dt{color:var(--txtmuted)}.orows dd{margin:0}.req{display:inline-block;padding:1px 8px;border-radius:6px;background:var(--active-bg);border:1px solid var(--active-bd)}.oline{display:flex;gap:10px;font-size:14px;line-height:1.55;margin:2px 0}.oline>span:last-child{min-width:0;overflow-wrap:anywhere}.oline a.qlink,.orows a.qlink{color:var(--steel)}.olab{flex:none;color:var(--txtmuted)}.qgrid .box{min-width:0;max-width:100%;box-sizing:border-box}.sbox{overflow-x:auto}.chainbtn{margin-top:10px;display:inline-flex;align-items:center;gap:6px;font-size:13px;padding:4px 11px;color:var(--steel)}.clegend{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12px;color:var(--txtmuted);margin:10px 0 6px}#chain.flow{max-height:60vh;border:1px solid var(--line);background:var(--bg)}.clegend span{display:inline-flex;align-items:center;gap:6px}.lk{display:inline-block;width:18px;height:2px;background:var(--line)}.lk.up{background:var(--gilt)}#chain .fl.up{stroke:var(--gilt);stroke-width:2}#chain .fn.up{border-color:var(--border-gilt)}#chain .fn.block:not(.up):not(.step){opacity:.82}.rlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:14px}.rlist li{display:flex;align-items:baseline;gap:8px}.rlist .tag{margin:0;flex:none}.rlist .rn{flex:1;min-width:0}.rlist b{font-variant-numeric:tabular-nums;white-space:nowrap}.rlist b.gilt{color:var(--gilt)}.rhead{font-size:12px;color:var(--txtmuted);margin:0 0 6px}.rcond{border-top:1px dashed var(--line);margin-top:10px;padding-top:8px}.rlist+.rhead,.rcond:first-child{border:0;margin-top:0;padding-top:0}.sub{color:var(--txtmuted);font-size:13px}.desc{white-space:pre-line;margin:10px 0;line-height:1.5}.tabs{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 8px}.box{background:var(--card-inset);border:1px solid var(--line);border-radius:10px;padding:12px 16px;margin:0 0 16px}.box h3{margin:0 0 8px;font-size:12.5px;letter-spacing:.06em;color:var(--txtmuted);font-weight:600}ol.steps{list-style:none;padding:0;margin:0}ol.steps>li{display:grid;grid-template-columns:34px 1fr;gap:8px;padding:9px 0;border-bottom:1px dashed var(--line)}.num{font-variant-numeric:tabular-nums;color:var(--gilt);font-weight:700;text-align:right}.place{display:inline-flex;align-items:center;gap:6px;margin:0 6px 4px 0;font-size:13px;padding:2px 8px;border-radius:6px;border:1px solid var(--line)}.place a{color:var(--steel)}.tag{display:inline-block;font-size:12px;padding:1px 7px;border-radius:6px;margin:0 6px 4px 0;border:1px solid var(--line)}.tag.ok{background:var(--ok-bg);border-color:var(--ok-bd);color:var(--ok-fg)}.line{font-size:13px;margin:2px 0}.choices{font-size:13px;color:var(--txtmuted)}.muted{color:var(--txtmuted)}button.more{margin-top:10px}ul.stree{list-style:none;margin:0;padding:0 0 0 18px;border-left:1px solid var(--line)}ul.stree.top{padding-left:0;border-left:0}li.step>.shead{display:grid;grid-template-columns:34px 1fr;gap:8px;padding:8px 0;border-bottom:1px dashed var(--line)}li.step.flash>.shead{background:var(--ok-bg);transition:background .3s}li.stub{font-size:12px;color:var(--txtmuted);padding:4px 0 4px 42px}.swhen{font-size:12.5px;color:var(--txtmuted);margin:0 0 3px}.swhen a.tgo{font-variant-numeric:tabular-nums}ul.tree{list-style:none;margin:2px 0;padding:0 0 0 14px;border-left:2px solid var(--line);font-size:13px}ul.tree.top{padding-left:0;border-left:0}ul.tree li{margin:2px 0}.topt{color:var(--ink);font-weight:600}.tcond{color:var(--steel)}.tcond.no{color:var(--txtmuted);font-style:italic}li.tlab{color:var(--gilt);font-weight:700;font-size:12px}li.tref{color:var(--txtmuted);font-size:12px}a.tgo{color:var(--steel)}.viewsw{float:right;display:flex;gap:6px}.viewsw .chip{font-size:11px;padding:1px 8px}.flow{overflow:auto;max-height:78vh;border-radius:6px;cursor:grab}.flow .fn,.flow .flab{cursor:auto}.flow.dragging,.flow.dragging *{cursor:grabbing;user-select:none}.flow-sizer{position:relative}.flow-stage{position:absolute;left:0;top:0;transform-origin:0 0}.fzoom{display:flex;gap:6px;justify-content:flex-end;margin:-2px 0 4px}.fzoom .chip{font-size:11px;padding:0 8px}.fe.st{font-size:11px;color:var(--gilt);opacity:.85}.fe .bt{font-size:11px}.fe .need{color:var(--gilt);font-size:11px}.fe.opt{white-space:normal;overflow-wrap:anywhere;padding-left:1em;text-indent:-1em}.fn.goal{border-color:var(--gilt);box-shadow:0 0 0 2px color-mix(in oklch,var(--gilt) 55%,transparent)}.fn.goalend{background:color-mix(in oklch,var(--gilt) 14%,var(--card))}.fe.fate{color:var(--gilt);font-weight:700}.fl.goal{stroke:var(--gilt);stroke-width:2.2;opacity:1}.fe.st a,li.st a{color:var(--steel)}li.st{font-size:12px;color:var(--gilt)}.fn .any{font-size:11px;color:var(--gilt);border:1px dashed var(--gilt);border-radius:4px;padding:0 5px}.flow-stage svg{position:absolute;left:0;top:0;pointer-events:none}.fn{position:absolute;max-width:260px;font-size:12px;border-radius:8px;padding:6px 9px;border:1px solid var(--line);background:var(--card);box-shadow:0 1px 3px #0000004d}.fn.step{border-color:var(--gilt);min-width:120px}.fn.fork{border-radius:999px;background:var(--card-inset);color:var(--steel);font-weight:600;white-space:nowrap;max-width:none}.fn.block{background:var(--card-inset)}.fn .fh{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:2px}.fn .fh b{color:var(--gilt);margin-right:4px}.fn .place{font-size:11px;padding:1px 6px;margin:0}.fe{margin:2px 0}.fe.ok{color:var(--ok-fg);font-weight:600}.fe.mu{color:var(--txtmuted)}.fl{fill:none;stroke:var(--txtmuted);stroke-width:1.4;opacity:.8}.fl.go{stroke:var(--steel)}.fl.dashed{stroke-dasharray:5 4;stroke:var(--gilt)}.fl.back{stroke:var(--loop);stroke-dasharray:2 3}.fa{fill:var(--txtmuted)}.fhit{fill:none;stroke:transparent;stroke-width:10;pointer-events:stroke;cursor:pointer}.flow.hl .fl{opacity:.12}.flow.hl .fl.on{opacity:1;stroke-width:2.8;filter:drop-shadow(0 0 2.5px color-mix(in oklch,var(--ink) 70%,transparent))}.flow.hl .fn{opacity:.35;transition:opacity .12s}.flow.hl .fn.on,.flow.hl .fn.nb{opacity:1}.flow.hl .fn.on{box-shadow:0 0 0 2px var(--gilt)}.flow.hl .flab{opacity:.15}.flow.hl .flab.on{opacity:1;z-index:2}.flab{position:absolute;font-size:11px;padding:0 5px;border-radius:4px;background:var(--bg);color:var(--ink);border:1px solid var(--line);max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.flab.dashed{color:var(--gilt)}.legend{font-size:11px;margin-top:6px}li.step.flash>.shead,.fn.flash{background:var(--ok-bg);transition:background .3s}.rgroup{padding:8px 12px 4px;font-size:12px;font-weight:700;color:var(--gilt);border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--card);z-index:1}i.cat{font-style:normal;font-size:10px;padding:0 5px;border-radius:4px;border:1px solid var(--line);margin-right:4px}i.cat.main{color:var(--gilt);border-color:var(--gilt)}i.cat.guild{color:var(--steel);border-color:var(--steel)}i.cat.story{color:var(--c-enemy2);border-color:var(--c-enemy2)}i.cat.plot{color:var(--gilt);border:1px dashed var(--gilt)}i.cat.faction{color:var(--danger-fg);border-color:var(--danger-bd)}i.cat.bond{color:var(--ok-fg);border-color:var(--ok-bd)}i.cat.scene{color:var(--txtmuted);border-style:dashed}i.cat.event,i.cat.daily{color:var(--txtmuted)}#chain{margin-top:8px}#chain .flow{max-height:40vh}a.qlink{color:var(--ink)}.tag.star{background:var(--gilt);color:var(--primary-foreground);border-color:var(--gilt);font-weight:600}@media(max-width:760px){main{flex-direction:column}#side{width:auto;flex:1;overflow:auto;border-right:0}#list{flex:none;overflow:visible}#kinds{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}#kinds .chip{flex:none;min-height:34px;font-size:13px}.qrow{padding:11px 16px}#cov[open] table{display:block;max-height:22vh;overflow:auto}body.q-open>header,body.q-open #side{display:none}body:not(.q-open) #detail{display:none}#detail{padding:0 16px 24px}.qhead{margin:0 -16px 12px;padding:6px 16px 10px;gap:6px;background:var(--panel)}.qbar{display:flex;align-items:center;justify-content:space-between;gap:8px}.qback{min-height:44px;font-size:15px;color:var(--gilt)}.qtitle h2{font-size:22px}.qacts{width:100%;display:grid;grid-template-columns:1fr auto}.qacts .btn{min-height:44px;justify-content:center}.qacts .qcopy span{display:none}.qacts .qcopy{width:44px;padding:0}.qacts:not(:has(.primary)){grid-template-columns:auto;justify-content:start}.viewsw .chip{min-height:36px;padding:0 12px}ul.tree{padding-left:8px}ul.stree{padding-left:10px}.qgrid{flex-direction:column;align-items:stretch}.qcol{display:contents}.qgrid .quote{order:1}.qcol.side>*{order:2}.qgrid .obox{order:3}.qgrid .box:not(.quote):not(.obox):not(.rbox){order:2}}
