:root{--bg: #0a222a;--panel: #0e2c35;--panel-2: #143a45;--line: #24525d;--ink: #e9f3ef;--muted: #9bbab3;--sun: #f5b36b;--sun-ink: #3b2106;--pearl: #ddd6f3;--pearl-ink: #2b2542;--gold: #ffd166;--has: #1d4b55;--round: ui-rounded, "SF Pro Rounded", "Nunito", "Varela Round", system-ui, -apple-system, "Segoe UI", sans-serif;color-scheme:dark}:root{--pad-bg: var(--panel);--pad-surface: var(--panel-2);--pad-ink: var(--ink);--pad-muted: var(--muted);--pad-line: var(--line);--pad-accent: var(--sun);--pad-accent-strong: var(--sun);--pad-accent-ink: var(--sun-ink);--pad-tile: var(--line)}*{box-sizing:border-box}html,body{height:100%;margin:0}body{display:flex;flex-direction:column;background:var(--bg);color:var(--ink);font:15px/1.45 var(--round);overscroll-behavior:none;-webkit-tap-highlight-color:transparent}body>:first-child{background:var(--panel);border-bottom:1px solid var(--line)}.layout{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 470px}.sea{position:relative;min-height:0;overflow:hidden;background:#0b3540}#stage{display:block;width:100%;height:100%;cursor:crosshair;touch-action:manipulation}#stage:focus-visible{outline:3px solid var(--sun);outline-offset:-3px}.stats{position:absolute;top:10px;left:max(14px,env(safe-area-inset-left));pointer-events:none;text-shadow:0 1px 6px rgba(4,28,34,.7);font-variant-numeric:tabular-nums}.stats p{margin:0}.purse{font-size:30px;font-weight:800;line-height:1.1}.purse .unit{font-size:15px;font-weight:700;color:var(--muted)}.rates{color:var(--muted);font-weight:700;font-size:14px}#pearl-line{color:var(--pearl)}.hint{position:absolute;left:50%;bottom:22px;margin:0;transform:translate(-50%);background:#0a222ab8;padding:8px 16px;border-radius:999px;font-weight:800;font-size:14px;pointer-events:none;transition:opacity .8s;white-space:nowrap}.blessing{position:absolute;top:12px;right:max(14px,env(safe-area-inset-right));margin:0;background:var(--gold);color:var(--sun-ink);font-weight:800;padding:6px 14px;border-radius:999px;pointer-events:none;font-variant-numeric:tabular-nums;box-shadow:0 0 24px #ffd1668c}.panel{background:var(--panel);border-left:1px solid var(--line);overflow-y:auto;min-height:0;padding-bottom:env(safe-area-inset-bottom)}.tabs{display:flex;gap:4px;padding:8px 16px 0;position:sticky;top:0;z-index:2;background:var(--panel);border-bottom:1px solid var(--line)}.tab{position:relative;background:none;border:0;color:var(--muted);font:800 17px var(--round);padding:8px 14px 10px;cursor:pointer;border-bottom:3px solid transparent}.tab[aria-selected=true]{color:var(--ink);border-bottom-color:var(--sun)}.tab .dot{position:absolute;top:8px;right:2px;width:8px;height:8px;border-radius:50%;background:var(--pearl)}.tab:focus-visible,.btn:focus-visible,.node:focus-visible,.link:focus-visible{outline:3px solid var(--sun);outline-offset:2px}.pane{padding:14px 16px 8px;display:flex;flex-direction:column;gap:14px}.pane[hidden],.btn[hidden]{display:none}.tree-wrap{overflow-x:auto;margin-inline:-6px}#tree{display:block;width:100%;min-width:340px;height:auto}#tree .branch{font:800 12px var(--round);letter-spacing:1.4px;fill:var(--muted);text-anchor:middle;text-transform:uppercase}#tree .edge{stroke:var(--line);stroke-width:3;fill:none}#tree .edge.on{stroke:var(--sun);opacity:.55}#tree .edge.gate{stroke:var(--pearl);stroke-dasharray:3 5;opacity:.6}.node{cursor:pointer;outline:none}.node .disc{fill:var(--panel-2);stroke:var(--line);stroke-width:2.5;transition:fill .2s,stroke .2s}.node .ic{color:var(--muted)}.node .lv{font:800 11px var(--round);fill:var(--muted);text-anchor:middle;font-variant-numeric:tabular-nums}.node .halo{fill:none;stroke:var(--sun);stroke-width:2;opacity:0}.node.locked{opacity:.32}.node.gated{opacity:.6}.node.gated .disc{stroke-dasharray:4 4;stroke:var(--pearl)}.node.open .ic{color:var(--ink)}.node.has .disc{fill:var(--has)}.node.afford .disc{stroke:var(--sun);stroke-width:3}.node.afford .ic{color:var(--sun)}.node.afford .halo{opacity:.6;animation:halo 2.4s ease-in-out infinite}.node.maxed .disc{fill:var(--sun);stroke:var(--sun)}.node.maxed .ic{color:var(--sun-ink)}.node.maxed .lv{fill:var(--sun)}.node.pearl .disc{stroke:var(--pearl)}.node.pearl .ic{color:var(--pearl)}.node.pearl.open{opacity:.7}.node.pearl.afford .disc,.node.pearl.afford .halo{stroke:var(--pearl)}.node.pearl.maxed .disc{fill:var(--pearl);stroke:var(--pearl)}.node.pearl.maxed .ic{color:var(--pearl-ink)}.node.selected .disc{stroke-width:4;stroke:var(--ink)}.node:focus-visible .disc{stroke:var(--sun);stroke-width:5}@keyframes halo{0%,to{opacity:.15}50%{opacity:.85}}.card{background:var(--panel-2);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:8px}.card h2,.card h3{margin:0;font:800 20px var(--round);text-wrap:balance}.card p{margin:0}.detail-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.level{margin-left:auto;color:var(--muted);font-weight:800;font-size:13px;font-variant-numeric:tabular-nums}.eyebrow{font-size:11px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted)}.effect{font-weight:800;color:var(--sun);font-variant-numeric:tabular-nums}.effect.pearl{color:var(--pearl)}.note{color:var(--muted);font-size:13px}.note:empty{display:none}.buy-row{display:flex;gap:8px;flex-wrap:wrap}.btn{border:0;border-radius:10px;padding:10px 16px;font:800 14px var(--round);cursor:pointer;background:var(--sun);color:var(--sun-ink);font-variant-numeric:tabular-nums}.btn.ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 2px var(--line)}.btn.pearl{background:var(--pearl);color:var(--pearl-ink)}.btn:disabled{opacity:.4;cursor:default}.btn.armed{background:var(--gold);color:var(--sun-ink);animation:pulse .6s ease-in-out infinite alternate}@keyframes pulse{to{transform:scale(1.04)}}.boats{font-weight:800}.arrow{color:var(--muted)}.gain{display:flex;align-items:baseline;gap:10px}.big{font:800 28px var(--round);color:var(--pearl);font-variant-numeric:tabular-nums}.meter{height:10px;border-radius:999px;background:var(--bg);overflow:hidden}.meter i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--pearl),#fff);border-radius:999px;transition:width .3s}.section{margin:6px 0 0;font:800 18px var(--round)}.locker{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}.locker .card{gap:6px}.locker h3{font-size:17px}.locker p{font-size:13px;color:var(--muted)}.locker .btn{margin-top:auto}.log{display:grid;grid-template-columns:1fr auto;gap:4px 16px;margin:0;font-variant-numeric:tabular-nums;font-size:14px}.log dt{color:var(--muted)}.log dd{margin:0;font-weight:800;text-align:right}.species{display:flex;flex-wrap:wrap;gap:6px}.species span{font-size:12px;font-weight:800;padding:3px 9px;border-radius:999px;background:var(--bg);color:var(--muted)}.species span.on{color:var(--ink)}.links{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0;padding:8px 16px 20px}.links:empty{display:none}.link{padding:0;border:0;background:none;color:var(--muted);font:700 14px var(--round);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.link:hover{color:var(--ink)}html:not(.has-pad-guide) .how-to{display:none}.bar-btn{border:0;border-radius:999px;padding:6px 12px;background:var(--panel-2);color:var(--ink);font:700 13px var(--round);cursor:pointer}.how-to .short{display:none}@media(max-width:480px){.how-to{width:30px;padding:6px 0}.how-to .long{display:none}.how-to .short{display:inline}}@media(max-width:860px){html,body{height:auto}body,.layout{display:block}.sea{height:56vh;min-height:320px}.panel{border-left:0;overflow:visible}.purse{font-size:24px}}@media(prefers-reduced-motion:reduce){.node.afford .halo,.btn.armed{animation:none}}
