/* The chart remains inside the same ship. Ink, brass, and a physical source of light. */
#chart{padding:0;min-height:900px;height:100svh;background:#050404;isolation:isolate;overflow:hidden}
#chart-content{min-height:inherit;height:100%;position:relative}
.bearing-world{position:absolute;inset:96px 0 0;overflow:hidden;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.bearing-set{position:absolute;right:0;top:0;--hint-intensity:.24}
.bearing-set>img{position:absolute;inset:0;width:100%;height:100%;max-width:none;pointer-events:none;-webkit-user-drag:none}
.bearing-lit{opacity:var(--hint-intensity);transition:opacity 1.5s ease}
.bearing-lamp-aura{position:absolute;left:89.1%;top:40%;width:58%;aspect-ratio:1;transform:translate(-50%,-50%);background:radial-gradient(circle,#ffe9be50, #ec9a3726 12%, transparent 64%);opacity:var(--hint-intensity);transition:opacity 1.5s ease;pointer-events:none;mix-blend-mode:screen}
.bearing-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#050404ed 0%,#050404cc 33%,#05040445 57%,transparent 75%),linear-gradient(0deg,#050404 0%,#050404cc 18%,transparent 51%)}
.bearing-topline{position:absolute;z-index:3;top:124px;left:var(--page-pad);right:var(--page-pad);display:flex;align-items:center;justify-content:space-between;gap:24px}
.bearing-route{display:flex;gap:30px}
.bearing-route button{padding:12px 0;background:transparent;color:#b7a18e;font:12px var(--mina);display:flex;align-items:center;gap:9px;min-height:44px;border-bottom:1px solid transparent}
.bearing-route button>span{font:10px var(--bai);color:#bb874f}
.bearing-route button[aria-current=step]{color:#ffe8cc;border-bottom-color:#d69f58}
.bearing-route button:disabled{opacity:.42;cursor:default}
.bearing-route button.discovered i{width:4px;height:4px;border-radius:50%;background:#efb369;box-shadow:0 0 8px #f8b963}
.bearing-progress{font:11px var(--mina);color:#c4a98d}
.bearing-mobile-sound{display:none}
.bearing-sheet{position:relative;z-index:2;left:var(--page-pad);top:208px;width:min(565px,46%);padding-bottom:100px}
.bearing-eyebrow{font:10px var(--bai);letter-spacing:.18em;color:#c6a178;margin-bottom:24px}
#chart-title{font:700 clamp(42px,4vw,64px)/.99 var(--bai);letter-spacing:-.05em;color:#f0e6da}
.bearing-question{font:15px/1.75 var(--mina);color:#c8b6a4;max-width:440px;margin:24px 0}
.bearing-coordinates{font:400 clamp(31px,3.2vw,47px)/1.22 var(--bai);font-variant-numeric:tabular-nums;letter-spacing:-.025em;color:#f0c993;display:flex;flex-direction:column;gap:3px;margin:26px 0 12px}
.bearing-copy,.watch-signal{background:transparent;padding:10px 0;min-height:44px;font:11px var(--mina);color:#bda589;display:inline-flex;gap:16px;align-items:center}
.bearing-copy:hover,.watch-signal:hover{color:#fff0d9}
.bearing-form{margin-top:29px;max-width:460px}
.bearing-form>label{font:9px var(--bai);letter-spacing:.16em;color:#b5a08b;display:block;margin-bottom:10px}
.bearing-input-line{border-bottom:1px solid #c391548a;display:flex;gap:16px;align-items:center;padding-bottom:9px}
.bearing-input-line input{color:#f3dabb;background:transparent;border:0;width:100%;min-width:0;min-height:44px;font:16px var(--mina);border-radius:0;padding:5px 0}
.bearing-input-line input::placeholder{color:#a38f7b;font-size:13px}
.bearing-input-line button{background:transparent;padding:12px 0 12px 14px;display:flex;align-items:center;gap:18px;color:#f7be79;font:12px var(--bai);min-height:44px}
.bearing-input-line button:disabled{opacity:.5}
#bearing-feedback{font:12px/1.6 var(--mina);color:#ddbd95;margin-top:12px;min-height:20px}
.bearing-help{position:absolute;z-index:3;right:var(--page-pad);bottom:150px;width:min(370px,31%);font:13px/1.7 var(--mina)}
.hint-heading{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d19b4c55;padding-bottom:12px;color:#bc9365;font-size:10px}
.hint-engraving{letter-spacing:.19em;font:9px var(--bai)}
.hint-waiting{font:18px/1.6 var(--mina);color:#cfb28f;padding:23px 0 7px}
.hint-writing{font:15px/1.65 var(--mina);color:#f0d5af;animation:hint-ink 1s ease both;min-height:72px}
.hint-pagination{display:flex;align-items:center;gap:16px;margin:7px 0;color:#a48564;font:9px var(--bai);letter-spacing:.13em}
.hint-pagination button{color:#e1bd8d;background:none;min-width:44px;min-height:38px;font:18px var(--bai)}
.hint-pagination button:disabled{opacity:.2;cursor:default}
.hint-listen{display:flex;gap:9px;align-items:center;color:#dfb478;background:transparent;padding:10px 0;min-height:44px;font:11px var(--mina)}
.hint-listen svg{fill:none;stroke:currentColor;stroke-width:1.5;width:17px;height:17px}
.hint-release{font:11px/1.7 var(--mina);color:#bca78e;margin-top:7px}
.hint-glimmer,.hint-lamp{position:absolute;z-index:4;transform:translate(-50%,-50%);background:none;padding:0;touch-action:none}
.hint-glimmer{width:54px;height:54px;cursor:grab}
.hint-glimmer[hidden]{display:none}.hint-glimmer:active{cursor:grabbing}.hint-glimmer:disabled{cursor:wait}
.hint-lamp{left:89.1%;top:40%;width:110px;height:130px;border-radius:50%;visibility:hidden}
.hint-lamp span{display:block;position:absolute;inset:9px 18px;border:1px solid #fcd28d70;border-radius:50%;transition:box-shadow .2s,border-color .2s}
.carrying .hint-lamp{visibility:visible}.carrying .hint-glimmer{opacity:0}
.hint-lamp.near span,.hint-lamp:focus-visible span{border-color:#ffeac7;box-shadow:0 0 38px #fbbc59a0}
.hint-spark{position:absolute;left:0;top:0;z-index:5;width:0;height:0;pointer-events:none;opacity:0}
.hint-spark>span{position:absolute;inset:-5px;width:10px;height:10px;background:#fff4d3;border-radius:50%;box-shadow:0 0 8px 5px #ffd491,0 0 36px 18px #ffb75275,0 0 100px 42px #f7a13930}
.carrying .hint-spark{opacity:1}.receiving .bearing-lamp-aura{animation:lamp-receives 1.2s ease}
.bearing-bottom{position:absolute;left:var(--page-pad);bottom:42px;display:flex;align-items:center;gap:34px;z-index:4}
.bearing-bottom button{background:none;color:#bca58d;min-height:44px;font:11px var(--mina);padding:10px 0}
.bearing-bottom>span{font:9px var(--bai);letter-spacing:.14em;color:#ad967b}
.bearing-buoys{display:flex;gap:12px;margin:29px 0 7px}
.bearing-buoy{display:flex;flex:1;min-width:0;flex-direction:column;align-items:center;gap:14px}
.bearing-buoy small{font:9px var(--bai);color:#9f8263}
.bearing-buoy i{display:block;width:5px;height:5px;border-radius:50%;background:#b99972;box-shadow:0 0 11px #e3a34833}
.bearing-buoy.flashing i{background:#fff8e1;box-shadow:0 0 9px 4px #ffd893,0 0 29px 10px #f5ac5466}
.bearing-buoy b{font:12px/1.5 monospace;letter-spacing:.01em;color:#f0c995;white-space:nowrap}
.harbour-ledger{margin:22px 0 10px;max-width:455px;border-top:1px solid #ae7f446e;border-bottom:1px solid #ae7f446e;padding:12px 0;color:#d0b896}
.harbour-ledger>p{font:9px var(--bai);letter-spacing:.08em;display:flex;justify-content:space-between;color:#c2965f;margin-bottom:14px}
.harbour-ledger>p span{font-size:8px;color:#8e765d}
.harbour-ledger table{width:100%;border-collapse:collapse;font:14px var(--mina);font-variant-numeric:tabular-nums}
.harbour-ledger th,.harbour-ledger td{text-align:right;padding:7px 0;font-weight:400;border-bottom:1px solid #9a764222}
.harbour-ledger th:first-child{text-align:left}.harbour-ledger thead th{font-size:10px;color:#9f8a70;padding-bottom:8px}
.harbour-ledger tbody td:last-child{color:#f2d093}
.harbour-ledger>small{display:block;margin-top:13px;color:#a58d70;font-size:9px}
.bearing-discovery{margin-top:35px;max-width:455px;animation:hint-ink 1s ease}
.discovery-seal{font:10px var(--bai);letter-spacing:.16em;color:#e3b478;margin-bottom:24px}.discovery-seal span{margin-right:12px}
.bearing-discovery h2{font:700 35px/1.1 var(--bai);letter-spacing:-.035em;color:#f0d4af;margin-bottom:19px}
.bearing-discovery>p:not(.discovery-seal){font:16px/1.85 var(--mina);color:#cbbba7}
.bearing-discovery .button{margin-top:28px;font-size:12px}
.hunt-review{position:absolute;bottom:105px;left:var(--page-pad);z-index:6;font:10px var(--mina);color:#928575;max-width:270px}
.hunt-review[hidden]{display:none}.hunt-review summary{cursor:pointer;padding:8px 0;min-height:36px}.hunt-review[open]{padding:16px;background:#100d09;border:1px solid #9a785443;box-shadow:0 12px 40px #000a}.hunt-review label{display:block;margin:8px 0}
.hunt-review select{width:100%;padding:10px;background:#21190f;color:#dec7aa;border:1px solid #644b30;border-radius:0;font-size:11px}.hunt-review button{display:block;margin-top:12px;padding:10px 0;background:transparent;color:#dfb883;min-height:44px}.hunt-review p{line-height:1.6;margin-top:10px}
body[data-stage=chart] .preview-footer{display:none}body[data-stage=chart] .grain{opacity:.025}body[data-stage=chart] .audio-dock{bottom:42px}
@keyframes hint-ink{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@keyframes lamp-receives{50%{filter:brightness(1.65)}}
@media(min-width:761px) and (max-height:900px){#chart{min-height:900px}.bearing-sheet{top:192px}.bearing-eyebrow{margin-bottom:20px}#chart-title{font-size:clamp(40px,4vw,60px)}.bearing-question{margin:20px 0;font-size:14px}.bearing-coordinates{font-size:38px}.bearing-form{margin-top:18px}.bearing-help{width:30%}.hint-writing{font-size:14px}.bearing-discovery{margin-top:25px}.bearing-discovery>p:not(.discovery-seal){font-size:14px}.hunt-review{bottom:87px}}
@media(max-width:1100px) and (min-width:761px){.bearing-route{gap:19px}.bearing-route button{font-size:11px}.bearing-sheet{width:50%}.bearing-help{width:29%}.bearing-buoys{gap:5px}.bearing-buoy b{font-size:10px}}
@media(max-width:760px){
 #chart{height:auto;min-height:100svh;overflow:hidden;padding-bottom:60px}
 #chart-content{min-height:0;height:auto}
 .bearing-world{inset:104px 0 auto;height:315px}.bearing-shade{background:linear-gradient(0deg,#050404 0%,transparent 37%,transparent 79%,#050404b0),linear-gradient(90deg,#05040450,transparent 60%)}
 .bearing-topline{position:relative;top:0;padding-top:106px;left:24px;right:auto;width:calc(100% - 48px);display:block}
 .bearing-route{gap:17px}.bearing-route button{font-size:10px;gap:6px;min-height:44px}.bearing-route button>span{font-size:8px}.bearing-progress{display:none}
 .bearing-mobile-sound{display:block;position:sticky;top:8px;z-index:20;margin:244px 24px 0;min-height:60px}
 .bearing-mobile-sound .audio-dock{position:relative;inset:auto;transform:none;width:100%;max-width:100%;gap:8px}
 .bearing-mobile-sound .sound-invitation{order:1;align-self:flex-end}
 .bearing-sheet{left:auto;top:auto;margin:28px 24px 0;width:auto;padding-bottom:0;max-width:none}
 .bearing-eyebrow{font-size:9px;margin-bottom:17px}#chart-title{font-size:clamp(34px,8.6vw,58px);line-height:1.01}
 .bearing-question{font-size:13px;line-height:1.75;margin:19px 0;max-width:420px}
 .bearing-coordinates{font-size:34px;margin-top:22px;gap:2px}.bearing-copy{font-size:11px;min-height:40px}
 .bearing-form{margin-top:19px}.bearing-input-line{gap:8px}.bearing-input-line input{font-size:16px}.bearing-input-line input::placeholder{font-size:12px}.bearing-input-line button{font-size:11px;gap:13px}
 .bearing-help{position:relative;right:auto;top:auto;bottom:auto;width:auto;margin:24px 24px 0;padding:0;max-width:none}
 .hint-waiting{font-size:16px;padding-top:18px}.hint-writing{font-size:14px;min-height:0}.hint-release{font-size:11px}
 .bearing-bottom{position:relative;left:auto;bottom:auto;margin:28px 24px 0;gap:22px}.bearing-bottom>span{font-size:10px}
 .hunt-review{position:relative;left:auto;bottom:auto;margin:8px 24px 0;max-width:none}.hunt-review[open]{margin-top:16px}
 .bearing-buoys{gap:6px}.bearing-buoy b{font-size:10px}.bearing-buoy small{font-size:8px}
 .bearing-discovery{margin-top:25px}.bearing-discovery h2{font-size:29px}.bearing-discovery>p:not(.discovery-seal){font-size:14px}
 .harbour-ledger{margin-top:20px}.harbour-ledger>p{font-size:8px}.harbour-ledger>p span{font-size:7px}
 body[data-stage=chart]>.audio-dock{bottom:max(16px,env(safe-area-inset-bottom));right:16px}
}
@media(max-width:360px){.bearing-route{gap:10px}.bearing-route button{font-size:9px}.bearing-coordinates{font-size:31px}.bearing-sheet{margin-left:20px;margin-right:20px}.bearing-help{margin-left:20px;margin-right:20px}.bearing-buoys{gap:4px}.bearing-buoy b{font-size:9px}}
@media(prefers-reduced-motion:reduce){.bearing-world *,.hint-writing,.bearing-discovery{animation:none!important;transition:none!important}}

@media(min-width:761px){body[data-stage=chart]>.audio-dock{position:absolute;top:calc(max(900px,100svh) - 42px);bottom:auto;transform:translateY(-100%)}}

body[data-stage=chart] .skip-link:not(:focus){clip-path:inset(50%)}

#crown [data-go=claim]:disabled{cursor:default;opacity:.6}
