@font-face{font-family:IBM Plex Sans;src:url(/fonts/plexsans-var.woff2) format("woff2");font-weight:100 700;font-display:swap}@font-face{font-family:Archivo;src:url(/fonts/archivo-var.woff2) format("woff2");font-weight:100 900;font-stretch:100%;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/plexmono-500.woff2) format("woff2");font-weight:500;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/plexmono-600.woff2) format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Silkscreen;src:url(/fonts/silkscreen-400.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Silkscreen;src:url(/fonts/silkscreen-700.woff2) format("woff2");font-weight:700;font-display:swap}:root{--ink: #16121a;--panel: #221c28;--panel2: #2c2534;--line: #3d3448;--text: #efeaf2;--dim: #a096ac;--ember: #e8541e;--ember-deep: #a83411;--ember-hi: #f2662f;--panel3: #372e42;--brass: #e5b64a;--ok: #4ca85a;--warn: #e0b024;--danger: #e8635a;--radius: 10px;--px: 2px;--font-title: Archivo, system-ui, sans-serif;--font-hud: Silkscreen, "IBM Plex Mono", ui-monospace, monospace;--type-0: #a8a878;--type-1: #c03028;--type-2: #a890f0;--type-3: #a040a0;--type-4: #e0c068;--type-5: #b8a038;--type-6: #a8b820;--type-7: #705898;--type-8: #b8b8d0;--type-9: #68a090;--type-10: #f08030;--type-11: #6890f0;--type-12: #78c850;--type-13: #f8d030;--type-14: #f85888;--type-15: #98d8d8;--type-16: #7038f8;--type-17: #705848;--type-fg-1: var(--text);--type-fg-3: var(--text);--type-fg-7: var(--text);--type-fg-16: var(--text);--type-fg-17: var(--text);color-scheme:dark}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--ink);color:var(--text);font-family:IBM Plex Sans,system-ui,sans-serif;font-size:15px;line-height:1.45;-webkit-text-size-adjust:100%}button{font:inherit;color:inherit}:focus-visible{outline:var(--px) solid var(--ember);outline-offset:2px}.mono{font-family:IBM Plex Mono,ui-monospace,monospace}:root{--nav-height: 62px;--column: 46rem}.app{padding-bottom:calc(var(--nav-height) + env(safe-area-inset-bottom));background:var(--ink)}.hdr,.main{max-width:var(--column);margin-inline:auto}.hdr{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(env(safe-area-inset-top) + 12px) 16px 12px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:9px;font-family:var(--font-title);font-weight:800;letter-spacing:-.01em}.brand img{width:32px;height:32px;image-rendering:pixelated}button.brand{display:flex;align-items:center;gap:9px;min-height:44px;background:none;border:0;padding:0;font-size:inherit;text-align:left;cursor:pointer}button.brand:disabled{cursor:default}.badges{display:flex;gap:3px;align-items:center}.kbadge{flex:none}.kbadge.off{opacity:.34}.kbadge.off *{fill:var(--dim);stroke:var(--dim)}.backBar{position:sticky;top:0;z-index:2;display:block;width:100%;padding:9px 16px;background:var(--panel);border:0;border-bottom:1px solid var(--line);color:var(--dim);font-size:13px;font-weight:600;text-align:left;cursor:pointer}.backBar:active{color:var(--text)}.nav{position:fixed;inset:auto 0 0;z-index:3;display:grid;grid-template-columns:repeat(3,minmax(0,calc(var(--column) / 3)));justify-content:center;border-top:var(--px) solid var(--line);box-shadow:inset 0 var(--px) 0 var(--ink);padding-bottom:env(safe-area-inset-bottom);background:var(--panel)}.navBtn{display:grid;justify-items:center;align-content:center;gap:3px;background:none;border:0;min-height:52px;padding:7px 4px;color:var(--dim);font-family:var(--font-hud);font-size:9.5px;letter-spacing:.08em;cursor:pointer}.navBtn.on{color:var(--text);box-shadow:inset 0 3px 0 var(--ember)}.navBtn.on svg{color:var(--ember)}.main{padding:16px}.card{background:var(--panel);border:var(--px) solid var(--line);border-radius:var(--radius);box-shadow:inset 0 0 0 var(--px) var(--ink),0 var(--px) 0 var(--ink);padding:14px;margin-bottom:12px}h1{font-family:var(--font-title);font-size:26px;margin:0 0 6px}h2{font-family:var(--font-hud);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);margin:0 0 11px;line-height:1.5}h3{font-family:var(--font-title);font-size:16px;margin:0 0 6px}.cardBody{margin-top:12px}.cardLead{margin-bottom:12px;color:var(--dim);font-size:13px;line-height:1.45}.cardRule{margin:12px 0 4px;border-top:1px solid var(--line)}.cardHead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.cardHead h2{margin:0}.dim{color:var(--dim)}.chip.detour{margin-left:8px;color:var(--warn);border-color:var(--warn)}.small{font-size:13px}.chip{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11.5px;font-weight:600;background:var(--panel2);border:1px solid var(--line)}.chip.type{font-family:var(--font-hud);font-size:10px;letter-spacing:.05em;padding:4px 7px 3px;border-radius:5px;background:var(--tc);border:0;border-bottom:var(--px) solid rgba(0,0,0,.32);color:var(--tc-fg)}.btn{--edge: var(--line);display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;background:var(--panel2);border:1px solid var(--line);border-radius:9px;box-shadow:0 var(--px) 0 var(--edge);padding:0 14px;cursor:pointer}.btn:hover:not(:disabled){background:var(--panel3)}.btn:active:not(:disabled){transform:translateY(var(--px));box-shadow:none}.btn.primary{--edge: var(--ember-deep);background:var(--ember);border-color:var(--ember);color:#fff;font-weight:600}.btn.primary:hover:not(:disabled){background:var(--ember-hi)}.btn:disabled{opacity:.4;cursor:default;box-shadow:none}.stepper{display:flex;align-items:stretch;flex:none;height:38px;background:var(--panel2);border:1px solid var(--line);border-radius:9px;box-shadow:0 var(--px) 0 var(--line);overflow:hidden}.stepBtn{display:grid;place-items:center;width:34px;padding:0;background:none;border:0;color:var(--dim);cursor:pointer}.stepBtn:hover:not(:disabled){background:var(--panel3);color:var(--text)}.stepBtn:active:not(:disabled){background:var(--ember);color:#fff}.stepBtn:disabled{opacity:.3;cursor:default}.stepValue{display:grid;place-items:center;min-width:38px;padding:0 3px;background:var(--ink);border-inline:1px solid var(--line);font-family:IBM Plex Mono,ui-monospace,monospace;font-weight:600;font-size:14px;font-variant-numeric:tabular-nums}.ghostBtn{display:grid;place-items:center;flex:none;width:34px;height:38px;padding:0;background:none;border:1px solid transparent;border-radius:9px;color:var(--dim);cursor:pointer}.ghostBtn:hover,.ghostBtn:focus-visible{background:var(--panel2);border-color:var(--line);color:var(--text)}.ghostBtn:active{transform:translateY(1px)}.ghostBtn.remove:hover,.ghostBtn.remove:focus-visible{border-color:var(--danger);color:var(--danger)}.ghostBtn.evolve{color:var(--brass)}.ghostBtn.evolve:hover,.ghostBtn.evolve:focus-visible{border-color:var(--brass);color:var(--brass)}.toggleRow{display:flex;gap:7px;flex-wrap:wrap}.toggle{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:0 12px;background:var(--panel2);border:1px solid var(--line);border-radius:999px;color:var(--dim);font-size:12.5px;font-weight:500;cursor:pointer}.toggle:hover{background:var(--panel3);color:var(--text)}.toggle:active{transform:translateY(1px);box-shadow:none}.toggle.on{background:var(--ember);border-color:var(--ember);box-shadow:0 var(--px) 0 var(--ember-deep);color:#fff;font-weight:600}.toggle.on:hover{background:var(--ember-hi)}select,input{min-height:44px;background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:9px;padding:0 10px;width:100%}.chapterBar{display:flex;gap:8px;overflow-x:auto;margin-bottom:12px;padding-bottom:2px}.chapterBar button{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap;background:var(--panel);border:1px solid var(--line);border-radius:7px;padding:0 12px;color:var(--dim);font-family:var(--font-hud);font-size:10px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.chapterBar button:hover{background:var(--panel3);color:var(--text)}.chapterBar button.on{background:var(--ember);border-color:var(--ember);box-shadow:0 var(--px) 0 var(--ember-deep);color:#fff}.chapterBar button:active{transform:translateY(1px);box-shadow:none}.chapterBar button.done{color:var(--ok);border-color:var(--ok)}.now{border-color:var(--ember)}.now h3{font-size:19px;line-height:1.25}.stepDeck{position:relative;display:flex;align-items:stretch;gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;margin:0 -16px;padding:0 16px 4px;scrollbar-width:none}.stepDeck::-webkit-scrollbar{display:none}.stepDeck:focus-visible{outline:var(--px) solid var(--ember);outline-offset:2px}.stepCard{flex:0 0 min(calc(100% - 56px),30rem);scroll-snap-align:center;display:flex;flex-direction:column;gap:8px;padding:12px 14px 14px;background:var(--panel);border:var(--px) solid var(--line);border-radius:var(--radius);box-shadow:inset 0 0 0 var(--px) var(--ink),0 var(--px) 0 var(--ink);border-left:3px solid transparent}.stepCard.current{border-left-color:var(--ember)}.stepCard.done{background:none;border-style:dashed}.stepCard.done .stepText{color:var(--dim);text-decoration:line-through}.stepCardHead{display:flex;align-items:flex-start;gap:8px}.stepDetail{margin:0;color:var(--dim);font-size:13.5px;line-height:1.45}.zonePanel{display:flex;flex-direction:column;gap:12px}.zonePanelHead{display:flex;align-items:center;justify-content:space-between;gap:12px}.stepRail{display:flex;align-items:center;gap:6px;margin:8px 0 14px}.railZone{flex-basis:0;min-width:24px;min-height:28px;display:flex;align-items:center;gap:2px;padding:0 3px;background:none;border:0;border-radius:6px;cursor:pointer}.railZone.on{background:var(--panel2)}.railZone:focus-visible{outline:var(--px) solid var(--ember);outline-offset:1px}.railTick{flex:1;height:6px;border-radius:2px;background:var(--line)}.railTick.done{background:var(--ok)}.railTick.on{height:12px;background:var(--ember)}.lineupRow img.sprite{width:40px;height:40px}.wildLevel{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:2px}.wildCounters{display:flex;gap:4px;flex-wrap:wrap}.wildAnswer{margin-top:3px}.typeChips{display:flex;gap:5px;flex-wrap:wrap;margin-top:4px}.tick{position:relative;flex:none;display:flex;align-items:center;justify-content:center;width:18px;height:18px;margin-top:1px;padding:0;border-radius:5px;border:1.5px solid var(--line);background:var(--panel2);cursor:pointer;color:var(--ok);font-size:12px;line-height:1}.tick:after{content:"";position:absolute;top:-13px;right:-13px;bottom:-13px;left:-13px}.tick.on{border-color:var(--ok);animation:tickPop .16s steps(3,end)}.tick:focus-visible{outline:var(--px) solid var(--ember);outline-offset:2px}.tick:hover{border-color:var(--dim)}.tick.on:hover{border-color:var(--ok)}@keyframes tickPop{0%{transform:scale(.72)}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.stepText{margin:0;font-weight:600;line-height:1.3}.stepText .optional{color:var(--dim);font-size:13px}.warn{color:var(--warn)}.danger{color:var(--danger)}.ok{color:var(--ok)}.alert{display:flex;gap:9px;font-size:13.5px;padding:8px 0;border-bottom:1px solid var(--line)}.alert:last-child{border-bottom:0}.alert .dot{flex:none;width:7px;height:7px;border-radius:50%;margin-top:7px}.sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;align-items:flex-start;justify-content:center;padding:12px;background:#0a080cb8}.sheetPanel{width:100%;max-width:536px;margin-top:calc(env(safe-area-inset-top) + clamp(16px,8vh,56px));padding:14px;background:var(--panel);border:var(--px) solid var(--line);border-radius:var(--radius);box-shadow:inset 0 0 0 var(--px) var(--ink);max-height:80vh;overflow-y:auto}.runRow{width:100%;background:none;border:0;border-bottom:1px solid var(--line);cursor:pointer}.runRow:last-of-type{border-bottom:0}.runRow.on{color:var(--text)}.summary{margin:0 0 4px;padding-left:18px}.summary li{margin-bottom:5px}.battleLink{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:44px;margin-top:8px;padding:9px 11px;background:var(--panel2);border:1px solid var(--line);border-radius:9px;text-align:left;cursor:pointer}.battleLinkTitle{font-weight:600;font-size:14px}.battleLink:before{content:"";flex:none;width:3px;align-self:stretch;margin:-9px 0 -9px -11px;border-radius:9px 0 0 9px;background:var(--ember)}.stepLinks{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.linkChip{--edge: var(--line);display:inline-flex;align-items:center;gap:7px;min-height:44px;background:var(--panel);border:1px solid var(--line);border-radius:999px;box-shadow:0 var(--px) 0 var(--edge);padding:0 14px;font-size:13px;cursor:pointer}.linkChip:hover{background:var(--panel3)}.linkChip:active{transform:translateY(var(--px));box-shadow:none}.linkChip.primary{--edge: var(--ember-deep);background:var(--ember);border-color:var(--ember);color:#fff;font-weight:600}.linkChip.primary:hover{background:var(--ember-hi)}.parcoursHead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 2px 10px}.parcoursHead h2{margin:0}.sectionName{font-family:var(--font-title);font-weight:700;font-size:15px;color:var(--ember)}.sectionCount{color:var(--dim);font-size:13px}.mapPreview{position:relative;display:block;width:100%;height:clamp(140px,26vh,220px);padding:0;overflow:hidden;background:#0e0c11;border:1px solid var(--line);border-radius:var(--radius);cursor:pointer}.mapPreviewInner{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.mapPreviewInner img{display:block;image-rendering:pixelated}.mapPreviewInner svg{position:absolute;top:0;right:0;bottom:0;left:0;overflow:visible}.mapPreviewHint{position:absolute;top:8px;right:8px;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:999px;background:#17141ad1;border:1px solid var(--line);color:var(--text)}.mapSheet{align-items:stretch;padding:0}.mapSheetPanel{display:flex;flex-direction:column;width:100%;max-width:720px;margin:0 auto;padding:calc(env(safe-area-inset-top) + 10px) 12px calc(env(safe-area-inset-bottom) + 12px);background:var(--ink)}.iconBtn{display:flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;padding:0;background:var(--panel2);border:1px solid var(--line);border-radius:999px;box-shadow:0 var(--px) 0 var(--line);color:var(--text);cursor:pointer}.iconBtn:hover{background:var(--panel3)}.iconBtn:active{transform:translateY(var(--px));box-shadow:none}.mapSheetHead{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 2px;margin-bottom:12px}.mapSheetScroll{flex:1;overflow-y:auto}.mapSheet .mapFrame{max-height:62vh}.mapFrameWrap{position:relative}.mapOverlayBtn{position:absolute;top:8px;right:8px;display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border-radius:999px;background:#16121ad1;border:1px solid var(--line);color:var(--text);cursor:pointer}.mapOverlayBtn:hover{background:var(--panel3)}.mapOverlayBtn:active{transform:translateY(1px)}.mapFrame{position:relative;overflow:auto;background:#0e0c11;border:1px solid var(--line);border-radius:var(--radius);max-height:clamp(180px,55vh,620px);touch-action:pan-x pan-y}.mapInner{position:relative;transform-origin:0 0}.mapInner img{display:block;image-rendering:pixelated}.mapInner svg{position:absolute;top:0;right:0;bottom:0;left:0;overflow:visible}.legend{margin:14px 0 0;padding:0;font-size:13px}.legend li{margin-bottom:7px;list-style:none}.legend li:last-child{margin-bottom:0}.legend .where{color:var(--ember);font-weight:600}.pin img{image-rendering:pixelated}.pin.dim{opacity:.45}.pin.faded{opacity:.25}.pin.selected{opacity:1}.detailRow{width:100%;background:none;border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer}.detailRow:last-of-type{border-bottom:0}.detailRow.on{background:var(--panel2);border-radius:9px}.legendMore{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid var(--line);color:var(--dim);font-size:12.5px}.teamAdd{display:flex;gap:9px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.row{display:flex;align-items:center;gap:11px;padding:9px 0;border-bottom:1px solid var(--line)}.row:last-child{border-bottom:0}.row img.sprite{width:48px;height:48px;image-rendering:pixelated;flex:none}.stance{font-weight:600;font-size:12.5px}.empty{color:var(--dim);text-align:center;padding:22px 8px;font-size:14px}.teamRowMain{display:flex;align-items:center;gap:11px;flex:1;min-width:0;min-height:44px;margin:-4px -6px;padding:4px 6px;background:none;border:0;border-radius:9px;color:inherit;font:inherit;text-align:left;cursor:pointer}.teamRowMain:hover,.teamRowMain:focus-visible{background:var(--panel2)}.teamRowMain:active{transform:translateY(var(--px))}.teamRowText{display:block;flex:1;min-width:0}.teamRowName{display:block;font-weight:600}.teamRole{display:block;margin-top:5px;line-height:1.4}.teamMoves{display:block;margin-top:4px}.moveHead{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.moveMeta{margin-top:3px}.moveWhy{margin-top:3px;line-height:1.4}.moveAhead{opacity:.62}.moveRule{display:flex;align-items:center;gap:9px;margin:14px 0 2px;color:var(--dim);font-family:var(--font-hud);font-size:10px;letter-spacing:.1em;text-transform:uppercase}.moveRule:after{content:"";flex:1;border-top:1px solid var(--line)}
