:root{--paper:#efece3;--ink:#263b32;--muted:#687166;--line:#c9cabb;--accent:#a26040}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}header{height:86px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 5%;gap:30px}.brand{font-family:Georgia,serif;font-weight:bold;font-size:29px}.brand span{font:11px monospace;letter-spacing:2px;margin-left:12px}nav{display:flex;gap:30px;font-size:13px}nav a:hover,.text-link:hover{text-decoration:underline;text-underline-offset:5px}#language{background:transparent;border:1px solid var(--line);padding:10px 13px;font:12px monospace;cursor:pointer}.hero{display:grid;grid-template-columns:1.13fr 1fr;min-height:660px;padding:58px 5% 30px;gap:4%}.eyebrow{font:10px monospace;letter-spacing:1px;display:flex;align-items:center;gap:9px}.eyebrow i{width:7px;height:7px;background:#778b54;border-radius:50%;flex-shrink:0}.intro{font-size:15px;margin-top:58px}h1{font:clamp(45px,5.1vw,79px)/1.05 Georgia,'Times New Roman',serif;letter-spacing:-2.8px;font-weight:normal;margin:20px 0 27px}h2{font:clamp(34px,3.5vw,53px)/1.13 Georgia,serif;font-weight:normal;letter-spacing:-1.2px;margin:0 0 24px}.lead{font-size:17px;line-height:1.7;max-width:510px;color:#62695f}.actions{display:flex;gap:27px;align-items:center;margin-top:34px}.button{display:inline-flex;padding:17px 23px;background:var(--ink);color:var(--paper);font-size:13px;transition:transform .2s,background .2s}.button:hover{background:#435a49;transform:translateY(-2px)}.text-link{font-size:13px}.hero-foot{margin-top:65px;display:flex;gap:25px;justify-content:space-between;font:8px monospace;color:var(--muted);letter-spacing:1px}.artifact{background:#e5e2d6;border:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;position:relative}.artifact svg{width:100%;max-height:550px;flex:1}.artifact-top,.artifact-bottom{display:flex;justify-content:space-between;font:9px monospace;letter-spacing:1px;padding:22px;color:#5c6b5e}.artifact-bottom{border-top:1px solid #c9cabb77}.artifact-bottom span:last-child{font-size:20px}.ribbon{display:flex;align-items:center;justify-content:space-between;padding:25px 5%;border-block:1px solid var(--line);font:11px monospace;letter-spacing:2px}.ribbon span:nth-child(even){color:var(--accent);font-size:20px}.section{padding:100px 5%;display:grid;grid-template-columns:25% 1fr;gap:3%;border-bottom:1px solid var(--line)}.section-label{font:10px/1.8 monospace;letter-spacing:1.5px;color:var(--muted)}.section-intro{font-size:16px;line-height:1.8;max-width:660px;color:var(--muted);margin:0 0 40px}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:50px}.principles article{border-top:1px solid var(--line);padding-top:22px}article span,.skill-grid article>span{font:10px monospace;letter-spacing:1px;color:var(--accent)}h3{font:24px/1.3 Georgia,serif;font-weight:normal;margin:19px 0 14px}article p{font-size:14px;line-height:1.8;color:var(--muted);margin:0}.experience{background:#e7e5da}.timeline article{display:grid;grid-template-columns:24% 1fr;gap:7%;border-top:1px solid #c3c6b6;padding:30px 0}.date{font:16px monospace}.date span{display:block;font-size:8px;margin-top:10px;line-height:1.7;letter-spacing:1px}.timeline h3{margin:0 0 8px;font-size:26px}.timeline .role{color:var(--ink);font-size:12px;margin-bottom:13px}.skill-grid{margin-top:45px;display:grid;grid-template-columns:1fr 1fr;gap:0 35px}.skill-grid article{border-top:1px solid var(--line);padding:25px 0}.skill-grid article:last-child{grid-column:1/-1;max-width:100%}.skill-grid p{max-width:650px}.contact{padding:65px 5% 80px;background:var(--ink);color:var(--paper)}.contact .section-label{color:#c6cabb}.contact-body{display:grid;grid-template-columns:1fr 1fr;gap:10%;margin-top:45px}.contact h2{font-size:clamp(42px,5vw,72px)}.contact-body p{font-size:15px;line-height:1.8;color:#d0d4c8;margin:0 0 25px;max-width:490px}.light{background:#e3dfca;color:var(--ink)}.light:hover{background:#f7f3df}.contact-email{display:block;font-size:13px;margin-top:23px}.contact-body .location{font:9px monospace;letter-spacing:1px;margin-top:35px;color:#aab6a4}footer{display:flex;justify-content:space-between;gap:20px;padding:25px 5%;font:9px monospace;letter-spacing:1px}a:focus-visible,button:focus-visible{outline:3px solid #b6774e;outline-offset:5px}::selection{background:#d6b58b;color:#263b32}@media(min-width:1600px){body{max-width:1800px;margin:auto}}@media(max-width:900px){.hero{grid-template-columns:1fr 1fr;gap:25px}.hero-foot{flex-direction:column}.section{grid-template-columns:1fr;gap:30px}.principles{gap:20px}.intro{margin-top:38px}h1{font-size:51px}.lead{font-size:15px}.actions{gap:16px;flex-wrap:wrap}.artifact-top{font-size:7px;padding:15px}}@media(max-width:650px){header{height:70px;padding:0 6%;gap:10px}.brand span{font-size:8px;letter-spacing:1px;margin-left:4px}.brand{font-size:25px}nav{gap:13px;font-size:11px}nav a:first-child{display:none}#language{padding:8px}.hero{grid-template-columns:1fr;padding:35px 6% 25px;gap:30px}h1{font-size:55px;letter-spacing:-2px}.eyebrow{font-size:8px}.hero-foot{margin-top:35px;flex-direction:row;font-size:7px}.artifact{max-height:470px}.artifact svg{max-height:385px}.artifact-bottom,.artifact-top{padding:15px;font-size:8px}.ribbon{font-size:8px;letter-spacing:0;padding:18px 6%;gap:8px}.ribbon span:nth-child(even){font-size:14px}.section{padding:60px 6%}.principles{grid-template-columns:1fr;gap:27px;margin-top:25px}.principles h3{margin-top:12px}.timeline article{grid-template-columns:1fr;gap:18px}.date{font-size:13px}.date span{display:inline;margin-left:15px}.skill-grid{grid-template-columns:1fr;margin-top:25px}.skill-grid article:last-child{grid-column:auto}.contact{padding:45px 6%}.contact-body{grid-template-columns:1fr;gap:20px;margin-top:30px}.contact h2{font-size:49px}footer{font-size:8px;flex-wrap:wrap;padding:23px 6%}footer>span:nth-child(2){display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* Indigo, fine ruling and a quiet paper grain add a Japanese influence. */
:root{--ink:#293b53;--muted:#616d74;--line:#cbc9bc;--accent:#a05b45}
body{background-color:#f0ede3;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.73' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23756b55' opacity='.035' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}
.artifact{background-color:#e5e1d3}.button:hover{background:#415875}.experience{background:#e5e4dc}.contact{background:#293b53}.contact-body p{color:#d5d9de}.contact-body .location{color:#b6c1d0}.contact .section-label{color:#bdc8d4}.eyebrow i{background:#9e5948}.japan-seal{position:absolute;right:25px;top:65px;color:#98503e;border:1.5px solid #98503e;padding:6px 7px;transform:rotate(-4deg);font-family:serif;font-size:19px;line-height:1.3;opacity:.85}.japan{position:relative;background:linear-gradient(110deg,#e3e5e580,transparent)}.japan-kicker{font:11px monospace;letter-spacing:3px;color:var(--accent);margin:0 0 22px}.japan-script{display:block;font-family:serif;font-size:42px;letter-spacing:8px;color:var(--ink);margin-top:42px;line-height:1.7}.japan-caption{display:block;font:8px monospace;letter-spacing:1px;margin-top:8px}.perspective-note{border-top:1px solid var(--line);padding-top:25px;display:flex;gap:17px;max-width:660px}.perspective-note p{font-size:14px;line-height:1.8;color:var(--muted);margin:0}.note-dot{width:12px;height:12px;flex-shrink:0;border-radius:50%;background:#9e5948;margin-top:6px}.contact .button.light:hover{background:#fff9e9}.light{color:#293b53}.brand{color:#293b53}::selection{background:#d9bf9d;color:#293b53}@media(max-width:650px){.japan-script{margin-top:17px;font-size:30px;letter-spacing:6px}.japan-caption{font-size:7px}.japan-seal{top:55px;right:18px;font-size:16px}.japan .section-label{padding-bottom:10px}}

.specialisms{font-size:14px;font-weight:bold;line-height:1.6;margin:20px 0 0;color:var(--accent)}.hero .intro{margin-top:35px}.hero h1{font-size:clamp(43px,4.6vw,70px);margin-bottom:16px}.hero .lead{font-size:15px;line-height:1.8;margin-top:13px}.hero-foot{margin-top:38px}.directions{padding:80px 5% 90px;border-bottom:1px solid var(--line)}.directions-heading{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:start;margin-top:30px}.directions-heading>p{font-size:15px;line-height:1.8;color:var(--muted);margin:4px 0 20px;max-width:490px}.career-paths{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:30px}.career-paths article{border:1px solid var(--line);padding:32px;display:flex;flex-direction:column;background:#f9f6ee80}.career-paths article:nth-child(2){border-top:3px solid #a05b45}.career-paths article:first-child{border-top:3px solid #293b53}.career-paths h3{font-size:30px;margin:20px 0 12px}.career-paths .path-summary{font-size:15px;line-height:1.7;min-height:52px;color:var(--ink)}.career-paths ul{padding-left:18px;margin:24px 0;font-size:14px;line-height:1.8;color:var(--muted)}.career-paths li{padding-left:3px;margin:0 0 10px}.career-paths li::marker{color:var(--accent)}.career-paths .path-tools{font:11px/1.8 monospace;margin-top:auto;padding:20px 0;border-top:1px solid var(--line)}.path-download{font-size:12px;border-top:1px solid var(--line);padding-top:20px;line-height:1.7}.path-download:hover{text-decoration:underline;text-underline-offset:4px}.download-list>a{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding:24px 0;transition:color .2s}.download-list>a:last-child{border-bottom:1px solid var(--line)}.download-list b{font-size:16px;font-weight:normal}.download-list small{display:block;font-size:12px;color:var(--muted);margin-top:9px;line-height:1.5}.file-label{font:11px monospace;color:var(--accent);white-space:nowrap}.download-list>a:hover{color:var(--accent)}nav{gap:22px}@media(max-width:900px){.career-paths article{padding:25px}.career-paths h3{font-size:25px}.directions-heading{gap:6%}}@media(max-width:650px){.directions{padding:55px 6%}.directions-heading{grid-template-columns:1fr;gap:0}.career-paths{grid-template-columns:1fr;gap:20px;margin-top:20px}.career-paths article{padding:25px}.career-paths .path-summary{min-height:0}.hero h1{font-size:51px}.specialisms{font-size:12px}nav{gap:12px}nav a:nth-child(2){display:none}.download-list b{font-size:14px}.download-list>a{gap:10px}.hero .intro{margin-top:30px}}

.excavation{padding:65px 5% 45px;border-bottom:1px solid var(--line);background:#e5dfcf55}.excavation-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:25px}.excavation h2{margin:15px 0 0;font-size:40px}.excavation-heading>p{font-size:13px;line-height:1.8;color:var(--muted);max-width:360px;margin:0}.dig-site{position:relative;overflow:hidden;border:1px solid #b9ad95;min-height:310px}.dig-finds{display:grid;grid-template-columns:repeat(3,1fr);background:#f8f3e7;min-height:310px}.dig-finds article{padding:25px 30px;border-right:1px solid var(--line)}.dig-finds article:last-child{border-right:0}.dig-finds h3{font-size:23px;margin:5px 0 12px}.dig-finds p{font-size:13px}.dig-finds article>span{font-size:9px}.find-symbol{font-size:47px;line-height:1.5;color:var(--accent);font-family:Georgia,serif}.code-symbol{font-size:34px;line-height:2.05;font-family:monospace}#dig-canvas{position:absolute;inset:0;width:100%;height:100%;cursor:crosshair;touch-action:none}.dig-site.is-revealed #dig-canvas{visibility:hidden;pointer-events:none}.dig-hint{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:11px/1.8 monospace;letter-spacing:2px;text-align:center;color:#f9f4e9;pointer-events:none;max-width:80%;padding:12px 18px;border:1px solid #e5dac5aa;background:#66513b66}.dig-site.is-started .dig-hint,.dig-site.is-revealed .dig-hint{display:none}.dig-controls{display:flex;justify-content:space-between;align-items:center;gap:15px;padding-top:18px}.dig-controls>span{font:10px monospace;color:var(--muted)}.dig-controls>div{display:flex;gap:12px}.dig-controls button{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:11px 14px;font-size:11px;cursor:pointer}.dig-controls button:hover{border-color:var(--ink)}.profile-switch{display:inline-flex;flex-wrap:wrap;border:1px solid var(--line);padding:5px;gap:5px;margin-top:15px}.profile-switch button{background:transparent;border:0;padding:12px 18px;cursor:pointer;color:var(--ink);font-size:12px}.profile-switch button[aria-pressed="true"]{background:var(--ink);color:var(--paper)}.profile-status{font-size:12px;color:var(--muted);min-height:18px;line-height:1.7;margin:17px 0 0}.career-paths.is-focused{grid-template-columns:1fr}.career-paths.is-focused article{display:grid;grid-template-columns:1fr 1fr;gap:0 40px}.career-paths.is-focused .path-index,.career-paths.is-focused h3{grid-column:1}.career-paths.is-focused .path-summary{grid-column:1;grid-row:3}.career-paths.is-focused ul{grid-column:2;grid-row:1/4;margin:0}.career-paths.is-focused .path-tools,.career-paths.is-focused .path-download{grid-column:1/-1}.career-paths [hidden]{display:none!important}.download-list>a.is-relevant{border-left:3px solid var(--accent);padding-left:18px;background:#e6ddcb44}.japan-toggle{display:block;background:none;border:0;text-align:left;padding:0;cursor:pointer}.japan-toggle>span{font-size:16px;letter-spacing:0;vertical-align:middle;color:var(--accent)}.japan-meaning{display:block;font:11px/1.8 monospace;letter-spacing:0;margin-top:12px;max-width:170px}.japan-meaning[hidden]{display:none}@media(max-width:650px){.excavation{padding:45px 6% 35px}.excavation-heading{display:block}.excavation h2{font-size:33px}.excavation-heading>p{margin-top:20px}.dig-finds{grid-template-columns:1fr;min-height:490px}.dig-finds article{padding:15px 20px;border-right:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:45px 1fr;gap:0 13px}.dig-finds article>span{grid-column:2}.dig-finds h3{grid-column:2;font-size:20px;margin-top:8px}.dig-finds p{grid-column:2}.find-symbol{grid-column:1;grid-row:1/4;font-size:32px;padding-top:20px}.code-symbol{font-size:24px}.dig-controls{align-items:start;flex-direction:column}.dig-controls>div{flex-wrap:wrap}.dig-hint{font-size:10px}.profile-switch{display:flex}.profile-switch button{padding:11px 12px;font-size:11px}.career-paths.is-focused article{display:flex;gap:0}.japan-meaning{max-width:100%}}

.artifact-scan{padding:18px 22px 22px;border-top:1px solid #c9cabb88;background:#f3efe5dd}.scan-meta{font:8px monospace;letter-spacing:1.2px;display:flex;justify-content:space-between;gap:10px;color:var(--muted)}#scan-progress{appearance:none;display:block;width:100%;height:3px;border:0;margin:12px 0 16px;background:#cfc9ba}#scan-progress::-webkit-progress-bar{background:#cfc9ba}#scan-progress::-webkit-progress-value{background:var(--accent);transition:width .3s}#scan-progress::-moz-progress-bar{background:var(--accent)}#scan-reading{min-height:75px}#scan-title{font:18px/1.4 Georgia,serif;color:var(--ink)}#scan-description{font-size:11px;line-height:1.7;color:var(--muted);margin:7px 0 15px;max-width:100%}.scan-actions{display:flex;gap:10px;flex-wrap:wrap}.scan-actions button{font-size:11px;border:1px solid var(--line);padding:10px 13px;color:var(--ink);background:transparent;cursor:pointer}.scan-actions #scan-next{background:var(--ink);color:var(--paper);border-color:var(--ink)}.scan-actions button:disabled{opacity:.45;cursor:default}.scan-hit{fill:transparent;stroke:none}.scan-ring{stroke:#a05b45;stroke-width:1;stroke-dasharray:3 4;opacity:.8;transform-box:fill-box;transform-origin:center;animation:scan-ring 14s linear infinite}.scan-core{fill:#ece6d6;stroke:#496d60;stroke-width:2;transition:fill .3s,stroke .3s}.scan-node{cursor:pointer;outline:none}.scan-node:hover .scan-core,.scan-node:focus-visible .scan-core{fill:#e4b46c;stroke:#a05b45;stroke-width:3}.scan-node:focus-visible .scan-ring{stroke-width:3;stroke-dasharray:none}.scan-node[aria-pressed="true"] .scan-core{fill:#b97c43;stroke:#fff2ce}.scan-node[aria-pressed="true"] .scan-ring{stroke:#b97c43;stroke-dasharray:none;animation:none}.artifact-circuits{transition:stroke .7s}.artifact.scan-complete .artifact-circuits{stroke:#b97c43;filter:drop-shadow(0 0 3px #b97c4344)}.artifact-seam{transition:stroke .6s,stroke-width .6s}.artifact.scan-complete .artifact-seam{stroke:#ffd48a;stroke-width:4;filter:drop-shadow(0 0 3px #e8b46399)}.artifact.scan-complete{border-color:#b79a71}.artifact svg{min-height:300px}.hero{align-items:start}.artifact .artifact-bottom{padding-block:15px}.artifact .artifact-top{padding-block:18px}.artifact .artifact-scan~.artifact-bottom span{font-size:8px}@keyframes scan-ring{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.scan-ring{animation:none}.artifact-circuits,.artifact-seam,.scan-core{transition:none}#scan-progress::-webkit-progress-value{transition:none}}@media(max-width:650px){.artifact{max-height:none}.artifact svg{max-height:370px;min-height:300px}.artifact-scan{padding:17px}.scan-meta{font-size:7px}.scan-actions button{min-height:42px}.artifact .artifact-bottom span:first-child{font-size:7px}.artifact .artifact-top{font-size:8px}}

.language-list{margin:35px 0 0}.language-list>div{display:grid;grid-template-columns:140px 1fr;gap:20px;border-top:1px solid var(--line);padding:18px 0}.language-list>div:last-child{border-bottom:1px solid var(--line)}.language-list dt{font-size:15px}.language-list dd{font-size:13px;line-height:1.6;margin:0;color:var(--muted)}@media(max-width:650px){.language-list>div{grid-template-columns:95px 1fr;gap:15px}.language-list dt{font-size:13px}.language-list dd{font-size:12px}}

.explorer-stage{position:fixed;inset:0;z-index:30;pointer-events:none;overflow:hidden}.explorer-actor{position:absolute;left:8%;bottom:12px;width:76px;height:105px;transition:left 6s linear;will-change:left}.explorer-figure{position:absolute;bottom:16px;left:0;width:65px;height:82px;transform-origin:32px -105px}.explorer-person{transform-origin:50px 100px}.explorer-caption{position:absolute;bottom:0;left:50%;transform:translateX(-50%);font:8px monospace;letter-spacing:.5px;white-space:nowrap;background:#f3eee2ed;border:1px solid #c9cabb;padding:3px 6px;border-radius:3px;color:var(--ink)}.explorer-rope{display:none;position:absolute;width:2px;height:130px;bottom:93px;left:32px;background:#9d8155;transform-origin:bottom;box-shadow:1px 0 #dbc499}.leg{transform-origin:50px 81px}.arm{transform-origin:50px 50px}.explorer-dust{opacity:0}.is-walking .leg-front{animation:explorer-step .65s ease-in-out infinite alternate}.is-walking .leg-back{animation:explorer-step .65s ease-in-out infinite alternate-reverse}.is-walking .arm-front{animation:explorer-arm .65s ease-in-out infinite alternate-reverse}.is-walking .arm-back{animation:explorer-arm .65s ease-in-out infinite alternate}.is-walking .explorer-person{animation:explorer-bob .325s ease-in-out infinite alternate}.is-digging .arm-front{transform-origin:35px 50px;animation:explorer-dig 1.05s ease-in-out infinite}.is-digging .explorer-person{animation:explorer-lean 1.05s ease-in-out infinite}.is-digging .explorer-dust{animation:explorer-dust 1.05s ease-out infinite}.is-swinging .explorer-figure{animation:explorer-swing 2.5s ease-in-out infinite alternate}.is-swinging .explorer-rope{display:block;animation:explorer-rope 2.5s ease-in-out infinite alternate}.is-swinging .arm-back{transform:rotate(-115deg);transform-origin:64px 49px}.is-swinging .leg-front{transform:rotate(-20deg)}.is-swinging .leg-back{transform:rotate(22deg)}.is-swinging .explorer-shadow{opacity:0}.explorer-controls{position:fixed;right:14px;bottom:12px;z-index:31;display:flex;align-items:center;gap:8px;border:1px solid #c9cabb;background:#f3eee2f5;padding:6px 8px;box-shadow:0 2px 10px #293b5310;border-radius:4px}.explorer-name{font:9px monospace;color:var(--muted);padding:0 3px}.explorer-controls button{border:0;border-left:1px solid var(--line);background:none;padding:7px 9px;cursor:pointer;font-size:11px;color:var(--ink);min-height:31px}.explorer-controls button:hover{background:#ded7c8}.explorer-controls [hidden]{display:none!important}.explorer-widget.is-hidden .explorer-stage{display:none}.explorer-widget.is-hidden .explorer-name{display:none}.explorer-widget.is-paused .explorer-stage *{animation-play-state:paused!important}.explorer-widget.is-paused .explorer-actor{transition:none!important}footer{padding-bottom:75px}.explorer-widget.is-hidden button{border-left:0}@keyframes explorer-step{from{transform:rotate(-20deg)}to{transform:rotate(20deg)}}@keyframes explorer-arm{from{transform:rotate(-11deg)}to{transform:rotate(11deg)}}@keyframes explorer-bob{to{transform:translateY(-2px)}}@keyframes explorer-dig{0%,100%{transform:rotate(0)}50%{transform:rotate(-44deg)}}@keyframes explorer-lean{50%{transform:rotate(-6deg)}}@keyframes explorer-dust{0%,25%{opacity:0;transform:translate(0,0)}40%{opacity:.8}100%{opacity:0;transform:translate(-12px,-14px)}}@keyframes explorer-swing{from{transform:translateY(-35px) rotate(-18deg)}to{transform:translateY(-35px) rotate(18deg)}}@keyframes explorer-rope{from{transform:rotate(-18deg)}to{transform:rotate(18deg)}}@media(max-width:650px){.explorer-figure{width:52px;height:67px}.explorer-figure svg{width:52px;height:67px}.explorer-actor{width:60px;height:88px;bottom:8px}.explorer-caption{font-size:7px}.explorer-controls{right:8px;bottom:8px;gap:3px;padding:4px}.explorer-name{display:none}.explorer-rope{bottom:80px;left:26px;height:115px}.explorer-controls button{min-height:35px}.explorer-figure{transform-origin:26px -100px}}
/* The explorer now belongs to the document and lands on real page elements. */
body{position:relative}.explorer-stage{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:30}.explorer-actor{position:absolute;top:120px;bottom:auto;left:20px;width:65px;height:82px;transition:none;will-change:left,top}.explorer-figure{top:0;bottom:auto;left:0;transform-origin:50% 40%}.explorer-caption,.explorer-shadow,.explorer-rope{display:none!important}.is-swinging .explorer-figure{animation:platform-sway .65s ease-in-out infinite alternate}.is-jumping .leg-front{transform:rotate(-28deg)}.is-jumping .leg-back{transform:rotate(28deg)}.is-jumping .arm-front{transform:rotate(30deg)}.is-jumping .arm-back{transform:rotate(-55deg)}.is-resting .explorer-person,.is-resting .arm,.is-resting .leg{animation:none;transform:none}.platform-rope{position:absolute;inset:0;width:100%;height:100%;overflow:visible;opacity:0;pointer-events:none}.platform-rope.is-visible{opacity:1}.platform-rope line{stroke:#967648;stroke-width:1.5;stroke-dasharray:3 2;stroke-linecap:round}footer{padding-bottom:75px}@keyframes platform-sway{from{transform:rotate(-12deg)}to{transform:rotate(12deg)}}@media(max-width:650px){.explorer-actor{width:52px;height:67px}.explorer-figure{transform-origin:50% 40%}}@media(prefers-reduced-motion:reduce){.explorer-widget.is-paused .explorer-figure{animation:none;transform:none}}
.explorer-find{opacity:0;transform-origin:26px 68px}.is-looking .explorer-person{animation:explorer-look 2.8s ease-in-out infinite}.is-looking .arm-front{animation:none;transform:rotate(9deg)}.is-examining .explorer-find{opacity:1;animation:explorer-study 2s ease-in-out infinite}.is-examining .arm-front{transform:rotate(32deg);transform-origin:35px 50px}.is-examining .explorer-trowel{opacity:0}.is-examining .explorer-person{transform:rotate(-4deg)}.is-dusting .arm-front{animation:explorer-brush .65s ease-in-out infinite;transform-origin:35px 50px}.is-dusting .explorer-trowel{opacity:0}.is-dusting .explorer-dust{animation:explorer-dust 1s ease-out infinite}.is-dusting .explorer-person{animation:explorer-shake 1.2s ease-in-out infinite}.is-looking .leg,.is-examining .leg,.is-dusting .leg{animation:none;transform:none}@keyframes explorer-look{0%,35%,100%{transform:rotate(0deg)}50%,70%{transform:rotate(5deg)}}@keyframes explorer-study{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-4px) rotate(5deg)}}@keyframes explorer-brush{0%,100%{transform:rotate(5deg)}50%{transform:rotate(35deg)}}@keyframes explorer-shake{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}

/* Native 48 × 64 pixel frames; nine rows, eight frames per action. */
.pixel-explorer{--pixel-w:65px;--pixel-h:82px;width:var(--pixel-w);height:var(--pixel-h);background-image:url('assets/pascal-explorer-sprites.png');background-size:800% 900%;background-position:0 0;background-repeat:no-repeat;image-rendering:pixelated;animation:pixel-explorer-frames 1.6s steps(8,end) infinite}
.is-resting .pixel-explorer{background-position-y:0%;animation-duration:3.2s}
.is-walking .pixel-explorer{background-position-y:12.5%;animation-duration:.8s}
.is-looking .pixel-explorer{background-position-y:25%;animation-duration:2.8s}
.is-digging .pixel-explorer{background-position-y:37.5%;animation-duration:1s}
.is-examining .pixel-explorer{background-position-y:50%;animation-duration:2s}
.is-documenting .pixel-explorer{background-position-y:62.5%;animation-duration:1.4s}
.is-dusting .pixel-explorer{background-position-y:75%;animation-duration:.8s}
.is-jumping .pixel-explorer{background-position-y:87.5%;animation-duration:1.25s}
.is-swinging .pixel-explorer{background-position-y:100%;animation-duration:1.7s}
.is-swinging .explorer-figure{animation:none}
@keyframes pixel-explorer-frames{from{background-position-x:0}to{background-position-x:calc(var(--pixel-w) * -8)}}
@media(max-width:650px){.pixel-explorer{--pixel-w:52px;--pixel-h:67px}}
@media(prefers-reduced-motion:reduce){.pixel-explorer{animation:none!important}}
