/* Shared, isolated navigation for independently built showcase worlds. */
.expedition-dock { position:fixed; right:18px; bottom:18px; z-index:9990; color:#34291d; font:14px/1.5 'DM Sans',system-ui,sans-serif; text-align:left; letter-spacing:0; }
.expedition-dock>summary { margin-left:auto; width:max-content; max-width:100%; display:flex; align-items:center; gap:10px; min-height:46px; padding:7px 16px 7px 9px; list-style:none; cursor:pointer; border:1px solid #d6ba7777; border-radius:28px; background:#10232eee; color:#edd7ab; box-shadow:0 6px 24px #0006; backdrop-filter:blur(12px); font:600 12px/1.4 'DM Sans',system-ui,sans-serif; }
.expedition-dock>summary::-webkit-details-marker { display:none; }.expedition-dock>summary img { width:30px; height:30px; object-fit:contain; filter:drop-shadow(0 3px 3px #0004); }
.expedition-chart { position:absolute; bottom:60px; right:0; box-sizing:border-box; width:330px; max-width:calc(100vw - 28px); max-height:calc(100dvh - 110px); overflow:auto; padding:22px; background:linear-gradient(100deg,#e2c894,#f1dfb9 50%,#d9bf8c); border:1px solid #ab8a52; box-shadow:0 20px 80px #0008; border-radius:3px 10px 3px 8px; }
.expedition-chart h2 { font:32px/1.2 'Pirata One',Georgia,serif; color:#44301c; margin:0 0 8px; }.expedition-chart p { color:#675039; font:11px/1.7 'DM Sans',system-ui,sans-serif; margin:0 0 14px; }.expedition-chart nav { display:grid; gap:8px; }.expedition-chart a { color:#463322; text-decoration:none; padding:8px 4px; min-height:44px; display:flex; align-items:center; gap:14px; border-bottom:1px solid #89673c50; font:600 13px/1.5 'DM Sans',system-ui,sans-serif; }.expedition-chart a:hover { background:#85633e18; }.expedition-chart a:focus-visible,.expedition-dock summary:focus-visible { outline:3px solid #ab4d35; outline-offset:3px; }.expedition-chart a img { width:45px; height:40px; object-fit:contain; }.expedition-chart a span { margin-left:auto; }
body.logbook-article { background:radial-gradient(ellipse at top right,#24595c44,transparent 50%),#0c1922; }
.logbook-article .post-cover { filter:drop-shadow(0 18px 18px #0005); }.logbook-article .post-cover img { border-radius:6px; }.logbook-article .post-body { background:linear-gradient(100deg,#dfcda3,#f2e4c7 15%,#efe0bf 85%,#dbc492); padding:40px 46px; color:#3e3426; box-shadow:0 25px 75px #0003; border-radius:2px 9px 2px 3px; border-top:7px solid #b69b64; --text-primary:#3e3426; --text-secondary:#5d503e; --text-muted:#746247; --gold:#855722; --bg-card:#c9b28533; --border-color:#9b7c4b55; }
.logbook-article .post-body h2,.logbook-article .post-body h3 { color:#6d3926; }.logbook-article .post-body a { color:#825127; }.logbook-article .post-body pre { color:#e5e9eb; background:#13232d; }.logbook-article .post-body code { overflow-wrap:anywhere; }.logbook-article .post-author-avatar,.logbook-article .author-card-avatar { background:transparent!important; border:none; }.logbook-article .post-author-avatar img,.logbook-article .author-card-avatar img { border-radius:0!important; object-fit:contain!important; }.logbook-article .post-author-card { background:#b5935730; border-color:#aa894e55; }
@media(max-width:600px) { .expedition-dock { bottom:max(12px,env(safe-area-inset-bottom)); right:12px; }.expedition-dock>summary { font-size:11px; padding-right:12px; }.logbook-article .post-body { padding:28px 20px; }.logbook-article .post-content>.container { padding-inline:10px; } }
@media(prefers-reduced-motion:reduce) { .logbook-article .particles,.logbook-article .wave { display:none; }.logbook-article * { animation:none!important; transition:none!important; } }
@media print { .expedition-dock { display:none; }.logbook-article .post-body { background:white; color:black; box-shadow:none; border:0; padding:0; } }
/* Existing scene credit ribbons have their own high stacking layer. */
body:has(.rtp-credit) .expedition-dock { bottom:74px; z-index:2147483100; }
body:has(.rtp-credit) .expedition-chart { max-height:calc(100dvh - 160px); }
.expedition-heading { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
/* Shared tactile feedback without changing the scene engines. */
button,summary,a { -webkit-tap-highlight-color:transparent; }
button,summary,a.button { transition:scale .18s,box-shadow .2s; }
button:active,summary:active,a.button:active { scale:.96; }
.logbook-article .post-body { background:#e0cda6 url('/images/resume/weathered-paper.webp') center/100% 100%; }
@media(prefers-reduced-motion:reduce) { button,summary,a { transition:none!important; scale:none!important; } }
/* The same softly lit controls accompany the individual worlds and journal. */
.expedition-dock>summary { background:linear-gradient(145deg,#263e46ee,#101e2aee); border-color:#8fa5a266; box-shadow:0 4px 0 #050c14,0 12px 32px #0006,inset 0 1px #ffffff1a; transition:box-shadow .25s,translate .25s; }
.expedition-dock>summary:hover { translate:0 -2px; box-shadow:0 6px 0 #050c14,0 16px 38px #0007; }
.expedition-chart { border-radius:18px; box-shadow:0 24px 80px #0009; transform-origin:90% 100%; }
.expedition-dock[open] .expedition-chart { animation:chart-unfold .32s cubic-bezier(.16,1,.3,1); }
.expedition-chart a { border-radius:12px; padding:10px 7px; transition:background .2s,translate .2s; }
.expedition-chart a:hover { translate:3px 0; }
.expedition-chart a span { transition:translate .2s; }.expedition-chart a:hover span { translate:2px -2px; }
.expedition-dock>summary>span { transition:rotate .3s; }.expedition-dock[open]>summary>span { rotate:45deg; }
@keyframes chart-unfold { from { opacity:0; transform:translateY(12px) scale(.95); } to { opacity:1; transform:none; } }
.interactive-surface { overflow:hidden; isolation:isolate; }
.interaction-static { position:relative; }
.tap-bloom { position:absolute; pointer-events:none; width:160px; height:160px; margin:-80px; border-radius:50%; background:radial-gradient(circle,#fff4,transparent 70%); z-index:3; }
@media(prefers-reduced-motion:reduce) { .expedition-dock * { animation:none!important; transition:none!important; translate:none!important; } }

.motion-paused .expedition-dock * { animation:none!important; transition:none!important; translate:none!important; scale:none!important; }
