:root{--bg:#f5f5f5;--grid:#e3e3e3;--ink:#1a1a1a;--line:#2b2b2b;--yellow:#f7ea6e;--green:#93df93;--lgreen:#cbefa6;--orange:#f8b36f;--cyan:#a9e4f4;--blue:#93b7f1;--red:#f4a0a0;--teal:#82e3d8;--lilac:#cbc3f3;--font:"Noto Sans","Helvetica Neue",Arial,sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;font-family:var(--font);color:var(--ink);margin:0;overflow:hidden}#vp{touch-action:none;cursor:grab;background-color:var(--bg);background-image:linear-gradient(to right,var(--grid) 1px,transparent 1px),linear-gradient(to bottom,var(--grid) 1px,transparent 1px);background-size:64px 64px;position:fixed;inset:0;overflow:hidden}#vp.grabbing{cursor:grabbing}#vp.anim #board{transition:transform .35s cubic-bezier(.2,.7,.2,1)}#board{transform-origin:0 0;will-change:transform;width:10400px;height:4200px;position:absolute;top:0;left:0}#board svg{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.el{font-family:var(--font);color:var(--ink);white-space:pre-wrap;word-wrap:break-word;-webkit-user-select:none;user-select:none;line-height:1.18;position:absolute}.sticky{text-align:center;background:var(--c);border-radius:2px;justify-content:center;align-items:center;padding:5px 6px;display:flex;box-shadow:0 1px 3px #0003}.txt{padding:0}.txt.c{text-align:center}.box{border:1.5px solid var(--line);background:#ffffff59;padding:10px 12px}.box.c{text-align:center;justify-content:center;align-items:center;display:flex}.note{text-align:center;background:#ffffff73;border:1px solid #444;justify-content:center;align-items:center;padding:4px 6px;font-style:italic;display:flex}.ell{border:1.5px solid var(--line);text-align:center;border-radius:50%;justify-content:center;align-items:center;display:flex}.ell.big{border-width:1.5px;padding:0}.el .t{max-width:100%;display:block}.sticky .sub{color:#2a2a2a;margin-top:4px;font-size:8px;font-weight:400;line-height:1.2;display:block}.b{font-weight:700}.i{font-style:italic}.u{text-decoration:underline}.ph{border-bottom:1.5px dotted #333;padding:0 1px}.funnel{background:#ffffff8c;border:1px solid #9a9a9a}.funnel svg{position:static}.clar{background:#fff;border:1px solid #cfcfcf;grid-template-rows:auto 1fr;grid-template-columns:96px 1fr;gap:6px 12px;padding:12px 14px;font-size:8px;line-height:1.25;display:grid;box-shadow:0 1px 4px #00000026}.clar h5{letter-spacing:.02em;color:#c0392b;text-align:center;text-transform:uppercase;font-size:19px;font-weight:800;font-family:"Arial Black",Impact,var(--font);grid-column:1/-1;margin:0}.clar .steps{border:2px solid #c0392b;padding:6px 7px;font-size:7.5px}.clar .steps b{margin-bottom:3px;display:block}.clar .steps p{margin:0 0 5px}.clar .bub{flex-wrap:wrap;align-content:flex-start;gap:5px;display:flex}.clar .bub span{color:#111;border-radius:9px;padding:5px 7px;font-size:7.5px;font-weight:700}.clar .bub .lbl{color:#666;width:100%;padding:0;font-size:7px;font-weight:600}.badge{color:#fff;text-align:center;background:#111;border-radius:50%;justify-content:center;align-items:center;font-size:16px;font-weight:700;line-height:1;display:flex}.ui{z-index:10;font-family:var(--font);position:fixed}.chip{background:#fff;border-radius:10px;align-items:center;gap:10px;padding:9px 14px;font-size:15px;font-weight:700;display:flex;top:12px;left:12px;box-shadow:0 2px 8px #00000024}.chip small{color:#777;font-size:12px;font-weight:400}.hint{color:#fff;pointer-events:none;background:#141414db;border-radius:8px;padding:8px 14px;font-size:13px;transition:opacity .5s;top:12px;left:50%;transform:translate(-50%)}.hint.gone{opacity:0}.zoom{background:#fff;border-radius:10px;align-items:center;display:flex;bottom:14px;right:14px;overflow:hidden;box-shadow:0 2px 8px #00000024}.zoom button{color:#222;cursor:pointer;min-width:40px;height:40px;font-size:18px;font-weight:600;font-family:var(--font);background:0 0;border:0;padding:0 10px}.zoom button:hover{background:#f1f1f1}.zoom .pct{text-align:center;font-variant-numeric:tabular-nums;min-width:56px;font-size:14px;font-weight:600}.zoom .sep{background:#e4e4e4;width:1px;height:24px}.zoom .mode{color:#555;padding:0 12px;font-size:12px;font-weight:600}.jump{background:#fff;border-radius:10px;flex-wrap:wrap;gap:2px;max-width:calc(100vw - 200px);padding:4px;display:flex;bottom:14px;left:14px;box-shadow:0 2px 8px #00000024}.jump button{color:#333;cursor:pointer;font-size:13px;font-weight:600;font-family:var(--font);white-space:nowrap;background:0 0;border:0;border-radius:7px;padding:8px 10px}.jump button:hover{background:#f1f1f1}.jump button.all{color:#1a5fd6}:focus-visible{outline-offset:2px;outline:2px solid #1a5fd6}.el.ftitle{letter-spacing:.01em;transform-origin:50%;font-family:Libre Caslon Condensed,Libre Caslon Display,Georgia,serif;transform:scaleX(.9)}.el.fhand{font-family:Caveat,Segoe Script,cursive;line-height:1.05}.zoom button,.jump button,.mapbtn{font-family:Jost,Helvetica Neue,Arial,sans-serif}.zoom button,.jump button{letter-spacing:.03em;font-weight:300}.mapbtn{color:#fff;letter-spacing:.06em;cursor:pointer;background:#111;border:0;border-radius:14px;font-weight:300;transition:transform .18s,background .18s;box-shadow:0 6px 18px #00000040}.mapbtn:hover{background:#000;transform:translateY(-2px)}.mapbtn:active{transform:translateY(0)}:root{--hdr-h:102px}#vp{top:var(--hdr-h)}.ui.chip{top:calc(var(--hdr-h) + 12px);align-items:center;gap:2px;padding:4px;display:flex}@media (width<=640px){:root{--hdr-h:76px}.jump{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;max-width:none;bottom:60px;left:8px;right:8px;overflow-x:auto}.jump::-webkit-scrollbar{display:none}.jump button{padding:8px;font-size:12px}.zoom .pct,.zoom .mode,.ui.chip{display:none}}.sticky,.note,.ell,.box{cursor:pointer}.sticky:hover,.note:hover,.ell:hover,.box:hover{filter:brightness(1.04)}.sticky:after,.note:after,.ell:after,.box:after{content:"?";color:#fff;opacity:.55;pointer-events:none;background:#141414b8;border-radius:50%;justify-content:center;align-items:center;width:10px;height:10px;font:600 7px/1 Jost,system-ui,sans-serif;display:flex;position:absolute;top:2px;right:3px}.sticky:hover:after,.note:hover:after,.ell:hover:after,.box:hover:after{opacity:1}.ell.big:after{content:none}
