:root{--stone-0:#2b2620;--stone-1:#3e3529;--stone-2:#4a4032;--stone-3:#5a4f3d;--bev-hi:#6f6152;--bev-lo:#1a1710;--gold:#ffb000;--yellow:#ff0;--orange:#ff981f;--paper:#e8dcc0;--paper-2:#bdb098;--paper-3:#8e836e;--green:#25c025;--red:#e02a2a;--cyan:#6df2ff;--shadow:1px 1px 0 #000;--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--stone-0:#bfae8a;--stone-1:#d9c9a3;--stone-2:#e5d7b6;--stone-3:#efe3c6;--bev-hi:#f2e8cf;--bev-lo:#8a7854;--gold:#6b3f10;--yellow:#7a5a05;--orange:#9c4a10;--paper:#3a2f1e;--paper-2:#5b4c33;--paper-3:#7d6c4e;--green:#1c7a1c;--red:#a81f1f;--cyan:#1d5f7a;--shadow:none;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--stone-0) var(--grain);background-blend-mode:overlay;color:var(--paper);font-variant-numeric:tabular-nums;text-shadow:var(--shadow);-webkit-font-smoothing:antialiased;font-family:RuneScape UF,Trebuchet MS,Lucida Grande,Verdana,Geneva,sans-serif;font-size:15px;line-height:1.45}.wrap{width:min(1400px,100% - clamp(.75rem,3vw,2.5rem));margin-inline:auto}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.bevel{border:2px solid;border-color:var(--bev-hi) var(--bev-lo) var(--bev-lo) var(--bev-hi)}.bevel-in{border:2px solid;border-color:var(--bev-lo) var(--bev-hi) var(--bev-hi) var(--bev-lo)}.mast{padding:clamp(1rem,3vw,2rem) 0 0}.eyebrow{letter-spacing:.2em;text-transform:uppercase;color:var(--orange);margin-bottom:.5rem;font-size:.68rem}h1{color:var(--gold);letter-spacing:.01em;font-size:clamp(1.7rem,1.1rem + 2.4vw,2.8rem);font-weight:700;line-height:1.05}h1 em{color:var(--yellow);font-style:normal}.standfirst{max-width:62ch;color:var(--paper-2);margin-top:.7rem;font-size:.94rem}.standfirst b{color:var(--paper);font-weight:700}.strip{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.stat{background:var(--stone-1);border:2px solid;border-color:var(--bev-hi) var(--bev-lo) var(--bev-lo) var(--bev-hi);align-items:baseline;gap:.45rem;padding:.3rem .7rem;display:flex}.stat .v{color:var(--yellow);font-size:1.35rem;font-weight:700;line-height:1.1}.stat .v.lead{color:var(--gold)}.stat .k{letter-spacing:.1em;text-transform:uppercase;color:var(--paper-3);font-size:.68rem}.levels{background:var(--stone-1);border:2px solid;border-color:var(--bev-hi) var(--bev-lo) var(--bev-lo) var(--bev-hi);margin-top:.7rem}.levels summary{cursor:pointer;color:var(--paper-2);flex-wrap:wrap;align-items:center;gap:.6rem;padding:.45rem .7rem;font-size:.85rem;list-style:none;display:flex}.levels summary::-webkit-details-marker{display:none}.levels summary:before{content:"▸";color:var(--orange);font-size:.8rem}.levels[open] summary:before{content:"▾"}.levels summary b{color:var(--gold);font-weight:700}.levels summary .hint{color:var(--paper-3);margin-left:auto;font-size:.76rem}.levels-body{border-top:2px solid var(--bev-lo);padding:.5rem .7rem .8rem}.lvgrid{grid-template-columns:repeat(auto-fill,minmax(7.8rem,1fr));gap:.25rem .7rem;margin-top:.6rem;display:grid}.lv{color:var(--paper-2);align-items:center;gap:.35rem;font-size:.8rem;display:flex}.lv input,.rsn input{font:inherit;color:var(--yellow);text-shadow:var(--shadow);background:var(--stone-0);border:2px solid;border-color:var(--bev-lo) var(--bev-hi) var(--bev-hi) var(--bev-lo);padding:.1rem .3rem;font-size:.8rem}.lv input{text-align:right;width:3rem}.rsn{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.rsn input{width:11rem;color:var(--paper)}.lv input:focus-visible,.rsn input:focus-visible,.search:focus-visible{outline:2px solid var(--gold);outline-offset:1px}.note-sm{color:var(--paper-3);max-width:70ch;margin-top:.5rem;font-size:.76rem}.note-sm a,.foot a{color:var(--cyan)}.btn{font:inherit;color:var(--paper);text-shadow:var(--shadow);background:var(--stone-2);border:2px solid;border-color:var(--bev-hi) var(--bev-lo) var(--bev-lo) var(--bev-hi);cursor:pointer;padding:.22rem .6rem;font-size:.8rem}.btn:hover{background:var(--stone-3);color:var(--yellow)}.btn:active{border-color:var(--bev-lo) var(--bev-hi) var(--bev-hi) var(--bev-lo)}.btn[aria-pressed=true]{background:var(--stone-0);color:var(--yellow);border-color:var(--bev-lo) var(--bev-hi) var(--bev-hi) var(--bev-lo)}.btn.gold[aria-pressed=true]{background:var(--stone-0);color:var(--gold)}.btn:focus-visible{outline:2px solid var(--gold);outline-offset:1px}a.btn{text-decoration:none;display:inline-block}select.btn option{background:var(--stone-1);color:var(--paper)}.tabs{flex-wrap:wrap;align-items:flex-end;gap:2px;margin-top:1rem;display:flex}.tab{font:inherit;color:var(--paper-2);text-shadow:var(--shadow);background:var(--stone-1);border:2px solid;border-color:var(--bev-hi) var(--bev-lo) transparent var(--bev-hi);cursor:pointer;padding:.4rem 1rem;font-size:.9rem;font-weight:700;text-decoration:none;display:inline-block;position:relative;top:2px}.tab:hover{color:var(--paper)}.tab[aria-selected=true]{background:var(--stone-2);color:var(--gold);padding-bottom:.55rem;top:0}.tab:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}.tabstrip{background:var(--bev-lo);height:2px}.panel[hidden]{display:none}.bar{flex-wrap:wrap;align-items:center;gap:.35rem;margin:.8rem 0 .5rem;display:flex}.bar .spacer{margin-left:auto}.legend{color:var(--paper-3);flex-wrap:wrap;gap:.7rem;font-size:.74rem;display:flex}.legend i{border:1px solid var(--bev-lo);width:.6rem;height:.6rem;margin-right:.28rem;display:inline-block}.legend .d{background:var(--green)}.legend .r{background:var(--yellow)}.legend .b{background:var(--red)}.scroller{background:var(--stone-0);border:2px solid;border-color:var(--bev-lo) var(--bev-hi) var(--bev-hi) var(--bev-lo);max-height:min(72vh,760px);overflow:auto}.gnode{cursor:pointer}.gnode rect.card{fill:var(--stone-1);stroke:var(--bev-lo);stroke-width:2px}.gnode rect.bevel-hi{fill:var(--bev-hi)}.gnode:hover rect.card{fill:var(--stone-3)}.gnode[data-state=done] rect.card{stroke:var(--green)}.gnode[data-state=ready] rect.card{stroke:var(--yellow)}.gnode[data-state=blocked] rect.card{stroke:var(--red)}.gnode[data-sel=true] rect.card{fill:var(--stone-3);stroke:var(--gold);stroke-width:3px}.gnode text{fill:var(--paper);pointer-events:none;paint-order:stroke;stroke:#000;stroke-width:2.4px;stroke-linejoin:round;font-size:12px}:root[data-theme=light] .gnode text{stroke:none}.gnode text.sub{fill:var(--orange);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.gnode text.title{font-weight:700}.gnode[data-state=done] text.req{fill:var(--green)}.gnode[data-state=ready] text.req{fill:var(--yellow)}.gnode[data-state=blocked] text.req{fill:var(--red)}.gnode text.req{font-size:10.5px}.gedge{fill:none;stroke:#000;stroke-width:2px;opacity:.55}.gedge.met{stroke:var(--green);opacity:.75}.gnode,.gedge{transition:opacity .16s}@media (prefers-reduced-motion:reduce){.gnode,.gedge{transition:none}}.glayerlabel{fill:var(--orange);letter-spacing:.14em;text-transform:uppercase;paint-order:stroke;stroke:#000;stroke-width:2.4px;stroke-linejoin:round;font-size:10px}:root[data-theme=light] .glayerlabel{stroke:none}.detail{background:var(--stone-1);border:2px solid;border-color:var(--bev-hi) var(--bev-lo) var(--bev-lo) var(--bev-hi);margin-top:.7rem;padding:.85rem 1rem}.detail h3{color:var(--gold);font-size:1.2rem;font-weight:700}.detail .cat{letter-spacing:.14em;text-transform:uppercase;color:var(--orange);margin-bottom:.15rem;font-size:.68rem}.detail .why{color:var(--paper-2);max-width:72ch;margin:.4rem 0 .8rem;font-size:.92rem}.reqrow{grid-template-columns:auto 1fr;align-items:baseline;gap:.35rem 1rem;font-size:.86rem;display:grid}.reqrow dt{letter-spacing:.12em;text-transform:uppercase;color:var(--paper-3);white-space:nowrap;padding-top:.15rem;font-size:.68rem}.reqrow dd b{color:var(--yellow)}.chiplist{flex-wrap:wrap;gap:.28rem;display:flex}.rq{white-space:nowrap;background:var(--stone-2);border:2px solid;border-color:var(--bev-hi) var(--bev-lo) var(--bev-lo) var(--bev-hi);color:var(--paper-2);padding:.1rem .4rem;font-size:.78rem}.rq.met{color:var(--green)}.rq.miss{color:var(--red)}.rq.q{cursor:pointer;font:inherit;font-size:.78rem}.rq.q:hover{background:var(--stone-3);color:var(--yellow)}.detail-actions{flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.9rem;display:flex}.groups{margin-top:.7rem}.group-head{background:var(--stone-2);border:2px solid;border-color:var(--bev-hi) var(--bev-lo) var(--bev-lo) var(--bev-hi);cursor:pointer;width:100%;font:inherit;color:inherit;text-align:left;align-items:center;gap:.6rem;margin-top:.55rem;padding:.3rem .6rem;display:flex}.group-head:hover{background:var(--stone-3)}.group-head:focus-visible{outline:2px solid var(--gold);outline-offset:1px}.group-head h2{color:var(--gold);white-space:nowrap;text-shadow:var(--shadow);font-size:.98rem;font-weight:700}.group-head .dash{flex:1}.group-head .sub{letter-spacing:.06em;text-transform:uppercase;color:var(--paper-3);white-space:nowrap;font-size:.72rem}.group-head .sub.all-done{color:var(--green)}.caret{color:var(--orange);width:.7rem;font-size:.7rem;display:inline-block}.group[data-collapsed=true] .caret{transform:rotate(-90deg)}.group[data-collapsed=true] .rows{display:none}.rows{background:var(--stone-0);border:2px solid;border-color:var(--bev-lo) var(--bev-hi) var(--bev-hi) var(--bev-lo);border-top:0}.row{cursor:pointer;grid-template-columns:1.4rem .8rem minmax(10rem,1.15fr) 5.4rem minmax(5.5rem,.7fr) minmax(9rem,1.5fr) 3rem 1.8rem;align-items:baseline;gap:0 .7rem;padding:.38rem .5rem;display:grid;position:relative}.row:nth-child(odd){background:#ffffff07}:root[data-theme=light] .row:nth-child(odd){background:#00000009}.row:hover{background:var(--stone-2)}.row:before{content:"";background:var(--gold);opacity:0;width:3px;position:absolute;top:0;bottom:0;left:0}.row[data-route=true]:before{opacity:1}.row[data-done=true] .name{color:var(--paper-3);text-decoration:line-through}.box{background:var(--stone-0);border:2px solid;border-color:var(--bev-lo) var(--bev-hi) var(--bev-hi) var(--bev-lo);place-self:center start;place-items:center;width:14px;height:14px;display:grid}.rowcb:focus-visible+.box{outline:2px solid var(--gold);outline-offset:2px}.row[data-done=true] .box{background:var(--green)}.box svg{stroke:#000;stroke-width:3px;fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:16;stroke-dashoffset:16px;width:10px;height:10px;transition:stroke-dashoffset .2s}.row[data-done=true] .box svg{stroke-dashoffset:0}.pip{border:1px solid var(--bev-lo);place-self:center;width:.45rem;height:.45rem}.pip[data-p="1"]{background:var(--green)}.pip[data-p="2"]{background:var(--yellow)}.pip[data-p="3"]{background:var(--red)}.name{color:var(--paper);font-size:.9rem}.tier{letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;justify-self:start;font-size:.68rem;font-weight:700}.tier[data-t=Easy]{color:var(--green)}.tier[data-t=Medium]{color:var(--yellow)}.tier[data-t=Hard]{color:var(--orange)}.tier .pts{color:var(--paper-3);font-weight:400}.req{color:var(--cyan);font-size:.78rem}.req.none{color:var(--paper-3)}.note{color:var(--paper-2);font-size:.8rem;line-height:1.35}.comp{color:var(--paper-3);white-space:nowrap;justify-self:end;font-size:.76rem}.comp b{color:var(--paper-2)}.vid{cursor:pointer;background:var(--stone-2);border:2px solid;border-color:var(--bev-hi) var(--bev-lo) var(--bev-lo) var(--bev-hi);width:1.4rem;height:1.4rem;color:var(--paper-2);place-self:center end;place-items:center;display:grid}.vid:hover:not(:disabled){background:var(--stone-3);color:var(--yellow)}.vid:disabled{opacity:.3;cursor:default}.vid svg{fill:currentColor;width:8px;height:10px}.player{grid-column:1/-1;padding:.6rem 0 .2rem}.player iframe{aspect-ratio:16/9;border:2px solid var(--bev-lo);width:min(100%,42rem)}.meter{background:var(--stone-0);border:2px solid;border-color:var(--bev-lo) var(--bev-hi) var(--bev-hi) var(--bev-lo);height:16px;margin-top:.8rem;position:relative}.meter-fill{background:linear-gradient(180deg,#7ad07a 0%,var(--green) 45%,#137013 100%);width:0%;transition:width .5s steps(24,end);position:absolute;inset:0 auto 0 0}.meter-route{background:repeating-linear-gradient(90deg,#ffb0004d 0 4px,#0000 4px 8px);width:0%;transition:width .5s steps(24,end);position:absolute;inset:0 auto 0 0}.meter-goal{background:var(--gold);border:1px solid #000;width:3px;position:absolute;top:-3px;bottom:-3px}.meter-legend{color:var(--paper-3);justify-content:space-between;margin-top:.3rem;font-size:.72rem;display:flex}.empty{color:var(--paper-3);max-width:44ch;padding:2rem 0}.empty b{color:var(--yellow);margin-bottom:.3rem;font-size:1rem;display:block}.foot{background:var(--stone-1);border:2px solid;border-color:var(--bev-hi) var(--bev-lo) var(--bev-lo) var(--bev-hi);color:var(--paper-3);flex-wrap:wrap;align-items:center;gap:.4rem 1.1rem;margin:2rem 0 2.5rem;padding:.6rem .7rem;font-size:.78rem;display:flex}.linkbtn{font:inherit;color:var(--cyan);cursor:pointer;text-shadow:var(--shadow);background:0 0;border:0;padding:0;font-size:.78rem}.linkbtn:hover{color:var(--yellow);text-decoration:underline}.linkbtn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}@media (max-width:900px){.row{grid-template-columns:1.4rem .8rem 1fr 4.8rem 1.8rem;grid-template-areas:"box pip name tier vid"". .req req req"". .note note note";row-gap:.15rem;padding:.5rem .4rem}.box{grid-area:box}.pip{grid-area:pip}.name{grid-area:name}.tier{grid-area:tier;justify-self:end}.req{grid-area:req}.note{grid-area:note}.vid{grid-area:vid}.comp{display:none}}@media (prefers-reduced-motion:reduce){*{transition-duration:1ms!important}}.gedge.derived{stroke-dasharray:5 4;opacity:.42}.gedge.derived.met{opacity:.6}.panzoom-controls{flex-wrap:wrap;align-items:center;gap:.3rem;margin:0 0 .35rem;display:flex}.panzoom-pct{color:var(--yellow);text-align:center;min-width:3.1rem;text-shadow:var(--shadow);font-size:.78rem}.panzoom-hint{color:var(--paper-3);margin-left:auto;font-size:.72rem}.panzoom .scroller{cursor:grab}.panzoom .scroller.dragging{cursor:grabbing}.panzoom-spacer{position:relative}@media (max-width:700px){.panzoom-hint{display:none}}.gnode[data-dim=true]{opacity:.15}.gnode[data-dim=true]:hover{opacity:.55}.gedge.dim,.gedge.met.dim,.gedge.derived.dim,.gedge.derived.met.dim{opacity:.06}.gedge.focus,.gedge.met.focus,.gedge.derived.met.focus{stroke:var(--gold);opacity:.95;stroke-width:2.5px}.gedge.derived.focus,.gedge.derived.met.focus{opacity:.8}
