.sky{display:none;position:fixed;inset:0;z-index:2;overflow:hidden;background:var(--sky-base,#0b1e36);color:#f4efe6;font:500 15px/1.4 ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;touch-action:manipulation;user-select:none;-webkit-user-select:none}
.scene-active .sky,.boot-home .sky{display:block}
.scene-active .workspace,.scene-active .below-shell,.boot-home .workspace,.boot-home .below-shell,.scene-active .ambient,.boot-home .ambient{display:none}
.scene-active,.boot-home body{padding:0;overflow:hidden}
html:has(body.scene-active),html.boot-home{scrollbar-gutter:auto}
.scene-active dialog{z-index:20}
.scene-active #toast{z-index:30}
.scene-active .skip{z-index:30}
.sky.is-flat{background:linear-gradient(var(--sky-top),var(--sky-hor) 62%,var(--sky-base) 62%)}
.sky-canvas{position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated}
.sky a{color:inherit;text-decoration:none}
.sky a:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.sky-top{position:absolute;left:0;right:0;top:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:28px 56px;transition:color .6s cubic-bezier(.22,1,.36,1)}
.sky-top::after{content:''}
.sky[data-ink=light] .sky-top{color:#0e1218}
.sky-name{justify-self:start;padding:8px 16px;border-radius:999px;background:rgba(8,10,18,.32);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);font-size:14px;letter-spacing:-.01em}
.sky[data-ink=light] .sky-name{background:rgba(255,255,255,.32)}
.sky-nav{display:flex;gap:2px;padding:4px;border-radius:999px;background:rgba(8,10,18,.32);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);font-size:14px}
.sky[data-ink=light] .sky-nav{background:rgba(255,255,255,.32)}
.sky-nav a{padding:8px 16px;border-radius:999px;transition:background-color .3s cubic-bezier(.22,1,.36,1)}
.sky-nav a:hover{background:rgba(255,255,255,.16)}
.sky-copy{position:absolute;left:56px;right:56px;bottom:min(56px,5vh);display:flex;flex-direction:column;align-items:flex-start;gap:20px;text-shadow:0 1px 24px rgba(4,6,12,.35);pointer-events:none}
.sky-copy a{pointer-events:auto}
.sky-now{margin:0;font:12px/16px var(--font);letter-spacing:.08em;text-transform:uppercase;color:rgba(244,239,230,.8)}
.sky-title{margin:0;font:400 min(96px,9.2vh)/1 'Instrument Serif','Iowan Old Style',Georgia,serif;letter-spacing:-.01em;text-wrap:balance}
.sky-title span{display:block;transition:opacity .9s cubic-bezier(.22,1,.36,1)}
.sky-day{opacity:var(--day,1)}
.sky-night{opacity:var(--night,.38)}
.sky-mail{padding:12px 0;opacity:.86;transition:opacity .3s cubic-bezier(.22,1,.36,1)}
.sky-mail:hover{opacity:1}
.sky[data-place=home] [data-for]:not([data-for=home]),.sky[data-place=work] [data-for]:not([data-for=work]),.sky[data-place=about] [data-for]:not([data-for=about]),.sky[data-place=contact] [data-for]:not([data-for=contact]){display:none}
.sky.is-moving .sky-canvas,.sky.is-moving .place-copy,.sky.is-moving .sky-copy{animation:sky-in .6s cubic-bezier(.22,1,.36,1)}
@keyframes sky-in{from{opacity:0}}
.sky-copy,.place-copy,.harbor,.bottle{transition:opacity .7s cubic-bezier(.22,1,.36,1)}
.sky.is-dusting .sky-copy,.sky.is-dusting .place-copy,.sky.is-dusting .harbor,.sky.is-dusting .bottle,.sky.is-dusting .lamp{opacity:0;pointer-events:none;transition-duration:.3s}
.place-copy{position:absolute;left:56px;top:104px;max-width:520px;display:flex;flex-direction:column;align-items:flex-start;gap:16px;text-shadow:0 1px 24px rgba(4,6,12,.35);pointer-events:none}
.sky[data-ink=light] .place-copy{color:#0e1218;text-shadow:0 1px 24px rgba(255,255,255,.35)}
.sky[data-ink=light] .place-copy .sky-now{color:rgba(14,18,24,.86)}
.sky{--scrim:color-mix(in srgb,var(--sky-top,#0b1e36) 70%,#05070d)}
.sky[data-ink=light]{--scrim:color-mix(in srgb,var(--sky-hor,#bcd9ee) 55%,#fff)}
.sky-copy,.place-copy{isolation:isolate}
.sky .sky-copy{--scrim:color-mix(in srgb,var(--sky-base,#0b1e36) 70%,#05070d)}
.sky-copy::before,.place-copy::before{content:'';position:absolute;inset:-72px -110px -72px -140px;z-index:-1;background:radial-gradient(closest-side,var(--scrim) 30%,transparent);opacity:.72;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);-webkit-mask-image:radial-gradient(closest-side,#000 50%,transparent);mask-image:radial-gradient(closest-side,#000 50%,transparent);pointer-events:none}
.place-copy a{pointer-events:auto}
.sky-quote{margin:0;max-width:440px;text-wrap:pretty}
.sky-quote blockquote{margin:0;font:400 22px/1.22 'Instrument Serif','Iowan Old Style',Georgia,serif;letter-spacing:-.005em}
.sky-quote figcaption{margin-top:8px;font:11px/14px var(--font);letter-spacing:.08em;text-transform:uppercase;opacity:.72}
.falez-copy .sky-quote blockquote{font-size:19px}
.place-title{margin:0;font:400 min(64px,7.2vh)/1.02 'Instrument Serif','Iowan Old Style',Georgia,serif;letter-spacing:-.01em;text-wrap:balance}
.place-line{margin:0;max-width:380px;opacity:.86;text-wrap:pretty}
.place-list{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.place-list li{padding:6px 12px;border-radius:999px;background:rgba(8,10,18,.32);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-size:13px;text-shadow:none}
.sky[data-ink=light] .place-list li{background:rgba(255,255,255,.4)}
.place-links{margin:0;display:flex;flex-wrap:wrap;gap:4px 18px}
.place-links a{padding:8px 0;opacity:.86;transition:opacity .3s cubic-bezier(.22,1,.36,1)}
.place-links a:hover{opacity:1}
.falez-copy{max-width:440px;gap:12px}
.falez-copy .place-title{margin-bottom:4px}
.lamp,.bottle{position:absolute;display:block;border:0;padding:0;background:none;border-radius:12px;cursor:pointer;color:#f4efe6}
.lamp:focus-visible,.bottle:focus-visible{outline:2px dashed currentColor;outline-offset:2px}
.bottle span{position:absolute;left:50%;bottom:100%;padding:6px 10px;border-radius:999px;background:rgba(8,10,18,.5);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font:12px/16px var(--font);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;transform:translate(-50%,-4px)}
.harbor{position:absolute;inset:0;pointer-events:none}
.harbor-boat{position:absolute;display:block;pointer-events:auto;border-radius:12px;cursor:pointer}
.harbor-boat:focus-visible{outline:2px dashed currentColor;outline-offset:2px}
.harbor-boat span{position:absolute;left:50%;bottom:100%;padding:6px 10px;border-radius:999px;background:rgba(8,10,18,.5);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#f4efe6;font:12px/16px var(--font);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;opacity:0;transform:translate(-50%,6px);transition:opacity .3s cubic-bezier(.22,1,.36,1),transform .3s cubic-bezier(.22,1,.36,1)}
.harbor-boat span img{width:20px;height:20px;border-radius:6px;margin:-2px 8px -2px -4px;vertical-align:-5px}
.harbor-boat:hover span,.harbor-boat:focus-visible span{opacity:1;transform:translate(-50%,0)}
@media(hover:none){.harbor-boat span{opacity:.92;transform:translate(-50%,0);font-size:11px;padding:4px 8px}}
.dock{position:absolute;right:24px;top:88px;max-height:calc(100% - 112px);width:min(440px,calc(100% - 48px));display:flex;flex-direction:column;border:9px solid transparent;border-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='9' shape-rendering='crispEdges'%3E%3Cpath fill='%23f4efe6' d='M2 1h5v1h1v5h-1v1h-5v-1h-1v-5h1z'/%3E%3Cpath fill='%23191714' d='M2 0h5v1h-5zM1 1h1v1h-1zM7 1h1v1h-1zM0 2h1v5h-1zM8 2h1v5h-1zM1 7h1v1h-1zM7 7h1v1h-1zM2 8h5v1h-5z'/%3E%3C/svg%3E") 3 fill / 9px stretch;color:#191714;filter:drop-shadow(9px 9px 0 rgba(6,8,16,.5));animation:dock-in .36s steps(6,end);user-select:text;-webkit-user-select:text}
.dock[hidden]{display:none}
@keyframes dock-in{from{opacity:0;transform:translateX(24px)}}
.sky .dock a{color:inherit}
.dock-close{position:absolute;top:10px;right:10px;z-index:1;display:grid;place-items:center;width:36px;height:36px;border:3px solid #191714;background:#f4efe6;font:16px/1 var(--font)}
.dock-close:hover{background:var(--dock-accent,#191714);color:#fff}
.dock-body{overflow:auto;padding:22px 24px 18px;overscroll-behavior:contain;scrollbar-width:none}
.dock-body::-webkit-scrollbar,.dock-shots::-webkit-scrollbar{display:none}
.dock-head{display:flex;align-items:center;gap:14px;padding-right:40px}
.dock-icon{width:56px;height:56px;border-radius:14px;flex:none;box-shadow:3px 3px 0 #191714}
.dock-head h3{margin:0;font:400 34px/1 'Instrument Serif','Iowan Old Style',Georgia,serif;outline:none}
.dock-kind{margin:6px 0 0;font:12px/16px var(--font);letter-spacing:.06em;text-transform:uppercase;color:rgba(25,23,20,.6)}
.dock-tagline{margin:24px 0 0;font:400 26px/1.15 'Instrument Serif','Iowan Old Style',Georgia,serif;text-wrap:balance}
.dock-story{margin:12px 0 0;line-height:1.55;color:rgba(25,23,20,.82);text-wrap:pretty}
.dock-shots{display:flex;gap:12px;margin:20px -24px 0;padding:0 24px 6px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.dock-shot{flex:none;box-sizing:border-box;width:calc(100% - 40px);height:250px;padding:16px;object-fit:contain;border:3px solid #191714;box-shadow:4px 4px 0 rgba(25,23,20,.25);background:color-mix(in srgb,var(--dock-accent,#191714) 14%,#ebe4d6);scroll-snap-align:start}
.dock-beats{margin:20px 0 0;padding:0;list-style:none;display:grid;gap:12px;counter-reset:beat}
.dock-beats li{position:relative;padding-left:32px;line-height:1.5;color:rgba(25,23,20,.82)}
.dock-beats li::before{counter-increment:beat;content:counter(beat);position:absolute;left:0;top:1px;width:22px;height:22px;display:grid;place-items:center;font:11px/1 var(--font);background:var(--dock-accent,#191714);color:#fff}
.dock-beats b{display:block;color:#191714;font-weight:600}
.dock-built{margin-top:18px;border-top:3px dotted rgba(25,23,20,.25);padding-top:14px}
.dock-built summary{cursor:pointer;font:12px/16px var(--font);letter-spacing:.06em;text-transform:uppercase;color:rgba(25,23,20,.7)}
.dock-built ul{margin:10px 0 0;padding-left:18px;line-height:1.5;color:rgba(25,23,20,.78)}
.dock-status{margin:18px 0 0;font:12px/16px var(--font);letter-spacing:.04em;color:rgba(25,23,20,.6)}
.dock-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.dock-links a{padding:7px 12px;border:3px solid #191714;font:12px/16px var(--font);letter-spacing:.06em;text-transform:uppercase;transition:background-color .2s steps(2,end)}
.dock-links a:hover{background:rgba(25,23,20,.06)}
.sky .dock .dock-show{background:#191714;color:#f4efe6;border-color:#191714}
.sky .dock .dock-show:hover{background:#2b2723}
.dock-step{display:flex;justify-content:space-between;gap:12px;margin-top:22px;padding-top:14px;border-top:3px dotted rgba(25,23,20,.25);font:12px/16px var(--font);letter-spacing:.06em;text-transform:uppercase;color:rgba(25,23,20,.7)}
.dock-step a:hover{color:#191714}
@media(max-width:699px){
  .sky-top{grid-template-columns:auto 1fr;padding:16px 20px}
  .sky-top::after{display:none}
  .sky-nav{justify-self:end;font-size:13px}
  .sky-name{padding:8px 12px;white-space:nowrap}
  .sky-nav a{padding:8px 8px}
  .sky-copy{left:20px;right:20px;bottom:28px;gap:14px}
  .sky-title{font-size:40px}
  .place-copy{left:20px;right:20px;top:72px;gap:12px}
  .place-title{font-size:34px}
  .sky-quote blockquote,.falez-copy .sky-quote blockquote{font-size:17px}
  .dock{left:8px;right:8px;top:auto;bottom:8px;width:auto;max-height:74%;animation-name:sheet-in;filter:drop-shadow(6px 6px 0 rgba(6,8,16,.5))}
  .dock-body{padding:18px 16px 14px}
  .dock-shots{margin:18px -16px 0;padding:0 16px 6px}
  .dock-shot{height:220px;padding:12px}
}
@keyframes sheet-in{from{opacity:0;transform:translateY(24px)}}
@media(max-width:359px){.sky-top{padding:16px 12px}.sky-name{padding:8px 10px}.sky-nav a{padding:8px 6px}}
@media(prefers-reduced-motion:reduce){.sky-title span,.sky-top,.sky-nav a,.sky-mail,.harbor-boat span,.dock-links a{transition:none}.sky.is-moving .sky-canvas,.sky.is-moving .place-copy,.sky.is-moving .sky-copy,.dock{animation:none}}
