:root{--vellum: #e0e4d1;--ink: #22303b;--ink-soft: #5d6d75;--vermilion: #b33a2b;--verdigris: #4e7e74;--brass: #a8834f;--rule: rgba(34, 48, 59, .55);--rule-soft: rgba(34, 48, 59, .22);--wash: rgba(217, 222, 202, .88);--ease-out: cubic-bezier(.23, 1, .32, 1)}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;overflow:hidden;background:var(--vellum);color:var(--ink);font-family:EB Garamond,Georgia,serif}.app{position:relative;height:100%}.chart{position:absolute;inset:0;width:100%;height:100%;cursor:grab;touch-action:none}.chart:active{cursor:grabbing}.chart:focus-visible{outline:2px solid var(--verdigris);outline-offset:-2px}.chart-title{position:absolute;top:20px;left:20px;padding:4px 12px 7px;border-top:1.5px solid var(--rule);border-bottom:1px solid var(--rule);background:var(--wash);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);-webkit-user-select:none;user-select:none;z-index:15}.chart-title h1{font-family:EB Garamond,Georgia,serif;font-weight:600;font-size:20px;letter-spacing:.42em;margin:0;color:var(--ink)}.chart-title .sub{font-family:EB Garamond,serif;font-style:italic;font-size:11.5px;letter-spacing:.03em;color:var(--ink-soft);margin:2px 0 0}.chart-title .ledger-line{font-family:EB Garamond,serif;font-size:12px;color:var(--ink-soft);margin-top:7px;font-variant-numeric:tabular-nums}.first-note{position:absolute;left:50%;bottom:34px;transform:translate(-50%);display:flex;align-items:baseline;gap:10px;max-width:min(560px,calc(100vw - 150px));padding:7px 10px;background:var(--wash);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule-soft);font-size:13.5px;color:var(--ink);z-index:22;animation:slip-in-c .35s var(--ease-out)}.first-note .fn-mark{color:var(--vermilion);flex-shrink:0}.first-note b{font-weight:600;font-variant:small-caps;letter-spacing:.06em}.fn-haptics{background:none;border:none;font-family:inherit;font-size:inherit;color:var(--ink-soft);border-bottom:1px dashed var(--rule);cursor:pointer;padding:0}.fn-haptics:hover{color:var(--ink)}.first-note button{background:none;border:none;color:var(--ink-soft);font-size:15px;cursor:pointer;padding:0 6px;align-self:center}.first-note button:hover{color:var(--ink)}.chart-note-help{position:absolute;left:20px;bottom:20px;width:30px;height:30px;font-family:EB Garamond,serif;font-size:14px;color:var(--ink-soft);background:transparent;border:1px solid var(--rule-soft);border-radius:50%;cursor:pointer;z-index:20}.chart-note-help:hover{color:var(--ink);border-color:var(--ink)}.claim-card{position:absolute;width:224px;visibility:hidden;background:var(--wash);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-top:1.5px solid var(--rule);border-bottom:1px solid var(--rule-soft);padding:8px 8px 10px;z-index:30;animation:slip-in .28s var(--ease-out)}.claim-card[data-side=below]:after{bottom:auto;top:-26px;background:linear-gradient(to top,#22303b99,#22303b0d)}.claim-card:after{content:"";position:absolute;left:var(--leader-x, 50%);bottom:-26px;width:1px;height:24px;background:linear-gradient(to bottom,#22303b99,#22303b0d);pointer-events:none}@keyframes slip-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes slip-in-c{0%{opacity:0;transform:translate(-50%) translateY(6px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes slip-out{to{opacity:0;transform:translateY(6px)}}@keyframes slip-out-c{to{opacity:0;transform:translate(-50%) translateY(6px)}}.claim-card.leaving,.ledger-entry.leaving,.logbook.leaving{animation:slip-out .2s var(--ease-out) forwards}.first-note.leaving,.toast.leaving{animation:slip-out-c .2s var(--ease-out) forwards}.sel-anchor{position:absolute;display:none;width:14px;height:14px;margin:-7px 0 0 -7px;border:1.5px solid var(--vermilion);border-radius:50%;pointer-events:none;z-index:28;animation:anchor-breathe 1.6s ease-out infinite}@keyframes anchor-breathe{0%{transform:scale(.7);opacity:.9}70%{transform:scale(1.5);opacity:.25}to{transform:scale(1.5);opacity:0}}.claim-kicker{font-family:IM Fell English SC,EB Garamond,serif;font-size:11px;letter-spacing:.05em;color:var(--ink-soft);margin-bottom:8px}.claim-card input{display:block;width:100%;margin:0 0 8px;padding:6px 2px;font-family:EB Garamond,serif;font-size:16px;color:var(--ink);background:transparent;border:none;border-bottom:1px solid rgba(34,48,59,.4);border-radius:0;outline:none}.claim-card input:focus{border-bottom-color:var(--vermilion)}.claim-card button[type=submit]{display:block;width:100%;font-family:EB Garamond,serif;font-variant:small-caps;font-size:13px;letter-spacing:.08em;color:var(--vellum);background:var(--ink);border:none;padding:8px 14px;cursor:pointer}.claim-card button[type=submit]:disabled{opacity:.4;cursor:default}.claim-card button[type=submit]:not(:disabled):hover{background:var(--vermilion)}.claim-close{position:absolute;top:0;right:-4px;background:none;border:none;font-size:16px;color:var(--ink-soft);cursor:pointer;width:30px;height:30px;line-height:1}.claim-close:hover{color:var(--ink)}.claim-plaque .claim-name{font-family:IM Fell English SC,serif;font-size:19px;color:var(--ink);margin-bottom:2px}.claim-byline{font-style:italic;font-size:13px;color:var(--ink-soft)}.claim-plaque .ref-share{margin-top:6px}.claim-taken{font-size:14px;color:var(--ink-soft);line-height:1.4}.claim-taken em{color:var(--ink)}.claim-error{min-height:0;font-size:13px;color:var(--vermilion);margin-top:4px}.claim-error:empty{margin:0}.claim-card.sinking{animation:sink-in .38s cubic-bezier(.4,0,.7,.3) forwards}.claim-card.sinking input,.claim-card.sinking button{pointer-events:none}@keyframes sink-in{to{transform:translate(var(--sink-x, 0),var(--sink-y, 0)) scale(.06);opacity:0}}.ledger-entry{position:absolute;width:224px;visibility:hidden;padding:7px 8px 9px;z-index:28;border-top:1.5px solid var(--rule);border-bottom:1px solid var(--rule-soft);background:var(--wash);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fade-in .3s ease-out}.ledger-entry[data-side=above]:before{top:auto;bottom:-46px;background:linear-gradient(to bottom,#22303ba6,#22303b0d)}.ledger-entry:before{content:"";position:absolute;top:-46px;left:50%;width:1px;height:44px;background:linear-gradient(to top,#22303ba6,#22303b0d)}@keyframes fade-in{0%{opacity:0}}.le-kicker{font-family:IM Fell English SC,EB Garamond,serif;font-size:11px;letter-spacing:.05em;color:var(--ink-soft);margin-bottom:4px}.le-line{font-size:14px;line-height:1.45;color:var(--ink)}.le-line em{font-family:IM Fell English SC,serif;font-style:normal;font-size:15px}.le-actions{display:flex;align-items:baseline;gap:16px;margin-top:8px}.le-actions button{background:transparent;border:none;padding:2px 0;min-width:44px;cursor:pointer;text-align:left}.ref-share{font-family:EB Garamond,serif;font-variant-numeric:tabular-nums;font-size:11px;letter-spacing:.04em;color:var(--ink);background:transparent;border:none;border-bottom:1px dashed var(--rule);padding:0;cursor:pointer}.ref-share .ref-mark{color:var(--vermilion);display:inline-block;min-width:3em;text-align:left}.ref-share:hover{color:var(--vermilion);border-bottom-color:var(--vermilion)!important}.sail-on{font-family:EB Garamond,serif;font-style:italic;font-size:13px;color:var(--ink-soft)}.sail-on:hover{color:var(--ink)}.le-link{width:100%;margin-top:6px;font-family:EB Garamond,serif;font-size:12px;color:var(--ink-soft);background:transparent;border:none;border-bottom:1px dashed var(--rule);padding:2px 0}.toast{position:absolute;top:20px;left:50%;transform:translate(-50%);font-family:EB Garamond,serif;font-size:13.5px;color:var(--ink);background:var(--wash);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule-soft);padding:6px 10px;z-index:25;animation:slip-in-c .3s var(--ease-out)}.ledger-line .count{display:inline-block;min-width:1.4em;text-align:right;animation:count-turn .45s var(--ease-out)}@keyframes count-turn{0%{opacity:0;transform:translateY(.45em)}to{opacity:1;transform:none}}.toast:before{content:"※ ";color:var(--vermilion)}.logbook-toggle{position:absolute;right:20px;bottom:20px;font-family:EB Garamond,serif;font-variant:small-caps;font-size:13px;letter-spacing:.08em;color:var(--ink-soft);background:transparent;border:none;border-top:1.5px solid var(--rule);border-bottom:1px solid var(--rule-soft);padding:7px 2px;cursor:pointer;z-index:20}.logbook-toggle:hover,.logbook-toggle[aria-expanded=true]{color:var(--ink)}.logbook{position:absolute;right:20px;bottom:58px;width:240px;max-height:50vh;overflow-y:auto;background:var(--wash);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-top:1.5px solid var(--rule);border-bottom:1px solid var(--rule-soft);z-index:25;animation:slip-in .25s var(--ease-out)}.logbook-head{font-family:IM Fell English SC,EB Garamond,serif;font-size:11px;letter-spacing:.05em;color:var(--ink-soft);padding:10px 14px 6px;border-bottom:1px solid var(--rule-soft)}.logbook ul{list-style:none;margin:0;padding:4px 0}.logbook li button{display:flex;justify-content:space-between;gap:10px;width:100%;background:none;border:none;padding:7px 14px;cursor:pointer;font-family:EB Garamond,serif;font-size:14px;color:var(--ink);text-align:left}.logbook li button:hover,.logbook li button:focus-visible{background:#b33a2b14;outline:none}.logbook .lb-name{font-style:italic}.logbook .lb-uncharted{color:var(--ink-soft)}.logbook .lb-kind{font-family:IM Fell English SC,EB Garamond,serif;font-size:12.5px;letter-spacing:.05em;color:var(--ink);align-self:center;white-space:nowrap}.logbook .lb-what{display:flex;flex-direction:column}.logbook .lb-ref{font-size:12px;font-variant-numeric:tabular-nums;letter-spacing:.04em;color:var(--ink-soft);margin-top:1px}.logbook .lb-empty{padding:10px 14px;font-style:italic;font-size:13px;color:var(--ink-soft)}.logbook-toggle:active,.le-actions button:active,.claim-plaque .ref-share:active,.claim-card button[type=submit]:active,.first-note button:active,.chart-note-help:active,.claim-close:active,.logbook li button:active{transform:translateY(1px)}.claim-card button[type=submit]:active{background:#16232c}button:focus-visible,input:focus-visible{outline:1.5px solid var(--verdigris);outline-offset:1px}@media(max-width:520px){.chart-title{top:12px;left:12px;padding:3px 8px 6px}.chart-title h1{font-size:16px}.chart-title .sub,.chart-title .ledger-line{font-size:12px}.first-note{left:12px;right:12px;bottom:66px;transform:none;max-width:none;font-size:13px;animation:slip-in .35s var(--ease-out)}.first-note.leaving{animation-name:slip-out}.fn-haptics{background:none;border:none;font-family:inherit;font-size:inherit;color:var(--ink-soft);border-bottom:1px dashed var(--rule);cursor:pointer;padding:0}.chart-note-help{inset:12px 12px auto auto;width:44px;height:44px}.sel-anchor{display:block}.claim-card{left:10px!important;right:10px;top:auto!important;bottom:10px;width:auto;visibility:visible}.claim-card:after{display:none}.first-note button{min-width:44px;min-height:44px;align-self:flex-start}.logbook-toggle{right:14px;bottom:14px;min-height:44px;padding:11px 4px}.logbook{right:10px;bottom:64px;width:min(240px,calc(100vw - 20px))}.logbook li button{min-height:44px;align-items:center}.claim-card input,.le-link{min-height:44px}.claim-card button[type=submit],.le-actions button,.claim-plaque .ref-share,.fn-haptics{min-height:44px;min-width:44px}.claim-close{top:-44px;right:4px;width:44px;height:44px;font-size:20px;background:var(--wash)}.ledger-entry{left:10px!important;right:10px;width:auto;visibility:visible}.toast{top:auto;bottom:72px;font-size:13px;max-width:calc(100vw - 28px)}.claim-card~.first-note,.ledger-entry~.first-note{display:none}.claim-card~.logbook,.claim-card~.logbook-toggle,.ledger-entry~.logbook,.ledger-entry~.logbook-toggle{display:none}}.logbook~.first-note{display:none}@media(prefers-reduced-motion:reduce){.claim-card,.claim-card.leaving,.toast,.toast.leaving,.logbook,.logbook.leaving,.first-note,.first-note.leaving,.ledger-entry,.ledger-entry.leaving,.sel-anchor,.ledger-line .count{animation:none}.claim-card.sinking{animation:none;opacity:0;transition:opacity .15s}}
