@import"https://fonts.googleapis.com/css2?family=IM+Fell+English:ital@0;1&display=swap";.dice-container{position:absolute;z-index:20;pointer-events:none;width:92px;height:92px;perspective:600px}.dice-shadow{position:absolute;z-index:19;pointer-events:none;width:160px;height:92px;background:radial-gradient(ellipse 25% 8% at 40% 74%,#000000e6,#00000080,#0000 90%);transform-origin:15% 74%;mix-blend-mode:multiply;will-change:transform,opacity,filter}[data-map-theme=dark] .dice-shadow{background:radial-gradient(ellipse 25% 8% at 40% 74%,#020408,#02040899,#02040800 90%);mix-blend-mode:darken}.dice-scene{width:100%;height:100%;transform-style:preserve-3d;position:relative;overflow:visible}.dice-face-fill{fill:#383e48;stroke:#586170;stroke-width:1.5;stroke-linejoin:round}.dice-face-number{font-family:IM Fell English,serif;font-size:14px;fill:#f0e8d4;text-anchor:middle;dominant-baseline:central;-webkit-user-select:none;user-select:none;transition:font-size .2s ease,fill .35s ease}.dice-face-number-result{font-size:16px;font-weight:700;fill:#f7f1e4}.dice-face-ring{fill:none;stroke:#f0e8d4;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:84;stroke-dashoffset:84;opacity:0;filter:url(#ink-rough-dice)}.dice-face-ring-primary{animation:dice-ring-draw .6s ease-out .08s forwards}.dice-face-ring-secondary{stroke-width:1.1;stroke-opacity:.82;stroke-dasharray:69 18 11 10;animation:dice-ring-draw .72s ease-out .16s forwards}.dice-face-ring-tertiary{stroke-width:.95;stroke-opacity:.62;stroke-dasharray:28 9 22 13 15 11;animation:dice-ring-draw .78s ease-out .12s forwards}.dice-face-shadow{fill:#000;pointer-events:none}[data-theme=dim] .dice-face-fill{fill:#f3eee2;stroke:#8a7050}[data-theme=dim] .dice-face-number{fill:#383e48}[data-theme=dim] .dice-face-number-result{fill:#2f3540}[data-theme=dim] .dice-face-ring{stroke:#383e48}@keyframes dice-ring-draw{0%{stroke-dashoffset:72;opacity:0}20%{opacity:.95}to{stroke-dashoffset:0;opacity:.92}}.dice-white .dice-face-fill{fill:#f3eee2;stroke:#b3ab99}.dice-white .dice-face-number{fill:#2f3038}.dice-white .dice-face-ring{stroke:#2f3038}.dice-white .dice-face-number-result{fill:#16171c}.dice-blue .dice-face-fill{fill:#383e48;stroke:#586170}.dice-blue .dice-face-number{fill:#f0e8d4}.dice-blue .dice-face-number-result{fill:#f7f1e4}.dice-blue .dice-face-ring{stroke:#f0e8d4}.game{font-family:IM Fell English,serif;font-size:1.15rem;line-height:1.6;max-width:42ch;margin:0 auto;padding:1.5rem;padding-top:8vh;display:flex;flex-direction:column;gap:1.6rem}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.muted{color:var(--muted)}.clock-outer{fill:none;stroke:var(--chart-compass);stroke-width:.4;opacity:.3}.clock-face{fill:none;stroke:var(--chart-compass);stroke-width:.9;opacity:.7}.clock-ring{fill:none;stroke:var(--chart-compass);stroke-width:.3;opacity:.25}.clock-tick{stroke:var(--chart-compass);stroke-width:.9;opacity:.6}.clock-minor{stroke:var(--chart-compass);stroke-width:.4;opacity:.3}.clock-glyph{fill:none;stroke:var(--muted);opacity:.35;transition:opacity .8s ease,stroke .8s ease}.clock-glyph-active{stroke:var(--chart-compass);opacity:.8}.clock-glyph-text{font-family:serif;font-size:5px;fill:var(--muted);stroke:none;text-anchor:middle;dominant-baseline:central}.clock-glyph-text.clock-glyph-active{fill:var(--chart-compass);stroke:none}.clock-hand-group{transition:transform .3s cubic-bezier(.4,2.2,.6,1)}.clock-hand-shadow{stroke:var(--chart-land);stroke-width:2.4;stroke-linecap:round;opacity:.4}.clock-hand{stroke:var(--chart-compass);stroke-width:1.1;stroke-linecap:round;opacity:.85}.clock-boss{fill:none;stroke:var(--chart-compass);stroke-width:.5;opacity:.4}.clock-center{fill:var(--chart-compass);opacity:.7}.chart{display:flex;justify-content:center;width:100%;position:relative;filter:drop-shadow(0 3px 6px rgba(0,0,0,.15)) drop-shadow(0 8px 20px rgba(0,0,0,.07))}[data-theme=dim] .chart{filter:drop-shadow(0 1px 3px rgba(0,0,0,.04)) drop-shadow(0 4px 10px rgba(0,0,0,.03))}.chart-svg{width:100%;height:auto}.chart-bg{fill:var(--bg)}.chart-border{fill:none;stroke:var(--text);stroke-width:.8;opacity:.2}.chart-dog-ear{fill:var(--chart-depth);opacity:.06}[data-map-theme=dark] .chart-dog-ear{opacity:.03}[data-map-theme=dusk] .chart-dog-ear{opacity:.04}.chart-depth-shadow path{fill:#73a2b414;stroke:none;transition:fill .8s ease}[data-map-theme=dawn] .chart-depth-shadow path{fill:#c5e0dd1f}[data-map-theme=dusk] .chart-depth-shadow path{fill:#0000004d}[data-map-theme=dark] .chart-depth-shadow path{fill:#00000080}.chart-shadow path{fill:none;stroke:var(--chart-depth);stroke-width:1.75;opacity:.085}.chart-rhumb path{fill:none;stroke:var(--chart-depth);stroke-width:.3;opacity:.08;stroke-linecap:round;transition:stroke-width .35s ease,opacity .35s ease}[data-map-theme=dusk] .chart-rhumb path{opacity:.16}.chart-rhumb-travel path{stroke-width:.55;opacity:calc(.12 + var(--travel-wave-strength, 0) * .24);stroke:var(--chart-compass)}.chart-waves path{fill:none;stroke:var(--chart-depth);stroke-width:.3;opacity:.08;stroke-linecap:round;transition:stroke-width .35s ease,opacity .35s ease}[data-map-theme=dusk] .chart-sea-contours path{stroke:var(--text)}[data-map-theme=dusk] .chart-sea-contours{opacity:.7}[data-map-theme=dark] .chart-sea-contours path{stroke:var(--text)}[data-map-theme=dark] .chart-sea-contours{opacity:.6}.chart-waves-travel path{stroke-width:.45;opacity:calc(.1 + var(--travel-wave-strength, 0) * .12);stroke:var(--chart-compass)}[data-map-theme=day] .chart-sea-contours path{stroke-width:.55;stroke:color-mix(in srgb,var(--chart-depth) 80%,var(--chart-coast))}[data-map-theme=day] .chart-sea-contours-travel .chart-sea-ripple{opacity:calc(.06 + var(--travel-wave-strength, 0) * .1)!important}@keyframes chart-wave-ring-drift{0%{stroke-dashoffset:0;opacity:.68}50%{opacity:1}to{stroke-dashoffset:-18;opacity:.72}}.chart-sea-contours path{fill:none;stroke:var(--chart-depth);stroke-width:.4;stroke-dasharray:3 4;stroke-linecap:round;stroke-linejoin:round;transition:stroke .3s ease,stroke-width .3s ease,opacity .3s ease}.chart-sea-contours-travel .chart-sea-ripple{stroke:color-mix(in srgb,var(--chart-route) 78%,var(--chart-compass));stroke-width:calc(.45px + var(--travel-wave-strength, 0) * .25px);stroke-dasharray:5 4;opacity:calc(.08 + var(--travel-wave-strength, 0) * .18)!important;animation:chart-wave-ring-drift 2.4s ease-in-out infinite}.chart-land{fill:var(--chart-land)}.chart-coast{fill:none;stroke:var(--chart-coast);stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}.chart-ink-pool{opacity:.22}.chart-contours path{fill:none;stroke-width:.4;stroke-linecap:round;stroke-linejoin:round;opacity:.15}.chart-depth{font-family:var(--font-mono);font-size:7px;fill:var(--chart-depth);opacity:.45;-webkit-user-select:none;user-select:none}.chart-compass line{stroke:var(--chart-compass);stroke-width:.8}.chart-compass circle{fill:var(--chart-compass)}.compass-ring{fill:none;stroke:var(--chart-compass);stroke-width:.4;opacity:.4}.chart-compass text{font-family:var(--font-mono);font-size:6px;fill:var(--chart-compass)}.chart-route{stroke:var(--chart-route);stroke-width:.7;stroke-dasharray:3 4 2 5;stroke-linecap:round;opacity:.58;transition:opacity .5s ease}.chart-routes-travelling .chart-route:not(.chart-route-active){opacity:.2}[data-map-theme=dusk] .chart-compass line{stroke:color-mix(in srgb,var(--chart-compass) 55%,var(--text));stroke-width:.95}[data-map-theme=dusk] .compass-ring{stroke:color-mix(in srgb,var(--chart-compass) 58%,var(--text));stroke-width:.55;opacity:.54}[data-map-theme=dusk] .chart-compass text,[data-map-theme=dusk] .chart-compass circle{fill:color-mix(in srgb,var(--chart-compass) 52%,var(--text))}[data-map-theme=dusk] .chart-route{stroke:color-mix(in srgb,var(--chart-route) 62%,var(--text));stroke-width:.82;opacity:.72}.chart-dot{transition:fill .2s}.chart-dot-reachable:hover{fill:#4a4a5a!important}.chart-dot-dim{opacity:.5}[data-map-theme=day] .chart-route-active,[data-map-theme=dawn] .chart-route-active{stroke:color-mix(in srgb,var(--chart-route) 55%,black)}.chart-ring{fill:none;stroke-width:1.5;animation:ring-pulse 2s ease-in-out infinite}@keyframes ring-pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes chart-route-flow{0%{stroke-dashoffset:0}to{stroke-dashoffset:calc(var(--route-flow-direction, -1) * 14px)}}.chart-route-active{animation:chart-route-flow 4s linear infinite}.chart-creases{mix-blend-mode:multiply}.crease-shadow{stroke:var(--text);stroke-width:.6;opacity:.045}.crease-highlight{stroke:#fff;stroke-width:.4;opacity:.06}[data-map-theme=dark] .crease-shadow{opacity:.06}[data-map-theme=dark] .crease-highlight{stroke:#f4efe4;opacity:.025}[data-map-theme=dusk] .crease-shadow{opacity:.05}[data-map-theme=dusk] .crease-highlight{opacity:.035}.chart-player{fill:var(--text)}.chart-label{font-family:var(--font-mono);font-size:9.5px;font-weight:500;fill:var(--text);-webkit-user-select:none;user-select:none}.chart-label-current{fill:var(--current-town)}.chart-label-hovered{fill:#c4882a}[data-theme=dim] .chart-label-hovered{fill:#d4a245}.chart-label-dim{opacity:.5}.chart-label-dist{fill:var(--muted);font-size:8px;font-weight:400}.chart-note{fill:var(--muted);font-family:IM Fell English,serif;font-style:italic;font-size:7px;opacity:.8;pointer-events:none}.chart-tooltip{pointer-events:none}.chart-tooltip-bg{fill:color-mix(in srgb,#f8f1df 92%,white);stroke:color-mix(in srgb,var(--text) 55%,transparent);stroke-width:.8;filter:drop-shadow(0 1px 1px rgba(0,0,0,.14))}.chart-tooltip-text{fill:color-mix(in srgb,var(--text) 92%,black);font-family:var(--font-mono);font-size:8.4px;font-weight:600;letter-spacing:.01em}[data-map-theme=dusk] .chart-tooltip-bg,[data-map-theme=dark] .chart-tooltip-bg{fill:color-mix(in srgb,#161411 92%,black);stroke:color-mix(in srgb,#f4efe4 60%,transparent)}[data-map-theme=dusk] .chart-tooltip-text,[data-map-theme=dark] .chart-tooltip-text{fill:#f4efe4}.chart-tooltip-blocked{fill:#a03030}[data-map-theme=dusk] .chart-tooltip-blocked,[data-map-theme=dark] .chart-tooltip-blocked{fill:#d06050}.town-desc{text-align:center;color:var(--muted);font-size:.88rem;font-style:italic;line-height:1.5;margin:0;max-width:24rem}.voyage-text{color:var(--muted);font-size:.95rem;font-style:italic}.boat-img{width:250px;height:auto;opacity:.85;margin:-2rem 0}[data-theme=dim] .boat-img{filter:invert(1);opacity:.7}.market{display:flex;flex-direction:column;gap:.25rem;width:fit-content;margin:0 auto}.market-row{display:grid;grid-template-columns:10ch 6ch 6ch 4ch;gap:0 .5ch;align-items:baseline}.held-col{justify-self:end;text-align:right}.market-header{color:var(--muted)}.market-header>span{font-size:1rem}.market-sep{border-top:1px solid var(--muted);opacity:.3}.trade-btn{font-family:inherit;font-size:inherit;line-height:inherit;background:none;border:none;color:var(--text);cursor:pointer;padding:0;text-align:left;transition:opacity .15s}.trade-btn:hover:not(:disabled){opacity:.4}.trade-btn:disabled{color:var(--muted);cursor:default}.price-good{color:#00d26a}.price-bad{color:#b83a3a}[data-theme=dim] .price-good{color:#3ddc84}[data-theme=dim] .price-bad{color:#e57373}.held{color:var(--muted);justify-self:end;text-align:right;font-size:1.05rem}.qty-row{display:flex;justify-content:center;gap:1.2rem}.qty-btn{font-family:inherit;font-size:.8rem;background:none;border:none;color:var(--muted);cursor:pointer;padding:0;transition:color .15s}.qty-btn:hover,.qty-btn.active{color:var(--text)}.inventory{display:flex;flex-direction:column;gap:.2rem;font-size:1.05rem}.inv-row{display:flex;gap:1ch;align-items:baseline;font-size:1.05rem}.inv-qty{color:var(--muted)}.cargo-capacity{font-size:.95rem}.found-section{display:flex;flex-direction:column;gap:.8rem;margin-top:0}.found-section+.found-section{margin-top:1.1rem;padding-top:1.1rem;border-top:1px solid color-mix(in srgb,var(--text) 12%,transparent)}.found-section-title{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:-.4rem}.footer{display:flex;flex-direction:column;align-items:center;gap:.5rem}.controls{display:flex;align-items:center;gap:.6rem}.play-dot{width:8px;height:8px;border-radius:50%;border:none;cursor:pointer;transition:transform .1s;position:relative}.play-dot:hover{transform:scale(1.4)}.play-dot:before{content:"";position:absolute;inset:-8px}.reset-btn{font-family:inherit;font-size:.8rem;background:none;border:none;color:var(--muted);cursor:pointer;padding:0;transition:color .15s}.reset-btn:hover{color:var(--text)}.arrival-card{position:relative;width:min(33rem,100%);margin:0 auto;aspect-ratio:26 / 9;overflow:visible}.arrival-card-art,.arrival-card-content{position:absolute;inset:0}.arrival-card-art{width:100%;height:100%;overflow:visible}.arrival-card-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;padding:1.05rem 2.3rem 1rem}.arrival-card-shadow{fill:color-mix(in srgb,var(--chart-depth) 30%,transparent);opacity:.13;transform:translate(3px,5px)}.arrival-card-paper{fill:color-mix(in srgb,var(--bg) 94%,white)}.arrival-card-outline{fill:none;stroke:color-mix(in srgb,var(--text) 34%,transparent);stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round;opacity:.62}.arrival-card-outline-ghost{stroke:color-mix(in srgb,var(--chart-route) 20%,transparent);stroke-width:.9;opacity:.4}.arrival-card-rule{fill:none;stroke:color-mix(in srgb,var(--chart-route) 22%,transparent);stroke-width:.9;stroke-linecap:round;stroke-dasharray:3 6 1 4;opacity:.62}.arrival-card-rule-lower{stroke:color-mix(in srgb,var(--chart-depth) 18%,transparent);stroke-width:.75;stroke-dasharray:2 7 1 6;opacity:.38}[data-theme=dim] .arrival-card-rule{stroke:color-mix(in srgb,#f4efe4 52%,transparent)}[data-theme=dim] .arrival-card-rule-lower{stroke:color-mix(in srgb,#f4efe4 34%,transparent)}.arrival-card-stamp{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:color-mix(in srgb,var(--chart-depth) 72%,var(--text));opacity:.78}.status{display:flex;flex-direction:column;gap:.08rem;color:var(--text);font-size:1rem;text-align:center}.status-line{display:block}.status-line:first-child{font-family:IM Fell English,serif;font-size:1.35rem;font-weight:700;letter-spacing:.02em;color:var(--text);text-shadow:.6px .6px 0 color-mix(in srgb,var(--chart-depth) 10%,transparent)}.pouch-shadow{align-self:center;margin-top:-1.6rem;margin-bottom:-3rem;filter:drop-shadow(0 2px 3px rgba(0,0,0,.15))}.pouch-hitbox{width:68px;height:78px;overflow:hidden;cursor:pointer}.pouch-hitbox:hover .pouch-icon{opacity:.85}.pouch-icon{width:126px;height:126px;opacity:.5;transition:opacity .15s;pointer-events:none;margin-top:-42px;margin-left:-26px}.pouch-hidden{visibility:hidden;pointer-events:none}[data-theme=dim] .pouch-icon{filter:invert(1)}.talk-btn{position:relative;font-family:var(--font-mono);font-size:.8rem;font-weight:500;background:none;border:none;color:var(--text);cursor:pointer;padding:.18rem .1rem;margin-top:.22rem;margin-bottom:-.8rem;text-align:center;transition:opacity .15s,color .15s}.talk-btn:before,.talk-btn:after{content:"";position:absolute;left:0;right:0;height:1px;background:color-mix(in srgb,var(--muted) 35%,transparent);filter:url(#ink-rough-line);transition:background .15s ease}.talk-btn:before{top:0}.talk-btn:after{bottom:0}.talk-btn:hover{opacity:.8;color:color-mix(in srgb,var(--text) 90%,var(--muted))}.talk-btn:hover:before,.talk-btn:hover:after{background:color-mix(in srgb,var(--text) 42%,transparent)}.talk-btn-name{color:color-mix(in srgb,var(--talk-name-color, var(--text)) 68%,var(--text));transition:color .15s ease,opacity .15s ease}[data-theme=dim] .talk-btn-name{color:color-mix(in srgb,var(--talk-name-color, var(--text)) 74%,var(--text));text-shadow:0 0 .35px color-mix(in srgb,var(--text) 40%,transparent)}.talk-btn-hidden{opacity:0;pointer-events:none}.dialogue-panel{display:flex;flex-direction:column;gap:.5rem;border:none;padding:.75rem 0;position:relative}.dialogue-panel:before{content:"";position:absolute;left:0;right:0;height:1px;background:var(--muted);filter:url(#ink-rough-line)}.dialogue-panel:before{top:0}.dialogue-header{display:flex;align-items:flex-start;justify-content:space-between}.dialogue-header-left{display:flex;flex-direction:column}.dialogue-name{font-weight:500}.dialogue-role{color:var(--muted);font-size:.75rem;margin-bottom:.4rem}.dialogue-close{font-family:inherit;font-size:1rem;background:none;border:none;color:var(--muted);cursor:pointer;margin-left:auto;padding:0;line-height:1}.dialogue-close:hover{color:var(--text)}.dialogue-turns{display:flex;flex-direction:column;gap:.4rem;max-height:12rem;overflow-y:auto}.dialogue-turn{font-size:1.05rem;font-weight:500;line-height:1.5}.dialogue-action{display:block;font-style:italic;color:var(--text);opacity:.7;margin-bottom:.15rem}.dialogue-speech-line{display:block}.dialogue-speaker{font-weight:500}.dialogue-player{color:var(--muted);margin-top:.4rem;margin-bottom:.4rem}.dialogue-input-row{display:flex;gap:.5ch;position:relative;padding:.5rem 0;margin-top:.4rem}.dialogue-field{font-family:inherit;font-size:1.05rem;background:none;border:none;color:var(--text);outline:none;flex:1;padding:.2rem 0}.dialogue-input-row:before,.dialogue-input-row:after{content:"";position:absolute;left:0;right:0;height:1px;background:var(--muted);filter:url(#ink-rough-line)}.dialogue-input-row:before{top:0}.dialogue-input-row:after{bottom:0}.dialogue-field::placeholder{color:var(--muted);opacity:.7}.dialogue-departed{font-style:italic;color:var(--muted);opacity:.7;font-size:1.05rem;padding:.2rem 0}.dialogue-system-note{margin-top:.4rem;font-family:var(--font-mono);font-size:.82rem;line-height:1.45}.map-wrap{position:relative;width:53vw;max-width:638px;margin-left:50%;transform:translate(-50%)}.arrival-overlay{position:absolute;top:50%;left:.9rem;right:.9rem;transform:translateY(-50%) scale(.88);z-index:10;opacity:0;pointer-events:none;transition:opacity .55s ease,transform .7s cubic-bezier(.2,.9,.2,1)}.arrival-enter{opacity:1;transform:translateY(-50%) scale(1)}.arrival-exit,.arrival-hidden{opacity:0;transform:translateY(calc(-50% - 1.25rem)) scale(.94)}.map-container{transition:opacity .12s ease}.map-fade{opacity:.02;pointer-events:none}.cover-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:var(--bg);opacity:0;pointer-events:none;overflow:hidden;transition:opacity 3s ease}.cover-svg{width:min(82vw,82vh,806px);height:min(82vw,82vh,806px);display:block}.cover-mask-rect{transform-box:fill-box;transform:scaleY(0);transition:transform 1.2s cubic-bezier(.2,.7,.25,1)}.cover-mask-top{transform-origin:50% 100%}.cover-mask-bottom{transform-origin:50% 0%}.cover-visible{opacity:1}.cover-visible .cover-mask-rect{transform:scaleY(1)}.cover-fading{opacity:0;transition:opacity .2s ease .2s}.cover-fading .cover-mask-top{animation:cover-tear-top .5s cubic-bezier(.5,.05,.4,1) both}.cover-fading .cover-mask-bottom{animation:cover-tear-bottom .3s cubic-bezier(.45,.05,.5,1) .08s both}@keyframes cover-tear-top{0%{transform:scaleY(1) translateY(0) rotate(0) skew(0)}to{transform:scaleY(.42) translateY(-100%) rotate(-12deg) skew(-5deg)}}@keyframes cover-tear-bottom{0%{transform:scaleY(1) translateY(0) rotate(0) skew(0)}to{transform:scaleY(.35) translateY(135%) rotate(7.5deg) skew(-40deg)}}.intro-poem{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:1;transition:opacity 2s ease;margin-bottom:8%}.intro-poem-hidden{opacity:0}.intro-poem-stack{position:relative}.poem-card{position:relative;padding:2.4rem 3rem}.poem-card-character .intro-poem-line{font-size:clamp(.72rem,1.5vw,1.15rem);line-height:1.5}.poem-card-character .intro-poem-border{animation-delay:0s;animation-duration:1s}.poem-card-character .intro-poem-line{transition:none}.intro-poem-line-gap{height:.7em}.poem-attribution{margin:1.5rem 0 0;font-family:IM Fell English,monospace;font-size:.62rem;letter-spacing:.04em;color:var(--text);text-align:center;opacity:0;transition:opacity 2.4s ease}.poem-attribution-visible{opacity:.3}.character-poem{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;background:var(--bg);cursor:pointer;opacity:0;animation:character-poem-in 1.1s ease forwards}@keyframes character-poem-in{to{opacity:1}}.character-poem-fading{animation:character-poem-out 1.1s ease forwards;pointer-events:none}@keyframes character-poem-out{0%{opacity:1}to{opacity:0}}.character-poem-hint{position:absolute;bottom:3rem;left:50%;transform:translate(-50%);font-family:IM Fell English,monospace;font-size:.68rem;letter-spacing:.06em;color:color-mix(in srgb,var(--text) 30%,transparent);cursor:pointer;opacity:0;animation:character-poem-hint-in 2.4s ease 2.6s forwards;transition:color .25s ease}.character-poem-hint:hover{color:var(--text)}@keyframes character-poem-hint-in{to{opacity:1}}.intro-poem-ornament{position:absolute;left:0;right:0;width:100%;height:40px;opacity:0;animation:intro-poem-border-fade 3.8s ease 3.2s forwards}.intro-poem-ornament-top{top:0}.intro-poem-ornament-bottom{bottom:0}.poem-card-character .intro-poem-ornament{animation-delay:0s;animation-duration:1s}.intro-poem-border{position:absolute;inset:0;width:100%;height:100%;opacity:0;animation:intro-poem-border-fade 3.8s ease 3.2s forwards}@keyframes intro-poem-border-fade{to{opacity:1}}.intro-poem-border-rect{fill:var(--bg);stroke:var(--chart-route);stroke-width:3;opacity:.91}.intro-poem-border-ghost{fill:none;stroke:var(--chart-route);stroke-width:.6;opacity:1}.intro-poem-rule{fill:none;stroke:var(--chart-compass);stroke-width:.7;opacity:1;stroke-linecap:round}.intro-poem-flourish{fill:var(--chart-compass);stroke:var(--chart-compass);stroke-width:.7;stroke-linecap:round;opacity:.5}.intro-poem-content{position:relative;display:flex;flex-direction:column;gap:.05rem;padding:1.7rem 0}.intro-poem-line{margin:0;font-family:IM Fell English,monospace;font-style:italic;font-size:1.2rem;color:var(--text);text-align:center;white-space:nowrap;opacity:0;transform:translateY(.5em);transition:opacity .4s ease,transform 1.8s ease,filter 1.8s ease}.intro-poem-line-visible{opacity:.95;transform:translateY(0);filter:blur(0)}.intro-begin{position:fixed;inset:0;z-index:1100;background:var(--bg);border:none;margin:0;padding:2rem;display:grid;grid-template-columns:min(34rem,100%);justify-content:center;align-content:center;cursor:pointer;font-family:inherit;color:inherit;text-align:left}.intro-column{--step: 1.15rem;display:grid;row-gap:var(--step)}.intro-title{font-family:IM Fell English,serif;font-size:1.3rem;font-weight:600;line-height:1.3;color:var(--text);opacity:.9;margin-bottom:calc(var(--step) * .25)}.intro-body{font-family:IM Fell English,serif;font-size:.95rem;line-height:1.75;color:var(--text);opacity:.58}.intro-begin-prompt{font-family:IM Fell English,serif;font-style:italic;font-size:1.4rem;line-height:1.3;color:var(--muted);letter-spacing:.05em;margin-top:calc(var(--step) * 2);animation:intro-begin-pulse 2.4s ease-in-out infinite}@keyframes intro-begin-pulse{0%,to{opacity:.45}50%{opacity:.85}}.dialogue-overlay{position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);z-index:10;padding:1rem 1.5rem;transition:opacity .12s ease}.dialogue-overlay.dialogue-open{opacity:1;pointer-events:auto}.dialogue-overlay.dialogue-closed{opacity:0;pointer-events:none}.found-objects{position:fixed;inset:0;margin:auto;width:min(44rem,calc(100vw - 3rem));height:fit-content;max-height:84vh;z-index:60;opacity:0;pointer-events:none;transform:scale(.95);transition:opacity .25s ease,transform .25s ease}.found-objects.found-open{opacity:1;transform:scale(1);pointer-events:auto}.found-objects.found-closed{opacity:0;transform:scale(.95)}.found-border{position:absolute;inset:0;width:100%;height:100%}.found-border-rect{fill:var(--bg);stroke:var(--chart-route);stroke-width:3;opacity:.4}.found-close{position:absolute;top:.95rem;right:1.15rem;font-family:inherit;font-size:1rem;background:none;border:none;color:var(--muted);cursor:pointer;padding:0;line-height:1;z-index:1}.found-close:hover{color:var(--text)}.found-content{position:relative;display:flex;flex-direction:column;gap:0;padding:1.25rem 1.5rem;max-height:84vh;overflow-y:auto}.found-gold{font-size:1rem;color:#c4882a;margin-bottom:1.15rem}[data-theme=dim] .found-gold{color:#d4a245}.found-object{display:flex;flex-direction:column;gap:.05rem;line-height:1.4}.found-name{font-size:1rem;color:var(--text)}.found-flavor{font-size:.95rem;color:var(--text);font-style:italic;opacity:.6}.maintenance-panel{display:flex;flex-direction:column;gap:.38rem;align-items:center;width:min(47.7vw,574px,calc(100vw - 2rem));align-self:center;margin-top:.15rem;color:var(--muted);font-size:.78rem}.maintenance-panel-hidden{opacity:0;visibility:hidden;pointer-events:none}.maintenance-summary{display:flex;flex-direction:column;gap:.14rem;align-items:center;margin:0;width:100%;--maintenance-line-color: color-mix(in srgb, var(--text) 78%, var(--muted))}.maintenance-line{margin:0;text-align:center;font-family:IM Fell English,serif;font-size:.87rem;line-height:1.42;color:var(--maintenance-line-color)}.maintenance-line,.maintenance-line *{color:var(--maintenance-line-color)!important}.maintenance-word{display:inline-block;white-space:pre;color:inherit;transition:color 0s;opacity:0;will-change:opacity,transform,filter}.maintenance-actions{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center;margin-top:.2rem}.maintenance-btn{position:relative;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.03em;background:none;border:none;color:var(--text);padding:.38rem .1rem;cursor:pointer;transition:color .15s ease,opacity .15s ease}.maintenance-btn:before,.maintenance-btn:after{content:"";position:absolute;left:0;right:0;height:1px;background:color-mix(in srgb,var(--muted) 35%,transparent);filter:url(#ink-rough-line);transition:background .15s ease}.maintenance-btn:before{top:0}.maintenance-btn:after{bottom:0}.maintenance-btn-cost{color:#c4882a;font-size:.68rem}[data-theme=dim] .maintenance-btn-cost{color:#d4a245}.maintenance-btn:hover:not(:disabled){color:color-mix(in srgb,var(--text) 90%,var(--muted))}.maintenance-btn:hover:not(:disabled):before,.maintenance-btn:hover:not(:disabled):after{background:color-mix(in srgb,var(--text) 55%,transparent)}.maintenance-btn:disabled{opacity:.4;cursor:default}@media(max-width:860px){.map-layout{grid-template-columns:minmax(0,1fr);gap:.55rem;width:100%;max-width:100%;margin-left:0;transform:none}.map-wrap{width:100%}.arrival-overlay{top:50%;left:.55rem;right:.55rem}.maintenance-panel{justify-self:center;width:min(18rem,100%);padding-top:0}}.dialogue-allowance{position:relative;height:2px;margin:.75rem 0 0;width:4.5rem;background:color-mix(in srgb,var(--text) 11%,transparent);overflow:hidden}.dialogue-allowance-fill{position:absolute;inset:0;transform-origin:left center;background:color-mix(in srgb,var(--text) 55%,transparent);transition:transform 1.1s cubic-bezier(.22,.61,.36,1)}.found-poem{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;background:none;border:none;padding:.15rem 0;font:inherit;text-align:left;cursor:pointer;opacity:.85;transition:opacity .15s}.found-poem:hover{opacity:1}.intro-skip{position:absolute;top:calc(100% + 1.6rem);left:50%;transform:translate(-50%);white-space:nowrap;background:none;border:none;padding:.4rem 1rem;font-family:IM Fell English,monospace;font-size:.68rem;letter-spacing:.06em;color:color-mix(in srgb,var(--text) 26%,transparent);cursor:pointer;pointer-events:auto;transition:color .25s ease}.intro-skip:hover{color:var(--text)}.intro-poem-hidden .intro-skip{pointer-events:none}@font-face{font-family:Crossfade Mono;src:url(/fonts/CrossfadeMono-VF.woff2) format("woff2-variations");font-weight:400;font-display:swap}:root{--font-mono: "Crossfade Mono", ui-monospace, monospace;--blend: 37}@property --bg{syntax: "<color>"; inherits: true; initial-value: #faf3e1;}@property --text{syntax: "<color>"; inherits: true; initial-value: #222;}@property --muted{syntax: "<color>"; inherits: true; initial-value: #999;}@property --chart-land{syntax: "<color>"; inherits: true; initial-value: #e8dcc4;}@property --chart-coast{syntax: "<color>"; inherits: true; initial-value: #1a1a2e;}@property --chart-depth{syntax: "<color>"; inherits: true; initial-value: #8a8070;}@property --chart-route{syntax: "<color>"; inherits: true; initial-value: #3a3a50;}@property --chart-compass{syntax: "<color>"; inherits: true; initial-value: #1a1a2e;}@property --town-perth{syntax: "<color>"; inherits: true; initial-value: #2a5040;}@property --town-gullam{syntax: "<color>"; inherits: true; initial-value: #223f63;}@property --town-silkmer{syntax: "<color>"; inherits: true; initial-value: #3a3050;}@property --town-goldcrest{syntax: "<color>"; inherits: true; initial-value: #6a5a20;}@property --town-lamp{syntax: "<color>"; inherits: true; initial-value: #5a2a2a;}@property --current-town{syntax: "<color>"; inherits: true; initial-value: #1a3a50;}@property --coast-0{syntax: "<color>"; inherits: true; initial-value: #3a2020;}@property --coast-1{syntax: "<color>"; inherits: true; initial-value: #1a3020;}@property --coast-2{syntax: "<color>"; inherits: true; initial-value: #201a30;}@property --coast-3{syntax: "<color>"; inherits: true; initial-value: #302010;}@property --coast-4{syntax: "<color>"; inherits: true; initial-value: #302a10;}@property --coast-default{syntax: "<color>"; inherits: true; initial-value: #1a1a2e;}@property --grain-opacity{syntax: "<number>"; inherits: true; initial-value: .55;}:root{--bg: #f0e8d4;--text: #222;--muted: #999;--grain-opacity: .55}[data-theme=light]{--bg: #f0e8d4;--text: #222;--muted: #999;--grain-opacity: .55}[data-theme=dim]{--bg: #3e3632;--text: #d8d0c4;--muted: #8a8078;--grain-opacity: .25}[data-map-theme]{transition:--chart-land .8s,--chart-coast .8s,--chart-depth .8s,--chart-route .8s,--chart-compass .8s,--town-perth .8s,--town-gullam .8s,--town-silkmer .8s,--town-goldcrest .8s,--town-lamp .8s,--current-town .8s,--coast-0 .8s,--coast-1 .8s,--coast-2 .8s,--coast-3 .8s,--coast-4 .8s,--coast-default .8s}[data-map-theme=dawn]{--bg: #faf3e1;--text: #222;--muted: #999;--chart-land: #e8dcc4;--chart-coast: #1a1a2e;--chart-depth: #8a8070;--chart-route: #3a3a50;--chart-compass: #1a1a2e;--town-perth: #3a3830;--town-gullam: #113946;--town-silkmer: #262A56;--town-goldcrest: #4a4028;--town-lamp: #3a2020;--current-town: #1a3a50;--coast-0: #2a1a1a;--coast-1: #1a1a20;--coast-2: #281828;--coast-3: #1e1e1a;--coast-4: #2a2418;--coast-default: #1a1820}[data-map-theme=day]{--bg: #f0ddc4;--text: #2a1a0a;--muted: #9a7a58;--chart-land: #dcc8a4;--chart-coast: #3a2010;--chart-depth: #8a7050;--chart-route: #5a4030;--chart-compass: #707880;--town-perth: #4a4838;--town-gullam: #113946;--town-silkmer: #262A56;--town-goldcrest: #585030;--town-lamp: #4a2820;--current-town: #5a3010;--coast-0: #3a2018;--coast-1: #282828;--coast-2: #382030;--coast-3: #2e2a1e;--coast-4: #383018;--coast-default: #2a2420}[data-map-theme=dusk]{--bg: #3a3430;--text: #c0b8a8;--muted: #706860;--chart-land: #302a28;--chart-coast: #584838;--chart-depth: #606050;--chart-route: #504838;--chart-compass: #584838;--town-perth: #585848;--town-gullam: #113946;--town-silkmer: #464a92;--town-goldcrest: #706840;--town-lamp: #604838;--current-town: #a09060;--coast-0: #483028;--coast-1: #383830;--coast-2: #403040;--coast-3: #3a3428;--coast-4: #404020;--coast-default: #383028}[data-map-theme=dark]{--bg: #181c22;--text: #c0c4c0;--muted: #484848;--chart-land: #121820;--chart-coast: #707880;--chart-depth: #383e48;--chart-route: #505860;--chart-compass: #707880;--town-perth: #506058;--town-gullam: #113946;--town-silkmer: #262A56;--town-goldcrest: #686048;--town-lamp: #584040;--current-town: #5888a0;--coast-0: #504040;--coast-1: #404848;--coast-2: #484050;--coast-3: #484838;--coast-4: #484830;--coast-default: #484848}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--text) 25%,transparent) transparent}*::-webkit-scrollbar{width:6px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--text) 20%,transparent);border-radius:3px}*::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--text) 35%,transparent)}body,#root{user-select:text;-webkit-user-select:text}button,input,textarea,select,[contenteditable=true]{font-variation-settings:inherit}input,textarea,[contenteditable=true]{user-select:text;-webkit-user-select:text}html{zoom:1.14}html,body{background:var(--bg);color:var(--text);font-variation-settings:"BLND" var(--blend);min-height:100vh;overflow:hidden}input,textarea,[contenteditable=true]{cursor:text!important}.custom-cursor-enabled,.custom-cursor-enabled body,.custom-cursor-enabled *{cursor:none!important}.custom-cursor-enabled input,.custom-cursor-enabled textarea,.custom-cursor-enabled [contenteditable=true]{cursor:text!important}.custom-cursor{position:fixed;top:0;left:0;width:56px;height:56px;pointer-events:none;z-index:10001;transform:translate3d(-100px,-100px,0);transform-origin:50% 50%;transition:opacity .14s ease;opacity:0}.custom-cursor svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;opacity:0;transform-origin:16px 16px;transition:opacity .11s ease,transform .15s cubic-bezier(.22,.9,.3,1)}.custom-cursor.no-transition svg{transition:none!important}.custom-cursor-default{transform:rotate(0) scale(1)}.custom-cursor-action{transform:rotate(28deg) scale(.72)}.custom-cursor-arrow{transform-origin:16px 16px;transform:rotate(-14deg) scale(.8);transition:none}.custom-cursor[data-variant=default] .custom-cursor-action,.custom-cursor[data-variant=default] .custom-cursor-arrow,.custom-cursor[data-variant=action] .custom-cursor-default,.custom-cursor[data-variant=action] .custom-cursor-arrow,.custom-cursor[data-variant=travel] .custom-cursor-default,.custom-cursor[data-variant=travel] .custom-cursor-action,.custom-cursor[data-variant=hidden] .custom-cursor-default,.custom-cursor[data-variant=hidden] .custom-cursor-action,.custom-cursor[data-variant=hidden] .custom-cursor-arrow{opacity:0}.custom-cursor[data-variant=default] .custom-cursor-default,.custom-cursor[data-variant=action] .custom-cursor-action,.custom-cursor[data-variant=travel] .custom-cursor-arrow{opacity:1}.custom-cursor[data-variant=default] .custom-cursor-default{transform:rotate(0) scale(1)}.custom-cursor[data-variant=default] .custom-cursor-action{transform:rotate(32deg) scale(.68)}.custom-cursor[data-variant=action] .custom-cursor-default{transform:rotate(-32deg) scale(.68)}.custom-cursor[data-variant=action] .custom-cursor-action{transform:rotate(0) scale(1)}.custom-cursor[data-variant=default] .custom-cursor-arrow{transform:rotate(-18deg) scale(.78)}.custom-cursor[data-variant=travel] .custom-cursor-default{transform:rotate(10deg) scale(.86)}.custom-cursor[data-variant=travel] .custom-cursor-arrow{transform:rotate(0) scale(1)}.cursor-outline,.cursor-outline-secondary,.cursor-outline-detail,.cursor-mark-outline,.cursor-mark-ink,.cursor-mark-ghost,.cursor-arrow-shadow,.cursor-arrow-main,.cursor-arrow-detail,.cursor-arrow-ghost{fill:none;stroke-linecap:round;stroke-linejoin:round}.cursor-outline{stroke:color-mix(in srgb,var(--bg) 92%,white);stroke-width:3.6}.cursor-outline-secondary,.cursor-outline-detail{stroke:color-mix(in srgb,var(--text) 92%,black)}.cursor-outline-secondary{stroke-width:1.45;opacity:.7}.cursor-outline-detail{stroke-width:1.75}.cursor-mark-outline{stroke:color-mix(in srgb,var(--bg) 82%,white);stroke-width:1.9;opacity:.72}.cursor-mark-ink{stroke:color-mix(in srgb,var(--chart-compass) 82%,var(--text));stroke-width:1.15;opacity:.92}.cursor-mark-ghost{stroke:color-mix(in srgb,var(--chart-compass) 70%,var(--muted));stroke-width:.78;opacity:.52}.custom-cursor[data-variant=action] .cursor-mark-ink{stroke:var(--text);opacity:.95}.custom-cursor[data-variant=action] .cursor-mark-ghost{stroke:color-mix(in srgb,var(--text) 60%,var(--muted));opacity:.55}[data-theme=light] .cursor-mark-outline{stroke-width:2.2;opacity:.78}[data-theme=light] .cursor-mark-ink{stroke-width:1.32;opacity:.96}[data-theme=light] .cursor-mark-ghost{stroke-width:.9;opacity:.58}[data-theme=dim] .cursor-mark-outline{stroke:color-mix(in srgb,#f4efe4 82%,white);stroke-width:1.7;opacity:.9}[data-theme=dim] .cursor-mark-ink{stroke:color-mix(in srgb,#f4efe4 90%,var(--text));stroke-width:1.05;opacity:.98}[data-theme=dim] .cursor-mark-ghost{stroke:color-mix(in srgb,#f4efe4 64%,var(--muted));stroke-width:.7;opacity:.68}.cursor-arrow-shadow{stroke:color-mix(in srgb,var(--bg) 84%,white);stroke-width:3;opacity:.72}.cursor-arrow-main,.cursor-arrow-detail,.cursor-arrow-ghost{stroke:color-mix(in srgb,var(--text) 94%,black)}.cursor-arrow-main{stroke-width:2;opacity:.98}.cursor-arrow-detail{stroke-width:.95;opacity:.72}.cursor-arrow-ghost{stroke:color-mix(in srgb,var(--chart-compass) 72%,var(--muted));stroke-width:.6;opacity:.42}[data-theme=light] .cursor-arrow-shadow{stroke:color-mix(in srgb,var(--bg) 70%,white);opacity:.82}[data-theme=light] .cursor-arrow-main{stroke:color-mix(in srgb,var(--chart-compass) 92%,black);opacity:.98}[data-theme=light] .cursor-arrow-detail{stroke:color-mix(in srgb,var(--chart-route) 88%,var(--text));opacity:.88}body:before{content:"";position:fixed;inset:0;z-index:9999;pointer-events:none;background:#fff;opacity:var(--grain-opacity, .55);filter:url(#grain);mix-blend-mode:var(--grain-blend, multiply)}.ink-blotch-overlay{position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle,rgba(30,25,20,.35) .7px,transparent .7px);background-size:4px 4px;filter:url(#halftone-blotch);opacity:0;mix-blend-mode:multiply;transition:opacity .6s ease}.ink-blotch-overlay.halftone-visible{opacity:.25}svg.grain-filter{position:absolute;width:0;height:0}#root{min-height:100vh}.handheld{position:fixed;inset:0;overflow:hidden;background:var(--bg);touch-action:manipulation;-webkit-tap-highlight-color:transparent;cursor:pointer}.handheld-note{position:absolute;right:0;left:0;bottom:calc(1.25rem + env(safe-area-inset-bottom));text-align:center;font-family:var(--font-mono);font-size:.95rem;color:var(--text);opacity:.7}
