@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(vendor/font-0.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(vendor/font-1.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(vendor/font-2.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(vendor/font-3.ttf) format('truetype');
}
@font-face {
  font-family: 'Libre Caslon Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(vendor/font-4.ttf) format('truetype');
}

:root{color-scheme:dark;--cream:#f4e9d4;--muted:#b1bec5;--gold:#d6b67d;--ink:#0c1920; font-family:'DM Sans',sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:#07121c;color:var(--cream);overflow:hidden}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{font:inherit;cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:5px}button{border:0}a{color:inherit}button:disabled{opacity:.45;cursor:wait}[hidden]{display:none!important}#world{display:block;width:100vw;height:100dvh;position:fixed;inset:0;touch-action:none;outline:none}.vignette{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 55% 42%,transparent 40%,#02091166 100%)}.hud{position:fixed;top:0;left:0;right:0;padding:30px 40px;display:flex;justify-content:space-between;align-items:center;z-index:4;pointer-events:none}.hud>*{pointer-events:auto}.wordmark{font-family:'Libre Caslon Display',Georgia,serif;font-size:38px;text-decoration:none;display:flex;align-items:center;gap:8px}.wordmark-text{font:500 12px 'DM Sans',sans-serif;letter-spacing:.18em;margin-left:17px}.top-actions{display:flex;gap:12px}.top-actions button{background:#0b182459;border:1px solid #b7ced029;border-radius:25px;padding:10px 16px;display:flex;align-items:center;gap:9px;font-size:13px;backdrop-filter:blur(12px)}.top-actions button:hover{background:#22343d}.welcome{position:fixed;left:7%;top:28%;width:430px;z-index:3;animation:appear 1.2s both}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.22em;color:#e1d2b5;margin:0 0 24px}.welcome h1{font-family:'Libre Caslon Display',Georgia,serif;font-size:clamp(64px,6.2vw,102px);line-height:.99;font-weight:400;letter-spacing:-.025em;margin:0}.welcome h1 em{font-weight:400;color:#e5d6bc}.welcome-copy{font-size:15px;line-height:1.8;color:#c5d0d4;margin:26px 0 30px}.enter-button{background:var(--cream);color:#172630;padding:17px 23px;min-width:205px;border-radius:3px;display:flex;gap:40px;justify-content:space-between;align-items:center;font-size:14px;font-weight:600;box-shadow:0 3px 20px #0002;transition:background .2s,transform .2s}.enter-button:hover{background:#fff7e7;transform:translateY(-2px)}.enter-button span{font-size:22px;font-weight:400}.welcome-foot{margin-top:24px;display:flex;flex-direction:column;gap:16px;align-items:flex-start}.welcome-foot>span{font-size:10px;letter-spacing:.16em;color:#a9b6bf}.welcome-foot button{background:none;padding:0;color:#ced8dc;font-size:12px;text-decoration:underline;text-underline-offset:5px}.coordinates{position:fixed;bottom:31px;left:40px;display:flex;align-items:center;gap:16px;z-index:2;pointer-events:none;font-size:11px;letter-spacing:.15em;color:#c2cbd0;line-height:1.8}.coordinates small{font-size:12px;letter-spacing:.03em;color:#9badb9}.compass{font-family:'Libre Caslon Display',Georgia,serif;font-size:32px;color:var(--gold)}.controls-hint{position:fixed;bottom:34px;left:50%;transform:translateX(-50%);display:flex;gap:20px;font-size:12px;white-space:nowrap;z-index:2;color:#c1ccd3}kbd{font:11px 'DM Sans',sans-serif;border:1px solid #abc1c044;border-radius:3px;padding:4px 6px;margin-right:5px;background:#15232c99}.interaction{position:fixed;left:50%;top:59%;transform:translateX(-50%);padding:10px 16px 10px 10px;background:#0e1a24df;border:1px solid #d5c19d55;border-radius:5px;display:flex;gap:6px;align-items:center;font-size:14px;z-index:3}.interaction kbd{font-size:13px;background:var(--cream);color:var(--ink);padding:6px 9px}#crosshair{position:fixed;top:50%;left:50%;width:4px;height:4px;margin:-2px;border-radius:50%;background:#f8eee1;box-shadow:0 0 4px #000;pointer-events:none}#loading{position:fixed;inset:0;background:#07121c;display:grid;place-content:center;text-align:center;z-index:20;font-size:13px;letter-spacing:.12em;color:#b6c7d2}.loading-mark{font-family:'Libre Caslon Display',Georgia,serif;font-size:70px;color:var(--gold);animation:pulse 2s infinite}.toast{position:fixed;left:50%;top:110px;transform:translateX(-50%);background:#10232ce8;border:1px solid #40515a;border-radius:6px;max-width:90vw;padding:12px 20px;z-index:10;font-size:14px;text-align:center}dialog{padding:0;border:1px solid #70828466;border-radius:8px;background:#10212a;color:var(--cream);width:min(850px,calc(100vw - 40px));max-height:82dvh;box-shadow:0 25px 100px #0008}dialog::backdrop{background:#020a13a8;backdrop-filter:blur(8px)}.panel-bar{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #8ba6a32b;padding:13px 24px;background:#162a33}.panel-bar>span{font-size:11px;letter-spacing:.18em;color:#b4c6c4}.panel-bar button{background:none;font-size:27px;line-height:1;padding:3px 8px;color:#d0dcde}#panel-content{padding:34px 38px 38px}#panel-content h2{font-family:'Libre Caslon Display',Georgia,serif;font-size:48px;font-weight:400;margin:0 0 12px;line-height:1.05}#panel-content p{font-size:16px;line-height:1.7;color:#bccbcf}.project-nav{display:flex;gap:8px;flex-wrap:wrap;margin:25px 0 30px;border-bottom:1px solid #829c9c33;padding-bottom:18px}.project-nav button{font-size:13px;border:1px solid #8fa6a235;border-radius:4px;background:transparent;padding:10px 14px}.project-nav button[aria-selected=true]{background:#d7dfc2;color:#192b2f;border-color:#d7dfc2}.project-kicker{font-size:11px;letter-spacing:.18em;color:#b8caa0;margin-bottom:10px}.project-title{display:flex;justify-content:space-between;align-items:center}.project-title h3{font-size:29px;margin:0;font-weight:500}.project-index{font-family:'Libre Caslon Display',Georgia,serif;font-size:55px;color:#648087}.stack{display:flex;gap:7px;flex-wrap:wrap;margin:20px 0}.stack span{font-size:12px;color:#c3d5d3;padding:6px 9px;border:1px solid #adc1ba2e;border-radius:3px}.project-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.project-links a,.contact-link{display:flex;align-items:center;justify-content:space-between;gap:28px;text-decoration:none;border:1px solid #a6b9ae44;padding:13px 17px;border-radius:3px;font-size:14px}.project-links a:first-child{background:#d7dfc2;color:#1c302e;border-color:#d7dfc2}.project-links a:hover,.contact-link:hover{border-color:var(--cream)}.evidence{border-top:1px solid #9bb2a728;margin-top:26px;padding-top:15px}#panel-content .evidence p{font-size:12px;color:#95aeb3;line-height:1.6;margin:0}.contact-list{display:grid;gap:12px;margin-top:28px}.contact-link{padding:20px}.contact-link small{color:#b4c3bf;display:block;margin-bottom:6px;font-size:11px;letter-spacing:.1em}.contact-link strong{font-weight:400;font-size:16px;overflow-wrap:anywhere}.contact-intro{max-width:520px}.settings-grid{display:grid;gap:22px;margin:25px 0}.setting{display:flex;gap:20px;align-items:center;justify-content:space-between;font-size:15px}.setting select{background:#19333b;color:var(--cream);border:1px solid #819c9755;border-radius:4px;font:inherit;padding:10px}.guide-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:14px;line-height:1.7;color:#b9c9cc}.guide-list strong{color:var(--cream);font-weight:500}.panel-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.panel-actions button{border:1px solid #879e9855;background:#203942;padding:12px 17px;border-radius:4px;font-size:14px}.panel-actions button:first-child{background:var(--cream);color:var(--ink)}.about-note{border-left:2px solid #c9ad79;padding-left:20px;margin-top:24px}.no-script{position:fixed;padding:30px;background:var(--ink);inset:20% 10%;z-index:100}#mobile-controls{position:fixed;inset:0;pointer-events:none;z-index:3}#joystick{position:absolute;width:110px;height:110px;left:25px;bottom:50px;border:1px solid #d0e4df55;border-radius:50%;background:#19303a55;pointer-events:auto;touch-action:none}#stick{position:absolute;width:44px;height:44px;left:32px;top:32px;background:#d9e3dd88;border-radius:50%}#touch-interact{position:absolute;right:30px;bottom:70px;width:60px;height:60px;border:1px solid #e9eadb66;border-radius:50%;background:#1b303a99;pointer-events:auto;font-size:20px}.touch-hint{position:absolute;right:23px;bottom:25px;font-size:11px;color:#b4c9ce}.portfolio-heading{margin-top:30px!important}.plain-project{padding:24px 0;border-bottom:1px solid #83958c44}.plain-project h3{font-size:24px;margin:0}.plain-project .project-links{margin-top:16px}.plain-project p{margin:12px 0}.world-unavailable #world{display:none}@keyframes appear{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{50%{opacity:.35}}@media(max-width:760px){.hud{padding:20px}.wordmark-text{display:none}.top-actions{gap:7px}.top-actions button{padding:9px 12px}.top-actions button span:not(#sound-icon){display:none}.welcome{left:7%;top:auto;bottom:18%;width:86%;max-width:430px}.welcome h1{font-size:64px}.welcome-copy{font-size:14px;margin:20px 0}.welcome-foot{gap:12px;margin-top:20px}.coordinates{left:22px;bottom:22px;font-size:10px}.coordinates small{font-size:11px}.controls-hint{display:none}.welcome{text-shadow:0 2px 15px #020911}.welcome .eyebrow{margin-bottom:16px}.welcome-foot>span{font-size:9px}#panel-content{padding:25px 22px}#panel-content h2{font-size:39px}.project-nav{gap:6px}.project-nav button{font-size:12px;padding:9px 10px}.contact-link{padding:16px 12px}.contact-link strong{font-size:14px}.guide-list{grid-template-columns:1fr}dialog{width:calc(100vw - 24px);max-height:86dvh}.project-title h3{font-size:25px}.project-index{font-size:40px}.setting{font-size:14px}.exploring .coordinates{display:none}}@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}

/* The cabin computer's browser keeps the world open behind it. */
.project-links button{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:13px 17px;border:1px solid #d7dfc2;border-radius:3px;background:#d7dfc2;color:#1c302e;font:500 14px 'DM Sans',sans-serif}.project-links button:hover{background:#edf0dc}.project-links button+a{background:transparent!important;color:var(--cream)!important}.app-note{font-size:13px!important;color:#a4b9bb!important}dialog.computer-browser{width:min(1280px,calc(100vw - 36px));height:90dvh;max-height:94dvh;border:8px solid #b9ac91;border-bottom-width:18px;border-radius:15px;background:#12242a;overflow:hidden;box-shadow:inset 0 0 0 2px #e6d8ba,0 28px 100px #000b}.computer-browser .panel-bar{padding:8px 15px;position:relative}.computer-browser #panel-content{height:calc(100% - 47px);padding:0;display:flex;flex-direction:column}.computer-toolbar{display:flex;align-items:center;gap:18px;min-height:59px;padding:10px 15px;border-bottom:1px solid #55716c55;flex-shrink:0}.computer-toolbar button{font-size:13px;background:#28434a;border:1px solid #9cae9355;border-radius:4px;padding:9px 12px;white-space:nowrap}.computer-browser #panel-title{font-family:'DM Sans',sans-serif;font-size:16px;font-weight:500;margin:0;flex:1}.computer-toolbar a{font-size:13px;text-decoration:none;color:#dbe4c9;padding:8px;border:1px solid #a3b29b55;border-radius:4px}.computer-toolbar a:hover{background:#28434a}.computer-address{padding:7px 17px;background:#0b1a20;color:#a4b8b8;font-size:12px;flex-shrink:0}.computer-viewport{position:relative;flex:1;min-height:0;background:#f5f5f5}.computer-viewport iframe{display:block;width:100%;height:100%;border:0;background:white}.computer-status{display:flex;justify-content:space-between;gap:15px;padding:8px 15px;color:#a9c0b9;font-size:12px;flex-shrink:0}.computer-status>span:first-child{color:#d6c7a5;white-space:nowrap}.computer-status>span:last-child{text-align:right}#project-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;background:#0c1d25;color:var(--cream);z-index:1;pointer-events:none}#project-loading>span:last-child{font-size:14px}@media(max-width:760px){dialog.computer-browser{width:calc(100vw - 12px);height:94dvh;max-height:96dvh;border-width:4px;border-bottom-width:10px;border-radius:9px}.computer-toolbar{gap:8px;padding:8px;flex-wrap:wrap}.computer-toolbar a{font-size:12px;padding:7px;flex-basis:100%;text-align:center}.computer-toolbar button{font-size:12px;padding:8px}.computer-browser #panel-title{font-size:15px}.computer-status{font-size:11px;padding:7px 9px}.computer-browser .panel-bar{padding:8px 10px}}
